diff --git a/partner_academic_title/README.rst b/partner_academic_title/README.rst new file mode 100644 index 000000000..0c200aabc --- /dev/null +++ b/partner_academic_title/README.rst @@ -0,0 +1,48 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +====================== +Partner Academic Title +====================== + +This module was written to adds possibility to define some academic titles and +to add multiple titles on partners. there is a sequence on titles to display +them in an order on the partner. + +Usage +===== + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/134/8.0 + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed feedback +`here `_. + +Credits +======= + +Contributors +------------ + +* Stéphane Bidoul +* Adrien Peiffer + +Maintainer +---------- + +.. image:: http://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: http://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. + +To contribute to this module, please visit http://odoo-community.org. \ No newline at end of file diff --git a/partner_academic_title/__init__.py b/partner_academic_title/__init__.py new file mode 100644 index 000000000..a0fdc10fe --- /dev/null +++ b/partner_academic_title/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import models diff --git a/partner_academic_title/__openerp__.py b/partner_academic_title/__openerp__.py new file mode 100644 index 000000000..cfd8ba240 --- /dev/null +++ b/partner_academic_title/__openerp__.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# This file is part of partner_academic_title, +# an Odoo module. +# +# Copyright (c) 2015 ACSONE SA/NV () +# +# partner_academic_title is free software: +# you can redistribute it and/or modify it under the terms of the GNU +# Affero General Public License as published by the Free Software +# Foundation,either version 3 of the License, or (at your option) any +# later version. +# +# partner_academic_title is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with partner_academic_title. +# If not, see . +# +############################################################################## +{ + 'name': "Partner Academic Title", + 'summary': """ + Add possibility to define some academic title""", + 'author': 'ACSONE SA/NV,Odoo Community Association (OCA)', + 'website': "http://acsone.eu", + 'category': 'Other', + 'version': '8.0.1.0.0', + 'license': 'AGPL-3', + 'depends': [ + 'hr', + ], + 'data': [ + 'security/ir.model.access.csv', + 'data/partner_academic_title_data.xml', + 'views/partner_academic_title_view.xml', + 'views/res_partner_view.xml', + ], +} diff --git a/partner_academic_title/data/partner_academic_title_data.xml b/partner_academic_title/data/partner_academic_title_data.xml new file mode 100644 index 000000000..a28ba760a --- /dev/null +++ b/partner_academic_title/data/partner_academic_title_data.xml @@ -0,0 +1,49 @@ + + + + + B.S. + 1 + + + M.S. + 2 + + + M.P.H. + 3 + + + M.B.A. + 4 + + + M.D. + 5 + + + Ph.D. + 6 + + + Ed.D + 7 + + + Psy.D. + 8 + + + Th.D. + 9 + + + Pharm.D. + 10 + + + J.D. + 11 + + + \ No newline at end of file diff --git a/partner_academic_title/models/__init__.py b/partner_academic_title/models/__init__.py new file mode 100644 index 000000000..955b20d34 --- /dev/null +++ b/partner_academic_title/models/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +from . import partner_academic_title +from . import res_partner diff --git a/partner_academic_title/models/partner_academic_title.py b/partner_academic_title/models/partner_academic_title.py new file mode 100644 index 000000000..3e9723ffa --- /dev/null +++ b/partner_academic_title/models/partner_academic_title.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# This file is part of partner_academic_title, +# an Odoo module. +# +# Copyright (c) 2015 ACSONE SA/NV () +# +# partner_academic_title is free software: +# you can redistribute it and/or modify it under the terms of the GNU +# Affero General Public License as published by the Free Software +# Foundation,either version 3 of the License, or (at your option) any +# later version. +# +# partner_academic_title is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with partner_academic_title. +# If not, see . +# +############################################################################## + +from openerp import models, fields + + +class PartnerAcademicTitle(models.Model): + _name = 'partner.academic.title' + + name = fields.Char(required=True, translate=True) + sequence = fields.Integer(required=True, + help="""defines the order to display titles""") + active = fields.Boolean(default=True) diff --git a/partner_academic_title/models/res_partner.py b/partner_academic_title/models/res_partner.py new file mode 100644 index 000000000..49beaa430 --- /dev/null +++ b/partner_academic_title/models/res_partner.py @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# This file is part of partner_academic_title, +# an Odoo module. +# +# Copyright (c) 2015 ACSONE SA/NV () +# +# partner_academic_title is free software: +# you can redistribute it and/or modify it under the terms of the GNU +# Affero General Public License as published by the Free Software +# Foundation,either version 3 of the License, or (at your option) any +# later version. +# +# partner_academic_title is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with partner_academic_title. +# If not, see . +# +############################################################################## + +from openerp import models, fields, api + + +class ResPartner(models.Model): + _inherit = 'res.partner' + + def _get_separator(self): + return ', ' + + @api.depends('academic_title_ids', 'academic_title_ids.sequence') + @api.one + def _get_academic_title_display(self): + display_title = "" + separator = self._get_separator() + title_ids = self.academic_title_ids.sorted(lambda r: r.sequence) + for title in title_ids: + if display_title: + display_title = "%s%s%s" % (display_title, separator, + title.name) + else: + display_title = "%s" % (title.name) + self.academic_title_display = display_title + + academic_title_ids = fields.Many2many( + comodel_name='partner.academic.title', + relation='partner_academic_title_ref', column1='partner_id', + column2='academic_title_id', string='Academic Titles') + academic_title_display = fields.Char(compute='_get_academic_title_display', + string='Academic Titles', store=True) diff --git a/partner_academic_title/security/ir.model.access.csv b/partner_academic_title/security/ir.model.access.csv new file mode 100644 index 000000000..6e08fa767 --- /dev/null +++ b/partner_academic_title/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_partner_academic_title_system,access_academic_title_system,model_partner_academic_title,base.group_system,1,1,1,1 +access_partner_academic_title_user,access_academic_title_user,model_partner_academic_title,base.group_user,1,0,0,0 \ No newline at end of file diff --git a/partner_academic_title/views/partner_academic_title_view.xml b/partner_academic_title/views/partner_academic_title_view.xml new file mode 100644 index 000000000..3a001a9b5 --- /dev/null +++ b/partner_academic_title/views/partner_academic_title_view.xml @@ -0,0 +1,38 @@ + + + + + partner.academic.title.form + partner.academic.title + +
+ + + + + + + +
+
+
+ + + partner.academic.title.tree + partner.academic.title + + + + + + + + + Academic Titles + partner.academic.title + form + tree,form + + +
+
\ No newline at end of file diff --git a/partner_academic_title/views/res_partner_view.xml b/partner_academic_title/views/res_partner_view.xml new file mode 100644 index 000000000..d358c7c6a --- /dev/null +++ b/partner_academic_title/views/res_partner_view.xml @@ -0,0 +1,16 @@ + + + + + res.partner.form (partner_academic_title) + res.partner + + + + + + + + + + \ No newline at end of file