Skip to content

Commit 09c18f0

Browse files
authored
Fixes for event management (#792)
* Clarify label * More attendance table sort options * Fix leader not being able to remove themselves
1 parent 44e7e4a commit 09c18f0

File tree

4 files changed

+20
-11
lines changed

4 files changed

+20
-11
lines changed

collectives/models/event/role.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -95,15 +95,14 @@ def has_delete_rights(self, user: User) -> bool:
9595

9696
return user.is_moderator() or self.is_supervisor(user)
9797

98-
def can_remove_leader(self, user: User, leader: User) -> bool:
98+
def can_remove_leader(self, leader: User) -> bool:
9999
"""
100100
Checks if an user may remove a leader from this event.
101101
102-
True if user has edit rights on this event, and the leader
103-
is not the "main" leader
102+
True if the leader is not the "main" leader
104103
"""
105104

106-
return self.has_edit_rights(user) and leader.id != self.main_leader_id
105+
return leader.id != self.main_leader_id
107106

108107
def coleaders(self):
109108
"""

collectives/routes/event.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,12 @@ def view_event(event_id, name=""):
286286
payment_item_choice_form=payment_item_choice_form,
287287
question_form=question_form,
288288
sort_key=request.args.get("sort_key", "id"),
289+
possible_sort_keys={
290+
"user.last_name,user.first_name": "nom",
291+
"user.first_name,user.last_name": "prénom",
292+
"status,id": "statut",
293+
"id": "ordre d'inscription",
294+
},
289295
)
290296

291297

@@ -478,7 +484,7 @@ def _postvalidate_leaders_and_activities(
478484
# Check that we have not removed leaders that we don't have the right to
479485
removed_leaders = existing_leaders_set - new_leaders_set
480486
for removed_leader in removed_leaders:
481-
if not event.can_remove_leader(current_user, removed_leader):
487+
if not event.can_remove_leader(removed_leader):
482488
flash(
483489
f"Impossible de supprimer l'encadrant: {removed_leader.full_name()}",
484490
"error",

collectives/templates/event/editevent.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ <h4 class="heading-4">Informations</h4>
187187
</div>
188188
<div class="inline_field">
189189
{{form.include_leaders_in_counts}}
190-
<label for="include_leaders_in_counts">Compter les encadrants dans les nombres max. de participants</label>
190+
<label for="include_leaders_in_counts">Compter les encadrants de l'événement dans les nombres max. de participants</label>
191191
</div>
192192

193193
<div class="dates">

collectives/templates/event/partials/admin.html

+9-5
Original file line numberDiff line numberDiff line change
@@ -156,11 +156,15 @@ <h5 class="heading-5 collective-display--administration-title"> Liste des prése
156156
<thead>
157157
<tr>
158158
<th>
159-
{%if sort_key == "id"%}
160-
<a href="{{url_for('event.view_event', event_id=event.id, sort_key='user.first_name,user.last_name')}}#attendancelist" >Trier par nom</a>
161-
{%else%}
162-
<a href="{{url_for('event.view_event', event_id=event.id)}}#attendancelist" >Trier par ordre d'inscription</a>
163-
{%endif%}
159+
Trier par :
160+
{%for key, key_name in possible_sort_keys.items()%}
161+
{%if key == sort_key%}
162+
{{key_name}}
163+
{%else%}
164+
<a href="{{url_for('event.view_event', event_id=event.id, sort_key=key)}}#attendancelist" >{{key_name}}</a>
165+
{%endif%}
166+
{% if not loop.last %} | {%endif%}
167+
{% endfor %}
164168
</th>
165169
</tr>
166170
</thead>

0 commit comments

Comments
 (0)