mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[ADD] agreement
This commit is contained in:
28
agreement/models/agreement_clause.py
Normal file
28
agreement/models/agreement_clause.py
Normal file
@@ -0,0 +1,28 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user