Commit Graph
66 Commits
Author SHA1 Message Date
Achraf (abz) 31f389b983 [FIX] *: Adapt old custom-control class of Bootstrap
* = hr_holidays, mail, sale, web, web_editor, website, website_forum,
website_payment, website_sale

https://getbootstrap.com/docs/5.1/migration/

replacing `custom-control` by `form-check` because in bs4 this class had
a use which is not the case in bs5.

closes odoo/odoo#98965

Related: odoo/enterprise#30768
Signed-off-by: Romeo Fragomeli (rfr) <rfr@odoo.com>
2022-08-31 16:05:20 +02:00
qsm-odoo 29613c6ec4 [FIX] web_editor: fix the look of the indent symbol in the editor panel
As a stable fix, to not touch XML templates and break existing
translations, the ⌙ character was automatically replaced by └ which
makes more sense for the usecase and should work properly in all
browsers. The ⌙ character is actually rendered mirrored on Windows 11
Chrome (and others) as the font used for those unicode characters is
left to the browser. We could force a font of our own but it's probably
not worth it.

A better solution with a SVG or CSS solution has to be done in master.
That would unify the look of the symbol across all browsers and
also prevent special characters to be placed in translations.

With this forward-port commit, we'll start first by using └ via a CSS
rule. Three new classes have been created: o_we_sublevel_1,
o_we_sublevel_2 and o_we_sublevel_3. Adding any of them on a widget
automatically adds the └ character. Then choosing 1, 2 or 3 controls
the indentation, which was previously controlled by placing the &emsp;
HTML entity directly inside strings.

This commit also takes the opportunity to fix some of those level
indentations (sometimes 2 was used instead of 1 or 1 was used instead of
2, etc) and also review some related labels.

closes odoo/odoo#97361

X-original-commit: e5d45643598671077ade7e41f0dbfe2b502665b8
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2022-08-04 11:45:31 +02:00
Benoit Socias 11572f0f20 [FIX] web_editor, *: prevent dropping unsafe snippets in model fields
*: website, website_mass_mailing, website_payment

When an unsafe snippet is dropped into a sanitized HTML model field, its
unsafe content gets removed on save.
We need a way to mark snippets as being (in)compatible with
sanitization. It cannot be automatic, as, for example, the snippet
introduced at [1] contains an iframe but is compatible with
sanitization.
In 13.0, we will temporarily set up an automatic mechanism that marks
existing snippets containing forms as being incompatible with
sanitization.
In 14.0 a distinction between full sanitization and form-tolerant
sanitization introduced at [2] is added with this forward-ported commit.

This commit prevents unsafe snippets from being dropped into sanitized
HTML model fields.
The "Form Builder", "Product Search" and "Product Search Input" blocks
are now prevented from being dropped or moved into form-sanitized HTML
fields.

To do this, this commit introduces a new `t-forbid-sanitize` attribute
on the `t-snippet` tag. It can have the value `true` to prevent it from
being dropped into any sanitize fields, or `form` to specifically limit
to form-sanitized fields.

Steps to reproduce (in 13.0):
- Go to a product page
- Drop a "Product Search" snippet into the product-specific section of
the
product
- Save
=> The form was removed.

[1]: https://github.com/odoo/odoo/commit/c2e9bd0e60014b6a42931cf300e0f89f8cf7c225
[2]: https://github.com/odoo/odoo/commit/388c222c6c4bb7e2fe3e67009b248359ae0fd3db

task-2829961

closes odoo/odoo#96812

X-original-commit: 9eaba23781766730b06e936dbd9c5d0c28c909c6
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2022-07-28 03:51:04 +02:00
Romeo Fragomeli 1fcd098af5 [REF] *: BS5: migration
Automated change made by a lot of RegEx to change all think that is
possible to automate.

https://getbootstrap.com/docs/5.1/migration

Task ID: 2766483

Part-of: odoo/odoo#95450
2022-07-07 13:30:24 +02:00
Romeo Fragomeli d8c131c894 [FIX] *: wrong use of row and col revealed in BS5
* restore position relative:

> Columns no longer have position: relative applied, so you may have to
> add .position-relative to some elements to restore that behavior.

https://getbootstrap.com/docs/5.1/migration/#grid-updates

Example:
Favorite widget isn't shown on the right location due to change
in Boostrap 5, so we restore the old positioning of the `.col`

PS: another fix is to simply remove the position absolute of
`.o_favorite` but its break the favorite in kanban project.

* remove usage of `width` in kanban image when `col` is also used:

The class `o_kanban_image` is
```css
.o_kanban_image {
    width: 64px;
}
```

In BS4 the col rules are:
```css
.col-4 {
    flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
}
```
and in BS5:
```css
.col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 33.33333333%;
}
```

So `width` overrides the `col` rules.

To summarize:
In BS4
```css
{
    max-width: 33.33333333%;
    width: 64px;
}
```

In BS5
```css
{
    width: 33.33333333%;
    width: 64px;
}
```

e.g. where there is the case:
Helpdesk > Reporting > Customer Ratings (Kanban card)

Task ID: 2766483

Part-of: odoo/odoo#95450
2022-07-07 13:30:18 +02:00
Thibault Libioulle 9eb8ea52e0 [IMP] website_payment: handle stripe supported countries
This commit warns company from countries not supported by Stripe to
activate Stripe from the settings page.

This commit also enable the Stripe Connect Onboarding from the website
settings page.

task-2789227

closes odoo/odoo#87562

Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
2022-06-28 18:25:00 +02:00
Victor Feyens 76d5879c1e [REF] *: clean settings views inheritance
* make sure xpath expression content is specified in parent view.

Part-of: odoo/odoo#91909
2022-06-23 23:48:29 +02:00
Yannick Tivisse 73483c8e5a [IMP] website: Revamp website settings
Simplify settings of website & website_sale;
- understandable
- relevant
- correctly ordered

Part-of: odoo/odoo#82999
2022-02-08 14:53:39 +00:00
Benjamin Vray 8196bb0359 [FIX] website_payment: fix visibility of the donation snippet options
In the donation snippet, do not allow user to select the option
"slider" if "display options" is disable because the slider is not
used on the pay/donation page.

task-2637492

X-original-commit: e5bc1dcd2dfdecc20d9e13f109ca206343b43069
Part-of: odoo/odoo#78089
2021-10-11 10:15:57 +00:00
qsm-odoo 48092fcf85 [IMP] web_editor, *: add a generic class for large editor widgets
*: website, website_payment, website_sale

Instead of having a "o_we_large_input" class, now to have large widget, we can
use the generic "o_we_large" class (a future update is needing that for a non-
input widget).

task-2431285

X-original-commit: a8446e5d0f0b10f99f8174c012a6a53e2134b77a
Part-of: odoo/odoo#77255
2021-09-28 09:29:02 +00:00
Benoit Socias fa3c04e5fe [FIX] website_payment: obtain country and currency in donation form
Before this commit country and currency were not correctly populated in
the donation form.

After this commit country of a logged in user is correctly pre-populated
and donations can be done in the current currency of the user.

task-2398403

closes odoo/odoo#75921

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2021-09-03 10:38:12 +00:00
Benoit Socias e67a123227 [IMP] website_payment: take amount change into account
Before this commit amount updates were not taken into account during the
payment operation.

After this commit amount updates are taken into account for the actual
payment operation and payment fees are updated according to the amount
and the partner country.

Part of #63133

task-2398403

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2021-09-03 02:03:15 +00:00
Benoit Socias 7fccbac004 [IMP] payment, website_payment: perform the donation payment
This commit adds /donation/* routes to perform the donation:
- /pay: shows the form with the contact details and donation details
- /transaction: creates the partner_id if missing and executes the
transaction
- /confirm: displays the payment success page

PR-63133

task-2398403

Part-of: odoo/odoo#63133
2021-09-03 02:03:15 +00:00
Benjamin Vray 5ffce116a6 [IMP] website_payment, *: new snippet make a donation
*=  website, website_sale, web_editor

This commit add a new snippet donation for the website builder.

PR-63133

task-2398403

Part-of: odoo/odoo#63133
2021-09-03 02:03:14 +00:00
Antoine Vandevenne (anv)andVictor Feyens 573ed74c12 [REF] payment, *: refactor online payments API
This commit replaces the old online payments API of the `payment`
module with the new one and adapts to it all the implementing modules.

See the merge commit for more details.

task-2085989
task-2119838
task-2165982
task-2289255

Co-authored-by: Victor Feyens <vfe@odoo.com>
2021-03-30 09:25:51 +02:00
mreficent 42c41052de [FIX] website_payment: typo in a view id
closes odoo/odoo#33407

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-05-15 17:23:44 +00:00
Jeremy Kersten 52300d7fb0 [IMP] website: res_config_settings remove payment acquirer link
New idea according FGI request is:
A settings with nothing to configure (just a link), is useless in the
res_config_settings view.
2018-08-31 16:37:45 +02:00
Jeremy Kersten 70d18276ec [IMP] website_payment: make it website specific
Allow to specity on a payment acquirer on if it is specific to one website or common to all.
2018-08-25 00:03:01 +02:00
Romain Derierde-odoojke-odoo
65d8177b55 [REF] website*: revamp res_config_settings for website
Reorder res.config.settings for website
Make website_id in no create in most view
Revamp res.configsetting and view Form simplified

Transform old 'useless' stored field for presentation by computed field.
We can consider that if there are not key, feature is disable.

Co-authored-by: rde-odoo
Co-authored-by: jke-odoo
2018-08-24 20:01:02 +02:00
Nirali SapraandDharmraj b2fefbd3c5 [IMP] portal, website, website_*: make footer content easy to customize
Previously, customizing the website footer was not very easy. This
commit will allow users to customize the footer like any other
snippet area.

There are several behavior changes, as mentioned below:

- Removed toggles 'Automatic Footer' and 'Payment Icons' from the
  Customize menu
- Language Selector was moved near the 'Copyright' section of the footer
  and features a dropdown (dropup technically) to select the language
- Moved some footer links from various modules to top menu
  List of the added menus / changed menus:
    (a) Resellers (new menu for previous footer link 'Resellers')
    (b) References (new menu for previous footer link 'Our References')
    (c) Forums (renamed from 'Forum', as a replacement of 'Forums'
        footer link, showing all the forums instead of 'Help', as there
        is no link available to all forums after this commit)
    (d) Live Support (new menu for previous footer link
        'Livechat Support')
    (e) Mailing Lists (new menu for previous footer link 'Mailing List')
    (f) Members (new menu for previous footer link 'Members')
- Links which were already available as a website menus (Presentations,
  Jobs, Events, News, Documentation, etc) are simply removed

Technical Notes:

- Introduced a new template called 'brand_promotion' in website.
  This will help to avoid adding redundant footer content (like
  copyright, language selector etc) from several modules (website_sale,
  website_event, website_quote, etc) while the only intention is to
  replace module page links.
- Removed summernote related fix in portal.less (caused by xpath)
  because footer is now customizable and added padding to structure
  instead of footer itself so that bg-color/img can be applied on
  whole footer.
- Few of the tours are improved to drag and drop snippets at proper
  places and not inside the footer.
- Used Flex in copyright portion of footer, so that text will always be
  horizontally centered (Some themes have different padding for buttons,
  etc, so if we don't align text dynamically, it has to be managed in
  particular theme and in particular layouts like full-screen / boxed.
  And if someone changes height of this portion, we have to re-design
  this portion again, etc).

task-38069
Closes https://github.com/odoo/odoo/pull/22298

Co-authored-by: Dharmraj <dja@odoo.com>
2018-05-29 11:13:28 +02:00
tbe-odoo be650c5979 [IMP] Fixing the code to fit the reviews 2017-08-29 17:16:42 +02:00
tbe-odoo ad095e492f [IMP] payment,website_payment: Change payment.option model name to payment.icon 2017-08-29 17:16:42 +02:00
tbe-odoo 64ae5e2bc3 [IMP] payment: Supported payment options
- Added the ability to specify which payment option each payment acquirer supports and,
    displays those payment option on e-commerce footer.
2017-08-29 17:11:23 +02:00
Denis Ledoux 22f7b79221 [MERGE] forward port of branch saas-17 up to b970bf865a 2017-08-18 10:44:22 +02:00
tbe-odoo 2df9c22d80 [IMP] Payments & subscriptions: Improved Payments
- When registering a payment token, validating it using a payment of a small amount (~1.50€) followed by a refund allows ensuring
    that the payment method is valid (i.e. checksumming the card number simple ensure the number is valid but not that the card exists).
    This commit introduces a generic approach that must be implemented for each acquirer that has tokenization support.
    This commit also introduces a generic payment token registration/usage template that can be adapted according to one's need.
- Introducing a new payment form that handles payment, deletion and adding payment method (only for server2server for the moment).
- On /my/payment_method, changed strings 'Payment Acquirers' to 'Payment Methods' which is more clear.
- Stripe can now be used to pay subscriptions.
2017-08-14 08:30:59 +02:00
Thibault Delavallée 79f362d067 [MOV] (website_)payment: move customer portal for payments to payment
Customer portal controller and templates contained in website_payment
module are moved to payment. This module now uses the customer portal
defined in portal module and most of website_payment code is moved
to payment.

website_payment now contain code really related to website, such as
payment acquirers configuration for website.
2017-08-08 15:38:04 +02:00
Thibault Delavallée ea27c1b7a3 [MOV] website_portal, portal: move customer portal to portal module
This commit moves the whole customer portal to the portal module.
It now completely uses portal and http_routing features and is not
dependent on website anymore.

An override of web controller is added in portal in order to redirect
portal users to /my instead of /web. That way once having the customer
portal installed all share users are correctly redirected to their
account.

All modules defining customer portal templates and controllers are
updated accordingly.
2017-08-08 14:58:49 +02:00
Thibault Delavallée de33a4193c [FIX] (website_)payment: display website_published field of acquirers in payment
As this field is defined directly in payment and is displayed on
acquirer form view let us display it in tree view also directly
in payment instead of website payment.

This is a manual forward-port of commit 5f24bf5df7.
2017-07-17 14:43:31 +02:00
Thibault Delavallée 5f24bf5df7 [FIX] (website_)payment: display website_published field of acquirers in payment
As this field is defined directly in payment and is displayed on
acquirer form view let us display it in tree view also directly
in payment instead of website payment.
2017-07-17 13:28:07 +02:00
tbe-odoo 7d428c871b [IMP] payment, website_payment: generic mechanism to verify payment tokens on registration
When registering a payment token, validating it using a payment of a small amount followed by a refund
allows ensuring that the method is valid (i.e. checksumming the card number simple ensure the number
is valid but not that the card exists). This commit introduces a generic approach that must be implemented
for each acquirer that has tokenization support. This commit also introduces a generic payment token registration/usage template that can be adapted according to one's need.

payment_ogone: add support for tokens validation
2017-07-14 11:57:19 +02:00
Thibault Delavallée 69793fac0e [FIX] payment: remove duplicate website_published button on acquirer form view
Fix related to cbca7e1313 .
2017-07-12 09:54:00 +02:00
Yannick Tivisse b9980eda5c [IMP] payment,*: Relabel 'Payment Method' into 'Payment Acquirer' 2017-06-02 15:31:47 +02:00
Jitendra Prajapati de5433f415 [IMP] payment: improve usability of tx views
* add provider, related on acquirer_id.provider, in order to display
   certain piece of information on tx depending on their provider;
 * better tx form view and partner address display;
 * remove unnecessary notebook on tx form view as it is not used;
 * rename Payment Acquirers menu into Payment Methods, easier to
   understand;
 * acquirer kanban view improved to install / activate / configure them
   depending on their state;
 * be able to publish / unpublish acquirers without having to wait for
   website_payment to add a button;
2017-05-17 14:40:35 +02:00
Jeremy Kersten 3bb2318baf [FIX] website_payment: use msg from payment acquirer in portal 2017-02-01 09:05:46 +01:00
ptr 5b79505bb1 [IMP] account*: Improve the settings form view 2016-12-29 15:46:37 +01:00
Jeremy Kersten d97f8f5708 [FIX] website_payment: don't add link manage payment if no provider
Before this fix, the link was always present, even if no acquirer payment was configurated to allow tokenization.
2016-09-30 19:20:43 +02:00
Jeremy Kersten 80d65ab350 [IMP] website_payment: show payment method in footer
Xpath has been altered and logos displayed in right column or portal.

The pupose of these logos is to know when you arrive on the website (ecommerce)
 with which payment method you can paid.
2016-08-31 15:28:10 +02:00
Thibault Delavallée efd55ab8a5 [REF] various: rename openerp node to odoo in xml files 2016-08-10 15:48:10 +02:00
Christophe Matthieu 940e23a7dc [IMP] qweb: t-esc/t-raw use t-options instead of format method
t-field, t-esc and t-raw use the same widgets and options
2016-07-05 18:43:14 +02:00
Christophe Simonis 9fe4cf5f72 [MERGE] forward port of branch saas-11 up to dda0d3d
# Conflicts:
#	addons/product_uos/i18n/lo.po
#	addons/sales_team/models/__init__.py
#	addons/website_payment/views/website_payment_templates.xml
#	addons/website_portal_sale/views/templates.xml
#	openerp/addons/base/ir/ir_qweb.py
2016-06-15 13:10:45 +02:00
Christophe Matthieu 7ede9bcb2d [IMP] base ir.qweb: compile template (and use ast) to improve rendering speed
* The compiled templates are cached per user, lang, inherit context values
* ir.ui.fields: attributes method return an dict, and record_to_html return only the content value of the field
* all rendered text use build_text and all attributes use build_attribute
* t-esc-options is removed and replace by format_value method
* AssetsBundle receive the list files and remains
2016-06-14 09:46:25 +02:00
Damien Bouvy 87717509c0 [FIX] website_payment: fetch default provider + render issue
* Fixes a bug that prevented the system to fetch the default provider
because the default_get call was wrong (wrong model + missing
company_id kwarg)
* Displays the amount as a monetary widget (to do that, the amount
must be sent as a float in the controller)
* Display the acquirer 'pre_msg' field to display eventual fees
2016-06-14 08:53:41 +02:00
Vipul Bhatt 4dfbcecfdb [IMP] website_{portal,portal_sale,project_issue,quote} : add pager for customer documents
This commit adds controller to list documents of customer, with pager and archive
widget to sort documents. Impacted documents are : quotations, sale order,
invoices, and issues.

Portal breadcrumd is improved too : add the home icon, and keep the query
params when using archive widget.

Some editable zones were added to templates, allowing people to customize
their frontend portal.
2016-05-27 10:50:34 +02:00
Denis Ledoux dcd8d65fd1 [MERGE] forward port of branch saas-6 up to 6a306a03be 2015-10-28 14:01:10 +01:00
Nicolas Lempereur feff0c7b64 [IMP] website_payment: visual fix if no payment acquirer 2015-10-15 16:44:57 +02:00
Christophe Simonis 7636b510a2 [ADD] *: CSRF protection in forms and routes
* make CSRF protection the default on all non-SAFE methods
  note: there currently is no way to call a CSRF-protected endpoint
  without a form-encoded entity-body as that's the only place we get the
  CSRF token from.
* simple CSRF token generation: just use the HMAC'd session id, no
  generating a new random token per session then HMAC it
* use constant-time equal function to avoid timing attacks
* assert that a database secret is configured before hashing/validating
  the CSRF token
* opt-out database manager from CSRF: The super-admin password serves
  the purpose of a CSRF token in the database manager screens.
  There is no request database to obtain the
  secret and generate a CSRF token.
2015-10-01 01:36:50 +02:00
Olivier Dony 87bd9b5832 [FIX] website_payment: wrong view inheritance
"Your Details" section is now in the website_portal.account
template, not in the footer_default anymore.
2015-09-14 17:23:06 +02:00
Damien Bouvy f341ca62ab [IMP] website_payment: generic payment controller
- generate payment from the frontend using a simple form
- send a payment with a simple url
- define a default provider for payments
2015-09-04 16:08:22 +02:00
Damien Bouvy 5f48cb992e [REF] website_portal => website_portal, website_portal_sale
Split of website_portal into a generic (and mostly empty) website_portal and a sales-related website_portal_sale (sales order, quotes, invoices)
This allows other modules to extend website_portal without depending on sales
2015-08-07 01:47:06 +02:00
Antony Lesuisse 4a3a3e5f3a [FIX] payment: Move website_published field to website_payment
We have to keep website_published defined in payemnt so that demo data publish
only payment_transfer for the website_sale tour.
2015-08-06 00:14:24 +02:00