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

Add view with all groups a person is an owner of

parent c7a847a2
No related branches found
No related tags found
1 merge request!89Resolve "New menu item: My classes and courses"
Pipeline #3614 passed
......@@ -24,6 +24,12 @@ MENUS = {
"icon": "view_week",
"validators": ["menu_generator.validators.is_authenticated"],
},
{
"name": _("My groups"),
"url": "my_groups",
"icon": "people",
"validators": ["menu_generator.validators.is_authenticated"],
},
{
"name": _("My overview"),
"url": "overview_me",
......
{# -*- engine:django -*- #}
{% extends "core/base.html" %}
{% load i18n %}
{% block browser_title %}{% blocktrans %}My groups{% endblocktrans %}{% endblock %}
{% block page_title %}
{% blocktrans %}My groups{% endblocktrans %}
{% endblock %}
{% block content %}
<div class="collection">
{% for group in groups %}
<a class="collection-item" href="{% url "week_view" "group" group.pk %}">
{{ group }}
</a>
{% empty %}
<li class="collection-item flow-text">
{% blocktrans %}No groups available.{% endblocktrans %}
</li>
{% endfor %}
</div>
{% endblock %}
......@@ -26,6 +26,7 @@ urlpatterns = [
path(
"print/group/<int:id_>", views.full_register_group, name="full_register_group"
),
path("groups/", views.my_groups, name="my_groups"),
path("persons/", views.my_students, name="my_students"),
path("persons/<int:id_>/", views.overview_person, name="overview_person"),
path("me/", views.overview_person, name="overview_me"),
......
......@@ -473,6 +473,17 @@ def my_students(request: HttpRequest) -> HttpResponse:
return render(request, "alsijil/class_register/persons.html", context)
def my_groups(request: HttpRequest) -> HttpResponse:
context = {}
groups = (
Group.objects.for_current_school_term_or_all()
.annotate(lessons_count=Count("lessons"))
.filter(lessons_count__gt=0, owners=request.user.person)
)
context["groups"] = groups
return render(request, "alsijil/class_register/groups.html", context)
def overview_person(request: HttpRequest, id_: Optional[int] = None) -> HttpResponse:
context = {}
person = objectgetter_optional(
......
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