18
18
19
19
from redirectioneaza .common .cache import cache_decorator
20
20
from users .models import User
21
- from .api import CheckNgoUrl
22
- from .base import BaseAccountView
21
+
23
22
from ..models .jobs import Job , JobStatusChoices
24
23
from ..models .main import Donor , Ngo , ngo_id_number_validator
24
+ from .api import CheckNgoUrl
25
+ from .base import BaseAccountView
25
26
26
27
UserModel = get_user_model ()
27
28
@@ -183,6 +184,32 @@ def delete_prefilled_form(ngo_id):
183
184
class NgoDetailsView (BaseAccountView ):
184
185
template_name = "ngo/ngo-details.html"
185
186
187
+ def get_context_data (self , ** kwargs ):
188
+ context = super ().get_context_data (** kwargs )
189
+
190
+ user : User = self .request .user
191
+ ngo : Ngo = user .ngo if user .ngo else None
192
+
193
+ context .update (
194
+ {
195
+ "title" : "Date organizație" ,
196
+ "counties" : settings .FORM_COUNTIES_NATIONAL ,
197
+ "user" : user ,
198
+ "ngo" : ngo ,
199
+ }
200
+ )
201
+
202
+ if not ngo :
203
+ return context
204
+
205
+ context .update (
206
+ {
207
+ "has_ngohub" : ngo .ngohub_org_id is not None ,
208
+ }
209
+ )
210
+
211
+ return context
212
+
186
213
@method_decorator (login_required (login_url = reverse_lazy ("login" )))
187
214
def get (self , request , * args , ** kwargs ):
188
215
user = request .user
@@ -193,15 +220,7 @@ def get(self, request, *args, **kwargs):
193
220
if not user .is_authenticated or not user .ngo :
194
221
return redirect (reverse ("contul-meu" ))
195
222
196
- is_ngohub_ngo = user .ngo .ngohub_org_id is not None
197
-
198
- context = {
199
- "title" : "Date organizație" ,
200
- "user" : user ,
201
- "ngo" : user .ngo if user .ngo else None ,
202
- "has_ngohub" : is_ngohub_ngo ,
203
- "counties" : settings .FORM_COUNTIES_NATIONAL ,
204
- }
223
+ context = self .get_context_data (** kwargs )
205
224
206
225
return render (request , self .template_name , context )
207
226
@@ -282,14 +301,8 @@ def post(self, request, *args, **kwargs):
282
301
if isinstance (ngo_slug_errors , HttpResponseBadRequest ):
283
302
errors .append (_ ("The URL is already used" ))
284
303
304
+ context = self .get_context_data ()
285
305
if errors :
286
- context = {
287
- "title" : "Date organizație" ,
288
- "user" : user ,
289
- "ngo" : ngo , # send back the unsaved NGO data
290
- "counties" : settings .FORM_COUNTIES_NATIONAL ,
291
- "errors" : errors ,
292
- }
293
306
return render (request , self .template_name , context )
294
307
295
308
ngo .other_emails = ""
@@ -317,7 +330,7 @@ def post(self, request, *args, **kwargs):
317
330
if request .user .has_perm ("users.can_view_old_dashboard" ):
318
331
return redirect (reverse ("admin-ong" , kwargs = {"ngo_url" : user .ngo .slug }))
319
332
320
- return redirect ( reverse ( "organization" ) )
333
+ return render ( request , self . template_name , context )
321
334
322
335
@staticmethod
323
336
def _validate_registration_number (ngo , registration_number ) -> Optional [str ]:
@@ -330,7 +343,7 @@ def _validate_registration_number(ngo, registration_number) -> Optional[str]:
330
343
if ngo .pk :
331
344
reg_num_query = reg_num_query .exclude (pk = ngo .pk )
332
345
333
- if reg_num_query .count ():
346
+ if reg_num_query .exists ():
334
347
return f'CIF "{ registration_number } " este înregistrat deja'
335
348
336
349
return ""
0 commit comments