Merge pull request 'events' (#76) from events into main
Reviewed-on: https://gitea.pangea.org/trustchain-oc1-orchestral/IdHub/pulls/76
This commit is contained in:
commit
6636225b7f
|
@ -1,15 +1,18 @@
|
||||||
import csv
|
import csv
|
||||||
import json
|
import json
|
||||||
import copy
|
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
from jsonschema import validate
|
from jsonschema import validate
|
||||||
|
|
||||||
from django import forms
|
from django import forms
|
||||||
|
from django.utils.translation import gettext_lazy as _
|
||||||
from django.core.exceptions import ValidationError
|
from django.core.exceptions import ValidationError
|
||||||
from idhub.models import (
|
from idhub.models import (
|
||||||
DID,
|
DID,
|
||||||
File_datas,
|
File_datas,
|
||||||
|
Membership,
|
||||||
Schemas,
|
Schemas,
|
||||||
|
Service,
|
||||||
|
UserRol,
|
||||||
VerificableCredential,
|
VerificableCredential,
|
||||||
)
|
)
|
||||||
from idhub_auth.models import User
|
from idhub_auth.models import User
|
||||||
|
@ -104,14 +107,14 @@ class ImportForm(forms.Form):
|
||||||
|
|
||||||
user = User.objects.filter(email=row.get('email'))
|
user = User.objects.filter(email=row.get('email'))
|
||||||
if not user:
|
if not user:
|
||||||
txt = _('The user not exist!')
|
txt = _('The user does not exist!')
|
||||||
msg = "line {}: {}".format(line+1, txt)
|
msg = "line {}: {}".format(line+1, txt)
|
||||||
self.exception(msg)
|
self.exception(msg)
|
||||||
|
|
||||||
return user.first()
|
return user.first()
|
||||||
|
|
||||||
def create_credential(self, user, row):
|
def create_credential(self, user, row):
|
||||||
d = copy.copy(self.json_schema)
|
d = self.json_schema.copy()
|
||||||
d['instance'] = row
|
d['instance'] = row
|
||||||
return VerificableCredential(
|
return VerificableCredential(
|
||||||
verified=False,
|
verified=False,
|
||||||
|
@ -126,3 +129,65 @@ class ImportForm(forms.Form):
|
||||||
|
|
||||||
class SchemaForm(forms.Form):
|
class SchemaForm(forms.Form):
|
||||||
file_template = forms.FileField()
|
file_template = forms.FileField()
|
||||||
|
|
||||||
|
|
||||||
|
class MembershipForm(forms.ModelForm):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Membership
|
||||||
|
fields = ['type', 'start_date', 'end_date']
|
||||||
|
|
||||||
|
def clean_end_date(self):
|
||||||
|
data = super().clean()
|
||||||
|
start_date = data['start_date']
|
||||||
|
end_date = data.get('end_date')
|
||||||
|
members = Membership.objects.filter(
|
||||||
|
type=data['type'],
|
||||||
|
user=self.instance.user
|
||||||
|
)
|
||||||
|
if self.instance.id:
|
||||||
|
members = members.exclude(id=self.instance.id)
|
||||||
|
|
||||||
|
if (start_date and end_date):
|
||||||
|
if start_date > end_date:
|
||||||
|
msg = _("The end date is less than the start date")
|
||||||
|
raise forms.ValidationError(msg)
|
||||||
|
|
||||||
|
members = members.filter(
|
||||||
|
start_date__lte=end_date,
|
||||||
|
end_date__gte=start_date,
|
||||||
|
)
|
||||||
|
|
||||||
|
if members.exists():
|
||||||
|
msg = _("This membership already exists!")
|
||||||
|
raise forms.ValidationError(msg)
|
||||||
|
|
||||||
|
return end_date
|
||||||
|
|
||||||
|
|
||||||
|
class UserRolForm(forms.ModelForm):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = UserRol
|
||||||
|
fields = ['service']
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super().__init__(*args, **kwargs)
|
||||||
|
if not self.instance.id:
|
||||||
|
user = self.instance.user
|
||||||
|
choices = self.fields['service'].choices
|
||||||
|
choices.queryset = choices.queryset.exclude(users__user=user)
|
||||||
|
self.fields['service'].choices = choices
|
||||||
|
|
||||||
|
def clean_service(self):
|
||||||
|
data = super().clean()
|
||||||
|
service = UserRol.objects.filter(
|
||||||
|
service=data['service'],
|
||||||
|
user=self.instance.user
|
||||||
|
)
|
||||||
|
|
||||||
|
if service.exists():
|
||||||
|
msg = _("Is not possible to have a duplicate role")
|
||||||
|
raise forms.ValidationError(msg)
|
||||||
|
|
||||||
|
return data['service']
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import os
|
import os
|
||||||
import json
|
import json
|
||||||
import copy
|
|
||||||
import logging
|
import logging
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
@ -23,11 +22,18 @@ from django.contrib import messages
|
||||||
from utils.apiregiter import iota
|
from utils.apiregiter import iota
|
||||||
from utils import credtools
|
from utils import credtools
|
||||||
from idhub_auth.models import User
|
from idhub_auth.models import User
|
||||||
|
from idhub_auth.forms import ProfileForm
|
||||||
from idhub.mixins import AdminView
|
from idhub.mixins import AdminView
|
||||||
from idhub.email.views import NotifyActivateUserByEmail
|
from idhub.email.views import NotifyActivateUserByEmail
|
||||||
from idhub.admin.forms import ImportForm, SchemaForm
|
from idhub.admin.forms import (
|
||||||
|
ImportForm,
|
||||||
|
MembershipForm,
|
||||||
|
SchemaForm,
|
||||||
|
UserRolForm,
|
||||||
|
)
|
||||||
from idhub.models import (
|
from idhub.models import (
|
||||||
DID,
|
DID,
|
||||||
|
Event,
|
||||||
File_datas,
|
File_datas,
|
||||||
Membership,
|
Membership,
|
||||||
Rol,
|
Rol,
|
||||||
|
@ -45,34 +51,41 @@ class DashboardView(AdminView, TemplateView):
|
||||||
icon = 'bi bi-bell'
|
icon = 'bi bi-bell'
|
||||||
section = "Home"
|
section = "Home"
|
||||||
|
|
||||||
|
def get_context_data(self, **kwargs):
|
||||||
|
context = super().get_context_data(**kwargs)
|
||||||
|
context.update({
|
||||||
|
'events': Event.objects.filter(user=None),
|
||||||
|
})
|
||||||
|
return context
|
||||||
|
|
||||||
class People(AdminView):
|
class People(AdminView):
|
||||||
title = _("People Management")
|
title = _("User Management")
|
||||||
section = "People"
|
section = "People"
|
||||||
|
|
||||||
|
|
||||||
class AccessControl(AdminView, TemplateView):
|
class AccessControl(AdminView, TemplateView):
|
||||||
title = _("Access Control Management")
|
title = _("Access control management")
|
||||||
section = "AccessControl"
|
section = "AccessControl"
|
||||||
|
|
||||||
|
|
||||||
class Credentials(AdminView, TemplateView):
|
class Credentials(AdminView, TemplateView):
|
||||||
title = _("Credentials Management")
|
title = _("Credential Management")
|
||||||
section = "Credentials"
|
section = "Credential"
|
||||||
|
|
||||||
|
|
||||||
class SchemasMix(AdminView, TemplateView):
|
class SchemasMix(AdminView, TemplateView):
|
||||||
title = _("Templates Management")
|
title = _("Template Management")
|
||||||
section = "Templates"
|
section = "Template"
|
||||||
|
|
||||||
|
|
||||||
class ImportExport(AdminView):
|
class ImportExport(AdminView):
|
||||||
title = _("Massive Data Management")
|
title = _("Data file management")
|
||||||
section = "ImportExport"
|
section = "ImportExport"
|
||||||
|
|
||||||
|
|
||||||
class PeopleListView(People, TemplateView):
|
class PeopleListView(People, TemplateView):
|
||||||
template_name = "idhub/admin/people.html"
|
template_name = "idhub/admin/people.html"
|
||||||
subtitle = _('People list')
|
subtitle = _('View users')
|
||||||
icon = 'bi bi-person'
|
icon = 'bi bi-person'
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
|
@ -85,7 +98,7 @@ class PeopleListView(People, TemplateView):
|
||||||
|
|
||||||
class PeopleView(People, TemplateView):
|
class PeopleView(People, TemplateView):
|
||||||
template_name = "idhub/admin/user.html"
|
template_name = "idhub/admin/user.html"
|
||||||
subtitle = _('User Profile')
|
subtitle = _('User personal information')
|
||||||
icon = 'bi bi-person'
|
icon = 'bi bi-person'
|
||||||
model = User
|
model = User
|
||||||
|
|
||||||
|
@ -114,8 +127,10 @@ class PeopleActivateView(PeopleView):
|
||||||
|
|
||||||
if self.object.is_active:
|
if self.object.is_active:
|
||||||
self.object.is_active = False
|
self.object.is_active = False
|
||||||
|
Event.set_EV_USR_DEACTIVATED_BY_ADMIN(self.object)
|
||||||
else:
|
else:
|
||||||
self.object.is_active = True
|
self.object.is_active = True
|
||||||
|
Event.set_EV_USR_ACTIVATED_BY_ADMIN(self.object)
|
||||||
self.object.save()
|
self.object.save()
|
||||||
|
|
||||||
return redirect('idhub:admin_people', self.object.id)
|
return redirect('idhub:admin_people', self.object.id)
|
||||||
|
@ -128,24 +143,57 @@ class PeopleDeleteView(PeopleView):
|
||||||
self.object = get_object_or_404(self.model, pk=self.pk)
|
self.object = get_object_or_404(self.model, pk=self.pk)
|
||||||
|
|
||||||
if self.object != self.request.user:
|
if self.object != self.request.user:
|
||||||
|
Event.set_EV_USR_DELETED_BY_ADMIN(self.object)
|
||||||
self.object.delete()
|
self.object.delete()
|
||||||
else:
|
else:
|
||||||
messages.error(self.request, _('Is not possible delete your account!'))
|
messages.error(self.request, _('Is not possible delete your account!'))
|
||||||
|
|
||||||
return redirect('idhub:admin_people_list')
|
return redirect('idhub:admin_people_list')
|
||||||
|
|
||||||
class PeopleEditView(PeopleView, UpdateView):
|
|
||||||
|
class PeopleEditView(People, FormView):
|
||||||
template_name = "idhub/admin/user_edit.html"
|
template_name = "idhub/admin/user_edit.html"
|
||||||
fields = ('first_name', 'last_name', 'email')
|
subtitle = _('Update user')
|
||||||
|
icon = 'bi bi-person'
|
||||||
|
form_class = ProfileForm
|
||||||
success_url = reverse_lazy('idhub:admin_people_list')
|
success_url = reverse_lazy('idhub:admin_people_list')
|
||||||
|
|
||||||
|
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):
|
||||||
|
kwargs = super().get_form_kwargs()
|
||||||
|
kwargs['instance'] = self.user
|
||||||
|
return kwargs
|
||||||
|
|
||||||
|
def get_context_data(self, **kwargs):
|
||||||
|
context = super().get_context_data(**kwargs)
|
||||||
|
context.update({
|
||||||
|
'object': self.user,
|
||||||
|
})
|
||||||
|
return context
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
user = form.save()
|
||||||
|
messages.success(self.request, _('The account is updated successfully'))
|
||||||
|
Event.set_EV_USR_UPDATED_BY_ADMIN(user)
|
||||||
|
Event.set_EV_USR_UPDATED(user)
|
||||||
|
|
||||||
|
return super().form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
class PeopleRegisterView(NotifyActivateUserByEmail, People, CreateView):
|
class PeopleRegisterView(NotifyActivateUserByEmail, People, CreateView):
|
||||||
template_name = "idhub/admin/people_register.html"
|
template_name = "idhub/admin/people_register.html"
|
||||||
subtitle = _('People Register')
|
subtitle = _('Add user')
|
||||||
icon = 'bi bi-person'
|
icon = 'bi bi-person'
|
||||||
model = User
|
form_class = ProfileForm
|
||||||
fields = ('first_name', 'last_name', 'email')
|
|
||||||
success_url = reverse_lazy('idhub:admin_people_list')
|
success_url = reverse_lazy('idhub:admin_people_list')
|
||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
|
@ -157,7 +205,10 @@ class PeopleRegisterView(NotifyActivateUserByEmail, People, CreateView):
|
||||||
|
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
user = form.save()
|
user = form.save()
|
||||||
messages.success(self.request, _('The account is created successfully'))
|
messages.success(self.request, _('The account was created successfully'))
|
||||||
|
Event.set_EV_USR_REGISTERED(user)
|
||||||
|
Event.set_EV_USR_WELCOME(user)
|
||||||
|
|
||||||
if user.is_active:
|
if user.is_active:
|
||||||
try:
|
try:
|
||||||
self.send_email(user)
|
self.send_email(user)
|
||||||
|
@ -166,12 +217,12 @@ class PeopleRegisterView(NotifyActivateUserByEmail, People, CreateView):
|
||||||
return super().form_valid(form)
|
return super().form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
class PeopleMembershipRegisterView(People, CreateView):
|
class PeopleMembershipRegisterView(People, FormView):
|
||||||
template_name = "idhub/admin/people_membership_register.html"
|
template_name = "idhub/admin/people_membership_register.html"
|
||||||
subtitle = _('People add membership')
|
subtitle = _('Associate a membership to the user')
|
||||||
icon = 'bi bi-person'
|
icon = 'bi bi-person'
|
||||||
|
form_class = MembershipForm
|
||||||
model = Membership
|
model = Membership
|
||||||
fields = ('type', 'start_date', 'end_date')
|
|
||||||
success_url = reverse_lazy('idhub:admin_people_list')
|
success_url = reverse_lazy('idhub:admin_people_list')
|
||||||
|
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
|
@ -188,13 +239,20 @@ class PeopleMembershipRegisterView(People, CreateView):
|
||||||
form = super().get_form()
|
form = super().get_form()
|
||||||
form.fields['start_date'].widget.input_type = 'date'
|
form.fields['start_date'].widget.input_type = 'date'
|
||||||
form.fields['end_date'].widget.input_type = 'date'
|
form.fields['end_date'].widget.input_type = 'date'
|
||||||
|
form.fields['start_date'].required = True
|
||||||
return form
|
return form
|
||||||
|
|
||||||
def get_form_kwargs(self):
|
def get_form_kwargs(self):
|
||||||
self.object = self.model(user=self.user)
|
self.object = self.model(user=self.user)
|
||||||
kwargs = super().get_form_kwargs()
|
kwargs = super().get_form_kwargs()
|
||||||
|
kwargs['instance'] = self.object
|
||||||
return kwargs
|
return kwargs
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
form.save()
|
||||||
|
messages.success(self.request, _('Membership created successfully'))
|
||||||
|
return super().form_valid(form)
|
||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
self.success_url = reverse_lazy(
|
self.success_url = reverse_lazy(
|
||||||
'idhub:admin_people_rol_new',
|
'idhub:admin_people_rol_new',
|
||||||
|
@ -203,27 +261,43 @@ class PeopleMembershipRegisterView(People, CreateView):
|
||||||
return self.success_url
|
return self.success_url
|
||||||
|
|
||||||
|
|
||||||
class PeopleMembershipEditView(People, CreateView):
|
class PeopleMembershipEditView(People, FormView):
|
||||||
template_name = "idhub/admin/people_membership_register.html"
|
template_name = "idhub/admin/people_membership_register.html"
|
||||||
subtitle = _('People add membership')
|
subtitle = _('Associate a membership to the user')
|
||||||
icon = 'bi bi-person'
|
icon = 'bi bi-person'
|
||||||
|
form_class = MembershipForm
|
||||||
model = Membership
|
model = Membership
|
||||||
fields = ('type', 'start_date', 'end_date')
|
|
||||||
success_url = reverse_lazy('idhub:admin_people_list')
|
success_url = reverse_lazy('idhub:admin_people_list')
|
||||||
|
|
||||||
|
def get(self, request, *args, **kwargs):
|
||||||
|
self.pk = kwargs['pk']
|
||||||
|
self.object = get_object_or_404(self.model, pk=self.pk)
|
||||||
|
self.user = self.object.user
|
||||||
|
return super().get(request, *args, **kwargs)
|
||||||
|
|
||||||
|
def post(self, request, *args, **kwargs):
|
||||||
|
self.pk = kwargs['pk']
|
||||||
|
self.object = get_object_or_404(self.model, pk=self.pk)
|
||||||
|
self.user = self.object.user
|
||||||
|
return super().post(request, *args, **kwargs)
|
||||||
|
|
||||||
def get_form(self):
|
def get_form(self):
|
||||||
form = super().get_form()
|
form = super().get_form()
|
||||||
form.fields['start_date'].widget.input_type = 'date'
|
form.fields['start_date'].widget.input_type = 'date'
|
||||||
form.fields['end_date'].widget.input_type = 'date'
|
form.fields['end_date'].widget.input_type = 'date'
|
||||||
|
form.fields['start_date'].required = True
|
||||||
return form
|
return form
|
||||||
|
|
||||||
def get_form_kwargs(self):
|
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()
|
kwargs = super().get_form_kwargs()
|
||||||
|
kwargs['instance'] = self.object
|
||||||
return kwargs
|
return kwargs
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
form.save()
|
||||||
|
messages.success(self.request, _('Membership updated successfully'))
|
||||||
|
return super().form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
class PeopleMembershipDeleteView(PeopleView):
|
class PeopleMembershipDeleteView(PeopleView):
|
||||||
model = Membership
|
model = Membership
|
||||||
|
@ -241,12 +315,12 @@ class PeopleMembershipDeleteView(PeopleView):
|
||||||
return redirect('idhub:admin_people_edit', user.id)
|
return redirect('idhub:admin_people_edit', user.id)
|
||||||
|
|
||||||
|
|
||||||
class PeopleRolRegisterView(People, CreateView):
|
class PeopleRolRegisterView(People, FormView):
|
||||||
template_name = "idhub/admin/people_rol_register.html"
|
template_name = "idhub/admin/people_rol_register.html"
|
||||||
subtitle = _('Add Rol to User')
|
subtitle = _('Add a user role to access a service')
|
||||||
icon = 'bi bi-person'
|
icon = 'bi bi-person'
|
||||||
|
form_class = UserRolForm
|
||||||
model = UserRol
|
model = UserRol
|
||||||
fields = ('service',)
|
|
||||||
|
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
self.pk = kwargs['pk']
|
self.pk = kwargs['pk']
|
||||||
|
@ -261,8 +335,14 @@ class PeopleRolRegisterView(People, CreateView):
|
||||||
def get_form_kwargs(self):
|
def get_form_kwargs(self):
|
||||||
self.object = self.model(user=self.user)
|
self.object = self.model(user=self.user)
|
||||||
kwargs = super().get_form_kwargs()
|
kwargs = super().get_form_kwargs()
|
||||||
|
kwargs['instance'] = self.object
|
||||||
return kwargs
|
return kwargs
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
form.save()
|
||||||
|
messages.success(self.request, _('Membership created successfully'))
|
||||||
|
return super().form_valid(form)
|
||||||
|
|
||||||
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_edit',
|
||||||
|
@ -271,20 +351,33 @@ class PeopleRolRegisterView(People, CreateView):
|
||||||
return self.success_url
|
return self.success_url
|
||||||
|
|
||||||
|
|
||||||
class PeopleRolEditView(People, CreateView):
|
class PeopleRolEditView(People, FormView):
|
||||||
template_name = "idhub/admin/people_rol_register.html"
|
template_name = "idhub/admin/people_rol_register.html"
|
||||||
subtitle = _('Edit Rol to User')
|
subtitle = _('Modify a user role to access a service')
|
||||||
icon = 'bi bi-person'
|
icon = 'bi bi-person'
|
||||||
|
form_class = UserRolForm
|
||||||
model = UserRol
|
model = UserRol
|
||||||
fields = ('service',)
|
|
||||||
|
def get(self, request, *args, **kwargs):
|
||||||
|
self.pk = kwargs['pk']
|
||||||
|
self.object = get_object_or_404(self.model, pk=self.pk)
|
||||||
|
return super().get(request, *args, **kwargs)
|
||||||
|
|
||||||
|
def post(self, request, *args, **kwargs):
|
||||||
|
self.pk = kwargs['pk']
|
||||||
|
self.object = get_object_or_404(self.model, pk=self.pk)
|
||||||
|
return super().post(request, *args, **kwargs)
|
||||||
|
|
||||||
def get_form_kwargs(self):
|
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()
|
kwargs = super().get_form_kwargs()
|
||||||
|
kwargs['instance'] = self.object
|
||||||
return kwargs
|
return kwargs
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
form.save()
|
||||||
|
messages.success(self.request, _('Membership updated successfully'))
|
||||||
|
return super().form_valid(form)
|
||||||
|
|
||||||
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_edit',
|
||||||
|
@ -308,7 +401,7 @@ class PeopleRolDeleteView(PeopleView):
|
||||||
|
|
||||||
class RolesView(AccessControl):
|
class RolesView(AccessControl):
|
||||||
template_name = "idhub/admin/roles.html"
|
template_name = "idhub/admin/roles.html"
|
||||||
subtitle = _('Roles Management')
|
subtitle = _('Manage roles')
|
||||||
icon = ''
|
icon = ''
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
|
@ -320,20 +413,26 @@ class RolesView(AccessControl):
|
||||||
|
|
||||||
class RolRegisterView(AccessControl, CreateView):
|
class RolRegisterView(AccessControl, CreateView):
|
||||||
template_name = "idhub/admin/rol_register.html"
|
template_name = "idhub/admin/rol_register.html"
|
||||||
subtitle = _('Add Rol')
|
subtitle = _('Add Role')
|
||||||
icon = ''
|
icon = ''
|
||||||
model = Rol
|
model = Rol
|
||||||
fields = ('name',)
|
fields = ('name', "description")
|
||||||
success_url = reverse_lazy('idhub:admin_roles')
|
success_url = reverse_lazy('idhub:admin_roles')
|
||||||
object = None
|
object = None
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
form.save()
|
||||||
|
messages.success(self.request, _('Role created successfully'))
|
||||||
|
Event.set_EV_ROLE_CREATED_BY_ADMIN()
|
||||||
|
return super().form_valid(form)
|
||||||
|
|
||||||
class RolEditView(AccessControl, CreateView):
|
|
||||||
|
class RolEditView(AccessControl, UpdateView):
|
||||||
template_name = "idhub/admin/rol_register.html"
|
template_name = "idhub/admin/rol_register.html"
|
||||||
subtitle = _('Edit Rol')
|
subtitle = _('Edit Role')
|
||||||
icon = ''
|
icon = ''
|
||||||
model = Rol
|
model = Rol
|
||||||
fields = ('name',)
|
fields = ('name', "description")
|
||||||
success_url = reverse_lazy('idhub:admin_roles')
|
success_url = reverse_lazy('idhub:admin_roles')
|
||||||
|
|
||||||
def get_form_kwargs(self):
|
def get_form_kwargs(self):
|
||||||
|
@ -343,6 +442,12 @@ class RolEditView(AccessControl, CreateView):
|
||||||
kwargs = super().get_form_kwargs()
|
kwargs = super().get_form_kwargs()
|
||||||
return kwargs
|
return kwargs
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
form.save()
|
||||||
|
messages.success(self.request, _('Role updated successfully'))
|
||||||
|
Event.set_EV_ROLE_MODIFIED_BY_ADMIN()
|
||||||
|
return super().form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
class RolDeleteView(AccessControl):
|
class RolDeleteView(AccessControl):
|
||||||
model = Rol
|
model = Rol
|
||||||
|
@ -352,12 +457,14 @@ class RolDeleteView(AccessControl):
|
||||||
self.object = get_object_or_404(self.model, pk=self.pk)
|
self.object = get_object_or_404(self.model, pk=self.pk)
|
||||||
|
|
||||||
self.object.delete()
|
self.object.delete()
|
||||||
|
messages.success(self.request, _('Role deleted successfully'))
|
||||||
|
Event.set_EV_ROLE_DELETED_BY_ADMIN()
|
||||||
return redirect('idhub:admin_roles')
|
return redirect('idhub:admin_roles')
|
||||||
|
|
||||||
|
|
||||||
class ServicesView(AccessControl):
|
class ServicesView(AccessControl):
|
||||||
template_name = "idhub/admin/services.html"
|
template_name = "idhub/admin/services.html"
|
||||||
subtitle = _('Service Management')
|
subtitle = _('Manage services')
|
||||||
icon = ''
|
icon = ''
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
|
@ -369,17 +476,28 @@ class ServicesView(AccessControl):
|
||||||
|
|
||||||
class ServiceRegisterView(AccessControl, CreateView):
|
class ServiceRegisterView(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
|
||||||
fields = ('domain', 'description', 'rol')
|
fields = ('domain', 'description', 'rol')
|
||||||
success_url = reverse_lazy('idhub:admin_services')
|
success_url = reverse_lazy('idhub:admin_services')
|
||||||
object = None
|
object = None
|
||||||
|
|
||||||
|
def get_form(self):
|
||||||
|
form = super().get_form()
|
||||||
|
form.fields['rol'].required = False
|
||||||
|
return form
|
||||||
|
|
||||||
class ServiceEditView(AccessControl, CreateView):
|
def form_valid(self, form):
|
||||||
|
form.save()
|
||||||
|
messages.success(self.request, _('Service created successfully'))
|
||||||
|
Event.set_EV_SERVICE_CREATED_BY_ADMIN()
|
||||||
|
return super().form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
|
class ServiceEditView(AccessControl, UpdateView):
|
||||||
template_name = "idhub/admin/service_register.html"
|
template_name = "idhub/admin/service_register.html"
|
||||||
subtitle = _('Edit Service')
|
subtitle = _('Modify service')
|
||||||
icon = ''
|
icon = ''
|
||||||
model = Service
|
model = Service
|
||||||
fields = ('domain', 'description', 'rol')
|
fields = ('domain', 'description', 'rol')
|
||||||
|
@ -392,6 +510,17 @@ class ServiceEditView(AccessControl, CreateView):
|
||||||
kwargs = super().get_form_kwargs()
|
kwargs = super().get_form_kwargs()
|
||||||
return kwargs
|
return kwargs
|
||||||
|
|
||||||
|
def get_form(self):
|
||||||
|
form = super().get_form()
|
||||||
|
form.fields['rol'].required = False
|
||||||
|
return form
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
form.save()
|
||||||
|
messages.success(self.request, _('Service updated successfully'))
|
||||||
|
Event.set_EV_SERVICE_MODIFIED_BY_ADMIN()
|
||||||
|
return super().form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
class ServiceDeleteView(AccessControl):
|
class ServiceDeleteView(AccessControl):
|
||||||
model = Service
|
model = Service
|
||||||
|
@ -401,12 +530,14 @@ class ServiceDeleteView(AccessControl):
|
||||||
self.object = get_object_or_404(self.model, pk=self.pk)
|
self.object = get_object_or_404(self.model, pk=self.pk)
|
||||||
|
|
||||||
self.object.delete()
|
self.object.delete()
|
||||||
|
messages.success(self.request, _('Service deleted successfully'))
|
||||||
|
Event.set_EV_SERVICE_DELETED_BY_ADMIN()
|
||||||
return redirect('idhub:admin_services')
|
return redirect('idhub:admin_services')
|
||||||
|
|
||||||
|
|
||||||
class CredentialsView(Credentials):
|
class CredentialsView(Credentials):
|
||||||
template_name = "idhub/admin/credentials.html"
|
template_name = "idhub/admin/credentials.html"
|
||||||
subtitle = _('Credentials list')
|
subtitle = _('View credentials')
|
||||||
icon = ''
|
icon = ''
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
|
@ -462,6 +593,8 @@ class RevokeCredentialsView(Credentials):
|
||||||
self.object.status = VerificableCredential.Status.REVOKED
|
self.object.status = VerificableCredential.Status.REVOKED
|
||||||
self.object.save()
|
self.object.save()
|
||||||
messages.success(self.request, _('Credential revoked successfully'))
|
messages.success(self.request, _('Credential revoked successfully'))
|
||||||
|
Event.set_EV_CREDENTIAL_REVOKED_BY_ADMIN(self.object)
|
||||||
|
Event.set_EV_CREDENTIAL_REVOKED(self.object)
|
||||||
|
|
||||||
return redirect(self.success_url)
|
return redirect(self.success_url)
|
||||||
|
|
||||||
|
@ -482,13 +615,15 @@ class DeleteCredentialsView(Credentials):
|
||||||
if self.object.status in status:
|
if self.object.status in status:
|
||||||
self.object.delete()
|
self.object.delete()
|
||||||
messages.success(self.request, _('Credential deleted successfully'))
|
messages.success(self.request, _('Credential deleted successfully'))
|
||||||
|
Event.set_EV_CREDENTIAL_DELETED(self.object)
|
||||||
|
Event.set_EV_CREDENTIAL_DELETED_BY_ADMIN(self.object)
|
||||||
|
|
||||||
return redirect(self.success_url)
|
return redirect(self.success_url)
|
||||||
|
|
||||||
|
|
||||||
class DidsView(Credentials):
|
class DidsView(Credentials):
|
||||||
template_name = "idhub/admin/dids.html"
|
template_name = "idhub/admin/dids.html"
|
||||||
subtitle = _('Organization Identities (DID)')
|
subtitle = _('Manage Identities (DID)')
|
||||||
icon = 'bi bi-patch-check-fill'
|
icon = 'bi bi-patch-check-fill'
|
||||||
wallet = True
|
wallet = True
|
||||||
|
|
||||||
|
@ -514,6 +649,7 @@ class DidRegisterView(Credentials, CreateView):
|
||||||
form.instance.did = iota.issue_did()
|
form.instance.did = iota.issue_did()
|
||||||
form.save()
|
form.save()
|
||||||
messages.success(self.request, _('DID created successfully'))
|
messages.success(self.request, _('DID created successfully'))
|
||||||
|
Event.set_EV_ORG_DID_CREATED_BY_ADMIN(form.instance)
|
||||||
return super().form_valid(form)
|
return super().form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
|
@ -547,29 +683,29 @@ class DidDeleteView(Credentials, DeleteView):
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
self.pk = kwargs['pk']
|
self.pk = kwargs['pk']
|
||||||
self.object = get_object_or_404(self.model, pk=self.pk)
|
self.object = get_object_or_404(self.model, pk=self.pk)
|
||||||
|
Event.set_EV_ORG_DID_DELETED_BY_ADMIN(self.object)
|
||||||
self.object.delete()
|
self.object.delete()
|
||||||
messages.success(self.request, _('DID delete successfully'))
|
messages.success(self.request, _('DID delete successfully'))
|
||||||
|
|
||||||
return redirect(self.success_url)
|
return redirect(self.success_url)
|
||||||
|
|
||||||
|
|
||||||
class WalletCredentialsView(Credentials):
|
class WalletCredentialsView(Credentials):
|
||||||
template_name = "idhub/admin/wallet_credentials.html"
|
template_name = "idhub/admin/wallet_credentials.html"
|
||||||
subtitle = _('Credentials')
|
subtitle = _('View org. credentials')
|
||||||
icon = 'bi bi-patch-check-fill'
|
icon = 'bi bi-patch-check-fill'
|
||||||
wallet = True
|
wallet = True
|
||||||
|
|
||||||
|
|
||||||
class WalletConfigIssuesView(Credentials):
|
class WalletConfigIssuesView(Credentials):
|
||||||
template_name = "idhub/admin/wallet_issues.html"
|
template_name = "idhub/admin/wallet_issues.html"
|
||||||
subtitle = _('Configure Issues')
|
subtitle = _('Configure credential issuance')
|
||||||
icon = 'bi bi-patch-check-fill'
|
icon = 'bi bi-patch-check-fill'
|
||||||
wallet = True
|
wallet = True
|
||||||
|
|
||||||
|
|
||||||
class SchemasView(SchemasMix):
|
class SchemasView(SchemasMix):
|
||||||
template_name = "idhub/admin/schemas.html"
|
template_name = "idhub/admin/schemas.html"
|
||||||
subtitle = _('Template List')
|
subtitle = _('View credential templates')
|
||||||
icon = ''
|
icon = ''
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
|
@ -603,7 +739,7 @@ class SchemasDownloadView(SchemasMix):
|
||||||
|
|
||||||
class SchemasNewView(SchemasMix):
|
class SchemasNewView(SchemasMix):
|
||||||
template_name = "idhub/admin/schemas_new.html"
|
template_name = "idhub/admin/schemas_new.html"
|
||||||
subtitle = _('Upload Template')
|
subtitle = _('Upload template')
|
||||||
icon = ''
|
icon = ''
|
||||||
success_url = reverse_lazy('idhub:admin_schemas')
|
success_url = reverse_lazy('idhub:admin_schemas')
|
||||||
|
|
||||||
|
@ -648,7 +784,7 @@ class SchemasNewView(SchemasMix):
|
||||||
|
|
||||||
class SchemasImportView(SchemasMix):
|
class SchemasImportView(SchemasMix):
|
||||||
template_name = "idhub/admin/schemas_import.html"
|
template_name = "idhub/admin/schemas_import.html"
|
||||||
subtitle = _('Import Template')
|
subtitle = _('Import template')
|
||||||
icon = ''
|
icon = ''
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
|
@ -676,7 +812,7 @@ class SchemasImportAddView(SchemasMix):
|
||||||
|
|
||||||
schema = self.create_schema(file_name)
|
schema = self.create_schema(file_name)
|
||||||
if schema:
|
if schema:
|
||||||
messages.success(self.request, _("The schema add successfully!"))
|
messages.success(self.request, _("The schema was added sucessfully"))
|
||||||
return redirect('idhub:admin_schemas_import')
|
return redirect('idhub:admin_schemas_import')
|
||||||
|
|
||||||
def create_schema(self, file_name):
|
def create_schema(self, file_name):
|
||||||
|
@ -701,7 +837,7 @@ class SchemasImportAddView(SchemasMix):
|
||||||
|
|
||||||
class ImportView(ImportExport, TemplateView):
|
class ImportView(ImportExport, TemplateView):
|
||||||
template_name = "idhub/admin/import.html"
|
template_name = "idhub/admin/import.html"
|
||||||
subtitle = _('Import')
|
subtitle = _('Import data')
|
||||||
icon = ''
|
icon = ''
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
|
@ -738,9 +874,12 @@ class ImportAddView(ImportExport, FormView):
|
||||||
return kwargs
|
return kwargs
|
||||||
|
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
cred = form.save()
|
creds = form.save()
|
||||||
if cred:
|
if creds:
|
||||||
messages.success(self.request, _("The file import was successfully!"))
|
messages.success(self.request, _("The file import was successfully!"))
|
||||||
|
for cred in creds:
|
||||||
|
Event.set_EV_CREDENTIAL_ENABLED(cred)
|
||||||
|
Event.set_EV_CREDENTIAL_CAN_BE_REQUESTED(cred)
|
||||||
else:
|
else:
|
||||||
messages.error(self.request, _("Error importing the file!"))
|
messages.error(self.request, _("Error importing the file!"))
|
||||||
return super().form_valid(form)
|
return super().form_valid(form)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Generated by Django 4.2.5 on 2023-11-02 15:08
|
# Generated by Django 4.2.5 on 2023-11-14 16:32
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
|
@ -63,7 +63,13 @@ class Migration(migrations.Migration):
|
||||||
verbose_name='ID',
|
verbose_name='ID',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
('name', models.CharField(max_length=250)),
|
('name', models.CharField(max_length=250, verbose_name='name')),
|
||||||
|
(
|
||||||
|
'description',
|
||||||
|
models.CharField(
|
||||||
|
max_length=250, null=True, verbose_name='Description'
|
||||||
|
),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
|
@ -95,8 +101,11 @@ class Migration(migrations.Migration):
|
||||||
verbose_name='ID',
|
verbose_name='ID',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
('domain', models.CharField(max_length=250)),
|
('domain', models.CharField(max_length=250, verbose_name='Domain')),
|
||||||
('description', models.CharField(max_length=250)),
|
(
|
||||||
|
'description',
|
||||||
|
models.CharField(max_length=250, verbose_name='Description'),
|
||||||
|
),
|
||||||
('rol', models.ManyToManyField(to='idhub.rol')),
|
('rol', models.ManyToManyField(to='idhub.rol')),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
@ -131,7 +140,7 @@ class Migration(migrations.Migration):
|
||||||
('id_string', models.CharField(max_length=250)),
|
('id_string', models.CharField(max_length=250)),
|
||||||
('verified', models.BooleanField()),
|
('verified', models.BooleanField()),
|
||||||
('created_on', models.DateTimeField(auto_now=True)),
|
('created_on', models.DateTimeField(auto_now=True)),
|
||||||
('issuer_on', models.DateTimeField(null=True)),
|
('issued_on', models.DateTimeField(null=True)),
|
||||||
('did_issuer', models.CharField(max_length=250)),
|
('did_issuer', models.CharField(max_length=250)),
|
||||||
('did_subject', models.CharField(max_length=250)),
|
('did_subject', models.CharField(max_length=250)),
|
||||||
('data', models.TextField()),
|
('data', models.TextField()),
|
||||||
|
@ -157,6 +166,141 @@ class Migration(migrations.Migration):
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Membership',
|
||||||
|
fields=[
|
||||||
|
(
|
||||||
|
'id',
|
||||||
|
models.BigAutoField(
|
||||||
|
auto_created=True,
|
||||||
|
primary_key=True,
|
||||||
|
serialize=False,
|
||||||
|
verbose_name='ID',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'type',
|
||||||
|
models.PositiveSmallIntegerField(
|
||||||
|
choices=[(1, 'Beneficiary'), (2, 'Employee'), (3, 'Member')],
|
||||||
|
verbose_name='Type of membership',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'start_date',
|
||||||
|
models.DateField(
|
||||||
|
blank=True,
|
||||||
|
help_text='What date did the membership start?',
|
||||||
|
null=True,
|
||||||
|
verbose_name='Start date',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'end_date',
|
||||||
|
models.DateField(
|
||||||
|
blank=True,
|
||||||
|
help_text='What date will the membership end?',
|
||||||
|
null=True,
|
||||||
|
verbose_name='End date',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'user',
|
||||||
|
models.ForeignKey(
|
||||||
|
on_delete=django.db.models.deletion.CASCADE,
|
||||||
|
related_name='memberships',
|
||||||
|
to=settings.AUTH_USER_MODEL,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Event',
|
||||||
|
fields=[
|
||||||
|
(
|
||||||
|
'id',
|
||||||
|
models.BigAutoField(
|
||||||
|
auto_created=True,
|
||||||
|
primary_key=True,
|
||||||
|
serialize=False,
|
||||||
|
verbose_name='ID',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
('created', models.DateTimeField(auto_now=True)),
|
||||||
|
('message', models.CharField(max_length=350)),
|
||||||
|
(
|
||||||
|
'type',
|
||||||
|
models.PositiveSmallIntegerField(
|
||||||
|
choices=[
|
||||||
|
(1, 'EV_USR_REGISTERED'),
|
||||||
|
(2, 'EV_USR_WELCOME'),
|
||||||
|
(3, 'EV_DATA_UPDATE_REQUESTED_BY_USER'),
|
||||||
|
(4, 'EV_DATA_UPDATE_REQUESTED'),
|
||||||
|
(5, 'EV_USR_UPDATED_BY_ADMIN'),
|
||||||
|
(6, 'EV_USR_UPDATED'),
|
||||||
|
(7, 'EV_USR_DELETED_BY_ADMIN'),
|
||||||
|
(8, 'EV_DID_CREATED_BY_USER'),
|
||||||
|
(9, 'EV_DID_CREATED'),
|
||||||
|
(10, 'EV_DID_DELETED'),
|
||||||
|
(11, 'EV_CREDENTIAL_DELETED_BY_ADMIN'),
|
||||||
|
(12, 'EV_CREDENTIAL_DELETED'),
|
||||||
|
(13, 'EV_CREDENTIAL_ISSUED_FOR_USER'),
|
||||||
|
(14, 'EV_CREDENTIAL_ISSUED'),
|
||||||
|
(15, 'EV_CREDENTIAL_PRESENTED_BY_USER'),
|
||||||
|
(16, 'EV_CREDENTIAL_PRESENTED'),
|
||||||
|
(17, 'EV_CREDENTIAL_ENABLED'),
|
||||||
|
(18, 'EV_CREDENTIAL_CAN_BE_REQUESTED'),
|
||||||
|
(19, 'EV_CREDENTIAL_REVOKED_BY_ADMIN'),
|
||||||
|
(20, 'EV_CREDENTIAL_REVOKED'),
|
||||||
|
(21, 'EV_ROLE_CREATED_BY_ADMIN'),
|
||||||
|
(22, 'EV_ROLE_MODIFIED_BY_ADMIN'),
|
||||||
|
(23, 'EV_ROLE_DELETED_BY_ADMIN'),
|
||||||
|
(24, 'EV_SERVICE_CREATED_BY_ADMIN'),
|
||||||
|
(25, 'EV_SERVICE_MODIFIED_BY_ADMIN'),
|
||||||
|
(26, 'EV_SERVICE_DELETED_BY_ADMIN'),
|
||||||
|
(27, 'EV_ORG_DID_CREATED_BY_ADMIN'),
|
||||||
|
(28, 'EV_ORG_DID_DELETED_BY_ADMIN'),
|
||||||
|
(29, 'EV_USR_DEACTIVATED_BY_ADMIN'),
|
||||||
|
(30, 'EV_USR_ACTIVATED_BY_ADMIN'),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'user',
|
||||||
|
models.ForeignKey(
|
||||||
|
null=True,
|
||||||
|
on_delete=django.db.models.deletion.CASCADE,
|
||||||
|
related_name='events',
|
||||||
|
to=settings.AUTH_USER_MODEL,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='DID',
|
||||||
|
fields=[
|
||||||
|
(
|
||||||
|
'id',
|
||||||
|
models.BigAutoField(
|
||||||
|
auto_created=True,
|
||||||
|
primary_key=True,
|
||||||
|
serialize=False,
|
||||||
|
verbose_name='ID',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
('created_at', models.DateTimeField(auto_now=True)),
|
||||||
|
('did', models.CharField(max_length=250, unique=True)),
|
||||||
|
('label', models.CharField(max_length=50)),
|
||||||
|
(
|
||||||
|
'user',
|
||||||
|
models.ForeignKey(
|
||||||
|
null=True,
|
||||||
|
on_delete=django.db.models.deletion.CASCADE,
|
||||||
|
related_name='dids',
|
||||||
|
to=settings.AUTH_USER_MODEL,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name='UserRol',
|
name='UserRol',
|
||||||
fields=[
|
fields=[
|
||||||
|
@ -186,78 +330,8 @@ class Migration(migrations.Migration):
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
options={
|
||||||
migrations.CreateModel(
|
'unique_together': {('user', 'service')},
|
||||||
name='Membership',
|
},
|
||||||
fields=[
|
|
||||||
(
|
|
||||||
'id',
|
|
||||||
models.BigAutoField(
|
|
||||||
auto_created=True,
|
|
||||||
primary_key=True,
|
|
||||||
serialize=False,
|
|
||||||
verbose_name='ID',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
'type',
|
|
||||||
models.PositiveSmallIntegerField(
|
|
||||||
choices=[(1, 'Beneficiary'), (2, 'Employee'), (3, 'Partner')],
|
|
||||||
verbose_name='Type of membership',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
'start_date',
|
|
||||||
models.DateField(
|
|
||||||
blank=True,
|
|
||||||
help_text='What date did the membership start?',
|
|
||||||
null=True,
|
|
||||||
verbose_name='Start date',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
'end_date',
|
|
||||||
models.DateField(
|
|
||||||
blank=True,
|
|
||||||
help_text='What date did the membership end?',
|
|
||||||
null=True,
|
|
||||||
verbose_name='End date',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
'user',
|
|
||||||
models.ForeignKey(
|
|
||||||
on_delete=django.db.models.deletion.CASCADE,
|
|
||||||
related_name='memberships',
|
|
||||||
to=settings.AUTH_USER_MODEL,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='DID',
|
|
||||||
fields=[
|
|
||||||
(
|
|
||||||
'id',
|
|
||||||
models.BigAutoField(
|
|
||||||
auto_created=True,
|
|
||||||
primary_key=True,
|
|
||||||
serialize=False,
|
|
||||||
verbose_name='ID',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
('created_at', models.DateTimeField(auto_now=True)),
|
|
||||||
('did', models.CharField(max_length=250, unique=True)),
|
|
||||||
('label', models.CharField(max_length=50)),
|
|
||||||
(
|
|
||||||
'user',
|
|
||||||
models.ForeignKey(
|
|
||||||
null=True,
|
|
||||||
on_delete=django.db.models.deletion.CASCADE,
|
|
||||||
related_name='dids',
|
|
||||||
to=settings.AUTH_USER_MODEL,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
418
idhub/models.py
418
idhub/models.py
|
@ -1,15 +1,397 @@
|
||||||
import json
|
import json
|
||||||
import requests
|
import requests
|
||||||
|
import datetime
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from idhub_auth.models import User
|
from idhub_auth.models import User
|
||||||
|
|
||||||
|
|
||||||
# class Event(models.Model):
|
class Event(models.Model):
|
||||||
# Para los "audit logs" que se requieren en las pantallas.
|
class Types(models.IntegerChoices):
|
||||||
# timestamp = models.DateTimeField()
|
EV_USR_REGISTERED = 1, "EV_USR_REGISTERED"
|
||||||
# Los eventos no tienen relación con otros objetos a nivel de BBDD.
|
EV_USR_WELCOME = 2, "EV_USR_WELCOME"
|
||||||
# event_data = models.CharField(max_length=250)
|
EV_DATA_UPDATE_REQUESTED_BY_USER = 3, "EV_DATA_UPDATE_REQUESTED_BY_USER"
|
||||||
|
EV_DATA_UPDATE_REQUESTED = 4, "EV_DATA_UPDATE_REQUESTED"
|
||||||
|
EV_USR_UPDATED_BY_ADMIN = 5, "EV_USR_UPDATED_BY_ADMIN"
|
||||||
|
EV_USR_UPDATED = 6, "EV_USR_UPDATED"
|
||||||
|
EV_USR_DELETED_BY_ADMIN = 7, "EV_USR_DELETED_BY_ADMIN"
|
||||||
|
EV_DID_CREATED_BY_USER = 8, "EV_DID_CREATED_BY_USER"
|
||||||
|
EV_DID_CREATED = 9, "EV_DID_CREATED"
|
||||||
|
EV_DID_DELETED = 10, "EV_DID_DELETED"
|
||||||
|
EV_CREDENTIAL_DELETED_BY_ADMIN = 11, "EV_CREDENTIAL_DELETED_BY_ADMIN"
|
||||||
|
EV_CREDENTIAL_DELETED = 12, "EV_CREDENTIAL_DELETED"
|
||||||
|
EV_CREDENTIAL_ISSUED_FOR_USER = 13, "EV_CREDENTIAL_ISSUED_FOR_USER"
|
||||||
|
EV_CREDENTIAL_ISSUED = 14, "EV_CREDENTIAL_ISSUED"
|
||||||
|
EV_CREDENTIAL_PRESENTED_BY_USER = 15, "EV_CREDENTIAL_PRESENTED_BY_USER"
|
||||||
|
EV_CREDENTIAL_PRESENTED = 16, "EV_CREDENTIAL_PRESENTED"
|
||||||
|
EV_CREDENTIAL_ENABLED = 17, "EV_CREDENTIAL_ENABLED"
|
||||||
|
EV_CREDENTIAL_CAN_BE_REQUESTED = 18, "EV_CREDENTIAL_CAN_BE_REQUESTED"
|
||||||
|
EV_CREDENTIAL_REVOKED_BY_ADMIN = 19, "EV_CREDENTIAL_REVOKED_BY_ADMIN"
|
||||||
|
EV_CREDENTIAL_REVOKED = 20, "EV_CREDENTIAL_REVOKED"
|
||||||
|
EV_ROLE_CREATED_BY_ADMIN = 21, "EV_ROLE_CREATED_BY_ADMIN"
|
||||||
|
EV_ROLE_MODIFIED_BY_ADMIN = 22, "EV_ROLE_MODIFIED_BY_ADMIN"
|
||||||
|
EV_ROLE_DELETED_BY_ADMIN = 23, "EV_ROLE_DELETED_BY_ADMIN"
|
||||||
|
EV_SERVICE_CREATED_BY_ADMIN = 24, "EV_SERVICE_CREATED_BY_ADMIN"
|
||||||
|
EV_SERVICE_MODIFIED_BY_ADMIN = 25, "EV_SERVICE_MODIFIED_BY_ADMIN"
|
||||||
|
EV_SERVICE_DELETED_BY_ADMIN = 26, "EV_SERVICE_DELETED_BY_ADMIN"
|
||||||
|
EV_ORG_DID_CREATED_BY_ADMIN = 27, "EV_ORG_DID_CREATED_BY_ADMIN"
|
||||||
|
EV_ORG_DID_DELETED_BY_ADMIN = 28, "EV_ORG_DID_DELETED_BY_ADMIN"
|
||||||
|
EV_USR_DEACTIVATED_BY_ADMIN = 29, "EV_USR_DEACTIVATED_BY_ADMIN"
|
||||||
|
EV_USR_ACTIVATED_BY_ADMIN = 30, "EV_USR_ACTIVATED_BY_ADMIN"
|
||||||
|
|
||||||
|
created = models.DateTimeField(auto_now=True)
|
||||||
|
message = models.CharField(max_length=350)
|
||||||
|
type = models.PositiveSmallIntegerField(
|
||||||
|
choices=Types.choices,
|
||||||
|
)
|
||||||
|
user = models.ForeignKey(
|
||||||
|
User,
|
||||||
|
on_delete=models.CASCADE,
|
||||||
|
related_name='events',
|
||||||
|
null=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
def get_type(self):
|
||||||
|
return self.Types(self.type).label
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_USR_REGISTERED(cls, user):
|
||||||
|
msg = _("The user {username} was registered: name: {first_name}, last name: {last_name}").format(
|
||||||
|
username=user.username,
|
||||||
|
first_name=user.first_name,
|
||||||
|
last_name=user.last_name
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_USR_REGISTERED,
|
||||||
|
message=msg
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_USR_WELCOME(cls, user):
|
||||||
|
msg = _("Welcome. You has been registered: name: {first_name}, last name: {last_name}").format(
|
||||||
|
first_name=user.first_name,
|
||||||
|
last_name=user.last_name
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_USR_WELCOME,
|
||||||
|
message=msg,
|
||||||
|
user=user
|
||||||
|
)
|
||||||
|
|
||||||
|
# Is required?
|
||||||
|
@classmethod
|
||||||
|
def set_EV_DATA_UPDATE_REQUESTED_BY_USER(cls, user):
|
||||||
|
msg = _("The user '{username}' has request the update of the following information: ")
|
||||||
|
msg += "['field1':'value1', 'field2':'value2'>,...]".format(
|
||||||
|
username=user.username,
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_DATA_UPDATE_REQUESTED_BY_USER,
|
||||||
|
message=msg,
|
||||||
|
)
|
||||||
|
|
||||||
|
# Is required?
|
||||||
|
@classmethod
|
||||||
|
def set_EV_DATA_UPDATE_REQUESTED(cls, user):
|
||||||
|
msg = _("You have requested the update of the following information: ")
|
||||||
|
msg += "['field1':'value1', 'field2':'value2'>,...]"
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_DATA_UPDATE_REQUESTED,
|
||||||
|
message=msg,
|
||||||
|
user=user
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_USR_UPDATED_BY_ADMIN(cls, user):
|
||||||
|
msg = "The admin has updated the following user 's information: "
|
||||||
|
msg += "name: {first_name}, last name: {last_name}"
|
||||||
|
msg = _(msg).format(
|
||||||
|
first_name=user.first_name,
|
||||||
|
last_name=user.last_name
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_USR_UPDATED_BY_ADMIN,
|
||||||
|
message=msg
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_USR_UPDATED(cls, user):
|
||||||
|
msg = "The admin has updated your personal information: "
|
||||||
|
msg += "name: {first_name}, last name: {last_name}"
|
||||||
|
msg = _(msg).format(
|
||||||
|
first_name=user.first_name,
|
||||||
|
last_name=user.last_name
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_USR_UPDATED,
|
||||||
|
message=msg,
|
||||||
|
user=user
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_USR_DELETED_BY_ADMIN(cls, user):
|
||||||
|
msg = _("The admin has deleted the user: username: {username}").format(
|
||||||
|
username=user.username,
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_USR_DELETED_BY_ADMIN,
|
||||||
|
message=msg
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_DID_CREATED_BY_USER(cls, did):
|
||||||
|
msg = _("New DID with DID-ID: '{did}' created by user '{username}'").format(
|
||||||
|
did=did.did,
|
||||||
|
username=did.user.username
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_DID_CREATED_BY_USER,
|
||||||
|
message=msg,
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_DID_CREATED(cls, did):
|
||||||
|
msg = _("New DID with label: '{label}' and DID-ID: '{did}' was created'").format(
|
||||||
|
label=did.label,
|
||||||
|
did=did.did
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_DID_CREATED,
|
||||||
|
message=msg,
|
||||||
|
user=did.user
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_DID_DELETED(cls, did):
|
||||||
|
msg = _("The DID with label '{label}' and DID-ID: '{did}' was deleted from your wallet").format(
|
||||||
|
label=did.label,
|
||||||
|
did=did.did
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_DID_DELETED,
|
||||||
|
message=msg,
|
||||||
|
user=did.user
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_CREDENTIAL_DELETED_BY_ADMIN(cls, cred):
|
||||||
|
msg = _("The credential of type '{type}' and ID: '{id}' was deleted").format(
|
||||||
|
type=cred.type(),
|
||||||
|
id=cred.id,
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_CREDENTIAL_DELETED_BY_ADMIN,
|
||||||
|
message=msg,
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_CREDENTIAL_DELETED(cls, cred):
|
||||||
|
msg = _("The credential of type '{type}' and ID: '{id}' was deleted from your wallet").format(
|
||||||
|
type=cred.type(),
|
||||||
|
id=cred.id
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_CREDENTIAL_DELETED,
|
||||||
|
message=msg,
|
||||||
|
user=cred.user
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_CREDENTIAL_ISSUED_FOR_USER(cls, cred):
|
||||||
|
msg = _("The credential of type '{type}' and ID: '{id}' was issued for user {username}").format(
|
||||||
|
type=cred.type(),
|
||||||
|
id=cred.id,
|
||||||
|
username=cred.user.username
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_CREDENTIAL_ISSUED_FOR_USER,
|
||||||
|
message=msg,
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_CREDENTIAL_ISSUED(cls, cred):
|
||||||
|
msg = _("The credential of type '{type}' and ID: '{id}' was issued and stored in your wallet").format(
|
||||||
|
type=cred.type(),
|
||||||
|
id=cred.id
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_CREDENTIAL_ISSUED,
|
||||||
|
message=msg,
|
||||||
|
user=cred.user
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_CREDENTIAL_PRESENTED_BY_USER(cls, cred, verifier):
|
||||||
|
msg = "The credential of type '{type}' and ID: '{id}' "
|
||||||
|
msg += "was presented by user {username} to verifier '{verifier}"
|
||||||
|
msg = _(msg).format(
|
||||||
|
type=cred.type(),
|
||||||
|
id=cred.id,
|
||||||
|
username=cred.user.username,
|
||||||
|
verifier=verifier
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_CREDENTIAL_PRESENTED_BY_USER,
|
||||||
|
message=msg,
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_CREDENTIAL_PRESENTED(cls, cred, verifier):
|
||||||
|
msg = "The credential of type '{type}' and ID: '{id}' "
|
||||||
|
msg += "was presented to verifier '{verifier}'"
|
||||||
|
msg = _(msg).format(
|
||||||
|
type=cred.type(),
|
||||||
|
id=cred.id,
|
||||||
|
verifier=verifier
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_CREDENTIAL_PRESENTED,
|
||||||
|
message=msg,
|
||||||
|
user=cred.user
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_CREDENTIAL_ENABLED(cls, cred):
|
||||||
|
msg = _("The credential of type '{type}' was enabled for user {username}").format(
|
||||||
|
type=cred.type(),
|
||||||
|
username=cred.user.username
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_CREDENTIAL_ENABLED,
|
||||||
|
message=msg,
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_CREDENTIAL_CAN_BE_REQUESTED(cls, cred):
|
||||||
|
msg = _("You can request the '{type}' credential").format(
|
||||||
|
type=cred.type()
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_CREDENTIAL_CAN_BE_REQUESTED,
|
||||||
|
message=msg,
|
||||||
|
user=cred.user
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_CREDENTIAL_REVOKED_BY_ADMIN(cls, cred):
|
||||||
|
msg = _("The credential of type '{type}' and ID: '{id}' was revoked for ").format(
|
||||||
|
type=cred.type(),
|
||||||
|
id=cred.id
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_CREDENTIAL_REVOKED_BY_ADMIN,
|
||||||
|
message=msg,
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_CREDENTIAL_REVOKED(cls, cred):
|
||||||
|
msg = _("The credential of type '{type}' and ID: '{id}' was revoked by admin").format(
|
||||||
|
type=cred.type(),
|
||||||
|
id=cred.id
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_CREDENTIAL_REVOKED,
|
||||||
|
message=msg,
|
||||||
|
user=cred.user
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_ROLE_CREATED_BY_ADMIN(cls):
|
||||||
|
msg = _('A new role was created by admin')
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_ROLE_CREATED_BY_ADMIN,
|
||||||
|
message=msg,
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_ROLE_MODIFIED_BY_ADMIN(cls):
|
||||||
|
msg = _('The role was modified by admin')
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_ROLE_MODIFIED_BY_ADMIN,
|
||||||
|
message=msg,
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_ROLE_DELETED_BY_ADMIN(cls):
|
||||||
|
msg = _('The role was removed by admin')
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_ROLE_DELETED_BY_ADMIN,
|
||||||
|
message=msg,
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_SERVICE_CREATED_BY_ADMIN(cls):
|
||||||
|
msg = _('A new service was created by admin')
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_SERVICE_CREATED_BY_ADMIN,
|
||||||
|
message=msg,
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_SERVICE_MODIFIED_BY_ADMIN(cls):
|
||||||
|
msg = _('The service was modified by admin')
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_SERVICE_MODIFIED_BY_ADMIN,
|
||||||
|
message=msg,
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_SERVICE_DELETED_BY_ADMIN(cls):
|
||||||
|
msg = _('The service was removed by admin')
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_SERVICE_DELETED_BY_ADMIN,
|
||||||
|
message=msg,
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_ORG_DID_CREATED_BY_ADMIN(cls, did):
|
||||||
|
msg = _("New Organisational DID with label: '{label}' and DID-ID: '{did}' was created").format(
|
||||||
|
label=did.label,
|
||||||
|
did=did.did
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_ORG_DID_CREATED_BY_ADMIN,
|
||||||
|
message=msg,
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_ORG_DID_DELETED_BY_ADMIN(cls, did):
|
||||||
|
msg = _("Organisational DID with label: '{label}' and DID-ID: '{did}' was removed").format(
|
||||||
|
label=did.label,
|
||||||
|
did=did.did
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_ORG_DID_DELETED_BY_ADMIN,
|
||||||
|
message=msg,
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_USR_DEACTIVATED_BY_ADMIN(cls, user):
|
||||||
|
msg = "The user '{username}' was temporarily deactivated: "
|
||||||
|
msg += "[name:'{first_name}', last name:'{last_name}']"
|
||||||
|
msg = _(msg).format(
|
||||||
|
username=user.username,
|
||||||
|
first_name=user.first_name,
|
||||||
|
last_name=user.last_name
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_USR_DEACTIVATED_BY_ADMIN,
|
||||||
|
message=msg,
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def set_EV_USR_ACTIVATED_BY_ADMIN(cls, user):
|
||||||
|
msg = "The user '{username}' was activated: "
|
||||||
|
msg += "name:'{first_name}', last name:'{last_name}']"
|
||||||
|
msg = _(msg).format(
|
||||||
|
username=user.username,
|
||||||
|
first_name=user.first_name,
|
||||||
|
last_name=user.last_name
|
||||||
|
)
|
||||||
|
cls.objects.create(
|
||||||
|
type=cls.Types.EV_USR_ACTIVATED_BY_ADMIN,
|
||||||
|
message=msg,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class DID(models.Model):
|
class DID(models.Model):
|
||||||
|
@ -62,7 +444,7 @@ class VerificableCredential(models.Model):
|
||||||
id_string = models.CharField(max_length=250)
|
id_string = models.CharField(max_length=250)
|
||||||
verified = models.BooleanField()
|
verified = models.BooleanField()
|
||||||
created_on = models.DateTimeField(auto_now=True)
|
created_on = models.DateTimeField(auto_now=True)
|
||||||
issuer_on = models.DateTimeField(null=True)
|
issued_on = models.DateTimeField(null=True)
|
||||||
did_issuer = models.CharField(max_length=250)
|
did_issuer = models.CharField(max_length=250)
|
||||||
did_subject = models.CharField(max_length=250)
|
did_subject = models.CharField(max_length=250)
|
||||||
data = models.TextField()
|
data = models.TextField()
|
||||||
|
@ -95,9 +477,13 @@ class VerificableCredential(models.Model):
|
||||||
data = json.loads(self.data).get('instance').items()
|
data = json.loads(self.data).get('instance').items()
|
||||||
return data
|
return data
|
||||||
|
|
||||||
def get_issued(self, did):
|
def issue(self, did):
|
||||||
self.status = self.Status.ISSUED
|
self.status = self.Status.ISSUED
|
||||||
self.did_subject = did
|
self.did_subject = did
|
||||||
|
self.issued_on = datetime.datetime.now()
|
||||||
|
|
||||||
|
def get_issued_on(self):
|
||||||
|
return self.issued_on.strftime("%m/%d/%Y")
|
||||||
|
|
||||||
class VCTemplate(models.Model):
|
class VCTemplate(models.Model):
|
||||||
wkit_template_id = models.CharField(max_length=250)
|
wkit_template_id = models.CharField(max_length=250)
|
||||||
|
@ -117,7 +503,7 @@ class Membership(models.Model):
|
||||||
class Types(models.IntegerChoices):
|
class Types(models.IntegerChoices):
|
||||||
BENEFICIARY = 1, _('Beneficiary')
|
BENEFICIARY = 1, _('Beneficiary')
|
||||||
EMPLOYEE = 2, _('Employee')
|
EMPLOYEE = 2, _('Employee')
|
||||||
PARTNER = 3, _('Partner')
|
MEMBER = 3, _('Member')
|
||||||
|
|
||||||
type = models.PositiveSmallIntegerField(_('Type of membership'), choices=Types.choices)
|
type = models.PositiveSmallIntegerField(_('Type of membership'), choices=Types.choices)
|
||||||
start_date = models.DateField(
|
start_date = models.DateField(
|
||||||
|
@ -128,7 +514,7 @@ class Membership(models.Model):
|
||||||
)
|
)
|
||||||
end_date = models.DateField(
|
end_date = models.DateField(
|
||||||
_('End date'),
|
_('End date'),
|
||||||
help_text=_('What date did the membership end?'),
|
help_text=_('What date will the membership end?'),
|
||||||
blank=True,
|
blank=True,
|
||||||
null=True
|
null=True
|
||||||
)
|
)
|
||||||
|
@ -144,21 +530,24 @@ class Membership(models.Model):
|
||||||
|
|
||||||
|
|
||||||
class Rol(models.Model):
|
class Rol(models.Model):
|
||||||
name = models.CharField(max_length=250)
|
name = models.CharField(_("name"), max_length=250)
|
||||||
|
description = models.CharField(_("Description"), max_length=250, null=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
|
|
||||||
class Service(models.Model):
|
class Service(models.Model):
|
||||||
domain = models.CharField(max_length=250)
|
domain = models.CharField(_("Domain"), max_length=250)
|
||||||
description = models.CharField(max_length=250)
|
description = models.CharField(_("Description"), max_length=250)
|
||||||
rol = models.ManyToManyField(
|
rol = models.ManyToManyField(
|
||||||
Rol,
|
Rol,
|
||||||
)
|
)
|
||||||
|
|
||||||
def get_roles(self):
|
def get_roles(self):
|
||||||
return ", ".join([x.name for x in self.rol.all()])
|
if self.rol.exists():
|
||||||
|
return ", ".join([x.name for x in self.rol.all()])
|
||||||
|
return _("None")
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "{} -> {}".format(self.domain, self.get_roles())
|
return "{} -> {}".format(self.domain, self.get_roles())
|
||||||
|
@ -176,6 +565,9 @@ class UserRol(models.Model):
|
||||||
related_name='users',
|
related_name='users',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
unique_together = ('user', 'service',)
|
||||||
|
|
||||||
|
|
||||||
class Organization(models.Model):
|
class Organization(models.Model):
|
||||||
name = models.CharField(max_length=250)
|
name = models.CharField(max_length=250)
|
||||||
|
|
|
@ -14,8 +14,8 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Type' %}</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Type' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Details' %}</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Details' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Issue' %}</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Issued' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Status' %}</button></th>
|
<th scope="col" class="text-center"><button type="button" class="btn btn-grey border border-dark">{% trans 'Status' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'User' %}</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'User' %}</button></th>
|
||||||
<th scope="col"></th>
|
<th scope="col"></th>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -25,8 +25,8 @@
|
||||||
<tr style="font-size:15px;">
|
<tr style="font-size:15px;">
|
||||||
<td>{{ f.type }}</td>
|
<td>{{ f.type }}</td>
|
||||||
<td>{{ f.description }}</td>
|
<td>{{ f.description }}</td>
|
||||||
<td>{{ f.issue_on }}</td>
|
<td>{{ f.get_issued_on }}</td>
|
||||||
<td>{{ f.get_status }}</td>
|
<td class="text-center">{{ f.get_status }}</td>
|
||||||
<td>{{ f.user.email }}</td>
|
<td>{{ f.user.email }}</td>
|
||||||
<td><a href="{% url 'idhub:admin_credential' f.id %}" class="btn btn-green-admin">{% trans 'View' %}</a></td>
|
<td><a href="{% url 'idhub:admin_credential' f.id %}" class="btn btn-green-admin">{% trans 'View' %}</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -10,131 +10,20 @@
|
||||||
<table class="table table-striped table-sm">
|
<table class="table table-striped table-sm">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="col">#</th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Type' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-green-admin border border-dark">Header</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">Header</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Date' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-green-admin">Header</button></th>
|
|
||||||
<th scope="col"><button type="button" class="btn btn-grey ">Header</button></th>
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
{% for ev in events %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>1,001</td>
|
<td>{{ ev.get_type }}</td>
|
||||||
<td>random</td>
|
<td>{{ ev.message }}</td>
|
||||||
<td>data</td>
|
<td>{{ ev.created }}</td>
|
||||||
<td>placeholder</td>
|
|
||||||
<td>text</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,002</td>
|
|
||||||
<td>placeholder</td>
|
|
||||||
<td>irrelevant</td>
|
|
||||||
<td>visual</td>
|
|
||||||
<td>layout</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,003</td>
|
|
||||||
<td>data</td>
|
|
||||||
<td>rich</td>
|
|
||||||
<td>dashboard</td>
|
|
||||||
<td>tabular</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,003</td>
|
|
||||||
<td>information</td>
|
|
||||||
<td>placeholder</td>
|
|
||||||
<td>illustrative</td>
|
|
||||||
<td>data</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,004</td>
|
|
||||||
<td>text</td>
|
|
||||||
<td>random</td>
|
|
||||||
<td>layout</td>
|
|
||||||
<td>dashboard</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,005</td>
|
|
||||||
<td>dashboard</td>
|
|
||||||
<td>irrelevant</td>
|
|
||||||
<td>text</td>
|
|
||||||
<td>placeholder</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,006</td>
|
|
||||||
<td>dashboard</td>
|
|
||||||
<td>illustrative</td>
|
|
||||||
<td>rich</td>
|
|
||||||
<td>data</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,007</td>
|
|
||||||
<td>placeholder</td>
|
|
||||||
<td>tabular</td>
|
|
||||||
<td>information</td>
|
|
||||||
<td>irrelevant</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,008</td>
|
|
||||||
<td>random</td>
|
|
||||||
<td>data</td>
|
|
||||||
<td>placeholder</td>
|
|
||||||
<td>text</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,009</td>
|
|
||||||
<td>placeholder</td>
|
|
||||||
<td>irrelevant</td>
|
|
||||||
<td>visual</td>
|
|
||||||
<td>layout</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,010</td>
|
|
||||||
<td>data</td>
|
|
||||||
<td>rich</td>
|
|
||||||
<td>dashboard</td>
|
|
||||||
<td>tabular</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,011</td>
|
|
||||||
<td>information</td>
|
|
||||||
<td>placeholder</td>
|
|
||||||
<td>illustrative</td>
|
|
||||||
<td>data</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,012</td>
|
|
||||||
<td>text</td>
|
|
||||||
<td>placeholder</td>
|
|
||||||
<td>layout</td>
|
|
||||||
<td>dashboard</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,013</td>
|
|
||||||
<td>dashboard</td>
|
|
||||||
<td>irrelevant</td>
|
|
||||||
<td>text</td>
|
|
||||||
<td>visual</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,014</td>
|
|
||||||
<td>dashboard</td>
|
|
||||||
<td>illustrative</td>
|
|
||||||
<td>rich</td>
|
|
||||||
<td>data</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,015</td>
|
|
||||||
<td>random</td>
|
|
||||||
<td>tabular</td>
|
|
||||||
<td>information</td>
|
|
||||||
<td>text</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
|
||||||
<div class="col-6"><button type="button" class="btn btn-grey rounded-pill">Cancel</button></div>
|
|
||||||
<div class="col-6"><button type="button" class="btn btn-green-admin rounded-pill">Revoke</button></div>
|
|
||||||
<div>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div class="form-actions-no-box">
|
<div class="form-actions-no-box">
|
||||||
<a class="btn btn-green-admin" href="{% url 'idhub:admin_dids_new' %}">{% translate "Add Identity" %} <i class="bi bi-plus"></i></a>
|
<a class="btn btn-green-admin" href="{% url 'idhub:admin_dids_new' %}">{% translate "Add identity" %} <i class="bi bi-plus"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Created at' %}</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Created at' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'File' %}</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'File' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'success' %}</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Success' %}</button></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div class="form-actions-no-box">
|
<div class="form-actions-no-box">
|
||||||
<a class="btn btn-green-admin" href="{% url 'idhub:admin_import_add' %}">{% translate "Import Datas" %} <i class="bi bi-plus"></i></a>
|
<a class="btn btn-green-admin" href="{% url 'idhub:admin_import_add' %}">{% translate "Import data" %} <i class="bi bi-plus"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -13,26 +13,22 @@
|
||||||
<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">Email</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">Email</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Membership' %}</button></th>
|
<th scope="col" class="text-center"><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" class="text-center"><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>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for user in users %}
|
{% for user in users %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ user.last_name }}</td>
|
<td>{{ user.last_name|default:'' }}</td>
|
||||||
<td>{{ user.first_name }}</td>
|
<td>{{ user.first_name|default:'' }}</td>
|
||||||
<td>{{ user.email }}</td>
|
<td>{{ user.email }}</td>
|
||||||
<td>
|
<td class="text-center">
|
||||||
{% for m in user.memberships.all %}
|
{{ user.get_memberships }}
|
||||||
{{ m.get_type }}
|
|
||||||
{% endfor %}
|
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td class="text-center">
|
||||||
{% for r in user.roles.all %}
|
{{ user.get_roles }}
|
||||||
{{ r.service.get_roles }}
|
|
||||||
{% endfor %}
|
|
||||||
</td>
|
</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>
|
||||||
|
|
|
@ -12,7 +12,8 @@
|
||||||
<table class="table table-striped table-sm">
|
<table class="table table-striped table-sm">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<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 'Role' %}</button></th>
|
||||||
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Description' %}</button></th>
|
||||||
<th scope="col"></th>
|
<th scope="col"></th>
|
||||||
<th scope="col"></th>
|
<th scope="col"></th>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -21,6 +22,7 @@
|
||||||
{% for rol in roles.all %}
|
{% for rol in roles.all %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ rol.name }}</td>
|
<td>{{ rol.name }}</td>
|
||||||
|
<td>{{ rol.description|default:""}}</td>
|
||||||
<td><a href="{% url 'idhub:admin_rol_edit' rol.id %}" title="{% trans 'Edit' %}"><i class="bi bi-pencil-square"></i></a></td>
|
<td><a href="{% url 'idhub:admin_rol_edit' rol.id %}" title="{% trans 'Edit' %}"><i class="bi bi-pencil-square"></i></a></td>
|
||||||
<td><a href="{% url 'idhub:admin_rol_del' rol.id %}" title="{% trans 'Delete' %}"><i class="bi bi-trash"></i></a></td>
|
<td><a href="{% url 'idhub:admin_rol_del' rol.id %}" title="{% trans 'Delete' %}"><i class="bi bi-trash"></i></a></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -28,7 +30,7 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div class="form-actions-no-box">
|
<div class="form-actions-no-box">
|
||||||
<a class="btn btn-green-admin" href="{% url 'idhub:admin_rol_new' %}">{% translate "Add Rol" %} <i class="bi bi-plus"></i></a>
|
<a class="btn btn-green-admin" href="{% url 'idhub:admin_rol_new' %}">{% translate "Add Role" %} <i class="bi bi-plus"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div class="form-actions-no-box">
|
<div class="form-actions-no-box">
|
||||||
<a class="btn btn-green-admin" href="{% url 'idhub:admin_schemas_import' %}">{% translate "Add Template" %} <i class="bi bi-plus"></i></a>
|
<a class="btn btn-green-admin" href="{% url 'idhub:admin_schemas_import' %}">{% translate "Add template" %} <i class="bi bi-plus"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -45,7 +45,7 @@
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title" id="exampleModalLabel">{% trans 'Delete Template' %} {{ schema.file_schema }}</h5>
|
<h5 class="modal-title" id="exampleModalLabel">{% trans 'Delete template' %} {{ schema.file_schema }}</h5>
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
<table class="table table-striped table-sm">
|
<table class="table table-striped table-sm">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Template available' %}</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Available templates' %}</button></th>
|
||||||
<th scope="col"></th>
|
<th scope="col"></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Service' %}</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Service' %}</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 'Description' %}</button></th>
|
||||||
<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 'Role' %}</button></th>
|
||||||
<th scope="col"></th>
|
<th scope="col"></th>
|
||||||
<th scope="col"></th>
|
<th scope="col"></th>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
First Name:
|
First Name:
|
||||||
</div>
|
</div>
|
||||||
<div class="col-9 text-secondary">
|
<div class="col-9 text-secondary">
|
||||||
{{ object.first_name }}
|
{{ object.first_name|default:'' }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row border-bottom mt-3">
|
<div class="row border-bottom mt-3">
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
Last Name:
|
Last Name:
|
||||||
</div>
|
</div>
|
||||||
<div class="col-9 text-secondary">
|
<div class="col-9 text-secondary">
|
||||||
{{ object.last_name }}
|
{{ object.last_name|default:'' }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row mt-3">
|
<div class="row mt-3">
|
||||||
|
@ -84,7 +84,7 @@
|
||||||
<table class="table table-striped table-sm">
|
<table class="table table-striped table-sm">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<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 'Role' %}</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 'Description' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Service' %}</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Service' %}</button></th>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -70,7 +70,7 @@
|
||||||
<table class="table table-striped table-sm">
|
<table class="table table-striped table-sm">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<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 'Role' %}</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 'Description' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Service' %}</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>
|
||||||
|
@ -90,7 +90,7 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div class="form-actions-no-box">
|
<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>
|
<a class="btn btn-green-admin" href="{% url 'idhub:admin_people_rol_new' object.id %}">{% translate "Add Role" %} <i class="bi bi-plus"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -66,29 +66,29 @@
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link {% if section == 'Home' %}active {% endif %}fw-bold" aria-current="page" href="{% url 'idhub:user_dashboard' %}">
|
<a class="nav-link {% if section == 'Home' %}active {% endif %}fw-bold" aria-current="page" href="{% url 'idhub:user_dashboard' %}">
|
||||||
<i class="bi bi-house-door icon_sidebar"></i>
|
<i class="bi bi-house-door icon_sidebar"></i>
|
||||||
Home
|
{% trans 'Dashboard' %}
|
||||||
</a>
|
</a>
|
||||||
<hr />
|
<hr />
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<span class="nav-link {% if section == 'MyProfile' %}active {% endif %}fw-bold">
|
<span class="nav-link {% if section == 'MyProfile' %}active {% endif %}fw-bold">
|
||||||
<i class="fa-regular fa-user icon_sidebar"></i>
|
<i class="fa-regular fa-user icon_sidebar"></i>
|
||||||
My datas
|
{% trans 'My information' %}
|
||||||
</span>
|
</span>
|
||||||
<ul class="flex-column mb-2 ul_sidebar">
|
<ul class="flex-column mb-2 ul_sidebar">
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link {% if path == 'user_profile' %}active2{% endif %}" href="{% url 'idhub:user_profile' %}">
|
<a class="nav-link {% if path == 'user_profile' %}active2{% endif %}" href="{% url 'idhub:user_profile' %}">
|
||||||
My personal data
|
{% trans 'My personal information' %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link {% if path == 'user_roles' %}active2{% endif %}" href="{% url 'idhub:user_roles' %}">
|
<a class="nav-link {% if path == 'user_roles' %}active2{% endif %}" href="{% url 'idhub:user_roles' %}">
|
||||||
My roles
|
{% trans 'My roles' %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link {% if path == 'user_gdpr' %}active2{% endif %}" href="{% url 'idhub:user_gdpr' %}">
|
<a class="nav-link {% if path == 'user_gdpr' %}active2{% endif %}" href="{% url 'idhub:user_gdpr' %}">
|
||||||
GDPR info
|
{% trans 'GDPR info' %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -96,27 +96,27 @@
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<span class="nav-link {% if section == 'MyWallet' %}active {% endif %}fw-bold" href="#">
|
<span class="nav-link {% if section == 'MyWallet' %}active {% endif %}fw-bold" href="#">
|
||||||
<i class="bi bi-patch-check icon_sidebar"></i>
|
<i class="bi bi-patch-check icon_sidebar"></i>
|
||||||
My Wallet
|
{% trans 'My wallet' %}
|
||||||
</span>
|
</span>
|
||||||
<ul class="flex-column mb-2 ul_sidebar">
|
<ul class="flex-column mb-2 ul_sidebar">
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link {% if path == 'user_dids' %}active2{% endif %}" href="{% url 'idhub:user_dids' %}">
|
<a class="nav-link {% if path == 'user_dids' %}active2{% endif %}" href="{% url 'idhub:user_dids' %}">
|
||||||
Identities (DID)
|
{% trans 'Identities (DIDs)' %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link {% if path == 'user_credentials' %}active2{% endif %}" href="{% url 'idhub:user_credentials' %}">
|
<a class="nav-link {% if path == 'user_credentials' %}active2{% endif %}" href="{% url 'idhub:user_credentials' %}">
|
||||||
Credentials
|
{% trans 'My credentials' %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link {% if path == 'user_credentials_request' %}active2{% endif %}" href="{% url 'idhub:user_credentials_request' %}">
|
<a class="nav-link {% if path == 'user_credentials_request' %}active2{% endif %}" href="{% url 'idhub:user_credentials_request' %}">
|
||||||
Credentials request
|
{% trans 'Request a credential' %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link {% if path == 'user_credentials_presentation' %}active2{% endif %}" href="{% url 'idhub:user_credentials_presentation' %}">
|
<a class="nav-link {% if path == 'user_credentials_presentation' %}active2{% endif %}" href="{% url 'idhub:user_credentials_presentation' %}">
|
||||||
Credentials Presentation
|
{% trans 'Present a credential' %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -66,24 +66,24 @@
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="admin nav-link {% if section == 'Home' %}active {% endif %}fw-bold" href="{% url 'idhub:admin_dashboard' %}">
|
<a class="admin nav-link {% if section == 'Home' %}active {% endif %}fw-bold" href="{% url 'idhub:admin_dashboard' %}">
|
||||||
<i class="bi bi-house-door icon_sidebar"></i>
|
<i class="bi bi-house-door icon_sidebar"></i>
|
||||||
Home
|
{% trans 'Dashboard' %}
|
||||||
</a>
|
</a>
|
||||||
<hr />
|
<hr />
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="admin {% if section == 'People' %}active {% endif %}nav-link fw-bold" data-bs-toggle="collapse" data-bs-target="#people" aria-expanded="false" aria-controls="people" href="javascript:void()">
|
<a class="admin {% if section == 'People' %}active {% endif %}nav-link fw-bold" data-bs-toggle="collapse" data-bs-target="#people" aria-expanded="false" aria-controls="people" href="javascript:void()">
|
||||||
<i class="bi bi-people icon_sidebar"></i>
|
<i class="bi bi-people icon_sidebar"></i>
|
||||||
People
|
{% trans 'User managament' %}
|
||||||
</a>
|
</a>
|
||||||
<ul class="flex-column mb-2 ul_sidebar accordion-collapse {% if section == 'People' %}expanded{% else %}collapse{% endif %}" id="people" data-bs-parent="#sidebarMenu">
|
<ul class="flex-column mb-2 ul_sidebar accordion-collapse {% if section == 'People' %}expanded{% else %}collapse{% endif %}" id="people" data-bs-parent="#sidebarMenu">
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link{% if path == 'admin_people_list' %} active2{% endif %}" href="{% url 'idhub:admin_people_list' %}">
|
<a class="nav-link{% if path == 'admin_people_list' %} active2{% endif %}" href="{% url 'idhub:admin_people_list' %}">
|
||||||
People list
|
{% trans 'View users' %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link{% if path == 'admin_people_new' %} active2{% endif %}" href="{% url 'idhub:admin_people_new' %}">
|
<a class="nav-link{% if path == 'admin_people_new' %} active2{% endif %}" href="{% url 'idhub:admin_people_new' %}">
|
||||||
Register a new user
|
{% trans 'Add user' %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -91,50 +91,50 @@
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="admin nav-link {% if section == 'AccessControl' %}active {% endif %}fw-bold" data-bs-toggle="collapse" data-bs-target="#control-access" aria-expanded="false" aria-controls="control-access" href="javascript:void()">
|
<a class="admin nav-link {% if section == 'AccessControl' %}active {% endif %}fw-bold" data-bs-toggle="collapse" data-bs-target="#control-access" aria-expanded="false" aria-controls="control-access" href="javascript:void()">
|
||||||
<i class="fa-solid fa-arrow-right-from-bracket icon_sidebar"></i>
|
<i class="fa-solid fa-arrow-right-from-bracket icon_sidebar"></i>
|
||||||
Access Control
|
{% trans 'Access control managament' %}
|
||||||
</a>
|
</a>
|
||||||
<ul class="flex-column mb-2 ul_sidebar accordion-collapse {% if section == 'AccessControl' %}expanded{% else %}collapse{% endif %}" id="control-access" data-bs-parent="#sidebarMenu">
|
<ul class="flex-column mb-2 ul_sidebar accordion-collapse {% if section == 'AccessControl' %}expanded{% else %}collapse{% endif %}" id="control-access" data-bs-parent="#sidebarMenu">
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link{% if path == 'admin_roles' %} active2{% endif %}" href="{% url 'idhub:admin_roles' %}">
|
<a class="nav-link{% if path == 'admin_roles' %} active2{% endif %}" href="{% url 'idhub:admin_roles' %}">
|
||||||
roles
|
{% trans 'Manage roles' %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link{% if path == 'admin_services' %} active2{% endif %}" href="{% url 'idhub:admin_services' %}">
|
<a class="nav-link{% if path == 'admin_services' %} active2{% endif %}" href="{% url 'idhub:admin_services' %}">
|
||||||
Services
|
{% trans 'Manage services' %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="admin nav-link {% if section == 'Credentials' %}active {% endif %}fw-bold" data-bs-toggle="collapse" data-bs-target="#credentials" aria-expanded="false" aria-controls="credentials" href="javascript:void()">
|
<a class="admin nav-link {% if section == 'Credential' %}active {% endif %}fw-bold" data-bs-toggle="collapse" data-bs-target="#credential" aria-expanded="false" aria-controls="credential" href="javascript:void()">
|
||||||
<i class="bi bi-patch-check icon_sidebar"></i>
|
<i class="bi bi-patch-check icon_sidebar"></i>
|
||||||
Credentials
|
{% trans 'Credential management' %}
|
||||||
</a>
|
</a>
|
||||||
<ul class="flex-column mb-2 ul_sidebar accordion-collapse {% if section == 'Credentials' %}expanded{% else %}collapse{% endif %}" id="credentials" data-bs-parent="#sidebarMenu">
|
<ul class="flex-column mb-2 ul_sidebar accordion-collapse {% if section == 'Credential' %}expanded{% else %}collapse{% endif %}" id="credential" data-bs-parent="#sidebarMenu">
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link{% if path == 'admin_credentials' %} active2{% endif %}" href="{% url 'idhub:admin_credentials' %}">
|
<a class="nav-link{% if path == 'admin_credentials' %} active2{% endif %}" href="{% url 'idhub:admin_credentials' %}">
|
||||||
Credentials list
|
{% trans 'View credentials' %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a id="wallet" class="nav-link" data-bs-toggle="collapse" data-bs-target="#lwallet" aria-expanded="false" aria-controls="lwallet" href="javascript:void()">
|
<a id="wallet" class="nav-link" data-bs-toggle="collapse" data-bs-target="#lwallet" aria-expanded="false" aria-controls="lwallet" href="javascript:void()">
|
||||||
Wallet
|
{% trans "Organization's wallet" %}
|
||||||
</a>
|
</a>
|
||||||
<ul class="flex-column mb-2 accordion-collapse {% if wallet %}expanded{% else %}collapse{% endif %}" id="lwallet" data-bs-parent="#wallet">
|
<ul class="flex-column mb-2 accordion-collapse {% if wallet %}expanded{% else %}collapse{% endif %}" id="lwallet" data-bs-parent="#wallet">
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link{% if path == 'admin_dids' %} active2{% endif %}" href="{% url 'idhub:admin_dids' %}">
|
<a class="nav-link{% if path == 'admin_dids' %} active2{% endif %}" href="{% url 'idhub:admin_dids' %}">
|
||||||
Identities (DID)
|
{% trans 'Manage Identities (DIDs)' %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link{% if path == 'admin_wallet_credentials' %} active2{% endif %}" href="{% url 'idhub:admin_wallet_credentials' %}">
|
<a class="nav-link{% if path == 'admin_wallet_credentials' %} active2{% endif %}" href="{% url 'idhub:admin_wallet_credentials' %}">
|
||||||
Credentials
|
{% trans 'View org. credentials' %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link{% if path == 'admin_wallet_config_issue' %} active2{% endif %}" href="{% url 'idhub:admin_wallet_config_issue' %}">
|
<a class="nav-link{% if path == 'admin_wallet_config_issue' %} active2{% endif %}" href="{% url 'idhub:admin_wallet_config_issue' %}">
|
||||||
Configure Issue
|
{% trans 'Configure credential issuance' %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -144,13 +144,13 @@
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="admin nav-link {% if section == 'Templates' %}active {% endif %}fw-bold" href="{% url 'idhub:admin_schemas' %}">
|
<a class="admin nav-link {% if section == 'Templates' %}active {% endif %}fw-bold" href="{% url 'idhub:admin_schemas' %}">
|
||||||
<i class="bi bi-file-earmark-text icon_sidebar"></i>
|
<i class="bi bi-file-earmark-text icon_sidebar"></i>
|
||||||
Templates
|
{% trans 'Credential template management' %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="admin nav-link {% if section == 'ImportExport' %}active {% endif %}fw-bold" href="{% url 'idhub:admin_import' %}">
|
<a class="admin nav-link {% if section == 'ImportExport' %}active {% endif %}fw-bold" href="{% url 'idhub:admin_import' %}">
|
||||||
<i class="bi bi-arrow-down-square icon_sidebar"></i>
|
<i class="bi bi-arrow-down-square icon_sidebar"></i>
|
||||||
Import Datas
|
{% trans 'Import data' %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -14,8 +14,8 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Type' %}</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Type' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Details' %}</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Details' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Issue' %}</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Issued' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Status' %}</button></th>
|
<th scope="col" class="text-center"><button type="button" class="btn btn-grey border border-dark">{% trans 'Status' %}</button></th>
|
||||||
<th scope="col"></th>
|
<th scope="col"></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
@ -24,8 +24,8 @@
|
||||||
<tr style="font-size:15px;">
|
<tr style="font-size:15px;">
|
||||||
<td>{{ f.type }}</td>
|
<td>{{ f.type }}</td>
|
||||||
<td>{{ f.description }}</td>
|
<td>{{ f.description }}</td>
|
||||||
<td>{{ f.issue_on }}</td>
|
<td>{{ f.get_issued_on }}</td>
|
||||||
<td>{{ f.get_status }}</td>
|
<td class="text-center">{{ f.get_status }}</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="{% url 'idhub:user_credential' f.id %}" class="text-primary">
|
<a href="{% url 'idhub:user_credential' f.id %}" class="text-primary">
|
||||||
<i class="bi bi-eye"></i>
|
<i class="bi bi-eye"></i>
|
||||||
|
|
|
@ -10,131 +10,20 @@
|
||||||
<table class="table table-striped table-sm">
|
<table class="table table-striped table-sm">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="col">#</th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Type' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-green-user border border-dark">Header</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">Header</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Date' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-green-user">Header</button></th>
|
|
||||||
<th scope="col"><button type="button" class="btn btn-grey">Header</button></th>
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
{% for ev in user.events.all %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>1,001</td>
|
<td>{{ ev.get_type }}</td>
|
||||||
<td>random</td>
|
<td>{{ ev.message }}</td>
|
||||||
<td>data</td>
|
<td>{{ ev.created }}</td>
|
||||||
<td>placeholder</td>
|
|
||||||
<td>text</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,002</td>
|
|
||||||
<td>placeholder</td>
|
|
||||||
<td>irrelevant</td>
|
|
||||||
<td>visual</td>
|
|
||||||
<td>layout</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,003</td>
|
|
||||||
<td>data</td>
|
|
||||||
<td>rich</td>
|
|
||||||
<td>dashboard</td>
|
|
||||||
<td>tabular</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,003</td>
|
|
||||||
<td>information</td>
|
|
||||||
<td>placeholder</td>
|
|
||||||
<td>illustrative</td>
|
|
||||||
<td>data</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,004</td>
|
|
||||||
<td>text</td>
|
|
||||||
<td>random</td>
|
|
||||||
<td>layout</td>
|
|
||||||
<td>dashboard</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,005</td>
|
|
||||||
<td>dashboard</td>
|
|
||||||
<td>irrelevant</td>
|
|
||||||
<td>text</td>
|
|
||||||
<td>placeholder</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,006</td>
|
|
||||||
<td>dashboard</td>
|
|
||||||
<td>illustrative</td>
|
|
||||||
<td>rich</td>
|
|
||||||
<td>data</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,007</td>
|
|
||||||
<td>placeholder</td>
|
|
||||||
<td>tabular</td>
|
|
||||||
<td>information</td>
|
|
||||||
<td>irrelevant</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,008</td>
|
|
||||||
<td>random</td>
|
|
||||||
<td>data</td>
|
|
||||||
<td>placeholder</td>
|
|
||||||
<td>text</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,009</td>
|
|
||||||
<td>placeholder</td>
|
|
||||||
<td>irrelevant</td>
|
|
||||||
<td>visual</td>
|
|
||||||
<td>layout</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,010</td>
|
|
||||||
<td>data</td>
|
|
||||||
<td>rich</td>
|
|
||||||
<td>dashboard</td>
|
|
||||||
<td>tabular</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,011</td>
|
|
||||||
<td>information</td>
|
|
||||||
<td>placeholder</td>
|
|
||||||
<td>illustrative</td>
|
|
||||||
<td>data</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,012</td>
|
|
||||||
<td>text</td>
|
|
||||||
<td>placeholder</td>
|
|
||||||
<td>layout</td>
|
|
||||||
<td>dashboard</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,013</td>
|
|
||||||
<td>dashboard</td>
|
|
||||||
<td>irrelevant</td>
|
|
||||||
<td>text</td>
|
|
||||||
<td>visual</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,014</td>
|
|
||||||
<td>dashboard</td>
|
|
||||||
<td>illustrative</td>
|
|
||||||
<td>rich</td>
|
|
||||||
<td>data</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>1,015</td>
|
|
||||||
<td>random</td>
|
|
||||||
<td>tabular</td>
|
|
||||||
<td>information</td>
|
|
||||||
<td>text</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
|
||||||
<div class="col-6"><button type="button" class="btn btn-yellow rounded-pill">Cancel</button></div>
|
|
||||||
<div class="col-6"><button type="button" class="btn btn-green-user rounded-pill">Revoke</button></div>
|
|
||||||
<div>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -31,11 +31,6 @@
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% bootstrap_form form %}
|
{% bootstrap_form form %}
|
||||||
<div class="form-actions-no-box">
|
|
||||||
<a class="btn btn-secondary" href="{% url 'idhub:user_profile' %}">{% translate "Cancel" %}</a>
|
|
||||||
<input class="btn btn-success" type="submit" name="submit" value="{% translate 'Save' %}" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
<table class="table table-striped table-sm">
|
<table class="table table-striped table-sm">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<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 'Role' %}</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 'Description' %}</button></th>
|
||||||
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Service' %}</button></th>
|
<th scope="col"><button type="button" class="btn btn-grey border border-dark">{% trans 'Service' %}</button></th>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -44,7 +44,7 @@ class RequestCredentialForm(forms.Form):
|
||||||
|
|
||||||
did = did[0].did
|
did = did[0].did
|
||||||
cred = cred[0]
|
cred = cred[0]
|
||||||
cred.get_issued(did)
|
cred.issue(did)
|
||||||
|
|
||||||
if commit:
|
if commit:
|
||||||
cred.save()
|
cred.save()
|
||||||
|
@ -72,23 +72,23 @@ class CredentialPresentationForm(forms.Form):
|
||||||
]
|
]
|
||||||
|
|
||||||
def save(self, commit=True):
|
def save(self, commit=True):
|
||||||
org = Organization.objects.filter(
|
self.org = Organization.objects.filter(
|
||||||
id=self.data['organization']
|
id=self.data['organization']
|
||||||
)
|
)
|
||||||
cred = VerificableCredential.objects.filter(
|
self.cred = VerificableCredential.objects.filter(
|
||||||
user=self.user,
|
user=self.user,
|
||||||
id=self.data['credential'],
|
id=self.data['credential'],
|
||||||
status=VerificableCredential.Status.ISSUED
|
status=VerificableCredential.Status.ISSUED
|
||||||
)
|
)
|
||||||
if not all([org.exists(), cred.exists()]):
|
if not all([self.org.exists(), self.cred.exists()]):
|
||||||
return
|
return
|
||||||
|
|
||||||
org =org[0]
|
self.org = self.org[0]
|
||||||
cred = cred[0]
|
self.cred = self.cred[0]
|
||||||
|
|
||||||
if commit:
|
if commit:
|
||||||
org.send(cred)
|
self.org.send(self.cred)
|
||||||
return cred
|
return self.cred
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ from django.contrib import messages
|
||||||
from utils.apiregiter import iota
|
from utils.apiregiter import iota
|
||||||
from idhub.user.forms import ProfileForm, RequestCredentialForm, CredentialPresentationForm
|
from idhub.user.forms import ProfileForm, RequestCredentialForm, CredentialPresentationForm
|
||||||
from idhub.mixins import UserView
|
from idhub.mixins import UserView
|
||||||
from idhub.models import DID, VerificableCredential
|
from idhub.models import DID, VerificableCredential, Event
|
||||||
|
|
||||||
|
|
||||||
class MyProfile(UserView):
|
class MyProfile(UserView):
|
||||||
|
@ -24,7 +24,7 @@ class MyProfile(UserView):
|
||||||
|
|
||||||
|
|
||||||
class MyWallet(UserView):
|
class MyWallet(UserView):
|
||||||
title = _("My Wallet")
|
title = _("My wallet")
|
||||||
section = "MyWallet"
|
section = "MyWallet"
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ class DashboardView(UserView, TemplateView):
|
||||||
|
|
||||||
class ProfileView(MyProfile, UpdateView):
|
class ProfileView(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
|
||||||
fields = ('first_name', 'last_name', 'email')
|
fields = ('first_name', 'last_name', 'email')
|
||||||
|
@ -47,6 +47,16 @@ class ProfileView(MyProfile, UpdateView):
|
||||||
def get_object(self):
|
def get_object(self):
|
||||||
return self.request.user
|
return self.request.user
|
||||||
|
|
||||||
|
def get_form(self):
|
||||||
|
form = super().get_form()
|
||||||
|
form.fields['first_name'].disabled = True
|
||||||
|
form.fields['last_name'].disabled = True
|
||||||
|
form.fields['email'].disabled = True
|
||||||
|
return form
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
return super().form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
class RolesView(MyProfile, TemplateView):
|
class RolesView(MyProfile, TemplateView):
|
||||||
template_name = "idhub/user/roles.html"
|
template_name = "idhub/user/roles.html"
|
||||||
|
@ -62,7 +72,7 @@ class GDPRView(MyProfile, TemplateView):
|
||||||
|
|
||||||
class CredentialsView(MyWallet, TemplateView):
|
class CredentialsView(MyWallet, TemplateView):
|
||||||
template_name = "idhub/user/credentials.html"
|
template_name = "idhub/user/credentials.html"
|
||||||
subtitle = _('Credentials')
|
subtitle = _('Credential management')
|
||||||
icon = 'bi bi-patch-check-fill'
|
icon = 'bi bi-patch-check-fill'
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
|
@ -111,7 +121,7 @@ class CredentialJsonView(MyWallet, TemplateView):
|
||||||
|
|
||||||
class CredentialsRequestView(MyWallet, FormView):
|
class CredentialsRequestView(MyWallet, FormView):
|
||||||
template_name = "idhub/user/credentials_request.html"
|
template_name = "idhub/user/credentials_request.html"
|
||||||
subtitle = _('Credentials request')
|
subtitle = _('Credential request')
|
||||||
icon = 'bi bi-patch-check-fill'
|
icon = 'bi bi-patch-check-fill'
|
||||||
form_class = RequestCredentialForm
|
form_class = RequestCredentialForm
|
||||||
success_url = reverse_lazy('idhub:user_credentials')
|
success_url = reverse_lazy('idhub:user_credentials')
|
||||||
|
@ -124,15 +134,17 @@ class CredentialsRequestView(MyWallet, FormView):
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
cred = form.save()
|
cred = form.save()
|
||||||
if cred:
|
if cred:
|
||||||
messages.success(self.request, _("The credential was required successfully!"))
|
messages.success(self.request, _("The credential was issued successfully!"))
|
||||||
|
Event.set_EV_CREDENTIAL_ISSUED_FOR_USER(cred)
|
||||||
|
Event.set_EV_CREDENTIAL_ISSUED(cred)
|
||||||
else:
|
else:
|
||||||
messages.error(self.request, _("Not exists the credential!"))
|
messages.error(self.request, _("The credential does not exist!"))
|
||||||
return super().form_valid(form)
|
return super().form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
class CredentialsPresentationView(MyWallet, FormView):
|
class CredentialsPresentationView(MyWallet, FormView):
|
||||||
template_name = "idhub/user/credentials_presentation.html"
|
template_name = "idhub/user/credentials_presentation.html"
|
||||||
subtitle = _('Credentials Presentation')
|
subtitle = _('Credential presentation')
|
||||||
icon = 'bi bi-patch-check-fill'
|
icon = 'bi bi-patch-check-fill'
|
||||||
form_class = CredentialPresentationForm
|
form_class = CredentialPresentationForm
|
||||||
success_url = reverse_lazy('idhub:user_credentials')
|
success_url = reverse_lazy('idhub:user_credentials')
|
||||||
|
@ -145,6 +157,8 @@ class CredentialsPresentationView(MyWallet, FormView):
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
cred = form.save()
|
cred = form.save()
|
||||||
if cred:
|
if cred:
|
||||||
|
Event.set_EV_CREDENTIAL_PRESENTED_BY_USER(cred, form.org)
|
||||||
|
Event.set_EV_CREDENTIAL_PRESENTED(cred, form.org)
|
||||||
messages.success(self.request, _("The credential was presented successfully!"))
|
messages.success(self.request, _("The credential was presented successfully!"))
|
||||||
else:
|
else:
|
||||||
messages.error(self.request, _("Error sending credential!"))
|
messages.error(self.request, _("Error sending credential!"))
|
||||||
|
@ -153,7 +167,7 @@ class CredentialsPresentationView(MyWallet, FormView):
|
||||||
|
|
||||||
class DidsView(MyWallet, TemplateView):
|
class DidsView(MyWallet, TemplateView):
|
||||||
template_name = "idhub/user/dids.html"
|
template_name = "idhub/user/dids.html"
|
||||||
subtitle = _('Identities (DID)')
|
subtitle = _('Identities (DIDs)')
|
||||||
icon = 'bi bi-patch-check-fill'
|
icon = 'bi bi-patch-check-fill'
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
|
@ -166,7 +180,7 @@ class DidsView(MyWallet, TemplateView):
|
||||||
|
|
||||||
class DidRegisterView(MyWallet, CreateView):
|
class DidRegisterView(MyWallet, CreateView):
|
||||||
template_name = "idhub/user/did_register.html"
|
template_name = "idhub/user/did_register.html"
|
||||||
subtitle = _('Add a new Identities (DID)')
|
subtitle = _('Add a new Identity (DID)')
|
||||||
icon = 'bi bi-patch-check-fill'
|
icon = 'bi bi-patch-check-fill'
|
||||||
wallet = True
|
wallet = True
|
||||||
model = DID
|
model = DID
|
||||||
|
@ -174,24 +188,20 @@ class DidRegisterView(MyWallet, CreateView):
|
||||||
success_url = reverse_lazy('idhub:user_dids')
|
success_url = reverse_lazy('idhub:user_dids')
|
||||||
object = None
|
object = None
|
||||||
|
|
||||||
# def get_form_kwargs(self):
|
|
||||||
# kwargs = super().get_form_kwargs()
|
|
||||||
# kwargs['initial'] = {
|
|
||||||
# 'user': self.request.user
|
|
||||||
# }
|
|
||||||
# return kwargs
|
|
||||||
|
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
form.instance.user = self.request.user
|
form.instance.user = self.request.user
|
||||||
form.instance.did = iota.issue_did()
|
form.instance.did = iota.issue_did()
|
||||||
form.save()
|
form.save()
|
||||||
messages.success(self.request, _('DID created successfully'))
|
messages.success(self.request, _('DID created successfully'))
|
||||||
|
|
||||||
|
Event.set_EV_DID_CREATED(form.instance)
|
||||||
|
Event.set_EV_DID_CREATED_BY_USER(form.instance)
|
||||||
return super().form_valid(form)
|
return super().form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
class DidEditView(MyWallet, UpdateView):
|
class DidEditView(MyWallet, UpdateView):
|
||||||
template_name = "idhub/user/did_register.html"
|
template_name = "idhub/user/did_register.html"
|
||||||
subtitle = _('Identities (DID)')
|
subtitle = _('Identities (DIDs)')
|
||||||
icon = 'bi bi-patch-check-fill'
|
icon = 'bi bi-patch-check-fill'
|
||||||
wallet = True
|
wallet = True
|
||||||
model = DID
|
model = DID
|
||||||
|
@ -210,7 +220,7 @@ class DidEditView(MyWallet, UpdateView):
|
||||||
|
|
||||||
|
|
||||||
class DidDeleteView(MyWallet, DeleteView):
|
class DidDeleteView(MyWallet, DeleteView):
|
||||||
subtitle = _('Identities (DID)')
|
subtitle = _('Identities (DIDs)')
|
||||||
icon = 'bi bi-patch-check-fill'
|
icon = 'bi bi-patch-check-fill'
|
||||||
wallet = True
|
wallet = True
|
||||||
model = DID
|
model = DID
|
||||||
|
@ -219,7 +229,9 @@ class DidDeleteView(MyWallet, DeleteView):
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
self.pk = kwargs['pk']
|
self.pk = kwargs['pk']
|
||||||
self.object = get_object_or_404(self.model, pk=self.pk)
|
self.object = get_object_or_404(self.model, pk=self.pk)
|
||||||
|
Event.set_EV_DID_DELETED(self.object)
|
||||||
self.object.delete()
|
self.object.delete()
|
||||||
messages.success(self.request, _('DID delete successfully'))
|
messages.success(self.request, _('DID delete successfully'))
|
||||||
|
|
||||||
return redirect(self.success_url)
|
return redirect(self.success_url)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
import re
|
||||||
|
|
||||||
|
from django import forms
|
||||||
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
from idhub_auth.models import User
|
||||||
|
|
||||||
|
|
||||||
|
class ProfileForm(forms.ModelForm):
|
||||||
|
first_name = forms.CharField(required=True)
|
||||||
|
last_name = forms.CharField(required=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = User
|
||||||
|
fields = ['first_name', 'last_name', 'email']
|
||||||
|
|
||||||
|
def clean_first_name(self):
|
||||||
|
first_name = super().clean()['first_name']
|
||||||
|
if not re.match(r'^[a-zA-Z\s]+$', first_name):
|
||||||
|
txt = _("The string must contain only characters and spaces")
|
||||||
|
raise forms.ValidationError(txt)
|
||||||
|
|
||||||
|
return first_name
|
||||||
|
|
||||||
|
def clean_last_name(self):
|
||||||
|
last_name = super().clean()['last_name']
|
||||||
|
if not re.match(r'^[a-zA-Z\s]+$', last_name):
|
||||||
|
txt = _("The string must contain only characters and spaces")
|
||||||
|
raise forms.ValidationError(txt)
|
||||||
|
|
||||||
|
return last_name
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Generated by Django 4.2.5 on 2023-11-02 15:08
|
# Generated by Django 4.2.5 on 2023-11-14 16:32
|
||||||
|
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
|
@ -72,3 +72,16 @@ class User(AbstractBaseUser):
|
||||||
def username(self):
|
def username(self):
|
||||||
"Is the email of the user"
|
"Is the email of the user"
|
||||||
return self.email
|
return self.email
|
||||||
|
|
||||||
|
def get_memberships(self):
|
||||||
|
members = set(
|
||||||
|
str(dict(x.Types.choices)[x.type]) for x in self.memberships.all()
|
||||||
|
)
|
||||||
|
return ", ".join(members)
|
||||||
|
|
||||||
|
def get_roles(self):
|
||||||
|
roles = []
|
||||||
|
for s in self.roles.all():
|
||||||
|
for r in s.service.rol.all():
|
||||||
|
roles.append(r.name)
|
||||||
|
return ", ".join(set(roles))
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-11-07 17:57+0100\n"
|
"POT-Creation-Date: 2023-11-13 11:11+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -1533,233 +1533,400 @@ msgstr ""
|
||||||
msgid "show this help message and exit"
|
msgid "show this help message and exit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:39 idhub/user/views.py:33
|
#: idhub/admin/forms.py:106
|
||||||
|
msgid "The user does not exist!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:43 idhub/templates/idhub/base.html:69
|
||||||
|
#: idhub/templates/idhub/base_admin.html:69 idhub/user/views.py:33
|
||||||
msgid "Dashboard"
|
msgid "Dashboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:40 idhub/user/views.py:34
|
#: idhub/admin/views.py:44 idhub/templates/idhub/admin/import.html:17
|
||||||
|
#: idhub/user/views.py:34
|
||||||
msgid "Success"
|
msgid "Success"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:45
|
#: idhub/admin/views.py:56
|
||||||
msgid "People Management"
|
msgid "User Management"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:50
|
#: idhub/admin/views.py:61
|
||||||
msgid "Access Control Management"
|
msgid "Access control management"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:55
|
#: idhub/admin/views.py:66
|
||||||
msgid "Credentials Management"
|
msgid "Credential Management"
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/admin/views.py:60
|
|
||||||
msgid "Templates Management"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/admin/views.py:65
|
|
||||||
msgid "Massive Data Management"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:71
|
#: idhub/admin/views.py:71
|
||||||
msgid "People list"
|
msgid "Template Management"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:84
|
#: idhub/admin/views.py:76
|
||||||
msgid "User Profile"
|
msgid "Data file management"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:108
|
#: idhub/admin/views.py:82 idhub/templates/idhub/base_admin.html:81
|
||||||
|
msgid "View users"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:95
|
||||||
|
msgid "User personal information"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:119
|
||||||
msgid "Is not possible deactivate your account!"
|
msgid "Is not possible deactivate your account!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:129 idhub/admin/views.py:235
|
#: idhub/admin/views.py:143 idhub/admin/views.py:261
|
||||||
msgid "Is not possible delete your account!"
|
msgid "Is not possible delete your account!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:141
|
#: idhub/admin/views.py:155
|
||||||
msgid "People Register"
|
msgid "The account is updated successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:156
|
#: idhub/admin/views.py:164 idhub/templates/idhub/base_admin.html:86
|
||||||
msgid "The account is created successfully"
|
msgid "Add user"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:167 idhub/admin/views.py:204
|
#: idhub/admin/views.py:179
|
||||||
|
msgid "The account was created successfully"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:193
|
||||||
|
msgid "Associate a membership to the user"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:230
|
||||||
msgid "People add membership"
|
msgid "People add membership"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:242
|
#: idhub/admin/views.py:268
|
||||||
msgid "Add Rol to User"
|
msgid "Add a user role to access a service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:272
|
#: idhub/admin/views.py:298
|
||||||
msgid "Edit Rol to User"
|
msgid "Modify a user role to access a service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:307
|
#: idhub/admin/views.py:333 idhub/templates/idhub/base_admin.html:99
|
||||||
msgid "Roles Management"
|
msgid "Manage roles"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:319 idhub/templates/idhub/admin/roles.html:31
|
#: idhub/admin/views.py:345 idhub/templates/idhub/admin/roles.html:31
|
||||||
#: idhub/templates/idhub/admin/user_edit.html:93
|
#: idhub/templates/idhub/admin/user_edit.html:93
|
||||||
msgid "Add Rol"
|
msgid "Add Role"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:329
|
#: idhub/admin/views.py:354
|
||||||
msgid "Edit Rol"
|
msgid "Role created successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:356
|
#: idhub/admin/views.py:361
|
||||||
msgid "Service Management"
|
msgid "Edit Role"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:368 idhub/templates/idhub/admin/services.html:35
|
#: idhub/admin/views.py:376
|
||||||
msgid "Add Service"
|
msgid "Role updated successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:378
|
#: idhub/admin/views.py:389
|
||||||
msgid "Edit Service"
|
msgid "Role deleted successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:405
|
#: idhub/admin/views.py:396 idhub/templates/idhub/base_admin.html:104
|
||||||
msgid "Credentials list"
|
msgid "Manage services"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:418
|
#: idhub/admin/views.py:408
|
||||||
|
msgid "Add service"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:417
|
||||||
|
msgid "Service created successfully"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:424
|
||||||
|
msgid "Modify service"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:439
|
||||||
|
msgid "Service updated successfully"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:452
|
||||||
|
msgid "Service deleted successfully"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:459 idhub/templates/idhub/base_admin.html:117
|
||||||
|
msgid "View credentials"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:472
|
||||||
msgid "Change status of Credential"
|
msgid "Change status of Credential"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:460
|
#: idhub/admin/views.py:514
|
||||||
msgid "Credential revoked successfully"
|
msgid "Credential revoked successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:480
|
#: idhub/admin/views.py:536
|
||||||
msgid "Credential deleted successfully"
|
msgid "Credential deleted successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:487 idhub/admin/views.py:518 idhub/admin/views.py:537
|
#: idhub/admin/views.py:545
|
||||||
msgid "Organization Identities (DID)"
|
msgid "Manage Identities (DID)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:500
|
#: idhub/admin/views.py:558
|
||||||
msgid "Add a new Organization Identities (DID)"
|
msgid "Add a new Organization Identities (DID)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:512 idhub/user/views.py:188
|
#: idhub/admin/views.py:570 idhub/user/views.py:195
|
||||||
msgid "DID created successfully"
|
msgid "DID created successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:532 idhub/user/views.py:208
|
#: idhub/admin/views.py:577 idhub/admin/views.py:596
|
||||||
|
msgid "Organization Identities (DID)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:591 idhub/user/views.py:218
|
||||||
msgid "DID updated successfully"
|
msgid "DID updated successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:547 idhub/user/views.py:223
|
#: idhub/admin/views.py:607 idhub/user/views.py:234
|
||||||
msgid "DID delete successfully"
|
msgid "DID delete successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:554 idhub/templates/idhub/user/profile.html:51
|
#: idhub/admin/views.py:613 idhub/templates/idhub/base_admin.html:132
|
||||||
#: idhub/user/views.py:65
|
msgid "View org. credentials"
|
||||||
msgid "Credentials"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:561
|
#: idhub/admin/views.py:620 idhub/templates/idhub/base_admin.html:137
|
||||||
msgid "Configure Issues"
|
msgid "Configure credential issuance"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:568
|
#: idhub/admin/views.py:627
|
||||||
msgid "Template List"
|
msgid "View credential templates"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:602
|
#: idhub/admin/views.py:661
|
||||||
msgid "Upload Template"
|
msgid "Upload template"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:618 idhub/admin/views.py:744
|
#: idhub/admin/views.py:677
|
||||||
msgid "There are some errors in the file"
|
msgid "There are some errors in the file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:632
|
#: idhub/admin/views.py:691
|
||||||
msgid "This template already exists!"
|
msgid "This template already exists!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:638 idhub/admin/views.py:683
|
#: idhub/admin/views.py:697 idhub/admin/views.py:742
|
||||||
msgid "This is not a schema valid!"
|
msgid "This is not a schema valid!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:647
|
#: idhub/admin/views.py:706
|
||||||
msgid "Import Template"
|
msgid "Import template"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:675
|
#: idhub/admin/views.py:734
|
||||||
msgid "The schema add successfully!"
|
msgid "The schema was added sucessfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:700 idhub/admin/views.py:713 idhub/admin/views.py:726
|
#: idhub/admin/views.py:759 idhub/templates/idhub/admin/import.html:31
|
||||||
|
#: idhub/templates/idhub/base_admin.html:153
|
||||||
|
msgid "Import data"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:772 idhub/admin/views.py:785
|
||||||
msgid "Import"
|
msgid "Import"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:755
|
#: idhub/admin/views.py:798
|
||||||
msgid "There aren't file"
|
msgid "The file import was successfully!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:760
|
#: idhub/admin/views.py:803
|
||||||
msgid "This file already exists!"
|
msgid "Error importing the file!"
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/admin/views.py:799
|
|
||||||
msgid "The user not exist!"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/models.py:57
|
|
||||||
msgid "Enabled"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:58
|
#: idhub/models.py:58
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"The user {username} was registered: name: {first_name}, last name: "
|
||||||
|
"{last_name}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:70
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"Welcome. You has been registered: name: {first_name}, last name: {last_name}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:83
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"The user '{username}' has request the update of the following information: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:95
|
||||||
|
msgid "You have requested the update of the following information: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:132
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "The admin has deleted the user: username: {username}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:142
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "New DID with DID-ID: '{did}' created by user '{username}'"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:153
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "New DID with label: '{label}' and DID-ID: '{did}' was created'"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:165
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"The DID with label '{label}' and DID-ID: '{did}' was deleted from your wallet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:177
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "The credential of type '{type}' and ID: '{id}' was deleted"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:188
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"The credential of type '{type}' and ID: '{id}' was deleted from your wallet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:200
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"The credential of type '{type}' and ID: '{id}' was issued for user {username}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:212
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"The credential of type '{type}' and ID: '{id}' was issued and stored in your "
|
||||||
|
"wallet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:254
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "The credential of type '{type}' was enabled for user {username}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:265
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "You can request the '{type}' credential"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:276
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "The credential of type '{type}' and ID: '{id}' was revoked for "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:287
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "The credential of type '{type}' and ID: '{id}' was revoked by admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:299
|
||||||
|
msgid "A new role was created by admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:307
|
||||||
|
msgid "The role was modified by admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:315
|
||||||
|
msgid "The role was removed by admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:323
|
||||||
|
msgid "A new service was created by admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:331
|
||||||
|
msgid "The service was modified by admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:339
|
||||||
|
msgid "The service was removed by admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:347
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"New Organisational DID with label: '{label}' and DID-ID: '{did}' was created"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:358
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"Organisational DID with label: '{label}' and DID-ID: '{did}' was removed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:438
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:439 idhub/templates/idhub/admin/credentials.html:17
|
||||||
|
#: idhub/templates/idhub/user/credentials.html:17
|
||||||
msgid "Issued"
|
msgid "Issued"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:59
|
#: idhub/models.py:440
|
||||||
msgid "Revoked"
|
msgid "Revoked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:60
|
#: idhub/models.py:441
|
||||||
msgid "Expired"
|
msgid "Expired"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:118
|
#: idhub/models.py:499
|
||||||
msgid "Beneficiary"
|
msgid "Beneficiary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:119
|
#: idhub/models.py:500
|
||||||
msgid "Employee"
|
msgid "Employee"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:120
|
#: idhub/models.py:501
|
||||||
msgid "Partner"
|
msgid "Member"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:122
|
#: idhub/models.py:503
|
||||||
msgid "Type of membership"
|
msgid "Type of membership"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:124
|
#: idhub/models.py:505
|
||||||
msgid "Start date"
|
msgid "Start date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:125
|
#: idhub/models.py:506
|
||||||
msgid "What date did the membership start?"
|
msgid "What date did the membership start?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:130
|
#: idhub/models.py:511
|
||||||
msgid "End date"
|
msgid "End date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:131
|
#: idhub/models.py:512
|
||||||
msgid "What date did the membership end?"
|
msgid "What date will the membership end?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:183
|
#: idhub/models.py:564
|
||||||
msgid "Url where to send the presentation"
|
msgid "Url where to send the presentation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1889,7 +2056,9 @@ msgid "Password reset on %(site_name)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/credentials.html:15
|
#: idhub/templates/idhub/admin/credentials.html:15
|
||||||
|
#: idhub/templates/idhub/admin/dashboard.html:13
|
||||||
#: idhub/templates/idhub/user/credentials.html:15
|
#: idhub/templates/idhub/user/credentials.html:15
|
||||||
|
#: idhub/templates/idhub/user/dashboard.html:13
|
||||||
#: idhub/templates/templates/musician/billing.html:21
|
#: idhub/templates/templates/musician/billing.html:21
|
||||||
#: idhub/templates/templates/musician/databases.html:17
|
#: idhub/templates/templates/musician/databases.html:17
|
||||||
#: idhub/templates/templates/musician/domain_detail.html:17
|
#: idhub/templates/templates/musician/domain_detail.html:17
|
||||||
|
@ -1901,11 +2070,6 @@ msgstr ""
|
||||||
msgid "Details"
|
msgid "Details"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/credentials.html:17
|
|
||||||
#: idhub/templates/idhub/user/credentials.html:17
|
|
||||||
msgid "Issue"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/credentials.html:18
|
#: idhub/templates/idhub/admin/credentials.html:18
|
||||||
#: idhub/templates/idhub/user/credentials.html:18
|
#: idhub/templates/idhub/user/credentials.html:18
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
|
@ -1921,8 +2085,25 @@ msgstr ""
|
||||||
msgid "View"
|
msgid "View"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/admin/dashboard.html:14
|
||||||
|
#: idhub/templates/idhub/admin/schemas.html:18
|
||||||
|
#: idhub/templates/idhub/admin/services.html:16
|
||||||
|
#: idhub/templates/idhub/admin/user.html:88
|
||||||
|
#: idhub/templates/idhub/admin/user_edit.html:74
|
||||||
|
#: idhub/templates/idhub/user/dashboard.html:14
|
||||||
|
#: idhub/templates/idhub/user/roles.html:16
|
||||||
|
msgid "Description"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/admin/dashboard.html:15
|
||||||
|
#: idhub/templates/idhub/admin/dids.html:15
|
||||||
|
#: idhub/templates/idhub/user/dashboard.html:15
|
||||||
|
#: idhub/templates/idhub/user/dids.html:15
|
||||||
|
msgid "Date"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/did_register.html:29
|
#: idhub/templates/idhub/admin/did_register.html:29
|
||||||
#: idhub/templates/idhub/admin/import_step3.html:27
|
#: idhub/templates/idhub/admin/import_add.html:27
|
||||||
#: idhub/templates/idhub/admin/people_membership_register.html:29
|
#: idhub/templates/idhub/admin/people_membership_register.html:29
|
||||||
#: idhub/templates/idhub/admin/people_register.html:25
|
#: idhub/templates/idhub/admin/people_register.html:25
|
||||||
#: idhub/templates/idhub/admin/people_rol_register.html:29
|
#: idhub/templates/idhub/admin/people_rol_register.html:29
|
||||||
|
@ -1933,7 +2114,6 @@ msgstr ""
|
||||||
#: idhub/templates/idhub/user/credentials_presentation.html:29
|
#: idhub/templates/idhub/user/credentials_presentation.html:29
|
||||||
#: idhub/templates/idhub/user/credentials_request.html:29
|
#: idhub/templates/idhub/user/credentials_request.html:29
|
||||||
#: idhub/templates/idhub/user/did_register.html:29
|
#: idhub/templates/idhub/user/did_register.html:29
|
||||||
#: idhub/templates/idhub/user/profile.html:35
|
|
||||||
#: idhub/templates/templates/musician/address_check_delete.html:10
|
#: idhub/templates/templates/musician/address_check_delete.html:10
|
||||||
#: idhub/templates/templates/musician/address_form.html:11
|
#: idhub/templates/templates/musician/address_form.html:11
|
||||||
#: idhub/templates/templates/musician/mailbox_change_password.html:11
|
#: idhub/templates/templates/musician/mailbox_change_password.html:11
|
||||||
|
@ -1943,7 +2123,7 @@ msgid "Cancel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/did_register.html:30
|
#: idhub/templates/idhub/admin/did_register.html:30
|
||||||
#: idhub/templates/idhub/admin/import_step3.html:28
|
#: idhub/templates/idhub/admin/import_add.html:28
|
||||||
#: idhub/templates/idhub/admin/people_membership_register.html:30
|
#: idhub/templates/idhub/admin/people_membership_register.html:30
|
||||||
#: idhub/templates/idhub/admin/people_register.html:26
|
#: idhub/templates/idhub/admin/people_register.html:26
|
||||||
#: idhub/templates/idhub/admin/people_rol_register.html:30
|
#: idhub/templates/idhub/admin/people_rol_register.html:30
|
||||||
|
@ -1952,18 +2132,12 @@ msgstr ""
|
||||||
#: idhub/templates/idhub/admin/service_register.html:30
|
#: idhub/templates/idhub/admin/service_register.html:30
|
||||||
#: idhub/templates/idhub/admin/user_edit.html:28
|
#: idhub/templates/idhub/admin/user_edit.html:28
|
||||||
#: idhub/templates/idhub/user/did_register.html:30
|
#: idhub/templates/idhub/user/did_register.html:30
|
||||||
#: idhub/templates/idhub/user/profile.html:36
|
|
||||||
#: idhub/templates/templates/musician/address_form.html:12
|
#: idhub/templates/templates/musician/address_form.html:12
|
||||||
#: idhub/templates/templates/musician/mailbox_change_password.html:12
|
#: idhub/templates/templates/musician/mailbox_change_password.html:12
|
||||||
#: idhub/templates/templates/musician/mailbox_form.html:21
|
#: idhub/templates/templates/musician/mailbox_form.html:21
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/dids.html:15
|
|
||||||
#: idhub/templates/idhub/user/dids.html:15
|
|
||||||
msgid "Date"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/dids.html:16
|
#: idhub/templates/idhub/admin/dids.html:16
|
||||||
#: idhub/templates/idhub/user/dids.html:16
|
#: idhub/templates/idhub/user/dids.html:16
|
||||||
msgid "Label"
|
msgid "Label"
|
||||||
|
@ -1985,8 +2159,7 @@ msgid "Remove"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/dids.html:35
|
#: idhub/templates/idhub/admin/dids.html:35
|
||||||
#: idhub/templates/idhub/user/dids.html:35
|
msgid "Add identity"
|
||||||
msgid "Add Identity"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/dids.html:46
|
#: idhub/templates/idhub/admin/dids.html:46
|
||||||
|
@ -2000,28 +2173,10 @@ msgid "Are you sure that you want delete this DID?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/import.html:15
|
#: idhub/templates/idhub/admin/import.html:15
|
||||||
#: idhub/templates/idhub/admin/import_step2.html:15
|
|
||||||
#: idhub/templates/idhub/admin/schemas.html:15
|
#: idhub/templates/idhub/admin/schemas.html:15
|
||||||
msgid "Created at"
|
msgid "Created at"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/import.html:17
|
|
||||||
msgid "success"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/import.html:31
|
|
||||||
msgid "Import Datas"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/import_step2.html:16
|
|
||||||
#: idhub/templates/idhub/admin/schemas.html:16
|
|
||||||
msgid "Template file"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/import_step2.html:26
|
|
||||||
msgid "Import Dates"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/issue_credentials.html:14
|
#: idhub/templates/idhub/admin/issue_credentials.html:14
|
||||||
#: idhub/templates/idhub/admin/issue_credentials.html:72
|
#: idhub/templates/idhub/admin/issue_credentials.html:72
|
||||||
msgid "Revoke"
|
msgid "Revoke"
|
||||||
|
@ -2059,11 +2214,16 @@ msgstr ""
|
||||||
#: idhub/templates/idhub/admin/people.html:16
|
#: idhub/templates/idhub/admin/people.html:16
|
||||||
#: idhub/templates/idhub/admin/user.html:62
|
#: idhub/templates/idhub/admin/user.html:62
|
||||||
#: idhub/templates/idhub/admin/user_edit.html:41
|
#: idhub/templates/idhub/admin/user_edit.html:41
|
||||||
#: idhub/templates/idhub/user/profile.html:48
|
#: idhub/templates/idhub/user/profile.html:43
|
||||||
msgid "Membership"
|
msgid "Membership"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/people.html:17
|
#: idhub/templates/idhub/admin/people.html:17
|
||||||
|
#: idhub/templates/idhub/admin/roles.html:15
|
||||||
|
#: idhub/templates/idhub/admin/services.html:17
|
||||||
|
#: idhub/templates/idhub/admin/user.html:87
|
||||||
|
#: idhub/templates/idhub/admin/user_edit.html:73
|
||||||
|
#: idhub/templates/idhub/user/roles.html:15
|
||||||
msgid "Role"
|
msgid "Role"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2105,12 +2265,8 @@ msgstr ""
|
||||||
msgid "User activation on %(site)s"
|
msgid "User activation on %(site)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/roles.html:15
|
#: idhub/templates/idhub/admin/schemas.html:16
|
||||||
#: idhub/templates/idhub/admin/services.html:17
|
msgid "Template file"
|
||||||
#: idhub/templates/idhub/admin/user.html:87
|
|
||||||
#: idhub/templates/idhub/admin/user_edit.html:73
|
|
||||||
#: idhub/templates/idhub/user/roles.html:15
|
|
||||||
msgid "Rol"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/schemas.html:17
|
#: idhub/templates/idhub/admin/schemas.html:17
|
||||||
|
@ -2118,20 +2274,13 @@ msgstr ""
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/schemas.html:18
|
|
||||||
#: idhub/templates/idhub/admin/services.html:16
|
|
||||||
#: idhub/templates/idhub/admin/user.html:88
|
|
||||||
#: idhub/templates/idhub/admin/user_edit.html:74
|
|
||||||
#: idhub/templates/idhub/user/roles.html:16
|
|
||||||
msgid "Description"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/schemas.html:37
|
#: idhub/templates/idhub/admin/schemas.html:37
|
||||||
msgid "Add Template"
|
#: idhub/templates/idhub/admin/schemas_import.html:29
|
||||||
|
msgid "Add template"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/schemas.html:48
|
#: idhub/templates/idhub/admin/schemas.html:48
|
||||||
msgid "Delete Template"
|
msgid "Delete template"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/schemas.html:52
|
#: idhub/templates/idhub/admin/schemas.html:52
|
||||||
|
@ -2139,17 +2288,13 @@ msgid "Are you sure that you want delete this template?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/schemas_import.html:15
|
#: idhub/templates/idhub/admin/schemas_import.html:15
|
||||||
msgid "Template available"
|
msgid "Available templates"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/schemas_import.html:23
|
#: idhub/templates/idhub/admin/schemas_import.html:23
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/schemas_import.html:29
|
|
||||||
msgid "Add template"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/services.html:15
|
#: idhub/templates/idhub/admin/services.html:15
|
||||||
#: idhub/templates/idhub/admin/user.html:89
|
#: idhub/templates/idhub/admin/user.html:89
|
||||||
#: idhub/templates/idhub/admin/user_edit.html:75
|
#: idhub/templates/idhub/admin/user_edit.html:75
|
||||||
|
@ -2157,6 +2302,10 @@ msgstr ""
|
||||||
msgid "Service"
|
msgid "Service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/admin/services.html:35
|
||||||
|
msgid "Add Service"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/user.html:13
|
#: idhub/templates/idhub/admin/user.html:13
|
||||||
msgid "Modify"
|
msgid "Modify"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2171,13 +2320,13 @@ msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/user.html:63
|
#: idhub/templates/idhub/admin/user.html:63
|
||||||
#: idhub/templates/idhub/admin/user_edit.html:42
|
#: idhub/templates/idhub/admin/user_edit.html:42
|
||||||
#: idhub/templates/idhub/user/profile.html:49
|
#: idhub/templates/idhub/user/profile.html:44
|
||||||
msgid "From"
|
msgid "From"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/user.html:64
|
#: idhub/templates/idhub/admin/user.html:64
|
||||||
#: idhub/templates/idhub/admin/user_edit.html:43
|
#: idhub/templates/idhub/admin/user_edit.html:43
|
||||||
#: idhub/templates/idhub/user/profile.html:50
|
#: idhub/templates/idhub/user/profile.html:45
|
||||||
msgid "To"
|
msgid "To"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2193,6 +2342,67 @@ msgstr ""
|
||||||
msgid "Add membership"
|
msgid "Add membership"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:76
|
||||||
|
msgid "My information"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:81
|
||||||
|
msgid "My personal information"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:86 idhub/user/views.py:63
|
||||||
|
msgid "My roles"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:91 idhub/user/views.py:69
|
||||||
|
msgid "GDPR info"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:99 idhub/user/views.py:27
|
||||||
|
msgid "My wallet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:104 idhub/user/views.py:170
|
||||||
|
#: idhub/user/views.py:204 idhub/user/views.py:223
|
||||||
|
msgid "Identities (DIDs)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:109
|
||||||
|
msgid "My credentials"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:114
|
||||||
|
msgid "Request a credential"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:119
|
||||||
|
msgid "Present a credential"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base_admin.html:76
|
||||||
|
msgid "User managament"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base_admin.html:94
|
||||||
|
msgid "Access control managament"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base_admin.html:112 idhub/user/views.py:75
|
||||||
|
msgid "Credential management"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base_admin.html:122
|
||||||
|
msgid "Organization's wallet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base_admin.html:127
|
||||||
|
msgid "Manage Identities (DIDs)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base_admin.html:147
|
||||||
|
msgid "Credential template management"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/user/credentials_presentation.html:30
|
#: idhub/templates/idhub/user/credentials_presentation.html:30
|
||||||
msgid "Send"
|
msgid "Send"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2201,6 +2411,10 @@ msgstr ""
|
||||||
msgid "Request"
|
msgid "Request"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/user/dids.html:35
|
||||||
|
msgid "Add Identity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/user/profile.html:13
|
#: idhub/templates/idhub/user/profile.html:13
|
||||||
msgid "ARCO Forms"
|
msgid "ARCO Forms"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2209,6 +2423,10 @@ msgstr ""
|
||||||
msgid "Notice of Privacy"
|
msgid "Notice of Privacy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/user/profile.html:46
|
||||||
|
msgid "Credentials"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/templates/musician/address_check_delete.html:7
|
#: idhub/templates/templates/musician/address_check_delete.html:7
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Are you sure that you want remove the address: \"%(address_name)s\"?"
|
msgid "Are you sure that you want remove the address: \"%(address_name)s\"?"
|
||||||
|
@ -2510,54 +2728,38 @@ msgstr ""
|
||||||
msgid "My profile"
|
msgid "My profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:27
|
|
||||||
msgid "My Wallet"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/user/views.py:41
|
#: idhub/user/views.py:41
|
||||||
msgid "My personal Data"
|
msgid "My personal data"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:53
|
#: idhub/user/views.py:88
|
||||||
msgid "My roles"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/user/views.py:59
|
|
||||||
msgid "GDPR info"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/user/views.py:78
|
|
||||||
msgid "Credential"
|
msgid "Credential"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:114
|
#: idhub/user/views.py:124
|
||||||
msgid "Credentials request"
|
msgid "Credential request"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:127
|
#: idhub/user/views.py:137
|
||||||
msgid "The credential was required successfully!"
|
msgid "The credential was issued successfully!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:129
|
#: idhub/user/views.py:141
|
||||||
msgid "Not exists the credential!"
|
msgid "The credential does not exist!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:135
|
#: idhub/user/views.py:147
|
||||||
msgid "Credentials Presentation"
|
msgid "Credential presentation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:148
|
#: idhub/user/views.py:162
|
||||||
msgid "The credential was presented successfully!"
|
msgid "The credential was presented successfully!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:150
|
#: idhub/user/views.py:164
|
||||||
msgid "Error sending credential!"
|
msgid "Error sending credential!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:156 idhub/user/views.py:194 idhub/user/views.py:213
|
#: idhub/user/views.py:183
|
||||||
msgid "Identities (DID)"
|
msgid "Add a new Identity (DID)"
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/user/views.py:169
|
|
||||||
msgid "Add a new Identities (DID)"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-11-07 17:54+0100\n"
|
"POT-Creation-Date: 2023-11-13 11:12+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -1533,233 +1533,400 @@ msgstr ""
|
||||||
msgid "show this help message and exit"
|
msgid "show this help message and exit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:39 idhub/user/views.py:33
|
#: idhub/admin/forms.py:106
|
||||||
|
msgid "The user does not exist!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:43 idhub/templates/idhub/base.html:69
|
||||||
|
#: idhub/templates/idhub/base_admin.html:69 idhub/user/views.py:33
|
||||||
msgid "Dashboard"
|
msgid "Dashboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:40 idhub/user/views.py:34
|
#: idhub/admin/views.py:44 idhub/templates/idhub/admin/import.html:17
|
||||||
|
#: idhub/user/views.py:34
|
||||||
msgid "Success"
|
msgid "Success"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:45
|
#: idhub/admin/views.py:56
|
||||||
msgid "People Management"
|
msgid "User Management"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:50
|
#: idhub/admin/views.py:61
|
||||||
msgid "Access Control Management"
|
msgid "Access control management"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:55
|
#: idhub/admin/views.py:66
|
||||||
msgid "Credentials Management"
|
msgid "Credential Management"
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/admin/views.py:60
|
|
||||||
msgid "Templates Management"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/admin/views.py:65
|
|
||||||
msgid "Massive Data Management"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:71
|
#: idhub/admin/views.py:71
|
||||||
msgid "People list"
|
msgid "Template Management"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:84
|
#: idhub/admin/views.py:76
|
||||||
msgid "User Profile"
|
msgid "Data file management"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:108
|
#: idhub/admin/views.py:82 idhub/templates/idhub/base_admin.html:81
|
||||||
|
msgid "View users"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:95
|
||||||
|
msgid "User personal information"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:119
|
||||||
msgid "Is not possible deactivate your account!"
|
msgid "Is not possible deactivate your account!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:129 idhub/admin/views.py:235
|
#: idhub/admin/views.py:143 idhub/admin/views.py:261
|
||||||
msgid "Is not possible delete your account!"
|
msgid "Is not possible delete your account!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:141
|
#: idhub/admin/views.py:155
|
||||||
msgid "People Register"
|
msgid "The account is updated successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:156
|
#: idhub/admin/views.py:164 idhub/templates/idhub/base_admin.html:86
|
||||||
msgid "The account is created successfully"
|
msgid "Add user"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:167 idhub/admin/views.py:204
|
#: idhub/admin/views.py:179
|
||||||
|
msgid "The account was created successfully"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:193
|
||||||
|
msgid "Associate a membership to the user"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:230
|
||||||
msgid "People add membership"
|
msgid "People add membership"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:242
|
#: idhub/admin/views.py:268
|
||||||
msgid "Add Rol to User"
|
msgid "Add a user role to access a service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:272
|
#: idhub/admin/views.py:298
|
||||||
msgid "Edit Rol to User"
|
msgid "Modify a user role to access a service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:307
|
#: idhub/admin/views.py:333 idhub/templates/idhub/base_admin.html:99
|
||||||
msgid "Roles Management"
|
msgid "Manage roles"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:319 idhub/templates/idhub/admin/roles.html:31
|
#: idhub/admin/views.py:345 idhub/templates/idhub/admin/roles.html:31
|
||||||
#: idhub/templates/idhub/admin/user_edit.html:93
|
#: idhub/templates/idhub/admin/user_edit.html:93
|
||||||
msgid "Add Rol"
|
msgid "Add Role"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:329
|
#: idhub/admin/views.py:354
|
||||||
msgid "Edit Rol"
|
msgid "Role created successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:356
|
#: idhub/admin/views.py:361
|
||||||
msgid "Service Management"
|
msgid "Edit Role"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:368 idhub/templates/idhub/admin/services.html:35
|
#: idhub/admin/views.py:376
|
||||||
msgid "Add Service"
|
msgid "Role updated successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:378
|
#: idhub/admin/views.py:389
|
||||||
msgid "Edit Service"
|
msgid "Role deleted successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:405
|
#: idhub/admin/views.py:396 idhub/templates/idhub/base_admin.html:104
|
||||||
msgid "Credentials list"
|
msgid "Manage services"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:418
|
#: idhub/admin/views.py:408
|
||||||
|
msgid "Add service"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:417
|
||||||
|
msgid "Service created successfully"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:424
|
||||||
|
msgid "Modify service"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:439
|
||||||
|
msgid "Service updated successfully"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:452
|
||||||
|
msgid "Service deleted successfully"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:459 idhub/templates/idhub/base_admin.html:117
|
||||||
|
msgid "View credentials"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:472
|
||||||
msgid "Change status of Credential"
|
msgid "Change status of Credential"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:460
|
#: idhub/admin/views.py:514
|
||||||
msgid "Credential revoked successfully"
|
msgid "Credential revoked successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:480
|
#: idhub/admin/views.py:536
|
||||||
msgid "Credential deleted successfully"
|
msgid "Credential deleted successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:487 idhub/admin/views.py:518 idhub/admin/views.py:537
|
#: idhub/admin/views.py:545
|
||||||
msgid "Organization Identities (DID)"
|
msgid "Manage Identities (DID)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:500
|
#: idhub/admin/views.py:558
|
||||||
msgid "Add a new Organization Identities (DID)"
|
msgid "Add a new Organization Identities (DID)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:512 idhub/user/views.py:188
|
#: idhub/admin/views.py:570 idhub/user/views.py:195
|
||||||
msgid "DID created successfully"
|
msgid "DID created successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:532 idhub/user/views.py:208
|
#: idhub/admin/views.py:577 idhub/admin/views.py:596
|
||||||
|
msgid "Organization Identities (DID)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:591 idhub/user/views.py:218
|
||||||
msgid "DID updated successfully"
|
msgid "DID updated successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:547 idhub/user/views.py:223
|
#: idhub/admin/views.py:607 idhub/user/views.py:234
|
||||||
msgid "DID delete successfully"
|
msgid "DID delete successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:554 idhub/templates/idhub/user/profile.html:51
|
#: idhub/admin/views.py:613 idhub/templates/idhub/base_admin.html:132
|
||||||
#: idhub/user/views.py:65
|
msgid "View org. credentials"
|
||||||
msgid "Credentials"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:561
|
#: idhub/admin/views.py:620 idhub/templates/idhub/base_admin.html:137
|
||||||
msgid "Configure Issues"
|
msgid "Configure credential issuance"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:568
|
#: idhub/admin/views.py:627
|
||||||
msgid "Template List"
|
msgid "View credential templates"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:602
|
#: idhub/admin/views.py:661
|
||||||
msgid "Upload Template"
|
msgid "Upload template"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:618 idhub/admin/views.py:744
|
#: idhub/admin/views.py:677
|
||||||
msgid "There are some errors in the file"
|
msgid "There are some errors in the file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:632
|
#: idhub/admin/views.py:691
|
||||||
msgid "This template already exists!"
|
msgid "This template already exists!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:638 idhub/admin/views.py:683
|
#: idhub/admin/views.py:697 idhub/admin/views.py:742
|
||||||
msgid "This is not a schema valid!"
|
msgid "This is not a schema valid!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:647
|
#: idhub/admin/views.py:706
|
||||||
msgid "Import Template"
|
msgid "Import template"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:675
|
#: idhub/admin/views.py:734
|
||||||
msgid "The schema add successfully!"
|
msgid "The schema was added sucessfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:700 idhub/admin/views.py:713 idhub/admin/views.py:726
|
#: idhub/admin/views.py:759 idhub/templates/idhub/admin/import.html:31
|
||||||
|
#: idhub/templates/idhub/base_admin.html:153
|
||||||
|
msgid "Import data"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/admin/views.py:772 idhub/admin/views.py:785
|
||||||
msgid "Import"
|
msgid "Import"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:755
|
#: idhub/admin/views.py:798
|
||||||
msgid "There aren't file"
|
msgid "The file import was successfully!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/admin/views.py:760
|
#: idhub/admin/views.py:803
|
||||||
msgid "This file already exists!"
|
msgid "Error importing the file!"
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/admin/views.py:799
|
|
||||||
msgid "The user not exist!"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/models.py:57
|
|
||||||
msgid "Enabled"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:58
|
#: idhub/models.py:58
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"The user {username} was registered: name: {first_name}, last name: "
|
||||||
|
"{last_name}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:70
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"Welcome. You has been registered: name: {first_name}, last name: {last_name}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:83
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"The user '{username}' has request the update of the following information: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:95
|
||||||
|
msgid "You have requested the update of the following information: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:132
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "The admin has deleted the user: username: {username}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:142
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "New DID with DID-ID: '{did}' created by user '{username}'"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:153
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "New DID with label: '{label}' and DID-ID: '{did}' was created'"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:165
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"The DID with label '{label}' and DID-ID: '{did}' was deleted from your wallet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:177
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "The credential of type '{type}' and ID: '{id}' was deleted"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:188
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"The credential of type '{type}' and ID: '{id}' was deleted from your wallet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:200
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"The credential of type '{type}' and ID: '{id}' was issued for user {username}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:212
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"The credential of type '{type}' and ID: '{id}' was issued and stored in your "
|
||||||
|
"wallet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:254
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "The credential of type '{type}' was enabled for user {username}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:265
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "You can request the '{type}' credential"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:276
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "The credential of type '{type}' and ID: '{id}' was revoked for "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:287
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "The credential of type '{type}' and ID: '{id}' was revoked by admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:299
|
||||||
|
msgid "A new role was created by admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:307
|
||||||
|
msgid "The role was modified by admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:315
|
||||||
|
msgid "The role was removed by admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:323
|
||||||
|
msgid "A new service was created by admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:331
|
||||||
|
msgid "The service was modified by admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:339
|
||||||
|
msgid "The service was removed by admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:347
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"New Organisational DID with label: '{label}' and DID-ID: '{did}' was created"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:358
|
||||||
|
#, python-brace-format
|
||||||
|
msgid ""
|
||||||
|
"Organisational DID with label: '{label}' and DID-ID: '{did}' was removed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:438
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/models.py:439 idhub/templates/idhub/admin/credentials.html:17
|
||||||
|
#: idhub/templates/idhub/user/credentials.html:17
|
||||||
msgid "Issued"
|
msgid "Issued"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:59
|
#: idhub/models.py:440
|
||||||
msgid "Revoked"
|
msgid "Revoked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:60
|
#: idhub/models.py:441
|
||||||
msgid "Expired"
|
msgid "Expired"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:118
|
#: idhub/models.py:499
|
||||||
msgid "Beneficiary"
|
msgid "Beneficiary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:119
|
#: idhub/models.py:500
|
||||||
msgid "Employee"
|
msgid "Employee"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:120
|
#: idhub/models.py:501
|
||||||
msgid "Partner"
|
msgid "Member"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:122
|
#: idhub/models.py:503
|
||||||
msgid "Type of membership"
|
msgid "Type of membership"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:124
|
#: idhub/models.py:505
|
||||||
msgid "Start date"
|
msgid "Start date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:125
|
#: idhub/models.py:506
|
||||||
msgid "What date did the membership start?"
|
msgid "What date did the membership start?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:130
|
#: idhub/models.py:511
|
||||||
msgid "End date"
|
msgid "End date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:131
|
#: idhub/models.py:512
|
||||||
msgid "What date did the membership end?"
|
msgid "What date will the membership end?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/models.py:183
|
#: idhub/models.py:564
|
||||||
msgid "Url where to send the presentation"
|
msgid "Url where to send the presentation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1889,7 +2056,9 @@ msgid "Password reset on %(site_name)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/credentials.html:15
|
#: idhub/templates/idhub/admin/credentials.html:15
|
||||||
|
#: idhub/templates/idhub/admin/dashboard.html:13
|
||||||
#: idhub/templates/idhub/user/credentials.html:15
|
#: idhub/templates/idhub/user/credentials.html:15
|
||||||
|
#: idhub/templates/idhub/user/dashboard.html:13
|
||||||
#: idhub/templates/templates/musician/billing.html:21
|
#: idhub/templates/templates/musician/billing.html:21
|
||||||
#: idhub/templates/templates/musician/databases.html:17
|
#: idhub/templates/templates/musician/databases.html:17
|
||||||
#: idhub/templates/templates/musician/domain_detail.html:17
|
#: idhub/templates/templates/musician/domain_detail.html:17
|
||||||
|
@ -1901,11 +2070,6 @@ msgstr ""
|
||||||
msgid "Details"
|
msgid "Details"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/credentials.html:17
|
|
||||||
#: idhub/templates/idhub/user/credentials.html:17
|
|
||||||
msgid "Issue"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/credentials.html:18
|
#: idhub/templates/idhub/admin/credentials.html:18
|
||||||
#: idhub/templates/idhub/user/credentials.html:18
|
#: idhub/templates/idhub/user/credentials.html:18
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
|
@ -1921,8 +2085,25 @@ msgstr ""
|
||||||
msgid "View"
|
msgid "View"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/admin/dashboard.html:14
|
||||||
|
#: idhub/templates/idhub/admin/schemas.html:18
|
||||||
|
#: idhub/templates/idhub/admin/services.html:16
|
||||||
|
#: idhub/templates/idhub/admin/user.html:88
|
||||||
|
#: idhub/templates/idhub/admin/user_edit.html:74
|
||||||
|
#: idhub/templates/idhub/user/dashboard.html:14
|
||||||
|
#: idhub/templates/idhub/user/roles.html:16
|
||||||
|
msgid "Description"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/admin/dashboard.html:15
|
||||||
|
#: idhub/templates/idhub/admin/dids.html:15
|
||||||
|
#: idhub/templates/idhub/user/dashboard.html:15
|
||||||
|
#: idhub/templates/idhub/user/dids.html:15
|
||||||
|
msgid "Date"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/did_register.html:29
|
#: idhub/templates/idhub/admin/did_register.html:29
|
||||||
#: idhub/templates/idhub/admin/import_step3.html:27
|
#: idhub/templates/idhub/admin/import_add.html:27
|
||||||
#: idhub/templates/idhub/admin/people_membership_register.html:29
|
#: idhub/templates/idhub/admin/people_membership_register.html:29
|
||||||
#: idhub/templates/idhub/admin/people_register.html:25
|
#: idhub/templates/idhub/admin/people_register.html:25
|
||||||
#: idhub/templates/idhub/admin/people_rol_register.html:29
|
#: idhub/templates/idhub/admin/people_rol_register.html:29
|
||||||
|
@ -1933,7 +2114,6 @@ msgstr ""
|
||||||
#: idhub/templates/idhub/user/credentials_presentation.html:29
|
#: idhub/templates/idhub/user/credentials_presentation.html:29
|
||||||
#: idhub/templates/idhub/user/credentials_request.html:29
|
#: idhub/templates/idhub/user/credentials_request.html:29
|
||||||
#: idhub/templates/idhub/user/did_register.html:29
|
#: idhub/templates/idhub/user/did_register.html:29
|
||||||
#: idhub/templates/idhub/user/profile.html:35
|
|
||||||
#: idhub/templates/templates/musician/address_check_delete.html:10
|
#: idhub/templates/templates/musician/address_check_delete.html:10
|
||||||
#: idhub/templates/templates/musician/address_form.html:11
|
#: idhub/templates/templates/musician/address_form.html:11
|
||||||
#: idhub/templates/templates/musician/mailbox_change_password.html:11
|
#: idhub/templates/templates/musician/mailbox_change_password.html:11
|
||||||
|
@ -1943,7 +2123,7 @@ msgid "Cancel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/did_register.html:30
|
#: idhub/templates/idhub/admin/did_register.html:30
|
||||||
#: idhub/templates/idhub/admin/import_step3.html:28
|
#: idhub/templates/idhub/admin/import_add.html:28
|
||||||
#: idhub/templates/idhub/admin/people_membership_register.html:30
|
#: idhub/templates/idhub/admin/people_membership_register.html:30
|
||||||
#: idhub/templates/idhub/admin/people_register.html:26
|
#: idhub/templates/idhub/admin/people_register.html:26
|
||||||
#: idhub/templates/idhub/admin/people_rol_register.html:30
|
#: idhub/templates/idhub/admin/people_rol_register.html:30
|
||||||
|
@ -1952,18 +2132,12 @@ msgstr ""
|
||||||
#: idhub/templates/idhub/admin/service_register.html:30
|
#: idhub/templates/idhub/admin/service_register.html:30
|
||||||
#: idhub/templates/idhub/admin/user_edit.html:28
|
#: idhub/templates/idhub/admin/user_edit.html:28
|
||||||
#: idhub/templates/idhub/user/did_register.html:30
|
#: idhub/templates/idhub/user/did_register.html:30
|
||||||
#: idhub/templates/idhub/user/profile.html:36
|
|
||||||
#: idhub/templates/templates/musician/address_form.html:12
|
#: idhub/templates/templates/musician/address_form.html:12
|
||||||
#: idhub/templates/templates/musician/mailbox_change_password.html:12
|
#: idhub/templates/templates/musician/mailbox_change_password.html:12
|
||||||
#: idhub/templates/templates/musician/mailbox_form.html:21
|
#: idhub/templates/templates/musician/mailbox_form.html:21
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/dids.html:15
|
|
||||||
#: idhub/templates/idhub/user/dids.html:15
|
|
||||||
msgid "Date"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/dids.html:16
|
#: idhub/templates/idhub/admin/dids.html:16
|
||||||
#: idhub/templates/idhub/user/dids.html:16
|
#: idhub/templates/idhub/user/dids.html:16
|
||||||
msgid "Label"
|
msgid "Label"
|
||||||
|
@ -1985,8 +2159,7 @@ msgid "Remove"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/dids.html:35
|
#: idhub/templates/idhub/admin/dids.html:35
|
||||||
#: idhub/templates/idhub/user/dids.html:35
|
msgid "Add identity"
|
||||||
msgid "Add Identity"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/dids.html:46
|
#: idhub/templates/idhub/admin/dids.html:46
|
||||||
|
@ -2000,28 +2173,10 @@ msgid "Are you sure that you want delete this DID?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/import.html:15
|
#: idhub/templates/idhub/admin/import.html:15
|
||||||
#: idhub/templates/idhub/admin/import_step2.html:15
|
|
||||||
#: idhub/templates/idhub/admin/schemas.html:15
|
#: idhub/templates/idhub/admin/schemas.html:15
|
||||||
msgid "Created at"
|
msgid "Created at"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/import.html:17
|
|
||||||
msgid "success"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/import.html:31
|
|
||||||
msgid "Import Datas"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/import_step2.html:16
|
|
||||||
#: idhub/templates/idhub/admin/schemas.html:16
|
|
||||||
msgid "Template file"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/import_step2.html:26
|
|
||||||
msgid "Import Dates"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/issue_credentials.html:14
|
#: idhub/templates/idhub/admin/issue_credentials.html:14
|
||||||
#: idhub/templates/idhub/admin/issue_credentials.html:72
|
#: idhub/templates/idhub/admin/issue_credentials.html:72
|
||||||
msgid "Revoke"
|
msgid "Revoke"
|
||||||
|
@ -2059,11 +2214,16 @@ msgstr ""
|
||||||
#: idhub/templates/idhub/admin/people.html:16
|
#: idhub/templates/idhub/admin/people.html:16
|
||||||
#: idhub/templates/idhub/admin/user.html:62
|
#: idhub/templates/idhub/admin/user.html:62
|
||||||
#: idhub/templates/idhub/admin/user_edit.html:41
|
#: idhub/templates/idhub/admin/user_edit.html:41
|
||||||
#: idhub/templates/idhub/user/profile.html:48
|
#: idhub/templates/idhub/user/profile.html:43
|
||||||
msgid "Membership"
|
msgid "Membership"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/people.html:17
|
#: idhub/templates/idhub/admin/people.html:17
|
||||||
|
#: idhub/templates/idhub/admin/roles.html:15
|
||||||
|
#: idhub/templates/idhub/admin/services.html:17
|
||||||
|
#: idhub/templates/idhub/admin/user.html:87
|
||||||
|
#: idhub/templates/idhub/admin/user_edit.html:73
|
||||||
|
#: idhub/templates/idhub/user/roles.html:15
|
||||||
msgid "Role"
|
msgid "Role"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2105,12 +2265,8 @@ msgstr ""
|
||||||
msgid "User activation on %(site)s"
|
msgid "User activation on %(site)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/roles.html:15
|
#: idhub/templates/idhub/admin/schemas.html:16
|
||||||
#: idhub/templates/idhub/admin/services.html:17
|
msgid "Template file"
|
||||||
#: idhub/templates/idhub/admin/user.html:87
|
|
||||||
#: idhub/templates/idhub/admin/user_edit.html:73
|
|
||||||
#: idhub/templates/idhub/user/roles.html:15
|
|
||||||
msgid "Rol"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/schemas.html:17
|
#: idhub/templates/idhub/admin/schemas.html:17
|
||||||
|
@ -2118,20 +2274,13 @@ msgstr ""
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/schemas.html:18
|
|
||||||
#: idhub/templates/idhub/admin/services.html:16
|
|
||||||
#: idhub/templates/idhub/admin/user.html:88
|
|
||||||
#: idhub/templates/idhub/admin/user_edit.html:74
|
|
||||||
#: idhub/templates/idhub/user/roles.html:16
|
|
||||||
msgid "Description"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/schemas.html:37
|
#: idhub/templates/idhub/admin/schemas.html:37
|
||||||
msgid "Add Template"
|
#: idhub/templates/idhub/admin/schemas_import.html:29
|
||||||
|
msgid "Add template"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/schemas.html:48
|
#: idhub/templates/idhub/admin/schemas.html:48
|
||||||
msgid "Delete Template"
|
msgid "Delete template"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/schemas.html:52
|
#: idhub/templates/idhub/admin/schemas.html:52
|
||||||
|
@ -2139,17 +2288,13 @@ msgid "Are you sure that you want delete this template?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/schemas_import.html:15
|
#: idhub/templates/idhub/admin/schemas_import.html:15
|
||||||
msgid "Template available"
|
msgid "Available templates"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/schemas_import.html:23
|
#: idhub/templates/idhub/admin/schemas_import.html:23
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/schemas_import.html:29
|
|
||||||
msgid "Add template"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/services.html:15
|
#: idhub/templates/idhub/admin/services.html:15
|
||||||
#: idhub/templates/idhub/admin/user.html:89
|
#: idhub/templates/idhub/admin/user.html:89
|
||||||
#: idhub/templates/idhub/admin/user_edit.html:75
|
#: idhub/templates/idhub/admin/user_edit.html:75
|
||||||
|
@ -2157,6 +2302,10 @@ msgstr ""
|
||||||
msgid "Service"
|
msgid "Service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/admin/services.html:35
|
||||||
|
msgid "Add Service"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/user.html:13
|
#: idhub/templates/idhub/admin/user.html:13
|
||||||
msgid "Modify"
|
msgid "Modify"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2171,13 +2320,13 @@ msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/user.html:63
|
#: idhub/templates/idhub/admin/user.html:63
|
||||||
#: idhub/templates/idhub/admin/user_edit.html:42
|
#: idhub/templates/idhub/admin/user_edit.html:42
|
||||||
#: idhub/templates/idhub/user/profile.html:49
|
#: idhub/templates/idhub/user/profile.html:44
|
||||||
msgid "From"
|
msgid "From"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/admin/user.html:64
|
#: idhub/templates/idhub/admin/user.html:64
|
||||||
#: idhub/templates/idhub/admin/user_edit.html:43
|
#: idhub/templates/idhub/admin/user_edit.html:43
|
||||||
#: idhub/templates/idhub/user/profile.html:50
|
#: idhub/templates/idhub/user/profile.html:45
|
||||||
msgid "To"
|
msgid "To"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2193,6 +2342,67 @@ msgstr ""
|
||||||
msgid "Add membership"
|
msgid "Add membership"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:76
|
||||||
|
msgid "My information"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:81
|
||||||
|
msgid "My personal information"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:86 idhub/user/views.py:63
|
||||||
|
msgid "My roles"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:91 idhub/user/views.py:69
|
||||||
|
msgid "GDPR info"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:99 idhub/user/views.py:27
|
||||||
|
msgid "My wallet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:104 idhub/user/views.py:170
|
||||||
|
#: idhub/user/views.py:204 idhub/user/views.py:223
|
||||||
|
msgid "Identities (DIDs)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:109
|
||||||
|
msgid "My credentials"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:114
|
||||||
|
msgid "Request a credential"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base.html:119
|
||||||
|
msgid "Present a credential"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base_admin.html:76
|
||||||
|
msgid "User managament"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base_admin.html:94
|
||||||
|
msgid "Access control managament"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base_admin.html:112 idhub/user/views.py:75
|
||||||
|
msgid "Credential management"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base_admin.html:122
|
||||||
|
msgid "Organization's wallet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base_admin.html:127
|
||||||
|
msgid "Manage Identities (DIDs)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/base_admin.html:147
|
||||||
|
msgid "Credential template management"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/user/credentials_presentation.html:30
|
#: idhub/templates/idhub/user/credentials_presentation.html:30
|
||||||
msgid "Send"
|
msgid "Send"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2201,6 +2411,10 @@ msgstr ""
|
||||||
msgid "Request"
|
msgid "Request"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/user/dids.html:35
|
||||||
|
msgid "Add Identity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/idhub/user/profile.html:13
|
#: idhub/templates/idhub/user/profile.html:13
|
||||||
msgid "ARCO Forms"
|
msgid "ARCO Forms"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2209,6 +2423,10 @@ msgstr ""
|
||||||
msgid "Notice of Privacy"
|
msgid "Notice of Privacy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: idhub/templates/idhub/user/profile.html:46
|
||||||
|
msgid "Credentials"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/templates/templates/musician/address_check_delete.html:7
|
#: idhub/templates/templates/musician/address_check_delete.html:7
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Are you sure that you want remove the address: \"%(address_name)s\"?"
|
msgid "Are you sure that you want remove the address: \"%(address_name)s\"?"
|
||||||
|
@ -2510,54 +2728,38 @@ msgstr ""
|
||||||
msgid "My profile"
|
msgid "My profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:27
|
|
||||||
msgid "My Wallet"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/user/views.py:41
|
#: idhub/user/views.py:41
|
||||||
msgid "My personal Data"
|
msgid "My personal data"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:53
|
#: idhub/user/views.py:88
|
||||||
msgid "My roles"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/user/views.py:59
|
|
||||||
msgid "GDPR info"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/user/views.py:78
|
|
||||||
msgid "Credential"
|
msgid "Credential"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:114
|
#: idhub/user/views.py:124
|
||||||
msgid "Credentials request"
|
msgid "Credential request"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:127
|
#: idhub/user/views.py:137
|
||||||
msgid "The credential was required successfully!"
|
msgid "The credential was issued successfully!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:129
|
#: idhub/user/views.py:141
|
||||||
msgid "Not exists the credential!"
|
msgid "The credential does not exist!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:135
|
#: idhub/user/views.py:147
|
||||||
msgid "Credentials Presentation"
|
msgid "Credential presentation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:148
|
#: idhub/user/views.py:162
|
||||||
msgid "The credential was presented successfully!"
|
msgid "The credential was presented successfully!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:150
|
#: idhub/user/views.py:164
|
||||||
msgid "Error sending credential!"
|
msgid "Error sending credential!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: idhub/user/views.py:156 idhub/user/views.py:194 idhub/user/views.py:213
|
#: idhub/user/views.py:183
|
||||||
msgid "Identities (DID)"
|
msgid "Add a new Identity (DID)"
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: idhub/user/views.py:169
|
|
||||||
msgid "Add a new Identities (DID)"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
@ -143,12 +143,8 @@ AUTH_PASSWORD_VALIDATORS = [
|
||||||
# Internationalization
|
# Internationalization
|
||||||
# https://docs.djangoproject.com/en/4.2/topics/i18n/
|
# https://docs.djangoproject.com/en/4.2/topics/i18n/
|
||||||
|
|
||||||
LANGUAGE_CODE = 'en-us'
|
|
||||||
|
|
||||||
TIME_ZONE = config('TIME_ZONE', 'UTC')
|
TIME_ZONE = config('TIME_ZONE', 'UTC')
|
||||||
|
|
||||||
USE_I18N = True
|
|
||||||
|
|
||||||
USE_TZ = True
|
USE_TZ = True
|
||||||
|
|
||||||
|
|
||||||
|
@ -181,5 +177,8 @@ MESSAGE_TAGS = {
|
||||||
LOCALE_PATHS = [
|
LOCALE_PATHS = [
|
||||||
os.path.join(BASE_DIR, 'locale'),
|
os.path.join(BASE_DIR, 'locale'),
|
||||||
]
|
]
|
||||||
|
LANGUAGE_CODE="es"
|
||||||
|
USE_I18N = True
|
||||||
|
USE_L10N = True
|
||||||
|
|
||||||
AUTH_USER_MODEL = 'idhub_auth.User'
|
AUTH_USER_MODEL = 'idhub_auth.User'
|
||||||
|
|
Loading…
Reference in New Issue