From c22663d962b0456dc5041390ce1b2cfb198582de Mon Sep 17 00:00:00 2001 From: Egor Matveev Date: Thu, 3 Feb 2022 00:10:17 +0300 Subject: [PATCH] set access --- Main/models/group.py | 6 ++++++ templates/group.html | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/Main/models/group.py b/Main/models/group.py index f231ad7..d1701c5 100644 --- a/Main/models/group.py +++ b/Main/models/group.py @@ -1,6 +1,8 @@ from django.contrib.auth.models import User from django.contrib.postgres.fields import ArrayField from django.db import models +from django.utils import timezone + from Main.models.set import Set @@ -10,3 +12,7 @@ class Group(models.Model): creator = models.ForeignKey(User, null=True, on_delete=models.SET_NULL) users = models.ManyToManyField(User, related_name='user_groups') editors = ArrayField(models.TextField(), default=list) + + @property + def available_sets(self): + return self.sets.filter(opened=True, start_time__lte=timezone.now(), end_time__gte=timezone.now()) diff --git a/templates/group.html b/templates/group.html index 040a58a..f418abb 100644 --- a/templates/group.html +++ b/templates/group.html @@ -5,9 +5,15 @@ {% if group.creator %}Владелец группы: {{ group.creator.username }} {% endif %}

Сеты

+ {% if group.creator == user or user.username in group.editors %} {% for set in group.sets.all %} {{ set.name }}
{% endfor %} + {% else %} + {% for set in group.available_sets %} + {{ set.name }}
+ {% endfor %} + {% endif %} {% if group.creator == user or user.username in group.editors %}