diff --git a/__manifest__.py b/__manifest__.py index f8fae2f9276e9e0391428840036a39b54cd32ad0..0195889d5d8242c118782f394aedd3b872ec2f34 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -28,6 +28,10 @@ "views/menus.xml", ], "assets": { + "web.assets_backend": [ + "lefilament_release/static/src/js/list_multi_release_button.esm.js", + "lefilament_release/static/src/xml/list_multi_release_button.xml", + ], "web.assets_frontend": ["lefilament_release/static/src/css/portal.css"], }, "installable": True, diff --git a/static/src/js/list_multi_release_button.esm.js b/static/src/js/list_multi_release_button.esm.js new file mode 100644 index 0000000000000000000000000000000000000000..2f4057dd9da8b59367d198dd3006d5c825eeb6aa --- /dev/null +++ b/static/src/js/list_multi_release_button.esm.js @@ -0,0 +1,26 @@ +import {ListController} from "@web/views/list/list_controller"; +import {listView} from "@web/views/list/list_view"; +import {registry} from "@web/core/registry"; + +export class MultiReleaseListController extends ListController { + setup() { + super.setup(); + } + + onMultiCustomerClick() { + this.actionService.doAction({ + type: "ir.actions.act_window", + res_model: "multi.partner.release.wizard", + name: "Saisir pour plusieurs clients", + views: [[false, "form"]], + target: "new", + res_id: false, + }); + } +} + +registry.category("views").add("list_multi_release_button", { + ...listView, + Controller: MultiReleaseListController, + buttonTemplate: "button_multi_release.buttons", +}); diff --git a/static/src/xml/list_multi_release_button.xml b/static/src/xml/list_multi_release_button.xml new file mode 100644 index 0000000000000000000000000000000000000000..b8761d2a26f8305005211ca34e16a89499d0904d --- /dev/null +++ b/static/src/xml/list_multi_release_button.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<odoo> + <t + t-name="button_multi_release.buttons" + t-inherit="web.ListView.Buttons" + t-inherit-mode="primary" + > + <xpath expr="//div[hasclass('o_list_buttons')]" position="after"> + <button + type="button" + class="btn btn-outline-info" + style="width: 200px;" + tabindex="3" + t-on-click="onMultiCustomerClick" + > + Saisir pour plusieurs clients + </button> + </xpath> + </t> +</odoo> diff --git a/templates/header_template.xml b/templates/header_template.xml deleted file mode 100644 index a60722d0bae5176ad83621ec799c4dcf478739c7..0000000000000000000000000000000000000000 --- a/templates/header_template.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" ?> -<odoo> - <template id="header_template" name="lefilament_release.header_template"> - <div id="release" style="background-color: #fff; padding: 16px 0"> - <div class="container"> - <div class="row"> - <div class="col-12 text-center"> - <div - class="btn-group" - role="group" - aria-label="Releases" - style="padding-top: 5px; padding-bottom: 5px;" - > - <a - type="action" - name="%(lefilament_release.multi_partner_release_wizard_act_window)d" - class="btn btn-outline-info" - style="width: 250px;" - tabindex="4" - > - Saisir pour plusieurs clients - </a> - </div> - </div> - </div> - </div> - </div> - </template> -</odoo> diff --git a/views/res_partner_release.xml b/views/res_partner_release.xml index 65999aa05610eb36051bb2cff9dd14a7a3a1b998..69189bc5048278a48a716e65fb31b3966ba56abb 100644 --- a/views/res_partner_release.xml +++ b/views/res_partner_release.xml @@ -66,10 +66,10 @@ options="{'string': 'Copier le lien'}" /> </group> - <hr colspan="12" /> + <hr colspan="2" /> <label for="description" class="font-weight-bold" /> <field name="description" /> - <hr colspan="12" /> + <hr colspan="2" /> <label for="release_module_ids" class="font-weight-bold" /> <field name="release_module_ids"> <list editable="top"> @@ -93,8 +93,7 @@ <field name="name">res.partner.release.tree</field> <field name="model">res.partner.release</field> <field name="arch" type="xml"> - <!-- TODO: make JS action to create releases for multiple customers --> - <list> + <list js_class="list_multi_release_button"> <field name="release_date" /> <field name="user_id" /> <field name="partner_id" /> diff --git a/wizard/multi_partner_release_wizard.xml b/wizard/multi_partner_release_wizard.xml index 8eff0d33539224f0a47dc6bc4c13d3a92d14d9b8..5d223c86645fd48d7a37d6d88874c037355e5b2d 100644 --- a/wizard/multi_partner_release_wizard.xml +++ b/wizard/multi_partner_release_wizard.xml @@ -24,10 +24,10 @@ /> <field name="create_date" string="Créé le" /> </group> - <hr /> + <hr colspan="2" /> <label for="description" class="font-weight-bold" /> <field name="description" /> - <hr /> + <hr colspan="2" /> <label for="release_module_ids" class="font-weight-bold" /> <field name="release_module_ids"> <list editable="top"> @@ -52,13 +52,4 @@ </form> </field> </record> - - <!-- Action Window --> - <record id="multi_partner_release_wizard_act_window" model="ir.actions.act_window"> - <field name="name">Releases Client</field> - <field name="type">ir.actions.act_window</field> - <field name="res_model">multi.partner.release.wizard</field> - <field name="view_mode">form</field> - <field name="target">new</field> - </record> </odoo>