Source code for pas.custom
from onegov.core.elements import Link
from onegov.org.custom import logout_path
from onegov.org.elements import LinkGroup
from onegov.pas import _
from onegov.pas.collections import AttendenceCollection
from onegov.pas.collections import ChangeCollection
from onegov.user import Auth
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from collections.abc import Iterator
from onegov.town6.request import TownRequest
[docs]
def get_global_tools(request: 'TownRequest') -> 'Iterator[Link | LinkGroup]':
if request.is_logged_in:
# Logout
yield LinkGroup(
request.current_username or _('User'),
classes=('user',),
links=(
Link(
_('Logout'), request.link(
Auth.from_request(
request, to=logout_path(request)), name='logout'
),
attrs={'class': 'logout'}
),
)
)
# Management Dropdown
if request.is_admin:
yield LinkGroup(
_('Management'), classes=('management',),
links=(
Link(
_('Attendences'),
request.class_link(AttendenceCollection),
attrs={'class': 'attendences'}
),
Link(
_('Changes'),
request.class_link(ChangeCollection),
attrs={'class': 'changes'}
),
Link(
_('PAS settings'),
request.link(request.app.org, 'pas-settings'),
attrs={'class': 'pas-settings'}
),
Link(
_('More settings'),
request.link(request.app.org, 'settings'),
attrs={'class': 'settings'}
),
)
)