diff --git a/core/static/core/style.css b/core/static/core/style.css index 36dc32bc..efa60bb4 100644 --- a/core/static/core/style.css +++ b/core/static/core/style.css @@ -162,9 +162,19 @@ tbody>tr:hover { } .tool-bar { overflow: auto; + padding: 4px; } .tools { float: right; + padding: 6px; + overflow: hidden; + border: 1px solid grey; +} +.tools a { + padding: 10px; +} +.selected_tab { + background: lightgrey; } #basket { width: 40%; diff --git a/core/templates/core/user_base.jinja b/core/templates/core/user_base.jinja index 55f639b5..7c299a3c 100644 --- a/core/templates/core/user_base.jinja +++ b/core/templates/core/user_base.jinja @@ -4,22 +4,53 @@
{{ profile.get_display_name() }}
- {% trans %}Infos{% endtrans %} - {% trans %}Stats{% endtrans %} + + {% trans %}Infos{% endtrans %} + + {% trans %}Tools{% endtrans %} + + {% trans %}Stats{% endtrans %} + {% if can_edit(profile, request.user) or user.id == profile.id %} - {% trans %}Edit{% endtrans %} + {% trans %}Edit{% endtrans %} {% endif %} + {% if can_edit_prop(profile, request.user) %} - {% trans %}Groups{% endtrans %} + {% trans %}Groups{% endtrans %} {% endif %} + {% if profile.customer and (profile == request.user or request.user.is_in_group(settings.SITH_GROUPS['accounting-admin']['name']) or request.user.is_root) %} - {% trans %}Account{% endtrans %} ({{ profile.customer.amount }}€) + {% trans %}Account{% endtrans %} ({{ profile.customer.amount }}€) {% endif %}
+
-
{% block infos %} diff --git a/core/templates/core/user_tools.jinja b/core/templates/core/user_tools.jinja index 7dfc8f37..9cdc4279 100644 --- a/core/templates/core/user_tools.jinja +++ b/core/templates/core/user_tools.jinja @@ -1,10 +1,10 @@ -{% extends "core/base.jinja" %} +{% extends "core/user_base.jinja" %} {% block title %} {% trans user_name=user.get_display_name() %}{{ user_name }}'s tools{% endtrans %} {% endblock %} -{% block content %} +{% block infos %}

{% trans %}User Tools{% endtrans %}


diff --git a/core/views/user.py b/core/views/user.py index f935b722..302e0914 100644 --- a/core/views/user.py +++ b/core/views/user.py @@ -124,6 +124,11 @@ class UserView(CanViewMixin, DetailView): context_object_name = "profile" template_name = "core/user_detail.jinja" + def get_context_data(self, **kwargs): + kwargs = super(UserView, self).get_context_data(**kwargs) + kwargs['tab'] = "infos" + return kwargs + class UserStatsView(CanViewMixin, DetailView): """ Display a user's stats @@ -143,6 +148,7 @@ class UserStatsView(CanViewMixin, DetailView): kwargs['total_foyer_time'] = sum([p.end-p.start for p in self.object.permanencies.filter(counter=foyer)], timedelta()) kwargs['total_mde_time'] = sum([p.end-p.start for p in self.object.permanencies.filter(counter=mde)], timedelta()) kwargs['total_gommette_time'] = sum([p.end-p.start for p in self.object.permanencies.filter(counter=gommette)], timedelta()) + kwargs['tab'] = "stats" return kwargs class UserMiniView(CanViewMixin, DetailView): @@ -221,6 +227,7 @@ class UserUpdateProfileView(CanEditMixin, UpdateView): kwargs = super(UserUpdateProfileView, self).get_context_data(**kwargs) kwargs['profile'] = self.form.instance kwargs['form'] = self.form + kwargs['tab'] = "edit" return kwargs class UserUpdateGroupView(CanEditPropMixin, UpdateView): @@ -234,6 +241,11 @@ class UserUpdateGroupView(CanEditPropMixin, UpdateView): widgets={'groups':CheckboxSelectMultiple}) context_object_name = "profile" + def get_context_data(self, **kwargs): + kwargs = super(UserUpdateGroupView, self).get_context_data(**kwargs) + kwargs['tab'] = "groups" + return kwargs + class UserToolsView(TemplateView): """ Displays the logged user's tools @@ -244,6 +256,8 @@ class UserToolsView(TemplateView): from launderette.models import Launderette kwargs = super(UserToolsView, self).get_context_data(**kwargs) kwargs['launderettes'] = Launderette.objects.all() + kwargs['profile'] = self.request.user + kwargs['tab'] = "tools" return kwargs class UserAccountView(DetailView): @@ -270,6 +284,7 @@ class UserAccountView(DetailView): except: pass # TODO: add list of month where account has activity + kwargs['tab'] = "account" return kwargs