add userRol
This commit is contained in:
parent
d9ec205c4e
commit
fcd1316872
|
@ -21,3 +21,5 @@ class RolForm(forms.ModelForm):
|
||||||
class ServiceForm(forms.ModelForm):
|
class ServiceForm(forms.ModelForm):
|
||||||
MANDATORY_FIELDS = ['domain', 'rol']
|
MANDATORY_FIELDS = ['domain', 'rol']
|
||||||
|
|
||||||
|
class UserRolForm(forms.ModelForm):
|
||||||
|
MANDATORY_FIELDS = ['service']
|
||||||
|
|
|
@ -7,13 +7,19 @@ from django.contrib.auth.models import User
|
||||||
from django.shortcuts import get_object_or_404, redirect
|
from django.shortcuts import get_object_or_404, redirect
|
||||||
from django.urls import reverse_lazy
|
from django.urls import reverse_lazy
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from idhub.models import Membership, Rol, Service
|
from idhub.models import Membership, Rol, Service, UserRol
|
||||||
from idhub.mixins import AdminView
|
from idhub.mixins import AdminView
|
||||||
from idhub.admin.forms import ProfileForm, MembershipForm, RolForm, ServiceForm
|
from idhub.admin.forms import (
|
||||||
|
ProfileForm,
|
||||||
|
MembershipForm,
|
||||||
|
RolForm,
|
||||||
|
ServiceForm,
|
||||||
|
UserRolForm
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class AdminDashboardView(AdminView, TemplateView):
|
class AdminDashboardView(AdminView, TemplateView):
|
||||||
template_name = "idhub/admin_dashboard.html"
|
template_name = "idhub/admin/dashboard.html"
|
||||||
title = _('Dashboard')
|
title = _('Dashboard')
|
||||||
subtitle = _('Success')
|
subtitle = _('Success')
|
||||||
icon = 'bi bi-bell'
|
icon = 'bi bi-bell'
|
||||||
|
@ -45,7 +51,7 @@ class ImportExport(AdminView, TemplateView):
|
||||||
|
|
||||||
|
|
||||||
class AdminPeopleListView(People, TemplateView):
|
class AdminPeopleListView(People, TemplateView):
|
||||||
template_name = "idhub/admin_people.html"
|
template_name = "idhub/admin/people.html"
|
||||||
subtitle = _('People list')
|
subtitle = _('People list')
|
||||||
icon = 'bi bi-person'
|
icon = 'bi bi-person'
|
||||||
|
|
||||||
|
@ -58,7 +64,7 @@ class AdminPeopleListView(People, TemplateView):
|
||||||
|
|
||||||
|
|
||||||
class AdminPeopleView(People, TemplateView):
|
class AdminPeopleView(People, TemplateView):
|
||||||
template_name = "idhub/admin_user.html"
|
template_name = "idhub/admin/user.html"
|
||||||
subtitle = _('User Profile')
|
subtitle = _('User Profile')
|
||||||
icon = 'bi bi-person'
|
icon = 'bi bi-person'
|
||||||
model = User
|
model = User
|
||||||
|
@ -109,14 +115,14 @@ class AdminPeopleDeleteView(AdminPeopleView):
|
||||||
return redirect('idhub:admin_people_list')
|
return redirect('idhub:admin_people_list')
|
||||||
|
|
||||||
class AdminPeopleEditView(AdminPeopleView, UpdateView):
|
class AdminPeopleEditView(AdminPeopleView, UpdateView):
|
||||||
template_name = "idhub/admin_user_edit.html"
|
template_name = "idhub/admin/user_edit.html"
|
||||||
from_class = ProfileForm
|
from_class = ProfileForm
|
||||||
fields = ('first_name', 'last_name', 'email', 'username')
|
fields = ('first_name', 'last_name', 'email', 'username')
|
||||||
success_url = reverse_lazy('idhub:admin_people_list')
|
success_url = reverse_lazy('idhub:admin_people_list')
|
||||||
|
|
||||||
|
|
||||||
class AdminPeopleRegisterView(People, CreateView):
|
class AdminPeopleRegisterView(People, CreateView):
|
||||||
template_name = "idhub/admin_people_register.html"
|
template_name = "idhub/admin/people_register.html"
|
||||||
subtitle = _('People Register')
|
subtitle = _('People Register')
|
||||||
icon = 'bi bi-person'
|
icon = 'bi bi-person'
|
||||||
model = User
|
model = User
|
||||||
|
@ -133,7 +139,7 @@ class AdminPeopleRegisterView(People, CreateView):
|
||||||
|
|
||||||
|
|
||||||
class AdminPeopleMembershipRegisterView(People, CreateView):
|
class AdminPeopleMembershipRegisterView(People, CreateView):
|
||||||
template_name = "idhub/admin_people_membership_register.html"
|
template_name = "idhub/admin/people_membership_register.html"
|
||||||
subtitle = _('People add membership')
|
subtitle = _('People add membership')
|
||||||
icon = 'bi bi-person'
|
icon = 'bi bi-person'
|
||||||
model = Membership
|
model = Membership
|
||||||
|
@ -164,14 +170,14 @@ class AdminPeopleMembershipRegisterView(People, CreateView):
|
||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
self.success_url = reverse_lazy(
|
self.success_url = reverse_lazy(
|
||||||
'idhub:admin_people_edit',
|
'idhub:admin_people_rol_new',
|
||||||
kwargs={"pk": self.user.id}
|
kwargs={"pk": self.user.id}
|
||||||
)
|
)
|
||||||
return self.success_url
|
return self.success_url
|
||||||
|
|
||||||
|
|
||||||
class AdminPeopleMembershipEditView(People, CreateView):
|
class AdminPeopleMembershipEditView(People, CreateView):
|
||||||
template_name = "idhub/admin_people_membership_register.html"
|
template_name = "idhub/admin/people_membership_register.html"
|
||||||
subtitle = _('People add membership')
|
subtitle = _('People add membership')
|
||||||
icon = 'bi bi-person'
|
icon = 'bi bi-person'
|
||||||
model = Membership
|
model = Membership
|
||||||
|
@ -209,8 +215,75 @@ class AdminPeopleMembershipDeleteView(AdminPeopleView):
|
||||||
return redirect('idhub:admin_people_edit', user.id)
|
return redirect('idhub:admin_people_edit', user.id)
|
||||||
|
|
||||||
|
|
||||||
|
class AdminPeopleRolRegisterView(People, CreateView):
|
||||||
|
template_name = "idhub/admin/people_rol_register.html"
|
||||||
|
subtitle = _('Add Rol to User')
|
||||||
|
icon = 'bi bi-person'
|
||||||
|
model = UserRol
|
||||||
|
from_class = UserRolForm
|
||||||
|
fields = ('service',)
|
||||||
|
|
||||||
|
def get(self, request, *args, **kwargs):
|
||||||
|
self.pk = kwargs['pk']
|
||||||
|
self.user = get_object_or_404(User, pk=self.pk)
|
||||||
|
return super().get(request, *args, **kwargs)
|
||||||
|
|
||||||
|
def post(self, request, *args, **kwargs):
|
||||||
|
self.pk = kwargs['pk']
|
||||||
|
self.user = get_object_or_404(User, pk=self.pk)
|
||||||
|
return super().post(request, *args, **kwargs)
|
||||||
|
|
||||||
|
def get_form_kwargs(self):
|
||||||
|
self.object = self.model(user=self.user)
|
||||||
|
kwargs = super().get_form_kwargs()
|
||||||
|
return kwargs
|
||||||
|
|
||||||
|
def get_success_url(self):
|
||||||
|
self.success_url = reverse_lazy(
|
||||||
|
'idhub:admin_people_edit',
|
||||||
|
kwargs={"pk": self.user.id}
|
||||||
|
)
|
||||||
|
return self.success_url
|
||||||
|
|
||||||
|
|
||||||
|
class AdminPeopleRolEditView(People, CreateView):
|
||||||
|
template_name = "idhub/admin/people_rol_register.html"
|
||||||
|
subtitle = _('Edit Rol to User')
|
||||||
|
icon = 'bi bi-person'
|
||||||
|
model = UserRol
|
||||||
|
from_class = UserRolForm
|
||||||
|
fields = ('service',)
|
||||||
|
|
||||||
|
def get_form_kwargs(self):
|
||||||
|
pk = self.kwargs.get('pk')
|
||||||
|
if pk:
|
||||||
|
self.object = get_object_or_404(self.model, pk=pk)
|
||||||
|
kwargs = super().get_form_kwargs()
|
||||||
|
return kwargs
|
||||||
|
|
||||||
|
def get_success_url(self):
|
||||||
|
self.success_url = reverse_lazy(
|
||||||
|
'idhub:admin_people_edit',
|
||||||
|
kwargs={"pk": self.object.user.id}
|
||||||
|
)
|
||||||
|
return self.success_url
|
||||||
|
|
||||||
|
|
||||||
|
class AdminPeopleRolDeleteView(AdminPeopleView):
|
||||||
|
model = UserRol
|
||||||
|
|
||||||
|
def get(self, request, *args, **kwargs):
|
||||||
|
self.pk = kwargs['pk']
|
||||||
|
self.object = get_object_or_404(self.model, pk=self.pk)
|
||||||
|
user = self.object.user
|
||||||
|
|
||||||
|
self.object.delete()
|
||||||
|
|
||||||
|
return redirect('idhub:admin_people_edit', user.id)
|
||||||
|
|
||||||
|
|
||||||
class AdminRolesView(AccessControl):
|
class AdminRolesView(AccessControl):
|
||||||
template_name = "idhub/admin_roles.html"
|
template_name = "idhub/admin/roles.html"
|
||||||
subtitle = _('Roles Management')
|
subtitle = _('Roles Management')
|
||||||
icon = ''
|
icon = ''
|
||||||
|
|
||||||
|
@ -222,7 +295,7 @@ class AdminRolesView(AccessControl):
|
||||||
return context
|
return context
|
||||||
|
|
||||||
class AdminRolRegisterView(AccessControl, CreateView):
|
class AdminRolRegisterView(AccessControl, CreateView):
|
||||||
template_name = "idhub/admin_rol_register.html"
|
template_name = "idhub/admin/rol_register.html"
|
||||||
subtitle = _('Add Rol')
|
subtitle = _('Add Rol')
|
||||||
icon = ''
|
icon = ''
|
||||||
model = Rol
|
model = Rol
|
||||||
|
@ -233,7 +306,7 @@ class AdminRolRegisterView(AccessControl, CreateView):
|
||||||
|
|
||||||
|
|
||||||
class AdminRolEditView(AccessControl, CreateView):
|
class AdminRolEditView(AccessControl, CreateView):
|
||||||
template_name = "idhub/admin_rol_register.html"
|
template_name = "idhub/admin/rol_register.html"
|
||||||
subtitle = _('Edit Rol')
|
subtitle = _('Edit Rol')
|
||||||
icon = ''
|
icon = ''
|
||||||
model = Rol
|
model = Rol
|
||||||
|
@ -261,7 +334,7 @@ class AdminRolDeleteView(AccessControl):
|
||||||
|
|
||||||
|
|
||||||
class AdminServicesView(AccessControl):
|
class AdminServicesView(AccessControl):
|
||||||
template_name = "idhub/admin_services.html"
|
template_name = "idhub/admin/services.html"
|
||||||
subtitle = _('Service Management')
|
subtitle = _('Service Management')
|
||||||
icon = ''
|
icon = ''
|
||||||
|
|
||||||
|
@ -273,7 +346,7 @@ class AdminServicesView(AccessControl):
|
||||||
return context
|
return context
|
||||||
|
|
||||||
class AdminServiceRegisterView(AccessControl, CreateView):
|
class AdminServiceRegisterView(AccessControl, CreateView):
|
||||||
template_name = "idhub/admin_service_register.html"
|
template_name = "idhub/admin/service_register.html"
|
||||||
subtitle = _('Add Service')
|
subtitle = _('Add Service')
|
||||||
icon = ''
|
icon = ''
|
||||||
model = Service
|
model = Service
|
||||||
|
@ -284,7 +357,7 @@ class AdminServiceRegisterView(AccessControl, CreateView):
|
||||||
|
|
||||||
|
|
||||||
class AdminServiceEditView(AccessControl, CreateView):
|
class AdminServiceEditView(AccessControl, CreateView):
|
||||||
template_name = "idhub/admin_service_register.html"
|
template_name = "idhub/admin/service_register.html"
|
||||||
subtitle = _('Edit Service')
|
subtitle = _('Edit Service')
|
||||||
icon = ''
|
icon = ''
|
||||||
model = Service
|
model = Service
|
||||||
|
@ -312,69 +385,69 @@ class AdminServiceDeleteView(AccessControl):
|
||||||
|
|
||||||
|
|
||||||
class AdminCredentialsView(Credentials):
|
class AdminCredentialsView(Credentials):
|
||||||
template_name = "idhub/admin_credentials.html"
|
template_name = "idhub/admin/credentials.html"
|
||||||
subtitle = _('Credentials list')
|
subtitle = _('Credentials list')
|
||||||
icon = ''
|
icon = ''
|
||||||
|
|
||||||
|
|
||||||
class AdminIssueCredentialsView(Credentials):
|
class AdminIssueCredentialsView(Credentials):
|
||||||
template_name = "idhub/admin_issue_credentials.html"
|
template_name = "idhub/admin/issue_credentials.html"
|
||||||
subtitle = _('Issuance of Credentials')
|
subtitle = _('Issuance of Credentials')
|
||||||
icon = ''
|
icon = ''
|
||||||
|
|
||||||
|
|
||||||
class AdminRevokeCredentialsView(Credentials):
|
class AdminRevokeCredentialsView(Credentials):
|
||||||
template_name = "idhub/admin_revoke_credentials.html"
|
template_name = "idhub/admin/revoke_credentials.html"
|
||||||
subtitle = _('Revoke Credentials')
|
subtitle = _('Revoke Credentials')
|
||||||
icon = ''
|
icon = ''
|
||||||
|
|
||||||
|
|
||||||
class AdminWalletIdentitiesView(Credentials):
|
class AdminWalletIdentitiesView(Credentials):
|
||||||
template_name = "idhub/admin_wallet_identities.html"
|
template_name = "idhub/admin/wallet_identities.html"
|
||||||
subtitle = _('Organization Identities (DID)')
|
subtitle = _('Organization Identities (DID)')
|
||||||
icon = 'bi bi-patch-check-fill'
|
icon = 'bi bi-patch-check-fill'
|
||||||
wallet = True
|
wallet = True
|
||||||
|
|
||||||
|
|
||||||
class AdminWalletCredentialsView(Credentials):
|
class AdminWalletCredentialsView(Credentials):
|
||||||
template_name = "idhub/admin_wallet_credentials.html"
|
template_name = "idhub/admin/wallet_credentials.html"
|
||||||
subtitle = _('Credentials')
|
subtitle = _('Credentials')
|
||||||
icon = 'bi bi-patch-check-fill'
|
icon = 'bi bi-patch-check-fill'
|
||||||
wallet = True
|
wallet = True
|
||||||
|
|
||||||
|
|
||||||
class AdminWalletConfigIssuesView(Credentials):
|
class AdminWalletConfigIssuesView(Credentials):
|
||||||
template_name = "idhub/admin_wallet_issues.html"
|
template_name = "idhub/admin/wallet_issues.html"
|
||||||
subtitle = _('Configure Issues')
|
subtitle = _('Configure Issues')
|
||||||
icon = 'bi bi-patch-check-fill'
|
icon = 'bi bi-patch-check-fill'
|
||||||
wallet = True
|
wallet = True
|
||||||
|
|
||||||
|
|
||||||
class AdminSchemesView(Schemes):
|
class AdminSchemesView(Schemes):
|
||||||
template_name = "idhub/admin_schemes.html"
|
template_name = "idhub/admin/schemes.html"
|
||||||
subtitle = _('Schemes List')
|
subtitle = _('Schemes List')
|
||||||
icon = ''
|
icon = ''
|
||||||
|
|
||||||
|
|
||||||
class AdminSchemesImportView(Schemes):
|
class AdminSchemesImportView(Schemes):
|
||||||
template_name = "idhub/admin_schemes_import.html"
|
template_name = "idhub/admin/schemes_import.html"
|
||||||
subtitle = _('Import Schemes')
|
subtitle = _('Import Schemes')
|
||||||
icon = ''
|
icon = ''
|
||||||
|
|
||||||
|
|
||||||
class AdminSchemesExportView(Schemes):
|
class AdminSchemesExportView(Schemes):
|
||||||
template_name = "idhub/admin_schemes_export.html"
|
template_name = "idhub/admin/schemes_export.html"
|
||||||
subtitle = _('Export Schemes')
|
subtitle = _('Export Schemes')
|
||||||
icon = ''
|
icon = ''
|
||||||
|
|
||||||
|
|
||||||
class AdminImportView(ImportExport):
|
class AdminImportView(ImportExport):
|
||||||
template_name = "idhub/admin_import.html"
|
template_name = "idhub/admin/import.html"
|
||||||
subtitle = _('Import')
|
subtitle = _('Import')
|
||||||
icon = ''
|
icon = ''
|
||||||
|
|
||||||
|
|
||||||
class AdminExportView(ImportExport):
|
class AdminExportView(ImportExport):
|
||||||
template_name = "idhub/admin_export.html"
|
template_name = "idhub/admin/export.html"
|
||||||
subtitle = _('Export')
|
subtitle = _('Export')
|
||||||
icon = ''
|
icon = ''
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
# Generated by Django 4.2.5 on 2023-10-17 14:24
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
dependencies = [
|
||||||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||||
|
("idhub", "0003_service"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name="UserRol",
|
||||||
|
fields=[
|
||||||
|
(
|
||||||
|
"id",
|
||||||
|
models.BigAutoField(
|
||||||
|
auto_created=True,
|
||||||
|
primary_key=True,
|
||||||
|
serialize=False,
|
||||||
|
verbose_name="ID",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"service",
|
||||||
|
models.ForeignKey(
|
||||||
|
on_delete=django.db.models.deletion.CASCADE,
|
||||||
|
related_name="users",
|
||||||
|
to="idhub.service",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"user",
|
||||||
|
models.ForeignKey(
|
||||||
|
on_delete=django.db.models.deletion.CASCADE,
|
||||||
|
related_name="roles",
|
||||||
|
to=settings.AUTH_USER_MODEL,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
]
|
|
@ -97,3 +97,19 @@ class Service(models.Model):
|
||||||
on_delete=models.CASCADE,
|
on_delete=models.CASCADE,
|
||||||
related_name='services',
|
related_name='services',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return "{} -> {}".format(self.domain, self.rol.name)
|
||||||
|
|
||||||
|
|
||||||
|
class UserRol(models.Model):
|
||||||
|
user = models.ForeignKey(
|
||||||
|
User,
|
||||||
|
on_delete=models.CASCADE,
|
||||||
|
related_name='roles',
|
||||||
|
)
|
||||||
|
service = models.ForeignKey(
|
||||||
|
Service,
|
||||||
|
on_delete=models.CASCADE,
|
||||||
|
related_name='users',
|
||||||
|
)
|
||||||
|
|
|
@ -13,8 +13,8 @@
|
||||||
<th scope="col"><button type="button" class="btn btn-green-admin border border-dark">{% trans 'Last name' %}</button></th>
|
<th scope="col"><button type="button" class="btn btn-green-admin border border-dark">{% trans 'Last name' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'First name' %}</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'First name' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">Username</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">Username</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Role' %}</button></th>
|
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Membership' %}</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Membership' %}</button></th>
|
||||||
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Role' %}</button></th>
|
||||||
<th scope="col"></th>
|
<th scope="col"></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
@ -24,8 +24,16 @@
|
||||||
<td>{{ user.last_name }}</td>
|
<td>{{ user.last_name }}</td>
|
||||||
<td>{{ user.first_name }}</td>
|
<td>{{ user.first_name }}</td>
|
||||||
<td>{{ user.username }}</td>
|
<td>{{ user.username }}</td>
|
||||||
<td>{{ user.get_membership }}</td>
|
<td>
|
||||||
<td>{{ user.get_role }}</td>
|
{% for m in user.memberships.all %}
|
||||||
|
{{ m.get_type }}
|
||||||
|
{% endfor %}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{% for r in user.roles.all %}
|
||||||
|
{{ r.service.rol.name }}
|
||||||
|
{% endfor %}
|
||||||
|
</td>
|
||||||
<td><a type="button" class="btn btn-green-admin rounded-pill" href="{% url 'idhub:admin_people' user.id %}">{% trans 'View' %}</td>
|
<td><a type="button" class="btn btn-green-admin rounded-pill" href="{% url 'idhub:admin_people' user.id %}">{% trans 'View' %}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
|
@ -26,7 +26,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-actions-no-box">
|
<div class="form-actions-no-box">
|
||||||
<a class="btn btn-grey" href="{% url 'idhub:admin_people_list' %}">{% translate "Cancel" %}</a>
|
<a class="btn btn-grey" href="{% url 'idhub:admin_people_edit' form.instance.user.id %}">{% translate "Cancel" %}</a>
|
||||||
<input class="btn btn-green-admin" type="submit" name="submit" value="{% translate 'Save' %}" />
|
<input class="btn btn-green-admin" type="submit" name="submit" value="{% translate 'Save' %}" />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
{% extends "idhub/base_admin.html" %}
|
||||||
|
{% load i18n %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h3>
|
||||||
|
<i class="{{ icon }}"></i>
|
||||||
|
{{ subtitle }}
|
||||||
|
</h3>
|
||||||
|
{% load django_bootstrap5 %}
|
||||||
|
<form role="form" method="post">
|
||||||
|
{% csrf_token %}
|
||||||
|
{% if form.errors %}
|
||||||
|
<div class="alert alert-danger alert-icon alert-icon-border alert-dismissible" role="alert">
|
||||||
|
<div class="icon"><span class="mdi mdi-close-circle-o"></span></div>
|
||||||
|
<div class="message">
|
||||||
|
{% for field, error in form.errors.items %}
|
||||||
|
{{ error }}<br />
|
||||||
|
{% endfor %}
|
||||||
|
<button class="btn-close" type="button" data-dismiss="alert" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-4">
|
||||||
|
{% bootstrap_form form %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-actions-no-box">
|
||||||
|
<a class="btn btn-grey" href="{% url 'idhub:admin_people_edit' form.instance.user.id %}">{% translate "Cancel" %}</a>
|
||||||
|
<input class="btn btn-green-admin" type="submit" name="submit" value="{% translate 'Save' %}" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
{% endblock %}
|
|
@ -47,6 +47,9 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
|
@ -72,6 +75,32 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="row mt-5">
|
||||||
|
<div class="col">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped table-sm">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Rol' %}</button></th>
|
||||||
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Description' %}</button></th>
|
||||||
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Service' %}</button></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for rol in object.roles.all %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ rol.service.rol.name }}</td>
|
||||||
|
<td>{{ rol.service.description }}</td>
|
||||||
|
<td>{{ rol.service.domain }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Modal -->
|
<!-- Modal -->
|
||||||
<div class="modal" id="confirm-delete" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
<div class="modal" id="confirm-delete" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
|
@ -30,6 +30,8 @@
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
|
||||||
<div class="row mt-5">
|
<div class="row mt-5">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
|
@ -61,4 +63,36 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="row mt-5 mb-3">
|
||||||
|
<div class="col">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped table-sm">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Rol' %}</button></th>
|
||||||
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Description' %}</button></th>
|
||||||
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Service' %}</button></th>
|
||||||
|
<th scope="col"></th>
|
||||||
|
<th scope="col"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for rol in object.roles.all %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ rol.service.rol.name }}</td>
|
||||||
|
<td>{{ rol.service.description }}</td>
|
||||||
|
<td>{{ rol.service.domain }}</td>
|
||||||
|
<td><a href="{% url 'idhub:admin_people_rol_edit' rol.id %}" title="{% trans 'Edit' %}"><i class="bi bi-pencil-square"></i></a></td>
|
||||||
|
<td><a href="{% url 'idhub:admin_people_rol_del' rol.id %}" title="{% trans 'Delete' %}"><i class="bi bi-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<div class="form-actions-no-box">
|
||||||
|
<a class="btn btn-green-admin" href="{% url 'idhub:admin_people_rol_new' object.id %}">{% translate "Add Rol" %} <i class="bi bi-plus"></i></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
|
@ -70,6 +70,12 @@ urlpatterns = [
|
||||||
name='admin_people_membership_edit'),
|
name='admin_people_membership_edit'),
|
||||||
path('admin/membership/<int:pk>/del/', views_admin.AdminPeopleMembershipDeleteView.as_view(),
|
path('admin/membership/<int:pk>/del/', views_admin.AdminPeopleMembershipDeleteView.as_view(),
|
||||||
name='admin_people_membership_del'),
|
name='admin_people_membership_del'),
|
||||||
|
path('admin/people/<int:pk>/rol/new/', views_admin.AdminPeopleRolRegisterView.as_view(),
|
||||||
|
name='admin_people_rol_new'),
|
||||||
|
path('admin/people/<int:pk>/rol/edit/', views_admin.AdminPeopleRolEditView.as_view(),
|
||||||
|
name='admin_people_rol_edit'),
|
||||||
|
path('admin/people/<int:pk>/rol/del/', views_admin.AdminPeopleRolDeleteView.as_view(),
|
||||||
|
name='admin_people_rol_del'),
|
||||||
path('admin/roles/', views_admin.AdminRolesView.as_view(),
|
path('admin/roles/', views_admin.AdminRolesView.as_view(),
|
||||||
name='admin_roles'),
|
name='admin_roles'),
|
||||||
path('admin/roles/new', views_admin.AdminRolRegisterView.as_view(),
|
path('admin/roles/new', views_admin.AdminRolRegisterView.as_view(),
|
||||||
|
|
|
@ -20,7 +20,7 @@ class MyWallet(UserView, TemplateView):
|
||||||
|
|
||||||
|
|
||||||
class UserDashboardView(UserView, TemplateView):
|
class UserDashboardView(UserView, TemplateView):
|
||||||
template_name = "idhub/user_dashboard.html"
|
template_name = "idhub/user/dashboard.html"
|
||||||
title = _('Dashboard')
|
title = _('Dashboard')
|
||||||
subtitle = _('Success')
|
subtitle = _('Success')
|
||||||
icon = 'bi bi-bell'
|
icon = 'bi bi-bell'
|
||||||
|
@ -28,7 +28,7 @@ class UserDashboardView(UserView, TemplateView):
|
||||||
|
|
||||||
|
|
||||||
class UserProfileView(MyProfile, UpdateView):
|
class UserProfileView(MyProfile, UpdateView):
|
||||||
template_name = "idhub/user_profile.html"
|
template_name = "idhub/user/profile.html"
|
||||||
subtitle = _('My personal Data')
|
subtitle = _('My personal Data')
|
||||||
icon = 'bi bi-person'
|
icon = 'bi bi-person'
|
||||||
from_class = ProfileForm
|
from_class = ProfileForm
|
||||||
|
@ -40,36 +40,36 @@ class UserProfileView(MyProfile, UpdateView):
|
||||||
|
|
||||||
|
|
||||||
class UserRolesView(MyProfile, TemplateView):
|
class UserRolesView(MyProfile, TemplateView):
|
||||||
template_name = "idhub/user_roles.html"
|
template_name = "idhub/user/roles.html"
|
||||||
subtitle = _('My roles')
|
subtitle = _('My roles')
|
||||||
icon = 'fa-brands fa-critical-role'
|
icon = 'fa-brands fa-critical-role'
|
||||||
|
|
||||||
|
|
||||||
class UserGDPRView(MyProfile, TemplateView):
|
class UserGDPRView(MyProfile, TemplateView):
|
||||||
template_name = "idhub/user_gdpr.html"
|
template_name = "idhub/user/gdpr.html"
|
||||||
subtitle = _('GDPR info')
|
subtitle = _('GDPR info')
|
||||||
icon = 'bi bi-file-earmark-medical'
|
icon = 'bi bi-file-earmark-medical'
|
||||||
|
|
||||||
|
|
||||||
class UserIdentitiesView(MyWallet):
|
class UserIdentitiesView(MyWallet):
|
||||||
template_name = "idhub/user_identities.html"
|
template_name = "idhub/user/identities.html"
|
||||||
subtitle = _('Identities (DID)')
|
subtitle = _('Identities (DID)')
|
||||||
icon = 'bi bi-patch-check-fill'
|
icon = 'bi bi-patch-check-fill'
|
||||||
|
|
||||||
|
|
||||||
class UserCredentialsView(MyWallet):
|
class UserCredentialsView(MyWallet):
|
||||||
template_name = "idhub/user_credentials.html"
|
template_name = "idhub/user/credentials.html"
|
||||||
subtitle = _('Credentials')
|
subtitle = _('Credentials')
|
||||||
icon = 'bi bi-patch-check-fill'
|
icon = 'bi bi-patch-check-fill'
|
||||||
|
|
||||||
|
|
||||||
class UserCredentialsRequiredView(MyWallet):
|
class UserCredentialsRequiredView(MyWallet):
|
||||||
template_name = "idhub/user_credentials_required.html"
|
template_name = "idhub/user/credentials_required.html"
|
||||||
subtitle = _('Credentials required')
|
subtitle = _('Credentials required')
|
||||||
icon = 'bi bi-patch-check-fill'
|
icon = 'bi bi-patch-check-fill'
|
||||||
|
|
||||||
|
|
||||||
class UserCredentialsPresentationView(MyWallet):
|
class UserCredentialsPresentationView(MyWallet):
|
||||||
template_name = "idhub/user_credentials_presentation.html"
|
template_name = "idhub/user/credentials_presentation.html"
|
||||||
subtitle = _('Credentials Presentation')
|
subtitle = _('Credentials Presentation')
|
||||||
icon = 'bi bi-patch-check-fill'
|
icon = 'bi bi-patch-check-fill'
|
||||||
|
|
Loading…
Reference in New Issue