Core pomocné moduly

Definice authentikátoru, konstant, kontext proceorů, dekorátoru, ,mixins, výjimek, validátorů a widgetu.

class core.authenticators.AMCRAuthUser

Třída pro určení jestli se uživatel múže prihlásit. kontroluje se pole is_active na uživatelovi.

user_can_authenticate(user)

Vrací vždy True. Validace na is_active byla přesunuta do formuláře na login a do middleware pro přihlášeného uživatele.

Parametry:

user – Uživatelský objekt.

Vrací:

Vždy vrací True, aby bylo umožněno ověření všem uživatelům.

core.context_processors.constants_import(request)

Automatický import stavov projektú do kontextu všech template.

Parametry:

request

HTTP požadavek; není přímo využit, ale Django jej předává každému context processoru.

return:

Vrací proměnná constants_dict.

Automatický import linkov na digitálni archiv zo settings do kontextov všech template.

Parametry:

request

HTTP požadavek; není přímo využit, ale Django jej předává každému context processoru.

return:

Vrací výsledek volání getattr().

core.context_processors.logout_next_url(request)

Vrátí do kontextu šablony aktuální cestu požadavku pro použití jako next parametr po odhlášení.

Parametry:

request

HTTP požadavek, z jehož atributu path se čte aktuální URL.

return:

Vrací slovník.

core.context_processors.auto_logout_client(request)

Automatický výpočet a import kontextu potrebného pro správně zobrzazení automatického logoutu na všech stránkach.

Parametry:

request

Parametr request se předává do volání str(), seconds_until_session_end(), pracuje se s atributy user, ovlivňuje větvení podmínek.

return:

Vrací hodnotu podle větve zpracování, typicky: slovník, proměnná ctx.

core.context_processors.main_shows(request)

Připraví do kontextu šablony příznaky viditelnosti hlavních sekcí aplikace podle role přihlášeného uživatele.

Parametry:

request

HTTP požadavek, z jehož atributu user se čte přihlášený uživatel a jeho role.

return:

Vrací proměnná main_show.

Sdílené dekorátory pro řízení přístupu a režimu odstávky.

core.decorators.allowed_user_groups(allowed_groups)

Omezí přístup k pohledu pouze na vybrané hlavní uživatelské role.

Na vstupe je list povolených uživatelských skupin. Jestli uživatel nemá jesnou z daných skupin jako hlavní tak funkce vráti exception PermissionError a nezobrazí formulár.

Parametry:

allowed_groups

Seznam nebo množina ID povolených hlavních rolí (skupin), jimž je přístup povolen.

return:

Vrací proměnná _method_wrapper.

core.decorators.odstavka_in_progress(view_func)

Při aktivní odstávce vrátí stránku údržby namísto cílového pohledu.

Parametry:

view_func

View funkce obalená dekorátorem nebo middlewarem.

return:

Vrací proměnná wrapper.

class core.mixins.ManyToManyRestrictedClassMixin

Třída pro model pro vytvoření property has_connections.

Hledá jestli má model nejakou many to many vazbu.

property has_connections

Určí, zda connections.

Vrací:

Vrací True nebo False podle vyhodnocení podmínek.

class core.mixins.IPWhitelistMixin

Mixin pro filtrování IP adres. Používá se pro PrometheusMetrics a HealthCheck. Dovolí přístup pouze z lokálních adres.

dispatch(request, *args, **kwargs)

Ověří, že požadavek pochází z lokální IP adresy (loopback, privátní nebo link-local).

Parametry:
  • request – Objekt požadavku Django.

  • args – Poziční argumenty view.

  • kwargs – Pojmenované argumenty view.

Vrací:

HttpResponseForbidden při neoprávněném přístupu, jinak výsledek nadřazené metody dispatch.

core.validators.validate_phone_number(number)

Validátor pro ověření telefonního čísla na správny formát.

Parametry:

number

Parametr number se předává do volání fullmatch(), info(), ovlivňuje větvení podmínek.

raises ValidationError:

Vyvolá se při splnění podmínky not regex_tel.fullmatch(number); nebo při zpracování zachycené výjimky typu Exception.

core.validators.validate_date_min_1600(value)

Validuje date min 1600.

Parametry:

value

Parametr value předává se do volání isinstance(), pracuje se s atributy lower, upper, ovlivňuje větvení podmínek.

raises ValidationError:

Vyvolá se při splnění podmínky value.lower <= min_date; nebo při splnění podmínky value.upper <= min_date.

class core.widgets.ForeignKeyReadOnlyTextInput(value=None, attrs=None)

Widget pro textinput pro vazbu cizí klíč.

format_value(value)

Formátuje hodnotu cizího klíče pro čtení jako textový popis.

Parametry:

value – Primární klíč objektu k zobrazení.

Vrací:

Textový popis objektu.

class core.widgets.AutocompleteSelect2WidgetMixin

Implementuje komponentu AutocompleteSelect2WidgetMixin v rámci aplikace.

build_attrs(*args, **kwargs)

Nastaveni placeholderu pro pole, pokud neni poskytnuto a zmena zakladni tridy.

Parametry:
  • args – Parametr args se předává do volání build_attrs().

  • kwargs

    Parametr kwargs se předává do volání build_attrs().

    return:

    Vrací proměnná attrs.

class core.widgets.AutocompleteListSelect2(url=None, forward=None, *args, **kwargs)

Implementuje komponentu AutocompleteListSelect2 v rámci aplikace.

class core.widgets.AutocompleteSelect2Multiple(url=None, forward=None, *args, **kwargs)

Implementuje komponentu AutocompleteSelect2Multiple v rámci aplikace.

class core.widgets.AutocompleteModelSelect2(url=None, forward=None, *args, **kwargs)

Implementuje komponentu AutocompleteModelSelect2 v rámci aplikace.

class core.widgets.AutocompleteModelSelect2Multiple(url=None, forward=None, *args, **kwargs)

Implementuje komponentu AutocompleteModelSelect2Multiple v rámci aplikace.

Konstanty

V souborech constants a message_constants se nacházejí definice konstant použitých v celé aplikaci.

Výjimky

V souboru exceptions se nacházejí definice výjimek aplikace použitých v celé aplikaci.