diff --git a/web_responsive/README.rst b/web_responsive/README.rst index 6eae1ac6..ab87b38e 100644 --- a/web_responsive/README.rst +++ b/web_responsive/README.rst @@ -156,6 +156,7 @@ Contributors * Dennis Sluijk * Sergio Teruel * Alexandre Díaz +* Mathias Markl Maintainers ~~~~~~~~~~~ diff --git a/web_responsive/__manifest__.py b/web_responsive/__manifest__.py index f190bd60..73722659 100644 --- a/web_responsive/__manifest__.py +++ b/web_responsive/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Web Responsive", "summary": "Responsive web client, community-supported", - "version": "12.0.1.1.1", + "version": "12.0.1.1.2", "category": "Website", "website": "https://github.com/OCA/web", "author": "LasLabs, Tecnativa, Alexandre Díaz, " diff --git a/web_responsive/readme/CONTRIBUTORS.rst b/web_responsive/readme/CONTRIBUTORS.rst index f7ba6bf5..d46ef948 100644 --- a/web_responsive/readme/CONTRIBUTORS.rst +++ b/web_responsive/readme/CONTRIBUTORS.rst @@ -3,3 +3,4 @@ * Dennis Sluijk * Sergio Teruel * Alexandre Díaz +* Mathias Markl diff --git a/web_responsive/static/description/index.html b/web_responsive/static/description/index.html index 979f020c..62d89182 100644 --- a/web_responsive/static/description/index.html +++ b/web_responsive/static/description/index.html @@ -492,6 +492,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
  • Dennis Sluijk <d.sluijk@onestein.nl>
  • Sergio Teruel <sergio.teruel@tecnativa.com>
  • Alexandre Díaz <dev@redneboa.es>
  • +
  • Mathias Markl <mathias.markl@mukit.at>
  • diff --git a/web_responsive/static/src/js/web_responsive.js b/web_responsive/static/src/js/web_responsive.js index f128f2c5..1851de9d 100644 --- a/web_responsive/static/src/js/web_responsive.js +++ b/web_responsive/static/src/js/web_responsive.js @@ -7,6 +7,7 @@ odoo.define('web_responsive', function (require) { var ActionManager = require('web.ActionManager'); var AbstractWebClient = require("web.AbstractWebClient"); var AppsMenu = require("web.AppsMenu"); + var BasicController = require('web.BasicController'); var config = require("web.config"); var core = require("web.core"); var FormRenderer = require('web.FormRenderer'); @@ -112,6 +113,16 @@ odoo.define('web_responsive', function (require) { return this._super.apply(this, arguments); }, + /** + * Prevent the menu from being opened twice + * + * @override + */ + _onAppsMenuItemClicked: function (ev) { + this._super.apply(this, arguments); + ev.preventDefault(); + }, + /** * Get all info for a given menu. * @@ -276,6 +287,22 @@ odoo.define('web_responsive', function (require) { }, }); + BasicController.include({ + + /** + * Close the AppDrawer if the data set is dirty and a discard dialog is opened + * + * @override + */ + canBeDiscarded: function (recordID) { + if (this.model.isDirty(recordID || this.handle)) { + $('.o_menu_apps .dropdown:has(.dropdown-menu.show) > a').dropdown('toggle'); + $('.o_menu_sections li.show .dropdown-toggle').dropdown('toggle'); + } + return this._super.apply(this, arguments); + }, + }); + Menu.include({ events: _.extend({ // Clicking a hamburger menu item should close the hamburger