mirror of
https://gitlab.crans.org/bde/nk20
synced 2025-02-22 08:01:17 +00:00
Final modifications
This commit is contained in:
parent
694f54e1c4
commit
dc56deaf85
@ -45,7 +45,7 @@ class ProfileForm(forms.ModelForm):
|
|||||||
A form for the extras field provided by the :model:`member.Profile` model.
|
A form for the extras field provided by the :model:`member.Profile` model.
|
||||||
"""
|
"""
|
||||||
# Remove widget=forms.HiddenInput() if you want to use report frequency.
|
# Remove widget=forms.HiddenInput() if you want to use report frequency.
|
||||||
report_frequency = forms.IntegerField(required=False, initial=0, label=_("Report frequency"), widget=forms.HiddenInput())
|
report_frequency = forms.IntegerField(required=False, initial=0, label=_("Report frequency"))
|
||||||
|
|
||||||
last_report = forms.DateTimeField(required=False, disabled=True, label=_("Last report date"))
|
last_report = forms.DateTimeField(required=False, disabled=True, label=_("Last report date"))
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@ from note_kfet.middlewares import _set_current_request
|
|||||||
from permission.backends import PermissionBackend
|
from permission.backends import PermissionBackend
|
||||||
from permission.models import Role
|
from permission.models import Role
|
||||||
from permission.views import ProtectQuerysetMixin, ProtectedCreateView
|
from permission.views import ProtectQuerysetMixin, ProtectedCreateView
|
||||||
|
from django import forms
|
||||||
|
|
||||||
from .forms import UserForm, ProfileForm, ImageForm, ClubForm, MembershipForm, \
|
from .forms import UserForm, ProfileForm, ImageForm, ClubForm, MembershipForm, \
|
||||||
CustomAuthenticationForm, MembershipRolesForm
|
CustomAuthenticationForm, MembershipRolesForm
|
||||||
@ -72,11 +73,24 @@ class UserUpdateView(ProtectQuerysetMixin, LoginRequiredMixin, UpdateView):
|
|||||||
form.fields['email'].required = True
|
form.fields['email'].required = True
|
||||||
form.fields['email'].help_text = _("This address must be valid.")
|
form.fields['email'].help_text = _("This address must be valid.")
|
||||||
|
|
||||||
if PermissionBackend.check_perm(self.request, "member.change_profile", context['user_object'].profile):
|
profile_form = self.profile_form(instance=context['user_object'].profile,
|
||||||
context['profile_form'] = self.profile_form(instance=context['user_object'].profile,
|
data=self.request.POST if self.request.POST else None)
|
||||||
data=self.request.POST if self.request.POST else None)
|
|
||||||
if not self.object.profile.report_frequency:
|
if not self.object.profile.report_frequency:
|
||||||
del context['profile_form'].fields["last_report"]
|
del profile_form.fields["last_report"]
|
||||||
|
|
||||||
|
fields_to_check = list(profile_form.fields.keys())
|
||||||
|
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:
|
||||||
|
fields_modifiable = True
|
||||||
|
|
||||||
|
if fields_modifiable:
|
||||||
|
context['profile_form'] = profile_form
|
||||||
|
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
@ -3832,6 +3832,74 @@
|
|||||||
"description": "Voir les profils des membres du club"
|
"description": "Voir les profils des membres du club"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"model": "permission.permission",
|
||||||
|
"pk": 244,
|
||||||
|
"fields": {
|
||||||
|
"model": [
|
||||||
|
"member",
|
||||||
|
"profile"
|
||||||
|
],
|
||||||
|
"query": "{}",
|
||||||
|
"type": "change",
|
||||||
|
"mask": 3,
|
||||||
|
"field": "ml_events_registration",
|
||||||
|
"permanent": false,
|
||||||
|
"description": "Modifier l'abonnement à la Newsletter BDE pour n'importe quel profil"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "permission.permission",
|
||||||
|
"pk": 245,
|
||||||
|
"fields": {
|
||||||
|
"model": [
|
||||||
|
"member",
|
||||||
|
"profile"
|
||||||
|
],
|
||||||
|
"query": "{}",
|
||||||
|
"type": "change",
|
||||||
|
"mask": 3,
|
||||||
|
"field": "ml_art_registration",
|
||||||
|
"permanent": false,
|
||||||
|
"description": "Modifier l'abonnement à la Newsletter Art pour n'importe quel profil"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "permission.permission",
|
||||||
|
"pk": 246,
|
||||||
|
"fields": {
|
||||||
|
"model": [
|
||||||
|
"member",
|
||||||
|
"profile"
|
||||||
|
],
|
||||||
|
"query": "{}",
|
||||||
|
"type": "change",
|
||||||
|
"mask": 3,
|
||||||
|
"field": "ml_sport_registration",
|
||||||
|
"permanent": false,
|
||||||
|
"description": "Modifier l'abonnement à la Newsletter Sport pour n'importe quel profil"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "permission.permission",
|
||||||
|
"pk": 247,
|
||||||
|
"fields": {
|
||||||
|
"model": [
|
||||||
|
"member",
|
||||||
|
"profile"
|
||||||
|
],
|
||||||
|
"query": "{}",
|
||||||
|
"type": "view",
|
||||||
|
"mask": 3,
|
||||||
|
"field": [
|
||||||
|
"ml_events_registration",
|
||||||
|
"ml_art_registration",
|
||||||
|
"ml_sport_registration"
|
||||||
|
],
|
||||||
|
"permanent": false,
|
||||||
|
"description": "Voir les abonnements aux Newsletters de n'importe quel profil"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"model": "permission.role",
|
"model": "permission.role",
|
||||||
"pk": 1,
|
"pk": 1,
|
||||||
|
@ -795,11 +795,11 @@ msgstr "Masque de permissions"
|
|||||||
|
|
||||||
#: apps/member/forms.py:46
|
#: apps/member/forms.py:46
|
||||||
msgid "Report frequency"
|
msgid "Report frequency"
|
||||||
msgstr "Fréquence des rapports (en jours)"
|
msgstr "Fréquence des relevés (en jours)"
|
||||||
|
|
||||||
#: apps/member/forms.py:48
|
#: apps/member/forms.py:48
|
||||||
msgid "Last report date"
|
msgid "Last report date"
|
||||||
msgstr "Date de dernier rapport"
|
msgstr "Date de dernier relevé"
|
||||||
|
|
||||||
#: apps/member/forms.py:52
|
#: apps/member/forms.py:52
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -1045,11 +1045,11 @@ msgstr ""
|
|||||||
|
|
||||||
#: apps/member/models.py:117
|
#: apps/member/models.py:117
|
||||||
msgid "report frequency (in days)"
|
msgid "report frequency (in days)"
|
||||||
msgstr "fréquence des rapports (en jours)"
|
msgstr "fréquence des relevés (en jours)"
|
||||||
|
|
||||||
#: apps/member/models.py:122
|
#: apps/member/models.py:122
|
||||||
msgid "last report date"
|
msgid "last report date"
|
||||||
msgstr "date de dernier rapport"
|
msgstr "date de dernier relevé"
|
||||||
|
|
||||||
#: apps/member/models.py:127
|
#: apps/member/models.py:127
|
||||||
msgid "email confirmed"
|
msgid "email confirmed"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user