mirror of
https://github.com/ae-utbm/sith.git
synced 2024-11-25 18:44:23 +00:00
trombi: raw tool for trombi admins to add a club membership to a trombi member
This commit is contained in:
parent
7ee4557ab5
commit
fb8faacddc
File diff suppressed because it is too large
Load Diff
@ -33,6 +33,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div>{{ u.user.get_display_name() }}</div>
|
<div>{{ u.user.get_display_name() }}</div>
|
||||||
<div><a href="{{ url('trombi:delete_user', user_id=u.id) }}">{% trans %}Delete{% endtrans %}</a></div>
|
<div><a href="{{ url('trombi:delete_user', user_id=u.id) }}">{% trans %}Delete{% endtrans %}</a></div>
|
||||||
|
<div><a href="{{ url('trombi:create_membership', user_id=u.id) }}">{% trans %}Add club membership{% endtrans %}</a></div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
# -*- coding:utf-8 -*
|
# -*- coding:utf-8 -*
|
||||||
#
|
#
|
||||||
# Copyright 2017
|
# Copyright 2017,2020
|
||||||
# - Skia <skia@libskia.so>
|
# - Skia <skia@libskia.so>
|
||||||
|
# - Sli <antoine@bartuccio.fr>
|
||||||
#
|
#
|
||||||
# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM,
|
# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM,
|
||||||
# http://ae.utbm.fr.
|
# http://ae.utbm.fr.
|
||||||
@ -81,4 +82,9 @@ urlpatterns = [
|
|||||||
UserTrombiDeleteMembershipView.as_view(),
|
UserTrombiDeleteMembershipView.as_view(),
|
||||||
name="delete_membership",
|
name="delete_membership",
|
||||||
),
|
),
|
||||||
|
re_path(
|
||||||
|
r"^membership/(?P<user_id>[0-9]+)/create$",
|
||||||
|
UserTrombiAddMembershipView.as_view(),
|
||||||
|
name="create_membership",
|
||||||
|
),
|
||||||
]
|
]
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
# -*- coding:utf-8 -*
|
# -*- coding:utf-8 -*
|
||||||
#
|
#
|
||||||
# Copyright 2017
|
# Copyright 2017,2020
|
||||||
# - Skia <skia@libskia.so>
|
# - Skia <skia@libskia.so>
|
||||||
|
# - Sli <antoine.bartuccio@gmail.com>
|
||||||
#
|
#
|
||||||
# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM,
|
# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM,
|
||||||
# http://ae.utbm.fr.
|
# http://ae.utbm.fr.
|
||||||
@ -31,6 +32,7 @@ from django.utils.translation import ugettext_lazy as _
|
|||||||
from django import forms
|
from django import forms
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.forms.models import modelform_factory
|
from django.forms.models import modelform_factory
|
||||||
|
from django.core.exceptions import PermissionDenied
|
||||||
|
|
||||||
from ajax_select.fields import AutoCompleteSelectField
|
from ajax_select.fields import AutoCompleteSelectField
|
||||||
|
|
||||||
@ -410,6 +412,35 @@ class UserTrombiDeleteMembershipView(TrombiTabsMixin, CanEditMixin, DeleteView):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# Used by admins when someone does not have every club in his list
|
||||||
|
class UserTrombiAddMembershipView(TrombiTabsMixin, CreateView):
|
||||||
|
model = TrombiClubMembership
|
||||||
|
template_name = "core/edit.jinja"
|
||||||
|
fields = ["club", "role", "start", "end"]
|
||||||
|
pk_url_kwarg = "user_id"
|
||||||
|
current_tab = "profile"
|
||||||
|
|
||||||
|
def dispatch(self, request, *arg, **kwargs):
|
||||||
|
self.trombi_user = get_object_or_404(TrombiUser, pk=kwargs["user_id"])
|
||||||
|
if not self.trombi_user.trombi.is_owned_by(request.user):
|
||||||
|
raise PermissionDenied()
|
||||||
|
|
||||||
|
return super(UserTrombiAddMembershipView, self).dispatch(
|
||||||
|
request, *arg, **kwargs
|
||||||
|
)
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
membership = form.save(commit=False)
|
||||||
|
membership.user = self.trombi_user
|
||||||
|
membership.save()
|
||||||
|
return HttpResponseRedirect(self.get_success_url())
|
||||||
|
|
||||||
|
def get_success_url(self):
|
||||||
|
return reverse(
|
||||||
|
"trombi:detail", kwargs={"trombi_id": self.trombi_user.trombi.id}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class UserTrombiEditMembershipView(CanEditMixin, TrombiTabsMixin, UpdateView):
|
class UserTrombiEditMembershipView(CanEditMixin, TrombiTabsMixin, UpdateView):
|
||||||
model = TrombiClubMembership
|
model = TrombiClubMembership
|
||||||
pk_url_kwarg = "membership_id"
|
pk_url_kwarg = "membership_id"
|
||||||
|
Loading…
Reference in New Issue
Block a user