fix: move meeting management from base Docs to Meeting (#6586)

* fix: move meeting management from base Docs to Meeting

* fix: add permission check for ability to request an interim meeting

* fix: guard against no user being logged in

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
This commit is contained in:
Peter Yee 2023-11-06 17:45:07 +01:00 committed by GitHub
parent f8a06f663e
commit f1425e4a52
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 43 additions and 10 deletions

View file

@ -0,0 +1,21 @@
# Copyright The IETF Trust 2023, All Rights Reserved
# -*- coding: utf-8 -*-
from django import template
from ietf.meeting.helpers import can_request_interim_meeting
import debug # pyflakes:ignore
register = template.Library()
@register.filter
def can_request_interim(user):
"""Determine whether the user can request an interim meeting
Usage: can_request_interim
Returns Boolean. True means user can request an interim meeting.
"""
if not user:
return False
return can_request_interim_meeting(user)

View file

@ -1,7 +1,7 @@
{# Copyright The IETF Trust 2015-2022, All Rights Reserved #} {# Copyright The IETF Trust 2015-2022, All Rights Reserved #}
{% load origin %} {% load origin %}
{% origin %} {% origin %}
{% load ietf_filters managed_groups wg_menu active_groups_menu group_filters cache %} {% load ietf_filters managed_groups wg_menu active_groups_menu group_filters cache meetings_filters %}
{% if flavor != 'top' %} {% if flavor != 'top' %}
{% include "base/menu_user.html" %} {% include "base/menu_user.html" %}
{% endif %} {% endif %}
@ -144,14 +144,6 @@
</a> </a>
</li> </li>
{% endfor %} {% endfor %}
{% for g in user|matman_groups %}
<li>
<a class="dropdown-item {% if flavor != 'top' %}text-wrap{% endif %}"
href="{% url "ietf.group.views.meetings" g.acronym %}">
{{ g.acronym }} {{ g.type.slug }} meetings
</a>
</li>
{% endfor %}
{% endif %} {% endif %}
{% if user|has_role:"Review Team Secretary" %} {% if user|has_role:"Review Team Secretary" %}
{% if flavor == 'top' %} {% if flavor == 'top' %}
@ -275,12 +267,32 @@
Request a session Request a session
</a> </a>
</li> </li>
{% if user|can_request_interim %}
<li>
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
href="{% url 'ietf.meeting.views.interim_request' %}">
Request an interim meeting
</a>
</li>
{% endif %}
<li> <li>
<a class="dropdown-item {% if flavor != 'top' %}text-wrap{% endif %}" <a class="dropdown-item {% if flavor != 'top' %}text-wrap{% endif %}"
href="{% url 'ietf.meeting.views.meeting_requests' %}"> href="{% url 'ietf.meeting.views.meeting_requests' %}">
Session requests Session requests
</a> </a>
</li> </li>
{% if user|matman_groups %}
{% if flavor == 'top' %}<li><hr class="dropdown-divider"></li>{% endif %}
<li {% if flavor == 'top' %}class="dropdown-header"{% else %}class="nav-item fw-bolder"{% endif %}>Manage</li>
{% for g in user|matman_groups %}
<li>
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
href="{% url "ietf.group.views.meetings" g.acronym %}">
{{ g.acronym }} {{ g.type.slug }} meetings
</a>
</li>
{% endfor %}
{% endif %}
{% if flavor == 'top' %} {% if flavor == 'top' %}
{% if flavor == 'top' %} {% if flavor == 'top' %}
<li><hr class="dropdown-divider"> <li><hr class="dropdown-divider">
@ -425,4 +437,4 @@
{% endif %} {% endif %}
{% if flavor == 'top' %} {% if flavor == 'top' %}
{% include "base/menu_user.html" %} {% include "base/menu_user.html" %}
{% endif %} {% endif %}