From d579e001f872f947a58a884d9d94984014d31380 Mon Sep 17 00:00:00 2001 From: Jairo Llopis Date: Fri, 18 Dec 2015 17:46:52 +0100 Subject: [PATCH] Prepare for OCA: - Renamed crm_job_position to partner_contact_job_position. - Drop all CRM dependencies. - Improve README. - Add form view. - Rename one model. - Rename some fields. - Reorder module. - Remove pot. - Update translation. - Use new-style short license and copyright headers. --- partner_contact_job_position/README.rst | 74 +++++++++++++ partner_contact_job_position/__init__.py | 9 ++ partner_contact_job_position/__openerp__.py | 29 +++++ partner_contact_job_position/i18n/es.po | 101 ++++++++++++++++++ .../models/__init__.py | 9 ++ .../models/res_partner.py | 38 +++++++ .../security/ir.model.access.csv | 5 + .../static/description/icon.png | Bin 0 -> 22620 bytes .../views/res_partner_job_position_view.xml | 42 ++++++++ .../views/res_partner_view.xml | 41 +++++++ 10 files changed, 348 insertions(+) create mode 100644 partner_contact_job_position/README.rst create mode 100644 partner_contact_job_position/__init__.py create mode 100644 partner_contact_job_position/__openerp__.py create mode 100644 partner_contact_job_position/i18n/es.po create mode 100644 partner_contact_job_position/models/__init__.py create mode 100644 partner_contact_job_position/models/res_partner.py create mode 100644 partner_contact_job_position/security/ir.model.access.csv create mode 100644 partner_contact_job_position/static/description/icon.png create mode 100644 partner_contact_job_position/views/res_partner_job_position_view.xml create mode 100644 partner_contact_job_position/views/res_partner_view.xml diff --git a/partner_contact_job_position/README.rst b/partner_contact_job_position/README.rst new file mode 100644 index 000000000..00f2706d0 --- /dev/null +++ b/partner_contact_job_position/README.rst @@ -0,0 +1,74 @@ +.. 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 job position +==================== + +This module extends the functionality of partners job position to support +having them categorized in tree form and allow you to choose a categorized job +position for your contacts in addition to the current custom string for job +position. + +Configuration +============= + +To configure job positions, you need to: + +* Go to *Sales > Configuration > Address Book > Job Positions*. + +Usage +===== + +To use this module, you need to: + +* Go to any partner's form. +* Use the new *Categorized job position* field. + +.. 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 +`_. + +Credits +======= + +Images +------ + +* `Antiun Ingeniería S.L. `_: Icon. + +Contributors +------------ + +* Pedro M. Baeza +* Antonio Espinosa +* Rafael Blasco +* Jairo Llopis + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://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 https://odoo-community.org. diff --git a/partner_contact_job_position/__init__.py b/partner_contact_job_position/__init__.py new file mode 100644 index 000000000..9af8488e4 --- /dev/null +++ b/partner_contact_job_position/__init__.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2014 Serv. Tecnol. Avanzados (http://www.serviciosbaeza.com) +# Pedro M. Baeza +# Copyright (c) 2015 Antiun Ingeniería S.L. (http://www.antiun.com) +# Antonio Espinosa +# © 2015 Antiun Ingeniería S.L. - Jairo Llopis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import models diff --git a/partner_contact_job_position/__openerp__.py b/partner_contact_job_position/__openerp__.py new file mode 100644 index 000000000..3e4521aad --- /dev/null +++ b/partner_contact_job_position/__openerp__.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2014 Serv. Tecnol. Avanzados (http://www.serviciosbaeza.com) +# Pedro M. Baeza +# Copyright (c) 2015 Antiun Ingeniería S.L. (http://www.antiun.com) +# Antonio Espinosa +# © 2015 Antiun Ingeniería S.L. - Jairo Llopis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + "name": "Partner job position", + "summary": "Categorize job positions for contacts", + "version": "8.0.1.0.0", + 'category': 'Customer Relationship Management', + "website": "http://www.antiun.com", + 'author': 'Serv. Tecnolog. Avanzados - Pedro M. Baeza, ' + 'Antiun Ingeniería S.L., ' + "Odoo Community Association (OCA)", + "license": "AGPL-3", + "application": False, + "installable": True, + "depends": [ + "base", + ], + "data": [ + 'security/ir.model.access.csv', + 'views/res_partner_job_position_view.xml', + 'views/res_partner_view.xml', + ], +} diff --git a/partner_contact_job_position/i18n/es.po b/partner_contact_job_position/i18n/es.po new file mode 100644 index 000000000..93f2409ab --- /dev/null +++ b/partner_contact_job_position/i18n/es.po @@ -0,0 +1,101 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * crm_job_position +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-12-18 18:22+0100\n" +"PO-Revision-Date: 2015-12-18 18:22+0100\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" +"X-Generator: Poedit 1.8.5\n" + +#. module: partner_contact_job_position +#: field:res.partner,job_position_id:0 +msgid "Categorized job position" +msgstr "Puesto de trabajo categorizado" + +#. module: partner_contact_job_position +#: field:res.partner.job_position,child_ids:0 +msgid "Children" +msgstr "Hijos" + +#. module: partner_contact_job_position +#: field:res.partner.job_position,create_uid:0 +msgid "Created by" +msgstr "Creado por" + +#. module: partner_contact_job_position +#: field:res.partner.job_position,create_date:0 +msgid "Created on" +msgstr "Creado en" + +#. module: partner_contact_job_position +#: field:res.partner.job_position,id:0 +msgid "ID" +msgstr "ID" + +#. module: partner_contact_job_position +#: model:ir.actions.act_window,name:partner_contact_job_position.res_partner_job_position_action +#: model:ir.ui.menu,name:partner_contact_job_position.menu_res_partner_job_position +msgid "Job Positions" +msgstr "Puestos de trabajo" + +#. module: partner_contact_job_position +#: model:ir.model,name:partner_contact_job_position.model_res_partner_job_position +#: view:res.partner:partner_contact_job_position.view_res_partner_filter_job_position +msgid "Job position" +msgstr "Puesto de trabajo" + +#. module: partner_contact_job_position +#: view:res.partner.job_position:partner_contact_job_position.res_partner_job_position_form_view +#: view:res.partner.job_position:partner_contact_job_position.res_partner_job_position_tree_view +msgid "Job positions" +msgstr "Puestos de trabajo" + +#. module: partner_contact_job_position +#: field:res.partner.job_position,write_uid:0 +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: partner_contact_job_position +#: field:res.partner.job_position,write_date:0 +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: partner_contact_job_position +#: field:res.partner.job_position,name:0 +msgid "Name" +msgstr "Nombre" + +#. module: partner_contact_job_position +#: field:res.partner.job_position,parent_id:0 +msgid "Parent" +msgstr "Padre" + +#. module: partner_contact_job_position +#: field:res.partner.job_position,parent_left:0 +msgid "Parent left" +msgstr "Padre izquierdo" + +#. module: partner_contact_job_position +#: field:res.partner.job_position,parent_right:0 +msgid "Parent right" +msgstr "Padre derecho" + +#. module: partner_contact_job_position +#: model:ir.model,name:partner_contact_job_position.model_res_partner +msgid "Partner" +msgstr "Empresa" + +#. module: partner_contact_job_position +#: view:res.partner:partner_contact_job_position.view_res_partner_filter_job_position +msgid "Salesperson" +msgstr "Comercial" diff --git a/partner_contact_job_position/models/__init__.py b/partner_contact_job_position/models/__init__.py new file mode 100644 index 000000000..213b25fdc --- /dev/null +++ b/partner_contact_job_position/models/__init__.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2014 Serv. Tecnol. Avanzados (http://www.serviciosbaeza.com) +# Pedro M. Baeza +# Copyright (c) 2015 Antiun Ingeniería S.L. (http://www.antiun.com) +# Antonio Espinosa +# © 2015 Antiun Ingeniería S.L. - Jairo Llopis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import res_partner diff --git a/partner_contact_job_position/models/res_partner.py b/partner_contact_job_position/models/res_partner.py new file mode 100644 index 000000000..abb6863fa --- /dev/null +++ b/partner_contact_job_position/models/res_partner.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2014 Serv. Tecnol. Avanzados (http://www.serviciosbaeza.com) +# Pedro M. Baeza +# Copyright (c) 2015 Antiun Ingeniería S.L. (http://www.antiun.com) +# Antonio Espinosa +# © 2015 Antiun Ingeniería S.L. - Jairo Llopis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openerp import models, fields + + +class ResPartner(models.Model): + _inherit = 'res.partner' + + job_position_id = fields.Many2one( + "res.partner.job_position", + "Categorized job position", + oldname="job_position") + + +class ResPartnerJobPosition(models.Model): + _name = "res.partner.job_position" + _order = "parent_left" + _parent_order = "name" + _parent_store = True + _description = "Job position" + + name = fields.Char(required=True, translate=True) + parent_id = fields.Many2one( + "res.partner.job_position", + "Parent") + child_ids = fields.One2many( + "res.partner.job_position", + "parent_id", + "Children", + oldname="children") + parent_left = fields.Integer(index=True) + parent_right = fields.Integer(index=True) diff --git a/partner_contact_job_position/security/ir.model.access.csv b/partner_contact_job_position/security/ir.model.access.csv new file mode 100644 index 000000000..93930fc92 --- /dev/null +++ b/partner_contact_job_position/security/ir.model.access.csv @@ -0,0 +1,5 @@ +"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" +"access_res_partner_job_position_public","res_partner_job_position group_public","model_res_partner_job_position","base.group_public",1,0,0,0 +"access_res_partner_job_position_portal","res_partner_job_position group_portal","model_res_partner_job_position","base.group_portal",1,0,0,0 +"access_res_partner_job_position_group_partner_manager","res_partner_job_position group_partner_manager","model_res_partner_job_position","base.group_partner_manager",1,1,1,1 +"access_res_partner_job_position_group_user","res_partner_job_position group_user","model_res_partner_job_position","base.group_user",1,0,0,0 diff --git a/partner_contact_job_position/static/description/icon.png b/partner_contact_job_position/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..add81b17a4847ff2663923593ecc364587d3dd9f GIT binary patch literal 22620 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%0A{Ckv_A`d0n`sc6nr@&!27fYc51Y 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 P00000NkvXXu0mjfiBcmQ literal 0 HcmV?d00001 diff --git a/partner_contact_job_position/views/res_partner_job_position_view.xml b/partner_contact_job_position/views/res_partner_job_position_view.xml new file mode 100644 index 000000000..e70b45a91 --- /dev/null +++ b/partner_contact_job_position/views/res_partner_job_position_view.xml @@ -0,0 +1,42 @@ + + + + + + Job Positions + res.partner.job_position + form + tree + + + + Job position tree + res.partner.job_position + + + + + + + + + + Job position form + res.partner.job_position + +
+ + + + + +
+
+
+ + + +
+
diff --git a/partner_contact_job_position/views/res_partner_view.xml b/partner_contact_job_position/views/res_partner_view.xml new file mode 100644 index 000000000..f1a2a0e45 --- /dev/null +++ b/partner_contact_job_position/views/res_partner_view.xml @@ -0,0 +1,41 @@ + + + + + + Partner form with job position + res.partner + + + + + + + + + + + + + Partner search with job position + res.partner + + + + + + + + + + + + +