1
0
mirror of https://gitlab.crans.org/bde/nk20 synced 2025-04-28 01:22:37 +00:00

Compare commits

...

17 Commits

Author SHA1 Message Date
thomasl
007f9cce36 Merge branch 'respo_comm_permissions' into 'main'
Draft: Respo comm permissions

See merge request bde/nk20!281
2025-02-12 10:18:45 +01:00
quark
f6649f155a linters 2025-02-09 16:51:31 +01:00
thomasl
5707abf9e2 Update file views.py 2025-02-09 16:22:03 +01:00
thomasl
056c4029f8 Update file views.py 2025-02-09 16:19:26 +01:00
thomasl
bfd865b3e3 Update file views.py 2025-02-09 16:14:28 +01:00
thomasl
6ceb43cb66 Update file views.py 2025-02-09 16:07:30 +01:00
thomasl
9635004520 Update file views.py 2025-02-09 15:56:12 +01:00
thomasl
05e21ed229 Update file views.py 2025-02-09 15:51:05 +01:00
thomasl
b2ccc4aede Update file views.py 2025-02-09 15:50:13 +01:00
thomasl
6229652dea Update file views.py 2025-02-09 15:47:32 +01:00
thomasl
eee87dcf13 Update file views.py 2025-02-09 15:42:20 +01:00
thomasl
bcf21507e5 Update file views.py 2025-02-09 15:39:08 +01:00
thomasl
6127ced143 Update file views.py 2025-02-09 15:33:37 +01:00
thomasl
f63e5dcb5a Update file views.py 2025-02-09 15:26:39 +01:00
thomasl
73aa0098bf Update file views.py 2025-02-09 15:20:03 +01:00
thomasl
694a5c7bd8 Update file initial.json 2025-02-09 13:05:10 +01:00
thomasl
a4480258d7 Update file initial.json 2025-02-09 12:45:46 +01:00
2 changed files with 82 additions and 5 deletions

View File

@ -26,6 +26,7 @@ from note_kfet.middlewares import _set_current_request
from permission.backends import PermissionBackend
from permission.models import Role
from permission.views import ProtectQuerysetMixin, ProtectedCreateView
from django import forms
from .forms import UserForm, ProfileForm, ImageForm, ClubForm, MembershipForm, \
CustomAuthenticationForm, MembershipRolesForm
@ -72,11 +73,19 @@ class UserUpdateView(ProtectQuerysetMixin, LoginRequiredMixin, UpdateView):
form.fields['email'].required = True
form.fields['email'].help_text = _("This address must be valid.")
if PermissionBackend.check_perm(self.request, "member.change_profile", context['user_object'].profile):
context['profile_form'] = self.profile_form(instance=context['user_object'].profile,
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 context['profile_form'].fields["last_report"]
del profile_form.fields["last_report"]
fields_to_check = list(profile_form.fields.keys())
# 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()
context['profile_form'] = profile_form
return context

View File

@ -3832,6 +3832,74 @@
"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",
"pk": 1,