1
0
mirror of https://gitlab.crans.org/bde/nk20 synced 2025-08-03 22:24:34 +02:00

Permissions

This commit is contained in:
Ehouarn
2025-08-03 00:41:10 +02:00
parent cf53b480db
commit 312ab6dac4
4 changed files with 25 additions and 18 deletions

View File

@@ -1394,7 +1394,7 @@
"query": "[\"AND\", {\"wei\": [\"club\"], \"wei__membership_end__gte\": [\"today\"]}, {\"deposit_type\": \"note\"}]", "query": "[\"AND\", {\"wei\": [\"club\"], \"wei__membership_end__gte\": [\"today\"]}, {\"deposit_type\": \"note\"}]",
"type": "change", "type": "change",
"mask": 2, "mask": 2,
"field": "caution_check", "field": "deposit_given",
"permanent": false, "permanent": false,
"description": "Autoriser une transaction de caution WEI" "description": "Autoriser une transaction de caution WEI"
} }
@@ -4377,7 +4377,7 @@
"query": "[\"AND\", {\"wei__year\": [\"today\", \"year\"], \"wei__membership_start__lte\": [\"today\"], \"wei__membership_end__gte\": [\"today\"]}, {\"deposit_type\": \"check\"}]", "query": "[\"AND\", {\"wei__year\": [\"today\", \"year\"], \"wei__membership_start__lte\": [\"today\"], \"wei__membership_end__gte\": [\"today\"]}, {\"deposit_type\": \"check\"}]",
"type": "change", "type": "change",
"mask": 2, "mask": 2,
"field": "caution_check", "field": "deposit_given",
"permanent": false, "permanent": false,
"description": "Dire si un chèque de caution a été donné" "description": "Dire si un chèque de caution a été donné"
} }
@@ -4398,6 +4398,22 @@
"description": "Voir toutes les inscriptions au WEI courant" "description": "Voir toutes les inscriptions au WEI courant"
} }
}, },
{
"model": "permission.permission",
"pk": 296,
"fields": {
"model": [
"wei",
"weiregistration"
],
"query": "[\"AND\", {\"user\": [\"user\"], \"wei__membership_start__lte\": [\"today\"], \"wei__membership_end__gte\": [\"today\"]}, [\"OR\", {\"wei\": [\"club\"]}, {\"wei__year\": [\"today\", \"year\"], \"membership\": null}]]",
"type": "change",
"mask": 1,
"field": "deposit_type",
"permanent": false,
"description": "Modifier le type de caution de mon inscription WEI tant qu'elle n'est pas validée"
}
},
{ {
"model": "permission.role", "model": "permission.role",
"pk": 1, "pk": 1,
@@ -4492,7 +4508,8 @@
159, 159,
160, 160,
212, 212,
222 222,
296
] ]
} }
}, },

View File

@@ -59,8 +59,8 @@ class WEIRegistrationForm(forms.ModelForm):
'minDate': '1900-01-01', 'minDate': '1900-01-01',
'maxDate': '2100-01-01' 'maxDate': '2100-01-01'
}), }),
"deposit_given": forms.BooleanField( "deposit_given": forms.CheckboxInput(
required=False, attrs={'class': 'form-check-input'},
), ),
"deposit_type": forms.RadioSelect(), "deposit_type": forms.RadioSelect(),
} }

View File

@@ -113,10 +113,6 @@ class TestWEIAlgorithm(TestCase):
max_score_words = max(buses[i][1][1] for i in range(len(buses))) max_score_words = max(buses[i][1][1] for i in range(len(buses)))
penalty += (max_score_words - score_words) ** 2 penalty += (max_score_words - score_words) ** 2
penalty += (max_score_questions - score_questions) ** 2 penalty += (max_score_questions - score_questions) ** 2
self.assertLessEqual(max_score_questions - score_questions, 3)
self.assertLessEqual(max_score_words - score_words, 2.5)
self.assertLessEqual(penalty / 100, 25) # Tolerance of 5 % self.assertLessEqual(penalty / 100, 25) # Tolerance of 5 %
# There shouldn't be users who would prefer to switch buses # There shouldn't be users who would prefer to switch buses

View File

@@ -808,7 +808,9 @@ class WEIUpdateRegistrationView(ProtectQuerysetMixin, LoginRequiredMixin, Update
del form.fields["information_json"] del form.fields["information_json"]
# Masquer le champ deposit_given pour tout le monde dans le formulaire de modification # Masquer le champ deposit_given pour tout le monde dans le formulaire de modification
if "deposit_given" in form.fields: if "deposit_given" in form.fields:
del form.fields["deposit_given"] form.fields["deposit_given"].help_text = _("Tick if the deposit check has been given")
if self.object.first_year or self.object.deposit_type == 'note':
del form.fields["deposit_given"]
# S'assurer que le champ deposit_type est obligatoire pour les 2A+ # S'assurer que le champ deposit_type est obligatoire pour les 2A+
if "deposit_type" in form.fields: if "deposit_type" in form.fields:
@@ -818,14 +820,6 @@ class WEIUpdateRegistrationView(ProtectQuerysetMixin, LoginRequiredMixin, Update
form.fields["deposit_type"].required = True form.fields["deposit_type"].required = True
form.fields["deposit_type"].help_text = _("Choose how you want to pay the deposit") form.fields["deposit_type"].help_text = _("Choose how you want to pay the deposit")
if not self.object.first_year and self.request.user.has_perm("wei.change_weiregistration_deposit_given") and self.object.deposit_type == 'check':
form.fields["deposit_given"] = forms.BooleanField(
required=False,
initial=self.object.deposit_given,
label=_("Deposit check given"),
help_text=_("Tick if the deposit check has been given")
)
if self.object.user.profile.soge: if self.object.user.profile.soge:
form.fields["soge_credit"].disabled = True form.fields["soge_credit"].disabled = True
form.fields["soge_credit"].help_text = _("You already opened an account in the Société générale.") form.fields["soge_credit"].help_text = _("You already opened an account in the Société générale.")