mirror of https://gitlab.crans.org/bde/nk20
[WEI] UI to attribute buses for 1A
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
This commit is contained in:
parent
61feac13c7
commit
bb9a0a2593
|
@ -172,7 +172,7 @@ class WEIMembershipTable(tables.Table):
|
||||||
|
|
||||||
class WEIRegistration1ATable(tables.Table):
|
class WEIRegistration1ATable(tables.Table):
|
||||||
user = tables.LinkColumn(
|
user = tables.LinkColumn(
|
||||||
'wei:wei_update_registration',
|
'wei:wei_bus_1A',
|
||||||
args=[A('pk')],
|
args=[A('pk')],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
{% extends "wei/base.html" %}
|
||||||
|
|
||||||
|
{% load i18n %}
|
||||||
|
|
||||||
|
{% block profile_content %}
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header text-center">
|
||||||
|
<h3>{% trans "Bus attribution" %}</h3>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card-body">
|
||||||
|
<dl class="row">
|
||||||
|
<dt class="col-xl-6">{% trans 'user'|capfirst %}</dt>
|
||||||
|
<dd class="col-xl-6">{{ object.user }}</dd>
|
||||||
|
|
||||||
|
<dt class="col-xl-6">{% trans 'last name'|capfirst %}</dt>
|
||||||
|
<dd class="col-xl-6">{{ object.user.last_name }}</dd>
|
||||||
|
|
||||||
|
<dt class="col-xl-6">{% trans 'first name'|capfirst %}</dt>
|
||||||
|
<dd class="col-xl-6">{{ object.user.first_name }}</dd>
|
||||||
|
|
||||||
|
<dt class="col-xl-6">{% trans 'gender'|capfirst %}</dt>
|
||||||
|
<dd class="col-xl-6">{{ object.get_gender_display }}</dd>
|
||||||
|
|
||||||
|
<dt class="col-xl-6">{% trans 'department'|capfirst %}</dt>
|
||||||
|
<dd class="col-xl-6">{{ object.user.profile.get_department_display }}</dd>
|
||||||
|
|
||||||
|
<dt class="col-xl-6">{% trans 'health issues'|capfirst %}</dt>
|
||||||
|
<dd class="col-xl-6">{{ object.health_issues|default:"—" }}</dd>
|
||||||
|
|
||||||
|
<dt class="col-xl-6">{% trans 'suggested bus'|capfirst %}</dt>
|
||||||
|
<dd class="col-xl-6">{{ survey.information.selected_bus_name }}</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<button class="btn btn-link" data-toggle="collapse" data-target="#raw-survey">{% trans "View raw survey information" %}</button>
|
||||||
|
</div>
|
||||||
|
<div class="collapse" id="raw-survey">
|
||||||
|
<dl class="row">
|
||||||
|
{% for key, value in survey.registration.information.items %}
|
||||||
|
<dt class="col-xl-6">{{ key }}</dt>
|
||||||
|
<dd class="col-xl-6">{{ value }}</dd>
|
||||||
|
{% endfor %}
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
{% for bus, score in survey.ordered_buses %}
|
||||||
|
<button class="btn btn-{% if bus.pk == survey.information.selected_bus_pk %}success{% else %}light{% endif %}">
|
||||||
|
{{ bus }} ({{ score|floatformat:2 }}) : {{ bus.memberships.count }} / {{ bus.size }}
|
||||||
|
</button>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
<a href="{% url 'wei:wei_1A_list' pk=object.wei.pk %}" class="btn btn-block btn-info">{% trans "Back to main list" %}</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
|
@ -53,7 +53,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
<dd class="col-xl-6">{{ registration.first_year|yesno }}</dd>
|
<dd class="col-xl-6">{{ registration.first_year|yesno }}</dd>
|
||||||
|
|
||||||
<dt class="col-xl-6">{% trans 'gender'|capfirst %}</dt>
|
<dt class="col-xl-6">{% trans 'gender'|capfirst %}</dt>
|
||||||
<dd class="col-xl-6">{{ registration.gender }}</dd>
|
<dd class="col-xl-6">{{ registration.get_gender_display }}</dd>
|
||||||
|
|
||||||
<dt class="col-xl-6">{% trans 'clothing cut'|capfirst %}</dt>
|
<dt class="col-xl-6">{% trans 'clothing cut'|capfirst %}</dt>
|
||||||
<dd class="col-xl-6">{{ registration.clothing_cut }}</dd>
|
<dd class="col-xl-6">{{ registration.clothing_cut }}</dd>
|
||||||
|
|
|
@ -3,12 +3,11 @@
|
||||||
|
|
||||||
from django.urls import path
|
from django.urls import path
|
||||||
|
|
||||||
from .views import CurrentWEIDetailView, WEI1AListView, WEIListView, WEICreateView, WEIDetailView, WEIUpdateView,\
|
from .views import CurrentWEIDetailView, WEI1AListView, WEIListView, WEICreateView, WEIDetailView, WEIUpdateView, \
|
||||||
WEIRegistrationsView, WEIMembershipsView, MemberListRenderView,\
|
WEIRegistrationsView, WEIMembershipsView, MemberListRenderView, \
|
||||||
BusCreateView, BusManageView, BusUpdateView, BusTeamCreateView, BusTeamManageView, BusTeamUpdateView,\
|
BusCreateView, BusManageView, BusUpdateView, BusTeamCreateView, BusTeamManageView, BusTeamUpdateView, \
|
||||||
WEIRegister1AView, WEIRegister2AView, WEIUpdateRegistrationView, WEIDeleteRegistrationView,\
|
WEIAttributeBus1AView, WEIRegister1AView, WEIRegister2AView, WEIUpdateRegistrationView, \
|
||||||
WEIValidateRegistrationView, WEISurveyView, WEISurveyEndView, WEIClosedView
|
WEIDeleteRegistrationView, WEIValidateRegistrationView, WEISurveyView, WEISurveyEndView, WEIClosedView
|
||||||
|
|
||||||
|
|
||||||
app_name = 'wei'
|
app_name = 'wei'
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
|
@ -24,7 +23,7 @@ urlpatterns = [
|
||||||
name="wei_memberships_bus_pdf"),
|
name="wei_memberships_bus_pdf"),
|
||||||
path('detail/<int:wei_pk>/memberships/pdf/<int:bus_pk>/<int:team_pk>/', MemberListRenderView.as_view(),
|
path('detail/<int:wei_pk>/memberships/pdf/<int:bus_pk>/<int:team_pk>/', MemberListRenderView.as_view(),
|
||||||
name="wei_memberships_team_pdf"),
|
name="wei_memberships_team_pdf"),
|
||||||
path('bus-1A-list/<int:pk>/', WEI1AListView.as_view(), name="wei_1A_list"),
|
path('bus-1A/list/<int:pk>/', WEI1AListView.as_view(), name="wei_1A_list"),
|
||||||
path('add-bus/<int:pk>/', BusCreateView.as_view(), name="add_bus"),
|
path('add-bus/<int:pk>/', BusCreateView.as_view(), name="add_bus"),
|
||||||
path('manage-bus/<int:pk>/', BusManageView.as_view(), name="manage_bus"),
|
path('manage-bus/<int:pk>/', BusManageView.as_view(), name="manage_bus"),
|
||||||
path('update-bus/<int:pk>/', BusUpdateView.as_view(), name="update_bus"),
|
path('update-bus/<int:pk>/', BusUpdateView.as_view(), name="update_bus"),
|
||||||
|
@ -41,4 +40,5 @@ urlpatterns = [
|
||||||
path('survey/<int:pk>/', WEISurveyView.as_view(), name="wei_survey"),
|
path('survey/<int:pk>/', WEISurveyView.as_view(), name="wei_survey"),
|
||||||
path('survey/<int:pk>/end/', WEISurveyEndView.as_view(), name="wei_survey_end"),
|
path('survey/<int:pk>/end/', WEISurveyEndView.as_view(), name="wei_survey_end"),
|
||||||
path('detail/<int:pk>/closed/', WEIClosedView.as_view(), name="wei_closed"),
|
path('detail/<int:pk>/closed/', WEIClosedView.as_view(), name="wei_closed"),
|
||||||
|
path('bus-1A/<int:pk>/', WEIAttributeBus1AView.as_view(), name="wei_bus_1A"),
|
||||||
]
|
]
|
||||||
|
|
|
@ -1182,3 +1182,20 @@ class WEI1AListView(LoginRequiredMixin, ProtectQuerysetMixin, SingleTableView):
|
||||||
context['club'] = self.club
|
context['club'] = self.club
|
||||||
context['bus_repartition_table'] = BusRepartitionTable(Bus.objects.filter(wei=self.club, size__gt=0).all())
|
context['bus_repartition_table'] = BusRepartitionTable(Bus.objects.filter(wei=self.club, size__gt=0).all())
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
|
class WEIAttributeBus1AView(ProtectQuerysetMixin, DetailView):
|
||||||
|
model = WEIRegistration
|
||||||
|
template_name = "wei/attribute_bus_1A.html"
|
||||||
|
extra_context = {"title": _("Attribute bus")}
|
||||||
|
|
||||||
|
def get_queryset(self, filter_permissions=True, **kwargs):
|
||||||
|
qs = super().get_queryset(filter_permissions, **kwargs)
|
||||||
|
qs = qs.filter(first_year=True)
|
||||||
|
return qs
|
||||||
|
|
||||||
|
def get_context_data(self, **kwargs):
|
||||||
|
context = super().get_context_data(**kwargs)
|
||||||
|
context['club'] = self.object.wei
|
||||||
|
context['survey'] = CurrentSurvey(self.object)
|
||||||
|
return context
|
||||||
|
|
|
@ -7,7 +7,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-09-11 19:00+0200\n"
|
"POT-Creation-Date: 2021-09-12 19:30+0200\n"
|
||||||
"PO-Revision-Date: 2020-11-16 20:02+0000\n"
|
"PO-Revision-Date: 2020-11-16 20:02+0000\n"
|
||||||
"Last-Translator: Yohann D'ANELLO <ynerant@crans.org>\n"
|
"Last-Translator: Yohann D'ANELLO <ynerant@crans.org>\n"
|
||||||
"Language-Team: French <http://translate.ynerant.fr/projects/nk20/nk20/fr/>\n"
|
"Language-Team: French <http://translate.ynerant.fr/projects/nk20/nk20/fr/>\n"
|
||||||
|
@ -112,7 +112,8 @@ msgstr "type"
|
||||||
|
|
||||||
#: apps/activity/models.py:89 apps/logs/models.py:22 apps/member/models.py:305
|
#: apps/activity/models.py:89 apps/logs/models.py:22 apps/member/models.py:305
|
||||||
#: apps/note/models/notes.py:148 apps/treasury/models.py:285
|
#: apps/note/models/notes.py:148 apps/treasury/models.py:285
|
||||||
#: apps/wei/models.py:165 apps/wei/templates/wei/survey.html:15
|
#: apps/wei/models.py:165 apps/wei/templates/wei/attribute_bus_1A.html:13
|
||||||
|
#: apps/wei/templates/wei/survey.html:15
|
||||||
msgid "user"
|
msgid "user"
|
||||||
msgstr "utilisateur"
|
msgstr "utilisateur"
|
||||||
|
|
||||||
|
@ -204,6 +205,7 @@ msgstr "La note est en négatif."
|
||||||
|
|
||||||
#: apps/activity/models.py:240
|
#: apps/activity/models.py:240
|
||||||
#: apps/treasury/templates/treasury/sogecredit_detail.html:14
|
#: apps/treasury/templates/treasury/sogecredit_detail.html:14
|
||||||
|
#: apps/wei/templates/wei/attribute_bus_1A.html:16
|
||||||
msgid "last name"
|
msgid "last name"
|
||||||
msgstr "nom de famille"
|
msgstr "nom de famille"
|
||||||
|
|
||||||
|
@ -211,6 +213,7 @@ msgstr "nom de famille"
|
||||||
#: apps/member/templates/member/includes/profile_info.html:4
|
#: apps/member/templates/member/includes/profile_info.html:4
|
||||||
#: apps/registration/templates/registration/future_profile_detail.html:16
|
#: apps/registration/templates/registration/future_profile_detail.html:16
|
||||||
#: apps/treasury/templates/treasury/sogecredit_detail.html:17
|
#: apps/treasury/templates/treasury/sogecredit_detail.html:17
|
||||||
|
#: apps/wei/templates/wei/attribute_bus_1A.html:19
|
||||||
#: apps/wei/templates/wei/weimembership_form.html:14
|
#: apps/wei/templates/wei/weimembership_form.html:14
|
||||||
msgid "first name"
|
msgid "first name"
|
||||||
msgstr "prénom"
|
msgstr "prénom"
|
||||||
|
@ -620,7 +623,8 @@ msgstr "section"
|
||||||
msgid "e.g. \"1A0\", \"9A♥\", \"SAPHIRE\""
|
msgid "e.g. \"1A0\", \"9A♥\", \"SAPHIRE\""
|
||||||
msgstr "e.g. \"1A0\", \"9A♥\", \"SAPHIRE\""
|
msgstr "e.g. \"1A0\", \"9A♥\", \"SAPHIRE\""
|
||||||
|
|
||||||
#: apps/member/models.py:54 apps/wei/templates/wei/weimembership_form.html:32
|
#: apps/member/models.py:54 apps/wei/templates/wei/attribute_bus_1A.html:25
|
||||||
|
#: apps/wei/templates/wei/weimembership_form.html:32
|
||||||
msgid "department"
|
msgid "department"
|
||||||
msgstr "département"
|
msgstr "département"
|
||||||
|
|
||||||
|
@ -2637,7 +2641,8 @@ msgstr "Femme"
|
||||||
msgid "Non binary"
|
msgid "Non binary"
|
||||||
msgstr "Non-binaire"
|
msgstr "Non-binaire"
|
||||||
|
|
||||||
#: apps/wei/models.py:196 apps/wei/templates/wei/weimembership_form.html:55
|
#: apps/wei/models.py:196 apps/wei/templates/wei/attribute_bus_1A.html:22
|
||||||
|
#: apps/wei/templates/wei/weimembership_form.html:55
|
||||||
msgid "gender"
|
msgid "gender"
|
||||||
msgstr "genre"
|
msgstr "genre"
|
||||||
|
|
||||||
|
@ -2649,7 +2654,8 @@ msgstr "coupe de vêtement"
|
||||||
msgid "clothing size"
|
msgid "clothing size"
|
||||||
msgstr "taille de vêtement"
|
msgstr "taille de vêtement"
|
||||||
|
|
||||||
#: apps/wei/models.py:224 apps/wei/templates/wei/weimembership_form.html:67
|
#: apps/wei/models.py:224 apps/wei/templates/wei/attribute_bus_1A.html:28
|
||||||
|
#: apps/wei/templates/wei/weimembership_form.html:67
|
||||||
msgid "health issues"
|
msgid "health issues"
|
||||||
msgstr "problèmes de santé"
|
msgstr "problèmes de santé"
|
||||||
|
|
||||||
|
@ -2766,6 +2772,22 @@ msgstr "Attribuer les 1A dans les bus"
|
||||||
msgid "Start attribution!"
|
msgid "Start attribution!"
|
||||||
msgstr "Démarrer l'attribution !"
|
msgstr "Démarrer l'attribution !"
|
||||||
|
|
||||||
|
#: apps/wei/templates/wei/attribute_bus_1A.html:8
|
||||||
|
msgid "Bus attribution"
|
||||||
|
msgstr "Répartition des bus"
|
||||||
|
|
||||||
|
#: apps/wei/templates/wei/attribute_bus_1A.html:31
|
||||||
|
msgid "suggested bus"
|
||||||
|
msgstr "bus suggéré"
|
||||||
|
|
||||||
|
#: apps/wei/templates/wei/attribute_bus_1A.html:37
|
||||||
|
msgid "View raw survey information"
|
||||||
|
msgstr "Voir les informations brutes du sondage"
|
||||||
|
|
||||||
|
#: apps/wei/templates/wei/attribute_bus_1A.html:57
|
||||||
|
msgid "Back to main list"
|
||||||
|
msgstr "Retour à la liste principale"
|
||||||
|
|
||||||
#: apps/wei/templates/wei/base.html:44
|
#: apps/wei/templates/wei/base.html:44
|
||||||
msgid "WEI fee (paid students)"
|
msgid "WEI fee (paid students)"
|
||||||
msgstr "Prix du WEI (élèves)"
|
msgstr "Prix du WEI (élèves)"
|
||||||
|
@ -3094,6 +3116,10 @@ msgstr "Valider l'inscription WEI"
|
||||||
msgid "Attribute buses to first year members"
|
msgid "Attribute buses to first year members"
|
||||||
msgstr "Répartir les 1A dans les bus"
|
msgstr "Répartir les 1A dans les bus"
|
||||||
|
|
||||||
|
#: apps/wei/views.py:1190
|
||||||
|
msgid "Attribute bus"
|
||||||
|
msgstr "Attribuer un bus"
|
||||||
|
|
||||||
#: note_kfet/settings/base.py:161
|
#: note_kfet/settings/base.py:161
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Allemand"
|
msgstr "Allemand"
|
||||||
|
|
Loading…
Reference in New Issue