Skip to content
Snippets Groups Projects
Commit e63a6939 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Merge branch '305-show-class-groups-at-top-of-group-select' into 'master'

Resolve "Show class groups at top of group select"

Closes #305

See merge request !394
parents b53498fe c92022f0
No related branches found
No related tags found
1 merge request!394Resolve "Show class groups at top of group select"
Pipeline #192210 failed
......@@ -6,6 +6,7 @@ from dynamic_preferences.types import (
BooleanPreference,
ChoicePreference,
IntegerPreference,
ModelChoicePreference,
ModelMultipleChoicePreference,
)
......@@ -203,3 +204,20 @@ class GroupTypesRegisterAbsence(ModelMultipleChoicePreference):
help_text = _(
"If you leave it empty, all member of groups the user is an owner of will be shown."
)
@site_preferences_registry.register
class GroupTypePriorityCoursebook(ModelChoicePreference):
section = alsijil
name = "group_type_priority_coursebook"
required = False
default = None
model = GroupType
verbose_name = _(
"Group type of groups to be shown first in the group "
"select field on the coursebook overview page"
)
help_text = _("If you leave it empty, no group type will be used.")
def get_queryset(self):
return GroupType.objects.managed_and_unmanaged()
from datetime import datetime
from django.core.exceptions import PermissionDenied
from django.db.models.query_utils import Q
from django.db.models import BooleanField, ExpressionWrapper, Q
import graphene
......@@ -156,6 +156,13 @@ class Query(graphene.ObjectType):
Group.objects.for_current_school_term_or_all()
.filter(Q(members=person) | Q(owners=person) | Q(parent_groups__owners=person))
.distinct()
.annotate(
is_priority=ExpressionWrapper(
Q(group_type=get_site_preferences()["alsijil__group_type_priority_coursebook"]),
output_field=BooleanField(),
)
)
.order_by("is_priority")
)
@staticmethod
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment