Skip to content
Extraits de code Groupes Projets
Valider 1f73f547 rédigé par Benjamin - Le Filament's avatar Benjamin - Le Filament
Parcourir les fichiers

[merge] MR Hervé : 12-RV-Statut-facturation-idf - Ajout du suivi de facturation projet (idf)

parent 6d839178
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -16,5 +16,6 @@
"views/assets.xml",
"views/res_partner.xml",
"views/res_partner_federation.xml",
"views/res_partner_project_invoicing_status.xml",
]
}
......@@ -3,3 +3,4 @@
from . import res_partner
from . import res_partner_federation
from . import res_partner_project_invoicing_status
\ No newline at end of file
......@@ -55,6 +55,25 @@ class ScopPartner(models.Model):
recipient_file_fse = fields.Many2one(
'res.partner',
string="Destinataire du dossier FSE")
project_invoicing_status_id = fields.Many2many(
'res.partner.project.invoicing.status',
column1='partner_id',
column2='invoicing_status_id',
string='Etat de facturation')
project_invoicing_status_nb = fields.Integer(
string="Nb de statuts de facturation",
compute="_compute_project_invoicing_status_nb")
# ------------------------------------------------------
# Compute function
# ------------------------------------------------------
@api.multi
def _compute_project_invoicing_status_nb(self):
for partner in self:
# Calcul nombre de statut 1
sta = partner.env['res.partner.project.invoicing.status'].search([
('ur_id', '=', self.env.user.ur_id.id)])
partner.project_invoicing_status_nb = len(sta)
# ------------------------------------------------------
# Onchange function
......
# © 2019 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models, api
class ResPartnerProjectInvoicingStatus(models.Model):
_name = "res.partner.project.invoicing.status"
_description = "Etat de la facturation projet"
_order = 'ur_id, name'
def _default_ur(self):
return self.env['res.company']._ur_default_get()
name = fields.Char('Nom', index=True, required=True)
ur_id = fields.Many2one(
'union.regionale',
string='Union Régionale',
index=True,
on_delete='restrict',
default=_default_ur)
......@@ -3,3 +3,5 @@ access_res_partner_prescriber_canal,access_res_partner_prescriber_canal,model_re
admin_res_partner_prescriber_canal,admin_res_partner_prescriber_canal,model_res_partner_prescriber_canal,cgscop_partner.group_cg_administrator,1,1,1,1
access_res_partner_federation,access_res_partner_federation,model_res_partner_federation,base.group_user,1,0,0,0
admin_res_partner_federation,admin_res_partner_federation,model_res_partner_federation,cgscop_partner.group_cg_administrator,1,1,1,1
access_res_partner_project_invoicing_status,access_res_partner_project_invoicing_status,model_res_partner_project_invoicing_status,base.group_user,1,0,0,0
admin_res_partner_project_invoicing_status,admin_res_partner_project_invoicing_status,model_res_partner_project_invoicing_status,cgscop_partner.group_cg_administrator,1,1,1,1
......@@ -34,6 +34,7 @@
<field name="arch" type="xml">
<page name='scop_contacts' position="before">
<page name="adhesion_processus1" string="Processus d'Adhésion" attrs="{'invisible': ['|', ('is_cooperative', '!=', True), ('project_status','=','6_suivi')]}">
<field name="project_invoicing_status_nb" invisible="1"/>
<group col="3">
<group string="Général">
<field name="project_number"/>
......@@ -53,6 +54,7 @@
<field name="fse_full" widget="boolean_toggle"/>
<field name="is_id_card" widget="boolean_toggle"/>
<field name="recipient_file_fse"/>
<field name="project_invoicing_status_id" widget="many2many_tags" options="{'no_create': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible':[('project_invoicing_status_nb', '=', 0)]}" />
</group>
<group string="Phase d'information">
<field name="date_first_rdv" attrs="{'required':[('project_status','=', '1_information')]}"/>
......@@ -77,6 +79,7 @@
</page>
<page name='scop_staff' position="after">
<page name="adhesion_processus2" string="Processus d'Adhésion" attrs="{'invisible': ['|', ('is_cooperative', '!=', True), ('project_status','!=','6_suivi')]}">
<field name="project_invoicing_status_nb" invisible="1"/>
<group col="3">
<group string="Général">
<field name="project_number"/>
......@@ -94,6 +97,7 @@
<field name="date_return_file"/>
<field name="fse_full" widget="boolean_toggle"/>
<field name="recipient_file_fse"/>
<field name="project_invoicing_status_id" widget="many2many_tags" options="{'no_create': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible':[('project_invoicing_status_nb', '=', 0)]}" />
</group>
<group string="Phase d'information">
<field name="date_first_rdv"/>
......
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<!-- statut de facturation projet -->
<record id="view_res_partner_project_invoicing_status_tree" model="ir.ui.view">
<field name="name">res.partner.project.invoicing.status.tree</field>
<field name="model">res.partner.project.invoicing.status</field>
<field name="arch" type="xml">
<tree string="Etat de la facturation projet" editable="top">
<field name="name"/>
</tree>
</field>
</record>
<record id="action_view_res_partner_project_invoicing_status_tree" model="ir.actions.act_window">
<field name="name">Etat de la facturation projet</field>
<field name="res_model">res.partner.project.invoicing.status</field>
<field name="domain">[('ur_id', '=', ur_id)]</field>
<field name="view_mode">tree</field>
<field name="help">Affiche et gère les états de facturation projet</field>
</record>
<menuitem id="menu_res_partner_project_invoicing_status"
parent="cgscop_partner.menu_scop"
action="action_view_res_partner_project_invoicing_status_tree"
groups="cgscop_partner.group_cg_administrator"
sequence="17"/>
</data>
</odoo>
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter