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

[update] wizard new member

parent baf23efd
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -12,9 +12,20 @@ class ScopCotisationWizard(models.TransientModel):
_name = "scop.cotisation.cg.wizard"
_description = "Wizard: Génération des cotisations nouveaux adhérents"
year = fields.Char(string="Année", required=True)
@api.model
def _default_cotisation_cg_id(self):
return self.env.context.get("active_id")
@api.model
def _default_year(self):
return self.env["scop.cotisation.cg"].browse(
self.env.context.get("active_id")).year
year = fields.Char(string="Année", required=True, default=_default_year)
cotisation_cg_id = fields.Many2one(
comodel_name="scop.cotisation.cg", string="Base de cotisation"
comodel_name="scop.cotisation.cg",
string="Base de cotisation",
default=_default_cotisation_cg_id,
)
nb_quarter = fields.Selection(
string="Nombre de trimestres de cotisation",
......@@ -31,26 +42,30 @@ class ScopCotisationWizard(models.TransientModel):
default="all",
)
partner_ids = fields.Many2many(comodel_name="res.partner", string="Coopératives")
date = fields.Date("Date de cotisation", default=fields.Date.today())
date = fields.Date("Date de bordereau", default=fields.Date.today())
date_start = fields.Date("Adhésion après le")
date_limit = fields.Date("Adhésion avant le")
# ------------------------------------------------------
# Button function
# ------------------------------------------------------
@api.onchange("type")
@api.onchange("type", "date_start", "date_limit")
def onchange_domain_partner_ids(self):
if self.type == "selected":
id_cotisation_cg = self.env.context["id_cotisation_cg"]
invoiced_members = self.cotisation_cg_id.browse(
id_cotisation_cg
).invoice_ids.mapped("partner_id")
res = {
"domain": {
"partner_ids": [
("is_company", "=", True),
invoiced_members = self.cotisation_cg_id.bordereau_ids.mapped('partner_id')
domain = [
("is_cooperative", "=", True),
("type", "!=", "facility"),
("id", "not in", invoiced_members.mapped("id")),
]
if self.date_limit:
domain.append(("member_start", "<=", self.date_limit))
if self.date_start:
domain.append(("member_start", ">=", self.date_start))
res = {
"domain": {
"partner_ids": domain
}
}
return res
......
......@@ -12,15 +12,37 @@
<group>
<field name="year" required="1" invisible="1" />
<field name="date" required="1" />
</group>
<div class="mt16 text-muted">
La sélection des coopératives est faite sur <strong
>la date d'adhésion</strong> (est non sur <em
>la date d'adhésion statistique</em>)
</div>
<group>
<field name="date_start" />
<field name="date_limit" />
<field name="nb_quarter" required="1" />
<field name="type" widget="radio" />
</group>
<label
for="partner_ids"
attrs="{'invisible': [('type', '=', 'all')]}"
/>
<field
name="partner_ids"
attrs="{'invisible': [('type', '=', 'all')]}"
widget="many2many_tags"
options="{'no_create': True, 'no_open': True}"
/>
</group>
widget="many2many"
mode="tree"
>
<tree>
<field name="member_number" string="N° Adhérent" />
<field name="name" />
<field name="ur_id" />
<field name="member_start" />
<field name="member_start_stat" />
</tree>
</field>
<footer>
<button
name="cotiz_generate_new_adherents"
......
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