Even if there is only one provider,
you could still use the internal login rather than
this oauth provider to sign in,
and therefore you need to remain on the regular
login page if you would like to reset your internal password
When use t-set the value is replaced by an empty list and can't be use inside the t-set.
Issue: <t t-set="bibi"><t t-raw="bibi"/> other</t> => ["\n "] other
When checking for a DOM element in a run method thanks to the action
helper, visible elements are now considered first, then, if none is
found, we take the first invisible one.
Previously all the fields were removed when switching export type, even
if they are available in the newly selected export type. This commit
fixes that.
It was impossible to pass from an archive to another because of
the keep_query in the url generated that set multiple times the
same argument in the url. Removing this allow to have a 'date_begin'
and a 'date_end' corresponding to the selected archive.
This group was defined in the mass_mailing module but is only working when
you install website_mass_mailing. What this group does is allowing to insert
a newsletter snippet in the page, thus it has nothing to do in the mass_mailing
module which doesn't depend on website. Also, the snippet itself was already
defined in website_mass_mailing.
Moved all the things to website_mass_mailing.
If you create an ir.ui.view from the backend, it'll everytime
show a traceback (Keyerror arch).
The field we write to in the form view is `arch_base`. Writing in
`arch_base` will indirectly write on `arch`.
The issue is that the `create` function or ir.ui.view is overriden
in order to compute the `type` column. For this to be done, we parse
the `arch` content and the type is the string of the root tag.
The issue is that we parsed the `arch` field instead of `arch_base`.
However, during the creation of the db, convert.py will write to
the `arch` field when inserting the views in database.
Another thing is that we'll get a traceback if the parse fail for
any reasons (an invalid xml string for example). To workaround
that, we chose to catch the issue and do nothing with it as the
constraint on `ir.ui.view` will detects this issue among others and
will raise a proper ValidationError.
Lastly, the actual code only clears the `arch_fs` field if we write
on `arch`. This patch also clears it when writing on `arch_base`.
[FIX] packaging: debian: update-python-module is no more
The command is not installed by default. It was available in the
python-support library which we didn't depend on and now this library
is no more in debian jessie/ubuntu xenial.
Backported for #13302
If a budget line has no analytic account id, the code is intentional
about returning a value of 0 for it. It is possible, that in some
cases, depending on the order of lines processed, the routine returns
the previous value, as it does not initialise an important
variable on each iteration of the loop.
Closes#13303
- Convert x2many tour to new web_tour.tour system
- Move x2many tour out of web (as web is not duplicated in enterprise
anymore and the new tour system allow to define edition-only steps)
* crm, project, website, website_event, website_blog, website_forum,
website_sale, web_editor
- Allow to properly extend tours with new registration system
- Allow to properly launch tours as non superuser
Previous implementation allowed to run tour as a non-superuser but
this was only working in the backend where the static file tip.xml
is always loaded. In the frontend or in other non-backend context,
this file has to be loaded just before trying to launch the tour as
a non superuser (indeed, previous implementation loaded the file in
the frontend only if the user is a superuser).
* crm, project, website, website_event, website_blog, website_forum,
website_sale
Eg: the tour 'shop_buy_product' is extended by the website_sale_options
addons to add a step to close a modal.
The current solution was requiring the module that defines the tour
to extend, then add/remove steps in the "step" key of the tour
definition.
Some of the problems with this method were:
* The "register" method calls the "update" method to immediately
search for tip to place once registered (as register may be called
after the DOM is ready). So extensions of tours were happening after
the tours were started (and the tours were not restarted).
* The addition/removal of steps was happening after they were filtered
according to the "edition" key.
To allow extension, the system is changed as follow:
* The "register" method now only saves the steps and options without
modifying them and does not call the "update" method.
* Once the DOM was ready, the tour service started listening to DOM
mutations and called the "update" tour method. Now, this "update" call
is replaced by a "_register_all" call, on DOM ready and at the end of
the current call stack (which makes sure all modules are loaded). This
"_register_all" method marks the registered tours as ready after having
filtered the steps according to the "edition" key and initialized the
current step to trigger.
* Also, tours can now define a "wait_for" option which allow them to
be marked as ready for run and update after the given deferred. Those
tours can now also be extended without having to wait for the deferred.
PhamtomJS must wait for the "ready" key to be true to run the tour.
Add label for usability, didn't understand what was the date field e.g.
Fix bug when no priority, 'priority' field was not submitted -> save function crash
Fix bug textarea, if title_action is False, not textarea, so no field
title_action submitted -> save function crash
After this commit, we can click on save and it should work...
No priority or 0 => 0
No title or "" => ""