Commit Graph
6818 Commits
Author SHA1 Message Date
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
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
Martin Trigaux ce2d94207b [FIX] mail,web: : untranslated term in view
_t(...) in xml qweb views do not work, not exported, not evaluted.
No reason to use t-att-*, just using simple attribute is enough.
2016-01-13 15:48:09 +01:00
Christophe Matthieu 17424bd4c8 [FIX] web: reload view on fail after write/create with action button
Issue:
Invoicing -> Vendor bills
Create a record with reference=0 -> Register Payment
Create a second record with reference=0, at least one line with at least one tax -> Save
Edit -> change quantity in the line -> Register Payment -> the register fail
change the quantity again and change reference=1 -> Register Payment
The taxes is include twice
2016-01-13 11:09:54 +01:00
Géry Debongnie 29427bdcb3 [FIX] web: reimplement autosize for fun (and some bugfixing)
autosize does not work correctly (it moves the screen in all directions
sometimes when the user press enter in the bottom of the screen in some
browser),

So, we decided to have our own version, because of course, we can do it better.  A
few horrible hacks later, I proudly present you "autoresize" (it was
almost named "odooresize" but common sense prevailed).

As added benefits, it plays better with our web client, so when you open
a dialog in a modal for example, the autosize fields should have the
correct height automagically (or should I say 'odoomagically')
2016-01-11 14:32:51 +01:00
Christophe Matthieu fa1e30394e [FIX] base: remove unnecessary code (td.oe-actions does not exist) 2016-01-11 10:12:05 +01:00
Mohammed Shekha edf565881c [FIX] web: refresh in form view when first view mode is calendar
When you are in form view and came from calendar, a screen refresh
throwed an error from fullcalendar lib. Also when going back to the
calendar view, it would not be loaded.

It is due to fullcalendar not being rendered if it is not visible, and
other part of the Odoo code are dependent on it having been rendered.

This commit hide the calendar after having been rendered.

closes #10253
opw-659314
2016-01-05 14:25:57 +01:00
Richard Mathot c9c08adbd0 [FIX] qweb2.js: improve debugging 2016-01-05 09:27:51 +01:00
Denis Ledoux 0f085db19e [MERGE] forward port of branch 8.0 up to a4e48d4 2016-01-04 12:36:14 +01:00
qsm-odoo 64ad6d1674 [FIX] web: o2m view manager header
Revert commits b3f3c67eea and a40d48378d forward ported from
8.0. In 8.0 these commits removed dead code but it is actually useful
in saas-6.
2016-01-04 11:24:49 +01:00
qsm-odoo 94a1536ae1 [FIX] web: o2m pager when empty
Commit 704b3cec9f introduced a bug which led to be on page -1 on
empty o2m. So when adding a record to such a o2m, the reload content
function chose to stay on page -1 therefore not displaying the new
added record.
2015-12-31 10:59:59 +01:00
Martin Trigaux 955ed51687 [MERGE] Forwardport of branch 8.0 up to 6efc3712 2015-12-30 11:48:14 +01:00
qsm-odoo 63feb99875 [FIX] web: views in action dialog
Opening a view (kanban or list) in a dialog thanks to a target=new
action did not work anymore (only in community).

The cause was the 'search_view' action flag which was set to false
in case of a popup (preventing the view to search the records and so
to display them). This commit sets this flag to true if the popup
has to display a list/kanban view.

Backport of aab enterprise work.
2015-12-29 16:29:49 +01:00
Géry Debongnie 031a3f8a4f [FIX] web: only display last part of breadcrumbs in tab title 2015-12-29 16:06:18 +01:00
qsm-odoo a40d48378d [FIX] web: o2m view manager header
Commit b3f3c67eea corrected the o2m view manager template which was
useless in its previous version because of a dead selector. It appeared
that some fonctionnality relied on the fact that this was dead code.

This commit removes the dead code.
Thanks LeartS (see #5711).
2015-12-28 15:24:12 +01:00
Holger Brunn 704b3cec9f [FIX] web: keep o2m current page in correct range
when going through different form view records

For example, when being on page 4 of a o2m then switching to next form
view record, if this new record did not have 4 pages for this o2m, the
o2m was shown empty (and if there was no page, the o2m became unusable)
2015-12-28 14:06:47 +01:00
sha-odoo 34bc336d97 [FIX] web: tip position in form view
As .oe_form_sheetbg was not position:relative, tips position was
sometimes wrong as the statusbar is loaded after the tips positions
are computed.
2015-12-28 13:40:21 +01:00
Leonardo Donelli b3f3c67eea [FIX] web: hiding of o2m view manager header
One2many fields bring in the entire viewmanager widget.
When there is only one view though (e.g. only kanban view for contact
tab of partners), we want to hide the viewmanager header because we
don't need it (it's where the view switcher would go).

Odoo had the widget logic to do that, but it was wrongly implemented,
resulting in a always present oe_view_manager_header div with all
its elements (although empty).
The wrong javascript operation should have triggered a client error
when loading the view, but for pure chance it didn't because the
t-jquery selector was wrong too so the javascript was never evaluated.
2015-12-28 11:03:50 +01:00
qsm-odoo bcca4a44c7 [IMP] web(_planner),website: navbars & menus merge
Merge appswitcher navbar and app navbar.
Merge planner menu and user menu.
2015-12-24 17:11:55 +01:00
Christophe Matthieu c7337bf3b3 [FIX] web: Can't save a x2m in list editable if contains a m2m_tags with a color field
m2m_tags inlist editable view try to get color on validation, the field is invalid because the mutex is pending.
Fix: don't re-render the fields

Issue: steps to reproduce:
- Create a new instance, install "sale"
- Create a product "prepayment", service, invoice on ordered qties
- Create aproduct "project phase", service, invoice on delivered qties, manually track delivered qties
- Create a SO with once prepayment, and twice a line with "project phase". ( the name (description) of the lines should be "phase 1" and "phase 2" )
- Create invoice => The prepayment is invoiced
- Go back to the SO, try to change the delivered qties of the first phase to 1
- Save => error, odoo doesn't let you save.
2015-12-23 10:58:37 +01:00
Denis Ledoux e04ddeaa22 [FIX] web: client action change password
1. To change the page title, you now have to call
`set_title` from `require('web.web_client')`

2. Without the `type="button"`, the `Change Password`
button is regarded as a `type="submit"`, therefore
submitting the form, on `web` on click,
and `web` doesn't expect this POST request.
The POST request must be done on
`/web/session/change_password` only.

opw-660567
2015-12-22 11:23:31 +01:00
Denis Ledoux aef8a4d618 [MERGE] forward port of branch 8.0 up to f9f7669 2015-12-21 18:24:22 +01:00
Denis Ledoux c9acaa428c [FIX] web: view pivot, start must wait load_fields
in `view_pivot.js`,
the method `view_loading` must wait the `self.fields` variable
to be defined before working properly.

This `self.fields` variable is filled in the `prepare_fields` method,
which is called in the `start` method, through a deferred named
`load_fields`.

`view_loading` is called in `start`, in `views.js`.

Therefore, in the overriden method `start` of `view_pivot.js`,
the call to `_super`, calling the `start` of `views.js`, must wait for
the `load_fields` deferred to be resolved.

Otherwise, the `self.fields` variable, mentioned above, won't be
filled in time.

opw-660153
2015-12-18 15:49:38 +01:00
Nicolas Lempereur b9520e22e9 [IMP] web: m2m_tags support _rec_name != 'name'
Currently, the m2m tags widget would only display the name present in
the "name" field. This prevent them from being used with custom
fields/models and other niceties.

opw-658490
2015-12-16 12:03:43 +01:00
Olivier Dony b4949f757c Revert "[FIX] web: Can't save a x2m in list editable if contains a m2m_tags with a color field"
Reverted because it causes issue #10083 when serializing
nexted x2many values, and produces invalid x2many commands,
such as:

    `[[6, false, [[5, false, false], [6, false, [8]]]]]`

Pending a proper fix for the oririginal issue.

This reverts commit 7e2628aeb2.

Closes #10083
2015-12-15 17:55:35 +01:00
Géry Debongnie 79ab4c4c60 [FIX] web: make sure web client uses view_id if provided
when there is a view_id parameter in the url, the web client should
honor that request, instead of using default view
2015-12-11 12:34:38 +01:00
Christophe Matthieu 7e2628aeb2 [FIX] web: Can't save a x2m in list editable if contains a m2m_tags with a color field
m2m_tags in list editable view try to get color on validation, the field is invalid because the mutex is pending.
Fix: use internal_set_value (don't re-rendering)

Issue: steps to reproduce:
- Create a new instance, install "sale"
- Create a product "prepayment", service, invoice on ordered qties
- Create aproduct "project phase", service, invoice on delivered qties, manually track delivered qties
- Create a SO with once prepayment, and twice a line with "project phase". ( the name (description) of the lines should be "phase 1" and "phase 2" )
- Create invoice => The prepayment is invoiced
- Go back to the SO, try to change the delivered qties of the first phase to 1
- Save => error, odoo doesn't let you save.
2015-12-11 10:07:02 +01:00
Antonio Espinosa 6cdcdb8724 [FIX] web: datejs Spanish long format
From:  miércoles, 04' 4e 'noviembre' 4e '2015 10:48:19
To:    miércoles, 04 de noviembre de 2015 10:48:19

Closes #9910
2015-12-09 08:56:00 +01:00
Christophe Simonis 521b90a8da [MERGE] forward port of branch saas-6 up to 12d7996 2015-12-08 15:17:06 +01:00
Denis Ledoux 7f20b79188 [FIX] web: char_domain display translation
The `records selected` could not be translated.
2015-12-08 15:11:20 +01:00
Denis Ledoux 2939800ed4 [FIX] web: char_domain widget re-renders on model change
Before this revision, the `char_domain` re-rendered its display
only when its domain value was changed.

It must re-render as well when the model on which this domain
is applied is changed, as the number of records can
obviously be different.

e.g., in mass-mailing, when changing the recipients type
from partners to leads, the domain doesn't change, it
stays `['opt_out', '=', False]`, but the model on which
this domain is applied does change, as well as the number
of selected records.

opw-658391
2015-12-08 15:11:20 +01:00
Christophe Simonis 12d799623c [MERGE] forward port of branch 8.0 up to 83a4a58 2015-12-08 13:03:08 +01:00
Christophe Simonis 83a4a582fa [MERGE] forward port of branch saas-3 up to 513cea6 2015-12-08 12:28:41 +01:00
Christophe Simonis 47b2f7ea9e [MERGE] forward port of branch 7.0 up to 3a1c693 2015-12-08 12:16:00 +01:00
Christophe Matthieu 4d8ec5f931 [FIX] web: readonly fields not transferred from dialog to 2many field
'write_function' transfer the options to 'write' method from the popup form

Steps to reproduce:
1. Create custom model to add a product quantity on hand(readonly) field on stock.move
2. Show this field on Warehouse>All operations>Create a Transfer> Create: Internal Moves
3. Add a Internal Move, then open it again, the quantity on hand field's value show 0. But change the product, the value is correct.
2015-12-02 13:29:51 +01:00