endi.models.user package

Submodules

endi.models.user.group module

class endi.models.user.group.Group(**kwargs)

Bases : Base

Available groups used in enDI

editable
id
label
name
primary
users

endi.models.user.login module

class endi.models.user.login.Login(user_id=None, login=None, password=None, groups=())

Bases : Base

Datas table containing login informations

username/password

active
auth(password)

Auth a user

Paramètres:

password (str) – The password to check

Renvoie:

True or False

Type renvoyé:

bool

estimation_limit_amount
classmethod find_by_login(login, active=True)
groups = ColumnAssociationProxyInstance(AssociationProxy('_groups', 'name'))
id
classmethod id_from_login(login)

Retrieve the Login instance matching with “login”

Paramètres:

login (str) – The login string

Renvoie:

An id

Type renvoyé:

int

Raises:

Error when no Login instance could be found

invoice_limit_amount
login
primary_group()

Find a group that should be primary in the login’s groups

Renvoie:

The group name

Type renvoyé:

str

pwd_hash
classmethod query(only_active=True)

Query users

set_password(password)

Set the user’s password

supplier_invoice_limit_amount
supplier_order_limit_amount
classmethod unique_login(login, login_id=None)

check that the given login is not yet in the database

login

A string for a login candidate

login_id

Optionnal login_id, if given, we will check all logins except this one (in case of edition)

classmethod unique_user_id(user_id, login_id=None)

Check that no Login object is already associated to a User account with id user_id

user_id

A user id

login_id

Optionnal id, if given, we will check all logins except this one (in case of edition)

user
user_id
class endi.models.user.login.UserConnections(user_id)

Bases : Base

Datas table containing user connections history by months

log_connection()
month
month_last_connection
classmethod purge_logs()
user
user_id
year

endi.models.user.user module

class endi.models.user.user.User(**kwargs)

Bases : Base

User model

property active_companies

Return only enabled companies

property active_company_ids

Return only enabled companies ids

activities
civilite
companies
compte_tiers
connections
email
event_attendances
expenses
classmethod find_user(value, *args, **kw)

Try to find a user instance based on the given value

Paramètres:

value (str) – The value that should match a user

firstname
get_company(cid)

Retrieve the user’s company with id cid

Paramètres:

cid (int) – The user’s company id

Renvoie:

A Company instance

Raises:

sqlalchemy.exc.NoResultFound if no company can be found

has_userdatas()

Return True if the current object has userdatas associated to it

holidays
id
property label
lastname
login
notifications
ownedTasks
owned_events
property photo
photo_file
photo_id
photo_is_publishable
special
trainerdatas
user_prefs

Marqueur « Comptes spéciaux » Non pris en compte pour la facturation enDI Edité directement en bdd

userdatas
vehicle
vehicle_fiscal_power
vehicle_registration
endi.models.user.user.start_listening()
endi.models.user.user.sync_user_to_userdatas(source_key, userdatas_key)

endi.models.user.userdatas module

class endi.models.user.userdatas.ActivityTypeOption(**kwargs)

Bases : ConfigurableOption

Different possible values for activity type

active
id
label
order
type_
class endi.models.user.userdatas.AidOrganismOption(**kwargs)

Bases : ConfigurableOption

Different values for aid organisms

active
id
label
order
type_
class endi.models.user.userdatas.AidOrganismsDatas(**kwargs)

Bases : Base

Used to store multiple aid organisms

aid_organism
aid_organism_id
date
details
id
userdatas
userdatas_id
class endi.models.user.userdatas.AntenneOption(**kwargs)

Bases : ConfigurableOption

Different antenne

active
id
label
order
type_
class endi.models.user.userdatas.BankAccountsDatas(**kwargs)

Bases : Base

Datas related to user’s bank accounts

bic
iban
id
label
userdatas
userdatas_id
class endi.models.user.userdatas.CaeSituationOption(**kwargs)

Bases : ConfigurableOption

Possible values for the cae status « Situation actuelle dans la cae »

active
id
is_integration
label
order
type_
class endi.models.user.userdatas.CareContractOption(**kwargs)

Bases : ConfigurableOption

Different values for care contracts

active
id
label
order
type_
class endi.models.user.userdatas.CareContractsDatas(**kwargs)

Bases : Base

Used to store multiple care contracts

care_contract
care_contract_id
date
details
id
userdatas
userdatas_id
class endi.models.user.userdatas.CompanyDatas(**kwargs)

Bases : Base

activity
activity_id
id
name
title
userdatas
userdatas_id
website
class endi.models.user.userdatas.ExternalActivityDatas(**kwargs)

Bases : Base

Datas related to external activities

brut_salary
employer_visited
hours
id
type
userdatas
userdatas_id
class endi.models.user.userdatas.NonAdmissionOption(**kwargs)

Bases : ConfigurableOption

Possible values for refusing admission

active
id
label
order
type_
class endi.models.user.userdatas.ParcoursStatusOption(**kwargs)

Bases : ConfigurableOption

Possible values for status

active
id
label
order
type_
class endi.models.user.userdatas.PcsOption(**kwargs)

Bases : ConfigurableOption

Different possible value for Pcs

active
id
label
order
type_
class endi.models.user.userdatas.PrescripteurOption(**kwargs)

Bases : ConfigurableOption

Different values for prescripteur

active
id
label
order
type_
class endi.models.user.userdatas.SocialDocTypeOption(**kwargs)

Bases : ConfigurableOption

Different social doc types

active
id
label
order
registration
type_
class endi.models.user.userdatas.SocialStatusDatas(**kwargs)

Bases : Base

Used to store multiple social status

id
social_status
social_status_id
step
userdatas
userdatas_id
class endi.models.user.userdatas.SocialStatusOption(**kwargs)

Bases : ConfigurableOption

Different values for social status

active
id
label
order
type_
class endi.models.user.userdatas.StudyLevelOption(**kwargs)

Bases : ConfigurableOption

Different values for study level

active
id
label
order
type_
class endi.models.user.userdatas.UserDatas(**kwargs)

Bases : Node

activity_care_contracts
activity_companydatas
activity_pcs
activity_pcs_id
activity_typologie
activity_typologie_id
property age
career_paths
children
coordonnees_address
coordonnees_birthday
coordonnees_birthplace
coordonnees_birthplace_zipcode
coordonnees_children
coordonnees_city
coordonnees_civilite
coordonnees_email1
coordonnees_email2
coordonnees_emergency_name
coordonnees_emergency_phone
coordonnees_family_status
coordonnees_firstname
coordonnees_identifiant_interne
coordonnees_ladies_lastname
coordonnees_lastname
coordonnees_mobile
coordonnees_nationality
coordonnees_resident
coordonnees_secu
coordonnees_sex
coordonnees_study_level
coordonnees_study_level_id
coordonnees_tel
coordonnees_zipcode
coordonnees_zone
coordonnees_zone_id
coordonnees_zone_qual
coordonnees_zone_qual_id
created_at
custom_fields
doctypes_registrations
property export_label
file_requirements
files
gen_companies()

Generate companies as expected

Generate a User instance based on the current UserDatas instance

Usefull for importing tools (e.g: endi_celery)

Renvoie:

A User instance (not added to the current session)

get_cae_situation_from_career_path(date=None)

Return the CaeSituation of the current user at the given date computed from the career path

get_career_path_by_stages()

Collect CareerPath associated to this instance and stores them by stage name

Renvoie:

A dict {“stage”: [List of ordered CareerPath]}

Type renvoyé:

dict

id
name
parcours_date_info_coll
parcours_goals
parcours_medical_visit
parcours_medical_visit_limit
parcours_non_admission
parcours_non_admission_id
parcours_prescripteur
parcours_prescripteur_id
parcours_prescripteur_name
parcours_status
parcours_status_id
parent: Any
parent_id
situation_antenne
situation_antenne_id
situation_follower
situation_follower_id
situation_situation
situation_situation_id
situation_societariat_entrance
social_statuses
statuses
statut_aid_organisms
statut_bank_accounts
statut_end_rights_date
statut_external_activity
statut_handicap_allocation_expiration
template_history
today_social_statuses
type_
updated_at
user
user_id
class endi.models.user.userdatas.UserDatasCustomFields(**kwargs)

Bases : Base

Ce modèle, en relation 1-1 avec UserDatas, est utilisé pour permettre automatiquement la configuration de l’affichage de chaque champs sur les fiches Gestion Sociale. > Cf endi/views/admin/userdatas/custom_files.py

Les champs sont automatiquement affichés sur le formulaire (si activés) mais peuvent être « customisés » si besoin. > Cf endi/forms/user/userdatas.py

Tout changement sur ce modèle doit faire l’objet d’un script de migration Alembic, comme pour n’importe quel modèle, il n’y a pas d’automatisme.

La « section » ColanderAlchemy est obligatoire pour un affichage correct.

agri__accomp_technique
agri__certif_bio
agri__diplome
agri__dispo_terres
agri__dispositif_region
agri__forme_test
agri__lieu_production
agri__nima
exp__annee_diplome
exp__competences
exp__diplome
exp__metier_origine
exp__nb_annees
id
userdatas
class endi.models.user.userdatas.UserDatasSocialDocTypes(**kwargs)

Bases : Base

relationship table used between social document types and user datas set

doctype
doctype_id
status
userdatas
userdatas_id
class endi.models.user.userdatas.ZoneOption(**kwargs)

Bases : ConfigurableOption

Different type of geographical zones

active
id
label
order
type_
class endi.models.user.userdatas.ZoneQualificationOption(**kwargs)

Bases : ConfigurableOption

Different possible values to qualify a zone

active
id
label
order
type_
endi.models.user.userdatas.get_default_cae_situation()
endi.models.user.userdatas.get_dict_key_from_value(val, dict_)
endi.models.user.userdatas.start_listening()
endi.models.user.userdatas.sync_userdatas_to_user(source_key, user_key)

Module contents