Commit Graph
118163 Commits
Author SHA1 Message Date
Romain Derie a7e2bd8666 [IMP] account(_payment), payment, web: show residual amount..
.. & hide transaction list + page numbers on HTML report.

1. Before this commit:
   Portal Invoices were displaying the total amount instead of the residual
   amount. The pay button would also trigger a payment for the total amount

   Now:
   If part of the invoice is already paid, we show the residual amount and
   payment transaction amount are set to residual amount so the client is asked
   to pay what he really needs to pay.

2. Processed transaction results in a bootstrap alert message displayed at the
   top of the page, showing warning, success or alert depending of the result.
   This alert is supposed to show thank message `post_msg` only if it set.

   Before this commit:
   Since `post_msg` is an html field and editable through summernote, it will
   never be empty. Indeed, empty field with summernote are replaced by a `br` tag
   inside a `p` tag.
   The condition would never be false, resulting in an empty `p` with a `br`
   inside being displayed at the bottom of the alert, making it looks like it is
   bugged.

   Now:
   The condition also consider summernote's empty string as such.

3. Remove the transaction list from the invoice portal template since it is not
   an important information to the client.
   Some client would not even understand what it is.

4. Hide page numbers on HTML report since they are not split in pages and page
   number remains empty, resulting in `Page: /` (Or empty square with the
  'clean layout.)
2018-06-22 18:32:49 +02:00
Romain Derie 3d7e6b4757 [FIX] account, portal: Adapt sidebar to be more responsive
1. Print & Download button can't be next to each other for some responsive
   reason:
   * On small computer screen size, there is not enough spaces so one button is
     pushed on a new line.
   * Button is also pushed on a new line even on big screen on other languages
     where the words can be a lot bigger (e.g: french "Imprimer/Télécharger").
   * Inverse problem appear if the words are smaller, both buttons won't fit
     all the available width and it will breaks the layout

2. There is an issue on big phone resolution in landscape mode.
   (iPhone X, Pixel 2 XL,..)
   Indeed, they are detected by bootstrap as 'MD' and not 'SM'.
   This was causing the sidebar to be displayed as for computer (fixed on the
   left side) but since there is not enough vertical space (height) in
   landscape, the bottom part of the sidebar would be hidden off the screen.

   Side effet: On small computer screen, it will now also be displayed like in
   mobile. This is in fact better since the invoice being displayed on
   col-sm-8 on these small screen would be completely squashed (since not
   enough width available to display things correctly).

opw-39876
2018-06-22 18:32:49 +02:00
Romain Derie e6b42cf35d [IMP] account, portal, *: Move pager in breadcrump
*project/purchase/sale/website_quote

Before this commit:
Some module having a portal page (Quotation, SO, Purchase..) would display a
pager in the page, sometimes on the document header, sometimes in the middle
of it.
Every template would have to t-call the `portal.record_pager`.

Now:
The generic portal breadcrump will now display the pager directly on the top
right. It means every portal template setting `prev_record` and/or
`next_record` will automatically have the pager displayed without having to
call it.
Plus, it will be displayed at the same position for every template, making
the behavior more consistent.

Plus, it will also remove the background color from the breadcrump and hide the
home button when you are already on the home page.

opw-39876
2018-06-22 18:32:49 +02:00
jpr-odoo cea2a454ae [IMP] account*: update invoice page view on customer portal
*account_payment, l10_in(_sale), sale(_stock), web

With this commit:
The invoice preview in portal (/my/invoices..) is now the HTML version of the
PDF report.
The HTML preview is based on the invoice report to closely match what is
already done in Odoo.

The invoice preview is displayed in an 'iframe', it is mandatory since:
1. Reports are rendered as a separate page as it returns the whole page after
   rendering, which has tag <html>, <head> etc
2. Reports are having their own layouts and their own assets that we we cannot
   load in the page directly or it will break the website layout.
3. We can not use report template with t-call because internally reports are
   using extra params like context_timestamp, company, DateTime, user etc which
   is used in header/footer

--

There will be a chatter (as a modal) to display/see the history of the document

--

For responsive purpose, we use new tables with limited column (Description,
Quantity and Amount) for responsive purpose (small screen).
It also adds some bootstrap classes to reports for responsive purpose.

--

The 'Pay Now' button remains if you already paid with 'wire transfer'.

--

Add margin after the header and before the footer to look like the real printed
document, without alterating the real printed version

Task ID: 39876
2018-06-22 18:32:49 +02:00
jpr-odoo 949ce0278a [IMP] portal: add a generic PortalSidebar widget to be used in customer portal
with this commit, this generic widget allow to basic functionality for portal sidebar like: print btn (direclty print the document),
 set due or delay label of the document (based on given date), used affix to locked to an area on the page for sidebar.
 Purpose is to reuse it in account customer portal and online quotes notably.
 some css code convert to the less file to have working portal sidebar skeleton, which is already used in website_quote

 Task ID: 39876
2018-06-22 18:32:49 +02:00
qdp-odoo 07c111fa72 [IMP] account: onboarding improvement
Improves the 'chart of account' step by showing all the accounts in the list instead of the default limit

Was part of task 1838269.
2018-06-22 13:05:19 +02:00
eco-odoo 52a0395040 [IMP] account: update dashboard sales and purchase journal graph
The sales journal graph  should show the cash-in forecast of invoices.
In order to do that we need to display residual amount to be received
based on the invoice due date.

The purchase journal graph should show the cash-out forecast from
invoices. In order to do that we need to display the residual amount to
be paid based on the invoice du date.

Was task: 1855081
Was PR #25344
2018-06-22 10:10:18 +02:00
qdp-odoo d1a148a2ba [IMP] account: better order of details in aged partner balance report 2018-06-21 16:00:01 +02:00
Joren Van Onder 72c445045d [IMP] account: show total of tax base amounts when auditing taxes 2018-06-21 09:13:40 +02:00
Pieter Paulussen 50ee1c964b [FIX] account: fix account_move_line's default_get()
When creating a journal entry manually, the value proposed as next line was not taken into consideration all existing lines.

Was PR #25298. Courtesy of Pieter Paulussen (Dynapps)
2018-06-20 17:37:09 +02:00
qdp-odoo 6424111f7a [FIX] account: cash based taxes mixed with regular ones
Previously, the use case where a cash basis tax and a regular one were combined on the same invoice line (for example) was not supported (technically, there's a single boolean for the tax exigibility of the sale/purchase line). Since it appears this is a real need, this have been improved in the generic tax report (in enterprise repo) in revision https://github.com/odoo/enterprise/commit/f7e33b8114d4d649551a155d0ca8cc4f43f1fc01 and this commit fixes the community side, to copy only the base line of the tax exigibile on payments in the cash basis move
2018-06-20 17:18:21 +02:00
Romain Derie 27825cbf13 [FIX] sale: unify both pricelist & sale option to show discount
Sale module has an option to show or hide discounts on order lines.
Pricelist also have a field to include the discount in the price or display the
full price strikethroughed.

Before this commit:
If the sale option was disabled, the pricelist option would be hidden, possibly
left enabled.
This will cause a strange behavior in frontend where user would still see the
strikethroughed price even if the sale module option was disabled.

Now:
If the sale option got disabled, we also disable the pricelist option

Closes #14741
2018-06-20 16:43:08 +02:00
Olivier Colson 9cc4c453d6 [FIX] account: creation of account.payment
Allow to give the value of the payment method by the key 'default_payment_method_id' of the context, as the regular usage wants.
2018-06-19 17:55:54 +02:00
Olivier Colson 440a6fe26c [IMP] account: batch payments aren't only for inbound payments
Enterprise module has been renamed and code adapted accordingly
2018-06-19 17:53:17 +02:00
Olivier Colson 4aa28921e1 [MOV] account_batch_deposit > account_batch_payment 2018-06-19 10:26:49 +02:00
Nicolas Martinelli ec30c1b41c [FIX] point_of_sale: modify tax
Prevent the modification of a tax which is used in an opened POS
session. This avoids inconsistency between the payment and the order
accounting entries.

opw-1859092
2018-06-19 08:47:00 +02:00
Hetashree Chauhan 06a804596e [REF] stock,uom: error message more clear
Change to more understable error messages

TASK-1841502
2018-06-18 16:49:16 +02:00
Christophe Simonis 9f84707653 [MERGE] forward port branch saas-11.4 up to a935d5bc83 2018-06-15 16:03:31 +02:00
Christophe Simonis a935d5bc83 [FIX] base: fail during previous foward-port 2018-06-15 15:11:06 +02:00
Fabien Pinckaers ca0a382f4f [IMP] mail: shorten help message 2018-06-15 14:47:02 +02:00
Christophe Simonis 73652a0b19 [MERGE] forward port branch saas-11.3 up to 50860317cc
Note: 1aacc96262 has been ignored and will
be forward-ported later
2018-06-15 13:27:27 +02:00
Christophe Simonis 50860317cc [MERGE] forward port branch saas-11.2 up to b170a753e1 2018-06-15 11:30:27 +02:00
Thibault Delavallée 8c472b7b78 [REM] fetchmail: remove action_id on fetchmail
Incoming email servers have an action_id field holding a server action to
run on newly created records. It comes from old implementation of mail
gateways in Odoo. Since then mail gateway has evolved. Incoming mail servers
are not linked to a unique model anymore. With aliases and automatic thread
creation mails can create records in various models.

As the server action is bound to a given model it causes issues. Either
we have to give back the result of the mail gateway processing to ensure
models match. Either we have to limit action_id to records created
using the "default model behavior" of incoming mail servers.

We choose to remove this field. Same result can be achieved with an
automated action running on create trigger. If exactly the same
behavior is intended the following rules should be applied

 * add automated action with model linked to the one you want to
   update depending on alias configuration and work flow;
 * set trigger to create;
 * set action as python;
 * if it is necessary to be linked to the mail gateway, check in
   record message_ids that there is a message with message_type
   being 'email' meaning it has received an incoming email;

Using that heuristic migrating existing fetchmail action to server actions
should be quite straightforward and will give more flexibility.

This commit is linked to task ID 58641. Closes #23621 .
2018-06-15 10:35:11 +02:00
Christophe Simonis b170a753e1 [MERGE] forward port branch 11.0 up to b05e4d5f95 2018-06-15 10:15:27 +02:00
jem-odoo 8a03563269 [FIX] sale_timesheet: remove useless field in sql view 2018-06-15 09:43:52 +02:00
Christophe Simonis b05e4d5f95 [MERGE] forward port branch saas-15 up to a53bea49fe 2018-06-14 21:28:39 +02:00
Christophe Simonis a53bea49fe [MERGE] forward port branch saas-14 up to 7c8f335988 2018-06-14 19:19:14 +02:00
Christophe Simonis 7c8f335988 [FIX] sale: do not load non-existing file
Revert fd2b130428
2018-06-14 18:29:59 +02:00
Nicolas Martinelli 5ac40752a4 [FIX] mrp: register time on WO
When manually registering a time on a Work Order, an error is raised
because of an incorrect value for `workcenter_id`.

The field is added in the view.

opw-1851766
2018-06-14 18:20:52 +02:00
Nicolas Martinelli 7aef847585 [FIX] event: event stat button
Display stat button to groups who have read access to events.
2018-06-14 18:17:00 +02:00
Toufik Benjaa a3c9c286cc [FIX] payment_stripe: Make stripe.js code more generic
- Stripe.js was limited to only a few pages, which means, if you tried to
implement a new payment route it would never work without modifying
stripe.js to support the new case.

  This commit allows stripe.js to be generic and work with any page.
2018-06-14 18:06:38 +02:00
Christophe Simonis 803df909b1 [MERGE] forward port branch saas-14 up to 804d68efe5 2018-06-14 18:05:38 +02:00
Christophe Simonis 804d68efe5 [MERGE] forward port branch 10.0 up to 23a1bce2a9 2018-06-14 18:03:26 +02:00
Christophe Simonis 23a1bce2a9 [MERGE] forward port branch 9.0 up to 90165e2d96 2018-06-14 17:29:56 +02:00
Christophe Simonis 90165e2d96 [FIX] WorkerCron: keep registry alive after job processing 2018-06-14 17:17:13 +02:00
Christophe Simonis 5233dbdb54 [FIX] core: do not clear cache when removing registry from pool
No need to force other workers to reset their cache.
2018-06-14 17:17:13 +02:00
mreficent b99b4e384f [IMP] *: set create=False on some views
Same as df05c81, the other views of the action have disabled the create.
To be consistent, remove the create button everywhere

Closes #25239
2018-06-14 16:55:49 +02:00
mreficent 6db546949b [IMP] mrp: mrp_production_report action doesn't need tree view
There exists two actions for the same mode
The mrp_production_report action is used for the graph and pivot.
The reporting view does not need a form view, which can be displayed in the
operation action

Closes #25239
2018-06-14 16:55:49 +02:00
mreficent 69e9407989 [IMP] point_of_sale: remove the kanban mode from action
The action action_pos_config_pos is to configure the PoS config record.
No need to display a kanban as to launch a new PoS

action_pos_config_kanban is the one that display the kanban view

Closes #25239
2018-06-14 16:55:49 +02:00
RomainLibert dff3cd6319 [FIX] hr_holidays: avoid execution of onchange when no employee linked
If the current user is not linked to any employee we cannot retrieve his
calendar and so we cannot compute default times for the leave.
2018-06-14 16:38:18 +02:00
Prakash Prajapati 42ba1298d8 [FIX] website_sale: fix form view not opened for unpaid orders and abandoned carts
Closes #PR:24940. Related to task/issue ID 1851353.
2018-06-14 16:18:55 +02:00
Priyanka Kakadiya a4290faebf [FIX] hr_holidays: set fallback timezone when user has none
Field tz is not mandatory on res.partners, so we need a fallback in case
it is not defined.

Related to Issue : 1856843
Closes #25206
2018-06-14 16:12:53 +02:00
Adrien Dieudonne 1aacc96262 [FIX] web: checks rpc responses in web.ajax
Before this commit, load_action and load_views were never resolved
in case of internet connection loss.
It's because the call is triggered by web.rpc direcly who uses
ajax.rpc without any response check.

Now the rpc response is checked in web.ajax.
Thereby all responses are handled whether they come from session.rpc
or rpc.query.
Plus, it was not the responsibility of the session to check the
rpc responses.

Steps to reproduce the issue:
(1) load_action:
- Go to the app switcher for the first time
- Force disconnected from the network
-> No notification appears and the user aren't notify
(2) load_views (mobile only):
- Go to Sales -> Quotation
(In this case, the first call is 'load_views' because we need to force
to load some views like kanban view)
- Force disconnected from the network
-> No notification appears and the user aren't notify

Note: It's now important to notify the user about connection loss
because a recent improvement in mobile app replaces the 'retry screen'
and lets the webclient handle connection issues by itself.
The single odoo mobile app is supposed to work with all databases
from 10.0.
2018-06-14 15:57:55 +02:00
Christophe Simonis c13d67dd25 [FIX] website: valid time zone guessed from GeoIP
The timezone returned by GeoIP may be unknown by `pytz` due to
incompatibilities between GeoIP and pytz databases (which may be outdated).
2018-06-14 15:49:16 +02:00
Tejas Shahu c62f105f68 [FIX] mail: fix mismatch between recordset and id
Recently a ref() has been converted into a direct xml id match. As this
does not return a recordset but an ID, the .id that follows is not
necessary anymore.
2018-06-14 15:40:38 +02:00
Christophe Simonis 45f2876694 [FIX] stock: remove invalid test
scrap test is irrelevant in version 11.0
2018-06-14 14:59:23 +02:00
RomainLibert ed47e3a546 [FIX] event: use groups to hide event count stat button
In order to avoid the access error when trying to view a partner form
view we should hide the event count stat button for the users who don't have
access to it (must be event_user or event_manager to read this field).

Closes #25225
2018-06-14 14:55:55 +02:00
Thibault Delavallée 8d6ee5cb08 [FIX] website_event: put location in calendar event only if there is an address
Otherwse there is a traceback. Anyway no need to put a void location.
2018-06-14 14:44:38 +02:00
Thibault Delavallée 51d0a52c9b [FIX] product: wrongly placed break statement
Oversight of last forward port.
2018-06-14 14:19:03 +02:00
RomainLibert 84acd427b8 [FIX] website_event: allow controller to read event.registration
The controller /event/<model("event.event"):event>/registration/confirm
was broken since the portal user cannot read event.registration objects.

In 9.0 this was not an issue as we browsed and sudoed the
event.registration, but since in 10.0 this line disapeared so did the
sudo which this commit reintroduces.
2018-06-14 14:14:50 +02:00