Commit Graph
43 Commits
Author SHA1 Message Date
Christophe Simonis fef49061ea [MERGE] forward port branch saas-11.3 up to 4c61621efb 2019-04-08 19:52:29 +02:00
jev-odoo 741ffc45d1 [FIX] account_payment: invalid partner on payment token
The payment token was created using the partner of the invoice,
not the one really paying the bill.

opw 1938787

closes odoo/odoo#32176

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-04-05 08:15:58 +00:00
Nicolas Martinelli fa42cebdc9 [FIX] account_payment: pay credit note
Complement of commit 9a450ac162

opw-1958997

closes odoo/odoo#32115

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-03-26 08:41:12 +00:00
Sébastien Theys 7f3b2d09c1 [IMP] account_payment,sale: change sign & pay button color
Green doesn't go well with purple.

PR: #27293
task-1889346
2018-09-28 14:36:26 +02:00
Toufik Benjaa 6ed44181d0 [IMP] payment_*: payment acquirers error handling
This commit aims to improve the user experience when using payment acquirers. There currently are no error feedback with some acquirers, which leaves the user wondering what is going on and what is the real status of its payment.
In some cases, the user is currently being redirected to the home page even though the payment has failed. We want to make it more obvious to the user that something unexpected has happened by redirecting to an intermediate page that will provide good feedback on payments status.

Another goal of this commit is to order acquirers by sequence instead of by flow and to select the first acquirer by default. This feature was already implmented in commit fe294fd43e521bd2d339e962f43acf46c3d4cb97, some UI adaptations were needed though.

Related to task #36680
Closes #26958
2018-09-19 18:25:32 +02:00
Sébastien Theys 34c47eecd3 [IMP] various,sale: improve sign, pay and reject
Flow
====

Have one model field responsible of telling when the sales order has to be signed or paid to avoid inconsistencies.

The general rule is: sign & pay are only used upfront to confirm a sales order. If a sales person starts to modify (confirm) it manually, we don't need those features. Especially at that point pay should be done with invoices.

Modal
=====

For the sign, we want to force refresh the page to update its state, and thus we need to show the confirmation message on the reloaded page.

For sign and pay, we changed a bit the structure of the text in the modal to allow to translate it more easily. Also fixed the payment selection by moving it into the body instead of the footer.

For the reject modal, we want the feedback field to be required, so we can see in the chatter by who and why it has been rejected.

Misc
====

Moved remaining bits of code related to preview/pay/accept/decline from sale_management into sale, where it should have been in the first place.

Sales Order:
- Improved status/contextual alerts.
- Hide discount from small to fix responsive.

PR: #26801
task-1876864

remove sales help
2018-09-19 12:00:37 +02:00
sri-odoo afdee7d67f [REF] account, account_payment: review 'invoice' design 2018-09-12 09:37:56 +02:00
sri-odoo c78a2dbd8f [REF] portal, *: use a template for tables
Use a template in order to simplify maintenance and keep a consistent design
2018-09-12 09:37:56 +02:00
Sébastien Theys 4a3fd02af4 [FIX] various: clean up portal and reports (sales and invoices)
The goal of this commit is to fix the various views and reports of sales and invoices.

======
Portal
======

Fix breadcrumbs

Fix BS4 issues, alignment of various elements

Better auto resize of the invoice iframe

Fix invoice list for draft invoices

Fix previous/next document pagers

Remove unnecessary monetary widgets (not needed when using t-field if the field is Monetary)

Standardize invoice and sale routes:
- especially when related to displaying: html, pdf (print and download), text
- by using the get_portal_url() also for invoices

Add the total on the left column of sales order

================
Section and note
================

Improve general style:
- notes in italics
- sections: less padding, darker background, no borders

=========
Demo Data
=========

Fix sales order demo data to appear for the admin (instead of system)

PR: #25997
task-1869469
2018-08-29 17:16:06 +02:00
Laurent Smet ef42e03b69 [IMP] sale: add reference on SO + improve usability
Like invoices, a reference is now computed on sales orders.
The configuration of such reference is done through the Wire Transfer acquirer.

The usability of the communication feature (on invoices/SO) has been a bit improved to be more clear.

Was task: 1870121
Was PR #26152
2018-08-14 14:44:11 +02:00
qsm-odoo 37b746c6cf [FIX] *: BS4, restore modal headers
Close icon should now be put after the modal title in the DOM.
Completes commit https://github.com/odoo/odoo/commit/d9801c1abe06b4c20702c0e94c56eea6a3ed8327
2018-07-31 13:07:48 +02:00
qsm-odoo 582933ac01 [REF] *: BS4, replace 'btn-xs' by 'btn-sm'
In a previous commit, we removed the use of the 'btn-sm' classes as we
used it everywhere for default-size buttons instead of customizing the
size of those default-size buttons directly.

This commit proves it was even more necessary as the 'btn-xs' class does
not exist anymore in BS4 and we so can use the 'btn-sm' class instead.
2018-07-27 12:36:54 +02:00
qsm-odoo ee65b44d9e [REF] *: BS4, adapt the label component structure
The '.label' elements have been replaced by '.badge' elements without
the 'badge-pill' class.
2018-07-27 12:36:54 +02:00
qsm-odoo 59237ea819 [REF] *: BS4, review panel and well structure
Panels and wells were dropped and replaced by the "Card" component.
2018-07-27 12:36:54 +02:00
qsm-odoo ed1b18f103 [REF] *: BS4, adapt col-related classes
col-lg-* -> col-xl-*
col-md-* -> col-lg-*
col-sm-* -> col-md-*
col-xs-* -> col-*

col-lg-offset-* -> offset-xl-*
col-md-offset-* -> offset-lg-*
col-sm-offset-* -> offset-md-*
col-xs-offset-* -> offset-*

col-lg-pull-* -> order-xl-1
col-md-pull-* -> order-lg-1
col-sm-pull-* -> order-md-1
col-xs-pull-* -> order-1

col-lg-push-* -> order-xl-2
col-md-push-* -> order-lg-2
col-sm-push-* -> order-md-2
col-xs-push-* -> order-2
2018-07-27 12:36:54 +02:00
qsm-odoo 7f10b55a50 [REF] *: BS4, adapt display classes
The system completely changed. I also had to adapt classes to new
screen breakpoints.

hidden/hide -> d-none
show -> d-block
hidden-xs -> d-none d-md-(block/inline/...)
hidden-sm -> d-md-none d-lg-(block/inline/...)
hidden-md -> d-lg-none d-xl-(block/inline/...)
hidden-lg -> d-xl-none
visible-xs-* -> d-* d-md-none
visible-sm-* -> d-none d-md-* d-lg-none
visible-md-* -> d-none d-lg-* d-xl-none
visible-lg-* -> d-none d-xl-*
hidden-print -> d-print-none
visible-print-* -> d-none d-print-*
...
and all possible combination of those had to be handled too.
2018-07-27 12:36:54 +02:00
kujiu f90cf060a3 [FIX] Syntax of icons (#25577)
Description of the issue/feature this PR addresses:

Accessibility improvements forbids the use of the syntax
`<i class="fa fa-check"/> Some text`
to create a labelled icon. But, by this, some fonts are changed.

Desired behavior after PR is merged:
The old syntax can be used.
2018-07-04 09:55:52 +02:00
Christophe Simonis 49edee1f4b [MERGE] forward port branch saas-11.4 up to d54a3726ec 2018-06-29 12:46:00 +02:00
Christophe Simonis c8bb02141d [MERGE] forward port branch saas-11.3 up to 3cdcbce93c 2018-06-28 19:01:52 +02:00
kujiu 92bf89ffb3 [FIX] Remove bad aria-hidden (#25481)
Some aria-hidden are present on some elements that must be visible. Some dialogs don't open correctly with this.
2018-06-28 12:31:27 +02:00
kujiu 9de1bc0eef [IMP] Improve compatibility with screen readers (accessibility) (#24574)
Today, Odoo is really tricky to use without seeing the screen, it must be improved to be usable.

This PR forbid to use labels without a "for" attribute, add some title, rule and aria attributes in HTML. With that, Odoo will be fully usable with a screen reader.


* [IMP] Labels must have a for attribute. Improve accessibility.
* [IMP] Better error message when trying to read a missing cached value
* [FIX] Add some aria-label and title attributes for screen readers.
* [FIX] Template name is not included in the error message in case of SyntaxError in QWeb
* [FIX] Improve the Tour failed at step error message to be more explicit.
* [IMP] Add aria-labels
* [FIX] Add missing aria-label on failing test
* [IMP] aria-hidden means hidden. Fix all bad aria-hidden and hide aria-hidden for all.
* [IMP] Color names on kanban views and many2many tags
* [IMP] Add some checks on views for accessibility.
* [IMP] Add `alt` attribute on `img` tags.
* [IMP] Add aria-label and title on non-described icons
* [IMP] Add button role to widgets with btn class
* [IMP] Translate aria and formatted attributes.
* [IMP] Remove wrong aria-labelledby
* [IMP] Add menu role on dropdowns
* [IMP] Buttons must be focusable
* [IMP] Add aria attributes on progress bars
* [IMP] Improve accessibility of basic widgets
* [IMP] Change main layout to more semantic tags
* [IMP] Add menuitem role when missing
* [IMP] Remove wrong role='presentation'
* [IMP] Improve accessibility of tab panels
* [IMP] Add aria-invalid on invalid fields
* [IMP] Add aria-sort on ordered columns
* [IMP] Add role on alerts
* [IMP] Use dialog role, header, main and footer tags for modals
* [IMP] Add labels on o_status
* [IMP] Improve accessibility of kanban view with feeds and articles
* [IMP] Add alerts in case of new messages
* [IMP] Add widget, navigation or img role to aria-labelled items
2018-06-22 21:22:21 +02:00
Romain Derie d6956db916 [FIX] account(_payment): display Pay Now btn only for out invoices
1. Only facture client should see pay now*, not credit note etc
2. Pending transaction should be handled like:
   * Manual & (wire) transfer pending transaction should display pending but still
     show the pay button
   * Other pending transaction should display pending & hide the button
   * Exception: A wire or manual pending transaction should have the status "Waiting for payment"
                and not pending in /my/invoices status

* and "amount due" aswel so clients won't complain about the payment arriving too late
2018-06-22 18:32:49 +02:00
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
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
Toufik Benjaa bae7cd9c46 [FIX] account_payment: Do not create payment token when not logged-in
- When paying an invoice with a payment acquirer that saves tokens after each payments (S2S mode or save token to "ask" or "always") and while not connected.
  The payment token is saved as either the invoice partner (when the acquirer is in form mode) or as the public user's partner (for S2S acquirers).
  This should not happen.

  To fix this issue, if the customer is not connected and pays the invoice using a form acquirer, we do not create a token.
  If the customer pays the invoice using a S2S acquirer the created token is then linked to the invoice's partner.
2018-06-19 14:51:28 +02:00
Christophe Simonis f36e6917bd [MERGE] forward port branch saas-11.3 up to 37eed7c509 2018-05-29 17:34:43 +02:00
qdp-odoo 01216345e2 [REF] account,payment(_*),sale*: downgrade transactions into debug items
It was very confusing for the user to distinct account.payment and payment.transaction. From now on, the transactions are
technical objects and, in the backend, we only refer to it in log messages (Front end will be adapted in the same fashion
later on). They are hidden in debug mode in accounting\configuration\payments as their purpose is now purely technical/log

This commit also aims to reduce the gap between the accounting app and the transactions: account.payment objects are
created/validated upon completion of transaction.

To ease the capture/voiding of pending transactions, the related buttons are now displayed directly on the SO/invoice
instead of the transactions.

Was task: https://www.odoo.com/web#id=35857&view_type=form&model=project.task&action=333&active_id=967&menu_id=4720
Was PR #24043

[FIX] add domain based on journal to payment tokens

Was opw: https://www.odoo.com/web?debug#id=1828206&view_type=form&model=project.task&menu_id=5200
2018-05-23 15:44:55 +02:00
Nicolas Martinelli 9a450ac162 [FIX] account_payment: prevent payment of credit note
A credit note is not supposed to be paid by the customer, so do not
display the payment button in the portal view.

opw-1841432
2018-05-11 13:30:04 +02:00
fda-odoo 4fc96f9795 [FIX] account_payment, sale_payment: stop propagation of status message in URL after payment
We only want to keep the access_token from the URL and not all the error and success messages.
2018-01-24 15:41:31 +01:00
fda-odoo 196f491e12 [FIX] website_sale, sale_payment: display hardcoded message for authorized status in both e-commerce and portal 2018-01-24 15:33:38 +01:00
fda-odoo f62b31caf3 [FIX/IMP] account,account_payment,sale,sale_payment: add a payment notification message for user who are coming back in Odoo after a payment (like in online quotations & e-commerce)
WARNING: To avoid breaking any configuration in stable (11.0), the template payment_confirmation_status has been replicated in each module.
They must be removed before a forward-port in master
2018-01-24 15:30:59 +01:00
jpr-odoo 3f0291ee6d [FIX] account_payment: inclusion of transactions
Part of commit was missing in 6e4db0e6db .
2017-09-27 15:23:12 +02:00
jpr-odoo ebfadc29b9 [FIX] account_payment: keep arguments including token in payment form redirections 2017-09-27 14:33:33 +02:00
Thibault Delavallée 01f69f65fe [IMP] account_payment: add invoice payment support in customer portal
This commit adds support of payment in the account customer portal. This
is done in the account_payment module. This way customers can now pay
invoices directly on the customer portal and have access to the status
of their invoices. It replaces the old website payment mechanism that
was only allowing to pay without generating payments and reconciliating
them.

Two routes are defined in this commit, one for form-based payments and
one for server2server-based payment. Please refer to commit 1fdb10f0ac
for more details about the new payment form.

Tools methods are added to handle transaction / invoice matching, the
check of invoice and the automatic payment and reconciliation.
2017-09-06 11:41:25 +02:00
Thibault Delavallée 699aa47b00 [IMP] account_payment: add invoice / transaction link
Purpose of this commit is to add a link between invoices and transactions
to store payment data like what is already done for sale orders.

 * add payment_tx_id on account.invoice model that stores the last
   transaction; also add the acquirer related on the tx;
 * add a stat button on invoice with links to all transactions linked
   to that invoice;
 * add account_invoice_id on payment.transaction model that stores the
   link to the invoice;
 * add the inverse one2many from invoice to all its transactions so
   that we can browse them if necessary;
2017-09-06 10:49:03 +02:00
Thibault Delavallée 6c7e128b33 [IMP] account: add invoice page view on customer portal
This commit adds a page view for invoices on the customer portal. Layout
is based on the invoice report to closely match what is already done in
Odoo. It replaces the old controller that returned only the pdf.
Customers should now be able to receive both.

Future commits will improve invoice page view notably in account_payment
while adding payment options in account customer portal.
2017-08-25 15:33:18 +02:00
Thibault Delavallée 4f78182cd5 [IMP] portal: improve less for customer portal 2017-08-25 15:33:16 +02:00
Thibault Delavallée c5c53c8b6d [CLN] account_payment: indentation issue 2017-08-22 14:02:21 +02:00
Xavier Morel cbffd99341 [IMP] use hasclass() xpath function 2017-08-11 10:44:40 +02:00
Thibault Delavallée 9456c7b332 [MOV][ADD] account_payment: move account related payment code to account_payment
This commit adds a new bridge module between account and payment. This
module is used notably to display payment related information on account
customer portal. It currently holds only a template but future commit
will add new features related to invoice payment on customer portal.
2017-08-08 15:38:04 +02:00
qdp-odoo c04065abd8 [IMP] accounting v9. Yeeeeaah 2015-05-05 17:28:04 +02:00
Simon Lejeune 55090e56db [FIX] payment order: do not use qweb contact widget on res.bank as it is made for res.partner and res.bank has not all the res.partner fields
bzr revid: sle@openerp.com-20140403100543-t0m45q1wkgbkli7i
2014-04-03 12:05:43 +02:00
Simon Lejeune c771903c3b [IMP] account* reports: removed rml, added qweb template, changed the wizard to return qweb actions
bzr revid: sle@openerp.com-20140327182520-uu7ezsqic30x7mqo
2014-03-27 19:25:20 +01:00