mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-10-31 15:50:03 +01:00 
			
		
		
		
	Compare commits
	
		
			28 Commits
		
	
	
		
			New_permis
			...
			7826811528
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 7826811528 | ||
|  | f6649f155a | ||
|  | 5707abf9e2 | ||
|  | 056c4029f8 | ||
|  | bfd865b3e3 | ||
|  | 6ceb43cb66 | ||
|  | 9635004520 | ||
|  | 05e21ed229 | ||
|  | b2ccc4aede | ||
|  | 6229652dea | ||
|  | eee87dcf13 | ||
|  | bcf21507e5 | ||
|  | 6127ced143 | ||
|  | f63e5dcb5a | ||
|  | 73aa0098bf | ||
|  | 694a5c7bd8 | ||
|  | a4480258d7 | ||
|  | 821efbf78b | ||
|  | a209e0d366 | ||
|  | ef485e0628 | ||
|  | 1481aa0635 | ||
|  | 867bf9fd25 | ||
|  | 47fda0ea36 | ||
|  | 623290827a | ||
|  | a87ce625f3 | ||
|  | 3559787fa7 | ||
|  | 787005e60d | ||
|  | 414e103686 | 
| @@ -44,7 +44,8 @@ class ProfileForm(forms.ModelForm): | ||||
|     """ | ||||
|     A form for the extras field provided by the :model:`member.Profile` model. | ||||
|     """ | ||||
|     report_frequency = forms.IntegerField(required=False, initial=0, label=_("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()) | ||||
|  | ||||
|     last_report = forms.DateTimeField(required=False, disabled=True, label=_("Last report date")) | ||||
|  | ||||
| @@ -76,7 +77,8 @@ class ProfileForm(forms.ModelForm): | ||||
|     class Meta: | ||||
|         model = Profile | ||||
|         fields = '__all__' | ||||
|         exclude = ('user', 'email_confirmed', 'registration_valid', ) | ||||
|         # Remove ml_[asso]_registration from exclude if the concerned association uses nk20 to manage its mailing list. | ||||
|         exclude = ('user', 'email_confirmed', 'registration_valid', 'ml_sport_registration', ) | ||||
|  | ||||
|  | ||||
| class ImageForm(forms.Form): | ||||
|   | ||||
| @@ -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, | ||||
|                                                         data=self.request.POST if self.request.POST else None) | ||||
|             if not self.object.profile.report_frequency: | ||||
|                 del context['profile_form'].fields["last_report"] | ||||
|         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()) | ||||
|  | ||||
|         # 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 | ||||
|  | ||||
|   | ||||
| @@ -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, | ||||
|   | ||||
| @@ -26,3 +26,5 @@ MAILTO=notekfet2020@lists.crans.org | ||||
|  00  9     *   *   *     root   cd /var/www/note_kfet && env/bin/python manage.py refresh_highlighted_buttons -v 0 | ||||
| # Vider les tokens Oauth2 | ||||
|  00  6     *   *   *     root   cd /var/www/note_kfet && env/bin/python manage.py cleartokens -v 0 | ||||
| # Envoyer la liste des abonnés à la NL BDA | ||||
|  00  8     *   *   0     root   cd /var/www/note_kfet && env/bin/python manage.py extract_ml_registrations -t art -v 0 | ||||
| @@ -159,11 +159,6 @@ SPDX-License-Identifier: GPL-3.0-or-later | ||||
|     </nav> | ||||
|     <div class="{% block containertype %}container{% endblock %} my-3"> | ||||
| 	<div id="messages"> | ||||
| 	    {% if user.is_authenticated %} | ||||
| 		<div class="alert alert-info"> | ||||
| 		    Venez au festival des Sens de l'Art du 2 au 7 décembre 🐘 ! | ||||
| 		</div> | ||||
| 	    {% endif %} | ||||
|             {% if user.is_authenticated %} | ||||
|                 {% if not user|is_member:"BDE" %} | ||||
|                     <div class="alert alert-danger"> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user