Commit Graph
6851 Commits
Author SHA1 Message Date
Nicolas Martinelli 64e8d9c972 [FIX] web: clear filename if image error
When the user chooses as product image a file which is not an image, the
message "Could not display the selected image" is displayed. However, at
saving, a traceback is thrown since the file chosen is uploaded anyway.

If the image cannot be displayed, the image field is cleared.

opw-672206
2016-03-24 11:09:02 +01:00
Géry Debongnie e9c34b5e61 [FIX] web: fix issue with FieldMany2ManyTags
the widget FieldMany2ManyTags does a rpc to fetch the fields (just to
know if 'color' is in the model...). It was done in a mutex and used
later in a mutex.  This commit simply use the willStart method to make
sure the data is available before rendering.
2016-03-21 17:05:07 +01:00
Nicolas Lempereur fae65a36e7 [FIX] web: css for address format based on country
In 9.0's 05adb7f the `<div class="address_format"/>` wrapping an address
city, state_id and zip fields was removed.

There is a hack on fields_view_get which transform this block depending
on the company country, so without the block the feature isn't enabled.

This commit adds a class on the new block `<div class="address_format"/>`
used to wrap the whole address which will change the sizing of the city,
state_id and zip fields as it was before version 9.

To fully follow what was done previously, the zip is aldo moved before
the city if the address format needs it.

Thus we now have as before the three format as follows:

[default format]

city state zip

[format .o_city_state (brazil)]

city state
zip

[format .o_zip_city (belgium, netherlands, ...)]

zip city
state

Another change is brought by this commit, before most element attributes
from city, state_id and zip fields were lost whilst doing the hack, now
they are all kept.

closes #10692
opw-666567
2016-03-21 14:38:16 +01:00
Christophe Simonis a34d496069 [MERGE] forward port of branch saas-6 up to 1431ba2
Also include 2939800ed4 which seems to
have been forgotten during previous forward-ports
2016-03-16 15:30:03 +01:00
Denis Ledoux 1aeb747c6e [FIX] web: len & non zero implementation for wrapping list/dict
The implementation of `__len__` & `__nonzero__`
were not defined for the py types `wrapping_dict`
and `wrapping_list`.

For instance, this prevented an empty list
to be considered as `False` in domains
evaluated by the web client.

e.g., in the automatic partner merge wizard,
the domain
```
[('id', 'in', partner_ids and partner_ids[0] and partner_ids[0][2] or False)]
```
is used.

When the `partner_ids` list was empty (meaning the "partners to merge" list
was empty in the wizard), it wasn't considered as
`False`, and it therefore attempted to get
`partner_ids[0]`, which resulted to a crash, as
the list was empty.

opw-672095
Closes #11343

Courtesy of Xavier Morel (xmo@odoo.com)
2016-03-16 12:01:20 +01:00
Christophe Matthieu 1194270f9c [FIX] web: change o2m line don't set x2m dirty flag
opw-668741
2016-03-15 14:06:57 +01:00
Christophe Matthieu a395a54a7c [FIX] web: dataset alter_ids method must use options
x2m send_commands add options for all command to avoid onchange trigger for internal change.
2016-03-14 10:14:16 +01:00
Christophe Matthieu feeac2a4f1 [FIX] web: various small issues in form view onchange/one2many
- Issue: Edit sale.order form view, add new line, change product who have
  taxes and click quickly on save (with slow network) => error message.
  Because some deferreds are lost.
- reduce number of reads and onchange for x2m widgets
- remove before_save method and use commit_value (the issue was that if the
  before_save and the change trigger an onchange, the onchange deferred is not
  checked before saving the content.
2016-03-14 10:14:16 +01:00
Christophe Matthieu bbbf3db581 [FIX] web: avoid double write in the form view 2016-03-14 10:14:16 +01:00
Christophe Simonis b59be87a18 [MERGE] forward port of branch 8.0 up to a0c5cf6 2016-03-11 14:12:58 +01:00
Denis Ledoux 4fb2e76b43 [FIX] web: char_domain rendering on record switch
When using the left/riht arrow to switch of record
in a form view,
the rendering of the `char_domain` widget was done too
early, before all fields are ready / set, and if the
domain of the previous record could not be applied
on the current record, it leaded to a traceback.

This revision introduce a new deffered,
because I coudln't find one that was doing
what I was looking for:
 - `is_initialized` is a defferred which is
 resolved when the form view has finished
 its rendering for the first time
 - `reload_mutex` is a mutex used only when reloading or
 switch to left/right record.

While the one needed in this case is a deferred
which is resolved when the record has finished
being rendered, wether when its when coming
from the list view to the form view (and it's
not the first time the form view is loaded,
e.g. list view -> form view -> list view -> form view, another record),
or on the switch of left/right record.

opw-671594
2016-03-10 14:11:34 +01:00
Nicolas Lempereur 17e79711e4 [FIX] web: save initially grouped editable tree view
Test to bind save and discard buttons of an editable tree view are done
only once when initializing it.

But if the view is by default grouped at the beginning, it will be then
"not editable" but only removing the groupby will change this.

So this commit add a case so if the view is grouped when initialized,
the buttons are always bound.

closes #11198
opw-666794
2016-03-03 13:07:22 +01:00
Christophe Matthieu a46a3f9958 [FIX] web: can't save if a o2m line have a modifier and try to read db
When the user click on save, 'is_valid' is called on each field.
The o2m test all sub-field (apply modifier and check value).
But, if a modifier change the read-only attribute, the field is reinitialized and call 'render_value' without check 'no_rerender' value.
The relational fields call the db in render_value, and the x2m is invalid because a request is pending.
(change X2ManyListView to keep the 'no_rerender' initial value)

opw-653120
2016-03-01 15:17:05 +01:00
Christophe Simonis f5ed710c74 [MERGE] forward port of branch 8.0 up to d4e5019 2016-02-24 16:37:41 +01:00
qsm-odoo 380a1fd544 [FIX] web: Dialog closing
The Dialog class destroys the modal (and so removes it from the DOM)
when the dialog closes but leaves the modal-open class on the body
element if there are still other modal(s) in the DOM.

The problem is that (maily on the frontend side) there may be others
modal(s) in the DOM (not handled by the Dialog class) but which are
not shown to the user, and in that case the modal-open class should
be removed.
2016-02-23 13:34:55 +01:00
Christophe Matthieu bf26f0f498 [IMP] web: add an option to avoid deleting a o2m records
issue opw-668776
2016-02-22 09:43:00 +01:00
Nicolas Martinelli e5f184fe6d [FIX] web: context/domain in move line tree
DO NOT FORWARD-PORT: the functionality is not used anymore in v9

Commit aaf9badb filters the returned ids by keeping the domain in the
request. However, `this.dataset.domain` might be empty, while
`self.dataset.get_domain()` will retrieve it from the model.

Since `get_domain` is not always defined on the dataset, we keep
`this.dataset.domain` as a fallback. The fix is not great, and a better
solution should be found in master branch when the web refactoring is
done.

opw-666755
2016-02-19 13:21:41 +01:00
Géry Debongnie be3f7ea433 [FIX] web: prevent focus issue with autoresize
The copied textarea used in autoresize was a valid target for focus when
using the tab key.  This is a major issue in editable list views,
because when the user leaves a textarea, the list view jumps up, with no
visible focused field.
2016-02-17 14:24:09 +01:00
Martin Trigaux 9c4c3809fd [FIX] web: missing space in translations
Translated text is stripped of starting and ending spaces on Transifex which
makes the result text look bad (as translators do not put spaces in their
translation either).
Add explicitely a space to be sure it's present in the translation.
Will have no effect on English as it's HTML
2016-02-15 15:31:45 +01:00
Nicolas Lempereur dde97416b9 [FIX] web: pivot click keep view references
When clicking on a pivot view cell, the gotten view were default views.

For example when on the opportunity pivot view, after clicking on a cell
we we would get to the crm.lead default view instead of the opportunity
one.

This commit keep references to current action views when clicking on the
cell.

closes #10768
opw-668472
2016-02-08 14:33:44 +01:00
Christophe Simonis fbd5fab238 [MERGE] forward port of branch saas-6 up to 9ca7ad8 2016-02-02 13:18:33 +01:00
Christophe Simonis 9ca7ad87b2 [MERGE] forward port of branch 8.0 up to 3ac46ee 2016-02-02 12:25:06 +01:00
Aaron Bohy 0de35ffa7f [FIX] mail,web: don't block chat windows when blocking ui
One will still be able to chat in chat windows during long RPCs...
2016-02-01 11:31:36 +01:00
xmo-odoo 19a1c18f57 [FIX] make m2m checkbox labels clickable 2016-01-29 16:24:14 +01:00
Denis Ledoux a842199687 [MERGE] forward port of branch saas-6 up to 2616def 2016-01-29 12:29:17 +01:00
Denis Ledoux 2616defe35 [MERGE] forward port of branch 8.0 up to edeb5a8 2016-01-29 11:41:24 +01:00
Nicolas Lempereur 29be9ae80b [FIX] web: conserve /id for saved export list
With 003d85b instead of getting the name of the relation
field_relation we get field_relation/id which will get us an xmlid
instead.

But the data about related fields are not gotten all at once when
opening the export modal. They are gotten by clicking on the arrow of
the related record.

It is in this data that the /id will be appended for the field, but when
getting a saved export list, this data may not be available.

This commit immediately add the `/id` when a field is put in "Fields to
export" column, so this inconsistency is no more.

closes #10640
fixes #10327
opw-665994
2016-01-28 17:27:18 +01:00
qsm-odoo 1982ef993e [FIX] web: listview editable, non editable elements
When editing a line, leave the buttons visible.
Also remove the 3px gap between fields so that readonly field texts
does not move when entering the edition mode.
2016-01-28 17:18:24 +01:00
qsm-odoo 31e8cd0949 [FIX/IMP] project,web: kanban cover image dialog
* Fix the grid display of images (use the column property)
* Use Dialog class
* Allow removing a cover image
* Add image selection before choosing it (or double click to choose)

+ add less mixins in web for columns property
2016-01-28 17:11:39 +01:00
Martin Geubelle f19210ee08 [FIX] web: properly remove nvd3 tooltips
We fixed it for the graph view in 6bdf72bac5f6e8 but this
needs to be fixed for every views.
2016-01-27 16:31:16 +01:00
Géry Debongnie 36994a6616 [FIX] web: load async js modules as soon as possible
The module system allow modules to return a deferred.  When that
deferred resolves, the module is considered to have succesfully loaded,
and the result value is its value.  Then, the boot.js code used a
setTimeout (via _.defer) to load all its dependencies.

This is not wrong per se, but it empties the call stack, which give
other code the opportunity to interfere.  In particular, it is an issue
in phantomjs tests, because it causes a window between the
domcontentloaded event (which is a key event in website) and the actual
loading of all dependent modules.  This execution window can be used to
start some tours, but the code of those tours is waiting the next tick
to load, so horrible crashes happens.

This commit calls immediately process_jobs to avoid those issues.
2016-01-27 16:07:19 +01:00
Christophe Simonis 4bbddc7476 [MERGE] forward port of branch saas-6 up to 48639d4 2016-01-27 12:10:29 +01:00
Nicolas Lempereur b55e29ea86 [FIX] web: improve focus/blur one2many dataset
The dataset of an x2m could be set as changed on a focus event, but if
the form is currently not in editing, it could stay blocked in this
state.

This commit add a check so blur and focus on x2m are better coupled.

opw-665401
2016-01-27 12:05:54 +01:00
Nicolas Lempereur b783d2d1c4 [FIX] web: allow view with arabic date saving
When editing a form with the arabic language, the date is formatted in
arabic. But the version of the Moment.js library we use for this had
inconsistencies and parsing the arabic date could not work.

Hence, saving would not work since date field values would be invalid.

This commit cherry-pick http://momentjs.com/ commits which solves that:

  from version 1.8.4: https://github.com/moment/moment/commit/c9023b5
  from version 1.9.0: https://github.com/moment/moment/commit/bd328d5

closes #10634
opw-660453
2016-01-27 08:42:41 +01:00
Christophe Simonis 2ce9311cfe [MERGE] forward port of branch saas-6 up to a576f2b 2016-01-26 19:13:41 +01:00
Christophe Simonis a576f2baf3 [MERGE] forward port of branch 8.0 up to 43a4ffe 2016-01-26 18:20:11 +01:00
Géry Debongnie 06e583e1fd [FIX] web: change qweb to work around phantomjs bug
This commit does not actually fix qweb2.js, but it works around a
phantomjs bug.  The problem with phantomjs is that in some situations,
the xmlhttprequests are dropped with a status 0.  It is most likely
related to the issue:

    https://github.com/ariya/phantomjs/issues/11195

In our testing framework, it seems to appear when requests sent before
the 'load' event of phantomjs are received after, and also when those
requests are listened with the onreadystatechange handler.

The bug does not appear if we use addEventListener with the 'load' event (at
least, not for a few builds)

This commit does not worsen qweb, and it is also a small improvement in
style (in my opinion).
2016-01-26 14:22:56 +01:00
Nicolas Martinelli b22a22f811 [FIX] web: translation in pivot view
The definition of "total" as a global variable is done too soon in the
JS. Depending on the order in which the JS modules are loaded, it is
very unlikely that the translations are already loaded at that moment.

opw-666577
2016-01-25 17:55:43 +01:00
Nicolas Martinelli f46298bfe0 [FIX] web: missing translation
opw-666577
2016-01-25 17:55:43 +01:00
Stefano Rigano 5d393ba067 [FIX] web: typo on less mixin declaration 2016-01-20 15:01:01 +01:00
Nicolas Lempereur 4bfc2799bd [FIX] web: don't print nothing when something is there
In most backend views using CTRL+P to use browser printing would only
print an header without the content.

stumbled-uppon-when-checking: opw-659430 opw-660763
2016-01-20 13:48:37 +01:00
Martin Trigaux e381b7e31a [FIX] web: technical translations menu
The action "Technical Translations" was not retrieving the correct translations.
Since 9.0, the translations names no longer contains the name of the model (in
the form "field:<model>,<name>") but are records on ir.model.fields (in the form
"model:ir.model.fields,field_description:<model>_<name>").
The translations of type selection are style a different type (type 'selection').

Create a method that will find the linked fields and retrieve the correct
translations.

Fixes tw:reis_pt/status/687419541199187969
2016-01-20 16:42:18 +05:30
Nicolas Lempereur 6b791c20b8 [FIX] web: don't print nothing when something is there
In most backend views using CTRL+P to use browser printing would only
print an header without the content.

stumbled-uppon-when-checking: opw-659430 opw-660763
2016-01-20 11:54:46 +01:00
qsm-odoo c81e2720b2 [FIX] web,calendar: m2m attendee tag color
The colors for attendee tags were not used and were reset for all tags
each time the color was changed for a single tag.
2016-01-19 14:37:51 +01:00
Aaron Bohy fc8a4b5ede [FIX] web: view manager: overlapping switches between views
The problem occured when the user quickly clicked several times on the view
switcher or the breadcrumbs. The function switch_mode() of the view manager
was called once per click. This function's role is to prepare the requested
view, and once it is ready, to remove the former one from the DOM and insert
the new one instead. It is thus asynchronous as it waits for the
fields_view_get and search_read RPCs' response.

Unfortunately, when those calls to switch_mode() overlapped, the former view
reference was lost and it was thus never removed, producing a weird situation
where two views were displayed one above the other. This may happen when a
view takes a while to load, or simply when the user double-clicks on the
breadcrumbs or view switcher.

This rev. makes sure that calls to switch_mode() can never overlap by refusing
any other call when there is still one processing.
We also added a protection against breadcrumbs and view switcher double-clicks.

opw 658924
2016-01-18 14:01:21 +01:00
Aaron Bohy 206cc91a63 [FIX] web: view_manager: restore internal state on switch view failure
When an error occured when switching from a view to another (e.g. switching
to a form view for an id that doesn't exist, by editing the url), active_view
and view_stack were updated even though the switch failed. The view manager
thus lost the reference to the real current active view, which couldn't be
detached anymore. This resulted in two views being displayed at the same time
if the user kept navigating through this view manager.

This is a backport of odoo/enterprise@0b1aafa6b and odoo/enterprise@8e691be.
2016-01-18 14:01:21 +01:00
Géry Debongnie 992222a24a [FIX] web: fix autosize small bugs
- better width handling
- disable css vertical resize
- correctly copy css classes to the 'shadow' textarea
2016-01-18 09:45:58 +01:00
qsm-odoo 5a76586ede [IMP] web,point_of_sale: debug mode
Keep debug mode status when going on another location url (backend,
frontend, pos, ...).
2016-01-15 15:24:09 +01:00
Martin Trigaux fba324fe5e [FIX] web: untranslatable string in FieldCharDomain 2016-01-15 14:31:27 +01:00
Aaron Bohy 029c0d5567 [FIX] web: utils: backport of swap() for enterprise compatibility 2016-01-14 11:22:25 +01:00