diff --git a/apps/member/tables.py b/apps/member/tables.py index 86fc386a..4e09d72e 100644 --- a/apps/member/tables.py +++ b/apps/member/tables.py @@ -96,26 +96,30 @@ class MembershipTable(tables.Table): t = pretty_money(value) # If it is required and if the user has the right, the renew button is displayed. - if record.club.membership_start is not None: - if record.date_start < record.club.membership_start: # If the renew is available - if not Membership.objects.filter( - club=record.club, - user=record.user, - date_start__gte=record.club.membership_start, - date_end__lte=record.club.membership_end, - ).exists(): # If the renew is not yet performed - empty_membership = Membership( - club=record.club, - user=record.user, - date_start=date.today(), - date_end=date.today(), - fee=0, + if record.club.membership_start is not None \ + and record.date_start < record.club.membership_start: + if not Membership.objects.filter( + club=record.club, + user=record.user, + date_start__gte=record.club.membership_start, + date_end__lte=record.club.membership_end, + ).exists(): # If the renew is not yet performed + empty_membership = Membership( + club=record.club, + user=record.user, + date_start=date.today(), + date_end=date.today(), + fee=0, + ) + if PermissionBackend.check_perm(get_current_authenticated_user(), + "member:add_membership", empty_membership): # If the user has right + renew_url = reverse_lazy('member:club_renew_membership', + kwargs={"pk": record.pk}) + t = format_html( + t + ' ', + renew_url=renew_url, text=_("Renew") ) - if PermissionBackend.check_perm(get_current_authenticated_user(), - "member:add_membership", empty_membership): # If the user has right - t = format_html(t + ' {text}', - url=reverse_lazy('member:club_renew_membership', - kwargs={"pk": record.pk}), text=_("Renew")) return t def render_roles(self, record): diff --git a/apps/member/templates/member/add_members.html b/apps/member/templates/member/add_members.html index 909e72b3..fa0a958c 100644 --- a/apps/member/templates/member/add_members.html +++ b/apps/member/templates/member/add_members.html @@ -1,72 +1,75 @@ {% extends "member/base.html" %} -{% load crispy_forms_tags %} -{% load static %} -{% load i18n %} -{% load pretty_money %} - -{% block profile_info %} -{% include "member/club_info.html" %} -{% endblock %} +{% comment %} +SPDX-License-Identifier: GPL-3.0-or-later +{% endcomment %} +{% load crispy_forms_tags i18n pretty_money %} {% block profile_content %} - {% if additional_fee_renewal %} +
+

+ {{ title }} +

+
+ {% if additional_fee_renewal %}
{% if renewal %} - {% blocktrans trimmed with clubs=clubs_renewal|join:", " pretty_fee=additional_fee_renewal|pretty_money %} - The user is not a member of the club·s {{ clubs }}. An additional fee of {{ pretty_fee }} - will be charged to renew automatically the membership in this/these club·s. - {% endblocktrans %} + {% blocktrans trimmed with clubs=clubs_renewal|join:", " pretty_fee=additional_fee_renewal|pretty_money %} + The user is not a member of the club·s {{ clubs }}. An additional fee of {{ pretty_fee }} + will be charged to renew automatically the membership in this/these club·s. + {% endblocktrans %} {% else %} - {% blocktrans trimmed with clubs=clubs_renewal|join:", " pretty_fee=additional_fee_renewal|pretty_money %} - This club has parents {{ clubs }}. An additional fee of {{ pretty_fee }} - will be charged to adhere automatically to this/these club·s. - {% endblocktrans %} + {% blocktrans trimmed with clubs=clubs_renewal|join:", " pretty_fee=additional_fee_renewal|pretty_money %} + This club has parents {{ clubs }}. An additional fee of {{ pretty_fee }} + will be charged to adhere automatically to this/these club·s. + {% endblocktrans %} {% endif %}
- {% endif %} + {% endif %} -
- {% csrf_token %} - {{ form|crispy }} - -
+
+ {% csrf_token %} + {{ form|crispy }} + +
+
+
{% endblock %} {% block extrajavascript %} - -{% endblock %} + soge_field.change(fillFields); + +{% endblock %} \ No newline at end of file diff --git a/apps/member/templates/member/base.html b/apps/member/templates/member/base.html index b61d869c..b474f736 100644 --- a/apps/member/templates/member/base.html +++ b/apps/member/templates/member/base.html @@ -2,6 +2,7 @@ {% comment %} SPDX-License-Identifier: GPL-3.0-or-later {% endcomment %} +{% load i18n perms %} {% block contenttitle %}{% endblock %} {# Use a fluid-width container #} @@ -11,24 +12,74 @@ SPDX-License-Identifier: GPL-3.0-or-later
{% block profile_info %} - {% include "member/profile_info.html" %} - {% endblock %} +
+

+ {% if user_object %} + {% trans "Account #" %}{{ user_object.pk }} + {% elif club %} + Club {{ club.name }} + {% endif %} +

+
+ {% if user_object %} + + + + {% elif club %} + + + + {% endif %} +
+
+ {% if user_object %} + {% include "member/includes/profile_info.html" %} + {% elif club %} + {% include "member/includes/club_info.html" %} + {% endif %} + {% endblock %} +
+ +
- {% block profile_content %} - {% include "member/profile_tables.html" %} - {% endblock %} + {% block profile_content %}{% endblock %}
{% endblock %} {% block extrajavascript %} +{% if object %} +{% endif %} {% endblock %} \ No newline at end of file diff --git a/apps/member/templates/member/club_alias.html b/apps/member/templates/member/club_alias.html index 60e2bef0..d80dfa0b 100644 --- a/apps/member/templates/member/club_alias.html +++ b/apps/member/templates/member/club_alias.html @@ -1,4 +1,7 @@ -{% extends "member/club_detail.html" %} +{% extends "member/base.html" %} +{% comment %} +SPDX-License-Identifier: GPL-3.0-or-later +{% endcomment %} {% load static django_tables2 i18n %} {% block profile_content %} diff --git a/apps/member/templates/member/club_detail.html b/apps/member/templates/member/club_detail.html index c3afee7b..b6cd1e33 100644 --- a/apps/member/templates/member/club_detail.html +++ b/apps/member/templates/member/club_detail.html @@ -1,11 +1,50 @@ {% extends "member/base.html" %} - -{% block profile_info %} -{% include "member/club_info.html" %} -{% endblock %} +{% comment %} +SPDX-License-Identifier: GPL-3.0-or-later +{% endcomment %} +{% load render_table from django_tables2 %} +{% load i18n perms %} {% block profile_content %} -{% include "member/club_tables.html" %} +{% if managers.data %} +
+
+ + {% trans "Club managers" %} + +
+ {% render_table managers %} +
+ +
+{% endif %} + +{% if member_list.data %} +
+
+ + {% trans "Club members" %} + +
+ {% render_table member_list %} +
+ +
+{% endif %} + +{% if history_list.data %} +
+
+ + {% trans "Transaction history" %} + +
+
+ {% render_table history_list %} +
+
+{% endif %} {% endblock %} {% block extrajavascript %} diff --git a/apps/member/templates/member/club_form.html b/apps/member/templates/member/club_form.html index fc4e79e3..bd44ff16 100644 --- a/apps/member/templates/member/club_form.html +++ b/apps/member/templates/member/club_form.html @@ -1,11 +1,11 @@ -{% extends "base.html" %} +{% extends "member/base.html" %} {% comment %} SPDX-License-Identifier: GPL-3.0-or-later {% endcomment %} {% load i18n crispy_forms_tags %} {% block contenttitle %}{% endblock %} -{% block content %} +{% block profile_content %}

{{ title }} diff --git a/apps/member/templates/member/club_info.html b/apps/member/templates/member/club_info.html deleted file mode 100644 index bc76385b..00000000 --- a/apps/member/templates/member/club_info.html +++ /dev/null @@ -1,80 +0,0 @@ -{% load i18n pretty_money perms %} - -
-

- Club {{ club.name }} -

-
- - - -
-
-
-
{% trans 'name'|capfirst %}
-
{{ club.name }}
- - {% if club.parent_club %} -
- {% trans 'Club Parent'|capfirst %} -
-
{{ club.parent_club.name }}
- {% endif %} - - {% if club.require_memberships %} - {% if club.membership_start %} -
{% trans 'membership start'|capfirst %}
-
{{ club.membership_start }}
- {% endif %} - - {% if club.membership_end %} -
{% trans 'membership end'|capfirst %}
-
{{ club.membership_end }}
- {% endif %} - - {% if club.membership_duration %} -
{% trans 'membership duration'|capfirst %}
-
{{ club.membership_duration }} {% trans "days" %}
- {% endif %} - - {% if club.membership_fee_paid == club.membership_fee_unpaid %} -
{% trans 'membership fee'|capfirst %}
-
{{ club.membership_fee_paid|pretty_money }}
- {% else %} -
{% trans 'membership fee (paid students)'|capfirst %}
-
{{ club.membership_fee_paid|pretty_money }}
- -
{% trans 'membership fee (unpaid students)'|capfirst %}
-
{{ club.membership_fee_unpaid|pretty_money }}
- {% endif %} - {% endif %} - - {% if "note.view_note"|has_perm:club.note %} -
{% trans 'balance'|capfirst %}
-
{{ club.note.balance | pretty_money }}
- {% endif %} - -
{% trans 'aliases'|capfirst %}
-
{{ club.note.alias_set.all|join:", " }}
- -
{% trans 'email'|capfirst %}
-
{{ club.email }}
-
-
- {% if not club.weiclub %} - - {% endif %} -
\ No newline at end of file diff --git a/apps/member/templates/member/club_list.html b/apps/member/templates/member/club_list.html index f6d039e7..66863a3c 100644 --- a/apps/member/templates/member/club_list.html +++ b/apps/member/templates/member/club_list.html @@ -13,4 +13,4 @@ SPDX-License-Identifier: GPL-3.0-or-later {# Search panel #} {{ block.super }} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/apps/member/templates/member/club_members.html b/apps/member/templates/member/club_members.html index 9faff271..0da95242 100644 --- a/apps/member/templates/member/club_members.html +++ b/apps/member/templates/member/club_members.html @@ -2,68 +2,65 @@ {% load i18n %} {% load render_table from django_tables2 %} -{% block profile_info %} - {% include "member/club_info.html" %} -{% endblock %} - {% block profile_content %} - -
+
+

+ {{ title }} +

+
+
-
-
- -
+
+
-
-
{% if table.data %} - {% render_table table %} + {% render_table table %} {% else %} -
- {% trans "There is no membership found with this pattern." %} -
+
+ {% trans "There is no membership found with this pattern." %} +
{% endif %}
+
{% endblock %} {% block extrajavascript %} - -{% endblock %} + searchbar_obj.keyup(reloadTable); + only_active_obj.change(reloadTable); + roles_obj.change(reloadTable); + }); + +{% endblock %} \ No newline at end of file diff --git a/apps/member/templates/member/club_picture_update.html b/apps/member/templates/member/club_picture_update.html deleted file mode 100644 index 358fdd6e..00000000 --- a/apps/member/templates/member/club_picture_update.html +++ /dev/null @@ -1,5 +0,0 @@ -{% extends "member/club_detail.html" %} - -{% block profile_content%} -{% include "member/picture_update.html" %} -{% endblock%} diff --git a/apps/member/templates/member/club_tables.html b/apps/member/templates/member/club_tables.html deleted file mode 100644 index 063c00c5..00000000 --- a/apps/member/templates/member/club_tables.html +++ /dev/null @@ -1,42 +0,0 @@ -{% load render_table from django_tables2 %} -{% load i18n %} -{% load perms %} - -{% if managers.data %} -
- - {% render_table managers %} -
- -
-{% endif %} - -{% if member_list.data %} -
- - {% render_table member_list %} -
- -
-{% endif %} - -{% if history_list.data %} -
- -
- {% render_table history_list %} -
-
-{% endif %} diff --git a/apps/member/templates/member/includes/club_info.html b/apps/member/templates/member/includes/club_info.html new file mode 100644 index 00000000..271083b8 --- /dev/null +++ b/apps/member/templates/member/includes/club_info.html @@ -0,0 +1,56 @@ +{% load i18n pretty_money perms %} + +
+
{% trans 'name'|capfirst %}
+
{{ club.name }}
+ + {% if club.parent_club %} +
+ {% trans 'Club Parent'|capfirst %} +
+
{{ club.parent_club.name }}
+ {% endif %} + + {% if club.require_memberships %} + {% if club.membership_start %} +
{% trans 'membership start'|capfirst %}
+
{{ club.membership_start }}
+ {% endif %} + + {% if club.membership_end %} +
{% trans 'membership end'|capfirst %}
+
{{ club.membership_end }}
+ {% endif %} + + {% if club.membership_duration %} +
{% trans 'membership duration'|capfirst %}
+
{{ club.membership_duration }} {% trans "days" %}
+ {% endif %} + + {% if club.membership_fee_paid == club.membership_fee_unpaid %} +
{% trans 'membership fee'|capfirst %}
+
{{ club.membership_fee_paid|pretty_money }}
+ {% else %} +
{% trans 'membership fee (paid students)'|capfirst %}
+
{{ club.membership_fee_paid|pretty_money }}
+ +
{% trans 'membership fee (unpaid students)'|capfirst %}
+
{{ club.membership_fee_unpaid|pretty_money }}
+ {% endif %} + {% endif %} + + {% if "note.view_note"|has_perm:club.note %} +
{% trans 'balance'|capfirst %}
+
{{ club.note.balance | pretty_money }}
+ {% endif %} + +
{% trans 'aliases'|capfirst %}
+
+ + {% trans 'Edit aliases' %} ({{ club.note.alias_set.all|length }}) + +
+ +
{% trans 'email'|capfirst %}
+
{{ club.email }}
+
\ No newline at end of file diff --git a/apps/member/templates/member/includes/profile_info.html b/apps/member/templates/member/includes/profile_info.html new file mode 100644 index 00000000..ba12572f --- /dev/null +++ b/apps/member/templates/member/includes/profile_info.html @@ -0,0 +1,52 @@ +{% load i18n pretty_money perms %} + +
+
{% trans 'name'|capfirst %}, {% trans 'first name' %}
+
{{ user_object.last_name }} {{ user_object.first_name }}
+ +
{% trans 'username'|capfirst %}
+
{{ user_object.username }}
+ + {% if user_object.pk == user.pk %} +
{% trans 'password'|capfirst %}
+
+ + {% trans 'Change password' %} + +
+ {% endif %} + +
{% trans 'aliases'|capfirst %}
+
+ + {% trans 'Edit aliases' %} ({{ user_object.note.alias_set.all|length }}) + +
+ +
{% trans 'section'|capfirst %}
+
{{ user_object.profile.section }}
+ +
{% trans 'email'|capfirst %}
+
{{ user_object.email }}
+ +
{% trans 'phone number'|capfirst %}
+
{{ user_object.profile.phone_number }} +
+ +
{% trans 'address'|capfirst %}
+
{{ user_object.profile.address }}
+ + {% if "note.view_note"|has_perm:user_object.note %} +
{% trans 'balance'|capfirst %}
+
{{ user_object.note.balance | pretty_money }}
+ +
{% trans 'paid'|capfirst %}
+
{{ user_object.profile.paid|yesno }}
+ {% endif %} +
+ +{% if user_object.pk == user_object.pk %} + + {% trans 'Manage auth token' %} + +{% endif %} \ No newline at end of file diff --git a/apps/member/templates/member/manage_auth_tokens.html b/apps/member/templates/member/manage_auth_tokens.html index 0103fbbb..473286c1 100644 --- a/apps/member/templates/member/manage_auth_tokens.html +++ b/apps/member/templates/member/manage_auth_tokens.html @@ -1,8 +1,11 @@ -{% extends "base.html" %} -{% load i18n static pretty_money django_tables2 %} +{% extends "member/base.html" %} +{% comment %} +SPDX-License-Identifier: GPL-3.0-or-later +{% endcomment %} +{% load i18n %} {% block content %} -
+

À quoi sert un jeton d'authentification ?

Un jeton vous permet de vous connecter à l'API de la Note Kfet.
@@ -10,24 +13,24 @@ pour pouvoir vous identifier.

Une documentation de l'API arrivera ultérieurement. -
+
-
- {%trans 'Token' %} : - {% if 'show' in request.GET %} - {{ token.key }} (cacher) - {% else %} - caché (montrer) - {% endif %} -
- {%trans 'Created' %} : {{ token.created }} -
+
+ {%trans 'Token' %} : + {% if 'show' in request.GET %} + {{ token.key }} (cacher) + {% else %} + caché (montrer) + {% endif %} +
+ {%trans 'Created' %} : {{ token.created }} +
-
- Attention : regénérer le jeton va révoquer tout accès autorisé à l'API via ce jeton ! -
+
+ Attention : regénérer le jeton va révoquer tout accès autorisé à l'API via ce jeton ! +
- - - -{% endblock %} + + + +{% endblock %} \ No newline at end of file diff --git a/apps/member/templates/member/picture_update.html b/apps/member/templates/member/picture_update.html index f0c43e47..41568cfb 100644 --- a/apps/member/templates/member/picture_update.html +++ b/apps/member/templates/member/picture_update.html @@ -1,95 +1,104 @@ +{% extends "member/base.html" %} {% load i18n crispy_forms_tags %} + {% block profile_content %} -
-
- {% csrf_token %} - {{ form |crispy }} -
-
- -