diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py index 16d6c7d3e4c46ae17db133a981a17d965abe3da2..3b938941c7ec2891ab96253eafed6777bcc405fe 100644 --- a/aleksis/apps/alsijil/models.py +++ b/aleksis/apps/alsijil/models.py @@ -5,6 +5,7 @@ from urllib.parse import urlparse from django.db import models from django.db.models.constraints import CheckConstraint from django.db.models.query_utils import Q +from django.urls import reverse from django.utils.formats import date_format from django.utils.translation import gettext_lazy as _ @@ -31,6 +32,7 @@ from aleksis.apps.alsijil.managers import ( from aleksis.apps.chronos.managers import GroupPropertiesMixin from aleksis.apps.chronos.mixins import WeekRelatedMixin from aleksis.apps.chronos.models import Event, ExtraLesson, LessonPeriod, TimePeriod +from aleksis.core.data_checks import field_validation_data_check_factory from aleksis.core.mixins import ExtensibleModel, GlobalPermissionModel from aleksis.core.models import SchoolTerm from aleksis.core.util.core_helpers import get_site_preferences @@ -450,6 +452,8 @@ class ExtraMark(ExtensibleModel): class GroupRole(ExtensibleModel): + data_checks = [field_validation_data_check_factory("alsijil", "GroupRole", "icon")] + objects = GroupRoleManager.from_queryset(GroupRoleQuerySet)() name = models.CharField(max_length=255, verbose_name=_("Name")) @@ -467,6 +471,9 @@ class GroupRole(ExtensibleModel): ] permissions = (("assign_group_role", _("Can assign group role")),) + def get_absolute_url(self) -> str: + return reverse("edit_group_role", args=[self.id]) + class GroupRoleAssignment(GroupPropertiesMixin, ExtensibleModel): objects = GroupRoleAssignmentManager.from_queryset(GroupRoleAssignmentQuerySet)() diff --git a/aleksis/apps/alsijil/templates/alsijil/group_role/chip.html b/aleksis/apps/alsijil/templates/alsijil/group_role/chip.html index 530ffa05b531acd34bfa7726b374e56ee703298b..41e520302a9d3cac6b7f1d3e3b145c8c7692bde4 100644 --- a/aleksis/apps/alsijil/templates/alsijil/group_role/chip.html +++ b/aleksis/apps/alsijil/templates/alsijil/group_role/chip.html @@ -1,7 +1,7 @@ {# -*- engine:django -*- #} <div class="chip white-text" style="background-color: {{ role.colour|default:"black" }};"> - <i class="material-icons left">{{ role.icon|default:"assignment_ind" }}</i> + <i class="material-icons iconify left" data-icon="mdi:{{ role.icon|default:"clipboard-account-outline" }}"></i> {{ role.name }} {% if small %} <small>({{ small }})</small>