Browse Source

Add partner_academic_title module

pull/719/head
Adrien Peiffer (ACSONE) 9 years ago
committed by Luis M. Ontalba
parent
commit
91274b0b1f
  1. 48
      partner_academic_title/README.rst
  2. 2
      partner_academic_title/__init__.py
  3. 43
      partner_academic_title/__openerp__.py
  4. 49
      partner_academic_title/data/partner_academic_title_data.xml
  5. 3
      partner_academic_title/models/__init__.py
  6. 35
      partner_academic_title/models/partner_academic_title.py
  7. 54
      partner_academic_title/models/res_partner.py
  8. 3
      partner_academic_title/security/ir.model.access.csv
  9. 38
      partner_academic_title/views/partner_academic_title_view.xml
  10. 16
      partner_academic_title/views/res_partner_view.xml

48
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 <https://github.com/OCA/partner-contact/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 <https://github.com/OCA/partner-contact/issues/new?body=module:%20partner_academic_title%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Credits
=======
Contributors
------------
* Stéphane Bidoul <stephane.bidoul@acsone.eu>
* Adrien Peiffer <adrien.peiffer@acsone.eu>
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.

2
partner_academic_title/__init__.py

@ -0,0 +1,2 @@
# -*- coding: utf-8 -*-
from . import models

43
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 (<http://acsone.eu>)
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'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',
],
}

49
partner_academic_title/data/partner_academic_title_data.xml

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record id="academic_title_bs" model="partner.academic.title">
<field name="name">B.S.</field>
<field name="sequence">1</field>
</record>
<record id="academic_title_ms" model="partner.academic.title">
<field name="name">M.S.</field>
<field name="sequence">2</field>
</record>
<record id="academic_title_mph" model="partner.academic.title">
<field name="name">M.P.H.</field>
<field name="sequence">3</field>
</record>
<record id="academic_title_mba" model="partner.academic.title">
<field name="name">M.B.A.</field>
<field name="sequence">4</field>
</record>
<record id="academic_title_md" model="partner.academic.title">
<field name="name">M.D.</field>
<field name="sequence">5</field>
</record>
<record id="academic_title_phd" model="partner.academic.title">
<field name="name">Ph.D.</field>
<field name="sequence">6</field>
</record>
<record id="academic_title_edd" model="partner.academic.title">
<field name="name">Ed.D</field>
<field name="sequence">7</field>
</record>
<record id="academic_title_psyd" model="partner.academic.title">
<field name="name">Psy.D.</field>
<field name="sequence">8</field>
</record>
<record id="academic_title_thd" model="partner.academic.title">
<field name="name">Th.D.</field>
<field name="sequence">9</field>
</record>
<record id="academic_title_pharmd" model="partner.academic.title">
<field name="name">Pharm.D.</field>
<field name="sequence">10</field>
</record>
<record id="academic_title_jd" model="partner.academic.title">
<field name="name">J.D.</field>
<field name="sequence">11</field>
</record>
</data>
</openerp>

3
partner_academic_title/models/__init__.py

@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
from . import partner_academic_title
from . import res_partner

35
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 (<http://acsone.eu>)
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp import models, fields
class PartnerAcademicTitle(models.Model):
_name = 'partner.academic.title'
name = fields.Char(required=True)
sequence = fields.Integer(required=True,
help="""defines the order to display titles""")
active = fields.Boolean(default=True)

54
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 (<http://acsone.eu>)
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
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)

3
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

38
partner_academic_title/views/partner_academic_title_view.xml

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_academic_title_form" model="ir.ui.view">
<field name="name">partner.academic.title.form</field>
<field name="model">partner.academic.title</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="name" />
<field name="sequence" />
<field name="active" />
</group>
</sheet>
</form>
</field>
</record>
<record id="view_academic_title_tree" model="ir.ui.view">
<field name="name">partner.academic.title.tree</field>
<field name="model">partner.academic.title</field>
<field name="arch" type="xml">
<tree editable="bottom">
<field name="sequence"/>
<field name="name" />
</tree>
</field>
</record>
<record id="open_academic_title" model="ir.actions.act_window">
<field name="name">Academic Titles</field>
<field name="res_model">partner.academic.title</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem id="menu_academic_title" name="Academic Titles" parent="base.menu_config_address_book" groups="base.group_system" action="open_academic_title" sequence="4"/>
</data>
</openerp>

16
partner_academic_title/views/res_partner_view.xml

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_partner_form" model="ir.ui.view">
<field name="name">res.partner.form (partner_academic_title)</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form" />
<field name="arch" type="xml">
<xpath expr="//field[@name='title']" position="after">
<field name="academic_title_ids" class="oe_edit_only" widget="many2many_tags" placeholder="Academic Titles"/>
<field name="academic_title_display" class="oe_read_only" />
</xpath>
</field>
</record>
</data>
</openerp>
Loading…
Cancel
Save