Skip to content
Extraits de code Groupes Projets

Comparer les révisions

Les modifications sont affichées comme si la révision source était fusionnée avec la révision cible. En savoir plus sur la comparaison des révisions.

Source

Sélectionner le projet cible
No results found
Sélectionner une révision Git
  • 12.0
  • 13.0
  • 14.0
  • 14.0-add-ddets-state
  • 14.0-new-process
  • 14.0-process-extranet
6 résultats

Cible

Sélectionner le projet cible
  • lefilament/cgscop/cgscop_liste_ministere
1 résultat
Sélectionner une révision Git
  • 12.0
  • 13.0
  • 14.0
  • 14.0-add-ddets-state
  • 14.0-new-process
  • 14.0-process-extranet
6 résultats
Afficher les modifications
Validations sur la source (2)
...@@ -59,6 +59,7 @@ repos: ...@@ -59,6 +59,7 @@ repos:
hooks: hooks:
- id: prettier - id: prettier
name: prettier (with plugin-xml) name: prettier (with plugin-xml)
exclude: ^(datas/.*|templates/.*)$
additional_dependencies: additional_dependencies:
- "prettier@2.1.2" - "prettier@2.1.2"
- "@prettier/plugin-xml@0.12.0" - "@prettier/plugin-xml@0.12.0"
......
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
"security/security_rules.xml", "security/security_rules.xml",
# datas # datas
"datas/queue_job_data.xml", "datas/queue_job_data.xml",
"datas/scop_liste_ministere_domaine_scic_data.xml",
"datas/scop_liste_ministere_politique_action_data.xml", "datas/scop_liste_ministere_politique_action_data.xml",
"datas/scop_specificite_cae_data.xml", "datas/scop_specificite_cae_data.xml",
"datas/mail_data.xml", "datas/mail_data.xml",
...@@ -27,6 +26,13 @@ ...@@ -27,6 +26,13 @@
"wizard/lm_renew_wizard.xml", "wizard/lm_renew_wizard.xml",
"wizard/lm_inscription_wizard.xml", "wizard/lm_inscription_wizard.xml",
"wizard/lm_change_year_wizard.xml", "wizard/lm_change_year_wizard.xml",
# templates
"templates/dashboard.xml",
"templates/dossier_direccte_report.xml",
"templates/dossier_direccte_report_doc2.xml",
"templates/dossier_direccte_report_fiche_signaletique.xml",
"templates/dossier_direccte_report_liasse.xml",
"templates/dossier_direccte_report_questionnaire.xml",
# views # views
"views/assets.xml", "views/assets.xml",
"views/scop_liste_ministere.xml", "views/scop_liste_ministere.xml",
...@@ -35,13 +41,6 @@ ...@@ -35,13 +41,6 @@
"views/res_config_settings.xml", "views/res_config_settings.xml",
"views/res_partner.xml", "views/res_partner.xml",
"views/res_partner_ministere.xml", "views/res_partner_ministere.xml",
# templates
"templates/dossier_direccte_report.xml",
"templates/dossier_direccte_report_doc2.xml",
"templates/dossier_direccte_report_fiche_signaletique.xml",
"templates/dossier_direccte_report_liasse.xml",
"templates/dossier_direccte_report_questionnaire.xml",
"templates/lm_header_template.xml",
], ],
"qweb": [], "qweb": [],
"external_dependencies": { "external_dependencies": {
......
...@@ -24,6 +24,8 @@ class ScopListeMinistere(models.Model): ...@@ -24,6 +24,8 @@ class ScopListeMinistere(models.Model):
scop_liasse_fiscale_id = fields.Many2one( scop_liasse_fiscale_id = fields.Many2one(
comodel_name="scop.liasse.fiscale", string="Liasse fiscale" comodel_name="scop.liasse.fiscale", string="Liasse fiscale"
) )
# TODO: Supprimer le compute et initialiser avec les données : première clôture ou
# calcul en fonction du type de LM
date_closeout = fields.Date( date_closeout = fields.Date(
string="Date de cloture", string="Date de cloture",
compute="_compute_date_closeout", compute="_compute_date_closeout",
...@@ -61,6 +63,7 @@ class ScopListeMinistere(models.Model): ...@@ -61,6 +63,7 @@ class ScopListeMinistere(models.Model):
delegate=True, delegate=True,
) )
is_dead = fields.Boolean("Décédée", compute="_compute_is_dead", store=True) is_dead = fields.Boolean("Décédée", compute="_compute_is_dead", store=True)
# TODO: VOir comment gérer ces 2 champs
year = fields.Integer( year = fields.Integer(
string="Année de cloture", string="Année de cloture",
required=True, required=True,
...@@ -99,6 +102,17 @@ class ScopListeMinistere(models.Model): ...@@ -99,6 +102,17 @@ class ScopListeMinistere(models.Model):
string="Etat LM", string="Etat LM",
default="1_ouvert", default="1_ouvert",
) )
# TODO: voir si on active ces champs
# state_ddets = fields.Selection(
# [
# ("1_waiting", "En attente"),
# ("2_notice", "Mise en demeure"),
# ("3_validated", "Validé"),
# ("4_removed", "Radié"),
# ],
# string="Statut DDETS",
# tracking=1,
# )
type_lm = fields.Selection( type_lm = fields.Selection(
string="Type de dossier (select)", string="Type de dossier (select)",
...@@ -109,7 +123,8 @@ class ScopListeMinistere(models.Model): ...@@ -109,7 +123,8 @@ class ScopListeMinistere(models.Model):
required=True, required=True,
tracking=True, tracking=True,
) )
# effective_date = fields.Date("Date d'effet") # TODO: voir si on conserve ce champ
effective_date = fields.Date("Date d'effet")
date_reception = fields.Datetime( date_reception = fields.Datetime(
string="Reçu le", compute="_compute_date_reception", store=True string="Reçu le", compute="_compute_date_reception", store=True
) )
...@@ -246,7 +261,6 @@ class ScopListeMinistere(models.Model): ...@@ -246,7 +261,6 @@ class ScopListeMinistere(models.Model):
eff_sal_f = fields.Integer("Nombre de femmes salariés") eff_sal_f = fields.Integer("Nombre de femmes salariés")
eff_sal_h = fields.Integer("Nombre d'hommes salariés") eff_sal_h = fields.Integer("Nombre d'hommes salariés")
eff_apprenti = fields.Integer("Nombre de contrats d’apprentissage en cours")
eff_etp = fields.Float( eff_etp = fields.Float(
"Nombre de salariés en équivalent temps plein (ETP)", "Nombre de salariés en équivalent temps plein (ETP)",
store=True, store=True,
...@@ -288,12 +302,6 @@ class ScopListeMinistere(models.Model): ...@@ -288,12 +302,6 @@ class ScopListeMinistere(models.Model):
cap_sal_assoc = fields.Float( cap_sal_assoc = fields.Float(
"Montant total du capital des salariés associés", "Montant total du capital des salariés associés",
) )
cap_sal_assoc_aides_pub = fields.Float(
"Capital des salariés issu d'aides publiques"
)
cap_sal_assoc_pee_fcp = fields.Float(
"Capital des salariés détenu via PEE, FCP, etc."
)
nb_assoc_ext_phys = fields.Integer( nb_assoc_ext_phys = fields.Integer(
"Nombre de personnes physiques associées (autres qu'ex-salariés)" "Nombre de personnes physiques associées (autres qu'ex-salariés)"
...@@ -535,6 +543,7 @@ class ScopListeMinistere(models.Model): ...@@ -535,6 +543,7 @@ class ScopListeMinistere(models.Model):
) )
# TODO: recalculer la fonction # TODO: recalculer la fonction
# revu le 02/06/2025 mais à valider
@api.depends( @api.depends(
"eff_sal_assoc", "eff_sal_assoc",
"nb_assoc_ext_phys", "nb_assoc_ext_phys",
...@@ -543,14 +552,9 @@ class ScopListeMinistere(models.Model): ...@@ -543,14 +552,9 @@ class ScopListeMinistere(models.Model):
"nb_assoc_mutuelles", "nb_assoc_mutuelles",
"nb_coop_pas_scop", "nb_coop_pas_scop",
"nb_scop", "nb_scop",
"nb_benevoles_assoc_non_remun",
"nb_assoc_ext_phys_non_remnun",
"nb_assoc_ext_phys_avec_remnun",
"nb_assoc_collec_terr",
) )
def _compute_eff_shareholder_tt(self): def _compute_eff_shareholder_tt(self):
for lm in self: for lm in self:
if lm.main_type == "lm":
lm.eff_shareholder_tt = sum( lm.eff_shareholder_tt = sum(
( (
lm.eff_sal_assoc, lm.eff_sal_assoc,
...@@ -562,21 +566,6 @@ class ScopListeMinistere(models.Model): ...@@ -562,21 +566,6 @@ class ScopListeMinistere(models.Model):
lm.nb_scop, lm.nb_scop,
) )
) )
else: # lm.main_type == 'quest'
lm.eff_shareholder_tt = sum(
(
lm.eff_sal_assoc,
lm.nb_assoc_ext_phys_non_remnun,
lm.nb_benevoles_assoc_non_remun,
lm.nb_assoc_ext_phys_avec_remnun,
lm.nb_assoc_ex_sal,
lm.nb_soc_capitaux,
lm.nb_assoc_mutuelles,
lm.nb_coop_pas_scop,
lm.nb_scop,
lm.nb_assoc_collec_terr,
)
)
# TODO: revoir en fonction de la modification de l'année # TODO: revoir en fonction de la modification de l'année
def _compute_name(self): def _compute_name(self):
...@@ -605,14 +594,6 @@ class ScopListeMinistere(models.Model): ...@@ -605,14 +594,6 @@ class ScopListeMinistere(models.Model):
for lm in self: for lm in self:
lm.cap_tt = lm.nb_parts_cap * lm.valeur_nominale_part lm.cap_tt = lm.nb_parts_cap * lm.valeur_nominale_part
# TODO: revoir
@api.depends("cap_25moins", "cap_26_40", "cap_41_55", "cap_55plus")
def _compute_cap_sal_assoc(self):
for r in self:
r.cap_sal_assoc_computed = (
r.cap_25moins + r.cap_26_40 + r.cap_41_55 + r.cap_55plus
)
@api.depends("eff_sal_f", "eff_sal_h") @api.depends("eff_sal_f", "eff_sal_h")
def _compute_eff_tt(self): def _compute_eff_tt(self):
""" """
...@@ -624,19 +605,12 @@ class ScopListeMinistere(models.Model): ...@@ -624,19 +605,12 @@ class ScopListeMinistere(models.Model):
# Calcul effectifs totaux salariés/associés en fonction des effectifs # Calcul effectifs totaux salariés/associés en fonction des effectifs
# tranche d'age # tranche d'age
@api.depends( @api.depends(
"eff_sal_assoc_25moins", "eff_sal_assoc_f",
"eff_sal_assoc_26_40", "eff_sal_assoc_h",
"eff_sal_assoc_41_55",
"eff_sal_assoc_55plus",
) )
def _compute_eff_sal_assoc(self): def _compute_eff_sal_assoc(self):
for r in self: for r in self:
r.eff_sal_assoc = ( r.eff_sal_assoc = r.eff_sal_assoc_h + r.eff_sal_assoc_f
r.eff_sal_assoc_25moins
+ r.eff_sal_assoc_26_40
+ r.eff_sal_assoc_41_55
+ r.eff_sal_assoc_55plus
)
# Emails # Emails
def _compute_emails(self): def _compute_emails(self):
...@@ -1143,19 +1117,13 @@ class ScopListeMinistere(models.Model): ...@@ -1143,19 +1117,13 @@ class ScopListeMinistere(models.Model):
def action_close(self): def action_close(self):
for lm in self: for lm in self:
if lm.main_type == "quest":
staff_item = lm.maj_effectif_coop()
if staff_item.staff_count == 0:
staff_item.sudo().unlink()
lm.status = "7_cloture" lm.status = "7_cloture"
def action_status_rollback(self): def action_status_rollback(self):
for lm in self: for lm in self:
if lm.main_type == "lm":
lm_states = self._fields["status"].selection lm_states = self._fields["status"].selection
else:
lm_states = self._fields["status_quest"].selection
states = lm_states.copy() states = lm_states.copy()
# TODO: optimiser ?
for i, state in enumerate(states): for i, state in enumerate(states):
if state[0] == lm.status: if state[0] == lm.status:
lm.status = states[i - 1][0] lm.status = states[i - 1][0]
...@@ -1301,13 +1269,11 @@ class ScopListeMinistere(models.Model): ...@@ -1301,13 +1269,11 @@ class ScopListeMinistere(models.Model):
partner_company_type_id = partner_id.partner_company_type_id.id partner_company_type_id = partner_id.partner_company_type_id.id
cooperative_form_id = partner_id.cooperative_form_id.id cooperative_form_id = partner_id.cooperative_form_id.id
# Create LM # Create LM
main_type = self.compute_main_type(cooperative_form_id)
lm_id = self.with_context(mail_create_nosubscribe=True).create( lm_id = self.with_context(mail_create_nosubscribe=True).create(
{ {
"partner_id": partner_id.id, "partner_id": partner_id.id,
"year": year, "year": year,
"type_lm": lm_type, "type_lm": lm_type,
"main_type": main_type,
"partner_company_type_id": partner_company_type_id, "partner_company_type_id": partner_company_type_id,
"cooperative_form_id": cooperative_form_id, "cooperative_form_id": cooperative_form_id,
} }
...@@ -1325,6 +1291,8 @@ class ScopListeMinistere(models.Model): ...@@ -1325,6 +1291,8 @@ class ScopListeMinistere(models.Model):
return lm_id.id return lm_id.id
def maj_effectif_coop(self): def maj_effectif_coop(self):
# TODO: revoir cette fonction en fonction du process
# Créer à la validation de la LM ?
for lm in self: for lm in self:
if lm.type_lm == "renew": if lm.type_lm == "renew":
type_entry = "questionnaire" type_entry = "questionnaire"
...@@ -1345,7 +1313,7 @@ class ScopListeMinistere(models.Model): ...@@ -1345,7 +1313,7 @@ class ScopListeMinistere(models.Model):
"partner_id": lm.partner_id.id, "partner_id": lm.partner_id.id,
"user_id": self.env.user.id, "user_id": self.env.user.id,
"type_entry": type_entry, "type_entry": type_entry,
"effective_date": lm.effective_date, "effective_date": lm.effective_date, # TODO: modifier par la date de validation ? ou créer à la validation ?
"staff_count": lm.eff_tt, "staff_count": lm.eff_tt,
"staff_shareholder_count": lm.eff_sal_assoc, "staff_shareholder_count": lm.eff_sal_assoc,
"staff_shareholder_total": lm.eff_shareholder_tt, "staff_shareholder_total": lm.eff_shareholder_tt,
......
...@@ -4,7 +4,6 @@ admin_access_liste_ministere,admin_access_liste_ministere,model_scop_liste_minis ...@@ -4,7 +4,6 @@ admin_access_liste_ministere,admin_access_liste_ministere,model_scop_liste_minis
user_access_liste_ministere,user_access_liste_ministere,model_scop_liste_ministere,base.group_user,1,1,0,0 user_access_liste_ministere,user_access_liste_ministere,model_scop_liste_ministere,base.group_user,1,1,0,0
cg_access_liste_ministere_sub_wizard,access_liste_ministere_sub_wizard,model_scop_liste_ministere_inscription_wizard,cgscop_partner.group_cg_administrative,1,1,1,0 cg_access_liste_ministere_sub_wizard,access_liste_ministere_sub_wizard,model_scop_liste_ministere_inscription_wizard,cgscop_partner.group_cg_administrative,1,1,1,0
cg_access_liste_ministere_renew_wizard,access_liste_ministere_renew_wizard,model_scop_liste_ministere_renouvellement_wizard,cgscop_partner.group_cg_administrative,1,1,1,0 cg_access_liste_ministere_renew_wizard,access_liste_ministere_renew_wizard,model_scop_liste_ministere_renouvellement_wizard,cgscop_partner.group_cg_administrative,1,1,1,0
cg_access_liste_ministere_survey_import_wizard,access_liste_ministere_survey_import_wizard,model_scop_lm_survey_import_wizard,cgscop_partner.group_cg_administrative,1,1,1,0
user_access_liste_ministere_participations,user_access_liste_ministere_participations,model_scop_liste_ministere_participations,base.group_user,1,1,1,1 user_access_liste_ministere_participations,user_access_liste_ministere_participations,model_scop_liste_ministere_participations,base.group_user,1,1,1,1
cg_access_liste_ministere_participations,access_liste_ministere_participations,model_scop_liste_ministere_participations,cgscop_partner.group_cg_administrative,1,1,1,1 cg_access_liste_ministere_participations,access_liste_ministere_participations,model_scop_liste_ministere_participations,cgscop_partner.group_cg_administrative,1,1,1,1
admin_access_liste_ministere_participations,admin_access_liste_ministere_participations,model_scop_liste_ministere_participations,cgscop_partner.group_cg_administrator,1,1,1,1 admin_access_liste_ministere_participations,admin_access_liste_ministere_participations,model_scop_liste_ministere_participations,cgscop_partner.group_cg_administrator,1,1,1,1
...@@ -23,16 +22,11 @@ admin_access_liste_ministere_prestataires,admin_access_liste_ministere_prestatai ...@@ -23,16 +22,11 @@ admin_access_liste_ministere_prestataires,admin_access_liste_ministere_prestatai
cg_access_liste_ministere_associes,access_liste_ministere_associes,model_scop_liste_ministere_associes,cgscop_partner.group_cg_administrative,1,1,1,1 cg_access_liste_ministere_associes,access_liste_ministere_associes,model_scop_liste_ministere_associes,cgscop_partner.group_cg_administrative,1,1,1,1
user_access_liste_ministere_associes,user_access_liste_ministere_associes,model_scop_liste_ministere_associes,base.group_user,1,1,1,1 user_access_liste_ministere_associes,user_access_liste_ministere_associes,model_scop_liste_ministere_associes,base.group_user,1,1,1,1
admin_access_liste_ministere_associes,admin_access_liste_ministere_associes,model_scop_liste_ministere_associes,cgscop_partner.group_cg_administrator,1,1,1,1 admin_access_liste_ministere_associes,admin_access_liste_ministere_associes,model_scop_liste_ministere_associes,cgscop_partner.group_cg_administrator,1,1,1,1
user_access_liste_ministere_domaine_scic,user_access_liste_ministere_domaine_scic,model_scop_liste_ministere_domaine_scic,base.group_user,1,0,0,0
cg_access_liste_ministere_domaine_scic,access_liste_ministere_domaine_scic,model_scop_liste_ministere_domaine_scic,cgscop_partner.group_cg_administrative,1,1,1,1
admin_access_liste_ministere_domaine_scic,admin_access_liste_ministere_domaine_scic,model_scop_liste_ministere_domaine_scic,cgscop_partner.group_cg_administrator,1,1,1,1
user_access_liste_ministere_politique_action,user_access_liste_ministere_politique_action,model_scop_liste_ministere_politique_action,base.group_user,1,1,1,1 user_access_liste_ministere_politique_action,user_access_liste_ministere_politique_action,model_scop_liste_ministere_politique_action,base.group_user,1,1,1,1
cg_access_liste_ministere_politique_action,access_liste_ministere_politique_action,model_scop_liste_ministere_politique_action,cgscop_partner.group_cg_administrative,1,1,1,1 cg_access_liste_ministere_politique_action,access_liste_ministere_politique_action,model_scop_liste_ministere_politique_action,cgscop_partner.group_cg_administrative,1,1,1,1
admin_access_liste_ministere_politique_action,admin_access_liste_ministere_politique_action,model_scop_liste_ministere_politique_action,cgscop_partner.group_cg_administrator,1,1,1,1 admin_access_liste_ministere_politique_action,admin_access_liste_ministere_politique_action,model_scop_liste_ministere_politique_action,cgscop_partner.group_cg_administrator,1,1,1,1
access_scop_specificite_cae,access_scop_specificite_cae,model_scop_specificite_cae,base.group_user,1,0,0,0 access_scop_specificite_cae,access_scop_specificite_cae,model_scop_specificite_cae,base.group_user,1,0,0,0
admin_scop_specificite_cae,admin_scop_specificite_cae,model_scop_specificite_cae,cgscop_partner.group_cg_administrator,1,1,1,1 admin_scop_specificite_cae,admin_scop_specificite_cae,model_scop_specificite_cae,cgscop_partner.group_cg_administrator,1,1,1,1
cg_access_liste_ministere_dashboard,access_liste_ministere_dashboard,model_scop_liste_ministere_dashboard,cgscop_partner.group_cg_administrative,1,1,1,1
admin_access_liste_ministere_dashboard,admin_liste_ministere_dashboard,model_scop_liste_ministere_dashboard,cgscop_partner.group_cg_administrator,1,1,1,1
cg_access_res_partner_ministere,access_res_partner_ministere,model_res_partner_ministere,cgscop_partner.group_cg_administrative,1,1,0,0 cg_access_res_partner_ministere,access_res_partner_ministere,model_res_partner_ministere,cgscop_partner.group_cg_administrative,1,1,0,0
admin_access_res_partner_ministere,admin_res_partner_ministere,model_res_partner_ministere,cgscop_partner.group_cg_administrator,1,1,1,1 admin_access_res_partner_ministere,admin_res_partner_ministere,model_res_partner_ministere,cgscop_partner.group_cg_administrator,1,1,1,1
cg_access_res_partner_ministere_contact,access_res_partner_ministere_contact,model_res_partner_ministere_contact,cgscop_partner.group_cg_administrative,1,1,1,1 cg_access_res_partner_ministere_contact,access_res_partner_ministere_contact,model_res_partner_ministere_contact,cgscop_partner.group_cg_administrative,1,1,1,1
......
odoo.define("cgscop_liste_ministere.liste_ministere_dashboard", function (require) {
"use strict";
const Dialog = require("web.Dialog");
const qweb = require("web.qweb");
const viewRegistry = require("web.view_registry");
const Controller = qweb.Controller.extend({
events: _.extend({}, qweb.Controller.prototype.events, {
"click .show-lm-folder": "_onClickShowList",
}),
// --------------------------------------------------------------------------
// Handlers
// --------------------------------------------------------------------------
_onClickShowList: function (e) {
e.preventDefault();
const type_lm = e.currentTarget.dataset.type_lm;
const lm_state = e.currentTarget.dataset.lm_state;
const lm_state_name = e.currentTarget.dataset.lm_state_name;
var action = {
type: "ir.actions.act_window",
res_model: "scop.liste.ministere",
view_mode: "tree,pivot,graph,form",
views: [
[false, "list"],
[false, "pivot"],
[false, "graph"],
[false, "form"],
],
domain: [["status", "=", lm_state], ["type_lm", "=", type_lm]],
target: "current",
name: "Dossiers Liste Ministère - " + lm_state_name,
};
this.do_action(action);
},
// --------------------------------------------------------------------------
// Commons
// --------------------------------------------------------------------------
});
const ListeMinistereDashboard = qweb.View.extend({
withSearchBar: true,
searchMenuTypes: ["filter"],
config: _.extend({}, qweb.View.prototype.config, {
Controller: Controller,
}),
});
viewRegistry.add("liste_ministere_dashboard", ListeMinistereDashboard);
});
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<!-- Carte -->
<template id="liste_ministere_dashboard_card" name="liste_ministere_dashboard_card">
<div class="col-3 mb-4">
<div class="card text-center py-2 border-0 shadow-sm">
<a
href="#"
class="show-lm-folder"
t-att-data-lm_state="lm_state"
t-att-data-type_lm="type_lm"
t-att-data-lm_state_name="lm_state_name"
>
<div t-attf-class="card-text {{ 'text-success' if lm_state in ['6_transmis'] else '' }}">
<div class="lead">
<t t-esc="len(lm_state_records) if lm_state_records else 0" />
</div>
<div>
<t t-esc="lm_state_name" />
</div>
</div>
</a>
</div>
</div>
</template>
<!-- Dashboard type dossier -->
<template id="liste_ministere_dashboard" name="liste_ministere_dashboard">
<div class="col-12">
<h1><t t-esc="section_title" /></h1>
<hr />
<div class="row">
<!-- Ouverts -->
<t t-call="cgscop_liste_ministere.liste_ministere_dashboard_card">
<t t-set="lm_state" t-value="'1_ouvert'" />
<t t-set="lm_state_name" t-value="'Ouverts'" />
<t t-set="lm_state_records" t-value="lm.filtered(lambda d: d.status == lm_state) if lm else False" />
</t>
<!-- Publié -->
<t t-call="cgscop_liste_ministere.liste_ministere_dashboard_card">
<t t-set="lm_state" t-value="'2_publie'" />
<t t-set="lm_state_name" t-value="'Publiés'" />
<t t-set="lm_state_records" t-value="lm.filtered(lambda d: d.status == lm_state) if lm else False" />
</t>
<!-- Validé -->
<t t-call="cgscop_liste_ministere.liste_ministere_dashboard_card">
<t t-set="lm_state" t-value="'3_complet'" />
<t t-set="lm_state_name" t-value="'Validé Coopérateur'" />
<t t-set="lm_state_records" t-value="lm.filtered(lambda d: d.status == lm_state) if lm else False" />
</t>
<!-- Attente Avis -->
<t t-call="cgscop_liste_ministere.liste_ministere_dashboard_card">
<t t-set="lm_state" t-value="'4_attente_cg'" />
<t t-set="lm_state_name" t-value="'Attente Avis'" />
<t t-set="lm_state_records" t-value="lm.filtered(lambda d: d.status == lm_state) if lm else False" />
</t>
<!-- A transmettre -->
<t t-call="cgscop_liste_ministere.liste_ministere_dashboard_card">
<t t-set="lm_state" t-value="'5_a_transmettre'" />
<t t-set="lm_state_name" t-value="'A transmettre'" />
<t t-set="lm_state_records" t-value="lm.filtered(lambda d: d.status == lm_state) if lm else False" />
</t>
<!-- Transmis -->
<t t-call="cgscop_liste_ministere.liste_ministere_dashboard_card">
<t t-set="lm_state" t-value="'6_transmis'" />
<t t-set="lm_state_name" t-value="'Transmis DDETS'" />
<t t-set="lm_state_records" t-value="lm.filtered(lambda d: d.status == lm_state) if lm else False" />
</t>
<!-- Clôturé -->
<t t-call="cgscop_liste_ministere.liste_ministere_dashboard_card">
<t t-set="lm_state" t-value="'7_cloture'" />
<t t-set="lm_state_name" t-value="'Clôturés'" />
<t t-set="lm_state_records" t-value="lm.filtered(lambda d: d.status == lm_state) if lm else False" />
</t>
<!-- Mis en demeure -->
<!-- <t t-call="cgscop_liste_ministere.liste_ministere_dashboard_card">-->
<!-- <t t-set="lm_state" t-value="'5_a_transmettre'" />-->
<!-- <t t-set="lm_state_name" t-value="'Mis en demeure'" />-->
<!-- <t t-set="lm_state_records" t-value="lm.filtered(lambda d: d.status == lm_state) if lm else False" />-->
<!-- </t>-->
</div>
</div>
</template>
</odoo>
...@@ -13,9 +13,7 @@ ...@@ -13,9 +13,7 @@
<table class="table table-bordered table-sm"> <table class="table table-bordered table-sm">
<tbody> <tbody>
<tr> <tr>
<th <th rowspan="3">Nombre de salariés en équivalent temps plein (ETP)</th>
rowspan="3"
>Nombre de salariés en équivalent temps plein (ETP)</th>
<td class="text-right"><span t-field="o.eff_etp" /></td> <td class="text-right"><span t-field="o.eff_etp" /></td>
</tr> </tr>
</tbody> </tbody>
...@@ -34,18 +32,12 @@ ...@@ -34,18 +32,12 @@
<tbody> <tbody>
<tr> <tr>
<th>ex-salariés</th> <th>ex-salariés</th>
<td class="text-right"><span <td class="text-right"><span t-field="o.nb_assoc_ex_sal" /></td>
t-field="o.nb_assoc_ex_sal" <td class="text-right"><span t-field="o.cap_assoc_ex_sal" /></td>
/></td>
<td class="text-right"><span
t-field="o.cap_assoc_ex_sal"
/></td>
</tr> </tr>
<tr> <tr>
<th>extérieurs</th> <th>extérieurs</th>
<td class="text-right"><t <td class="text-right"><t t-esc="o.nb_scop + o.nb_coop_pas_scop + o.nb_assoc_mutuelles + o.nb_soc_capitaux + o.nb_assoc_ext_phys" /></td>
t-esc="o.nb_scop + o.nb_coop_pas_scop + o.nb_assoc_mutuelles + o.nb_soc_capitaux + o.nb_assoc_ext_phys"
/></td>
<td class="text-right"><t <td class="text-right"><t
t-esc="o.cap_scop + o.cap_coop_pas_scop + o.cap_assoc_mutuelles + o.cap_soc_capitaux + o.cap_assoc_ext_phys" t-esc="o.cap_scop + o.cap_coop_pas_scop + o.cap_assoc_mutuelles + o.cap_soc_capitaux + o.cap_assoc_ext_phys"
/></td> /></td>
...@@ -53,9 +45,7 @@ ...@@ -53,9 +45,7 @@
<tr class="bgg"> <tr class="bgg">
<th>Total</th> <th>Total</th>
<td class="text-right"><t <td class="text-right"><t t-esc="o.nb_scop + o.nb_coop_pas_scop + o.nb_assoc_mutuelles + o.nb_soc_capitaux + o.nb_assoc_ext_phys + o.nb_assoc_ex_sal + o.eff_sal_assoc" /></td>
t-esc="o.nb_scop + o.nb_coop_pas_scop + o.nb_assoc_mutuelles + o.nb_soc_capitaux + o.nb_assoc_ext_phys + o.nb_assoc_ex_sal + o.eff_sal_assoc"
/></td>
<td class="text-right"><span t-field="o.cap_tt" /></td> <td class="text-right"><span t-field="o.cap_tt" /></td>
</tr> </tr>
</tbody> </tbody>
...@@ -71,13 +61,9 @@ ...@@ -71,13 +61,9 @@
<!-- Nombre de parts X prix --> <!-- Nombre de parts X prix -->
<div class="row oe_mb32"> <div class="row oe_mb32">
<div class="col-12"> <div class="col-12">
Nombre de parts : <span Nombre de parts : <span t-esc="int(o.nb_parts_cap)" class="detail-cap" /> X
t-esc="int(o.nb_parts_cap)" Valeur nominal en € : <span t-field="o.valeur_nominale_part" class="detail-cap" /> =
class="detail-cap" <span t-field="o.cap_tt" class="detail-cap" />
/> X Valeur nominal en € : <span
t-field="o.valeur_nominale_part"
class="detail-cap"
/> = <span t-field="o.cap_tt" class="detail-cap" />
</div> </div>
</div> </div>
...@@ -92,25 +78,9 @@ ...@@ -92,25 +78,9 @@
<td class="pl2">Capital A - Apport des associés</td> <td class="pl2">Capital A - Apport des associés</td>
<td class="text-right"><span t-field="o.cap_sal_assoc" /></td> <td class="text-right"><span t-field="o.cap_sal_assoc" /></td>
</tr> </tr>
<tr>
<td class="pl2">Capital B - Aides publiques</td>
<td class="text-right"><span
t-field="o.cap_sal_assoc_aides_pub"
/></td>
</tr>
<tr>
<td
class="pl2"
>Capital des salariés détenu via PEE, FCP, etc...</td>
<td class="text-right"><span
t-field="o.cap_sal_assoc_pee_fcp"
/></td>
</tr>
<tr> <tr>
<td class="pl2">Capital détenu par des anciens salariés (1)</td> <td class="pl2">Capital détenu par des anciens salariés (1)</td>
<td class="text-right"><span <td class="text-right"><span t-field="o.cap_assoc_ex_sal" /></td>
t-field="o.cap_assoc_ex_sal"
/></td>
</tr> </tr>
<tr class="bgg"> <tr class="bgg">
...@@ -118,36 +88,24 @@ ...@@ -118,36 +88,24 @@
<td /> <td />
</tr> </tr>
<tr> <tr>
<td <td class="pl2">Si Scop d’amorçage, investisseur externe porteur</td>
class="pl2" <td class="text-right"><t t-if="o.cap_inves_ext_porteur"><span t-field="o.cap_assoc_ex_sal" /></t></td>
>Si Scop d’amorçage, investisseur externe porteur</td>
<td class="text-right"><t t-if="o.cap_inves_ext_porteur"><span
t-field="o.cap_assoc_ex_sal"
/></t></td>
</tr> </tr>
<tr> <tr>
<td class="pl2">Personnes physiques (2)</td> <td class="pl2">Personnes physiques (2)</td>
<td class="text-right"><span <td class="text-right"><span t-field="o.cap_assoc_ext_phys" /></td>
t-field="o.cap_assoc_ext_phys"
/></td>
</tr> </tr>
<tr> <tr>
<td class="pl2">Société de capitaux</td> <td class="pl2">Société de capitaux</td>
<td class="text-right"><span <td class="text-right"><span t-field="o.cap_soc_capitaux" /></td>
t-field="o.cap_soc_capitaux"
/></td>
</tr> </tr>
<tr> <tr>
<td class="pl2">Associations, mutuelles, CIGALES</td> <td class="pl2">Associations, mutuelles, CIGALES</td>
<td class="text-right"><span <td class="text-right"><span t-field="o.cap_assoc_mutuelles" /></td>
t-field="o.cap_assoc_mutuelles"
/></td>
</tr> </tr>
<tr> <tr>
<td class="pl2">Coopératives (sauf SCOP)</td> <td class="pl2">Coopératives (sauf SCOP)</td>
<td class="text-right"><span <td class="text-right"><span t-field="o.cap_coop_pas_scop" /></td>
t-field="o.cap_coop_pas_scop"
/></td>
</tr> </tr>
<tr> <tr>
<td class="pl2">SCOP</td> <td class="pl2">SCOP</td>
......
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<template id="header_template" name="cgscop_liste_ministere.header_template">
<div id="lm" style="background-color: #fff; padding: 16px 0">
<div class="container">
<div class="row">
<div class="col-12">
<span style="font-size: 1.4rem; margin-right: 32px;"><strong
>Initialisation des campagnes : </strong></span>
<a
type="action"
data-method="action_open_lm_renew"
data-model="scop.liste.ministere.renouvellement.wizard"
class="btn btn-secondary"
style="margin-right: 32px;"
>
Générer les dossiers <u>de renouvellement</u>
</a>
<a
type="action"
data-method="action_open_lm_inscription"
data-model="scop.liste.ministere.inscription.wizard"
class="btn btn-secondary"
groups="cgscop_partner.group_cg_administrative"
>
Générer les dossiers <u>d'inscription</u>
</a>
</div>
</div>
</div>
</div>
</template>
</odoo>
...@@ -29,4 +29,14 @@ ...@@ -29,4 +29,14 @@
</xpath> </xpath>
</template> </template>
<template
id="cgscop_liste_ministere_assets_backend"
name="cgscop_liste_ministere_assets_backend"
inherit_id="web.assets_backend"
>
<xpath expr="." position="inside">
<script type="text/javascript" src="/cgscop_liste_ministere/static/src/js/liste_ministere_dashboard.js" />
</xpath>
</template>
</odoo> </odoo>
...@@ -211,14 +211,6 @@ ...@@ -211,14 +211,6 @@
</group> </group>
<header> <header>
<button
string="Nouvelle période"
type="object"
name="period_wizard"
class=""
attrs="{'invisible':[('status', 'not in', ('1_ouvert', '2_publie', '3_complet'))]}"
groups="cgscop_partner.group_cg_administrative"
/>
<button <button
string="Publier extranet" string="Publier extranet"
type="object" type="object"
...@@ -343,12 +335,6 @@ ...@@ -343,12 +335,6 @@
clickable="0" clickable="0"
readonly="1" readonly="1"
/> />
<field
name="status_quest"
widget="statusbar"
clickable="0"
readonly="1"
/>
</header> </header>
<sheet> <sheet>
...@@ -384,21 +370,6 @@ ...@@ -384,21 +370,6 @@
options="{'no_create': 1, 'no_edit': 1}" options="{'no_create': 1, 'no_edit': 1}"
/> />
</h1> </h1>
<h2>
<span class="o_field_widget">Campagne&#160;</span><field
name="year"
readonly="1"
/>
<span
attrs="{'invisible':[('type_lm','=','subscribe')]}"
>
<span
class="o_field_widget"
>&#160;(Clôture&#160;</span><field
name="year_cloture"
/>
</span>
</h2>
<h3> <h3>
<span class="o_field_widget">Dossier&#160;</span><field <span class="o_field_widget">Dossier&#160;</span><field
name="type_lm" name="type_lm"
...@@ -493,8 +464,6 @@ ...@@ -493,8 +464,6 @@
</div> </div>
<field name="effective_date" /> <field name="effective_date" />
<field name="date_reception" /> <field name="date_reception" />
<field name="date_fin" />
<field name="type_dossier" />
<field <field
name="administrateur_dossier" name="administrateur_dossier"
options="{'no_create': 1, 'no_edit': 1}" options="{'no_create': 1, 'no_edit': 1}"
...@@ -776,14 +745,6 @@ ...@@ -776,14 +745,6 @@
string="Capital interne détenu par les salariés actuels de la coopérative" string="Capital interne détenu par les salariés actuels de la coopérative"
> >
<field name="cap_sal_assoc" /> <field name="cap_sal_assoc" />
<field
name="cap_sal_assoc_aides_pub"
string="- Dont capital des salariés issu d'aides publiques"
/>
<field
name="cap_sal_assoc_pee_fcp"
string="- Dont capital des salariés issu d'un PEE, FCP, etc."
/>
</group> </group>
<group string="Capital d'origine externe"> <group string="Capital d'origine externe">
...@@ -991,50 +952,6 @@ ...@@ -991,50 +952,6 @@
<field name="autre_specificite_cae" /> <field name="autre_specificite_cae" />
</group> </group>
</group> </group>
<group string="Questions additionnelles pour CAE">
<group>
<field name="eff_sal_sup_f" />
<field name="eff_cesa_f" />
<field name="eff_cape_f" />
<field name="eff_sal_sup_assoc_f" />
<field name="eff_cesa_assoc_f" />
<field name="eff_cape_assoc_f" />
<field name="eff_assoc_autre_mor" />
</group>
<group>
<field name="eff_sal_sup_h" />
<field name="eff_cesa_h" />
<field name="eff_cape_h" />
<field name="eff_sal_sup_assoc_h" />
<field name="eff_cesa_assoc_h" />
<field name="eff_cape_assoc_h" />
<field name="eff_assoc_autre_phys" />
</group>
</group>
<group>
<field name="ca_tt_hors_sub" />
<field name="ca_struct" />
<field name="ca_act_entr" />
</group>
<group>
<group>
<field name="contrib_coops_tt" />
<field name="echanges_internes_tt" />
</group>
<group>
<field name="sub_tt" />
</group>
</group>
<group>
<group>
<field name="ca_esa_f" />
<field name="ca_cape_f" />
</group>
<group>
<field name="ca_esa_h" />
<field name="ca_cape_h" />
</group>
</group>
</page> </page>
<page <page
name="earnings" name="earnings"
...@@ -1325,6 +1242,118 @@ ...@@ -1325,6 +1242,118 @@
</field> </field>
</record> </record>
<!-- Qweb -->
<record id="view_liste_ministere_qweb" model="ir.ui.view">
<field name="name">scop.liste.ministere.qweb</field>
<field name="model">scop.liste.ministere</field>
<field name="type">qweb</field>
<field name="arch" type="xml">
<qweb js_class="liste_ministere_dashboard">
<div class="">
<div class="container py-5">
<!-- Renouvellement -->
<div class="row mb-5">
<t t-call="cgscop_liste_ministere.liste_ministere_dashboard">
<t t-set="section_title" t-value="'Dossiers en cours'" />
<t t-set="type_lm" t-value="'renew'" />
<t t-set="lm" t-value="records.filtered(lambda d: d.type_lm == 'renew')" />
</t>
<div class="col-12 text-center">
<a
href="#"
type="action"
data-method="action_open_lm_renew"
data-model="scop.liste.ministere.renouvellement.wizard"
class="btn btn-outline-primary"
>
Générer les dossiers manquants
</a>
</div>
</div>
<!-- Inscription -->
<div class="row my-5">
<t t-call="cgscop_liste_ministere.liste_ministere_dashboard">
<t t-set="section_title" t-value="'Inscription'" />
<t t-set="type_lm" t-value="'subscribe'" />
<t t-set="lm" t-value="records.filtered(lambda d: d.type_lm == 'subscribe')" />
</t>
<div class="col-12 text-center">
<a
href="#"
type="action"
data-method="action_open_lm_inscription"
data-model="scop.liste.ministere.inscription.wizard"
class="btn btn-outline-primary"
>
Générer les dossiers d'inscription
</a>
</div>
</div>
<!-- Liste Ministère -->
<div class="row my-5">
<div class="col-12">
<div class="row">
<div class="col-12">
<h1>Liste ministère en temps réel</h1>
<hr />
</div>
<!-- Coop sur la liste -->
<div class="col-3">
<div class="card text-center py-2 border-0 shadow-sm">
<a href="#">
<div class="card-text text-success">
<div class="display-4">
##
<!-- <t t-esc="len(lm_state_records) if lm_state_records else 0" />-->
</div>
<div>
Coopératives sur la liste
</div>
</div>
</a>
</div>
</div>
<!-- Mise en demeure -->
<div class="col-3">
<div class="card text-center py-2 border-0 shadow-sm">
<a href="#">
<div class="card-text text-warning">
<div class="display-4">
##
<!-- <t t-esc="len(lm_state_records) if lm_state_records else 0" />-->
</div>
<div>
Mises en demeure
</div>
</div>
</a>
</div>
</div>
<!-- Radiées -->
<div class="col-3">
<div class="card text-center py-2 border-0 shadow-sm">
<a href="#">
<div class="card-text text-danger">
<div class="display-4">
##
<!-- <t t-esc="len(lm_state_records) if lm_state_records else 0" />-->
</div>
<div>
Coopératives radiées
</div>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</qweb>
</field>
</record>
<!-- inherited view to give specific access rights for group admin --> <!-- inherited view to give specific access rights for group admin -->
<record id="view_liste_ministere_header_admin" model="ir.ui.view"> <record id="view_liste_ministere_header_admin" model="ir.ui.view">
<field name="name">scop.liste.ministere.form.header.admin</field> <field name="name">scop.liste.ministere.form.header.admin</field>
...@@ -1435,10 +1464,17 @@ ...@@ -1435,10 +1464,17 @@
</record> </record>
<!-- Action du menu--> <!-- Action du menu-->
<!-- Accueil -->
<record id="action_liste_ministere_qweb" model="ir.actions.act_window">
<field name="name">Tableau de Bord</field>
<field name="res_model">scop.liste.ministere</field>
<field name="view_mode">qweb</field>
</record>
<!-- DOSSIERS --> <!-- DOSSIERS -->
<record model="ir.actions.act_window" id="action_liste_ministere"> <record model="ir.actions.act_window" id="action_liste_ministere">
<field name="name">Dossiers liste ministère</field> <field name="name">Dossiers liste ministère</field>
<field name="res_model">scop.liste.ministere</field> <field name="res_model">scop.liste.ministere</field>
<field name="domain">[]</field>
<field name="view_mode">tree,form,graph,pivot</field> <field name="view_mode">tree,form,graph,pivot</field>
<field name="context" eval="{'search_default_current_year': 1}" /> <field name="context" eval="{'search_default_current_year': 1}" />
</record> </record>
...@@ -1487,6 +1523,13 @@ ...@@ -1487,6 +1523,13 @@
groups="cgscop_liste_ministere.group_cg_lm_admin" groups="cgscop_liste_ministere.group_cg_lm_admin"
web_icon="cgscop_liste_ministere,static/description/icon.png" web_icon="cgscop_liste_ministere,static/description/icon.png"
/> />
<menuitem
id="menu_liste_ministere_dashboard"
parent="menu_liste_ministere"
name="Accueil"
sequence="10"
action="action_liste_ministere_qweb"
/>
<menuitem <menuitem
id="menu_liste_ministere_list" id="menu_liste_ministere_list"
parent="menu_liste_ministere" parent="menu_liste_ministere"
......