diff --git a/models/sale_order.py b/models/sale_order.py index fb877898a77c5fb539ef9b6225dd7ec24955c5bd..7a49fc23af864afd8b40550d71b73a06c7edeb64 100644 --- a/models/sale_order.py +++ b/models/sale_order.py @@ -12,6 +12,9 @@ class SaleOrder(models.Model): string="Point retrait") day_retrait = fields.Date("Jour du retrait") hour_retrait = fields.Float("Heure du retrait") + carrier_point_retrait = fields.Boolean( + string='Point retrait', + related='carrier_id.point_retrait') def _check_retrait(self, force_retrait_id=None): self.ensure_one() @@ -31,8 +34,12 @@ class SaleOrder(models.Model): hour = values[2].split(":") hour_retrait = float('%s.%s' % (hour[0], hour[1])) + + PointRetrait = self.env['vracoop.point.retrait'] + retrait = PointRetrait.browse(values[3]) self.write({ 'hour_retrait': hour_retrait, - 'day_retrait': day_retrait}) + 'day_retrait': day_retrait, + 'vracoop_point_retrait_id': retrait.id}) return True \ No newline at end of file diff --git a/views/sale_order.xml b/views/sale_order.xml index cee0c578d0cb7eeee96b5d5ec14992ab485f51de..7d7123046bd0105569874b1284dc422830ee73fb 100644 --- a/views/sale_order.xml +++ b/views/sale_order.xml @@ -9,9 +9,10 @@ <field name="arch" type="xml"> <data> <xpath expr="//div[@name='carrier_selection']" position="after"> - <field name="vracoop_point_retrait_id"/> - <field name="day_retrait"/> - <field name="hour_retrait" widget="float_time"/> + <field name="carrier_point_retrait" invisible="1"/> + <field name="vracoop_point_retrait_id" attrs="{'invisible': [('carrier_point_retrait', '=', False)]}"/> + <field name="day_retrait" attrs="{'invisible': [('carrier_point_retrait', '=', False)]}" /> + <field name="hour_retrait" widget="float_time" attrs="{'invisible': [('carrier_point_retrait', '=', False)]}"/> </xpath> </data> </field> diff --git a/views/vracoop_templates.xml b/views/vracoop_templates.xml index a159e0b45f0d82ce7acae72e89490c1e3cba499c..0d1f74a89f64a2e62e6d334793e2ce4befdab933 100644 --- a/views/vracoop_templates.xml +++ b/views/vracoop_templates.xml @@ -17,7 +17,7 @@ <t t-esc="point_retrait.zip"/></span><br/><br/> - <div class="collapse" data-parent="#retrait_method" t-att-id="'slots_point_retrait_%i' % point_retrait.id"> + <div t-att-class="'collapse show' if point_retrait_nb == 1 else 'collapse'" data-parent="#retrait_method" t-att-id="'slots_point_retrait_%i' % point_retrait.id"> <h5>Sélectionner le jour et le créneau pour votre retrait</h5> <t t-set="list_slots" t-value="point_retrait.slot_calculate()"/> @@ -74,7 +74,7 @@ <div class="container tab-pane active" t-attf-id='#{slot[1].strftime("%A")}#{point_retrait.id}'> <t t-foreach="slot[3]" t-as="slot_by_day"> <label class="label_radio_button" role="radio"> - <input name="hour_select" type="radio" class="radio_hide" t-attf-value="#{slot[1].day}-#{slot[1].month}-#{slot_by_day[0]}" t-attf-id="#{slot_by_day_index}"/> + <input name="hour_select" type="radio" class="radio_hide" t-attf-value="#{slot[1].day}-#{slot[1].month}-#{slot_by_day[0]}-#{point_retrait.id}" t-attf-id="#{slot_by_day_index}"/> <span class="btn btn-outline-primary span_radio_button"> <t t-esc="slot_by_day[0]"/> : <t t-esc="slot_by_day[1]"/> @@ -87,7 +87,7 @@ <div class="container tab-pane fade" t-attf-id='#{slot[1].strftime("%A")}#{point_retrait.id}'> <t t-foreach="slot[3]" t-as="slot_by_day"> <label class=" label_radio_button" role="radio"> - <input t-attf-id="#{slot_by_day_index}" name="hour_select" type="radio" class="radio_hide" t-attf-value="#{slot[1].day}-#{slot[1].month}-#{slot_by_day[0]}"/> + <input t-attf-id="#{slot_by_day_index}" name="hour_select" type="radio" class="radio_hide" t-attf-value="#{slot[1].day}-#{slot[1].month}-#{slot_by_day[0]}-#{point_retrait.id}"/> <span class="btn btn-outline-primary span_radio_button"> <t t-esc="slot_by_day[0]"/> : <t t-esc="slot_by_day[1]"/>