Commit Graph
146 Commits
Author SHA1 Message Date
Nicolas Martinelli 9e6860a228 [FIX] web: make DB name more flexible 2017-04-24 08:02:22 +02:00
Christophe Simonis 144ff9a61a Revert "[FIX] web: refuse DB name with space"
This is too restrictive.

This reverts commit 606712a5d2.
2017-04-21 14:02:58 +02:00
Nicolas Martinelli 606712a5d2 [FIX] web: refuse DB name with space
In v8, it was not allowed to create a DB with a name containing a space.
This should still be the case from v9 since it causes issuesfor backup
scripts, for example.

Reintroduces 1a0e9063d4

opw-727613
2017-04-07 14:53:01 +02:00
Olivier Dony 6edb749534 [FIX] web: provide correct autofill browser hints
Modern browser implement the autofill specs as described at
 https://html.spec.whatwg.org/multipage/forms.html#autofill

This means that there is now a way to tell the browser when a password
field is supposed to be filled with the user's own password (e.g. on a
login field), and when it's supposed to be used to input a new secret
value (e.g. when changing someone else's password).

This can be distinguished by setting the autocomplete attribute
to `current-password` or `new-password`.

In addition, many browsers have decided to entirely disregard the
autocomplete='off' attribute value, because it is felt that using
a secure password manager (as provided by those browsers) is a net
gain for security, allowing users to pick stron passwords.
See also https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion

Based on this, the framework should generally consider that
password fields in the backend are meant to be used for *setting*
new values (autocomplete="new-password", i.e. no autocompletion!),
whereas the password field on the login page can indeed be autofilled
with the user's current password (autocomplete="current-password").

In addition to making the above changes, this patch also
lets developer specify their own `autocomplete` attribute on
text input fields.
2017-01-27 14:44:36 +01:00
Nicolas Martinelli ea4c231130 [FIX] web: limit password size
If the user writes a password larger than 4096 characters at the login
screen, it causes a crash instead of displaying the "Wrong
login/password" message.

The Python library used to hash password (passlib) is by default limited
to 4096 characters. Above this limit, it raises an error (source:
https://pythonhosted.org/passlib/lib/passlib.exc.html).

Allowing a password larger than 4096 is not necessary, we just limit the
field maximum length since such a situation should happen because of an
incorrect copy/paste.

opw-704110
2017-01-11 15:18:40 +01:00
Pierre Masereel 665bb3cb62 [FIX] web: correctly redirect after database creation
When a database is created, we are not auto-logged in to the new
database anymore because the login passed to the authentication request
is 'admin' instead of the one set in the creation form.

To fix this issue, we used the login parameter from the creation form
in the authentication request. We also set the login field to
required in the create database form view.

This bug comes from rev https://github.com/odoo/odoo/commit/903733a32
2016-09-01 15:23:57 +02:00
Jeremy Kersten 0d491775c5 [FIX] web: don't duplicate alert while backup
When you backup 3 dbs with the database manager, you had 3 times the warning.

Underscore is not loaded, so _.once not available.
This commit closes #13173
2016-08-19 15:34:58 +02:00
Damien Bouvy 9c007ac375 [IMP] db_manager: better uuid management
* Always change the uuid of a duplicate database by default
* Clearer message when restoring a backup
2016-06-16 17:29:41 +02:00
Martin Trigaux 0ec664d1a7 [FIX] web: close popup after backup
All actions of the database manager redirect the user after an action except the
backup option which returns an octet stream.
Close the modal after form submission to mimic the same behaviour.

Do not close the modal for other actions than database manager to avoid waiting
time for create that may be long to process.

Add message to warn the user about backup waiting time after cliking on submit
to be less confusing for big databases that may take a lot of time to be ready.

Fixes #10803
2016-06-14 13:42:14 +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
Damien Bouvy 903733a320 [IMP] web/database manager: admin login & country
Add inputs e-mail address and country
when creating a newdatabase

This will provide the installation of the correct
chart of accounts at the installation of Accounting

Use the provided login as the admin login,
and set the email on the partner
if the login set is an email

Set the country on the company (and its partner)
The countries are parsed from XML country list

We take the opportunity to repair the `label for`
which bind the label with the input only if
the `id` attribute of the input is set with
what is set in the `for` attribute of the label
2016-05-17 12:40:47 +02: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 d74e0c3e9d [FIX] web: database_manager.html include cleditor
The cleaditor.js library no longer exists.
2015-07-22 12:15:25 +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 3034600322 [FIX] web: database manager: javascript object web.DataModel is missing 2015-07-13 11:48:51 +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
Aaron Bohy d6afe624eb [REVERT] web,point_of_sale: cordova integration
introduced by forwardport: a304194936
initial commit in 8.0: 19eda68547
2015-06-30 15:46:08 +02:00
Aaron Bohy d3398b4996 [REF] web,pos: font dir renamed for enterprise compatibility 2015-06-30 15:46:08 +02:00
Thibault Delavallée e0d9a59beb [FIX] web: database manager: added new JS dependency for the
database manager, introduced lately.
2015-06-25 10:40:34 +02:00
Christophe Simonis a304194936 [MERGE] forward port of branch saas-6 up to 81b5c60 2015-06-25 00:26:31 +02:00
Géry Debongnie 13585f5b51 [FIX] web: remove icons from menu
Icons in web client main menu were added as a side effect of changes in
enterprise.  The problem was that the template for the menu added the
icon in it exists, which is never what we want anyway.
2015-06-23 16:00:52 +02:00
qsm-odoo 3abe93715a [IMP] New many2manytags field
Many2manytag widget is specialized by calendar module so it had to be
common for community/enterprise
2015-06-19 09:46:38 +02:00
qsm-odoo 46bf047e86 [IMP] web, web_*, mail, board : New modals and dialogs 2015-06-17 09:49:46 +02:00
Christophe Matthieu a2896bf28e [FIX] web: database_manager template try to call bootstrap.js instead of modal.js and tooltip.js 2015-06-16 17:13:01 +02:00
Aaron Bohy c99c6a8974 [REF] web, mail: update jquery autosize to version 3.0.5
Note: it is no longer a jquery plugin
2015-06-16 16:10:38 +02:00
Géry Debongnie c530c0d1ee [FIX] web: various tweaks to make web_kanban view work 2015-06-15 16:30:34 +02:00
Simon Lejeune 5cb10d4fc9 [IMP] web: update bootstrap to 3.4, and use less files
important note: the bootstrap.css file is left in the tree because
it is used for reports.  (reports fails if they use the less files)
2015-06-15 16:29:38 +02:00
Christophe Simonis 4647778758 [MERGE] forward port of branch 8.0 up to ea59856 2015-06-15 12:28:32 +02:00
Christophe Matthieu b8527edcd2 [FIX] web: database_manager: remove unused javascript files who displayed error inside the chrome console 2015-06-15 11:34:48 +02:00
Christophe Matthieu 2a832f23a3 [FIX] web: can't load the page database mangager because session_instance.js is missing 2015-06-15 10:46:40 +02:00
Christophe Matthieu bd3f6e447e [IMP] web: split misc.js into misc.js and session_instance.js 2015-06-12 12:02:34 +02:00