diff --git a/models/acc_operation.py b/models/acc_operation.py index a8ba3607ea79cf1dcae41f3e95510b7340df9646..cc376980449d36941a6aa4f7d6714c8aa6696475 100644 --- a/models/acc_operation.py +++ b/models/acc_operation.py @@ -136,7 +136,8 @@ class AccOperation(models.Model): _("Pas de données brute pour le mois précedent présente") ) - # contrôle, l'ensemble des affectations ne doit pas dépasser la production à affecter + # contrôle, l'ensemble des affectations ne + # doit pas dépasser la production à affecter for slot in data: item = data.get(slot) affect = item.get("affect") @@ -147,7 +148,8 @@ class AccOperation(models.Model): if abs(affect_sum + remaining_prod - total_production) > 1e-3: raise ValidationError( _( - "Une erreur s'est produite lors de l'affectation de l'auto-consommation" + "Une erreur s'est produite lors de " + "l'affectation de l'auto-consommation" ) ) @@ -158,14 +160,18 @@ class AccOperation(models.Model): if affect: total_production = item.get("prod_initiale") - # calcul du pourcentage attribué à chaque compteur par rapport à la production totale + # calcul du pourcentage attribué à chaque + # compteur par rapport à la production totale weights = {} for counter_id in affect: affecte_counter = affect.get(counter_id) if total_production == 0: weight = 0.0 else: - weight = math.floor((affecte_counter * 100 / total_production) * 1e+6) / 1e+6 + weight = ( + math.floor((affecte_counter * 100 / total_production) * 1e6) + / 1e6 + ) weights[counter_id] = weight slot_line = [] @@ -381,9 +387,11 @@ class AccOperation(models.Model): """ counter_period = {} res = [ - datetime.strptime(d, "%d-%m-%y") + d.date() for d in list( - OrderedDict.fromkeys([h.strftime("%d-%m-%y") for h in date_list]) + OrderedDict.fromkeys( + [utc_to_local(h, "Europe/Paris") for h in date_list] + ) ) ] for date_item in res: diff --git a/models/acc_priority_group.py b/models/acc_priority_group.py index f5ca34d5c963191c7d850293f47a1bd1343b4c5a..32574d1e8652265df9cab76eb9e43d4f1114fa1e 100644 --- a/models/acc_priority_group.py +++ b/models/acc_priority_group.py @@ -189,7 +189,8 @@ class AccPriorityGroup(models.Model): total_affecte += part_a_affecter data[slot]["prod_totale"] = remaining_prod - total_affecte - # possiblement on peut avoir affecté plus que la production total_affecte=496.00000000000006 + # possiblement on peut avoir affecté plus que la p + # roduction total_affecte=496.00000000000006 return data diff --git a/models/acc_priority_group_counter.py b/models/acc_priority_group_counter.py index 426efd3b5e7687633443d0d5cfea0b630109979b..61b9cc3c9d24d8395ae2b1e0974174a7b151c3bc 100644 --- a/models/acc_priority_group_counter.py +++ b/models/acc_priority_group_counter.py @@ -39,9 +39,16 @@ class AccPriorityGroupCounter(models.Model): string="Counter domain", compute="_compute_acc_counter_id_domain" ) - acc_counter_share = fields.Float(string='Quote-part', help="Part de la production affectée à ce PRM, au prorata de l'ensemble des parts affectées aux autres PRMs") - group_type_algo = fields.Selection(related="acc_priority_group_id.type_algo", readonly=True) - acc_counter_percentage = fields.Float(compute="_compute_acc_counter_percentage", store=False) + acc_counter_share = fields.Float( + string="Quote-part", + help="Part de la production affectée à ce PRM, au prorata de l'ensemble des parts affectées aux autres PRMs", + ) + group_type_algo = fields.Selection( + related="acc_priority_group_id.type_algo", readonly=True + ) + acc_counter_percentage = fields.Float( + compute="_compute_acc_counter_percentage", store=False + ) # ------------------------------------------------------ # SQL Constraints @@ -55,11 +62,15 @@ class AccPriorityGroupCounter(models.Model): # Computed fields / Search Fields # ------------------------------------------------------ - @api.depends('acc_priority_group_id.acc_priority_group_counter_ids', "acc_counter_share") + @api.depends( + "acc_priority_group_id.acc_priority_group_counter_ids", "acc_counter_share" + ) def _compute_acc_counter_percentage(self): for record in self: total_share = record.acc_priority_group_id.total_share - record.acc_counter_percentage = record.acc_counter_share / total_share if total_share else 0 + record.acc_counter_percentage = ( + record.acc_counter_share / total_share if total_share else 0 + ) @api.depends("acc_counter_id", "acc_priority_group_id") def _compute_acc_counter_id_domain(self): @@ -121,14 +132,16 @@ class AccPriorityGroupCounter(models.Model): return group_ids def action_open_counter_share_form(self): - print('action_open_counter_share_form') + print("action_open_counter_share_form") return { - 'type': 'ir.actions.act_window', - 'name': 'Modifier la quote-part du point de soutirage', - 'res_model': 'acc.priority.group.counter', - 'view_mode': 'form', - 'target': 'new', - 'res_id': self.id, - 'view_id': self.env.ref('oacc_repartition_keys.acc_operation_priority_group_counter_share_form').id, + "type": "ir.actions.act_window", + "name": "Modifier la quote-part du point de soutirage", + "res_model": "acc.priority.group.counter", + "view_mode": "form", + "target": "new", + "res_id": self.id, + "view_id": self.env.ref( + "oacc_repartition_keys.acc_operation_priority_group_counter_share_form" + ).id, #'context': {'default_field_name': 'Auto-filled Text'} } diff --git a/static/src/css/custom.css b/static/src/css/custom.css index 358531928d37c53294b68a2e80fa675263ee5510..996e8d210571abd398b49f3561d815df602f03a9 100644 --- a/static/src/css/custom.css +++ b/static/src/css/custom.css @@ -1,3 +1,3 @@ .oacc_quick_create.o_form_editable .o_cell .o_form_label { - margin-bottom: 0 !important; + margin-bottom: 0 !important; } diff --git a/views/acc_priority_group_counter_views.xml b/views/acc_priority_group_counter_views.xml index 3f6eb4e93e9ddfd19a5d119fe02703badfc04fa3..24da09c11bb9c88695b551893bd0ffd46d0cb7c7 100644 --- a/views/acc_priority_group_counter_views.xml +++ b/views/acc_priority_group_counter_views.xml @@ -8,7 +8,7 @@ <form string="My Model"> <div> <group> - <field name="acc_counter_share" style="width: 15em;"/> + <field name="acc_counter_share" style="width: 15em;" /> </group> </div> </form> @@ -34,14 +34,14 @@ <field name="acc_counter_id_domain" invisible="1" /> <group> <field - name="acc_counter_id" - options="{'no_create_edit': True, 'no_create': True}" - domain="acc_counter_id_domain" - /> + name="acc_counter_id" + options="{'no_create_edit': True, 'no_create': True}" + domain="acc_counter_id_domain" + /> </group> - <field name="group_type_algo" invisible="1"/> + <field name="group_type_algo" invisible="1" /> <group attrs="{'invisible': [('group_type_algo', '!=', 'quotepart')]}"> - <field name="acc_counter_share" style="width: 15em;"/> + <field name="acc_counter_share" style="width: 15em;" /> </group> </form> </field> @@ -87,16 +87,27 @@ <div class="o_kanban_record_body"> <div><field name="counter_owner" /></div> <div><field name="counter_street" /></div> - <field name="group_type_algo" invisible="1"/> - <group attrs="{'invisible': [('group_type_algo', '!=', 'quotepart')]}"> + <field name="group_type_algo" invisible="1" /> + <group + attrs="{'invisible': [('group_type_algo', '!=', 'quotepart')]}" + > <div class="d-flex justify-content-between"> <div> <div> - Quote-part: <field name="acc_counter_share"/> - (<field name="acc_counter_percentage" widget="percentage"/>) + Quote-part: <field + name="acc_counter_share" + /> + (<field + name="acc_counter_percentage" + widget="percentage" + />) </div> </div> - <div class="align-self-end"><button name="action_open_counter_share_form" type="object" class="btn btn-sm btn-primary text-end">Modifier</button></div> + <div class="align-self-end"><button + name="action_open_counter_share_form" + type="object" + class="btn btn-sm btn-primary text-end" + >Modifier</button></div> </div> </group> </div> diff --git a/wizard/acc_repartition_keys_compute_wizard_views.xml b/wizard/acc_repartition_keys_compute_wizard_views.xml index 4f372357f5147e23dc7e01f893e5994cc2c6ea04..ec45d9ecd0119379e35b6d818ba379ed493f6d11 100644 --- a/wizard/acc_repartition_keys_compute_wizard_views.xml +++ b/wizard/acc_repartition_keys_compute_wizard_views.xml @@ -6,31 +6,31 @@ <field name="arch" type="xml"> <form string="Calcul des clés de repartition"> <button - class="btn btn-primary" - name="compute_keys" - type="object" - string="Lancer le calcul" - /> + class="btn btn-primary" + name="compute_keys" + type="object" + string="Lancer le calcul" + /> <footer> <button - class="btn btn-primary" - name="get_csv" - type="object" - string="Génerer CSV" - /> + class="btn btn-primary" + name="get_csv" + type="object" + string="Génerer CSV" + /> <button - class="btn btn-primary" - name="send_keys" - type="object" - string="Envoyer les clés" - /> + class="btn btn-primary" + name="send_keys" + type="object" + string="Envoyer les clés" + /> <button - class="btn btn-secondary text-end" - name="ignore" - type="object" - string="Fermer" - /> + class="btn btn-secondary text-end" + name="ignore" + type="object" + string="Fermer" + /> </footer> </form> </field>