Commit Graph
107816 Commits
Author SHA1 Message Date
Jignesh Rathod 1bdca992c1 [IMP] MRP : Improve bom cost report.
Use HTML version instead
2016-08-30 16:00:08 +02:00
Thibault Delavallée 02c748be59 [IMP] tools: sanitizer: add and clean sanitize options
Now having

 * sanitize: run the sanitizer to clean the html (removing javascripts,
   unwanted tags, ...)
 * sanitize_tags: only a subset of tags is allowed in html content.
   Unwelcomed tags are remove dand their content stripped.
 * sanitize_attributes: only a subset of attributes is allowed.
 * sanitize_style: only a subset of style attributes is allowed. Style
   attributes are parsed to keep only a white list.
 * strip_style: all style is removed. It bypasses sanitize_style as there
   is no need to sanitize something that is removed.
 * strip_classes: remove class attributes

Fields parameters have also been updated to match the sanitize options. Html
fields by default are sanitized with sanitize_tags activated but without any
further options. All addons have been updated to match the new options
according to their previous behavior.
2016-08-30 15:54:56 +02:00
Thibault Delavallée 97425bfe3f [REF] various: make mako mail templates more xml compliant
As we will soon improve the sanitizer we will be able to sanitize email
templates body. However this implies some cleaning in the templates to
be sure mako is not considered as invalid html / xml and therefore removed
from the template body.
2016-08-30 15:54:55 +02:00
Simon Lejeune 7d3f9ac9b9 [FIX] project: default stage on task
If you create a task directly, the key `default_project_id` is not set
in the context. This key is used to compute the default stage of the
created task. It is done by creating a domain. Unfortunately, the
domain is always filled with `[('fold', '=', False)]` and thus it
always returns a result that makes no sense when `default_project_id`
is not set. Worse, if you actually create the task, the found stage
that was not in your project is now a part of it.

The fix is to return no result if the `default_project_id` is not set
in the context.
2016-08-30 15:45:15 +02:00
Josse Colpaert 104ef28a8d [IMP] mrp: unbuild should only show lot when product does lot/serial number tracking 2016-08-30 14:16:09 +02:00
Josse Colpaert 5f39f7ca89 [IMP] mrp: scrap's normal form view should also have production_id and workorder_id fields 2016-08-30 14:16:04 +02:00
Josse Colpaert d7595a674e [IMP] mrp: use decoration-danger for not available raw materials even if it gives the same color as when you consume more than foreseen 2016-08-30 13:59:53 +02:00
Josse Colpaert 11c7a87044 [IMP] mrp: products in boms, ... should be stockable by default 2016-08-30 13:59:53 +02:00
Josse Colpaert 17be15fd61 [IMP] mrp: routing of phantom boms in bom
When the routing of the phantom bom is the same as the parent BoM,
the phantom BoM should not recreate the work orders, but use the same
work orders as the parent BoM.  That way, you can create one master
routing and the "consumed in operation" of the phantom bom can be used
linking to the master routing.

If the phantom bom has no routing or the same, it can also use
the "consumed in operation" of his parent bom line if none is defined.
2016-08-30 13:59:53 +02:00
Josse Colpaert d985fa796e [IMP] mrp: Put back field 'priority' to avoid migration problems 2016-08-30 13:59:53 +02:00
Josse Colpaert cc719412d9 [IMP] attachment: binary does not need save as button in widget 2016-08-30 13:59:53 +02:00
qsm-odoo b4a159d261 [IMP] web, website(_*): use web.layout for every web page
The web modules defines a "layout" template which is only used by the
login default page. Now the backend template "web.webclient_bootstrap"
and the frontend template "website.layout" both use the "web.layout"
template as base.

Some parameters can be passed to customize the default "web.layout"
template:
- "head": content will be placed at the end of the <head> tag of the
page
- "title": to set the title of the page (the <title> tag should not be
placed "by hand")
- "x_icon": the url for the page icon
- "html_data": dictionnary whose key-value pairs will be placed as
attribute-value for the <html> tag
- "body_classname": the classname to set on the <body> tag

Note: xpath expression on the website.layout template can now only find
the #wrapwrap element and its children. An expression "//body" will not
have any result. If something has to be added in the body element but
not in the #wrapwrap element, simply change the xpath
<xpath expr="//body" position="inside"> with
<xpath expr="//div[@​id='wrapwrap']" position="after">
2016-08-30 13:57:32 +02:00
qsm-odoo a7930e51ec [MERGE] *: adapt tours to new web_tour.tour system 2016-08-30 13:54:56 +02:00
Christophe Matthieu c41e85ae12 [IMP] website_sale_options: convert tours to use web_tour.tour 2016-08-30 13:54:28 +02:00
Christophe Matthieu dff1b6cc03 [IMP] website_sale: convert tours to use web_tour.tour 2016-08-30 13:54:28 +02:00
Christophe Matthieu 48fccec1f2 [IMP] website_hr_recruitment: convert tours to use web_tour.tour 2016-08-30 13:54:28 +02:00
Christophe Matthieu d39fbea9ad [IMP] website_forum: convert tours to use web_tour.tour 2016-08-30 13:54:28 +02:00
Christophe Matthieu 3fe48f7f49 [IMP] website_event_sale: convert tours to use web_tour.tour 2016-08-30 13:54:28 +02:00
Christophe Matthieu 21e26f6009 [IMP] website_crm: convert tours to use web_tour.tour 2016-08-30 13:54:28 +02:00
Christophe Matthieu ea1c061e11 [IMP] website: convert tours to use web_tour.tour 2016-08-30 13:54:28 +02:00
Christophe Matthieu 0f8f68dfa7 [IMP] web_editor: convert tours to use web_tour.tour 2016-08-30 13:54:28 +02:00
Christophe Matthieu 4ba425583e [IMP] survey: convert tours to use web_tour.tour 2016-08-30 13:54:28 +02:00
Christophe Matthieu 427bc242fb [IMP] point_of_sale: convert tours to use web_tour.tour 2016-08-30 13:54:28 +02:00
Yannick Tivisse 6c4163967c [IMP] sale: Improve the onboarding and clean the views 2016-08-30 13:23:10 +02:00
Yannick Tivisse 61c2867e39 [IMP] sale: reorganise res config settings 2016-08-30 13:20:23 +02:00
Yannick Tivisse 58eb07782d [IMP] sale: typo 'Sale Order/Report' -> 'Sales Order/Report' 2016-08-30 13:20:23 +02:00
Yannick Tivisse 4b60d5c1bd [IMP] account,sale,purchase: typo 'Payment Term' -> 'Payment Terms' 2016-08-30 13:20:23 +02:00
Yannick Tivisse 8c08a9be10 [IMP] sale,account: Various UX improvements and cleanings for onboarding purpose
SPECIFICATION:
==============

- hide income account in invoicing wizard (if user is not a accounting accountant at least)
- hide Inventory tab in products form if no access to Inventory app
- in internal category form, hide accounts if user is not an accounting accountant
- hide Vendors if no access to purchase (as well as Description for Vendors in Notes)
- remove Warranty or hide it with related access rights
- tax cloud config is not userfriendly (product form, what is TIC category? what does it imply?)
- rename Accounting tab (in products) into "Invoicing" and move Invoicing Policy and Taxcloud Config there. Make tax field visible for sales
- reset Internal notes field on product (under Notes). Used by many companies and useful for search on website.
- invoice: validate button should be for billing users only
- a sales user can't see Configuration menu (with salesteams)
- a sales user should not see Invoicing report link &nd settings link in salesteam dashboard
- a sales user should not see the field for invoicing target in dashboard (in invoicing if activated for salesteam)
- In sales team, quotations and invoices should be only one option -> that way invoicing fields & targets show up to the admin
- SO status: sale order -> Sales Order
- Everywhere: Payment Term -> Payment Terms
2016-08-30 13:20:23 +02:00
Yannick Tivisse e945b86d5a [IMP] product: Move Inventory tab in product form to stock module
By the way, move the group 'Vendors' on the inventory tab, it doesn't. It
doesn't make sense to display this information if you don't actually buy
the product
2016-08-30 13:20:23 +02:00
Damien Bouvy 63c4854841 [FIX] base: raise an actual exception and not a string 2016-08-30 10:58:52 +02:00
Yannick Tivisse ba104eba6a [MERGE] sale,account,project,issue: Notifications review for portal users 2016-08-30 10:20:47 +02:00
Yannick Tivisse b1680bc319 [FIX] project,issue: Correct management of Notifications to portal users
[FIX] website_project: override get_access_action to redirect to my/tasks,projects

[FIX] project_issue: Don't send notif template to portal customers if no website

[FIX] website_project: Portal users can receive notif template
2016-08-30 10:18:53 +02:00
Yannick Tivisse 9a51855008 [FIX] account,sale: Correct management of notifications to portal users
[FIX] sale: Don't display 'View quotation' button on email if no website
If the website module is not installed, the button 'View Quotation' will lead to the backend chatter page, which is not very useful in our case.
As the quotation is already attached in the mail as a pdf, just don't display the button if the website module is not installed

[FIX] account,sale: Don't send notif template to portal customers if no website

[FIX] account: Don't display 'View Invoice' button on email if no website
If the website module is not installed, the button 'View Invoice' will lead to the backend chatter page, which is not very useful in our case.
As the invoice is already attached in the mail as a pdf, just don't display the button if the website module is not installed

[FIX] website_sale: override get_access_action to redirect to my/invoices
2016-08-30 10:17:38 +02:00
qsm-odoo fba51f1cbd [FIX] web_tour: correct automatic click on links
Previous implementation was checking if the element we want to click
on is a link and if this is the case, only forced a redirection. This
had been done because the redirection was not working by simulating a
click, but in fact it works, the click simulation only had to be
improved.

Also, only forcing a redirection is wrong as some links have both a
real redirection link and a event handler binded to them.
2016-08-30 10:16:40 +02:00
Yannick Tivisse df802f9005 [FIX] portal_sale: Move portal access rights to website_portal_sale
Currently as no portal backend view exists anymore, the method 'get_access_action' will return a url to the backend.

For example, if you have only sale installed (with portal_sale in auto install mode), you'll get access rights to sales orders in read mode in backend. The correct way to handle this is to return an access error and give the access rights to these documents only in website_portal_sale is installed, i.e. when the portal view is accessible in frontend under my/orders/ controller.
2016-08-30 10:09:36 +02:00
Yannick Tivisse db28e23e76 [FIX] website_portal_sale: Remove useless/broken link to backend from my/order,quote
portal_sale: Remove invalid 'get_formview_action' overwrite

This commit https://github.com/odoo/odoo/commit/ecd58457ed2311cfec8cae9d01b04ce995b31ec7 has removed some backend portal actions, but didn't remove them from the template links.
2016-08-30 10:09:36 +02:00
qsm-odoo c69f306b5d [FIX] web_editor: correctly display image and focus point in bg option dialog
Before this commit, the focus point the user can move on the image in
the background position configuration dialog was only following the
mouse as we want if the image original width was larger than the dialog
one. This is because the javascript relies on the fact the image takes
100% width of its container. To fix this, the container now does not
take 100% of modal width but the size of its internal image (with a
max-width of 100%).
2016-08-30 10:04:14 +02:00
Jainik Patel 531ed05a43 [IMP] account: add bank statement operation presets as template in l10n modules.
In details:
* account.operation.template object renamed into account.reconcile.model
* account.reconcile.model.template object created
* added some records for l10n_be

Was PR 11230
2016-08-30 09:55:24 +02:00
Nicolas Martinelli 5100aa8113 [FIX] website_sale: strikethrough price
It might happen that a price is strike through in the shopping cart
although it has the same value than the discounted price. This can be
due to differences in decimals smaller than 0.01.

The fix is to apply the same logic than in other places: strike through
if the difference is larger than 0.1.

opw-685109
2016-08-30 09:53:10 +02:00
Nicolas Seinlet a437811146 [FIX] stock: action_assign(reserve) should have a check to see if the move id is in the keys of the main_domain as was done in the previous loop
This is needed to avoid the scheduler to stop suddenly as the scheduler
takes a bunch of moves to reserve without looking if all moves of
a picking are taken.  That way, it is possible that a certain key
is not there in this dictionary and the solution is to simply
filter them out.

Closes #13286
2016-08-30 09:39:43 +02:00
qsm-odoo 88d8a2ca8e [FIX] web_editor: hide header in customize dropdown when it has no content
In some snippets, the parent hierarchy has many elements. So, when
selecting a deep child of one of those, the customize dropdown had
many dropdown headers showing the parent hierarchy but without any
option for many of them.

Commit de0d9fd666 already fixed the case
where the dropdown only contains dropdown headers. This commit is an
adaptation to hide these headers one by one.
2016-08-29 18:50:51 +02:00
qsm-odoo ca01e7d7c5 [FIX] web_editor: change margin and resize handle icons on focus
The feature was lost because of a programmation error (use of this in
a non-binded function).
2016-08-29 18:50:51 +02:00
qdp-odoo a267d8205b [FIX] account: fix account_reconciliation_widget when a tax is used. compute_all() now expects browse_records as parameters 2016-08-29 18:03:05 +02:00
Jeremy Kersten f1a331850d [FIX] website_sale: fix order for the pager in front end.
In psql, use LIMIT and OFFSET together without a fully specified and uniq sort order
will generate unexpected behaviour.

Eg:
> id   id_dept  name
> -------------------
> 1    1        Tom
> 2    1        Mike
> 3    2        Meggie
> 4    2        Marge
> 5    3        Bart
> 6    3        Lisa

> using LIMITed selects like:

>    SELECT * FROM employee ORDER BY id_dept LIMIT 3
>    SELECT * FROM employee ORDER BY id_dept LIMIT 3 OFFSET 3
>    SELECT * FROM employee ORDER BY id_dept LIMIT 3 OFFSET 6

> You can have some result missings from the 3 requests, and others duplicated.
> Because id_dept is not a uniq order.

opw-686639

note: backport of saas-12 4dce8616
2016-08-29 17:08:25 +02:00
Raphael Collet b30bc58627 [FIX] account_budget: remove print statement 2016-08-29 16:19:23 +02:00
Raphael Collet 63a3c43be7 [FIX] website_crm_partner_assign: remove print statement 2016-08-29 16:18:39 +02:00
Martin Trigaux 9bbdec5dc9 [FIX] update saas-10 translations by merging 9.0 and master
using the --uses-first parameter on msgmerge this time
2016-08-29 15:35:58 +02:00
Christophe Matthieu 6d45450520 [IMP] website_sale: better performances 2016-08-29 15:33:05 +02:00
Christophe Matthieu 688db44c42 [IMP] website_sale: improve performance, use less db request to have pricelist data
Use pricelist in the context instead of pricelist id.
2016-08-29 15:32:44 +02:00
Christophe Matthieu 50890347c1 [IMP] website: increase in performance using the cache
Avoid the excessive use of with_context method
2016-08-29 15:32:44 +02:00