diff --git a/apps/member/templates/member/profile_trust.html b/apps/member/templates/member/profile_trust.html index bd8d6b5022757a3eb100f42d0f2b8016bb8d5690..5a65462ebabcfd9453d0f656aee66922d2b65e65 100644 --- a/apps/member/templates/member/profile_trust.html +++ b/apps/member/templates/member/profile_trust.html @@ -7,7 +7,7 @@ SPDX-License-Identifier: GPL-3.0-or-later {% block profile_content %} <div class="card bg-light mb-3"> <h3 class="card-header text-center"> - {% trans "Note friendships" %} + {% trans "Add friends" %} </h3> <div class="card-body"> {% if can_create %} @@ -24,7 +24,7 @@ SPDX-License-Identifier: GPL-3.0-or-later {% render_table trusting %} </div> -<div class="alert alert-warning card"> +<div class="alert alert-warning card mb-3"> {% blocktrans trimmed %} Adding someone as a friend enables them to initiate transactions coming from your account (while keeping your balance positive). This is @@ -33,6 +33,13 @@ SPDX-License-Identifier: GPL-3.0-or-later friends without needing additional rights among them. {% endblocktrans %} </div> + +<div class="card bg-light mb-3"> + <h3 class="card-header text-center"> + {% trans "People trusting you" %} + </h3> + {% render_table trusted_by %} +</div> {% endblock %} {% block extrajavascript %} diff --git a/apps/member/views.py b/apps/member/views.py index 63307383d1d2340628ee9af30936fa0bed723dda..a41b0bfff64df80c6d28f8980e0dc690fc7d1c77 100644 --- a/apps/member/views.py +++ b/apps/member/views.py @@ -21,7 +21,7 @@ from django_tables2.views import SingleTableView from rest_framework.authtoken.models import Token from note.models import Alias, NoteClub, NoteUser, Trust from note.models.transactions import Transaction, SpecialTransaction -from note.tables import HistoryTable, AliasTable, TrustTable +from note.tables import HistoryTable, AliasTable, TrustTable, TrustedTable from note_kfet.middlewares import _set_current_request from permission.backends import PermissionBackend from permission.models import Role @@ -258,6 +258,8 @@ class ProfileTrustView(ProtectQuerysetMixin, LoginRequiredMixin, DetailView): note = context['object'].note context["trusting"] = TrustTable( note.trusting.filter(PermissionBackend.filter_queryset(self.request, Trust, "view")).distinct().all()) + context["trusted_by"] = TrustedTable( + note.trusted.filter(PermissionBackend.filter_queryset(self.request, Trust, "view")).distinct().all()) context["can_create"] = PermissionBackend.check_perm(self.request, "note.add_trust", Trust( trusting=context["object"].note, trusted=context["object"].note diff --git a/apps/note/tables.py b/apps/note/tables.py index 1e94a39f57f86e93edc0e2e825fca35ca29d2e18..6c684d698b11dd0508d430c340a167f1ea3cff09 100644 --- a/apps/note/tables.py +++ b/apps/note/tables.py @@ -159,7 +159,7 @@ class TrustTable(tables.Table): template_name = 'django_tables2/bootstrap4.html' show_header = False - trusted = tables.Column(attrs={'td': {'class': 'text_center'}}) + trusted = tables.Column(attrs={'td': {'class': 'text-center'}}) delete_col = tables.TemplateColumn( template_code=DELETE_TEMPLATE, @@ -172,6 +172,19 @@ class TrustTable(tables.Table): else '')}}, verbose_name=_("Delete"),) +class TrustedTable(tables.Table): + class Meta: + attrs = { + 'class': 'table table condensed table-striped', + 'id': 'trusted_table' + } + Model = Trust + fields = ("trusting",) + template_name = "django_tables2/bootstrap4.html" + + show_header = False + trusting = tables.Column(attrs={'td': {'class': 'text-center'}}) + class AliasTable(tables.Table): class Meta: diff --git a/apps/permission/fixtures/initial.json b/apps/permission/fixtures/initial.json index 5776abab32cc235b42476bda25e1933915ea2094..0553f39fe071dfe67ffefa149b3b0e66904c1d24 100644 --- a/apps/permission/fixtures/initial.json +++ b/apps/permission/fixtures/initial.json @@ -3093,6 +3093,22 @@ "field": "", "permanent": false, "description": "Créer un crédit quelconque" + } + }, + { + "model": "permission.permission", + "pk": 198, + "fields": { + "model": [ + "note", + "trust" + ], + "query": "{\"trusted__noteuser__user\": [\"user\"]}", + "type": "view", + "mask": 1, + "field": "", + "permanent": true, + "description": "Voir ceux nous ayant pour ami, pour toujours" } }, { @@ -3132,10 +3148,11 @@ 187, 188, 189, - 190, - 191, - 195, - 196 + 190, + 191, + 195, + 196, + 198 ] } },