Commit Graph
114449 Commits
Author SHA1 Message Date
qsm-odoo 76abdd4ace [REF] website: menu-related JS is supposed to grow, so rename "affix" file 2017-12-21 09:52:36 +01:00
qdp-odoo 5d8de48c65 [FIX] account: typo
When calling action_invoice_cancel, we want to cancel only the invoices that are NOT yet cancelled
2017-12-21 09:07:51 +01:00
qsm-odoo 1d74ed1c55 [IMP] web_editor: make colorpicker option 'bg-'-independent
Now the colorpicker option can be defined with a `data-color-prefix`
parameter which will allow toggling classes different than "bg-*".
(e.g. if the prefix is set to be "hello-", the colorpicker option will
allow to choose between "hello-primary", "hello-danger", ...).
2017-12-20 17:15:08 +01:00
qsm-odoo 8ca92330b3 [IMP] web_editor: allow to define multiple select-class groups
Before this commit, when defining two sets of classes to be chosen
independently on a same element you had to define two options:

```
<div data-selector=".myElement">
    <li class="dropdown-submenu">
        <a tabindex="-1" href="#">Classes set 1</a>
        <ul class="dropdown-menu">
            <li data-select-class="a"><a href="#">A</a></li>
            <li data-select-class="b"><a href="#">B</a></li>
            <li data-select-class="c"><a href="#">C</a></li>
        </ul>
    </li>
</div>
<div data-selector=".myElement">
    <li class="dropdown-submenu">
        <a tabindex="-1" href="#">Classes set 2</a>
        <ul class="dropdown-menu">
            <li data-select-class="x"><a href="#">X</a></li>
            <li data-select-class="y"><a href="#">Y</a></li>
            <li data-select-class="z"><a href="#">Z</a></li>
        </ul>
    </li>
</div>
```

Now, an unique option can be used for this, allowing to not duplicate
the `data-selector` and not creating two JS options:

```
<div data-selector=".myElement">
    <li class="dropdown-submenu">
        <a tabindex="-1" href="#">Classes set 1</a>
        <ul class="dropdown-menu">
            <li data-select-class="a"><a href="#">A</a></li>
            <li data-select-class="b"><a href="#">B</a></li>
            <li data-select-class="c"><a href="#">C</a></li>
        </ul>
    </li>
    <li class="dropdown-submenu">
        <a tabindex="-1" href="#">Classes set 2</a>
        <ul class="dropdown-menu">
            <li data-select-class="x"><a href="#">X</a></li>
            <li data-select-class="y"><a href="#">Y</a></li>
            <li data-select-class="z"><a href="#">Z</a></li>
        </ul>
    </li>
</div>
```
2017-12-20 17:15:08 +01:00
qsm-odoo 374fa10272 [IMP] web_editor: allow to define options' target in XML data
Before this commit, defining a snippet option began by choosing an XML
`data-selector` attribute to put on the option's <div/>. This selector
would then be used to find DOM elements on which to attach the option.

A recent refactoring added the `data-exclude` attribute, allowing to
define a selector that a DOM element must not match to receive the
option.

A new kind of need has arrived: allowing an option to be attached on a
DOMElement but making the option's effects be applied on a specific
child of this DOMElement. This can allow to regroup children options on
a main DOMElement.
To that effect, this commit introduces the optional `data-target`
attribute. If defined, its value is used as a selector to find the
option's `$target` inside the element found with previous rules. Note
that the system has been made smart enough to only add the option on
elements which indeed contain such a $target.

E.g. I want an option to appear in the customize menu of my custom
snippet's <section/> but will in fact control the toggling of a class
'super-row' on the `.row` (I don't want the option to be on the `.row`
otherwise it would not be in the main customize menu). All I have to
do is defining a
```
<div data-selector="section" data-target="> .container > .row">
    <li data-toggle-class="super-row"><a href="#">Super Row</a></li>
</div>
```
(no JS required)

Note: a similar behavior was already present on the JS side of the
"colorpicker" option.
2017-12-20 17:15:08 +01:00
Thibault Delavallée cc652c65ec [FIX] l10n_generic_coa: make invoice line demo real records
Otherwise you cannot reinit the module because you cannot remove lines
of confirmed invoices. The (5, 0) command crashes.
2017-12-20 13:54:10 +01:00
Thibault Delavallée dd47abdcc3 [FIX][IMP] stock: set picking_warn as non required
When reinitializing modules it is impossible to create partners if
stock is installed because picking_warn field has a required column
but no default value if the module does not depend from stock. Use
case is trying to run test_mail tests with stock installed.

As this field is not business critical it is now not required. As there
is a default value behavior should not change for users.
2017-12-20 13:53:45 +01:00
Thibault Delavallée 06a02ae4c2 [FIX][IMP] account: set invoice_warn as non required
When reinitializing modules it is impossible to create partners if
account is installed because invoice_warn field has a required column
but no default value if the module does not depend from account. Use
case is trying to run test_mail tests with account installed.

As this field is not business critical it is now not required. As there
is a default value behavior should not change for users.
2017-12-20 13:52:01 +01:00
Laurent Smet 5cca55dac7 [IMP] account, account_cancel: cancelling paid invoices
When an invoice is paid, the button "Cancel" was not visible. For a better guidance, we now show that button.
    Indeed, after having unreconcilied the invoice and the payment, the user should be able to cancel the invoice.

    It also now allows to cancel wrongly encoded invoices with 0 as total (they were directly marked as paid, preventing
    their cancellation)

    Was PR #20470. Was task: https://www.odoo.com/web#id=34307&view_type=form&model=project.task&action=333&active_id=967&menu_id=4720
2017-12-20 13:23:22 +01:00
Martin Geubelle 2672143713 [FIX] web_tour: do not consume a tip with blockUI
To consume a tip, the elements matching the selectors `trigger` and
`extra_trigger` must exist in the dom.

However, the presence of blockUI should prevent the tip to be consumed
in the tour because the user can't physically execute the corresponding action.
2017-12-20 11:20:01 +01:00
Yannick Tivisse f42d1cc843 Revert "[IMP] sale: Remove 'Invoice Order' from Action menu on sales orders"
This reverts commit 7b86a7beb8.

It removes the action from the sales order list view as well, which was not expected by our Product Owners team.
2017-12-20 10:46:49 +01:00
Thibault Delavallée f3687f7eec [FIX] test_mail: update query counters for enterprise
As on enterprise module install order can be different from community
query count for some mail-related tests are different. This commit
updates some counters to avoid breaking enterprise runbot and give
time to find the source of added queries.
2017-12-19 17:25:36 +01:00
Thibault Delavallée 8655b32bb8 [FIX] mail: fix tracking test with employee, reusing previous record
Query count was wrong as the tracking was not performed.
2017-12-19 15:52:41 +01:00
Nirali Sapra 11f6b294bd [IMP] mail: don't delete in-use activity types, archive them instead 2017-12-19 14:48:22 +01:00
Ankit Sathvara 149a05c6fe [REM] project: Remove the tasks merge feature
Purpose
=======

In a business point of view, it make no sense to merge record. if someone want really to merge record they have to do this manually to think about all corner case. What about id sent to the customer ? what about timesheet ? what about business ?

The idea of the task: remove this feature in both app, project.task and in helpdesk

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

Remove both features

"Merge Selected Tickets" in helpdesk
"Merge Selected Tasks" in project.task
2017-12-19 13:35:00 +01:00
jem-odoo 56f5901ff8 [IMP] sale: make test at install
Since test cases of sale depends on account common
class test, they are executed post_install.
For some futur dev, we will need to launch them
at install (since stock module change the behavior
of consumable product for delivered quantity computation).

This commit:
- avoid test to use demo data
- reuse common helpers to generate testing
data
- make test suite share common test classes
2017-12-19 09:14:44 +01:00
jem-odoo 35e0347e4b [IMP] account,sale,expense: test when no chart of account
Accounting tests are executed post install to be sure a chart
of account is install. However, for some case, we might want
to run test at module installation, involving accounting, without
being sure a chart of account is installed.

This commit provides a base common test class with a minimal chart
of account (some journals and accounts) allowing to start tests at
installation. this class should be extended in sale or expense for
this modules to be tests at installation. We will required this for
reinvoice test in sale later (test consumable product when sale_stock
is not installed, but maybe without a chart of account). The idea is
each test suite can call method to setup their own data.

This commit also use this common test class in sale_expense.
2017-12-19 09:14:44 +01:00
jem-odoo 68a6bd8de1 [IMP] account: add log warning when skipping a test
Accounting tests are done 'post install' because
their generally requried a chart of account to be
installed before test execution.
If a test is launched before l10n install, the test
will be skipped but nobody will know it, unless you
read all the logs of your server.
When skipping a test, a warning should be displayed.
2017-12-19 09:14:44 +01:00
Christophe Monniez 231c4d5fd8 [FIX] web_editor: rte_inline tour succeed on chrome
The rte_inline tour was failing on chrome because jquery selector in
chrome does not like a space in the style selector.
On the other hand, other browsers and phantomjs need the space.
This commit change the selector to find the element on chrome and
friends.
2017-12-18 22:44:44 +01:00
Christophe Monniez 357b1422f2 [FIX] portal: verify input content instead of body
When running the portal tour, the test succeed too early because it finds
the words "Your Details" on the wrong page (/my instead of /my/account).
The selector has a match on previous page, so tour succeeded when it 's
not complete.

This commit use another selector that only match on the '/my/account'
page.
2017-12-18 21:41:03 +01:00
Christophe Monniez 637dda0d2b [FIX] account: verify that account exists before automatic reconcile
When using the fast_counterpart creation method to automatically
reconcile bank statement lines, there was no verification that the
account id was not set or that the statement was already linked to journal
entries. It was causing a traceback in some conditions when the
demo data were loaded because the fast_counterpart_creation was called
without the verification, using an XML function.

This commmit introduce the necessary verifcation.
Thanks @qdp-odoo for the review and some docstrings/comments
2017-12-18 21:33:36 +01:00
Christophe Monniez f73098fcba [FIX] test_mail: increment the query counter for employee too
When searching the id mail.mail_activity_data_todo a request is done and
should be taken into account by the assertQueryCount.

This commit does just that... for the employee login.
Thanks to the murphy's law, the test branch was green.
2017-12-18 16:48:48 +01:00
Christophe Monniez 292f53885c [FIX] test_mail: increment query counter
When searching the id mail.mail_activity_data_todo a request is done and
should be taken into account by the assertQueryCount.

This commit does just that.
2017-12-18 16:36:23 +01:00
qsm-odoo b1d5347849 [REF] website_theme_install: remove useless conditions
Useless since 5238595648
2017-12-18 16:02:19 +01:00
Akash Bhavsar 5238595648 [REF] theme_*: change category and summary of themes
task-32528
2017-12-18 15:35:05 +01:00
Thibault Delavallée 9b75577320 [IMP] test_mail: add some mail performance tests
New tests are added in test_mail to have tests for message_post and
complex mail thread features. Purpose is to have performance counters
for more complex stuff in mail and begin to work on performances
and try to lessen those counters.
2017-12-15 16:45:37 +01:00
Ankit Sathvara f02c6fd956 [IMP] lunch: mobile-friendly view for lunch order lines 2017-12-15 16:19:48 +01:00
Géry Debongnie 377705aada [IMP] web: tests: add a way to properly mock Widgets
This rev. introduces two helper functions for the tests: patch
and unpatch. Those function allow patching an Odoo Widget (e.g.
AbstractField), and unpatch it at the end of the test with the
guarantee that the Widget's prototype is exactly the same as it
was before the test.

This was necessary because the way it was done before was a little
bit too naive, and could lead to unexpected behavior. Indeed, doing

 var someFunction = AbstractField.prototype.someFunction;
 // test content
 AbstractField.prototype.someFunction = someFunction;

is correct if someFunction is actually define (or overriden) in
AbstractField, as in that case, it really exists on its prototype.
Otherwise, it isn't correct if it is not directly defined on the
prototype before the test, as it will be after..
2017-12-15 13:07:34 +01:00
Aaron Bohy 7f467d2346 [FIX] base_import: don't reload twice when leaving
The 'on_reverse_breadcrumbs' option of do_action() allows to
define an handler to execute when coming back to the previous
action by clicking on the breadcrumbs.

This option was set when executing the Import client action, to
ensure that the previous view was reloaded when the client action
was left. However, the view to restore is always reloaded, so
specifying the option in this case produces a double reload.
2017-12-15 13:07:34 +01:00
Thibault Delavallée 0ae15750d4 [IMP] mail: bounce email going directly to catchall when they are no replies 2017-12-15 12:33:23 +01:00
nla-odoo b624473b2a [FIX] google_calendar: GC settings are now on the general settings page 2017-12-13 14:13:29 +01:00
Viral Thakar f53f6f865b [IMP] hr,mail: adapt tooltip message to new field values and fix a typo 2017-12-13 11:16:05 +01:00
ppr-odoo 6cc56d2c92 [FIX] website_mass_mailing: typo in tooltip 2017-12-13 10:49:14 +01:00
nla-odoo 3604cf544e [FIX] stock: fix typo crash on forecasted products 2017-12-13 10:33:33 +01:00
rde c8c52cd272 [FIX] website_event(_track): changing event menu name break behavior
Before this commit:
To know if an event menu is an auto generated one (eg: location, register..),
it checks if the menu name is the same as the hardcoded one in
_get_standard_menu_entries_names.
If user change the menu name, the code won't retrieve it and will act as if the
menu had been deleted and it will recreate it.

This leads to 2 bugs:
*First (website_event)
 - Change menu name from website_event (eg: location, introduction or register)
 - Check/Uncheck 'Track on website' or 'Track Proposals on website' to force
   the code to rewrite missing menus.
 - Go back to the event front end, theses menus have now been recreated, and
   are duplicated.

*Second (website_event_track)
 - Check 'Track on website' on event's back end
 - Change the 'Talks' menu name in front end
 - Go back to backend, 'Track on website' is unchecked because
   _compute_website_track won't retrieve an event menu named exactly 'Talks'

Now:
We don't use euristics to try to recover missing menus.
We just create related menu when option is checked, and we delete them when
option is unchecked.
To know which menu item comes from which option, we store a value in a new
model 'website.event.menu'.

We don't want to try to check if the menus are all there and recreate them if
needed anymore. There is cases where user wan't to delete a menu and repace
it with a link to that menu's URL in the page content.
Before this commit, the option would've been unchecked since it won't
retrieve the menu.
2017-12-12 17:46:32 +01:00
Adrian Torres 9a7fd72197 [ADD] social_media: new module for social media
This technical dependency module adds settings to res_company for the
company's social media pages.

It is introduced to fix duplicated fields for res_company in website and
mass_mailing, these two modules now require social_media as a dependency
2017-12-12 14:56:59 +00:00
Raphael Collet ba25420312 [REF] tests: decorators and method to count queries (#21499)
Add the context manager method `assertQueryCount` to count queries,
the decorator `@users(...)` to execute a test for several users, and
the decorator `@warmup` to execute a test twice (warm-up, then real).
2017-12-12 15:52:35 +01:00
Thibault Delavallée cde06d5f5c [IMP] test_mail: move some data into demo and update tests accordingly
Creating data directly in tests was done when tests were located in mail
module to avoid creating real data or demo. Now that mail tests have their
own module we can create demo data and use them in tests. It is simpler to
have demo data for things like subtype and email templates to ease
understanding and reuse.
2017-12-12 15:46:37 +01:00
Romain Derie 56ae134bb2 [FIX] website: allow user to create/remove website.menu
Before this commit, an user could not create or remove a website.menu since
there was no list/form view for it. Changing sequence also impossible.
Therefore, it was impossible to create or delete a menu from an event. (you
could just edit the existing one)

Now, user can access in debug mode to the list and form view of website.menu to
manage the menus.

This commit also add a link on the ir.ui.view form view to access it's related
website.page

This closes #21302
2017-12-12 15:27:51 +01:00
jem-odoo 5bbd1b1790 [MERGE] rating,project: rating as project dependency
Impacted modules: rating_project, project, sale_service_rating,
website_rating_project and rating.

This merge remove some small modules to integrate them
directly into big one; indeed, we wanted to set rating as
dependency of project module.

As consequence, we see:
- rating_project is removed (its features) are included in
project, hidden with a group
- sale_service_rating is absorbed by sale_timesheet
- website_rating_project is moved into project too, so the
rating page does not depends on website anymore

No feature change, simply moving code, and reorganize some ;)
2017-12-12 14:18:13 +01:00
jem-odoo 0f08bafd00 [FIX] project: bad help message in settings 2017-12-12 14:06:29 +01:00
Jérome Maes d7d30f69d7 [REM] website_rating_project: move feature in project
Displaying the rating of project is moved directly
in project module, since it does not depends on website.
User may want to display rating of its support project
even without website.
2017-12-12 14:06:29 +01:00
Jérome Maes 93adbdbb20 [IMP] project: simplify filters for rating
Since rating in on project directly, and task
and issue are merged, we can simplify some domain
and replaced them by default filters.
The search domain will be less complex and the
performance will be better.
2017-12-12 14:06:29 +01:00
Jérome Maes 95698bd408 [REM] rating_project: kill the module and move feature in project
Impacted modules: project, rating_project,
sale_service_rating and website_rating_project.

Removed modules: rating_project and sale_service_rating.

Move code to empty 'rating_project' module, in order
to kill it.
Code is not modified, simply copy/paste at the right
place in 'project' module code.

However, 'enable rating on task' options is convert
into a res.groups that can be activated from the
project settings.
2017-12-12 14:06:29 +01:00
Mahendra barad 945b71cb2b [MOV] (website_)sale_stock: move customer portal directly into sale_stock
Customer portal is not dependent from website anymore. In this commit we
move customer portal code related to sale stock directly in sale stock
instead of website sale stock.
2017-12-12 10:56:13 +01:00
Pierre Masereel 598f4f7315 [REF] delivery: pacakage weight tooltip 2017-12-11 14:18:44 +01:00
Pierre Masereel 7e89865ea1 [REF] product, stock: packages wording 2017-12-11 14:03:58 +01:00
Denis 'Ledur' Vermylen d0dcd22456 [IMP] hr_holidays: tree views cleaning 2017-12-11 13:49:36 +01:00
Denis 'Ledur' Vermylen b8c95c2e0b [IMP] hr_holidays: menus reordering and cleaning 2017-12-11 13:49:36 +01:00
Richard Mathot 6cc5ebed1a [FIX] hr_holidays: prevent crash when no employee is linked to the user 2017-12-11 13:49:36 +01:00