Commit Graph
135 Commits
Author SHA1 Message Date
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
Martin Trigaux 87d48b0859 [FIX] web: do not crash when select wrong db
When a user tries to log into a postgresql database with no view web.login (this
happens if the database is not an odoo database or using a previous version of
odoo), the rendering failed, producing a 500 error (with no detail for the user)
Instead, redirect to the database selector with an informative message.
Fixes #3443

The database selector page is a jinja template with no access to database
required so should be able to be displayed on any database.

Future improvement could verify the version of base module for even more precise
verification before login (but need to make sure it's always accurate).
2015-06-09 15:05:57 +02:00
Joren Van Onder a094563d4c [FIX] barcode_events: add barcode_events.js to database_manager 2015-05-29 16:29:46 +02:00
Joren Van Onder 49d4ddd422 [IMP] barcode_events: implement a new way of dealing with barcode events
Implement a new way of dealing with barcode events. This was necessary
because the old way of dealing with input coming from barcode devices
did not stop keyevents. This lead to all kinds of issues (eg. barcode
reader output being inserted as tender in a paymentline).

This new class inserts itself so that it handles all keyevents before
everything else. This means that it has authority on what keypress
events pass and which ones do not. It differentiates between 'real'
keyboard input and input coming from devices by buffering events. When a
certain amount of events come in fast enough, it is handled as a barcode
and a 'barcode_scanned' event is emitted on core.bus. When buffered
events are decided to not be a barcode, they are recreated and
redispatched.
2015-05-29 16:29:15 +02:00
Frédéric van der Essen da378722cc Revert "[IMP] web, point_of_sale: basic implementation of the cordova integration."
This reverts commit f7a1ac8b06.
The commit introduced a change that required a database update,
which should not be required in a stable version.
2015-05-27 13:46:26 +02:00
Frédéric van der Essen f7a1ac8b06 [IMP] web, point_of_sale: basic implementation of the cordova integration. 2015-05-27 11:59:13 +02:00
Frédéric van der Essen 0e1cf58595 [IMP] web, point_of_sale: basic implementation of the cordova integration.
Conflicts:
	addons/point_of_sale/static/src/js/widgets.js
2015-05-26 18:19:05 +02:00
qsm-odoo 84208a6ba1 [IMP] web: New generic progressbar widget + FieldProgressBar adaptation 2015-05-13 17:04:20 +02:00
qsm-odoo af32bf13fc [FIX] web, web_kanban: Move Kanban ProgressBar out of web 2015-05-13 17:03:54 +02:00
Martin Geubelle cc6a6076de [ADD] web : progress bar widget + method for human readable big numbers 2015-05-12 17:16:19 +02:00
Yannick Tivisse 74f3cbc6a6 [IMP] New design : menus reorganization
- Several Modules have been splitted into several apps
  Examples :
      Human Resources : Splitted into Leaves, Recruitment, Expenses, Appraisals, Timesheets, Employees, Payroll
      Marketing : Mass Mailing, Events, ...
      Messaging : Chat, Agenda, Notes, Address Book, ...
- Generally, the related reports have been moved in the apps, as last menu
- Also, configuration menu (no_one group) have been moved into a config root menu
  exception made for the warehouse and lunch modules
- Configuration for typical frontend modules have been moved into the website settings
  Related modules : Ecommerce, blog, slides, forum
- When they are present, menus like 'product' or 'customers' have been moved
  ex : Customers in Sales menu, Product in POS menu
- A lot of sequences and xmlids have been added or modified in this commit
- List of apps :
1  Chat : Inbox, Channels
2  Agenda : Calendar
3  Notes
4  Address Book : The view contact is still laying in the mail module (1 app => 2 icons)
5  eCommerce : Still to define : Config + Orders Analysis + Shipping + incoming Amazon module
6  Sales : Dashboard (Sales Team Kanban), CRM, Sales (note that they are splitted into 2 submenus)
         Assignation, After-Sales (Invoicing and Services), Reports
7  Point of Sale : Dashboard (POS status), Orders, Reports
8  Project : Dashboard (Project Kanban), Search (all tasks, issues), Incoming Forecasts module, Reports
   Project.issue.version feature has been removed completely
9  Members : Dashboard (Members Kanban), Report, Config
10 Timesheets : Time Tracking, Approvals, Reports
11 Purchase : Purchase, Control (Products and Bills)
12 Warehouse : Dashboard (Warehouse Kanban), Operations, Inventory Control, Schedulers, Configuration
13 Manufacturing : Same menu structure
14 Mass Mailing : Mailings, Campaigns, Reports
15 Events : Events, Reports
16 Lead Automation : Campaigns, Reports
17 Surveys : Surveys, Reports
18 Human Resources : Dashboard (Departments Kanban), Employees, Contracts, Engagement (Gamification)
19 Recruitment : Job Positions, Applications, Resumes & Letters, Reports
20 Expenses : Expenses, Approvals, Reports
21 Leaves : My Leaves, Approvals, Reports
22 Appraisals : Appraisals, Interview, Reports --> Will probably be modified by the incoming refactoring
23 Payroll : Current Menu
24 Lunch : My Lunch, Manager, Configuration
25 Accounting : Same menus currently, waiting the new accounting to be merged
26 Fleet : Current menu
27 Sign : Incoming docusign module
28 No root menuitem with this sequence
29 Attendance : Attendance, Reports
   Sign in/out by project feature has been removed completely
30 Link Tracker (group_no_one) : Link Tracker, UTMs
   New view added : URL Shortner, which is the frontend view embedded in backend
31 Versionning : Website domain, Versions, Experiments
32 Slides (group_no_one) : Channels, Categories, Slides, Tags
33 No root menu item with this sequence
34 Livechat : Channels, History, Reports
35 Dashboards : My Boards, Configuration
36 App Store : Local Modules, Apps, Updates
Last Settings : Incoming Dashboard Settings, Sales, ...., Website Settings
General Pattern for all modules' settings :
| Module_name
|-- Settings : General Config view (checkbox screen)
|-- Record setting 1
|-- ...
|-- Record setting n
Example for Sale module
| Sales
|-- Settings : Checkbox screen
|-- Quotations
|---- Quotation Templates
|---- Report Layout Categories
|---- Contract Template
|---- Invoice Type
|-- Contract
|---- Deduplicate Contacts
|-- Delivery
|---- Delivery Methods
|---- Delivery Pricelist
2015-04-24 16:41:08 +02:00
Christophe Simonis a9471c43b9 [MERGE] forward port of branch saas-6 up to e941c0f 2015-04-17 15:33:00 +02:00