Changeset View
Changeset View
Standalone View
Standalone View
bid_main/views/normal_pages.py
| Show First 20 Lines • Show All 329 Lines • ▼ Show 20 Lines | ): | ||||
| def get_context_data(self, **kwargs): | def get_context_data(self, **kwargs): | ||||
| ctx = super().get_context_data(**kwargs) | ctx = super().get_context_data(**kwargs) | ||||
| ctx["apps"] = self.get_apps(self.request) | ctx["apps"] = self.get_apps(self.request) | ||||
| return ctx | return ctx | ||||
| def form_valid(self, form, **kwargs): | def form_valid(self, form, **kwargs): | ||||
| """Handle valid form data that has been POSTed.""" | """Handle valid form data that has been POSTed.""" | ||||
| user = self.request.user | user = self.request.user | ||||
| if not user.date_deletion_requested: | user.request_deletion() | ||||
| user.date_deletion_requested = timezone.now() | |||||
| else: | |||||
| # This should never happen, but if it does, keep the original date | |||||
| log.error( | |||||
| "Received a deletion request for pk=%s who already requested it at %s", | |||||
| user.pk, | |||||
| user.date_deletion_requested, | |||||
| ) | |||||
| user.is_active = False | |||||
| user.save(update_fields=["date_deletion_requested", "is_active"]) | |||||
| logout(self.request) | logout(self.request) | ||||
| # TODO(anna): delete **all** sessions of this user, maybe in a periodic cleanup | |||||
| log.warning("Deletion request for pk=%s received", user.pk) | log.warning("Deletion request for pk=%s received", user.pk) | ||||
| ctx = {"success_deletion_requested": True} | ctx = {"success_deletion_requested": True} | ||||
| return render(self.request, "bid_main/delete_user/confirm.html", context=ctx) | return render(self.request, "bid_main/delete_user/confirm.html", context=ctx) | ||||