Added my own base FormView, and replaced the current function-based user form views with a new UserFormView that based on my base FormView in the Mia core application. I do not know if I am doing the right thing.
This commit is contained in:
		| @@ -24,6 +24,7 @@ from dirtyfields import DirtyFieldsMixin | ||||
| from django.conf import settings | ||||
| from django.db import models, connection, OperationalError, transaction | ||||
| from django.db.models.functions import Now | ||||
| from django.urls import reverse | ||||
|  | ||||
| from mia_core.utils import get_multi_lingual_attr, set_multi_lingual_attr, \ | ||||
|     new_pk | ||||
| @@ -100,6 +101,10 @@ class User(DirtyFieldsMixin, models.Model): | ||||
|     REQUIRED_FIELDS = ["id", "name"] | ||||
|     USERNAME_FIELD = "login_id" | ||||
|  | ||||
|     def __init__(self, *args, **kwargs): | ||||
|         super().__init__(*args, **kwargs) | ||||
|         self.current_user = None | ||||
|  | ||||
|     @property | ||||
|     def is_anonymous(self) -> bool: | ||||
|         return False | ||||
| @@ -119,20 +124,23 @@ class User(DirtyFieldsMixin, models.Model): | ||||
|         return "%s (%s)" % ( | ||||
|             self.name.__str__(), self.login_id.__str__()) | ||||
|  | ||||
|     def save(self, current_user=None, force_insert=False, force_update=False, | ||||
|              using=None, update_fields=None): | ||||
|     def save(self, force_insert=False, force_update=False, using=None, | ||||
|              update_fields=None): | ||||
|         if self.pk is None: | ||||
|             self.pk = new_pk(User) | ||||
|             if current_user is not None: | ||||
|                 self.created_by = current_user | ||||
|         if current_user is not None: | ||||
|             self.updated_by = current_user | ||||
|             if self.current_user is not None: | ||||
|                 self.created_by = self.current_user | ||||
|         if self.current_user is not None: | ||||
|             self.updated_by = self.current_user | ||||
|         with transaction.atomic(): | ||||
|             super(User, self).save( | ||||
|                 force_insert=force_insert, force_update=force_update, | ||||
|                 using=using, update_fields=update_fields) | ||||
|             User.objects.filter(pk=self.pk).update(updated_at=Now()) | ||||
|  | ||||
|     def get_absolute_url(self): | ||||
|         return reverse("mia_core:users.detail", args=(self,)) | ||||
|  | ||||
|     class Meta: | ||||
|         db_table = "users" | ||||
|         app_label = "mia_core" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user