Skip to content

Commit bf1ec96

Browse files
committed
Fix the organization page after a POST
1 parent 6f6d16a commit bf1ec96

File tree

1 file changed

+33
-20
lines changed

1 file changed

+33
-20
lines changed

backend/donations/views/my_account.py

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@
1818

1919
from redirectioneaza.common.cache import cache_decorator
2020
from users.models import User
21-
from .api import CheckNgoUrl
22-
from .base import BaseAccountView
21+
2322
from ..models.jobs import Job, JobStatusChoices
2423
from ..models.main import Donor, Ngo, ngo_id_number_validator
24+
from .api import CheckNgoUrl
25+
from .base import BaseAccountView
2526

2627
UserModel = get_user_model()
2728

@@ -183,6 +184,32 @@ def delete_prefilled_form(ngo_id):
183184
class NgoDetailsView(BaseAccountView):
184185
template_name = "ngo/ngo-details.html"
185186

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+
186213
@method_decorator(login_required(login_url=reverse_lazy("login")))
187214
def get(self, request, *args, **kwargs):
188215
user = request.user
@@ -193,15 +220,7 @@ def get(self, request, *args, **kwargs):
193220
if not user.is_authenticated or not user.ngo:
194221
return redirect(reverse("contul-meu"))
195222

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)
205224

206225
return render(request, self.template_name, context)
207226

@@ -282,14 +301,8 @@ def post(self, request, *args, **kwargs):
282301
if isinstance(ngo_slug_errors, HttpResponseBadRequest):
283302
errors.append(_("The URL is already used"))
284303

304+
context = self.get_context_data()
285305
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-
}
293306
return render(request, self.template_name, context)
294307

295308
ngo.other_emails = ""
@@ -317,7 +330,7 @@ def post(self, request, *args, **kwargs):
317330
if request.user.has_perm("users.can_view_old_dashboard"):
318331
return redirect(reverse("admin-ong", kwargs={"ngo_url": user.ngo.slug}))
319332

320-
return redirect(reverse("organization"))
333+
return render(request, self.template_name, context)
321334

322335
@staticmethod
323336
def _validate_registration_number(ngo, registration_number) -> Optional[str]:
@@ -330,7 +343,7 @@ def _validate_registration_number(ngo, registration_number) -> Optional[str]:
330343
if ngo.pk:
331344
reg_num_query = reg_num_query.exclude(pk=ngo.pk)
332345

333-
if reg_num_query.count():
346+
if reg_num_query.exists():
334347
return f'CIF "{registration_number}" este înregistrat deja'
335348

336349
return ""

0 commit comments

Comments
 (0)