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

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)