| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/partner-contact |
| GIT | |
| GIT | https://github.com/OCA/partner-contact.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/partner-contact/tree/10.0/partner_changeset |
| VERSION | |
| VERSION | 1.0.2 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | Yannick Vaucher, Stéphane Bidoul (ACSONE), OCA Transbot, Damien Crier, oca-travis, Weblate, OCA-git-bot, David |
| WEBSITE | |
| WEBSITE | http://www.camptocamp.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:19:55 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - sale - sales_team - base_setup - web_kanban - web - bus - web_tour - account - product - decimal_precision - report - analytic - web_planner - procurement |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_partner_view_buttons |
res.partner.view.buttons | res.partner | xpath | Inherits base.view_partner_form |
view_changeset_field_rule_form |
changeset.field.rule.form | changeset.field.rule | form | New |
view_changeset_field_rule_search |
changeset.field.rule.search | changeset.field.rule | search | New |
view_changeset_field_rule_tree |
changeset.field.rule.tree | changeset.field.rule | tree | New |
view_res_partner_changeset_change_form |
res.partner.changeset.change.form | res.partner.changeset.change | form | New |
view_res_partner_changeset_form |
res.partner.changeset.form | res.partner.changeset | form | New |
view_res_partner_changeset_search |
res.partner.changeset.search | res.partner.changeset | search | New |
view_res_partner_changeset_tree |
res.partner.changeset.tree | res.partner.changeset | tree | New |
view_res_partner_filter |
res.partner.select | res.partner | filter | Inherits base.view_res_partner_filter |
action
Selection
help='Auto: always apply a change.\nValidate: manually applied by an administrator.\nNever: change never applied.'
required=True
selection='_selection_action'
string='Action'
field_id
Many2one → ir.model.fields
comodel_name='ir.model.fields'
domain="[('model_id.model', '=', 'res.partner'), ('ttype', 'in', ('char', 'selection', 'date', 'datetime', 'float', 'integer', 'text', 'boolean', 'many2one')), ('readonly', '=', False)]"
ondelete='cascade'
required=True
string='Field'
source_model_id
Many2one → ir.model
comodel_name='ir.model'
domain=<expr>
help='If a source model is defined, the rule will be applied only when the change is made from this origin. Rules without source model are global and applies to all backends.\nRules with a source model have precedence over global rules, but if a field has no rule with a source model, the global rule is used.'
ondelete='cascade'
string='Source Model'
create(self, vals)
get_rules(self, source_model_name)
unlink(self)
write(self, vals)
changeset_ids
One2many → res.partner.changeset
comodel_name='res.partner.changeset'
inverse_name='partner_id'
readonly=True
string='Changesets'
count_pending_changesets
Integer
compute='_count_pending_changesets'
search='_search_count_pending_changesets'
string='Changes'
write(self, values)
change_ids
One2many → res.partner.changeset.change
comodel_name='res.partner.changeset.change'
inverse_name='changeset_id'
readonly=True
string='Changes'
date
Datetime
default=fields.Datetime.now
index=True
readonly=True
note
Text
partner_id
Many2one → res.partner
comodel_name='res.partner'
index=True
ondelete='cascade'
readonly=True
required=True
string='Partner'
source
Reference
readonly=True
selection='_reference_models'
string='Source of the change'
state
Selection
compute='_compute_state'
selection=[('draft', 'Pending'), ('done', 'Done')]
store=True
string='State'
add_changeset(self, record, values)
apply(self)
cancel(self)
changeset_id
Many2one → res.partner.changeset
comodel_name='res.partner.changeset'
ondelete='cascade'
readonly=True
required=True
string='Changeset'
field_id
Many2one → ir.model.fields
comodel_name='ir.model.fields'
readonly=True
required=True
string='Field'
field_type
Selection
readonly=True
related='field_id.ttype'
string='Field Type'
new_value_boolean
Boolean
readonly=True
string='New'
new_value_char
Char
readonly=True
string='New'
new_value_date
Date
readonly=True
string='New'
new_value_datetime
Datetime
readonly=True
string='New'
new_value_display
Char
compute='_compute_value_display'
string='New'
new_value_float
Float
readonly=True
string='New'
new_value_integer
Integer
readonly=True
string='New'
new_value_reference
Reference
readonly=True
selection='_reference_models'
string='New'
new_value_text
Text
readonly=True
string='New'
old_value_boolean
Boolean
readonly=True
string='Old'
old_value_char
Char
readonly=True
string='Old'
old_value_date
Date
readonly=True
string='Old'
old_value_datetime
Datetime
readonly=True
string='Old'
old_value_float
Float
readonly=True
string='Old'
old_value_integer
Integer
readonly=True
string='Old'
old_value_reference
Reference
readonly=True
selection='_reference_models'
string='Old'
old_value_text
Text
readonly=True
string='Old'
origin_value_boolean
Boolean
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_char
Char
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_date
Date
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_datetime
Datetime
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_display
Char
compute='_compute_value_display'
string='Previous'
origin_value_float
Float
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_integer
Integer
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_reference
Reference
compute='_compute_origin_values'
readonly=True
selection='_reference_models'
string='Previous'
origin_value_text
Text
compute='_compute_origin_values'
readonly=True
string='Previous'
state
Selection
default='draft'
readonly=True
required=True
selection=[('draft', 'Pending'), ('done', 'Accepted'), ('cancel', 'Rejected')]
apply(self)
cancel(self)
fields_view_get(self, *args, **kwargs)
get_field_for_type(self, field, prefix)
get_new_value(self)
get_origin_value(self)
set_old_value(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/partner-contact |
| GIT | |
| GIT | https://github.com/OCA/partner-contact.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/partner-contact/tree/9.0/partner_changeset |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | mreficent, Stéphane Bidoul (ACSONE), OCA Transbot, Denis Leemann, oca-travis, Weblate |
| WEBSITE | |
| WEBSITE | http://www.camptocamp.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:15:19 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - sale - sales_team - base_setup - web_kanban - web - bus - account - product - decimal_precision - report - analytic - web_tip - web_planner - procurement |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_partner_view_buttons |
res.partner.view.buttons | res.partner | xpath | Inherits base.view_partner_form |
view_changeset_field_rule_form |
changeset.field.rule.form | changeset.field.rule | form | New |
view_changeset_field_rule_search |
changeset.field.rule.search | changeset.field.rule | search | New |
view_changeset_field_rule_tree |
changeset.field.rule.tree | changeset.field.rule | tree | New |
view_res_partner_changeset_change_form |
res.partner.changeset.change.form | res.partner.changeset.change | form | New |
view_res_partner_changeset_form |
res.partner.changeset.form | res.partner.changeset | form | New |
view_res_partner_changeset_search |
res.partner.changeset.search | res.partner.changeset | search | New |
view_res_partner_changeset_tree |
res.partner.changeset.tree | res.partner.changeset | tree | New |
view_res_partner_filter |
res.partner.select | res.partner | filter | Inherits base.view_res_partner_filter |
action
Selection
help='Auto: always apply a change.\nValidate: manually applied by an administrator.\nNever: change never applied.'
required=True
selection='_selection_action'
string='Action'
field_id
Many2one → ir.model.fields
comodel_name='ir.model.fields'
domain="[('model_id.model', '=', 'res.partner'), ('ttype', 'in', ('char', 'selection', 'date', 'datetime', 'float', 'integer', 'text', 'boolean', 'many2one')), ('readonly', '=', False)]"
ondelete='cascade'
required=True
string='Field'
source_model_id
Many2one → ir.model
comodel_name='ir.model'
domain=<expr>
help='If a source model is defined, the rule will be applied only when the change is made from this origin. Rules without source model are global and applies to all backends.\nRules with a source model have precedence over global rules, but if a field has no rule with a source model, the global rule is used.'
ondelete='cascade'
string='Source Model'
create(self, vals)
get_rules(self, source_model_name)
unlink(self)
write(self, vals)
changeset_ids
One2many → res.partner.changeset
comodel_name='res.partner.changeset'
inverse_name='partner_id'
readonly=True
string='Changesets'
count_pending_changesets
Integer
compute='_compute_count_pending_changesets'
search='_search_count_pending_changesets'
string='Changes'
write(self, values)
change_ids
One2many → res.partner.changeset.change
comodel_name='res.partner.changeset.change'
inverse_name='changeset_id'
readonly=True
string='Changes'
date
Datetime
default=fields.Datetime.now
readonly=True
select=True
note
Text
partner_id
Many2one → res.partner
comodel_name='res.partner'
ondelete='cascade'
readonly=True
required=True
select=True
string='Partner'
source
Reference
readonly=True
selection='_reference_models'
string='Source of the change'
state
Selection
compute='_compute_state'
selection=[('draft', 'Pending'), ('done', 'Done')]
store=True
string='State'
add_changeset(self, record, values)
apply(self)
cancel(self)
changeset_id
Many2one → res.partner.changeset
comodel_name='res.partner.changeset'
ondelete='cascade'
readonly=True
required=True
string='Changeset'
field_id
Many2one → ir.model.fields
comodel_name='ir.model.fields'
readonly=True
required=True
string='Field'
field_type
Selection
readonly=True
related='field_id.ttype'
string='Field Type'
new_value_boolean
Boolean
readonly=True
string='New'
new_value_char
Char
readonly=True
string='New'
new_value_date
Date
readonly=True
string='New'
new_value_datetime
Datetime
readonly=True
string='New'
new_value_display
Char
compute='_compute_value_display'
string='New'
new_value_float
Float
readonly=True
string='New'
new_value_integer
Integer
readonly=True
string='New'
new_value_reference
Reference
readonly=True
selection='_reference_models'
string='New'
new_value_text
Text
readonly=True
string='New'
old_value_boolean
Boolean
readonly=True
string='Old'
old_value_char
Char
readonly=True
string='Old'
old_value_date
Date
readonly=True
string='Old'
old_value_datetime
Datetime
readonly=True
string='Old'
old_value_float
Float
readonly=True
string='Old'
old_value_integer
Integer
readonly=True
string='Old'
old_value_reference
Reference
readonly=True
selection='_reference_models'
string='Old'
old_value_text
Text
readonly=True
string='Old'
origin_value_boolean
Boolean
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_char
Char
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_date
Date
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_datetime
Datetime
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_display
Char
compute='_compute_value_display'
string='Previous'
origin_value_float
Float
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_integer
Integer
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_reference
Reference
compute='_compute_origin_values'
readonly=True
selection='_reference_models'
string='Previous'
origin_value_text
Text
compute='_compute_origin_values'
readonly=True
string='Previous'
state
Selection
default='draft'
readonly=True
required=True
selection=[('draft', 'Pending'), ('done', 'Accepted'), ('cancel', 'Rejected')]
apply(self)
cancel(self)
fields_view_get(self, *args, **kwargs)
get_field_for_type(self, field, prefix)
get_new_value(self)
get_origin_value(self)
set_old_value(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/partner-contact |
| GIT | |
| GIT | https://github.com/OCA/partner-contact.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/partner-contact/tree/8.0/partner_changeset |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | Guewen Baconnier, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis |
| WEBSITE | |
| WEBSITE | http://www.camptocamp.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:11:21 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_partner_view_buttons |
res.partner.view.buttons | res.partner | xpath | Inherits base.view_partner_form |
view_changeset_field_rule_form |
changeset.field.rule.form | changeset.field.rule | form | New |
view_changeset_field_rule_search |
changeset.field.rule.search | changeset.field.rule | search | New |
view_changeset_field_rule_tree |
changeset.field.rule.tree | changeset.field.rule | tree | New |
view_res_partner_changeset_change_form |
res.partner.changeset.change.form | res.partner.changeset.change | form | New |
view_res_partner_changeset_form |
res.partner.changeset.form | res.partner.changeset | form | New |
view_res_partner_changeset_search |
res.partner.changeset.search | res.partner.changeset | search | New |
view_res_partner_changeset_tree |
res.partner.changeset.tree | res.partner.changeset | tree | New |
view_res_partner_filter |
res.partner.select | res.partner | filter | Inherits base.view_res_partner_filter |
action
Selection
help='Auto: always apply a change.\nValidate: manually applied by an administrator.\nNever: change never applied.'
required=True
selection='_selection_action'
string='Action'
field_id
Many2one → ir.model.fields
comodel_name='ir.model.fields'
domain="[('model_id.model', '=', 'res.partner'), ('ttype', 'in', ('char', 'selection', 'date', 'datetime', 'float', 'integer', 'text', 'boolean', 'many2one')), ('readonly', '=', False)]"
ondelete='cascade'
required=True
string='Field'
source_model_id
Many2one → ir.model
comodel_name='ir.model'
domain=<expr>
help='If a source model is defined, the rule will be applied only when the change is made from this origin. Rules without source model are global and applies to all backends.\nRules with a source model have precedence over global rules, but if a field has no rule with a source model, the global rule is used.'
ondelete='cascade'
string='Source Model'
create(self, vals)
get_rules(self, source_model_name)
unlink(self)
write(self, vals)
changeset_ids
One2many → res.partner.changeset
comodel_name='res.partner.changeset'
inverse_name='partner_id'
readonly=True
string='Changesets'
count_pending_changesets
Integer
compute='_count_pending_changesets'
search='_search_count_pending_changesets'
string='Changes'
write(self, values)
change_ids
One2many → res.partner.changeset.change
comodel_name='res.partner.changeset.change'
inverse_name='changeset_id'
readonly=True
string='Changes'
date
Datetime
default=fields.Datetime.now
readonly=True
select=True
note
Text
partner_id
Many2one → res.partner
comodel_name='res.partner'
ondelete='cascade'
readonly=True
required=True
select=True
string='Partner'
source
Reference
readonly=True
selection='_reference_models'
string='Source of the change'
state
Selection
compute='_compute_state'
selection=[('draft', 'Pending'), ('done', 'Done')]
store=True
string='State'
add_changeset(self, record, values)
apply(self)
cancel(self)
changeset_id
Many2one → res.partner.changeset
comodel_name='res.partner.changeset'
ondelete='cascade'
readonly=True
required=True
string='Changeset'
field_id
Many2one → ir.model.fields
comodel_name='ir.model.fields'
readonly=True
required=True
string='Field'
field_type
Selection
readonly=True
related='field_id.ttype'
string='Field Type'
new_value_boolean
Boolean
readonly=True
string='New'
new_value_char
Char
readonly=True
string='New'
new_value_date
Date
readonly=True
string='New'
new_value_datetime
Datetime
readonly=True
string='New'
new_value_display
Char
compute='_compute_value_display'
string='New'
new_value_float
Float
readonly=True
string='New'
new_value_integer
Integer
readonly=True
string='New'
new_value_reference
Reference
readonly=True
selection='_reference_models'
string='New'
new_value_text
Text
readonly=True
string='New'
old_value_boolean
Boolean
readonly=True
string='Old'
old_value_char
Char
readonly=True
string='Old'
old_value_date
Date
readonly=True
string='Old'
old_value_datetime
Datetime
readonly=True
string='Old'
old_value_float
Float
readonly=True
string='Old'
old_value_integer
Integer
readonly=True
string='Old'
old_value_reference
Reference
readonly=True
selection='_reference_models'
string='Old'
old_value_text
Text
readonly=True
string='Old'
origin_value_boolean
Boolean
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_char
Char
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_date
Date
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_datetime
Datetime
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_display
Char
compute='_compute_value_display'
string='Previous'
origin_value_float
Float
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_integer
Integer
compute='_compute_origin_values'
readonly=True
string='Previous'
origin_value_reference
Reference
compute='_compute_origin_values'
readonly=True
selection='_reference_models'
string='Previous'
origin_value_text
Text
compute='_compute_origin_values'
readonly=True
string='Previous'
state
Selection
default='draft'
readonly=True
required=True
selection=[('draft', 'Pending'), ('done', 'Accepted'), ('cancel', 'Rejected')]
apply(self)
cancel(self)
fields_view_get(self, *args, **kwargs)
get_field_for_type(self, field, prefix)
get_new_value(self)
get_origin_value(self)
set_old_value(self)