Commit Graph
119137 Commits
Author SHA1 Message Date
Fabien Pinckaers 7c8ab8a574 [IMP] base: improve kanban of modules, cards not clickable (top-right menu)
[NEW] base: show enterprise module, with an 'upgrade' button
[IMP] *: some modules renaming, and improved copywriting of manifest
[IMP] *: utm on links to odoo.com
2018-08-06 00:29:51 +02:00
Fabien Pinckaers 0a6353216b [FIX] mail: button are now translatable
[IMP] mail; various CSS issues
2018-08-03 16:30:01 +02:00
Thibault Delavallée 791d90203d [MERGE] various: update applications manifests
Purpose of this merge

 * improve the installation of modules;
 * module descriptions are not up to date in the software (still outdated
   screenshots for example). Some features are no longer there;
 * there is a lot of duplicated content to translate since apps are already
   described on our website;
 * apps in system homepage are not always called the same way than the
   module installed ;
 * showcase the website features in a neat apps store (remove tech
   dependencies, clean names and descriptions);

Specifications

 * improve kanban view of modules;
 * add a discover button that jumps on the website of the application;
 * do not fill text description in description html for apps as it is not
   user friendly;
 * remove deprecated index.html used as description_html;
 * update names and summaries of applications;
 * update names and summaries of website applications;
 * update some categories;
 * update website links;

See subcommits for more details.

This merge is related to task ID 47179 and 1861544. It closes PR #22689
and #25556. First one is about classic applications while second one is about
website applications.
2018-08-03 15:42:44 +02:00
David Beguin 9434f7b64e [REF] Portal Controller : Remove domain from account and purchase
The list of visible records are anyway based on access_rights.
State has been removed from the domain.
If the portal must be customized for a model,
access rights / rules can be added to do so.

Task ID : 30985
2018-08-03 15:20:42 +02:00
Mitali Patel 84f528bcff [IMP] Portal - Share link : Easily share the url of a document
Purpose
=======
- Quickly share the url to someone else (a client, a colleague,...)
- Ensure that the recipient can access at least
  the portal view of the shared record.
- Typically used when a client cannot retrieve the mail to access his order.
  The share link can be used in this case.

Specifications
==============
For any object inheriting form portal.mixin:
    - Add a button SHARE (not visible in edit mode)
    - When clicking on this button, a popup opens with :
        - A warning message for tasks and projects only (see below)
        - the link (like in gmail) that can be copied
        - Recipients
        - mail composer (with preselected template) ==> see below
        - button [Send Link] [Copy Link] Discard
        - After sharing document, put internal note like
          "Document shared to xyz,...." with template message
    - Anyone with the link, even anonymous user (not logged in) can have access
      to the document with the access token provided in the url.

Impacted models:
    - account.invoice (Community)
    - project.project (Community)
    - project.task (Community)
    - purchase.order (Community)
    - sale.order (Community)
    - helpdesk.ticket (Enterprise)

Warning messages and access rules:
    Allowed :
        - SO canceled or draft will be accessible with the link
          with access_token
        - If the customer account is B2B (signup not enabled), the recipient
          will anyway see the document as the user specifically wants the
          recipient to see the document.
    Restrictions :
        - For Project and Task, if the privacy is not public, then, there is a
          contradiction between the access_token mechanism
          and the privacy of the document.
        - A warning message will be displayed in the share wizard to inform the
          user if the document cannot be visible by the recipients and to
          ask him to set the privacy to 'Visible by following customer'.
          The send button will, in that case, be hidden.
        - To avoid to block the share for a new project, default privacy value
          is now set to 'Visible by followong customer'

Technical implementation
========================
- Move the access_token mechanism (field + methods + mail controller)
  to the portal.mixin to be able to use it in a generic way for each object
  inheriting the portal.mixin
- Generalise a part of the _*model*_get_page_view_values method
  into a single one in portal
- Generalize the _*model*_check_access into the portal controller of the
  portal module
- Remove the init_column + default value for the access_token
  > old records have an access_token,
  > new one won't but it will be generated on demand via the get_access_token
  Done for performance reasons
- Add share button into action menu separately. + kanban view context menu
  (except for task and project where button not in action menu but 'simple'
  button for task and project because other modules already provide action
  to send documents by email, which is not the case for project and task.)
- Add a sign_token used to authentify the recipient in the portal view chatter,
  if any. The message will be posted as if the user was logged in.
- Set the _get_share_url as private for security reason
- Add a redirect parameter to _get_share_url to get
    If false : The direct portal view url
    If True : The redirect url (mail/view/?)
- Cleaning up unnecessary code

- Bug fix :
    - Before, if user was not logged and record had partner_id,
      if partner id was null, post message was done as admin.
      Now, the post message is done as public user.
    - If the user had an uid but had no access_token, he could be able
      to gain the access token of the record.
      check_access_rights was missing in the get_access_action.

Task ID : 30985
Closes #25629
2018-08-03 15:20:42 +02:00
Laurent Smet 766a1025b1 [IMP] l10n_be_invoice_bba: make structured comm working per company, not partner (#26154)
The structured communication is no longer configured for each partner independently. It can be configured like others communication type through the settings.

task: 32254
PR: 26154
co-author: Haresh Shyara (hsh)
2018-08-03 15:07:45 +02:00
Priyanka Kakadiya 66d87a6e55 [IMP] note, purchase: rename main menu name
This commit renames main menu name same as module name in order to be less
confusing to users. This implies a small fix in test main flow because it
is based on the menu name.

This commit is related to task ID 47179 and PR #22689.
2018-08-03 14:55:08 +02:00
Priyanka KakadiyaandNimesh Jethva f5a96effb4 [REF] various: update manifests for better wording and names
Time has come to update a bit applications name, summary and website links.
Purpose is to have a website page correctly set for applications to be used
in conjunction with the newly-introduced discover button.

Names and summaries are updated to be more updated and shiny.

This commit is related to task ID 47179 and 1861544. Related PR are #22689
and #25556. First one is about classic applications while second one is about
website applications.

Co-Authored-By: Nimesh Jethva <nje@odoo.com>
2018-08-03 14:55:04 +02:00
Priyanka KakadiyaandNimesh Jethva c7eae6552e [REM] various: remove index.html for apps.
Several applications have an index.html file that is used to fill the html
description of the module. However those descriptions are generally not
up to date: they contain outdated screenshots, feature descriptions are
not maintained, ...

Instead we just rely on the discover button that redirects on the application
website. It has more chance being up to date. Moreover updating a website
is easier than updating the index.html of a module.

This commit is related to task ID 47179 and 1861544. Related PR are #22689
and #25556. First one is about classic applications while second one is about
website applications.

Co-Authored-By: Nimesh Jethva <nje@odoo.com>
2018-08-03 14:54:42 +02:00
Priyanka Kakadiya f8ce302529 [IMP] base: do not fill description_html with description for applications
For applications we don't want to have an html description based on the
text field description. This description is just a small summary and does
not add much value to the Apps view. If no description_html is given let
us just use the newly-introduced discover feature instead of filling
ugly content in html description.

This commit is related to task 47179 and PR #22689.
2018-08-03 14:54:09 +02:00
Priyanka Kakadiya 4ed7690d43 [IMP] base: add dropdown on modules kanban view and add a discover button
Purpose of this commit is to ease application finding and use by improving
kanban view of modules. A dropdown with action is added. It includes a
discover functionality letting users go to the App page see their description.
This page is based on the website of the application.

When a module has a website page it is used as link for the discover feature.
It allow to directly link to a webpage to discover the features of the
application instead of relying on the description and/or index.html that
are not up to date in most applications.

Future commits will gradually remove description from modules that have
a website page in order to use the discover button and avoid having outdated
content.

This commit is related to task 47179 and PR #22689.
2018-08-03 14:53:52 +02:00
Thibault Delavallée aeb381c06e Revert "[FIX] mail, sale: button texts are translatable"
This reverts commit c4af8f95d0.

Break master, not tested, blocks other pending merges.
2018-08-03 13:59:14 +02:00
Fabien Pinckaers c4af8f95d0 [FIX] mail, sale: button texts are translatable
[IMP] mail: improve email templates and simplify DOM
2018-08-03 13:39:15 +02:00
Pratima Gupta 31497ee79e [FIX] base, mail : fix typo in bel(l)ow
Below takes only one 'l', not two. Fix typo in

 * tooltip of create button;
 * mail demo data;
 * comment in stock

This commit is related to task/bug ID 1870964 and closes PR #26099.
2018-08-03 12:35:02 +02:00
RomainLibert f0589d3351 [MERGE] sale,pos_sale,website_sale: prepare for sale_enterprise
We want to add a dashboard view for sale in enterprise, for this we need
to make changes in the way views are defined on the actions (use
act_window.views) in sale.

We also need to modify the demo data in order to have beutiful display
in demo mode.

Task: #59409
Closes #25940
2018-08-03 11:18:20 +02:00
RomainLibert 7cf785ee3c [IMP] website_sale: change demo data sale_order create_date
In order to beautifully display data in the cohort view in enterprise,
we need to be able to define the create_date of sale_order
2018-08-03 11:18:19 +02:00
RomainLibert c77824c471 [IMP] sale,pos_sale: use act_window.views in
In order to be able to add some enterprise views to sale, we need to
define some act_window.views.

We also make some slight changes in the sale_report for use in
sale_enterprise
2018-08-03 11:02:46 +02:00
Fabien Pinckaers 5875b0ce2e [IMP]: mail layout CSS fix on button 2018-08-03 09:44:31 +02:00
jem-odoo 8d72fe6655 [MERGE] *_timesheet: selling services improvements
Impacted modules: account, hr_timesheet, sale and sale_timesheet

This merge commit contains many small changes in the way we
sell time in odoo.

* amount to invoice/invoiced amount: change the simple formula
used to really takes amount on invoice into account. This reintroduces
the 2 fields on sale.order.line model.

* some usability improvements: styling project overview, better
error and warning messages, ...

* invoicing timesheet: only timesheet linked to sale line with
'delivered qty' product will be linked to the invoiced (and considered
as invoiced) at invoice creation (instead of validation). Those
timesheets can not be modified then.

* Previous change implies to remove timesheet_revenue, which
became useless.

For more details, have a look at subcommit, as they explain
more precisely their feature and purpose.

Thanks to @bst-odoo for his support and functionnal coaching.

Task #1857652
2018-08-02 16:52:26 +02:00
jem-odoo 09974dcdfc [IMP] sale_timesheet: change demo data 2018-08-02 16:12:40 +02:00
jem-odoo e8bd6d67f1 [IMP] sale_timesheet: tooltip, style and extenadable in overview
This commit add the support of the tooltip for the last
table in plan project. It also provides a cosmetic change
and make the code more extendable as we will need this in
enterprise to add a column to include forecast in remaining
computation.

Task #1857652
2018-08-02 16:12:40 +02:00
jem-odoo ecd5e60697 [IMP] sale_timesheet: hide 'invoice' button when no service to invoice
In plan project, when there is something to invoice on the SO
the "Create Invoice" button will be displayed, even if the
"to invoice" amount is zero. This can happen when the SO contains
an ordered service line (that does not create project/task). This
line will be in 'to invoice' status, but it is not taken into
account on the plan project since it does not interact with the
project (no created task, no timesheet, ...)
So, to avoid confusion, we hide the button on the project
overview.

Task #1857652
2018-08-02 16:12:40 +02:00
jem-odoo c54f095243 [IMP] hr_timesheet: warning when AA inactive to log timesheet
If the project does not allow timesheets, the 'timesheet' tab on task
should be hidden. If the project allows timesheet but its related
analytic account is inactive, the warning message will be displayed
to avoid user to record timesheets.

Task #1857652
2018-08-02 16:12:39 +02:00
jem-odoo 9a691b1a1f [IMP] sale_timesheet: improve delete task message 2018-08-02 16:12:39 +02:00
jem-odoo 46b578784c [IMP] sale_timesheet: invoicing timesheets
This commit changes the way timesheet are invoiced.

An invoiced timesheet is a timesheet line linked to a invoiced
(timesheet_invoice_id set). This happens when the sale order line
linked to several timesheets is invoiced, but only for the line
based on 'delivered quantity' policy. Those timesheets will be linked
to the new created invoice.
Those timesheets can not be changed as they are considered as invoiced
to the customer: quantity, project, SO line, ... are freezed.
Those timesheets are now marked as invoiced at the invoice creation,
and not at the invoice validation, like before. This only concerned
Customer Invoice (and not Vendor Bills, Credit Note, ....).

For timesheets linked to a SO line based on 'ordered quantity', they can
be modified as their purpose is only to track the time spend on the SO
line, and it does not impact the amount or the quantities invoiced to
the customer.

The timesheet linked to milestone sale line can be modified too, they
are now linked to invoiced, as their is goal purely time tracking (as
the delivered quantity is manually change on SO line).

This commit also adapt the tests accordingly.

Task #1857652
2018-08-02 16:12:39 +02:00
jem-odoo 9429a0683d [IMP] sale_timesheet: remove useless timesheet_revenue field
The timesheet revenue is a field introduces for 11.0, as a field
computed on the fly (not a computed one). Its goal was to estimate
the theorical (and effective) revenue (amuont of money received when
selling the timesheet), depending of the invoice policy, the quantity
really invoiced, ...
Its computation is quite complex, and is not working perfectly as it
is difficult to determine how much is already invoiced in case of
selling time in ordered quantity.
Also, this field is not used anymore in the project overview, removing
it will reduce code size and complexity. Soon, the amount to invoice and
invoiced coming from the SO lines replaced the timesheet revenue.

This commit removes the field, and its related tests.

Task #1857652
2018-08-02 16:12:39 +02:00
jem-odoo cb7e6ce338 [IMP] sale_timesheet: timesheet_invoice_type computed field
As we plan to remove the timesheet_revenue field, we can
make 'timesheet_invoice_type' a computed field, to simplify
code and readability.
Before, this field was readonly, and set automatically on
timesheet creation.
To allow searching on it, we keep it stored.

Task #1857652
2018-08-02 16:12:39 +02:00
jem-odoo a628d80d5e [IMP] sale_timesheet: sale line of subtask
Before this commit, a subtask was forced to have the same SO line
than its mother.
We now want to make it updatable: the default value will be the one
from its mother, but the user can change it manually and set it to
whatever he want (it still should be a service SO line, belonging to
the same customer than the task).

Task #1857652
2018-08-02 16:12:39 +02:00
jem-odoo 17d0de306e [IMP] sale, sale_timesheet: use untaxed amount inv/to inv
Since the 2 fields 'untaxed_amount_to_invoice' and
'untaxed_amount_invoiced' are reintroced
we can now use them in sale report, and in profitability report when
selling time. They will
be used in the project overview, solving the wrong amount in that view.

Task #1857652
2018-08-02 16:12:39 +02:00
jem-odoo a9658d5bf5 [IMP] sale: untaxed amount to invoice/invoiced on sale line
Similar fields were introduced at d2e33ba57c
but their computation were not totally exact, so someone removed them.
Also, for performance sake, they were replaced by a (too) simpler
calculation at 39d0613187d36f16c541734e80925e9d.
Turns out, those fields were usefull !

Neither of those 2 implementations were 100% correct, so this commit
reintroduced thoses 2 fields on sale.order.line object:

1/ untaxed_amount_invoiced: will contain the amount (money without
taxes) invoiced
from the sale line, taking refund linked to the same SO line into
account. The formula is
   SUM(inv_line.price_subtotal) - SUM(ref_line.price_subtotal)
where
   `inv_line` is a customer invoice line linked to the SO line
   `ref_line` is a customer credit note (refund) line linked to the SO
line

2/ untaxed_amount_to_invoice: will contain the amount (taxes excluded)
of the money to invoice from this sale line. The formula is
   SOL.total - SOL.untaxed_amount_invoiced

Those numbers are interesting in reporting, and to manage the billing
part for salespersons.

Task #1857652
2018-08-02 16:12:39 +02:00
jem-odoo 255e66695a [FIX] account: unexisting fields
When making a refund, a list of field is read during the
process. This field list comes from the
method, which return some field that does not exist anymore.
Reading non-existing fields creates warning in logs
2018-08-02 16:12:39 +02:00
RomainLibert 01f6a0257d [FIX] web: use fieldName instead of field in _sanitizeValue
In _sanitizeValue we can receive field as a string of the form
fieldName:grouping, if we search for this directly in the fields of the
model we won't find anything.

Hence we should use the fieldName part of it.
2018-08-02 11:41:42 +02:00
Nimesh Jethva 2cbdf1b4ad [FIX] web: BS4, restore bold font for main titles of settings 2018-08-02 09:55:20 +02:00
qsm-odoo ba586a6216 [FIX] website: BS4, restore dropdown menus in website navbar
As soon as a website menu contained a sub-menu, the whole website layout
was broken as we put <li/> elements inside a <div/> element (this
occured by mistake with BS4 migration).
2018-08-02 09:55:20 +02:00
qsm-odoo 08117383d0 [FIX] web_editor: activate image tab by default in media dialog 2018-08-02 09:55:20 +02:00
qsm-odoo 2587483f41 [FIX] web: restore the "+" menu in backend
Dropdown menus which collapsed in the "+" menu were not receiving
the proper styling anymore.

Thanks to @nla-odoo
2018-08-02 09:55:20 +02:00
qsm-odoo 8ba0bbb092 [FIX] base_import: BS4, visible error text on import fail
In BS3, the combination "text-danger" and "bg-danger" worked as the red
color for texts was not the same as the red color for backgrounds. With
BS4, they are the same so it does not make sense.

Fortunately, we introduced a mixin customization which automatically
selects the correct color according to the background. So removing the
"text-danger" part is enough to make sure the text will be visible over
"bg-danger" background.
2018-08-02 09:55:20 +02:00
qsm-odoo 90d22851b2 [FIX] web: BS4, review selected dropdown item style (II)
Completes commit https://github.com/odoo/odoo/commit/e10a4303c21332f10d89b0c19661cc11ca0dc7a6
2018-08-02 09:55:20 +02:00
qsm-odoo b1107cba38 [FIX] website_sale: BS4, review some checkout layouts 2018-08-02 09:55:20 +02:00
Kishan Gajjar e391ebff98 [FIX] web_editor: BS4, restore crop dialog UI 2018-08-02 09:55:20 +02:00
qsm-odoo ad12802228 [FIX] website_sale_comparison, *: restore broken scss asset
* website_slides

The app was still using an old BS3 variables that happened to be created
by the website_slides app (that is why the bug was not noticable
on runbot).
2018-08-02 09:55:20 +02:00
qsm-odoo d9b9c4e8e1 [FIX] *: BS4, restore some popover design
Completes commit https://github.com/odoo/odoo/commit/2d5595fcbad73ed0ce03f048fdd870d9659bcd5e
2018-08-02 09:55:20 +02:00
qsm-odoo c120eb3a29 [FIX] hr_org_chart: BS4, restore most of the hr_org_chart feature
With BS4, the popover and the chart design were broken. This is now
restored but could still use a bit of redesigning.
2018-08-02 09:55:20 +02:00
qsm-odoo f63a36e184 [FIX] mail: BS4, restore followers dropdown style 2018-08-02 09:55:20 +02:00
qsm-odoo 8b1d17fe0e [FIX] base: also add vendor prefixes with debug=assets
As explained here: https://github.com/odoo/odoo/commit/770aec399c4e6e29cfc5854318cbda19a605315d#diff-3d7991d8bc534e0372f0bd9b4f9165a7R424,
we have to post-process the generated css to add some vendor prefixes.

Doing that there was however only adding those in non-debug=assets
files.
2018-08-02 09:55:20 +02:00
qsm-odoo a070c2e877 [FIX] base: BS4, restore <select/> style
In enterprise version, the select elements have a custom style. For it
to work, the "appearance" CSS property must be understood... which is
not the case in most browser without vendor prefixes.

As discussed in https://github.com/odoo/odoo/commit/770aec399c4e6e29cfc5854318cbda19a605315d,
vendor prefixes are added by post-processing the scss generation.
2018-08-02 09:55:20 +02:00
Christophe Simonis 7d529c6ae9 [FIX] purchase_stock: adapt fix 3869cdf7d8 to new models 2018-08-01 19:06:17 +02:00
Christophe Simonis 8f093ea6f9 [FIX] hr_holidays: remove useless invisible label 2018-08-01 18:33:34 +02:00
Christophe Simonis 4797627259 [MERGE] forward port branch saas-11.4 up to 8d9366197e 2018-08-01 18:02:29 +02:00
Christophe Simonis 8d9366197e [MERGE] forward port branch saas-11.3 up to 691dd65e0e 2018-08-01 17:23:03 +02:00