From bf088edb5202abbd82ef90e5fa208b132305dd96 Mon Sep 17 00:00:00 2001 From: eLBati Date: Fri, 5 Jun 2020 08:12:22 +0200 Subject: [PATCH 1/5] Rename web_pwa -> web_pwa_oca --- web_pwa_oca/__init__.py | 1 + web_pwa_oca/__manifest__.py | 27 +++++ web_pwa_oca/controllers/__init__.py | 1 + web_pwa_oca/controllers/main.py | 75 +++++++++++++ web_pwa_oca/readme/CONFIGURE.rst | 10 ++ web_pwa_oca/readme/CONTRIBUTORS.rst | 3 + web_pwa_oca/readme/DESCRIPTION.rst | 5 + web_pwa_oca/readme/INSTALL.rst | 20 ++++ web_pwa_oca/readme/ROADMAP.rst | 5 + web_pwa_oca/static/description/icon.png | Bin 0 -> 15864 bytes web_pwa_oca/static/description/pwa.png | Bin 0 -> 31569 bytes web_pwa_oca/static/img/icons/icon-128x128.png | Bin 0 -> 4047 bytes web_pwa_oca/static/img/icons/icon-144x144.png | Bin 0 -> 4535 bytes web_pwa_oca/static/img/icons/icon-152x152.png | Bin 0 -> 4333 bytes web_pwa_oca/static/img/icons/icon-192x192.png | Bin 0 -> 5604 bytes web_pwa_oca/static/img/icons/icon-256x256.png | Bin 0 -> 6924 bytes web_pwa_oca/static/img/icons/icon-512x512.png | Bin 0 -> 16833 bytes web_pwa_oca/static/src/js/pwa_install.js | 45 ++++++++ web_pwa_oca/static/src/xml/pwa_install.xml | 14 +++ web_pwa_oca/views/webclient_templates.xml | 105 ++++++++++++++++++ 20 files changed, 311 insertions(+) create mode 100644 web_pwa_oca/__init__.py create mode 100644 web_pwa_oca/__manifest__.py create mode 100644 web_pwa_oca/controllers/__init__.py create mode 100644 web_pwa_oca/controllers/main.py create mode 100644 web_pwa_oca/readme/CONFIGURE.rst create mode 100644 web_pwa_oca/readme/CONTRIBUTORS.rst create mode 100644 web_pwa_oca/readme/DESCRIPTION.rst create mode 100644 web_pwa_oca/readme/INSTALL.rst create mode 100644 web_pwa_oca/readme/ROADMAP.rst create mode 100644 web_pwa_oca/static/description/icon.png create mode 100644 web_pwa_oca/static/description/pwa.png create mode 100644 web_pwa_oca/static/img/icons/icon-128x128.png create mode 100644 web_pwa_oca/static/img/icons/icon-144x144.png create mode 100644 web_pwa_oca/static/img/icons/icon-152x152.png create mode 100644 web_pwa_oca/static/img/icons/icon-192x192.png create mode 100644 web_pwa_oca/static/img/icons/icon-256x256.png create mode 100644 web_pwa_oca/static/img/icons/icon-512x512.png create mode 100644 web_pwa_oca/static/src/js/pwa_install.js create mode 100644 web_pwa_oca/static/src/xml/pwa_install.xml create mode 100644 web_pwa_oca/views/webclient_templates.xml diff --git a/web_pwa_oca/__init__.py b/web_pwa_oca/__init__.py new file mode 100644 index 000000000000..e046e49fbe22 --- /dev/null +++ b/web_pwa_oca/__init__.py @@ -0,0 +1 @@ +from . import controllers diff --git a/web_pwa_oca/__manifest__.py b/web_pwa_oca/__manifest__.py new file mode 100644 index 000000000000..d23a0c37345c --- /dev/null +++ b/web_pwa_oca/__manifest__.py @@ -0,0 +1,27 @@ +# Copyright 2020 Lorenzo Battistini @ TAKOBI +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). + +{ + "name": "Progressive web application", + "summary": "Make Odoo a PWA", + "version": "12.0.1.0.0", + "development_status": "Beta", + "category": "Website", + "website": "https://github.com/OCA/web", + "author": "TAKOBI, Odoo Community Association (OCA)", + "maintainers": ["eLBati"], + "license": "LGPL-3", + "application": True, + "installable": True, + "depends": [ + 'web', + 'mail', + ], + "data": [ + "views/webclient_templates.xml", + ], + 'qweb': [ + 'static/src/xml/pwa_install.xml', + ], + 'images': ['static/description/pwa.png'], +} diff --git a/web_pwa_oca/controllers/__init__.py b/web_pwa_oca/controllers/__init__.py new file mode 100644 index 000000000000..12a7e529b674 --- /dev/null +++ b/web_pwa_oca/controllers/__init__.py @@ -0,0 +1 @@ +from . import main diff --git a/web_pwa_oca/controllers/main.py b/web_pwa_oca/controllers/main.py new file mode 100644 index 000000000000..3254b648b6d0 --- /dev/null +++ b/web_pwa_oca/controllers/main.py @@ -0,0 +1,75 @@ +from odoo.http import request, Controller, route + + +class PWA(Controller): + + def get_asset_urls(self, asset_xml_id): + qweb = request.env['ir.qweb'].sudo() + assets = qweb._get_asset_nodes(asset_xml_id, {}, True, True) + urls = [] + for asset in assets: + if asset[0] == 'link': + urls.append(asset[1]['href']) + if asset[0] == 'script': + urls.append(asset[1]['src']) + return urls + + @route('/service-worker.js', type='http', auth="public") + def service_worker(self): + qweb = request.env['ir.qweb'].sudo() + urls = [] + urls.extend(self.get_asset_urls("web.assets_common")) + urls.extend(self.get_asset_urls("web.assets_backend")) + version_list = [] + for url in urls: + version_list.append(url.split('/')[3]) + cache_version = '-'.join(version_list) + mimetype = 'text/javascript;charset=utf-8' + content = qweb.render('web_pwa_oca.service_worker', { + 'pwa_cache_name': cache_version, + 'pwa_files_to_cache': urls, + }) + return request.make_response(content, [('Content-Type', mimetype)]) + + @route('/web_pwa_oca/manifest.json', type='http', auth="public") + def manifest(self): + qweb = request.env['ir.qweb'].sudo() + config_param = request.env['ir.config_parameter'].sudo() + pwa_name = config_param.get_param("pwa.manifest.name", "Odoo PWA") + pwa_short_name = config_param.get_param("pwa.manifest.short_name", "Odoo PWA") + icon128x128 = config_param.get_param( + "pwa.manifest.icon128x128", + "/web_pwa_oca/static/img/icons/icon-128x128.png") + icon144x144 = config_param.get_param( + "pwa.manifest.icon144x144", + "/web_pwa_oca/static/img/icons/icon-144x144.png") + icon152x152 = config_param.get_param( + "pwa.manifest.icon152x152", + "/web_pwa_oca/static/img/icons/icon-152x152.png") + icon192x192 = config_param.get_param( + "pwa.manifest.icon192x192", + "/web_pwa_oca/static/img/icons/icon-192x192.png") + icon256x256 = config_param.get_param( + "pwa.manifest.icon256x256", + "/web_pwa_oca/static/img/icons/icon-256x256.png") + icon512x512 = config_param.get_param( + "pwa.manifest.icon512x512", + "/web_pwa_oca/static/img/icons/icon-512x512.png") + background_color = config_param.get_param( + "pwa.manifest.background_color", "#2E69B5") + theme_color = config_param.get_param( + "pwa.manifest.theme_color", "#2E69B5") + mimetype = 'application/json;charset=utf-8' + content = qweb.render('web_pwa_oca.manifest', { + 'pwa_name': pwa_name, + 'pwa_short_name': pwa_short_name, + 'icon128x128': icon128x128, + 'icon144x144': icon144x144, + 'icon152x152': icon152x152, + 'icon192x192': icon192x192, + 'icon256x256': icon256x256, + 'icon512x512': icon512x512, + 'background_color': background_color, + 'theme_color': theme_color, + }) + return request.make_response(content, [('Content-Type', mimetype)]) diff --git a/web_pwa_oca/readme/CONFIGURE.rst b/web_pwa_oca/readme/CONFIGURE.rst new file mode 100644 index 000000000000..9fd39a8405e8 --- /dev/null +++ b/web_pwa_oca/readme/CONFIGURE.rst @@ -0,0 +1,10 @@ +The following system parameters con be set to customize the appearance of the application + +* pwa.manifest.name (defaults to "Odoo PWA") +* pwa.manifest.short_name (defaults to "Odoo PWA") +* pwa.manifest.icon128x128 (defaults to "/web_pwa_oca/static/img/icons/icon-128x128.png") +* pwa.manifest.icon144x144 (defaults to "/web_pwa_oca/static/img/icons/icon-144x144.png") +* pwa.manifest.icon152x152 (defaults to "/web_pwa_oca/static/img/icons/icon-152x152.png") +* pwa.manifest.icon192x192 (defaults to "/web_pwa_oca/static/img/icons/icon-192x192.png") +* pwa.manifest.icon256x256 (defaults to "/web_pwa_oca/static/img/icons/icon-256x256.png") +* pwa.manifest.icon512x512 (defaults to "/web_pwa_oca/static/img/icons/icon-512x512.png") diff --git a/web_pwa_oca/readme/CONTRIBUTORS.rst b/web_pwa_oca/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000000..2b476d752064 --- /dev/null +++ b/web_pwa_oca/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* `TAKOBI `_: + + * Lorenzo Battistini diff --git a/web_pwa_oca/readme/DESCRIPTION.rst b/web_pwa_oca/readme/DESCRIPTION.rst new file mode 100644 index 000000000000..e2eb74425c35 --- /dev/null +++ b/web_pwa_oca/readme/DESCRIPTION.rst @@ -0,0 +1,5 @@ +Make Odoo an installable Progressive Web Application. + +Progressive Web Apps provide an installable, app-like experience on desktop and mobile that are built and delivered directly via the web. +They're web apps that are fast and reliable. And most importantly, they're web apps that work in any browser. +If you're building a web app today, you're already on the path towards building a Progressive Web App. diff --git a/web_pwa_oca/readme/INSTALL.rst b/web_pwa_oca/readme/INSTALL.rst new file mode 100644 index 000000000000..b73ab9f0ce2c --- /dev/null +++ b/web_pwa_oca/readme/INSTALL.rst @@ -0,0 +1,20 @@ +After having installed this module, browsing your odoo on mobile you will be able to install it as a PWA. + +It is strongly recommended to use this module with a responsive layout, like the one provided by web_responsive. + +This module is intended to be used by Odoo back-end users (employees). + +When a Progressive Web App is installed, it looks and behaves like all of the other installed apps. +It launches from the same place that other apps launch. It runs in an app without an address bar or other browser UI. +And like all other installed apps, it's a top level app in the task switcher. + +In Chrome, a Progressive Web App can either be installed through the three-dot context menu. + +This module also provides a "Install PWA" link in Odoo user menu. + +In case you previously installed `web_pwa`, run the following steps with `odoo shell`, after having installed `openupgradelib`: + + +>>> from openupgradelib import openupgrade +>>> openupgrade.update_module_names(env.cr, [('web_pwa', 'web_pwa_oca')], merge_modules=False) +>>> env.cr.commit() diff --git a/web_pwa_oca/readme/ROADMAP.rst b/web_pwa_oca/readme/ROADMAP.rst new file mode 100644 index 000000000000..9e763ae623e8 --- /dev/null +++ b/web_pwa_oca/readme/ROADMAP.rst @@ -0,0 +1,5 @@ +* Evaluate to extend ``FILES_TO_CACHE`` +* Evaluate to use a normal JS file for service worker and download data from a normal JSON controller +* Integrate `Notification API `_ +* Integrate `Web Share API `_ +* Create ``portal_pwa`` module, intended to be used by front-end users (customers, suppliers...) diff --git a/web_pwa_oca/static/description/icon.png b/web_pwa_oca/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2927ee1d7d2eb2065d65a74930676f66a69de968 GIT binary patch literal 15864 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 O0000@Is?Q;i00w0R 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 aR6O%@I7fBqS<`=iHNw!+p!TNglm7t{p0)M> literal 0 HcmV?d00001 diff --git a/web_pwa_oca/static/img/icons/icon-144x144.png b/web_pwa_oca/static/img/icons/icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..dd3fd020d3df61ddd1ddc00095dd5c0b54fdec72 GIT binary patch literal 4535 zcmb_g_d6Tj7f!6yE~QnQmRcpY+O_xAS~Y8rYGbd)s@iQSv0}B<2uefjC|VSuh>De( zB{rc%`TG11-{+ol&pGdN?+^F6?|skn++;HoU3waJ8UO%5udkdvoIxDlT5b8iZTL=I^d*eR`0`d#lu0T+bzOgoFg_4O{hN+wJgUl7g z-#sAcsssQuU%0yjxj*F%^$zml)zvpPdn)b@0sxpe^tB#Zh2ge~!n3WW zioUCzSj*4z$JO%FD6%alumuUSON&2GHpnd>Of&zE7f$$;HF)jSN%fC!0{Neke@#6} z%&`5YMgGKyYD8lc#lj$d=XQ&vB&q~OD?%gGNPTRvJIZqsBBnG?bPVmR4uHfILpF~} z!-<>N&c&1V?#11U9slbT5C5NLaGfIoQ%inKE(m1zYEg^S1m1!EMkh%*XlCY%#9%Mb zeCS0oX=oK%1kdcO6i5NS`GLN z>jVnC5gt*tcpp#!yf^#uk^u&y%M!o*;ldX9U@vGK{S3t2(ycb&cp{7+SM4iDAUC#F zPcng*?)^dRdw2I#eBURSf`=}GVl}8;=ICW?eta$b|7tx(P6y6Ib73^gAIG zU>{45Ei+}G7C_Udo>3JV2uKu67Bq=kMWb$>?x7wcyty zwh#CgyJnh0-yi?8&l+4IuzD@#)@CYj{gr759cb|()N}#ny2{Jl_NR=EFW#`4i7!Nn zeX8*j_YyO!0eocX!gfZXG)}g^`T^n74GmNW(uY+VE96;&TZtCNY^l;!!+!!=h^IN; z2x)!HEPHIADy;+KIX(F80du!KblPt=M)Ctic53B4XQ_TqGLnw+=q^AM%5(RiD)+_y z7lRc`#kd~thSTcu*K!YMfXc71smd7p1~-Jsei~k?RmgMplFUjp1{2IHVOJR z=!^X$bF?dA%v!|Kp&{dpH92ZC<3+$^p$TJ6RaGk|>Zgh2d)PPGh8s3ZtvektDSviZ zqj>%rC6W&5@ywXuT}~MwQuc$XS&C9^uPwbJs6$H?8O8f7z}ugzJiG0oaIgz2c}21B z;^iZ$JU>PkR!@MuomwrsAEn3pJN%V&KOoH(V)bQV4Qm|&w@iywp~Aj}%L+3hsUT;D zjKkjR+e#mYmUjG8TUD<&sh}w-kd>1!HbZ20oGer_n}NbDaGNP*wfOQbxU@Rv7^Lj zLC+WVA-o&o9Tu$7cDx#2%NcP2)DUk}v+0I=Q&a z4o*+U+BtJ|fSrOk8onmgj54zQaZrxF?vYMlD7mjjD z{jmh_d%DOQ4$5KRG1%bKwJ>-~jg+dH|JGg73MF-YuWIM|6=U)qE&=scEbFh*mlPgk zC(Z`SaboKZ9~HV1oFti>0&c!)ffBr)sY#`U0hBQ$RzcBXGI(SBTrN15cp#7gV%Hp| z!X2+C!U=GuyWCKn=_k9bJ7V}6SR;&)Y=OCV(jyw_YH1@5?_&J>0_|Rew(z?2;D5Oa z#k%4=J`e&?k792v4W2Uc<_%QJ9XBvA7!>(ls)5@k?3}WXI!HqUqUrr&d+>?n9BxuwB9eAv2x`7jMLmxvbNjtvZ$FfS#h&l>op{Wc{PglBwRBsJCGZ;>Z7-I?a z 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 fv>fO{2t#Z=P#XmmaP3jZvrDk%) zU-wa}($mbCz{*q0Ee-2gI<_4XQZIp%NWyFbgBnM!29I|#9A)!Qi*O+aeLEvWz1-`s zK4RK36!eT?M8T&&`ET;tY7GgAyvt$E%kcFtC(8$;e0>>GacIr8-Vp4y^tH8HZQL#~ zU%pS_{4abb0U*Pz6fPp(|NDiW$CgKGdMxlKQ>ItrXjF^=C?T8CwNdHvrIJkf z$gIw#hPyJ{ddV~AtnmzqoP6e^F!%*k!4wuO0Rb(uy=W@~Q9g5ln&Jx>@r!)*QeK$u zOMlYeX3e07jEKF)+&RwQ`UFzO))5pbl@^iyOSE^uM_Aw&~T6H!?-$vU;7E98Hf*!@-TZPGsUu z^7e>X#`^4%e2qZ7#Ni28-M;R0tL4dO5gNF$t-e0&1KoZU+o9?-;rJh}j&1BwRLmH7 zbWef;C5#K)?FGd{}z!gs+xT;O+fjo3Gj(;XP$-eq@woug6#B(qrd^a2BW&}!*W3NxK0qRGC z5`+lmFU>M{m9fMfwanM9nAKcvnQt`*ZRWpHHf$^Wk_TD|0L1JSX^Z5hBm1vem=7_fE2Y*%s_w45O zoROsq(@jPcIAMwD?euPRn=ER!Ob(qNpR-OkSEs$TRT9@!Oh9Y6SVUS_TH1d?Z1XRQSuPmw22+1#z}L}KgBsrHwBm)0SHt~dm9 zJS5Mk?&Y<1XKFOz`xY{K5Zzd+YpaoEK9GD{W*jG<+FafW=AiXeGR^`tlcB!CQ?KX7 zGdvBBAfk#xTsQDnG!0xGPQvH1KB{jlE`-^vv>J%Hp}`Z?E;>C^Dc{U81`isb%bR#= z8%1K0nDes)7t@E-nnImX(6g`qA8&5?=QT$=u>!!bS_%_R`oCWXGb0OFg#kSNe`ZHY AkpKVy literal 0 HcmV?d00001 diff --git a/web_pwa_oca/static/img/icons/icon-192x192.png b/web_pwa_oca/static/img/icons/icon-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..4d46abbfbd092440bca5d9bf06ab55cb40a5bf05 GIT binary patch literal 5604 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 Ol+x8Q)U3GY@brJ2jLmWY literal 0 HcmV?d00001 diff --git a/web_pwa_oca/static/img/icons/icon-512x512.png b/web_pwa_oca/static/img/icons/icon-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..3be61eacbbb78c4dd9c338796c44a69000400163 GIT binary patch literal 16833 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 MDr+m%zp;+|KU3K#)c^nh literal 0 HcmV?d00001 diff --git a/web_pwa_oca/static/src/js/pwa_install.js b/web_pwa_oca/static/src/js/pwa_install.js new file mode 100644 index 000000000000..3a8b741fe9a8 --- /dev/null +++ b/web_pwa_oca/static/src/js/pwa_install.js @@ -0,0 +1,45 @@ +odoo.define('web_pwa_oca.systray.install', function (require) { +"use strict"; + +var core = require('web.core'); +var session = require('web.session'); +var UserMenu = require('web.UserMenu'); + +if ('serviceWorker' in navigator) { + window.addEventListener('load', function () { + navigator.serviceWorker.register('/service-worker.js') + .then(function (reg) { + console.log('Service worker registered.', reg); + }); + }); +} + +var deferredInstallPrompt = null; + +UserMenu.include({ + start: function () { + window.addEventListener('beforeinstallprompt', this.saveBeforeInstallPromptEvent); + return this._super.apply(this, arguments); + }, + saveBeforeInstallPromptEvent: function(evt) { + deferredInstallPrompt = evt; + this.$.find('#pwa_install_button')[0].removeAttribute('hidden'); + }, + _onMenuInstallpwa: function () { + deferredInstallPrompt.prompt(); + // Hide the install button, it can't be called twice. + this.el.setAttribute('hidden', true); + // Log user response to prompt. + deferredInstallPrompt.userChoice + .then(function (choice) { + if (choice.outcome === 'accepted') { + console.log('User accepted the A2HS prompt', choice); + } else { + console.log('User dismissed the A2HS prompt', choice); + } + deferredInstallPrompt = null; + }); + }, +}); + +}); diff --git a/web_pwa_oca/static/src/xml/pwa_install.xml b/web_pwa_oca/static/src/xml/pwa_install.xml new file mode 100644 index 000000000000..ab6681f69411 --- /dev/null +++ b/web_pwa_oca/static/src/xml/pwa_install.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/web_pwa_oca/views/webclient_templates.xml b/web_pwa_oca/views/webclient_templates.xml new file mode 100644 index 000000000000..14dd5a7a168c --- /dev/null +++ b/web_pwa_oca/views/webclient_templates.xml @@ -0,0 +1,105 @@ + + + +