Skip to content

Commit

Permalink
[FIX] views and add wizard in persona
Browse files Browse the repository at this point in the history
  • Loading branch information
archetipo committed Dec 13, 2024
1 parent 7bd3f0c commit c5db782
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 12 deletions.
5 changes: 5 additions & 0 deletions inrim_anagrafiche/i18n/it.po
Original file line number Diff line number Diff line change
Expand Up @@ -1375,3 +1375,8 @@ msgstr "Cap"
#: model_terms:ir.ui.view,arch_db:inrim_anagrafiche.ca_ente_azienda_form
msgid "e.g. My Company"
msgstr "es. My Company"

#. module: inrim_anagrafiche
#: model:ir.model.fields,field_description:inrim_anagrafiche.field_ca_persona__send_to_payroll_system
msgid "Send To Payroll System"
msgstr "Sincronizza C.E."
1 change: 0 additions & 1 deletion inrim_anagrafiche/views/ca_persona_views.xml
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,6 @@
</div>
</button>
</div>

<group>
<group>
<field name="is_external" invisible="1"
Expand Down
39 changes: 37 additions & 2 deletions inrim_controllo_accessi/views/ca_persona_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,48 @@
<field name="model">ca.persona</field>
<field name="inherit_id" ref="inrim_anagrafiche.ca_persona_form"/>
<field name="arch" type="xml">
<xpath expr="//t//page[@name='identity_documents']" position="after">
<xpath expr="//field[@name='ca_stato_anag_id']" position="after">
<button
name="inrim_controllo_accessi.ca_registra_persona_action"
type="action"
icon="oi-smile-add"
string="Add Card Person"
display="always"
groups="controllo_accessi.ca_ca"
class="btn-primary"
context="{'default_persona_id':active_id}"
invisible="ca_tag_ids"
/>

</xpath>
<xpath expr="//t//page[@name='identity_documents']"
position="after">
<page name="person_access" string="List Access">
<field name="person_access_ids" readonly="1"/>
</page>
</xpath>
</field>
</record>


<record id="ca_persona_tree_inherit" model="ir.ui.view">
<field name="name">ca.persona.tree.inherit</field>
<field name="model">ca.persona</field>
<field name="inherit_id"
ref="inrim_anagrafiche.ca_persona_tree"/>
<field name="arch" type="xml">
<xpath expr="//tree/field[@name='display_name']" position="before">
<header>
<button
name="inrim_controllo_accessi.ca_registra_persona_action"
type="action"
icon="oi-smile-add"
string="Add Card Person"
display="always"
groups="controllo_accessi.ca_ca"
class="btn-primary"
/>
</header>
</xpath>
</field>
</record>
</odoo>
27 changes: 22 additions & 5 deletions inrim_controllo_accessi/wizard/ca_registra_persona.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

from odoo import models, fields, api, _
from odoo.exceptions import UserError
from datetime import datetime
from datetime import time

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -31,15 +33,30 @@ class CaRegistraPersona(models.TransientModel):
date_start = fields.Datetime(required=True, default=fields.Datetime.now)
date_end = fields.Datetime(required=True)
parent_id = fields.Many2one(
'ca.persona', string='Reference person', index=True,
domain=[('is_internal', '=', True), ("present", "=", "yes")]
'ca.persona', string='Reference person', index=True
)
ref_domain = fields.Selection(
[("present", "Present"), ("all", "All")], default="present", required=True)
ca_tag_id = fields.Many2one('ca.tag', required=True)
available_tags_ids = fields.Many2many('ca.tag', compute="_compute_available_tags")
ente_interno = fields.Boolean(string="Internal")
work_id_number = fields.Char(
string="ID Number", groups="controllo_accessi.ca_gdpr")

parent_id_domain = fields.Binary(
string="parent id domain",
help="Dynamic domain used for the tag that can be set on tax",
compute="_compute_parent_domain")

@api.depends('ref_domain')
def _compute_parent_domain(self):
for rec in self:
if rec.ref_domain == 'present':
rec.parent_id_domain = [
('is_internal', '=', True), ('present', '=', 'yes')]
else:
rec.parent_id_domain = [('is_internal', '=', True)]

def ente_azienda_domain(self):
return [
('id', 'not in',
Expand Down Expand Up @@ -83,8 +100,6 @@ def _compute_eval_vat(self):
if record.ente_azienda.id != ente_az_found.id:
self.with_context(
no_change_vat=True).eval_ente_azienda_id(ente_az_found.id)
else:
self.reset_ente_azienda_id()

def populate_person(self, rec):
self.ensure_one()
Expand All @@ -99,6 +114,8 @@ def populate_person(self, rec):
current_winfo = self.persona_id.get_current_winfo()
self.ca_work_info_type_id = current_winfo.ca_work_info_type_id.id
self.ca_title_id = current_winfo.ca_title_id.id
self.date_start = datetime.combine(current_winfo.date_start, time(8, 0, 0))
self.date_end = datetime.combine(current_winfo.date_end, time(18, 0, 0))
self.compute_available_tags()

def reset_person(self):
Expand Down Expand Up @@ -206,7 +223,7 @@ def action_confirm(self):
{
"name": self.ca_ente_name,
"vat": self.vat,
"tipo_ente_azienda_id": self.tipo_ente_azienda_id
"tipo_ente_azienda_id": self.tipo_ente_azienda_id.id
}
)
if not self.persona_id:
Expand Down
16 changes: 12 additions & 4 deletions inrim_controllo_accessi/wizard/ca_registra_persona_views.xml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,18 @@
</group>
<separator string="Referente interno"/>
<group>
<field name="parent_id"
options="{'no_create': True, 'no_quick_create': True, 'no_edit':True}"
required="not persona_id or persona_id.is_external == True"/>
<group>
<field name="ref_domain"/>
</group>
<group>
<field name="parent_id_domain" invisible="1"/>
<field name="parent_id"
options="{'no_create': True}"
required="not persona_id or persona_id.is_external == True"
domain="parent_id_domain"
/>
</group>

</group>
<separator string="Access Data"/>

Expand All @@ -53,7 +62,6 @@
options="{'no_create': True, 'no_quick_create': True}"/>
<field name="date_start"/>
<field name="ca_tag_id" string="Badge"
options="{'no_create': True, 'no_quick_create': True}"
domain="[('id', 'in', available_tags_ids)]"/>
</group>
<group>
Expand Down

0 comments on commit c5db782

Please sign in to comment.