connector.session.ConnectorSession(cr, uid, context=None)[source]¶Bases : object
Conteneur pour les choses transactionnelles d’OpenERP :
env¶L’Environnement
cr¶Le curseur d’OpenERP
uid¶L’ID de l’utilisateur (entier)
pool¶Le registre des modèles
context¶Le context actuel d’OpenERP
change_context(*args, **kwds)[source]¶Context Manager : crée un nouvel Env avec un context mis à jour
Génère un nouvel openerp.api.Environment utilisé à l’intérieur du context manager, où le context est enrichi avec les arguments. L’environnement original est restauré à la fermeture du context manager.
Le context enrichi est soit le context fourni, dans lequel les overrides sont fusionnés, ou le context actuel dans lequel les overrides sont fusionné, càd
# current context is {'key1': True}
r2 = records.with_context({}, key2=True)
# -> r2._context is {'key2': True}
r2 = records.with_context(key2=True)
# -> r2._context is {'key1': True, 'key2': True}
Avertissement
seuls les recordset lus à l’intérieur du context manager seront attachés à cet environnement. Dans beaucoup de cas, vous préférerez utiliser openerp.models.BaseModel.with_context()
change_user(*args, **kwds)[source]¶Context Manager : crée un nouvel Env avec l’utilisateur spécifié
Ceci génère un nouvel openerp.api.Environment utilisé à l’intérieur du context manager, où l’utilisateur est remplacé par celui spécifié. L’environnement original est restaré à la fermeture du context manager.
Avertissement
seuls les recordset lus à l’intérieur du context manager seront attachés à cet environnement. Dans beaucoup de cas, vous préférerez utiliser openerp.models.BaseModel.with_context()
contextcris_module_installed(module_name)[source]¶Indique si un module est installé ou non dans la base de données en cours.
Utilise une convention établie pour les modules connecteurs : pour savoir si un module est installé, il regarde si un modèle (abstrait) avec le nom nom_module.installed est chargé dans le registre.
poolsearch(model, domain, limit=None, offset=0, order=None)[source]¶Raccourci pour openerp.models.BaseModel.search
uidconnector.session.ConnectorSessionHandler(db_name, uid, context=None)[source]¶Bases : object
Permet de créer une nouvelle instance de ConnectorSession pour une base de données.
db_name¶Le nom de la base de données sur laquelle on travaille
uid¶L’ID de l’utilisateur (entier)
context¶Le context actuel d’OpenERP
Utilisation
session_hdl = ConnectorSessionHandler(db_name, 1)
with session_hdl.session() as session:
# work with session