Skip to content

Commit

Permalink
[ADD] academic_partner_code: add new module
Browse files Browse the repository at this point in the history
  • Loading branch information
lef-adhoc committed Jul 10, 2024
1 parent 8b59fda commit 2a71564
Show file tree
Hide file tree
Showing 7 changed files with 177 additions and 0 deletions.
70 changes: 70 additions & 0 deletions academic_partner_code/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
.. |company| replace:: ADHOC SA

.. |company_logo| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-logo.png
:alt: ADHOC SA
:target: https://www.adhoc.com.ar

.. |icon| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-icon.png

.. image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: https://www.gnu.org/licenses/agpl
:alt: License: AGPL-3

=====================
Academic Partner Code
=====================

#. This module automatically generates a unique academic code for partners with partner_type set to 'family' using a sequence. By default, a single sequence is created and shared across all companies. To use different sequences for different companies, duplicate the existing sequence or create new ones and define the company field

Installation
============

To install this module, you need to:

#. Only need to install the module.

Configuration
=============

To configure this module, you need to:

#. Nothing to configure.

Usage
=====

To use this module, you need to:

#. Just use.

.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: http://runbot.adhoc.com.ar/

Bug Tracker
===========

Bugs are tracked on `GitHub Issues
<https://github.com/ingadhoc/sale/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
------

* |company| |icon|

Contributors
------------

Maintainer
----------

|company_logo|

This module is maintained by the |company|.

To contribute to this module, please visit https://www.adhoc.com.ar.
5 changes: 5 additions & 0 deletions academic_partner_code/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
##############################################################################
# For copyright and license notices, see __manifest__.py file in module root
# directory
##############################################################################
from . import models
38 changes: 38 additions & 0 deletions academic_partner_code/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
##############################################################################
#
# Copyright (C) 2015 ADHOC SA (http://www.adhoc.com.ar)
# All Rights Reserved.
#
# This program 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.
#
# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': 'Academic Partner Code',
'version': "17.0.1.0.0",
'sequence': 14,
'summary': '',
'author': 'ADHOC SA',
'website': 'www.adhoc.com.ar',
'license': 'AGPL-3',
'depends': [
'academic'
],
'data': [
'data/ir_sequence_data.xml',
'views/res_partner_views.xml'
],
'installable': True,
'auto_install': False,
'application': False,
}
8 changes: 8 additions & 0 deletions academic_partner_code/data/ir_sequence_data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<odoo noupdate="1">
<record id="sequence" model="ir.sequence">
<field name="name">Partner academic code</field>
<field name="code">partner.academic.code</field>
<field name="padding">4</field>
<field name="company_id" eval="False"/>
</record>
</odoo>
5 changes: 5 additions & 0 deletions academic_partner_code/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
##############################################################################
# For copyright and license notices, see __manifest__.py file in module root
# directory
##############################################################################
from . import res_partner
26 changes: 26 additions & 0 deletions academic_partner_code/models/res_partner.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
##############################################################################
# For copyright and license notices, see __manifest__.py file in module root
# directory
##############################################################################
from odoo import fields, models, api


class Partner(models.Model):
_inherit = 'res.partner'

academic_code = fields.Char(
'Academic Code',
copy=False,
)

@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
if vals.get('partner_type') == 'family':
vals['academic_code'] = self.env['ir.sequence'].next_by_code('partner.academic.code')
return super().create(vals_list)

_sql_constraints = {
('academic_code_uniq', 'unique(academic_code)',
'Academic Code must be unique!')
}
25 changes: 25 additions & 0 deletions academic_partner_code/views/res_partner_views.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<odoo>
<record id="view_partner_form" model="ir.ui.view">
<field name="name">academic.partner.form</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//h1" position="after">
<group>
<field name="academic_code" invisible="partner_type != 'family'"/>
</group>
</xpath>
</field>
</record>

<record id="view_res_partner_filter" model="ir.ui.view">
<field name="name">academic.partner.search</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_res_partner_filter"/>
<field name="arch" type="xml">
<field name="name" position="after">
<field name="academic_code"/>
</field>
</field>
</record>
</odoo>

0 comments on commit 2a71564

Please sign in to comment.