1
0
mirror of https://gitlab.crans.org/bde/nk20 synced 2025-06-22 18:38:23 +02:00

Compare commits

..

6 Commits

Author SHA1 Message Date
26b351a51c Add another permission for model guest in activity 2025-02-14 18:14:35 +01:00
1836677c47 Update file initial.json 2025-02-13 22:30:36 +01:00
e7a98c86f0 Tried something with permissions 2025-02-13 21:51:26 +01:00
eb5044490b Delete a useless permission 2025-02-13 21:37:58 +01:00
983d7ec052 linters 2025-02-13 21:35:29 +01:00
dc56deaf85 Final modifications 2025-02-13 21:17:57 +01:00
5 changed files with 22 additions and 25 deletions

View File

@ -44,10 +44,10 @@ class ProfileForm(forms.ModelForm):
"""
A form for the extras field provided by the :model:`member.Profile` model.
"""
# Remove widget=forms.HiddenInput() if you want to use report frequency.
report_frequency = forms.IntegerField(required=False, initial=0, label=_("Report frequency"))
report_frequency = forms.IntegerField(required=False, initial=0, label=_("Statement frequency (in days)"))
last_report = forms.DateTimeField(required=False, disabled=True, label=_("Last statement date"))
last_report = forms.DateTimeField(required=False, disabled=True, label=_("Last report date"))
VSS_charter_read = forms.BooleanField(
required=True,

View File

@ -114,12 +114,12 @@ class Profile(models.Model):
)
report_frequency = models.PositiveSmallIntegerField(
verbose_name=_("Statement frequency (in days)"),
verbose_name=_("report frequency (in days)"),
default=0,
)
last_report = models.DateTimeField(
verbose_name=_("Last statement date"),
verbose_name=_("last report date"),
default=timezone.now,
)

View File

@ -75,20 +75,21 @@ class UserUpdateView(ProtectQuerysetMixin, LoginRequiredMixin, UpdateView):
profile_form = self.profile_form(instance=context['user_object'].profile,
data=self.request.POST if self.request.POST else None)
if not self.object.profile.report_frequency:
del profile_form.fields["last_report"]
fields_to_check = list(profile_form.fields.keys())
fields_modifiable = False
fields_modifiable = False
# Delete the fields for which the user does not have the permission to modify
for field_name in fields_to_check:
if not PermissionBackend.check_perm(self.request, f"member.change_profile_{field_name}", context['user_object'].profile):
profile_form.fields[field_name].widget = forms.HiddenInput()
else :
else:
fields_modifiable = True
if fields_modifiable :
if fields_modifiable:
context['profile_form'] = profile_form
return context

View File

@ -127,7 +127,7 @@
"auth",
"user"
],
"query": "{\"pk\": [\"user\", \"pk\"]}",
"query": "[\"AND\", {\"pk\": [\"user\", \"pk\"]}, {\"memberships__club__parent_club__isnull\": true}]",
"type": "change",
"mask": 1,
"field": "last_login",
@ -3885,19 +3885,15 @@
"pk": 247,
"fields": {
"model": [
"member",
"profile"
"activity",
"guest"
],
"query": "{}",
"query": "{\"activity__organizer\": [\"club\"]}",
"type": "view",
"mask": 3,
"field": [
"ml_events_registration",
"ml_art_registration",
"ml_sport_registration"
],
"mask": 2,
"field": "",
"permanent": false,
"description": "Voir les abonnements aux Newsletters de n'importe quel profil"
"description": "Voir les personnes invitées aux événements organisés par son club"
}
},
{

View File

@ -794,11 +794,11 @@ msgid "Permission mask"
msgstr "Masque de permissions"
#: apps/member/forms.py:46
msgid "Statement frequency (in days)"
msgid "Report frequency"
msgstr "Fréquence des relevés (en jours)"
#: apps/member/forms.py:48
msgid "Last statement date"
msgid "Last report date"
msgstr "Date de dernier relevé"
#: apps/member/forms.py:52
@ -1044,12 +1044,12 @@ msgstr ""
"artistiques sur le campus (1 mail par semaine)"
#: apps/member/models.py:117
msgid "Statement frequency (in days)"
msgstr "Fréquence des relevés (en jours)"
msgid "report frequency (in days)"
msgstr "fréquence des relevés (en jours)"
#: apps/member/models.py:122
msgid "Last statement date"
msgstr "Date de dernier relevé"
msgid "last report date"
msgstr "date de dernier relevé"
#: apps/member/models.py:127
msgid "email confirmed"