summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/forms_common.py1
-rw-r--r--ishtar_common/models.py3
-rw-r--r--ishtar_common/wizards.py6
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 = []