Users

This package contains all user-related data models: User, Organization and FidoKey (see also django.contrib.auth.models.User for Django’s base user model)

Organization

class integreat_cms.cms.models.users.organization.Organization(*args, **kwargs)[source]

Bases: AbstractBaseModel

Data model representing an organization

Parameters:

Relationship fields:

Parameters:

Reverse relationships:

Parameters:
exception DoesNotExist[source]

Bases: ObjectDoesNotExist

__init__(*args, **kwargs)[source]
add_note()[source]

Exception.add_note(note) – add a note to the exception

args[source]
silent_variable_failure = True[source]
with_traceback()[source]

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

exception MultipleObjectsReturned[source]

Bases: MultipleObjectsReturned

__init__(*args, **kwargs)[source]
add_note()[source]

Exception.add_note(note) – add a note to the exception

args[source]
with_traceback()[source]

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

__init__(*args, **kwargs)[source]
async adelete(using=None, keep_parents=False)[source]
async arefresh_from_db(using=None, fields=None)[source]
async asave(force_insert=False, force_update=False, using=None, update_fields=None)[source]

This function returns the absolute url to the edit form of this region

Returns:

The url

classmethod check(**kwargs)[source]
clean()[source]

Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.

clean_fields(exclude=None)[source]

Clean all fields and raise a ValidationError containing a dict of all validation errors if any occur.

created_date[source]

Type: DateTimeField

Creation date

date_error_message(lookup_type, field_name, unique_for)[source]
delete(using=None, keep_parents=False)[source]
classmethod from_db(db, field_names, values)[source]
full_clean(exclude=None, validate_unique=True, validate_constraints=True)[source]

Call clean_fields(), clean(), validate_unique(), and validate_constraints() on the model. Raise a ValidationError for any errors that occur.

get_constraints()[source]
get_deferred_fields()[source]

Return a set containing names of deferred fields for this instance.

classmethod get_model_name_plural() str[source]

Get the plural representation of this model name

Returns:

The plural model name

Return type:

str

get_next_by_created_date(*, field=<django.db.models.DateTimeField: created_date>, is_next=True, **kwargs)[source]

Finds next instance based on created_date. See get_next_by_FOO() for more information.

get_next_by_last_updated(*, field=<django.db.models.DateTimeField: last_updated>, is_next=True, **kwargs)[source]

Finds next instance based on last_updated. See get_next_by_FOO() for more information.

get_previous_by_created_date(*, field=<django.db.models.DateTimeField: created_date>, is_next=False, **kwargs)[source]

Finds previous instance based on created_date. See get_previous_by_FOO() for more information.

get_previous_by_last_updated(*, field=<django.db.models.DateTimeField: last_updated>, is_next=False, **kwargs)[source]

Finds previous instance based on last_updated. See get_previous_by_FOO() for more information.

get_repr() str[source]

This overwrites the default Django __repr__() method which would return <Organization: Organization object (id)>. It is used for logging.

Returns:

The canonical string representation of the organization

Return type:

str

icon[source]

Type: ForeignKey to MediaFile

Logo (related name: icon_organizations)

icon_id[source]

Internal field, use icon instead.

id[source]

Type: BigAutoField

Primary key: ID

last_updated[source]

Type: DateTimeField

Modification date

members[source]

Type: Reverse ForeignKey from User

All members of this organization (related name of organization)

name[source]

Type: CharField

Name

property num_members: int[source]
Returns:

the current number of members of an organization object

property num_pages: int[source]
Returns:

the current number of maintained pages of an organization object

objects = <django.db.models.Manager object>[source]
pages[source]

Type: Reverse ForeignKey from Page

All pages of this organization (related name of organization)

property pk[source]
pois[source]

Type: Reverse ForeignKey from POI

All pois of this organization (related name of organization)

prepare_database_save(field)[source]
refresh_from_db(using=None, fields=None)[source]

Reload field values from the database.

By default, the reloading happens from the database this instance was loaded from, or by the read router if this instance wasn’t loaded from any database. The using parameter will override the default.

Fields can be used to specify which fields to reload. The fields should be an iterable of field attnames. If fields is None, then all non-deferred fields are reloaded.

When accessing deferred fields of an instance, the deferred loading of the field will call this method.

region[source]

Type: ForeignKey to Region

Region (related name: organizations)

region_id[source]

Internal field, use region instead.

save(force_insert=False, force_update=False, using=None, update_fields=None)[source]

Save the current instance. Override this in a subclass if you want to control the saving process.

The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.

save_base(raw=False, force_insert=False, force_update=False, using=None, update_fields=None)[source]

Handle the parts of saving which should be done only once per save, yet need to be done in raw saves, too. This includes some sanity checks and signal sending.

The ‘raw’ argument is telling save_base not to save any parent models and not to do any changes to the values before save. This is used by fixture loading.

serializable_value(field_name)[source]

Return the value of the field name for this instance. If the field is a foreign key, return the id value instead of the object. If there’s no Field object with this name on the model, return the model attribute’s value.

Used to serialize a field’s value (in the serializer, or form output, for example). Normally, you would just access the attribute directly and not use this method.

slug[source]

Type: SlugField

Slug. Unique string identifier without spaces and special characters.

unique_error_message(model_class, unique_check)[source]
validate_constraints(exclude=None)[source]
validate_unique(exclude=None)[source]

Check unique constraints on the model and raise ValidationError if any failed.

website[source]

Type: URLField

Website

Role

class integreat_cms.cms.models.users.role.Role(*args, **kwargs)[source]

Bases: AbstractBaseModel

Meta information about the default Django auth group model

Parameters:

Relationship fields:

Parameters:

group (OneToOneField to Group) – Django auth group (related name: role)

exception DoesNotExist[source]

Bases: ObjectDoesNotExist

__init__(*args, **kwargs)[source]
add_note()[source]

Exception.add_note(note) – add a note to the exception

args[source]
silent_variable_failure = True[source]
with_traceback()[source]

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

exception MultipleObjectsReturned[source]

Bases: MultipleObjectsReturned

__init__(*args, **kwargs)[source]
add_note()[source]

Exception.add_note(note) – add a note to the exception

args[source]
with_traceback()[source]

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

__init__(*args, **kwargs)[source]
async adelete(using=None, keep_parents=False)[source]
async arefresh_from_db(using=None, fields=None)[source]
async asave(force_insert=False, force_update=False, using=None, update_fields=None)[source]
classmethod check(**kwargs)[source]
clean()[source]

Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.

clean_fields(exclude=None)[source]

Clean all fields and raise a ValidationError containing a dict of all validation errors if any occur.

date_error_message(lookup_type, field_name, unique_for)[source]
delete(using=None, keep_parents=False)[source]
english_name[source]

This returns the english name of a role which is used for logging

Returns:

The english name of the role

classmethod from_db(db, field_names, values)[source]
full_clean(exclude=None, validate_unique=True, validate_constraints=True)[source]

Call clean_fields(), clean(), validate_unique(), and validate_constraints() on the model. Raise a ValidationError for any errors that occur.

get_constraints()[source]
get_deferred_fields()[source]

Return a set containing names of deferred fields for this instance.

classmethod get_model_name_plural() str[source]

Get the plural representation of this model name

Returns:

The plural model name

Return type:

str

get_name_display(*, field=<django.db.models.CharField: name>)[source]

Shows the label of the name. See get_FOO_display() for more information.

get_repr() str[source]

This overwrites the default Django __repr__() method which would return <Role: Role object (id)>. It is used for logging.

Returns:

The canonical string representation of the role

Return type:

str

group[source]

Type: OneToOneField to Group

Django auth group (related name: role)

group_id[source]

Internal field, use group instead.

id[source]

Type: BigAutoField

Primary key: ID

name[source]

Type: CharField

Name

Choices:

  • MANAGEMENT

  • EDITOR

  • AUTHOR

  • EVENT_MANAGER

  • OBSERVER

  • SERVICE_TEAM

  • CMS_TEAM

  • APP_TEAM

  • MARKETING_TEAM

Manage choices in roles

objects = <django.db.models.Manager object>[source]
property pk[source]
prepare_database_save(field)[source]
refresh_from_db(using=None, fields=None)[source]

Reload field values from the database.

By default, the reloading happens from the database this instance was loaded from, or by the read router if this instance wasn’t loaded from any database. The using parameter will override the default.

Fields can be used to specify which fields to reload. The fields should be an iterable of field attnames. If fields is None, then all non-deferred fields are reloaded.

When accessing deferred fields of an instance, the deferred loading of the field will call this method.

save(force_insert=False, force_update=False, using=None, update_fields=None)[source]

Save the current instance. Override this in a subclass if you want to control the saving process.

The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.

save_base(raw=False, force_insert=False, force_update=False, using=None, update_fields=None)[source]

Handle the parts of saving which should be done only once per save, yet need to be done in raw saves, too. This includes some sanity checks and signal sending.

The ‘raw’ argument is telling save_base not to save any parent models and not to do any changes to the values before save. This is used by fixture loading.

serializable_value(field_name)[source]

Return the value of the field name for this instance. If the field is a foreign key, return the id value instead of the object. If there’s no Field object with this name on the model, return the model attribute’s value.

Used to serialize a field’s value (in the serializer, or form output, for example). Normally, you would just access the attribute directly and not use this method.

staff_role[source]

Type: BooleanField

Staff role. Whether or not this role is designed for staff members

unique_error_message(model_class, unique_check)[source]
validate_constraints(exclude=None)[source]
validate_unique(exclude=None)[source]

Check unique constraints on the model and raise ValidationError if any failed.

User

Custom user model that is used instead of the default Django user model

class integreat_cms.cms.models.users.user.CustomUserManager(*args, **kwargs)[source]

Bases: UserManager

This manager prefetches the regions of each user because they are needed for permissions checks and the region selection anyway

__init__()[source]
aaggregate(*args, **kwargs)[source]
abulk_create(objs, batch_size=None, ignore_conflicts=False, update_conflicts=False, update_fields=None, unique_fields=None)[source]
abulk_update(objs, fields, batch_size=None)[source]
acontains(obj)[source]
acount()[source]
acreate(**kwargs)[source]
aearliest(*fields)[source]
aexists()[source]
aexplain(*, format=None, **options)[source]
afirst()[source]
aget(*args, **kwargs)[source]
aget_or_create(defaults=None, **kwargs)[source]
aggregate(*args, **kwargs)[source]

Return a dictionary containing the calculations (aggregation) over the current queryset.

If args is present the expression is passed as a kwarg using the Aggregate object’s default alias.

ain_bulk(id_list=None, *, field_name='pk')[source]
aiterator(chunk_size=2000)[source]

An asynchronous iterator over the results from applying this QuerySet to the database.

alast()[source]
alatest(*fields)[source]
alias(*args, **kwargs)[source]

Return a query set with added aliases for extra data or aggregations.

all()[source]
annotate(*args, **kwargs)[source]

Return a query set in which the returned objects have been annotated with extra data or aggregations.

aupdate(**kwargs)[source]
aupdate_or_create(defaults=None, **kwargs)[source]
auto_created = False[source]
bulk_create(objs, batch_size=None, ignore_conflicts=False, update_conflicts=False, update_fields=None, unique_fields=None)[source]

Insert each of the instances into the database. Do not call save() on each of the instances, do not send any pre/post_save signals, and do not set the primary key attribute if it is an autoincrement field (except if features.can_return_rows_from_bulk_insert=True). Multi-table models are not supported.

bulk_update(objs, fields, batch_size=None)[source]

Update the given fields in each of the given objects in the database.

check(**kwargs)[source]
complex_filter(filter_obj)[source]

Return a new QuerySet instance with filter_obj added to the filters.

filter_obj can be a Q object or a dictionary of keyword lookup arguments.

This exists to support framework features such as ‘limit_choices_to’, and usually it will be more natural to use other methods.

contains(obj)[source]

Return True if the QuerySet contains the provided obj, False otherwise.

contribute_to_class(cls, name)[source]
count()[source]

Perform a SELECT COUNT() and return the number of records as an integer.

If the QuerySet is already fully cached, return the length of the cached results set to avoid multiple SELECT COUNT(*) calls.

create(**kwargs)[source]

Create a new object with the given kwargs, saving it to the database and returning the created object.

create_superuser(username, email=None, password=None, **extra_fields)[source]
create_user(username, email=None, password=None, **extra_fields)[source]
creation_counter = 46[source]
dates(field_name, kind, order='ASC')[source]

Return a list of date objects representing all available dates for the given field_name, scoped to ‘kind’.

datetimes(field_name, kind, order='ASC', tzinfo=None, is_dst=<object object>)[source]

Return a list of datetime objects representing all available datetimes for the given field_name, scoped to ‘kind’.

property db[source]
db_manager(using=None, hints=None)[source]
deconstruct()[source]

Return a 5-tuple of the form (as_manager (True), manager_class, queryset_class, args, kwargs).

Raise a ValueError if the manager is dynamically generated.

defer(*fields)[source]

Defer the loading of data for certain fields until they are accessed. Add the set of deferred fields to any existing set of deferred fields. The only exception to this is if None is passed in as the only parameter, in which case removal all deferrals.

difference(*other_qs)[source]
distinct(*field_names)[source]

Return a new QuerySet instance that will select only distinct results.

earliest(*fields)[source]
exclude(*args, **kwargs)[source]

Return a new QuerySet instance with NOT (args) ANDed to the existing set.

exists()[source]

Return True if the QuerySet would have any results, False otherwise.

explain(*, format=None, **options)[source]

Runs an EXPLAIN on the SQL query this QuerySet would perform, and returns the results.

extra(select=None, where=None, params=None, tables=None, order_by=None, select_params=None)[source]

Add extra SQL fragments to the query.

filter(*args, **kwargs)[source]

Return a new QuerySet instance with the args ANDed to the existing set.

first()[source]

Return the first object of a query or None if no match is found.

classmethod from_queryset(queryset_class, class_name=None)[source]
get(*args, **kwargs)[source]

Perform the query and return a single object matching the given keyword arguments.

get_by_natural_key(username)[source]
get_or_create(defaults=None, **kwargs)[source]

Look up an object with the given kwargs, creating one if necessary. Return a tuple of (object, created), where created is a boolean specifying whether an object was created.

get_queryset() QuerySet[source]

Get the queryset of users including the prefetched regions

Returns:

The queryset of users

Return type:

QuerySet

in_bulk(id_list=None, *, field_name='pk')[source]

Return a dictionary mapping each of the given IDs to the object with that ID. If id_list isn’t provided, evaluate the entire QuerySet.

intersection(*other_qs)[source]
iterator(chunk_size=None)[source]

An iterator over the results from applying this QuerySet to the database. chunk_size must be provided for QuerySets that prefetch related objects. Otherwise, a default chunk_size of 2000 is supplied.

last()[source]

Return the last object of a query or None if no match is found.

latest(*fields)[source]

Return the latest object according to fields (if given) or by the model’s Meta.get_latest_by.

make_random_password(length=10, allowed_chars='abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789')[source]

Generate a random password with the given length and given allowed_chars. The default value of allowed_chars does not have “I” or “O” or letters and digits that look similar – just to avoid confusion.

none()[source]

Return an empty QuerySet.

classmethod normalize_email(email)[source]

Normalize the email address by lowercasing the domain part of it.

only(*fields)[source]

Essentially, the opposite of defer(). Only the fields passed into this method and that are not already specified as deferred are loaded immediately when the queryset is evaluated.

order_by(*field_names)[source]

Return a new QuerySet instance with the ordering changed.

Return a new QuerySet instance that will prefetch the specified Many-To-One and Many-To-Many related objects when the QuerySet is evaluated.

When prefetch_related() is called more than once, append to the list of prefetch lookups. If prefetch_related(None) is called, clear the list.

raw(raw_query, params=(), translations=None, using=None)[source]
reverse()[source]

Reverse the ordering of the QuerySet.

select_for_update(nowait=False, skip_locked=False, of=(), no_key=False)[source]

Return a new QuerySet instance that will select objects with a FOR UPDATE lock.

Return a new QuerySet instance that will select related objects.

If fields are specified, they must be ForeignKey fields and only those related objects are included in the selection.

If select_related(None) is called, clear the list.

union(*other_qs, all=False)[source]
update(**kwargs)[source]

Update all elements in the current QuerySet, setting all the given fields to the appropriate values.

update_or_create(defaults=None, **kwargs)[source]

Look up an object with the given kwargs, updating one with defaults if it exists, otherwise create a new one. Return a tuple (object, created), where created is a boolean specifying whether an object was created.

use_in_migrations = True[source]

If set to True the manager will be serialized into migrations and will thus be available in e.g. RunPython operations.

using(alias)[source]

Select which database this QuerySet should execute against.

values(*fields, **expressions)[source]
values_list(*fields, flat=False, named=False)[source]
with_perm(perm, is_active=True, include_superusers=True, backend=None, obj=None)[source]
class integreat_cms.cms.models.users.user.User(*args, **kwargs)[source]

Bases: AbstractUser, AbstractBaseModel

A custom User model that replaces the default Django User model

Parameters:
  • id (BigAutoField) – Primary key: ID

  • password (CharField) – Password

  • last_login (DateTimeField) – Last login

  • is_superuser (BooleanField) – Superuser status. Designates that this account has all permissions without explicitly assigning them.

  • username (CharField) – Username. Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.

  • first_name (CharField) – First name

  • last_name (CharField) – Last name

  • email (EmailField) – Email address

  • is_staff (BooleanField) – Staff status. Designates whether the user can log into this admin site.

  • is_active (BooleanField) – Active. Designates whether this account should be treated as active. Unselect this instead of deleting accounts.

  • date_joined (DateTimeField) – Date joined

  • chat_last_visited (DateTimeField) – Last chat visit date. The date and time when the user did read the chat the last time

  • expert_mode (BooleanField) – Experienced user. Enable this option to display additional features like XLIFF import/export, page filtering, mirrored pages, page-based permissions and status information for broken links

  • page_tree_tutorial_seen (BooleanField) – Page tree tutorial seen. Will be set to true once the user dismissed the page tree tutorial

  • distribute_sidebar_boxes (BooleanField) – Automatically distribute sidebar boxes. Enable this option to automatically distribute the boxes in the sidebar of forms to make the best use of screen space. This only affects screen resolutions where the boxes are displayed in two columns.

  • totp_key (CharField) – TOTP key. Will be used to generate TOTP codes

  • passwordless_authentication_enabled (BooleanField) – Enable passwordless authentication. Enable this option to activate the passwordless login routine for this account

Relationship fields:

Parameters:
  • organization (ForeignKey to Organization) – Organization. This allows the user to edit and publish all pages for which the organisation is registered as the responsible organisation (related name: members)

  • groups (ManyToManyField to Group) – Groups. The groups this user belongs to. A user will get all permissions granted to each of their groups. (related name: user_set)

  • user_permissions (ManyToManyField to Permission) – User permissions. Specific permissions for this user. (related name: user_set)

  • regions (ManyToManyField to Region) – Regions. The regions to which the user has access (related name: users)

Reverse relationships:

Parameters:
exception DoesNotExist[source]

Bases: ObjectDoesNotExist

__init__(*args, **kwargs)[source]
add_note()[source]

Exception.add_note(note) – add a note to the exception

args[source]
silent_variable_failure = True[source]
with_traceback()[source]

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

EMAIL_FIELD = 'email'[source]
exception MultipleObjectsReturned[source]

Bases: MultipleObjectsReturned

__init__(*args, **kwargs)[source]
add_note()[source]

Exception.add_note(note) – add a note to the exception

args[source]
with_traceback()[source]

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

REQUIRED_FIELDS = ['email'][source]
USERNAME_FIELD = 'username'[source]
__init__(*args, **kwargs)[source]
async adelete(using=None, keep_parents=False)[source]
async arefresh_from_db(using=None, fields=None)[source]
async asave(force_insert=False, force_update=False, using=None, update_fields=None)[source]
chat_last_visited[source]

Type: DateTimeField

Last chat visit date. The date and time when the user did read the chat the last time

chat_messages[source]

Type: Reverse ForeignKey from ChatMessage

All chat messages of this user (related name of sender)

classmethod check(**kwargs)[source]
check_password(raw_password)[source]

Return a boolean of whether the raw_password was correct. Handles hashing formats behind the scenes.

clean()[source]

Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.

clean_fields(exclude=None)[source]

Clean all fields and raise a ValidationError containing a dict of all validation errors if any occur.

date_error_message(lookup_type, field_name, unique_for)[source]
date_joined[source]

Type: DateTimeField

Date joined

delete(using=None, keep_parents=False)[source]
distinct_region[source]

If the user is no staff member and has exactly one region, this property returns it

Returns:

The only region of this user

distribute_sidebar_boxes[source]

Type: BooleanField

Automatically distribute sidebar boxes. Enable this option to automatically distribute the boxes in the sidebar of forms to make the best use of screen space. This only affects screen resolutions where the boxes are displayed in two columns.

editable_pages[source]

Type: Reverse ManyToManyField from Page

All editable pages of this user (related name of authors)

email[source]

Type: EmailField

Email address

email_user(subject, message, from_email=None, **kwargs)[source]

Send an email to this user.

event_translations[source]

Type: Reverse ForeignKey from EventTranslation

All event translations of this user (related name of creator)

expert_mode[source]

Type: BooleanField

Experienced user. Enable this option to display additional features like XLIFF import/export, page filtering, mirrored pages, page-based permissions and status information for broken links

feedback[source]

Type: Reverse ForeignKey from Feedback

All feedback of this user (related name of read_by)

fido_keys[source]

Type: Reverse ForeignKey from FidoKey

All fido keys of this user (related name of user)

first_name[source]

Type: CharField

First name

classmethod from_db(db, field_names, values)[source]
full_clean(exclude=None, validate_unique=True, validate_constraints=True)[source]

Call clean_fields(), clean(), validate_unique(), and validate_constraints() on the model. Raise a ValidationError for any errors that occur.

property full_user_name: str[source]

Return the full name of the user. If either the first or the last name are present, return them, otherwise return the username.

Returns:

The full name of the user

get_all_permissions(obj=None)[source]
get_constraints()[source]
get_deferred_fields()[source]

Return a set containing names of deferred fields for this instance.

classmethod get_email_field_name()[source]
get_full_name()[source]

Return the first_name plus the last_name, with a space in between.

get_group_permissions(obj=None)[source]

Return a list of permission strings that this user has through their groups. Query all available auth backends. If an object is passed in, return only permissions matching this object.

classmethod get_model_name_plural() str[source]

Get the plural representation of this model name

Returns:

The plural model name

Return type:

str

get_next_by_chat_last_visited(*, field=<django.db.models.DateTimeField: chat_last_visited>, is_next=True, **kwargs)[source]

Finds next instance based on chat_last_visited. See get_next_by_FOO() for more information.

get_next_by_date_joined(*, field=<django.db.models.DateTimeField: date_joined>, is_next=True, **kwargs)[source]

Finds next instance based on date_joined. See get_next_by_FOO() for more information.

get_previous_by_chat_last_visited(*, field=<django.db.models.DateTimeField: chat_last_visited>, is_next=False, **kwargs)[source]

Finds previous instance based on chat_last_visited. See get_previous_by_FOO() for more information.

get_previous_by_date_joined(*, field=<django.db.models.DateTimeField: date_joined>, is_next=False, **kwargs)[source]

Finds previous instance based on date_joined. See get_previous_by_FOO() for more information.

get_repr() str[source]

This overwrites the default Django __repr__() method which would return <User: User object (id)>. It is used for logging.

Returns:

The canonical string representation of the user

Return type:

str

get_session_auth_fallback_hash()[source]
get_session_auth_hash()[source]

Return an HMAC of the password field.

get_short_name()[source]

Return the short name for the user.

get_user_permissions(obj=None)[source]

Return a list of permission strings that this user has directly. Query all available auth backends. If an object is passed in, return only permissions matching this object.

get_username()[source]

Return the username for this User.

groups[source]

Type: ManyToManyField to Group

Groups. The groups this user belongs to. A user will get all permissions granted to each of their groups. (related name: user_set)

has_module_perms(app_label)[source]

Return True if the user has any permissions in the given app label. Use similar logic as has_perm(), above.

has_perm(perm, obj=None)[source]

Return True if the user has the specified permission. Query all available auth backends, but return immediately if any backend returns True. Thus, a user who has permission from a single auth backend is assumed to have permission in general. If an object is provided, check permissions for that object.

has_perms(perm_list, obj=None)[source]

Return True if the user has each of the specified permissions. If object is passed, check if the user has all required perms for it.

has_usable_password()[source]

Return False if set_unusable_password() has been called for this user.

id[source]

Type: BigAutoField

Primary key: ID

imprint_translations[source]

Type: Reverse ForeignKey from ImprintPageTranslation

All imprint translations of this user (related name of creator)

is_active[source]

Type: BooleanField

Active. Designates whether this account should be treated as active. Unselect this instead of deleting accounts.

property is_anonymous[source]

Always return False. This is a way of comparing User objects to anonymous users.

property is_authenticated[source]

Always return True. This is a way to tell if the user has been authenticated in templates.

is_staff[source]

Type: BooleanField

Staff status. Designates whether the user can log into this admin site.

is_superuser[source]

Type: BooleanField

Superuser status. Designates that this account has all permissions without explicitly assigning them.

last_login[source]

Type: DateTimeField

Last login

last_name[source]

Type: CharField

Last name

natural_key()[source]
classmethod normalize_username(username)[source]
objects = <integreat_cms.cms.models.users.user.CustomUserManager object>[source]

Django manager to access the ORM Use User.objects.all() to fetch all objects.

Custom model manager for user objects

organization[source]

Type: ForeignKey to Organization

Organization. This allows the user to edit and publish all pages for which the organisation is registered as the responsible organisation (related name: members)

organization_id[source]

Internal field, use organization instead.

page_translations[source]

Type: Reverse ForeignKey from PageTranslation

All page translations of this user (related name of creator)

page_tree_tutorial_seen[source]

Type: BooleanField

Page tree tutorial seen. Will be set to true once the user dismissed the page tree tutorial

password[source]

Type: CharField

Password

passwordless_authentication_enabled[source]

Type: BooleanField

Enable passwordless authentication. Enable this option to activate the passwordless login routine for this account

property pk[source]
poi_translations[source]

Type: Reverse ForeignKey from POITranslation

All poi translations of this user (related name of creator)

prepare_database_save(field)[source]
publishable_pages[source]

Type: Reverse ManyToManyField from Page

All publishable pages of this user (related name of editors)

refresh_from_db(using=None, fields=None)[source]

Reload field values from the database.

By default, the reloading happens from the database this instance was loaded from, or by the read router if this instance wasn’t loaded from any database. The using parameter will override the default.

Fields can be used to specify which fields to reload. The fields should be an iterable of field attnames. If fields is None, then all non-deferred fields are reloaded.

When accessing deferred fields of an instance, the deferred loading of the field will call this method.

regions[source]

Type: ManyToManyField to Region

Regions. The regions to which the user has access (related name: users)

role[source]

We refer to Django user groups as roles.

Returns:

The role of this user

save(*args, **kwargs)[source]

Save the current instance. Override this in a subclass if you want to control the saving process.

The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.

save_base(raw=False, force_insert=False, force_update=False, using=None, update_fields=None)[source]

Handle the parts of saving which should be done only once per save, yet need to be done in raw saves, too. This includes some sanity checks and signal sending.

The ‘raw’ argument is telling save_base not to save any parent models and not to do any changes to the values before save. This is used by fixture loading.

serializable_value(field_name)[source]

Return the value of the field name for this instance. If the field is a foreign key, return the id value instead of the object. If there’s no Field object with this name on the model, return the model attribute’s value.

Used to serialize a field’s value (in the serializer, or form output, for example). Normally, you would just access the attribute directly and not use this method.

set_password(raw_password)[source]
set_unusable_password()[source]
totp_key[source]

Type: CharField

TOTP key. Will be used to generate TOTP codes

unique_error_message(model_class, unique_check)[source]
property unread_chat_messages: QuerySet[ChatMessage][source]

Return all unread messages of this user

Returns:

The unread messages of this user

update_chat_last_visited() datetime[source]

Update the chat_last_visited to the current time

Returns:

the previous chat_last_visited value

Return type:

datetime

user_permissions[source]

Type: ManyToManyField to Permission

User permissions. Specific permissions for this user. (related name: user_set)

username[source]

Type: CharField

Username. Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.

username_validator = <django.contrib.auth.validators.UnicodeUsernameValidator object>[source]
validate_constraints(exclude=None)[source]
validate_unique(exclude=None)[source]

Check unique constraints on the model and raise ValidationError if any failed.

User Fido Key

class integreat_cms.cms.models.users.user_fido_key.FidoKey(*args, **kwargs)[source]

Bases: AbstractBaseModel

Data model representing a user’s FIDO key

Parameters:

Relationship fields:

Parameters:

user (ForeignKey to User) – User (related name: fido_keys)

exception DoesNotExist[source]

Bases: ObjectDoesNotExist

__init__(*args, **kwargs)[source]
add_note()[source]

Exception.add_note(note) – add a note to the exception

args[source]
silent_variable_failure = True[source]
with_traceback()[source]

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

exception MultipleObjectsReturned[source]

Bases: MultipleObjectsReturned

__init__(*args, **kwargs)[source]
add_note()[source]

Exception.add_note(note) – add a note to the exception

args[source]
with_traceback()[source]

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

__init__(*args, **kwargs)[source]
async adelete(using=None, keep_parents=False)[source]
async arefresh_from_db(using=None, fields=None)[source]
async asave(force_insert=False, force_update=False, using=None, update_fields=None)[source]
classmethod check(**kwargs)[source]
clean()[source]

Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.

clean_fields(exclude=None)[source]

Clean all fields and raise a ValidationError containing a dict of all validation errors if any occur.

created_at[source]

Type: DateTimeField

Creation date

date_error_message(lookup_type, field_name, unique_for)[source]
delete(using=None, keep_parents=False)[source]
classmethod from_db(db, field_names, values)[source]
full_clean(exclude=None, validate_unique=True, validate_constraints=True)[source]

Call clean_fields(), clean(), validate_unique(), and validate_constraints() on the model. Raise a ValidationError for any errors that occur.

get_constraints()[source]
get_deferred_fields()[source]

Return a set containing names of deferred fields for this instance.

classmethod get_model_name_plural() str[source]

Get the plural representation of this model name

Returns:

The plural model name

Return type:

str

get_next_by_created_at(*, field=<django.db.models.DateTimeField: created_at>, is_next=True, **kwargs)[source]

Finds next instance based on created_at. See get_next_by_FOO() for more information.

get_previous_by_created_at(*, field=<django.db.models.DateTimeField: created_at>, is_next=False, **kwargs)[source]

Finds previous instance based on created_at. See get_previous_by_FOO() for more information.

get_repr() str[source]

This overwrites the default Django __repr__() method which would return <UserMfaKey: UserMfaKey object (id)>. It is used for logging.

Returns:

The canonical string representation of the user MFA

Return type:

str

id[source]

Type: BigAutoField

Primary key: ID

key_id[source]

Type: BinaryField

WebAuthn ID

last_usage[source]

Type: DateTimeField

Last date of use

name[source]

Type: CharField

Key name

objects = <django.db.models.Manager object>[source]
property pk[source]
prepare_database_save(field)[source]
public_key[source]

Type: BinaryField

Multi-factor-authentication public key

refresh_from_db(using=None, fields=None)[source]

Reload field values from the database.

By default, the reloading happens from the database this instance was loaded from, or by the read router if this instance wasn’t loaded from any database. The using parameter will override the default.

Fields can be used to specify which fields to reload. The fields should be an iterable of field attnames. If fields is None, then all non-deferred fields are reloaded.

When accessing deferred fields of an instance, the deferred loading of the field will call this method.

save(force_insert=False, force_update=False, using=None, update_fields=None)[source]

Save the current instance. Override this in a subclass if you want to control the saving process.

The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.

save_base(raw=False, force_insert=False, force_update=False, using=None, update_fields=None)[source]

Handle the parts of saving which should be done only once per save, yet need to be done in raw saves, too. This includes some sanity checks and signal sending.

The ‘raw’ argument is telling save_base not to save any parent models and not to do any changes to the values before save. This is used by fixture loading.

serializable_value(field_name)[source]

Return the value of the field name for this instance. If the field is a foreign key, return the id value instead of the object. If there’s no Field object with this name on the model, return the model attribute’s value.

Used to serialize a field’s value (in the serializer, or form output, for example). Normally, you would just access the attribute directly and not use this method.

sign_count[source]

Type: IntegerField

Sign count. Token to prevent replay attacks.

unique_error_message(model_class, unique_check)[source]
user[source]

Type: ForeignKey to User

User (related name: fido_keys)

user_id[source]

Internal field, use user instead.

validate_constraints(exclude=None)[source]
validate_unique(exclude=None)[source]

Check unique constraints on the model and raise ValidationError if any failed.