diff --git a/src/backoffice/templates/backoffice/assembly_editchildren.html b/src/backoffice/templates/backoffice/assembly_editchildren.html index ac8f2c29d80521a5c9b7f22a397b6b205cf1794b..e325c1703ec39944f7ce7da8f61ad2ac9fe305e0 100644 --- a/src/backoffice/templates/backoffice/assembly_editchildren.html +++ b/src/backoffice/templates/backoffice/assembly_editchildren.html @@ -47,7 +47,7 @@ <ul> {% for child in children %} <li> - <a href="{% url 'backoffice:assembly' pk=child.id %}">{{ child.name }}</a> + {% if child.state_assembly == "hidden" %}<i class="bi bi-eye-slash" title='hidden'></i> {% endif %}<a href="{% url 'backoffice:assembly' pk=child.id %}">{{ child.name }}</a> <form action="{% url 'backoffice:assembly-editchildren' pk=assembly.id %}" method="POST" style="display: inline;">{% csrf_token %} <input type="hidden" name="delete" value="{{ child.pk }}"> <button type="submit" class="btn btn-sm btn-secondary">{% trans 'delete' %}</button> @@ -64,4 +64,4 @@ </div> </div> -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/src/backoffice/views/assemblyteam.py b/src/backoffice/views/assemblyteam.py index 37ffb36218e6349e1128d3f399dc173753bf1b43..4b29353b1cc69dd24ce697552438484638f2754f 100644 --- a/src/backoffice/views/assemblyteam.py +++ b/src/backoffice/views/assemblyteam.py @@ -41,7 +41,8 @@ class AssemblyTeamMixin(ConferenceLoginRequiredMixin): 'accepted': (Q(state_assembly__in=Assembly.PUBLIC_STATES), _('nav_assemblies_accepted')), 'pending': (Q(state_assembly__in=[Assembly.State.REGISTERED]), _('nav_assemblies_pending')), 'planned': (Q(state_assembly__in=[Assembly.State.PLANNED]), _('nav_assemblies_planned')), - 'rejected': (Q(state_assembly__in=[Assembly.State.REJECTED, Assembly.State.HIDDEN]), _('nav_assemblies_rejected')), + 'rejected': (Q(state_assembly__in=[Assembly.State.REJECTED]), _('nav_assemblies_rejected')), + 'hidden': (Q(state_assembly__in=[Assembly.State.HIDDEN]), _('nav_assemblies_hidden')), 'not_selected': (Q(state_assembly__in=[Assembly.State.NONE]), _('nav_assemblies_not_selected')), } diff --git a/src/backoffice/views/channelteam.py b/src/backoffice/views/channelteam.py index bee9d64cf481a98404e49e4a9c8f07574b9b49d5..e8c259fdd23cc9c41e1ace79b024c0fdf5a045bf 100644 --- a/src/backoffice/views/channelteam.py +++ b/src/backoffice/views/channelteam.py @@ -14,7 +14,8 @@ class ChannelsMixin: 'accepted': (Q(state_channel__in=Assembly.PUBLIC_STATES), _('nav_channels_accepted')), 'pending': (Q(state_channel__in=[Assembly.State.REGISTERED]), _('nav_channels_pending')), 'planned': (Q(state_channel__in=[Assembly.State.PLANNED]), _('nav_channels_planned')), - 'rejected': (Q(state_channel__in=[Assembly.State.REJECTED, Assembly.State.HIDDEN]), _('nav_channels_rejected')), + 'rejected': (Q(state_channel__in=[Assembly.State.REJECTED]), _('nav_channels_rejected')), + 'hidden': (Q(state_channel__in=[Assembly.State.HIDDEN]), _('nav_channels_hidden')), } permission_required = ['core.channel_team'] active_page = 'channels' diff --git a/src/backoffice/views/mixins.py b/src/backoffice/views/mixins.py index 30d6190c712bcbc119e67c2b25d4825755d6aa04..20bd7303b50c41cbdbcb4b2fa3af4ae9807a7b59 100644 --- a/src/backoffice/views/mixins.py +++ b/src/backoffice/views/mixins.py @@ -181,11 +181,7 @@ class AssemblyMixin(ConferenceLoginRequiredMixin): if assembly.has_user(self.request.user): # don't set self._staff_mode = False here as this would prevent assembly team members to edit their own assemblies - if ( - not self._staff_access - and assembly.state_assembly in [Assembly.State.NONE, Assembly.State.HIDDEN] - and assembly.state_channel in [Assembly.State.NONE, Assembly.State.HIDDEN] - ): + if not self._staff_access and assembly.state_assembly in [Assembly.State.NONE] and assembly.state_channel in [Assembly.State.NONE]: raise Assembly.DoesNotExist # neither owner/manager nor assembly team? go away diff --git a/src/core/models/assemblies.py b/src/core/models/assemblies.py index 9a8e05ed415f3092d9b79e334ace0a497445d888..7e8139efa490eb36edf4637b6892b26b421b71d9 100644 --- a/src/core/models/assemblies.py +++ b/src/core/models/assemblies.py @@ -71,7 +71,7 @@ class AssemblyManager(models.Manager): qs = qs.filter(members__member=user) # but don't show "hidden" ones to the user - qs = qs.exclude(state_assembly__in=[Assembly.State.NONE, Assembly.State.HIDDEN], state_channel__in=[Assembly.State.NONE, Assembly.State.HIDDEN]) + qs = qs.exclude(state_assembly__in=[Assembly.State.NONE], state_channel__in=[Assembly.State.NONE]) # finally return the resulting QuerySet return qs @@ -107,9 +107,6 @@ class AssemblyManager(models.Manager): # lookup via AssemblyMember qs = qs.filter(members__member=user, members__can_manage_assembly=True) - # but don't show "hidden" ones to the user - qs = qs.exclude(state_assembly__in=[Assembly.State.HIDDEN]) - # finally return the resulting QuerySet return qs @@ -406,7 +403,7 @@ class Assembly(TaggedItemMixin, models.Model): @property def children(self): - return Assembly.objects.filter(parent=self).exclude(state_assembly=Assembly.State.HIDDEN).order_by('name') + return Assembly.objects.filter(parent=self).order_by('name') @property def public_children(self):