You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
2.0 KiB
28 lines
2.0 KiB
from odoo import models, fields, api
|
|
|
|
#Main Agreement clause Records Model
|
|
class AgreementClause(models.Model):
|
|
_name = 'partner_agreement.clause'
|
|
_order = 'clause_sequence'
|
|
|
|
#General
|
|
name = fields.Char(string="Title", required=True)
|
|
clause_sequence = fields.Integer(string="Sequence")
|
|
agreement = fields.Many2one('partner_agreement.agreement', string="Agreement", ondelete="cascade")
|
|
section = fields.Many2one('partner_agreement.section', string="Section", ondelete="cascade")
|
|
content = fields.Html(string="Clause Content")
|
|
active = fields.Boolean(string="Active", default=True, help="If unchecked, it will allow you to hide the agreement without removing it.")
|
|
|
|
#Placeholder fields
|
|
model_id = fields.Many2one('ir.model', string="Applies to", help="The type of document this template can be used with.")
|
|
model_object_field = fields.Many2one('ir.model.fields', string="Field", help="Select target field from the related document model. If it is a relationship field you will be able to select a target field at the destination of the relationship.")
|
|
sub_object = fields.Many2one('ir.model', string="Sub-model", help="When a relationship field is selected as first field, this field shows the document model the relationship goes to.")
|
|
sub_model_object_field = fields.Many2one('ir.model.fields', string="Sub-field", help="When a relationship field is selected as first field, this field lets you select the target field within the destination document model (sub-model).")
|
|
null_value = fields.Char(string="Default Value", help="Optional value to use if the target field is empty.")
|
|
copyvalue = fields.Char(string="Placeholder Expression", help="Final placeholder expression, to be copy-pasted in the desired template field.")
|
|
|
|
@api.model
|
|
def create(self, vals):
|
|
seq = self.env['ir.sequence'].next_by_code('agreement.clause') or '/'
|
|
vals['clause_sequence'] = seq
|
|
return super(AgreementClause, self).create(vals)
|