From 1b63d58586cbcb4b4a15ad1b139441fd6d9bd904 Mon Sep 17 00:00:00 2001 From: guillaume-renaud Date: Wed, 5 Oct 2016 13:08:51 +0200 Subject: [PATCH] Addition of the user's club tab --- core/templates/core/user_clubs.jinja | 24 ++++++++++++++++++++++++ core/urls.py | 1 + core/views/user.py | 17 +++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 core/templates/core/user_clubs.jinja diff --git a/core/templates/core/user_clubs.jinja b/core/templates/core/user_clubs.jinja new file mode 100644 index 00000000..5e16fb93 --- /dev/null +++ b/core/templates/core/user_clubs.jinja @@ -0,0 +1,24 @@ +{% extends "core/base.jinja" %} + +{% block title %} + {% trans user_name=profile.get_display_name() %}{{ user_name }}'s club(s){% endtrans %} +{% endblock %} + +{% block content %} +

{% trans%}Club(s){% endtrans %}

+ +

{% trans%}Current club(s){% endtrans %}

+ + +

{% trans%}Old club(s){% endtrans %}

+ +{% endblock %} + diff --git a/core/urls.py b/core/urls.py index db983740..aaf10c53 100644 --- a/core/urls.py +++ b/core/urls.py @@ -36,6 +36,7 @@ urlpatterns = [ url(r'^user/(?P[0-9]+)/godfathers/(?P[0-9]+)/(?P(True)|(False))/delete$', DeleteUserGodfathers, name='user_godfathers_delete'), url(r'^user/(?P[0-9]+)/edit$', UserUpdateProfileView.as_view(), name='user_edit'), url(r'^user/(?P[0-9]+)/profile_upload$', UserUploadProfilePictView.as_view(), name='user_profile_upload'), + url(r'^user/(?P[0-9]+)/clubs$', UserClubView.as_view(), name='user_clubs'), url(r'^user/(?P[0-9]+)/groups$', UserUpdateGroupView.as_view(), name='user_groups'), url(r'^user/tools/$', UserToolsView.as_view(), name='user_tools'), url(r'^user/(?P[0-9]+)/account$', UserAccountView.as_view(), name='user_account'), diff --git a/core/views/user.py b/core/views/user.py index c5f83d1b..ac219ce1 100644 --- a/core/views/user.py +++ b/core/views/user.py @@ -20,6 +20,7 @@ import logging from core.views import CanViewMixin, CanEditMixin, CanEditPropMixin, TabedViewMixin from core.views.forms import RegisteringForm, UserPropForm, UserProfileForm, LoginForm, UserGodfathersForm from core.models import User, SithFile +from club.models import Club from subscription.models import Subscription def login(request): @@ -150,6 +151,12 @@ class UserTabsMixin(TabedViewMixin): 'slug': 'edit', 'name': _("Edit"), }) + if self.request.user.can_view(self.object): + tab_list.append({ + 'url': reverse('core:user_clubs', kwargs={'user_id': self.object.id}), + 'slug': 'clubs', + 'name': _("Clubs"), + }) if self.request.user.is_owner(self.object): tab_list.append({ 'url': reverse('core:user_groups', kwargs={'user_id': self.object.id}), @@ -336,6 +343,16 @@ class UserUpdateProfileView(UserTabsMixin, CanEditMixin, UpdateView): kwargs['form'] = self.form return kwargs +class UserClubView(UserTabsMixin, CanViewMixin, DetailView): + """ + Display the user's club(s) + """ + model = User + context_object_name = "profile" + pk_url_kwarg = "user_id" + template_name = "core/user_clubs.jinja" + current_tab = "clubs" + class UserUpdateGroupView(UserTabsMixin, CanEditPropMixin, UpdateView): """ Edit a user's groups