11
11
from django .utils import timezone
12
12
from django .utils .decorators import method_decorator
13
13
from django .core .exceptions import PermissionDenied , ValidationError
14
- from django .http import Http404
14
+ from django .http import Http404 , HttpRequest
15
15
16
16
from .base import AccountHandler
17
17
from ..models .main import Donor , Ngo
@@ -43,7 +43,7 @@ class MyAccountHandler(AccountHandler):
43
43
template_name = "ngo/my-account.html"
44
44
45
45
@method_decorator (login_required (login_url = reverse_lazy ("login" )))
46
- def get (self , request , * args , ** kwargs ):
46
+ def get (self , request : HttpRequest , * args , ** kwargs ):
47
47
user_ngo : Ngo = request .user .ngo if request .user .ngo else None
48
48
donors : QuerySet [Donor ] = Donor .objects .filter (Q (ngo = user_ngo )).order_by ("-date_created" )
49
49
@@ -60,15 +60,19 @@ def get(self, request, *args, **kwargs):
60
60
now = timezone .now ()
61
61
can_donate = not now .date () > settings .DONATIONS_LIMIT
62
62
63
+ ngo_url = (
64
+ request .build_absolute_uri (reverse ("twopercent" , kwargs = {"ngo_url" : user_ngo .slug })) if user_ngo else ""
65
+ )
63
66
context = {
64
67
"user" : request .user ,
65
68
"limit" : settings .DONATIONS_LIMIT ,
66
69
"ngo" : user_ngo ,
67
70
"donors" : grouped_donors ,
68
71
"counties" : settings .FORM_COUNTIES ,
69
72
"can_donate" : can_donate ,
70
- "has_signed_form" : user_ngo .is_accepting_forms ,
73
+ "has_signed_form" : user_ngo .is_accepting_forms if user_ngo else False ,
71
74
"current_year" : timezone .now ().year ,
75
+ "ngo_url" : ngo_url ,
72
76
}
73
77
return render (request , self .template_name , context )
74
78
0 commit comments