Commit Graph
136 Commits
Author SHA1 Message Date
Géry Debongnie 00120a9271 [REF] web: refactor and simplify web.core 2016-06-17 13:32:37 +02:00
Géry Debongnie 2254abbde7 [REF] web: move Bus class to web.Bus 2016-06-17 13:32:37 +02:00
Géry Debongnie d56b35e26e [REF] web, *: move QWeb odoo init to web.QWeb
this js module centralizes all odoo initialization
2016-06-17 13:27:18 +02:00
Aaron Bohy 38bb6a7f81 [ADD] openerp,web,web_tour: new web_tour addon
Join work with ged
2016-06-16 14:59:40 +02:00
Adrien Dieudonne 8580636bad [ADD] web: js module to communicate with localStorage
Private browsing in Safari doesn't allow to store anything in the localStorage,
and it throws an error when you try to do so. This new JS module is a connector
to the browser's localStorage if it is enabled, and if not, it simply keeps its
own storage in RAM.
2016-06-16 13:48:18 +02:00
Christophe Matthieu 710a7cee14 [FIX] website: t-att-*** display empty string attribute
Remove attribute only if the result is False or None
2016-06-14 09:46:26 +02:00
Christophe Simonis 7306e888a6 [MERGE] forward port of branch saas-11 up to ac50230 2016-06-08 12:28:16 +02:00
Christophe Simonis ac5023060c [MERGE] forward port of branch saas-10 up to 2f948c7 2016-06-08 12:19:23 +02:00
Christophe Simonis 2f948c76aa [MERGE] forward port of branch saas-9 up to 3ed483c 2016-06-07 19:45:02 +02:00
Christophe Simonis 7889d7e0ff [FIX] web,auth_signup: prevent login autocapitalization
Mobile virtual keyboards will often capitalize the first letter of
an input text field, which is annoying as odoo logins are case-sensitive.
This will no longer happen thanks to this new attribute.

X-port of commit odoo/enterprise@b8632f8bb6
2016-06-07 16:15:47 +02:00
Géry Debongnie f3fb0bfe29 [IMP] web_analytics: remove rpc to version_info
and put it serverside, in the session info.  This saves 1 rpc for every
connections.
2016-05-30 11:43:06 +02:00
Géry Debongnie 9c68bc7482 [REF] point_of_sale,web(site): move session info into page source
This commit introduces a mechanism to add information into the session
from a different module, without having to fetch it manually with a rpc.
This is intended to be used with small pieces of info required at the
start of the web client, such as currency informations.

To add information to the session, one can simply inherit from ir.http
and modify the session_info method.
2016-05-30 09:23:07 +02:00
Géry Debongnie 4828a00f9e [REF] web: move dom_utils to its own file 2016-05-27 16:08:50 +02:00
Géry Debongnie b107b14e6b [REF] report,web(_editor): services extracted in their own files
session_instance.js moved from framework/ to services/ and renamed into
session.js, which required to change the bundles in report and web_editor
addons.
2016-05-27 16:08:41 +02:00
qsm-odoo e503fc80df [FIX] web, pos: Lato font assets
A fonts.less file which contains the definition of Lato was created
in saas-11 and placed in the backend assets. It should have replaced
the lato/stylesheet.css in the common assets.

Also adapt point_of_sale assets to use the same file.
2016-05-19 14:36:28 +02:00
Yannick Tivisse f321466a69 [ADD] web: Library to make fuzzy searches
https://github.com/mattyork/fuzzy
2016-04-27 14:14:54 +02:00
Aaron Bohy 977db823c7 [REF] web: stop duplicating web
Avoid duplicating web addon in enterprise by extracting a common basis.
Enterprise features stay in enterprise, but use that common basis.

Mainly:
 - JS refactoring and linting
 - Conversion of .sass into .less split into multiple files
 - Templates cleaning and DOM simplification
 - Re-generation of web.pot, and update of .po files
2016-04-21 15:21:39 +02:00
Aaron Bohy 6c57935443 [IMP] openerp,web: cache of actions, fields(_views) and filters
Introduction of 'data_manager' service which handles meta-data related to
actions and views (fields_views, fields and filters). Ideally, all RPCs to
get that kind of information should go through data_manager, as it holds an
internal cache.
2016-03-18 10:44:52 +01:00
qsm-odoo 5a099117c4 [FIX] web(_editor): qunit tests
* Correct qunit template assets
* Delete useless template which broke qunit qweb inheritance
2016-02-25 14:45:34 +01:00
qsm-odoo 58c5ff1d4f [REF] website*: frontend user navbar
* Remove use of bootstrap navbar
* Add navbar.less file for compatibility with enterprise
* Modify the location of the "new page/product/..." elements
2016-02-24 13:47:36 +01:00
qsm-odoo 88c2b6843a [REF] web,web_editor,website(_*),report,pos,mass_mailing: assets
* Remove recursive assets inclusions (i.e. assets_editor was including
assets_common, summernote, ...)
* Better construct the assets (link, then script + type attribute)
* Better include the assets (split js / css, always use t-call-assets)
* Simplifies the number of assets
* Move bootstrap js to assets common
* assets_frontend is now created by web module to allow using it on the
connexion page but also in the web_editor, where colors have to be
bootstrap/theme ones. Note: if a module depends on website, then keep
using the inherit_id="WEBSITE.assets_frontend"
2016-02-24 13:47:06 +01:00
Christophe Matthieu 831246fc9d [IMP] web: remove spin lib and replace by an image with css to spin 2016-02-17 09:47:46 +01:00
Christophe Matthieu 0208b91def [IMP] web: remove useless jquery.validate lib 2016-02-17 09:47:46 +01:00
Christophe Matthieu 1c02be8974 [IMP] web: remove useless jquery.notify lib 2016-02-17 09:47:46 +01:00
Christophe Matthieu 1a2b1e69dd [IMP] web: remove useless jQuery.timeago lib
Replace call by moment(date).fromNow()
2016-02-17 09:47:45 +01:00
Christophe Matthieu 8d90abc66a [IMP] web: remove useless jquery.textext lib 2016-02-17 09:47:45 +01:00
Yannick Tivisse 09659cca30 [ADD] web: Company swicher button on systray
If the user has multicompany rights and more than one allowed
companies, the full company name is displayed in the  topbar. When you
click on it, there is a dropdown with the name of the other companies.

Clicking on another company name makes you switch on it and reload the page
2016-02-08 09:08:11 +01:00
Géry Debongnie 12f381d2be [FIX] web: remove autosize.js from assets
I forgot to remove it from the bundle, after removing the files.  Why
did noone stop me?
2016-01-25 14:44:15 +01:00
Damien Bouvy 0a6edac151 [FIX] web, openerp: make the webclient edition aware
- Differentiate between the Community and Enterprise editions
in the version number. By adding this attribute on the global
odoo JS object in the web client bootstrap controller /web,
we can differentiate between versions easily on the client
side without extra RPC calls.

- Remove a couple of version-related RPC calls in case
the global version info is present in the JS environment

- Update "About" panel to display the edition info

- This commit also reverts 07fe5afc87
which implemented the idea in a more limited way.

Closes #9625
2015-11-25 18:12:42 +01:00
Aaron Bohy de024f43ab [FIX] web,website: bundle utils.less to assets fronted 2015-10-01 14:00:19 +02:00
Xavier Morel cea29e0c01 [ADD] client-side CSRF support
* add CSRF token as core.csrf_token
* add CSRF tokens to client-generated and/or JS-submitted forms
* remove broken "compatibility" mode of web.ajax.post

  /cc @dmo-odoo I've no idea how that was supposed to work, from looking
  things up all modern browsers seem to support FormData, and old IEs
  which don't don't support fallbacks either and would require
  submitting an actual form as fallback so...
2015-10-01 01:36:50 +02:00
Christophe Simonis 7636b510a2 [ADD] *: CSRF protection in forms and routes
* make CSRF protection the default on all non-SAFE methods
  note: there currently is no way to call a CSRF-protected endpoint
  without a form-encoded entity-body as that's the only place we get the
  CSRF token from.
* simple CSRF token generation: just use the HMAC'd session id, no
  generating a new random token per session then HMAC it
* use constant-time equal function to avoid timing attacks
* assert that a database secret is configured before hashing/validating
  the CSRF token
* opt-out database manager from CSRF: The super-admin password serves
  the purpose of a CSRF token in the database manager screens.
  There is no request database to obtain the
  secret and generate a CSRF token.
2015-10-01 01:36:50 +02:00
Martin Geubelle 1b3939a8b1 [IMP] web, web_planner: add wow effect on button
* As the animations were already defined in web_planner, they are now moved in web (animations.less)
2015-09-24 15:14:12 +02:00
qsm-odoo 5c76b5958c [IMP] web,website: mimetypes images
* Convert CSS to LESS.
* Put file in assets_common instead of both backend and frontend.
2015-09-15 09:36:10 +02:00
Christophe Matthieu d4bae06d08 [IMP] web: use css to display attachment mimetype
Widgets and website display images or display the type with icon like pdf, doc...
2015-08-21 22:06:52 +02:00
Aaron Bohy 83dab472f3 [REF] web(_tests),test_new_api: split and remove web_tests
Move the widget_x2many tour to web and call it from test_new_api as it needs
to be overrided for the new design, and it requires models and data from
test_new_api.

Clean other unnecessary stuff from web_tests, and thus remove the addon.
2015-08-05 14:38:00 +02:00
qsm-odoo 53fc284945 [IMP] web: New priority widget + form field 2015-08-03 13:09:42 +02:00
Antony Lesuisse cd5444a16d [IMP] web: login page cleanups
- fix html and css layout using only pure bootstrap
- replace db selection by a link to the database selector
- reorder templates
- remove unused templates
2015-08-01 18:06:45 +02:00
Antony Lesuisse 3cba55d7a7 [IMP] web: web 1.0 database manager
Implement the database manager with plain HTML forms and HTTP controllers.
2015-08-01 18:04:14 +02:00
Arthur Maniet f45904f581 [REF] web: move barcode_events to module barcodes
If the module barcodes is installed, a BarcodeEvents singleton is
automatically instanciated. It listens to keypresses and, when a
sequence of keys represents a barcode, it broadcasts a 'barcode_scanned'
event on core.bus containing the barcode string.
2015-07-30 07:55:45 +02:00
Simon Lejeune cd9e5d2e12 [REF] web, website: autosize in assets_common 2015-07-23 14:02:41 +02:00
qsm-odoo 86c399f3bd [IMP] web: New notification system
Backport of the Notification system
2015-07-23 10:51:12 +02:00
Christophe Matthieu b6ddfe617f [FIX] base, web : move apps.js from base to web
'base.apps' JavaScript module 'require' the web widgets. This module is only useful if web is installed.
2015-07-22 12:15:25 +02:00
Christophe Matthieu 264bb780a1 [IMP] web: web modules return readable logs and phantomjs logs
boot.js log:

* ``Missing dependencies``:
  These modules do not appear in the page. It is possible that the JavaScript
  file is not in the page or that the module name is wrong
* ``Failed modules``:
  A javascript error is detected
* ``Rejected modules``:
  The module returns a rejected deferred. It (and its dependent modules) is not
  loaded.
* ``Rejected linked modules``:
  Modules who depend on a rejected module
* ``Non loaded modules``:
  Modules who depend on a missing or a failed module
2015-07-22 12:15:25 +02:00
qsm-odoo 1046d6991d [IMP] web: Move Dialog.js to assets_common 2015-07-13 15:52:17 +02:00
Christophe Matthieu 25d5bb855c [IMP] web: remove cleditor html field and use web_editor (with 'style-inline': true to send email) 2015-07-10 17:00:12 +02:00
Christophe Matthieu 8c559044a5 [IMP] web_editor: split website into web_editor (to use editor in backend for html field) and website 2015-07-10 17:00:11 +02:00
Christophe Matthieu a616c57c60 [IMP] web: create a template with bootstrap scripts 2015-07-10 16:34:35 +02:00
Christophe Matthieu 500c33b184 [IMP] web: split model.js into model.js and data_model.js. Web js modules must call web.DataModel. 2015-07-10 16:32:35 +02:00
qsm-odoo fc3b25cefd [MOVE] web, website_*: select2(-bootstrap) in web and assets-common
* select2 was linked in both backend and frontend (by web and website)
* select2-bootstrap was in website and linked only in frontend but it
  is in fact needed in backend too

+ Remove useless link of the lib by other modules
2015-07-09 16:27:24 +02:00