📜 ⬆️ ⬇️

ERP development on tryton: Part 2

This part covers the structure of naming methods, working with users and groups, installing additional modules.

Part 1: Install tryotnd, query structure, work with the database
Part 2: Method Structure, Working with Users and Groups, Installing Modules
Part 3: Work with modules of the company (company), contractors (party), product (product) and warehouse (stock).

0. The structure of the name of the method


We received the list of server methods, now we will understand how they are built and what they are responsible for.
The names of the methods are built quite simply and have the following form:
% primary_class_name%.% class_name%.% method_name%.

Here only the tryton developers redefine the names of the classes, basically so -% module_name%.% Class_name%, less often% module_name%.% Class_name%.% Logical_class%. For example: model.res.user.create and model.stock.shipment.in.create.
')
Total, method names have the following form:
% primary_class_name%.% module_name%.% class_name%.% logical_subclass%.% method_name%.

1. Main classes


Tryton has 5 main classes:


The common and system methods were discussed in the previous section. About the report and wizard methods there will be separate articles, in this part we will consider model.

2. Class model


trytond comes with 3 built-in modules:
  1. res - user and group management.
    Res module methods
    model.res.group.copy
    model.res.group.create
    model.res.group.default_get
    model.res.group.delete
    model.res.group.export_data
    model.res.group.fields_get
    model.res.group.fields_view_get
    model.res.group.history_revisions
    model.res.group.import_data
    model.res.group.on_change_with
    model.res.group.pre_validate
    model.res.group.read
    model.res.group.search
    model.res.group.search_count
    model.res.group.search_read
    model.res.group.view_toolbar_get
    model.res.group.write
    model.res.user-company.employee.default_get
    model.res.user-company.employee.fields_get
    model.res.user-company.employee.on_change_with
    model.res.user-company.employee.pre_validate
    model.res.user-ir.action.default_get
    model.res.user-ir.action.fields_get
    model.res.user-ir.action.on_change_with
    model.res.user-ir.action.pre_validate
    model.res.user-res.group.default_get
    model.res.user-res.group.fields_get
    model.res.user-res.group.on_change_with
    model.res.user-res.group.pre_validate
    model.res.user.config.start.default_get
    model.res.user.config.start.fields_get
    model.res.user.config.start.fields_view_get
    model.res.user.config.start.on_change_with
    model.res.user.config.start.pre_validate
    model.res.user.config.start.view_toolbar_get
    model.res.user.copy
    model.res.user.create
    model.res.user.default_get
    model.res.user.delete
    model.res.user.export_data
    model.res.user.fields_get
    model.res.user.fields_view_get
    model.res.user.get_preferences
    model.res.user.get_preferences_fields_view
    model.res.user.history_revisions
    model.res.user.import_data
    model.res.user.login.attempt.default_get
    model.res.user.login.attempt.fields_get
    model.res.user.login.attempt.on_change_with
    model.res.user.login.attempt.pre_validate
    model.res.user.on_change_company
    model.res.user.on_change_main_company
    model.res.user.on_change_with
    model.res.user.pre_validate
    model.res.user.read
    model.res.user.search
    model.res.user.search_count
    model.res.user.search_read
    model.res.user.set_preferences
    model.res.user.view_toolbar_get
    model.res.user.warning.copy
    model.res.user.warning.create
    model.res.user.warning.default_get
    model.res.user.warning.delete
    model.res.user.warning.export_data
    model.res.user.warning.fields_get
    model.res.user.warning.fields_view_get
    model.res.user.warning.history_revisions
    model.res.user.warning.import_data
    model.res.user.warning.on_change_with
    model.res.user.warning.pre_validate
    model.res.user.warning.read
    model.res.user.warning.search
    model.res.user.warning.search_count
    model.res.user.warning.search_read
    model.res.user.warning.view_toolbar_get
    model.res.user.warning.write
    model.res.user.write

  2. ir - the main functionality - work with gui-client tryton, also the developers here pushed the installation of modules, user rights management and much more.
    Methods of the ir module (more than 800 methods)
    model.ir.action-res.group.default_get
    model.ir.action-res.group.fields_get
    model.ir.action-res.group.on_change_with
    model.ir.action-res.group.pre_validate
    model.ir.action.act_window.copy
    model.ir.action.act_window.create
    model.ir.action.act_window.default_get
    model.ir.action.act_window.delete
    model.ir.action.act_window.domain.copy
    model.ir.action.act_window.domain.create
    model.ir.action.act_window.domain.default_get
    model.ir.action.act_window.domain.delete
    model.ir.action.act_window.domain.export_data
    model.ir.action.act_window.domain.fields_get
    model.ir.action.act_window.domain.fields_view_get
    model.ir.action.act_window.domain.history_revisions
    model.ir.action.act_window.domain.import_data
    model.ir.action.act_window.domain.on_change_with
    model.ir.action.act_window.domain.pre_validate
    model.ir.action.act_window.domain.read
    model.ir.action.act_window.domain.search
    model.ir.action.act_window.domain.search_count
    model.ir.action.act_window.domain.search_read
    model.ir.action.act_window.domain.view_toolbar_get
    model.ir.action.act_window.domain.write
    model.ir.action.act_window.export_data
    model.ir.action.act_window.fields_get
    model.ir.action.act_window.fields_view_get
    model.ir.action.act_window.get
    model.ir.action.act_window.history_revisions
    model.ir.action.act_window.import_data
    model.ir.action.act_window.on_change_with
    model.ir.action.act_window.pre_validate
    model.ir.action.act_window.read
    model.ir.action.act_window.search
    model.ir.action.act_window.search_count
    model.ir.action.act_window.search_read
    model.ir.action.act_window.view.copy
    model.ir.action.act_window.view.create
    model.ir.action.act_window.view.default_get
    model.ir.action.act_window.view.delete
    model.ir.action.act_window.view.export_data
    model.ir.action.act_window.view.fields_get
    model.ir.action.act_window.view.fields_view_get
    model.ir.action.act_window.view.history_revisions
    model.ir.action.act_window.view.import_data
    model.ir.action.act_window.view.on_change_with
    model.ir.action.act_window.view.pre_validate
    model.ir.action.act_window.view.read
    model.ir.action.act_window.view.search
    model.ir.action.act_window.view.search_count
    model.ir.action.act_window.view.search_read
    model.ir.action.act_window.view.view_toolbar_get
    model.ir.action.act_window.view.write
    model.ir.action.act_window.view_toolbar_get
    model.ir.action.act_window.write
    model.ir.action.copy
    model.ir.action.create
    model.ir.action.default_get
    model.ir.action.delete
    model.ir.action.export_data
    model.ir.action.fields_get
    model.ir.action.fields_view_get
    model.ir.action.get_action_id
    model.ir.action.history_revisions
    model.ir.action.import_data
    model.ir.action.keyword.copy
    model.ir.action.keyword.create
    model.ir.action.keyword.default_get
    model.ir.action.keyword.delete
    model.ir.action.keyword.export_data
    model.ir.action.keyword.fields_get
    model.ir.action.keyword.fields_view_get
    model.ir.action.keyword.get_keyword
    model.ir.action.keyword.history_revisions
    model.ir.action.keyword.import_data
    model.ir.action.keyword.models_get
    model.ir.action.keyword.on_change_with
    model.ir.action.keyword.pre_validate
    model.ir.action.keyword.read
    model.ir.action.keyword.search
    model.ir.action.keyword.search_count
    model.ir.action.keyword.search_read
    model.ir.action.keyword.view_toolbar_get
    model.ir.action.keyword.write
    model.ir.action.on_change_with
    model.ir.action.pre_validate
    model.ir.action.read
    model.ir.action.report.copy
    model.ir.action.report.create
    model.ir.action.report.default_get
    model.ir.action.report.delete
    model.ir.action.report.export_data
    model.ir.action.report.fields_get
    model.ir.action.report.fields_view_get
    model.ir.action.report.history_revisions
    model.ir.action.report.import_data
    model.ir.action.report.on_change_with
    model.ir.action.report.on_change_with_report_content_name
    model.ir.action.report.pre_validate
    model.ir.action.report.read
    model.ir.action.report.search
    model.ir.action.report.search_count
    model.ir.action.report.search_read
    model.ir.action.report.view_toolbar_get
    model.ir.action.report.write
    model.ir.action.search
    model.ir.action.search_count
    model.ir.action.search_read
    model.ir.action.url.copy
    model.ir.action.url.create
    model.ir.action.url.default_get
    model.ir.action.url.delete
    model.ir.action.url.export_data
    model.ir.action.url.fields_get
    model.ir.action.url.fields_view_get
    model.ir.action.url.history_revisions
    model.ir.action.url.import_data
    model.ir.action.url.on_change_with
    model.ir.action.url.pre_validate
    model.ir.action.url.read
    model.ir.action.url.search
    model.ir.action.url.search_count
    model.ir.action.url.search_read
    model.ir.action.url.view_toolbar_get
    model.ir.action.url.write
    model.ir.action.view_toolbar_get
    model.ir.action.wizard.copy
    model.ir.action.wizard.create
    model.ir.action.wizard.default_get
    model.ir.action.wizard.delete
    model.ir.action.wizard.export_data
    model.ir.action.wizard.fields_get
    model.ir.action.wizard.fields_view_get
    model.ir.action.wizard.history_revisions
    model.ir.action.wizard.import_data
    model.ir.action.wizard.on_change_with
    model.ir.action.wizard.pre_validate
    model.ir.action.wizard.read
    model.ir.action.wizard.search
    model.ir.action.wizard.search_count
    model.ir.action.wizard.search_read
    model.ir.action.wizard.view_toolbar_get
    model.ir.action.wizard.write
    model.ir.action.write
    model.ir.attachment.copy
    model.ir.attachment.create
    model.ir.attachment.default_get
    model.ir.attachment.delete
    model.ir.attachment.export_data
    model.ir.attachment.fields_get
    model.ir.attachment.fields_view_get
    model.ir.attachment.history_revisions
    model.ir.attachment.import_data
    model.ir.attachment.models_get
    model.ir.attachment.on_change_with
    model.ir.attachment.on_change_with_summary
    model.ir.attachment.pre_validate
    model.ir.attachment.read
    model.ir.attachment.search
    model.ir.attachment.search_count
    model.ir.attachment.search_read
    model.ir.attachment.view_toolbar_get
    model.ir.attachment.write
    model.ir.cache.default_get
    model.ir.cache.fields_get
    model.ir.cache.on_change_with
    model.ir.cache.pre_validate
    model.ir.configuration.default_get
    model.ir.configuration.fields_get
    model.ir.configuration.on_change_with
    model.ir.configuration.pre_validate
    model.ir.cron-company.company.default_get
    model.ir.cron-company.company.fields_get
    model.ir.cron-company.company.on_change_with
    model.ir.cron-company.company.pre_validate
    model.ir.cron.copy
    model.ir.cron.create
    model.ir.cron.default_get
    model.ir.cron.delete
    model.ir.cron.export_data
    model.ir.cron.fields_get
    model.ir.cron.fields_view_get
    model.ir.cron.history_revisions
    model.ir.cron.import_data
    model.ir.cron.on_change_with
    model.ir.cron.pre_validate
    model.ir.cron.read
    model.ir.cron.search
    model.ir.cron.search_count
    model.ir.cron.search_read
    model.ir.cron.view_toolbar_get
    model.ir.cron.write
    model.ir.date.default_get
    model.ir.date.fields_get
    model.ir.date.on_change_with
    model.ir.date.pre_validate
    model.ir.date.today
    model.ir.export.copy
    model.ir.export.create
    model.ir.export.default_get
    model.ir.export.delete
    model.ir.export.export_data
    model.ir.export.fields_get
    model.ir.export.fields_view_get
    model.ir.export.history_revisions
    model.ir.export.import_data
    model.ir.export.line.copy
    model.ir.export.line.create
    model.ir.export.line.default_get
    model.ir.export.line.delete
    model.ir.export.line.export_data
    model.ir.export.line.fields_get
    model.ir.export.line.fields_view_get
    model.ir.export.line.history_revisions
    model.ir.export.line.import_data
    model.ir.export.line.on_change_with
    model.ir.export.line.pre_validate
    model.ir.export.line.read
    model.ir.export.line.search
    model.ir.export.line.search_count
    model.ir.export.line.search_read
    model.ir.export.line.view_toolbar_get
    model.ir.export.line.write
    model.ir.export.on_change_with
    model.ir.export.pre_validate
    model.ir.export.read
    model.ir.export.search
    model.ir.export.search_count
    model.ir.export.search_read
    model.ir.export.view_toolbar_get
    model.ir.export.write
    model.ir.lang.copy
    model.ir.lang.create
    model.ir.lang.default_get
    model.ir.lang.delete
    model.ir.lang.export_data
    model.ir.lang.fields_get
    model.ir.lang.fields_view_get
    model.ir.lang.history_revisions
    model.ir.lang.import_data
    model.ir.lang.on_change_with
    model.ir.lang.pre_validate
    model.ir.lang.read
    model.ir.lang.search
    model.ir.lang.search_count
    model.ir.lang.search_read
    model.ir.lang.view_toolbar_get
    model.ir.lang.write
    model.ir.model.access.copy
    model.ir.model.access.create
    model.ir.model.access.default_get
    model.ir.model.access.delete
    model.ir.model.access.export_data
    model.ir.model.access.fields_get
    model.ir.model.access.fields_view_get
    model.ir.model.access.get_access
    model.ir.model.access.history_revisions
    model.ir.model.access.import_data
    model.ir.model.access.on_change_with
    model.ir.model.access.pre_validate
    model.ir.model.access.read
    model.ir.model.access.search
    model.ir.model.access.search_count
    model.ir.model.access.search_read
    model.ir.model.access.view_toolbar_get
    model.ir.model.access.write
    model.ir.model.button-res.group.default_get
    model.ir.model.button-res.group.fields_get
    model.ir.model.button-res.group.on_change_with
    model.ir.model.button-res.group.pre_validate
    model.ir.model.button.copy
    model.ir.model.button.create
    model.ir.model.button.default_get
    model.ir.model.button.delete
    model.ir.model.button.export_data
    model.ir.model.button.fields_get
    model.ir.model.button.fields_view_get
    model.ir.model.button.history_revisions
    model.ir.model.button.import_data
    model.ir.model.button.on_change_with
    model.ir.model.button.pre_validate
    model.ir.model.button.read
    model.ir.model.button.search
    model.ir.model.button.search_count
    model.ir.model.button.search_read
    model.ir.model.button.view_toolbar_get
    model.ir.model.button.write
    model.ir.model.copy
    model.ir.model.create
    model.ir.model.data.copy
    model.ir.model.data.create
    model.ir.model.data.default_get
    model.ir.model.data.delete
    model.ir.model.data.export_data
    model.ir.model.data.fields_get
    model.ir.model.data.fields_view_get
    model.ir.model.data.history_revisions
    model.ir.model.data.import_data
    model.ir.model.data.on_change_with
    model.ir.model.data.pre_validate
    model.ir.model.data.read
    model.ir.model.data.search
    model.ir.model.data.search_count
    model.ir.model.data.search_read
    model.ir.model.data.view_toolbar_get
    model.ir.model.data.write
    model.ir.model.default_get
    model.ir.model.delete
    model.ir.model.export_data
    model.ir.model.field-res.group.default_get
    model.ir.model.field-res.group.fields_get
    model.ir.model.field-res.group.on_change_with
    model.ir.model.field-res.group.pre_validate
    model.ir.model.field.access.copy
    model.ir.model.field.access.create
    model.ir.model.field.access.default_get
    model.ir.model.field.access.delete
    model.ir.model.field.access.export_data
    model.ir.model.field.access.fields_get
    model.ir.model.field.access.fields_view_get
    model.ir.model.field.access.history_revisions
    model.ir.model.field.access.import_data
    model.ir.model.field.access.on_change_with
    model.ir.model.field.access.pre_validate
    model.ir.model.field.access.read
    model.ir.model.field.access.search
    model.ir.model.field.access.search_count
    model.ir.model.field.access.search_read
    model.ir.model.field.access.view_toolbar_get
    model.ir.model.field.access.write
    model.ir.model.field.copy
    model.ir.model.field.create
    model.ir.model.field.default_get
    model.ir.model.field.delete
    model.ir.model.field.export_data
    model.ir.model.field.fields_get
    model.ir.model.field.fields_view_get
    model.ir.model.field.history_revisions
    model.ir.model.field.import_data
    model.ir.model.field.on_change_with
    model.ir.model.field.pre_validate
    model.ir.model.field.read
    model.ir.model.field.search
    model.ir.model.field.search_count
    model.ir.model.field.search_read
    model.ir.model.field.view_toolbar_get
    model.ir.model.field.write
    model.ir.model.fields_get
    model.ir.model.fields_view_get
    model.ir.model.global_search
    model.ir.model.history_revisions
    model.ir.model.import_data
    model.ir.model.list_history
    model.ir.model.list_models
    model.ir.model.on_change_with
    model.ir.model.pre_validate
    model.ir.model.print_model_graph.start.default_get
    model.ir.model.print_model_graph.start.fields_get
    model.ir.model.print_model_graph.start.fields_view_get
    model.ir.model.print_model_graph.start.on_change_with
    model.ir.model.print_model_graph.start.pre_validate
    model.ir.model.print_model_graph.start.view_toolbar_get
    model.ir.model.read
    model.ir.model.search
    model.ir.model.search_count
    model.ir.model.search_read
    model.ir.model.view_toolbar_get
    model.ir.model.write
    model.ir.module.module.config_wizard.done.default_get
    model.ir.module.module.config_wizard.done.fields_get
    model.ir.module.module.config_wizard.done.fields_view_get
    model.ir.module.module.config_wizard.done.on_change_with
    model.ir.module.module.config_wizard.done.pre_validate
    model.ir.module.module.config_wizard.done.view_toolbar_get
    model.ir.module.module.config_wizard.first.default_get
    model.ir.module.module.config_wizard.first.fields_get
    model.ir.module.module.config_wizard.first.fields_view_get
    model.ir.module.module.config_wizard.first.on_change_with
    model.ir.module.module.config_wizard.first.pre_validate
    model.ir.module.module.config_wizard.first.view_toolbar_get
    model.ir.module.module.config_wizard.item.copy
    model.ir.module.module.config_wizard.item.create
    model.ir.module.module.config_wizard.item.default_get
    model.ir.module.module.config_wizard.item.delete
    model.ir.module.module.config_wizard.item.export_data
    model.ir.module.module.config_wizard.item.fields_get
    model.ir.module.module.config_wizard.item.fields_view_get
    model.ir.module.module.config_wizard.item.history_revisions
    model.ir.module.module.config_wizard.item.import_data
    model.ir.module.module.config_wizard.item.on_change_with
    model.ir.module.module.config_wizard.item.pre_validate
    model.ir.module.module.config_wizard.item.read
    model.ir.module.module.config_wizard.item.search
    model.ir.module.module.config_wizard.item.search_count
    model.ir.module.module.config_wizard.item.search_read
    model.ir.module.module.config_wizard.item.view_toolbar_get
    model.ir.module.module.config_wizard.item.write
    model.ir.module.module.config_wizard.other.default_get
    model.ir.module.module.config_wizard.other.fields_get
    model.ir.module.module.config_wizard.other.fields_view_get
    model.ir.module.module.config_wizard.other.on_change_with
    model.ir.module.module.config_wizard.other.pre_validate
    model.ir.module.module.config_wizard.other.view_toolbar_get
    model.ir.module.module.copy
    model.ir.module.module.create
    model.ir.module.module.default_get
    model.ir.module.module.delete
    model.ir.module.module.dependency.copy
    model.ir.module.module.dependency.create
    model.ir.module.module.dependency.default_get
    model.ir.module.module.dependency.delete
    model.ir.module.module.dependency.export_data
    model.ir.module.module.dependency.fields_get
    model.ir.module.module.dependency.fields_view_get
    model.ir.module.module.dependency.history_revisions
    model.ir.module.module.dependency.import_data
    model.ir.module.module.dependency.on_change_with
    model.ir.module.module.dependency.pre_validate
    model.ir.module.module.dependency.read
    model.ir.module.module.dependency.search
    model.ir.module.module.dependency.search_count
    model.ir.module.module.dependency.search_read
    model.ir.module.module.dependency.view_toolbar_get
    model.ir.module.module.dependency.write
    model.ir.module.module.export_data
    model.ir.module.module.fields_get
    model.ir.module.module.fields_view_get
    model.ir.module.module.history_revisions
    model.ir.module.module.import_data
    model.ir.module.module.install
    model.ir.module.module.install_cancel
    model.ir.module.module.install_upgrade.done.default_get
    model.ir.module.module.install_upgrade.done.fields_get
    model.ir.module.module.install_upgrade.done.fields_view_get
    model.ir.module.module.install_upgrade.done.on_change_with
    model.ir.module.module.install_upgrade.done.pre_validate
    model.ir.module.module.install_upgrade.done.view_toolbar_get
    model.ir.module.module.install_upgrade.start.default_get
    model.ir.module.module.install_upgrade.start.fields_get
    model.ir.module.module.install_upgrade.start.fields_view_get
    model.ir.module.module.install_upgrade.start.on_change_with
    model.ir.module.module.install_upgrade.start.pre_validate
    model.ir.module.module.install_upgrade.start.view_toolbar_get
    model.ir.module.module.on_change_with
    model.ir.module.module.on_write
    model.ir.module.module.pre_validate
    model.ir.module.module.read
    model.ir.module.module.search
    model.ir.module.module.search_count
    model.ir.module.module.search_read
    model.ir.module.module.uninstall
    model.ir.module.module.uninstall_cancel
    model.ir.module.module.upgrade
    model.ir.module.module.upgrade_cancel
    model.ir.module.module.view_toolbar_get
    model.ir.module.module.write
    model.ir.property.copy
    model.ir.property.create
    model.ir.property.default_get
    model.ir.property.delete
    model.ir.property.export_data
    model.ir.property.fields_get
    model.ir.property.fields_get_get
    model.ir.property.history_revisions
    model.ir.property.import_data
    model.ir.property.models_get
    model.ir.property.on_change_with
    model.ir.property.pre_validate
    model.ir.property.read
    model.ir.property.search
    model.ir.property.search_count
    model.ir.property.search_read
    model.ir.property.view_toolbar_get
    model.ir.property.write
    model.ir.rule.copy
    model.ir.rule.create
    model.ir.rule.default_get
    model.ir.rule.delete
    model.ir.rule.export_data
    model.ir.rule.fields_get
    model.ir.rule.fields_view_get
    model.ir.rule.group-res.group.default_get
    model.ir.rule.group-res.group.fields_get
    model.ir.rule.group-res.group.on_change_with
    model.ir.rule.group-res.group.pre_validate
    model.ir.rule.group-res.user.default_get
    model.ir.rule.group-res.user.fields_get
    model.ir.rule.group-res.user.on_change_with
    model.ir.rule.group-res.user.pre_validate
    model.ir.rule.group.copy
    model.ir.rule.group.create
    model.ir.rule.group.default_get
    model.ir.rule.group.delete
    model.ir.rule.group.export_data
    model.ir.rule.group.fields_get
    model.ir.rule.group.fields_view_get
    model.ir.rule.group.history_revisions
    model.ir.rule.group.import_data
    model.ir.rule.group.on_change_with
    model.ir.rule.group.pre_validate
    model.ir.rule.group.read
    model.ir.rule.group.search
    model.ir.rule.group.search_count
    model.ir.rule.group.search_read
    model.ir.rule.group.view_toolbar_get
    model.ir.rule.group.write
    model.ir.rule.history_revisions
    model.ir.rule.import_data
    model.ir.rule.on_change_with
    model.ir.rule.pre_validate
    model.ir.rule.read
    model.ir.rule.search
    model.ir.rule.search_count
    model.ir.rule.search_read
    model.ir.rule.view_toolbar_get
    model.ir.rule.write
    model.ir.sequence.code_get
    model.ir.sequence.copy
    model.ir.sequence.create
    model.ir.sequence.default_get
    model.ir.sequence.delete
    model.ir.sequence.export_data
    model.ir.sequence.fields_get
    model.ir.sequence.fields_view_get
    model.ir.sequence.history_revisions
    model.ir.sequence.import_data
    model.ir.sequence.on_change_with
    model.ir.sequence.pre_validate
    model.ir.sequence.read
    model.ir.sequence.search
    model.ir.sequence.search_count
    model.ir.sequence.search_read
    model.ir.sequence.strict.code_get
    model.ir.sequence.strict.copy
    model.ir.sequence.strict.create
    model.ir.sequence.strict.default_get
    model.ir.sequence.strict.delete
    model.ir.sequence.strict.export_data
    model.ir.sequence.strict.fields_get
    model.ir.sequence.strict.fields_view_get
    model.ir.sequence.strict.history_revisions
    model.ir.sequence.strict.import_data
    model.ir.sequence.strict.on_change_with
    model.ir.sequence.strict.pre_validate
    model.ir.sequence.strict.read
    model.ir.sequence.strict.search
    model.ir.sequence.strict.search_count
    model.ir.sequence.strict.search_read
    model.ir.sequence.strict.view_toolbar_get
    model.ir.sequence.strict.write
    model.ir.sequence.type-res.group.default_get
    model.ir.sequence.type-res.group.fields_get
    model.ir.sequence.type-res.group.on_change_with
    model.ir.sequence.type-res.group.pre_validate
    model.ir.sequence.type.copy
    model.ir.sequence.type.create
    model.ir.sequence.type.default_get
    model.ir.sequence.type.delete
    model.ir.sequence.type.export_data
    model.ir.sequence.type.fields_get
    model.ir.sequence.type.fields_view_get
    model.ir.sequence.type.history_revisions
    model.ir.sequence.type.import_data
    model.ir.sequence.type.on_change_with
    model.ir.sequence.type.pre_validate
    model.ir.sequence.type.read
    model.ir.sequence.type.search
    model.ir.sequence.type.search_count
    model.ir.sequence.type.search_read
    model.ir.sequence.type.view_toolbar_get
    model.ir.sequence.type.write
    model.ir.sequence.view_toolbar_get
    model.ir.sequence.write
    model.ir.translation.clean.start.default_get
    model.ir.translation.clean.start.fields_get
    model.ir.translation.clean.start.fields_view_get
    model.ir.translation.clean.start.on_change_with
    model.ir.translation.clean.start.pre_validate
    model.ir.translation.clean.start.view_toolbar_get
    model.ir.translation.clean.succeed.default_get
    model.ir.translation.clean.succeed.fields_get
    model.ir.translation.clean.succeed.fields_get_get
    model.ir.translation.clean.succeed.on_change_with
    model.ir.translation.clean.succeed.pre_validate
    model.ir.translation.clean.succeed.view_toolbar_get
    model.ir.translation.copy
    model.ir.translation.create
    model.ir.translation.default_get
    model.ir.translation.delete
    model.ir.translation.export.result.default_get
    model.ir.translation.export.result.fields_get
    model.ir.translation.export.result.fields_view_get
    model.ir.translation.export.result.on_change_with
    model.ir.translation.export.result.pre_validate
    model.ir.translation.export.result.view_toolbar_get
    model.ir.translation.export.start.default_get
    model.ir.translation.export.start.fields_get
    model.ir.translation.export.start.fields_view_get
    model.ir.translation.export.start.on_change_with
    model.ir.translation.export.start.pre_validate
    model.ir.translation.export.start.view_toolbar_get
    model.ir.translation.export_data
    model.ir.translation.fields_get
    model.ir.translation.fields_view_get
    model.ir.translation.get_language
    model.ir.translation.history_revisions
    model.ir.translation.import_data
    model.ir.translation.on_change_with
    model.ir.translation.pre_validate
    model.ir.translation.read
    model.ir.translation.search
    model.ir.translation.search_count
    model.ir.translation.search_read
    model.ir.translation.set.start.default_get
    model.ir.translation.set.start.fields_get
    model.ir.translation.set.start.fields_view_get
    model.ir.translation.set.start.on_change_with
    model.ir.translation.set.start.pre_validate
    model.ir.translation.set.start.view_toolbar_get
    model.ir.translation.set.succeed.default_get
    model.ir.translation.set.succeed.fields_get
    model.ir.translation.set.succeed.fields_view_get
    model.ir.translation.set.succeed.on_change_with
    model.ir.translation.set.succeed.pre_validate
    model.ir.translation.set.succeed.view_toolbar_get
    model.ir.translation.update.start.default_get
    model.ir.translation.update.start.fields_get
    model.ir.translation.update.start.fields_view_get
    model.ir.translation.update.start.on_change_with
    model.ir.translation.update.start.pre_validate
    model.ir.translation.update.start.view_toolbar_get
    model.ir.translation.view_toolbar_get
    model.ir.translation.write
    model.ir.trigger.copy
    model.ir.trigger.create
    model.ir.trigger.default_get
    model.ir.trigger.delete
    model.ir.trigger.export_data
    model.ir.trigger.fields_get
    model.ir.trigger.fields_view_get
    model.ir.trigger.history_revisions
    model.ir.trigger.import_data
    model.ir.trigger.log.default_get
    model.ir.trigger.log.fields_get
    model.ir.trigger.log.on_change_with
    model.ir.trigger.log.pre_validate
    model.ir.trigger.on_change_on_create
    model.ir.trigger.on_change_on_delete
    model.ir.trigger.on_change_on_time
    model.ir.trigger.on_change_on_write
    model.ir.trigger.on_change_with
    model.ir.trigger.pre_validate
    model.ir.trigger.read
    model.ir.trigger.search
    model.ir.trigger.search_count
    model.ir.trigger.search_read
    model.ir.trigger.view_toolbar_get
    model.ir.trigger.write
    model.ir.ui.icon.copy
    model.ir.ui.icon.create
    model.ir.ui.icon.default_get
    model.ir.ui.icon.delete
    model.ir.ui.icon.export_data
    model.ir.ui.icon.fields_get
    model.ir.ui.icon.fields_view_get
    model.ir.ui.icon.history_revisions
    model.ir.ui.icon.import_data
    model.ir.ui.icon.list_icons
    model.ir.ui.icon.on_change_with
    model.ir.ui.icon.pre_validate
    model.ir.ui.icon.read
    model.ir.ui.icon.search
    model.ir.ui.icon.search_count
    model.ir.ui.icon.search_read
    model.ir.ui.icon.view_toolbar_get
    model.ir.ui.icon.write
    model.ir.ui.menu-res.group.default_get
    model.ir.ui.menu-res.group.fields_get
    model.ir.ui.menu-res.group.on_change_with
    model.ir.ui.menu-res.group.pre_validate
    model.ir.ui.menu.copy
    model.ir.ui.menu.create
    model.ir.ui.menu.default_get
    model.ir.ui.menu.delete
    model.ir.ui.menu.export_data
    model.ir.ui.menu.favorite.copy
    model.ir.ui.menu.favorite.create
    model.ir.ui.menu.favorite.default_get
    model.ir.ui.menu.favorite.delete
    model.ir.ui.menu.favorite.export_data
    model.ir.ui.menu.favorite.fields_get
    model.ir.ui.menu.favorite.fields_view_get
    model.ir.ui.menu.favorite.get
    model.ir.ui.menu.favorite.history_revisions
    model.ir.ui.menu.favorite.import_data
    model.ir.ui.menu.favorite.on_change_with
    model.ir.ui.menu.favorite.pre_validate
    model.ir.ui.menu.favorite.read
    model.ir.ui.menu.favorite.search
    model.ir.ui.menu.favorite.search_count
    model.ir.ui.menu.favorite.search_read
    model.ir.ui.menu.favorite.set
    model.ir.ui.menu.favorite.unset
    model.ir.ui.menu.favorite.view_toolbar_get
    model.ir.ui.menu.favorite.write
    model.ir.ui.menu.fields_get
    model.ir.ui.menu.fields_view_get
    model.ir.ui.menu.history_revisions
    model.ir.ui.menu.import_data
    model.ir.ui.menu.list_icons
    model.ir.ui.menu.on_change_with
    model.ir.ui.menu.pre_validate
    model.ir.ui.menu.read
    model.ir.ui.menu.search
    model.ir.ui.menu.search_count
    model.ir.ui.menu.search_read
    model.ir.ui.menu.view_toolbar_get
    model.ir.ui.menu.write
    model.ir.ui.view.copy
    model.ir.ui.view.create
    model.ir.ui.view.default_get
    model.ir.ui.view.delete
    model.ir.ui.view.export_data
    model.ir.ui.view.fields_get
    model.ir.ui.view.fields_view_get
    model.ir.ui.view.history_revisions
    model.ir.ui.view.import_data
    model.ir.ui.view.on_change_with
    model.ir.ui.view.pre_validate
    model.ir.ui.view.read
    model.ir.ui.view.search
    model.ir.ui.view.search_count
    model.ir.ui.view.search_read
    model.ir.ui.view.show
    model.ir.ui.view.show.start.default_get
    model.ir.ui.view.show.start.fields_get
    model.ir.ui.view.show.start.fields_view_get
    model.ir.ui.view.show.start.on_change_with
    model.ir.ui.view.show.start.pre_validate
    model.ir.ui.view.show.start.view_toolbar_get
    model.ir.ui.view.view_toolbar_get
    model.ir.ui.view.write
    model.ir.ui.view_search.copy
    model.ir.ui.view_search.create
    model.ir.ui.view_search.default_get
    model.ir.ui.view_search.delete
    model.ir.ui.view_search.export_data
    model.ir.ui.view_search.fields_get
    model.ir.ui.view_search.fields_view_get
    model.ir.ui.view_search.get_search
    model.ir.ui.view_search.history_revisions
    model.ir.ui.view_search.import_data
    model.ir.ui.view_search.on_change_with
    model.ir.ui.view_search.pre_validate
    model.ir.ui.view_search.read
    model.ir.ui.view_search.search
    model.ir.ui.view_search.search_count
    model.ir.ui.view_search.search_read
    model.ir.ui.view_search.view_toolbar_get
    model.ir.ui.view_search.write
    model.ir.ui.view_tree_state.copy
    model.ir.ui.view_tree_state.create
    model.ir.ui.view_tree_state.default_get
    model.ir.ui.view_tree_state.delete
    model.ir.ui.view_tree_state.export_data
    model.ir.ui.view_tree_state.fields_get
    model.ir.ui.view_tree_state.fields_view_get
    model.ir.ui.view_tree_state.get
    model.ir.ui.view_tree_state.history_revisions
    model.ir.ui.view_tree_state.import_data
    model.ir.ui.view_tree_state.on_change_with
    model.ir.ui.view_tree_state.pre_validate
    model.ir.ui.view_tree_state.read
    model.ir.ui.view_tree_state.search
    model.ir.ui.view_tree_state.search_count
    model.ir.ui.view_tree_state.search_read
    model.ir.ui.view_tree_state.set
    model.ir.ui.view_tree_state.view_toolbar_get
    model.ir.ui.view_tree_state.write
    model.ir.ui.view_tree_width.copy
    model.ir.ui.view_tree_width.create
    model.ir.ui.view_tree_width.default_get
    model.ir.ui.view_tree_width.delete
    model.ir.ui.view_tree_width.export_data
    model.ir.ui.view_tree_width.fields_get
    model.ir.ui.view_tree_width.fields_view_get
    model.ir.ui.view_tree_width.history_revisions
    model.ir.ui.view_tree_width.import_data
    model.ir.ui.view_tree_width.on_change_with
    model.ir.ui.view_tree_width.pre_validate
    model.ir.ui.view_tree_width.read
    model.ir.ui.view_tree_width.search
    model.ir.ui.view_tree_width.search_count
    model.ir.ui.view_tree_width.search_read
    model.ir.ui.view_tree_width.set_width
    model.ir.ui.view_tree_width.view_toolbar_get
    model.ir.ui.view_tree_width.write

  3. webdav - enables the ability to work with the corresponding protocol.


Here is a picture for clarity of the available classes of these modules:

2.1. Module res. Work with users and groups.

The res module allows you to work with users and groups. Below is the API for working with users. To work with groups, it is enough to replace user with group in the method names. To add a user to a group, when creating or editing a user, in the groups field, set the id of the required groups.

Method nameOptionsDescription
model.res.user.search[user_id, cookie, [], start, end, null, {}]Returns a snapshot of the id list of existing users (id [start: end]).
model.res.user.fields_get[user_id, cookie, [], {}]Returns a list of fields available to the user (e-mail, department, address, etc.).
model.res.user.read[user_id, cookie, list_of_user_ids, list_of_field_names, {}]Returns the values ​​of the specified user defined fields.
model.res.user.create[user_id, cookie, [{field_name: field_data, field_name: field_data, ...}], {}]To create a user, the minimum is to set the name, login, pass fields.
model.res.user.delete[user_id, cookie, list_delete_user_ids, {}]Removes users by id.
model.res.user.write[user_id, cookie, list_update_user_ids, [{field_name: field_data, field_name: field_data, ...}], {}]Changes user field values ​​by id.


An example of how these methods work
import json import requests url = 'http://localhost:8000/try' id = 1 methodname = 'common.server.login' params = ('test', 'test') request = json.dumps({ 'id': id, 'method': methodname, 'params': params, }) r = requests.post(url, data=request) user_id, cookie = r.json()['result'] print user_id, cookie id = 2 methodname = 'model.res.user.search' params = [user_id, cookie, [], 0, 1000, None, {}] request = json.dumps({ 'id': id, 'method': methodname, 'params': params, }) r = requests.post(url, data=request) print request print r.json() id = 3 methodname = 'model.res.user.fields_get' params = [user_id, cookie, [], {}] request = json.dumps({ 'id': id, 'method': methodname, 'params': params, }) r = requests.post(url, data=request) print request print r.json() id = 4 methodname = 'model.res.user.read' params = (user_id, cookie, [1, 3], ['active', 'login', 'name', 'sessions', 'rec_name', '_timestamp'], {}) request = json.dumps({ 'id': id, 'method': methodname, 'params': params, }) r = requests.post(url, data=request) print request print r.json() id = 6 methodname = 'model.res.user.create' params = [user_id, cookie, [{"name": "fullName1", "language": None, "menu": 2, "company": None, "actions": [], "active": True, "rule_groups": [], "main_company": None, "groups": [], "signature": "", "employee": None, "employees": [], "login": "login2", "password": "pass"}], {}] params_min = [user_id, cookie, [{"name": "fullName2", "login": "login3", "password": "pass"}], {}] request = json.dumps({ 'id': id, 'method': methodname, 'params': params_min, }) r = requests.post(url, data=request) print request print r.json() id = 7 methodname = 'model.res.user.delete' params = [user_id, cookie, [8, 10], {}] request = json.dumps({ 'id': id, 'method': methodname, 'params': params, }) r = requests.post(url, data=request) print request print r.json() id = 8 methodname = 'model.res.user.write' params = [user_id, cookie, [8], {"email": "i2@mail.ru"}, {}] request = json.dumps({ 'id': id, 'method': methodname, 'params': params, }) r = requests.post(url, data=request) print request print r.json() 


2.2. Module ir. Installation of additional modules

At the ir module of the functional above the roof, in this part we will consider only the functionality concerning the installation of additional modules.

To install extra. it is necessary to download the module, unpack it into trytond / modules and rename the unpacked folder into the module name. On the official site they offer to download from PyPi , after unpacking we get the folder trytond_% module_name% -% module_version% rename it leaving only% module_name%. Studying the source code, I came across a link from the repository of the tryton modules in one of setup.py, here it’s more convenient to download. When unpacking, we get the% module_name% -% module_revision% folder, again leaving only% module_name%.

Below is the API for working with modules. Although I would recommend installing the modules through the gtk client. Also in the API, there was a method for removing modules, but you cannot delete a module through the gtk client, and on the developers irc channel it is written that remote modules are a very complicated and non-trivial procedure. So use the removal of modules with great care.

Method nameOptionsDescription
model.ir.module.module.search[user_id, cookie, [], start, end, null, {}]Returns a snapshot of the id list of existing modules (id [start: end]).
model.ir.module.module.fields_get[user_id, cookie, [], {}]Returns a list of available fields for modules.
model.ir.module.module.read[user_id, cookie, list_of_module_ids, list_of_field_names, {}]Returns the values ​​of the specified fields of the specified modules.
model.ir.module.module.install[user_id, cookie, list_module_ids, {}]Sets the module by id.
model.ir.module.module.upgrade[user_id, cookie, list_module_ids, {}]Updates the module by id.
model.ir.module.module.uninstall[user_id, cookie, list_module_ids, {}]Removes a module by id.


An example of how these methods work
 import json import requests url = 'http://localhost:8000/try' id = 1 methodname = 'common.server.login' params = ('test', 'test') request = json.dumps({ 'id': id, 'method': methodname, 'params': params, }) r = requests.post(url, data=request) user_id, cookie = r.json()['result'] id = 2 methodname = 'model.ir.module.module.search' params = [user_id, cookie, [], 0, 1000, None, {}] request = json.dumps({ 'id': id, 'method': methodname, 'params': params, }) r = requests.post(url, data=request) print request print r.json() id = 3 methodname = 'model.ir.module.module.fields_get' params = [user_id, cookie, [], {}] request = json.dumps({ 'id': id, 'method': methodname, 'params': params, }) r = requests.post(url, data=request) print request print r.json() id = 4 methodname = 'model.ir.module.module.read' params = (user_id, cookie, [8, 10], ['name', 'rec_name'], {}) request = json.dumps({ 'id': id, 'method': methodname, 'params': params, }) r = requests.post(url, data=request) print request print r.json() id = 5 methodname = 'model.ir.module.module.upgrade' params = [user_id, cookie, [8, 10], {}] request = json.dumps({ 'id': id, 'method': methodname, 'params': params, }) r = requests.post(url, data=request) print request print r.json() 

Source: https://habr.com/ru/post/221887/


All Articles