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

[update] state report template and function

parent 06b4ab96
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!1[add] merge 14.0 new process adh
......@@ -6,6 +6,8 @@ exclude: |
^setup/|/static/description/index\.html$|
# We don't want to mess with tool-generated files
.svg$|/tests/([^/]+/)?cassettes/|^.copier-answers.yml$|^.github/|
# Maybe reactivate this when all README files include prettier ignore tags?
^README\.md$|
# Library files can have extraneous formatting (even minimized)
/static/(src/)?lib/|
# Repos using Sphinx to generate docs don't need prettying
......@@ -25,8 +27,13 @@ repos:
entry: found forbidden files; remove them
language: fail
files: "\\.rej$"
- id: en-po-files
name: en.po files cannot exist
entry: found a en.po file
language: fail
files: '[a-zA-Z0-9_]*/i18n/en\.po$'
- repo: https://github.com/oca/maintainer-tools
rev: 7d8a9f9ad73db0976fb03cbee43d953bc29b89e9
rev: ab1d7f6
hooks:
# update the NOT INSTALLABLE ADDONS section above
- id: oca-update-pre-commit-excluded-addons
......@@ -48,7 +55,7 @@ repos:
hooks:
- id: black
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v2.6.2
rev: v2.1.2
hooks:
- id: prettier
name: prettier (with plugin-xml)
......@@ -59,7 +66,7 @@ repos:
- --plugin=@prettier/plugin-xml
files: \.(css|htm|html|js|json|jsx|less|md|scss|toml|ts|xml|yaml|yml)$
- repo: https://github.com/pre-commit/mirrors-eslint
rev: v8.15.0
rev: v7.8.1
hooks:
- id: eslint
verbose: true
......@@ -67,7 +74,7 @@ repos:
- --color
- --fix
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.2.0
rev: v3.2.0
hooks:
- id: trailing-whitespace
# exclude autogenerated files
......@@ -89,37 +96,33 @@ repos:
- id: mixed-line-ending
args: ["--fix=lf"]
- repo: https://github.com/asottile/pyupgrade
rev: v2.32.1
rev: v2.7.2
hooks:
- id: pyupgrade
args: ["--keep-percent-format"]
- repo: https://github.com/PyCQA/isort
rev: 5.10.1
rev: 5.12.0
hooks:
- id: isort
name: isort except __init__.py
args:
- --settings=.
exclude: /__init__\.py$
- repo: https://gitlab.com/PyCQA/flake8
rev: 3.9.2
- repo: https://github.com/PyCQA/flake8
rev: 3.8.3
hooks:
- id: flake8
name: flake8
additional_dependencies: ["flake8-bugbear==20.1.4"]
- repo: https://github.com/PyCQA/pylint
rev: v2.11.1
- repo: https://github.com/OCA/pylint-odoo
rev: 7.0.2
hooks:
- id: pylint
- id: pylint_odoo
name: pylint with optional checks
args:
- --rcfile=.pylintrc
- --exit-zero
verbose: true
additional_dependencies: &pylint_deps
- pylint-odoo==5.0.5
- id: pylint
name: pylint with mandatory checks
- id: pylint_odoo
args:
- --rcfile=.pylintrc-mandatory
additional_dependencies: *pylint_deps
......@@ -76,30 +76,12 @@ class ScopInstance(models.Model):
- datas_stats_ur : list of dict per ur
- datas_stats_global : dict of stats
"""
partners = self._get_partners()
# We use LM instead of res_partner to get more info ...
# ... fields of res_partner are on LM (delegate = true)
lm_ids = list()
# TODO: remove LM
for partner in partners:
lm_partner = partner.get_lm_adhesion()
lm_ids.append(lm_partner.id)
partner_ids = self._get_partners()
partners_lm = self.env["scop.liste.ministere"].browse(lm_ids)
ur_global = partners_lm.read_group(
domain=[("id", "in", partners_lm.ids)],
fields=["ur_id"],
groupby=["ur_id", "eff_tt", "eff_sal_assoc"],
orderby="ur_id",
lazy=True,
)
datas_stats_global = {
"ur_global": ur_global,
"partners": partners_lm,
return {
"ur_ids": partner_ids.mapped("ur_id").sorted("id"),
"partner_ids": partner_ids,
}
return datas_stats_global
def _get_partners(self):
"""
......@@ -279,9 +261,7 @@ class ScopInstance(models.Model):
],
)
if membership_period:
membership_period.update(
{"start": r.statistic_membership_date}
)
membership_period.update({"start": r.statistic_membership_date})
# log success
validated_partners.append(partner.id)
r.is_success = True
......@@ -348,6 +328,4 @@ class ScopInstance(models.Model):
membership_period_ids = partner.partner_id.membership_period_ids.filtered(
lambda p: p.start == self.date.date() and not p.end
)
membership_period_ids.update(
{"start": self.date_membership}
)
membership_period_ids.update({"start": self.date_membership})
......@@ -89,7 +89,9 @@ class ScopInstancePartner(models.Model):
lambda s: s.type_entry == "membership"
).sorted(key="effective_date", reverse=True)
staff_number = staff_line[0].staff_count if staff_line else 0
r.amount_adhesion = r.partner_id.get_theorical_amount_adhesion(staff_number)
r.amount_adhesion = r.partner_id.get_theorical_amount_adhesion(
staff_number
)
else:
r.amount_adhesion = 0
......
......@@ -8,8 +8,8 @@
<t t-call="web.external_layout">
<t t-set="o" t-value="o.with_context(lang='fr')" />
<t t-set="datas" t-value="o.get_report_datas()" />
<t t-set="partners" t-value="datas.get('partners')" />
<t t-set="ur_ids" t-value="partners.mapped('ur_id').sorted('id')" />
<t t-set="partners" t-value="datas.get('partner_ids')" />
<t t-set="ur_ids" t-value="datas.get('ur_ids')" />
<div class="page">
<div class="instance-layout">
......@@ -34,6 +34,9 @@
<h3 class="mb32">
Global par Union Régionale
</h3>
<t t-esc="datas" />
<t t-esc="ur_ids" />
<t t-esc="partners" />
<div
class="row"
style="font-weight: 700; font-size: 16px;"
......@@ -44,6 +47,8 @@
<div class="col-2 text-center">Associés</div>
</div>
<hr />
<t t-set="total_staff_count" t-value="0" />
<t t-set="total_shareholder_count" t-value="0" />
<t t-foreach="ur_ids" t-as="ur">
<div style="page-break-inside: avoid;">
<div
......@@ -56,12 +61,30 @@
<div class="col-3 text-center"><t
t-esc="len(partners.filtered(lambda p: p.ur_id.id == ur.id))"
/></div>
<div class="col-3 text-center"><t
t-esc="sum(partners.filtered(lambda p: p.ur_id.id == ur.id).mapped('eff_tt'))"
/></div>
<div class="col-2 text-center"><t
t-esc="sum(partners.filtered(lambda p: p.ur_id.id == ur.id).mapped('eff_sal_assoc'))"
/></div>
<div class="col-3 text-center">
<t
t-set="total_staff_ur"
t-value="sum(partners.filtered(lambda p: p.ur_id.id == ur.id).mapped(lambda p: p.get_last_membership_staff().staff_count if p.get_last_membership_staff() else 0))"
/>
<t t-esc="total_staff_ur" />
<t
t-set="total_staff_count + total_staff_ur"
t-value="total_staff_ur"
/>
</div>
<div class="col-2 text-center">
<t
t-set="total_staff_shareholder_ur"
t-value="sum(partners.filtered(lambda p: p.ur_id.id == ur.id).mapped(lambda p: p.get_last_membership_staff().staff_shareholder_count if p.get_last_membership_staff() else 0))"
/>
<t
t-esc="total_staff_shareholder_ur"
/>
<t
t-set="total_staff_shareholder_count + total_staff_ur"
t-value="total_staff_ur"
/>
</div>
</div>
<t
t-set="type_coop"
......@@ -76,10 +99,10 @@
t-esc="len(partners.filtered(lambda p: p.ur_id.id == ur.id and p.cooperative_form_id.id == type_id.id))"
/></div>
<div class="col-3 text-center"><t
t-esc="sum(partners.filtered(lambda p: p.ur_id.id == ur.id and p.cooperative_form_id.id == type_id.id).mapped('eff_tt'))"
t-esc="sum(partners.filtered(lambda p: p.ur_id.id == ur.id and p.cooperative_form_id.id == type_id.id).mapped(lambda p: p.get_last_membership_staff().staff_count if p.get_last_membership_staff() else 0))"
/></div>
<div class="col-2 text-center"><t
t-esc="sum(partners.filtered(lambda p: p.ur_id.id == ur.id and p.cooperative_form_id.id == type_id.id).mapped('eff_sal_assoc'))"
t-esc="sum(partners.filtered(lambda p: p.ur_id.id == ur.id and p.cooperative_form_id.id == type_id.id).mapped(lambda p: p.get_last_membership_staff().staff_shareholder_count if p.get_last_membership_staff() else 0))"
/></div>
</div>
</t>
......@@ -95,10 +118,10 @@
t-esc="len(partners)"
/></div>
<div class="col-3 text-center"><t
t-esc="sum(partners.mapped('eff_tt'))"
t-esc="total_staff_count"
/></div>
<div class="col-2 text-center"><t
t-esc="sum(partners.mapped('eff_sal_assoc'))"
t-esc="total_staff_shareholder_count"
/></div>
</div>
</div>
......@@ -157,16 +180,28 @@
</tr>
</thead>
<tbody>
<t
t-set="staff_count"
t-value="0"
/>
<t
t-set="staff_shareholder_count"
t-value="0"
/>
<t
t-foreach="partner_ids"
t-as="partner"
>
<t
t-set="staff_id"
t-value="partner.get_last_membership_staff()"
/>
<tr>
<td><t
t-esc="partner.cooperative_form_id.name"
/></td>
<td><t
t-esc="partner.partner_id.name"
t-esc="partner.name"
/></td>
<td><t
t-esc="partner.zip"
......@@ -175,28 +210,38 @@
t-esc="partner.city"
/></td>
<td><t
t-esc="partner.eff_tt"
/></td>
t-esc="staff_id.staff_count if staff_id else 0"
/>
<t
t-set="staff_count"
t-value="staff_shareholder_count + (staff_id.staff_count if staff_id else 0)"
/>
</td>
<td><t
t-esc="partner.eff_sal_assoc"
/></td>
t-esc="staff_id.staff_shareholder_count if staff_id else 0"
/>
<t
t-set="staff_shareholder_count"
t-value="staff_shareholder_count + (staff_id.staff_shareholder_count if staff_id else 0)"
/>
</td>
<td><t
t-esc="partner.cap_tt"
t-esc="partner.capital"
t-options="{'widget': 'float', 'precision': 0}"
/></td>
<td><t
t-esc="partner.scop_liasse_fiscale_id.revenue_cg"
t-esc="partner.liasse_membership_id.revenue_cg"
t-options="{'widget': 'float', 'precision': 0}"
/></td>
<td><t
t-esc="partner.scop_liasse_fiscale_id.av_cg"
t-esc="partner.liasse_membership_id.av_cg"
t-options="{'widget': 'float', 'precision': 0}"
/></td>
<td><t
t-esc="partner.creation_origin_id"
t-esc="partner.creation_origin_id.name"
/></td>
<td><t
t-esc="partner.code_naf"
t-esc="partner.naf_id.name"
/></td>
<td><t
t-esc="partner.social_object"
......@@ -219,10 +264,10 @@
t-esc="len(partner_ids)"
/> coop(s)</td>
<td><t
t-esc="sum(list(partner_ids.mapped('eff_tt')))"
t-esc="staff_count"
/></td>
<td><t
t-esc="sum(list(partner_ids.mapped('eff_sal_assoc')))"
t-esc="staff_shareholder_count"
/></td>
<td colspan="8" />
</tr>
......
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