mirror of https://gitlab.crans.org/bde/nk20
First pass on a display of users trusting you, added a corresponding right
This commit is contained in:
parent
18a5b65a1c
commit
4fb0b7d736
|
@ -7,7 +7,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
{% block profile_content %}
|
{% block profile_content %}
|
||||||
<div class="card bg-light mb-3">
|
<div class="card bg-light mb-3">
|
||||||
<h3 class="card-header text-center">
|
<h3 class="card-header text-center">
|
||||||
{% trans "Note friendships" %}
|
{% trans "Add friends" %}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
{% if can_create %}
|
{% if can_create %}
|
||||||
|
@ -24,7 +24,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
{% render_table trusting %}
|
{% render_table trusting %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="alert alert-warning card">
|
<div class="alert alert-warning card mb-3">
|
||||||
{% blocktrans trimmed %}
|
{% blocktrans trimmed %}
|
||||||
Adding someone as a friend enables them to initiate transactions coming
|
Adding someone as a friend enables them to initiate transactions coming
|
||||||
from your account (while keeping your balance positive). This is
|
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.
|
friends without needing additional rights among them.
|
||||||
{% endblocktrans %}
|
{% endblocktrans %}
|
||||||
</div>
|
</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 %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block extrajavascript %}
|
{% block extrajavascript %}
|
||||||
|
|
|
@ -21,7 +21,7 @@ from django_tables2.views import SingleTableView
|
||||||
from rest_framework.authtoken.models import Token
|
from rest_framework.authtoken.models import Token
|
||||||
from note.models import Alias, NoteClub, NoteUser, Trust
|
from note.models import Alias, NoteClub, NoteUser, Trust
|
||||||
from note.models.transactions import Transaction, SpecialTransaction
|
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 note_kfet.middlewares import _set_current_request
|
||||||
from permission.backends import PermissionBackend
|
from permission.backends import PermissionBackend
|
||||||
from permission.models import Role
|
from permission.models import Role
|
||||||
|
@ -258,6 +258,8 @@ class ProfileTrustView(ProtectQuerysetMixin, LoginRequiredMixin, DetailView):
|
||||||
note = context['object'].note
|
note = context['object'].note
|
||||||
context["trusting"] = TrustTable(
|
context["trusting"] = TrustTable(
|
||||||
note.trusting.filter(PermissionBackend.filter_queryset(self.request, Trust, "view")).distinct().all())
|
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(
|
context["can_create"] = PermissionBackend.check_perm(self.request, "note.add_trust", Trust(
|
||||||
trusting=context["object"].note,
|
trusting=context["object"].note,
|
||||||
trusted=context["object"].note
|
trusted=context["object"].note
|
||||||
|
|
|
@ -159,7 +159,7 @@ class TrustTable(tables.Table):
|
||||||
template_name = 'django_tables2/bootstrap4.html'
|
template_name = 'django_tables2/bootstrap4.html'
|
||||||
|
|
||||||
show_header = False
|
show_header = False
|
||||||
trusted = tables.Column(attrs={'td': {'class': 'text_center'}})
|
trusted = tables.Column(attrs={'td': {'class': 'text-center'}})
|
||||||
|
|
||||||
delete_col = tables.TemplateColumn(
|
delete_col = tables.TemplateColumn(
|
||||||
template_code=DELETE_TEMPLATE,
|
template_code=DELETE_TEMPLATE,
|
||||||
|
@ -172,6 +172,19 @@ class TrustTable(tables.Table):
|
||||||
else '')}},
|
else '')}},
|
||||||
verbose_name=_("Delete"),)
|
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 AliasTable(tables.Table):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
|
@ -3093,6 +3093,22 @@
|
||||||
"field": "",
|
"field": "",
|
||||||
"permanent": false,
|
"permanent": false,
|
||||||
"description": "Créer un crédit quelconque"
|
"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,
|
187,
|
||||||
188,
|
188,
|
||||||
189,
|
189,
|
||||||
190,
|
190,
|
||||||
191,
|
191,
|
||||||
195,
|
195,
|
||||||
196
|
196,
|
||||||
|
198
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue