Commit Graph
10081 Commits
Author SHA1 Message Date
Géry Debongnie 93cf24f73a [FIX] web: reimplement custom widgets in basic views
With the new views, we lost a (almost unused and undocumented) feature:
the ability to instantiate custom widgets in a form view, not linked to
a particular field.  For example:

<widget type="weekly_timesheet" attrs="{'readonly': [['state', 'not in', ['new', 'draft']]]}"/>

We reintroduce this feature in this commit, with a nice twist: it also
works for the list view and the kanban view.
2017-09-13 14:04:34 +02:00
Christophe Simonis c5f680200c [MERGE] forward port branch saas-17 up to d08b4407be 2017-09-12 12:09:11 +02:00
Christophe Simonis 73bb71b80c [MERGE] forward port branch saas-16 up to 295a377e5d 2017-09-11 18:56:15 +02:00
Christophe Simonis 295a377e5d [IMP] web: add test to ensure nobody will commit again unwanted QUnit.only 2017-09-11 18:14:16 +02:00
Martin Geubelle 7a87484856 [FIX] web: remove QUnit.only occurence 2017-09-11 16:54:09 +02:00
fwi-odoo 68d1e6d8b1 [FIX] web: evaluate the view context for the subviews not inline
Before this commit, the xml attributes defined with 'context.get(key)' in the
subviews not inline were not evaluated correctly. This was caused
by the loss of the one context in the '_loadSubviews' method.

This commit fixes this issue and modifies the mockserver in order to be able
to use the parameter 'viewOptions.context'.
2017-09-11 16:41:58 +02:00
fwi-odoo 268e6d9530 [FIX] web: calendar: set event without time as all day
Before this commit, when an event had only a date, the event
was set to midnight.
This commit sets the event as all day event if the field used as start date
is only a date and not a datetime.
2017-09-11 16:41:40 +02:00
Christophe Simonis bd08d4f052 [MERGE] forward port branch saas-16 up to 3ac2a1106c 2017-09-11 14:02:19 +02:00
Christophe Simonis 3ac2a1106c [MERGE] forward port branch saas-15 up to ec15765eec 2017-09-11 13:30:03 +02:00
Christophe Simonis ec15765eec [MERGE] forward port branch saas-14 up to 48f88992da 2017-09-11 12:35:49 +02:00
Christophe Simonis 48f88992da [MERGE] forward port branch 10.0 up to 7d7e94c6ef 2017-09-11 11:45:44 +02:00
Aaron Bohy a58fb415fc [FIX] web: click on many2many tag with no color
Before this rev., a traceback was raised when the user clicked on a
many2many tag in a kanban view without color field.

For instance, it was the case in the kanban view opened by clicking
on the Lead/Opportunity section of the activities icon in the
systray.
2017-09-11 11:44:24 +02:00
Martin Geubelle 3ae9a6b537 [FIX] web: Kanban: allow to resequence a record twice
Before this rev., it was not possible to move a record (in the same column)
at the top and then move another record above it.

There is special class `o_updating` added on record being edited to avoid
moving them. This class is normally removed afterwards when re-rendering the
record.

When resequencing, the record is re-rendered so the class won't be removed ;
this is why it shouldn't be added in the first place (same behaviour as saas-15).
2017-09-08 16:35:45 +02:00
Martin Geubelle 14cb9af0d6 [FIX] web: only send changed fields on one2many after onchange
The server response to an `onchange` on a one2many is a list of
commands. In case of one2many update (command 1), the server
returns all fields (and not only the modified ones).
When saving the record, this is the client responsability to
specify which fields really changed.

Before this commit, all fields were sent at `write` and not only
the changed ones. This was causing issues when the user couldn't
write on the field ; an error was triggered even though the user
didn't change anything.

To fix this, we only tag as changed (in the datapoint `_changes`
attribute) the fields that have a different value after the onchange.
2017-09-08 12:27:43 +02:00
Yenthe V.G 1d769ad5a7 [FIX] web: Don't show buttons when model has readonly access
PR #19314
2017-09-08 09:23:44 +02:00
Akash Bhavsar 0ff5acee96 [FIX] web: allow default value for calendar quick create
* fix typo, widged is actually widget;
 * support name coming from context for calendar event quick create;

Support of context could be made generic in quick create mechanism but
in the meantime this fix is considered as sufficient for the use case
we have.
2017-09-07 17:53:50 +02:00
stefanorigano af130256e3 [REF] web, mail: review silver colors
This is also meant to solve a bug in firefox: the scrollbar was the
same color as the background by bad luck.

+ Adapt kanban view borders
2017-09-07 16:36:29 +02:00
stefanorigano 9ec47d3735 [REF] web: set better alignments in top menu 2017-09-07 16:35:41 +02:00
Sanjay Jamod 35cdf9076f [IMP] web: improved date field usability
- datepicker doesn't default to current date by default
- date string in the input is now selected when clicking the field
- adapted the existing tests to the new changes
2017-09-07 13:43:01 +02:00
fwi-odoo ef6074beb6 [FIX] web: fix x2m tests
When a x2m field is modified, the 'save' rpc doesn't send 'False' as second
argument of the special command that manipulate the set of records.
From now on, the virtual id of the record is sent to the server as second
argument. This commit fixes the tests making the assumption that 'False'
was sent.
2017-09-07 11:25:30 +02:00
Martin Geubelle b2c916de83 [FIX] web: correctly display no content helper in dashboards
The no content helper was displayed next to some dashboards instead of below.
2017-09-07 11:21:43 +02:00
stefanorigano ef64fbba8f [REF] web: remove margin-left for kanban columns' quick-add 2017-09-06 17:55:49 +02:00
stefanorigano 2ef5db7f90 [REF] web: review kanban records' title LESS
- Force vertical margin to 0 in case the class is added to elements
  that comes with a default margin (eg. titles tags)

- Move title & subtitle rules at root level
2017-09-06 17:55:49 +02:00
stefanorigano 9e69958099 [REF] web: review graphs layout 2017-09-06 17:55:49 +02:00
qsm-odoo cf4f357647 [REF] web: review form view layout
The goal of this review is to have a layout which is correct to
implement the enterprise side-chatter.

This also removes/fixes deprecated community rules and xml templates.
2017-09-06 17:52:24 +02:00
Christophe Simonis d5382abeaa [MERGE] forward port branch saas-17 up to b8dd34fcbb 2017-09-06 17:40:59 +02:00
Martin Geubelle bae4aacad8 [FIX] web: edit x2many editable list view after resequence
In an embedded editable list view with the widget `handle`, resequencing a
record and try to edit it afterwards won't work. The selected record isn't the
correct one, as if the resequencing had no impact.

To make this work, the list datapoint needs to be ordered by the field with the
widget `handle` ; if it isn't, resequencing the records won't change the x2many
data order but the list view expects the same order.
2017-09-06 16:34:18 +02:00
Martin Geubelle 3052a43494 [FIX] web: edit editable list view after resequence
In an editable list view with the widget `handle`, resequencing a record
and try to edit it afterwards won't work. The selected record isn't the
correct one, as if the resequencing had no impact.

A small refactoring has been done to fix this because the resequence logic
was placed in the ListController (but should logically be placed in the model).
Several views are using the resequencing ; the code is thus now placed in the
BasicModel.

The list renderer state is then updated after the resequence.

The resequencing and the line edition have been placed in a common mutex to
avoid problems when the user tries to edit a record while the resequence rpc
isn't finished yet.
2017-09-06 16:34:18 +02:00
Goffin Simon ce9bbf6c10 [FIX] web: Setting ir.values for computed fields
Setting ir.values for computed fields is useless as the function onchange
in models.py will set to False all the computed fields with a modified dependence.

opw:767942
2017-09-06 16:30:05 +02:00
Mahendra barad df20fe9b85 [FIX] web: Place correctly the enterprise tag for widget upgrade_boolean 2017-09-06 15:21:25 +02:00
fwi-odoo c0ceae2f93 [FIX] crm: module crm_voip doesn't exist anymore
Since the refactoring of VOIP, there is no more a module crm_voip but only
voip.
2017-09-06 15:18:19 +02:00
Christophe Simonis b8dd34fcbb [MERGE] forward port branch saas-16 up to 64d56995e0 2017-09-06 13:29:05 +02:00
fwi-odoo 5563168fe7 [FIX] web: calendar: keep scroll after an event quick creation
Before this commit, the scroll was reset to the top of the calendar after
an event quick create.
This commit fixes this by defining the get/set localState for the calendar
renderer in order to keep the scroll and calling 'reinitView' from the
fullCalendar lib instead of always calling 'render'.
2017-09-06 11:17:29 +02:00
jpr-odoo 46699c5214 [IMP] mail: Add a preview popup for attachments
Purpose
=======

The goal is that when you click on an attachment, you should get a preview of it and then you get the possibility to download it.
2017-09-05 15:52:15 +02:00
Yannick Tivisse 2e3848b394 [IMP] web: Add the possibility to crop an image in web/image controller
Purpose
=======

Could be useful if you want to load a preview of an image as a thumbnail
2017-09-05 15:52:15 +02:00
Géry Debongnie 983c7ae22f [FIX] web: proper x2m edition with pagination
Before this commit, we did not really handle gracefully editing a
one2many with many records. The main issue is that if the user was not
on the last page, creating a new record added it to the last page, which
is confusing and actually a bad idea for records with required fields.

This fix requires a way to track the current changes (because we do not
display the current state of the form view: the new record is displayed
in the first page, but is actually added at the end of the dataset).

Note that this probably does not solve all issues with pagination. This
is a quite delicate problem. We will add tests and fixes as needed.
2017-09-05 15:41:28 +02:00
Géry Debongnie fef645fcc5 [FIX] web: increase timeout for js tests
We have a new runbot server which is quite slow.  Because of this, it
takes too much time to run this unit test suite (for comparison, one of
the last build by the main runbot takes 126s).

This is necessary for now, until we use chrome headless or something...
2017-09-05 15:41:26 +02:00
stefanorigano 378fe92b60 [REF] web: add btn-links variations
Create variations for btn-link with UI color classes.
These btns appear as default text (muted necessary) and they will use
an UI color on hover.
2017-09-05 12:13:55 +02:00
stefanorigano 1f78ae3c18 [REF] web, mail: change minors top-menu design
- Remove carets
- Fix badges position
- Vertical align user avatar
- If a dropdown is open, the menu-toggle should appear active
- Dropdown menus' widths should be at least as the dropdown-toggle
2017-09-05 12:13:55 +02:00
qsm-odoo 489db80101 [REF] web: better mock images routes
Before this commit, only the routes which began by '/web/image' were
mocked (simply ignored). This forgot the case were it is a full URL
(http://www.test.com/web/image). Now, also mock the static images
routes (for .png and .jpg).
2017-09-05 12:13:55 +02:00
Olivier Dony f4d541e51a [IMP] http: set HTTPonly flag on session cookie
This will reinforce the framework against potential XSS exploits
escalating to session hijack
2017-09-05 10:06:35 +02:00
Christophe Simonis fc2a39cc7d [MERGE] forward port branch saas-14 up to 99426b95b5 2017-09-04 17:12:40 +02:00
Yannick Tivisse 76fdd10b18 [IMP] web: Modify timeout duration on test_js.py 2017-09-04 16:53:39 +02:00
Christophe Simonis 99426b95b5 [MERGE] forward port branch 10.0 up to c5df78f38b 2017-09-04 16:15:28 +02:00
Aaron Bohy b7c92ecaac [FIX] web: dialog: remove setTimeout making tests fail
... sometimes.

When a dialog is destroyed, the last opened dialog (the one which
is just below), if any, is focused. This allows to close it
directly by pressing ESC. For an unknown reason, this was done in
a setTimeout (delay 0).

The problem is that the setTimeout made some JS tests fail
randomly, when a test ending by closing a dialog was executed
right before a test using a many2one inside a dialog. When this
happened, the second test failed sometimes because its dialog was
focused (because of the previous test) while waiting for the
autocomplete dropdown to open, triggering a blur event on the m2o
input, and thus making jquery autocomplete aborting the search,
and the opening of the dropdown.
2017-09-04 09:31:59 +02:00
Odoo Translation Bot 0e0771e319 [I18N] Update translation terms from Transifex 2017-09-03 04:40:05 +02:00
Lucas Perais (lpe) b6778ee752 [FIX] account: reconciliation_widget: rounding of reconciliation_amount computation
Use case:
- a tax of 10%, computation method: percentage of tax included
- a account_reconciliation_model with an amount of 90%
- make a statement of 1.31 (or something weird when it comes to digits)
- reconcile it with a counterpart
- prefill that counterpart with the account_reconciliation just created
- push on reconcile

Before this commit, the amount that was computed was not rounded, resulting in making unbalanced account_moves (by 0.001)
This was invisble since the display of monetary is rounded
After this commit, the rounding is done according to the currency's parameters and produces correct move_lines

OPW 751881
2017-09-01 17:15:47 +02:00
Adrien Dieudonne c2563dbb0d [FIX] web: BasicModel: correctly sort editable lists
This rev. fixes several issues with the sorting of dataPoints of
type list in the BasicModel.

First, only 'static' lists (i.e. x2many lists) must be sorted
client-side, and results of search_read RPCs must remain unsorted
as they are already retrieved sorted from the server.

Second, editable and non-editable x2many lists don't behave the
same with respect to sorting (we reproduced in this commit the
behavior of saas-15). With editable lists, the edited rows are
unsorted, except if the user explicitely ask for a sort (by
clicking on a column header), until the form view is saved. With
non-editable lists (as for x2many kanban), the sort is performed
directly when a record is created or updated (as the edition is
done from a dialog).
2017-09-01 14:30:06 +02:00
Deep Patel 898224f110 [IMP] web,account,...: Regroup settings, add a nav and search bar
Purpose
=======

Settings are often way too long and hard to scan and sometimes you don't know where to find the settings you're looking for.
By adding a left navigation, you can already have an overview of the settings, and switch easily between them.

Specification
=============

- Add a search bar on all the apps that have settings which can search results from all the installed apps.
  (If i'm on sales settings,and I search anything then it shows results from sales settings and also shows
  all the other matching results from all the other apps such as, Inventory...etc) with app name.
- Able to activate feature from the current page results (no matter if the searched result is from another apps).
- Highlight searched word in results
- Delete the sheet, have a full white background
- Add left navigation bar on setting
- Left navigation bar fixed
- List displayed based on installed apps
- On right panel, by default display current app setting and change accordingly
- [Mobile] Left navigation bar displayed on top
- Add Breadcrumb on top of the page: have the name "Settings" + Save / discard CTA + Search
- Add General Settings on the nav bar
- remove "save this page..." notif in all settings
- Delete all recommanded apps section + all checkbox that install app should disappear:
	payroll: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrSkMzWVpuZ0ZoaFE/view?usp=drivesdk
	Events: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrYXlHMHd2NTM2blE/view?usp=drivesdk
	Manufacturing: Delete Repair - Quality Control - Maintenance - Product Lifecycle Management [LAP][ok]
	Timesheets: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrdFg5XzNydkd2TlU/view?usp=drivesdk
	project: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrraWo3NE04TktwcTQ/view?usp=drivesdk
	inventory: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrQkRaVUR5ekFQYTQ/view?usp=drivesdk
	recruitment: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrbDdqLWQweF80UkE/view?usp=drivesdk
	purchase: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrRlAyUDBnb0trQWs/view?usp=drivesdk
	email marketing: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrOUZONjhvX2k3Y2s/view?usp=drivesdk
	expenses: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrR0JpN1ZpQmtxU3M/view?usp=drivesdk
	attendances: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrralpjZ1VJclNpMWs/view?usp=drivesdk
- About duplicate settings:
	Docsaway: Delete from Sales + delete Default Print Provider
	Attributs & Variants: Delete from Purchases - Manufacturing
	Multi-currencies: delete from Sales
	Unit Of Measures: Delete from Purchase & Expenses
- Add a scroll bar on the left bar when there's too many apps
- Keep the navbar visible even when you search
- Move General Settings to the bottom of the list
- Update on Settings:
    - Accounting:
        - rename automatic rates
        - Anglo Saxon Account: Should be in technical feature
        - Place Accounting Reports section before Taxes section
    - CRM:
        - Phone Validation: Enforce international format becomes
        - Local Numbers: (2 radio buttons proposals) Add international prefix / No prefix
    - Fleet: typo " ... a new car if ..." + text is too long <br>
    - project: fix tooltip for colab pads
2017-09-01 13:02:54 +02:00
qsm-odoo b781565e36 [REF] web: allow to distinguish kanban/list x2m in LESS 2017-09-01 10:33:11 +02:00