diff options
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/forms_common.py | 1 | ||||
-rw-r--r-- | ishtar_common/models.py | 3 | ||||
-rw-r--r-- | ishtar_common/wizards.py | 6 |
3 files changed, 9 insertions, 1 deletions
diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 22e23f3ca..734707419 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -1576,6 +1576,7 @@ class ProfileForm(ManageOldType): profile_type = forms.ChoiceField(label=_("Type"), choices=[]) area = widgets.Select2MultipleField(label=_("Areas"), required=False) name = forms.CharField(label=_("Name"), required=False) + expiration_date = DateField(label=_("Expiration date"), required=False) pk = forms.IntegerField(label=" ", widget=forms.HiddenInput, required=False) TYPES = [ diff --git a/ishtar_common/models.py b/ishtar_common/models.py index e1bf3bd33..bf2cd666a 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -3611,6 +3611,9 @@ class UserProfile(models.Model): def generate_permission(self, content_type, permission_type): ishtar_user = self.person.ishtaruser + if self.expiration_date and self.expiration_date < datetime.date.today(): + return + # add base permissions for group in self.profile_type.groups.all(): for perm in group.permissions.filter( diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index 1da9b9f4d..697c51156 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -2120,13 +2120,17 @@ class AccountWizard(Wizard): if not name: name = profile_type.label + expiration_date = data.get("expiration_date", None) + if profile: profile.name = name profile.profile_type = profile_type + profile.expiration_date = expiration_date profile.save() else: profile, __ = models.UserProfile.objects.get_or_create( - profile_type=profile_type, person=person, name=name + profile_type=profile_type, person=person, name=name, + expiration_date=expiration_date ) area_pks = data.get("area", None) areas = [] |