Mercurial > libervia-web
view libervia/common/constants.py @ 1417:314bba1ae433
pages: breadcrumbs handling:
a new `breadcrumbs` list of dict is created in `template_data`. By default it is
automatically filled by pages run to reach the requested URI, but a page can customize it.
A breadcrumb data dict must have a `label`, should have an `url` and may have an `icon`
(which is the name of a SàT Media well-known icon).
Pages may now have a `label` attribute, which is used to automatically fill the crumb
(otherwise page name then URI is used).
A new `add_breadcrumb` method can be used to manually breadcrumb data, in which case auto-filling is disabled.
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 29 Apr 2021 20:48:35 +0200 |
parents | 822bd0139769 |
children | 0181867dd0c5 |
line wrap: on
line source
#!/usr/bin/env python3 # Libervia: a SAT frontend # Copyright (C) 2009-2021 Jérôme Poisson (goffi@goffi.org) # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. from sat_frontends.quick_frontend import constants import os.path class Const(constants.Const): # XXX: we don't want to use the APP_VERSION inherited from sat.core.constants version # as we use this version to check that there is not a mismatch with backend APP_VERSION = "0.8.0D" # Please add 'D' at the end for dev versions LIBERVIA_MAIN_PAGE = "libervia.html" LIBERVIA_PAGE_START = "/login" # REGISTRATION # XXX: for now libervia forces the creation to lower case # XXX: Regex patterns must be compatible with both Python and JS REG_LOGIN_RE = r"^[a-z0-9_-]+$" REG_EMAIL_RE = r"^.+@.+\..+" PASSWORD_MIN_LENGTH = 6 # HTTP REQUEST RESULT VALUES PROFILE_AUTH_ERROR = "PROFILE AUTH ERROR" XMPP_AUTH_ERROR = "XMPP AUTH ERROR" ALREADY_WAITING = "ALREADY WAITING" SESSION_ACTIVE = "SESSION ACTIVE" NOT_CONNECTED = "NOT CONNECTED" PROFILE_LOGGED = "LOGGED" PROFILE_LOGGED_EXT_JID = "LOGGED (REGISTERED WITH EXTERNAL JID)" ALREADY_EXISTS = "ALREADY EXISTS" INVALID_CERTIFICATE = "INVALID CERTIFICATE" REGISTRATION_SUCCEED = "REGISTRATION" INTERNAL_ERROR = "INTERNAL ERROR" INVALID_INPUT = "INVALID INPUT" BAD_REQUEST = "BAD REQUEST" NO_REPLY = "NO REPLY" NOT_ALLOWED = "NOT ALLOWED" UPLOAD_OK = "UPLOAD OK" UPLOAD_KO = "UPLOAD KO" # directories MEDIA_DIR = "media/" CACHE_DIR = "cache" # avatars DEFAULT_AVATAR_FILE = "default_avatar.png" DEFAULT_AVATAR_URL = os.path.join(MEDIA_DIR, "misc", DEFAULT_AVATAR_FILE) EMPTY_AVATAR_FILE = "empty_avatar" EMPTY_AVATAR_URL = os.path.join(MEDIA_DIR, "misc", EMPTY_AVATAR_FILE) # blog MAM_FILTER_CATEGORY = "http://salut-a-toi.org/protocols/mam_filter_category"