From 1b56ee20bd05de64b774258e52b69059fc260ddb Mon Sep 17 00:00:00 2001 From: Giovanni Francesco Capalbo Date: Fri, 22 Sep 2017 12:36:40 +0200 Subject: [PATCH] first version --- document_definition/__init__.py | 2 - document_definition/__openerp__.py | 20 +---- .../models/document_definition.py | 36 ++++++++- .../security/ir.model.access.csv | 2 + document_definition/tests/__init__.py | 4 - .../tests/test_document_definition.py | 9 --- document_definition/views/templates.xml | 73 ++++++++++++++++++- document_definition/wizards/__init__.py | 3 - 8 files changed, 109 insertions(+), 40 deletions(-) delete mode 100644 document_definition/tests/__init__.py delete mode 100644 document_definition/tests/test_document_definition.py delete mode 100644 document_definition/wizards/__init__.py diff --git a/document_definition/__init__.py b/document_definition/__init__.py index 8984c405..86cb334c 100644 --- a/document_definition/__init__.py +++ b/document_definition/__init__.py @@ -2,5 +2,3 @@ # © 2017 Therp BV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from . import models -from . import wizards -from . import controllers diff --git a/document_definition/__openerp__.py b/document_definition/__openerp__.py index a578dca1..f74e1c5f 100644 --- a/document_definition/__openerp__.py +++ b/document_definition/__openerp__.py @@ -2,31 +2,17 @@ # © 2017 Therp BV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { - "name": "Term", + "name": "Terms and Definitions", "version": "8.0.1.0.0", "author": "Therp BV,Odoo Community Association (OCA)", "license": "AGPL-3", - "category": "", - "summary": "", + "category": "Knowledge", "depends": [ + 'knowledge', ], "data": [ 'views/templates.xml', 'security/ir.model.access.csv', ], - "qweb": [ - ], - "test": [ - ], - "images": [ - ], - "pre_init_hook": False, - "post_init_hook": False, - "uninstall_hook": False, - "auto_install": False, "installable": True, - "application": False, - "external_dependencies": { - 'python': [], - }, } diff --git a/document_definition/models/document_definition.py b/document_definition/models/document_definition.py index 997735e6..a4934b1d 100644 --- a/document_definition/models/document_definition.py +++ b/document_definition/models/document_definition.py @@ -4,8 +4,36 @@ from openerp import api, fields, models -class document_definition(models.Model): - _inherit = 'document_definition' - _name = 'document_definition' - _description = '' +class DocumentDefinition(models.Model): + _name = 'document.definition' + term = fields.Char(help='Term to define', required=True) + definition = fields.Text(help='Definition of term', required=True) + + # stored compute field used for making the letter grouping + # need to be stored in order to use grouping + first_letter = fields.Char() + + def _get_first_letter(self, text): + # if somehow the user starts with a blank space we trim it + return text.lstrip()[:1].upper() or 'Blank Term' + + @api.model + def create(self, vals): + vals['first_letter'] = self._get_first_letter(vals['term']) + res = super(DocumentDefinition, self).create(vals=vals) + return res + + @api.multi + def write(self, vals): + for this in self: + if vals.get('term'): + vals['first_letter'] = this._get_first_letter(vals['term']) + res = super(DocumentDefinition, this).write(vals=vals) + return res + + # constraint of uniqueness on term, two terms can't have different + # definitions + + _sql_constraints = [('term_uniq', 'UNIQUE(term)', + 'Every term must be unique')] diff --git a/document_definition/security/ir.model.access.csv b/document_definition/security/ir.model.access.csv index 0343f29f..68105041 100644 --- a/document_definition/security/ir.model.access.csv +++ b/document_definition/security/ir.model.access.csv @@ -1 +1,3 @@ "id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" +document_definition_all,document.definition,model_document_definition,,1,1,1,1 + diff --git a/document_definition/tests/__init__.py b/document_definition/tests/__init__.py deleted file mode 100644 index ede8acbc..00000000 --- a/document_definition/tests/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -# -*- coding: utf-8 -*- -# © 2017 Therp BV -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from . import test_document_definition diff --git a/document_definition/tests/test_document_definition.py b/document_definition/tests/test_document_definition.py deleted file mode 100644 index e756f4a7..00000000 --- a/document_definition/tests/test_document_definition.py +++ /dev/null @@ -1,9 +0,0 @@ -# -*- coding: utf-8 -*- -# © 2017 Therp BV -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from openerp.tests.common import TransactionCase - - -class TestDocumentDefinition(TransactionCase): - def test_document_definition(self): - pass diff --git a/document_definition/views/templates.xml b/document_definition/views/templates.xml index 1a84bd2b..cd0b0c4d 100644 --- a/document_definition/views/templates.xml +++ b/document_definition/views/templates.xml @@ -3,9 +3,80 @@