Source code for wtfs.layouts.user

from functools import cached_property
from onegov.core.elements import Confirm
from onegov.core.elements import Intercooler
from onegov.core.elements import Link
from onegov.wtfs import _
from onegov.wtfs.layouts.default import DefaultLayout
from onegov.wtfs.security import AddModel
from onegov.wtfs.security import AddModelUnrestricted
from onegov.wtfs.security import DeleteModel
from onegov.wtfs.security import EditModel
from onegov.wtfs.security import EditModelUnrestricted


from typing import TYPE_CHECKING
if TYPE_CHECKING:
    from onegov.core.elements import Element


[docs] class UsersLayout(DefaultLayout): @cached_property
[docs] def title(self) -> str: return _('Users')
@cached_property @cached_property
[docs] def breadcrumbs(self) -> list['Element']: return [ Link(_('Homepage'), self.homepage_url), Link(self.title, self.users_url) ]
[docs] class UserLayout(DefaultLayout): @cached_property
[docs] def title(self) -> str: return self.model.title
@cached_property @cached_property
[docs] def breadcrumbs(self) -> list['Element']: return [ Link(_('Homepage'), self.homepage_url), Link(_('Users'), self.users_url), Link(self.title, '#') ]
[docs] class AddUserLayout(DefaultLayout): @cached_property
[docs] def title(self) -> str: return _('Add user')
@cached_property
[docs] def breadcrumbs(self) -> list['Element']: return [ Link(_('Homepage'), self.homepage_url), Link(_('Users'), self.users_url), Link(_('Add'), '#') ]
@cached_property
[docs] def cancel_url(self) -> str: return self.users_url
@cached_property
[docs] def success_url(self) -> str: return self.users_url
[docs] class EditUserLayout(DefaultLayout): @cached_property
[docs] def title(self) -> str: return _('Edit user')
@cached_property
[docs] def breadcrumbs(self) -> list['Element']: return [ Link(_('Homepage'), self.homepage_url), Link(_('Users'), self.users_url), Link(self.model.title, self.request.link(self.model)), Link(_('Edit'), '#') ]
@cached_property
[docs] def cancel_url(self) -> str: return self.request.link(self.model)
@cached_property
[docs] def success_url(self) -> str: return self.users_url