Commit Graph
22 Commits
Author SHA1 Message Date
rde 47b376e66d [FIX] link_tracker: python3 can't concat bytes to str 2017-10-12 16:20:42 +02:00
Prakash Prajapati 497ea3199f [FIX] link_tracker: Use the correct method name
Issue introduced by https://github.com/odoo/odoo/commit/7accd77999ebcd4ce16388f2a23ee296093fecbc
2017-09-22 15:24:59 +02:00
Thibault Delavallée 7accd77999 [REF][FIX] link_tracker, mass_mailing: factorize method creating link tracker click values
This commit factorizes the link.tracker.click values computation out of
the add_click method. This method is called when customers click on links
in email that are tracked in Odoo.

Purpose of this commit is

 * to effectively put mass mailing related code into mass mailing.
   Currently link_tracker holds code related to mass mailing which is
   not in its dependency tree. Let us therefore try to be a bit modular
   and add a proper inheritance in mass mailing;
 * allow addons to inherit from the click values prepare method to add
   specific values depending on their behavior like mass mailing adding
   links to a mass mailing and a mass mailing campaign;
2017-09-15 15:56:23 +02:00
xmo-odoo 02fe548000 [FIX] link_tracker: no string.letters in Python 3 2017-09-15 15:51:37 +02:00
Christophe Simonis 877e709871 [MERGE] forward port branch saas-16 up to db0810dc6e 2017-08-23 18:20:46 +02:00
Christophe Simonis db0810dc6e [MERGE] forward port branch saas-15 up to 0cfbc7581f 2017-08-23 18:15:56 +02:00
Christophe Simonis f8bf335aea [MERGE] forward port branch 10.0 up to 420e433fa3 2017-08-23 18:12:24 +02:00
Nicolas Martinelli 3b232b9eff [FIX] link_tracker: do not track 'tel:' or 'sms:' links
- Create a mass mailing including a 'tel' or 'sms' link, e.g.
  `<a href="tel:555-000-0000">555-000-0000</a>`
- When sent, the link is converted to a tracked linked (`http://...`)

We do not want to convert these links, they should be handled by the
browser directly.

opw-765885
2017-08-23 11:08:19 +02:00
Olivier Dony 695716efb0 [FIX] P3: remove pycompat.{keys,items,values} helpers
Now that we're closer to switching to P3 for good, these helpers have
outlived their usefulness, and mostly add noise.

All remaining dict.iter*() or dict.view*() must be converted to the
normal keys(), values() or items() calls.

Whenever the result is likely to be used for more than the scope of a
loop, or when the dict needs to be modified during iteration, the calls
must be wrapped in a ``list()``, to protect the new P3 semantics.
Those cases are very exceptional.

Also removed some dead code or improved the API to remove unnecessary
conversions.
2017-08-20 23:25:54 +02:00
Xavier Morel 3824b5dcc1 [FIX] P3: fix base64 and StringIO uses
* StringIO removed from stdlib, replace with io
* try to correctly handle BytesIO/StringIO (one is for bytes the other
  is for text)
* fix base64: Python 3 removed bytes-encoding and bytes-bytes
  codecs (via #encode) so replace all calls to str.encode('base64'),
  also b64encode is a bytes->bytes conversion so attempt to properly
  handle that

issue #8530
2017-08-20 23:25:54 +02:00
Xavier Morel 01e3514147 [FIX] P3: urllib, urllib2 and urlparse
In Python 3, all of these were "consolidated" under urllib(.request,
.parse, .errors) which is inconvenient.

Since we already have hard dependencies on requests and
werkzeug(.urls, which is a backport of Python 3's unicode-aware
urllib.parse) migrate *everything* to that.

A sticking point is urllib2.URLError, those were (mostly) replaced by
the slightly more general IOError which URLError extends.
2017-05-15 12:26:30 +02:00
xmo-odoo fffaf735f5 [FIX] P3: list -> iterable builtins (#16811)
In Python 3:

* various builtins and dict methods were changed to return
  view/iterable objects rather than lists
* and the separate Python 2 view/iterable builtins and methods were
  removed altogether

This is problematic when using these items as list (which the happens
repeatedly in Odoo), but more viciously when iterating *multiple times*
over them (which also happens, which I've messed up multiple times while
writing this, and which is a pain to debug even when you've just created
the issue).

Convert all code using these to semantics-matching cross-version
helper functions to get the LCD behaviour between P2 and P3, and
forbid the builtins via lint.

issue #8530
2017-05-10 09:39:55 +02:00
xmo-odoo b4429c2a91 [FIX] Various P3-related import changes
* LDAP import: python-ldap is not python3-compatible, pyldap is

  Warning: only supported from debian Stretch (current testing)?
  https://packages.debian.org/search?searchon=names&keywords=pyldap

* implicitly relative imports
* imports of moved or removed stdlib modules

issue #8530
2017-04-28 09:06:53 +02:00
Christophe Simonis 85368d7f86 [MERGE] forward port branch 10.0 up to 387b2acfcb 2017-02-23 20:15:38 +01:00
Christophe Simonis 387b2acfcb [MERGE] forward port branch saas-11 up to 1730dca101 2017-02-23 19:40:03 +01:00
Denis Ledoux b7dffb59ff [FIX] link_tracker: convert link with ampersand
Links containing HTML escaped characters,
such as the ampersand
`&` escaped `&amp;`
were not shortened correctly:
Their redirecting URL contained the escaped value
(e.g. `&amp;`) instead of the actual character,
leading to the wrong redirected URL.

e.g. creating a mass-mailing with a link
contains as query string
?test1=1&test2=2 were shortened
with as redirect link
?test1=1&amp;test2=2

opw-708272
2017-02-21 12:26:02 +01:00
Raphael Collet d0ca2d115e [REF] ir_config_parameter: remove group_ids and simplify
Add `sudo()` to call `get_param` where necessary, and make the web client use a
controller instead of directly accessing parameters.
2017-01-03 16:52:49 +01:00
Thibault Delavallée c8a313d51e [IMP] various: use odoo for imports instead of openerp and update class names 2016-08-10 15:48:07 +02:00
Denis Ledoux 2d47ea2563 [FIX] link_tracker: page title encoding
When tracking a page with special characters
in the title (e.g. `Ä`), the title
of the page in the tracked links was
badly encoded, because the
encoding was not handled correctly
when parsing the given website page.

opw-679993
2016-06-13 17:30:59 +02:00
Denis Ledoux 52b394861b [FIX] link_tracker: use werkzeug url_encode instead of urllib
`Werkzeug.url_encode` can handle unicode,
while `urllib.urlencode` cannot.

opw-669541
Fixes #10928
2016-02-15 16:31:42 +01:00
Christophe Simonis d750206c49 [MERGE] forward port of branch saas-6 up to e9f1ee4 2015-10-01 15:16:59 +02:00
Christophe Matthieu fd5361c0f7 [IMP] mass_mailing: remove depends to website. Create a website_mass_mailing bridge to add subscribe snippet into website builder. Split website_links to have link_tracker to create short and trackable URLs, and website_links to have a website layout for link_tracker and add button to share page. 2015-07-10 17:00:15 +02:00