summaryrefslogtreecommitdiff
path: root/addons/mass_mailing/data
AgeCommit message (Collapse)Author
2019-03-22[FIX] convert: enable kwargs in tag <function>Raphael Collet
closes odoo/odoo#31417 Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2019-01-25[FIX] mass_mailing: restore email templatesSiddarth Gajjar
Following the new editor's merge at https://github.com/odoo/odoo/pull/29775, the classes 'o_mail_wrapper' and 'o_mail_wrapper_td' were renamed to 'o_mailWrapper' and 'o_mailWrapper_td' because of what appears to be a JS-variable-search-replace fail. Strange enough, the scss was not impacted which allowed to see the bug in master. closes odoo/odoo#30544
2019-01-17[IMP] web_editor,*: Refactoring the wysiwyg editor and 'html' fieldChristophe Matthieu
* Creating a new structure by transforming all the plugins in the library using the odoo inheritance system. Plugins are easier to implement with the AbstractPlugin to add Odoo behaviors. * From now on, the methods of the library (in this case Summernote) can no longer be called by other modules or files. Only the wysiwyg widgets can access it, to simplify the updating process. The wysiwyg object serves as an interface. * Depending on the options the snippets will be loaded or not, the editor will be in an iframe or not... all of this is transparent from the outside. * Regarding iframes, all controllers related to editing have been removed: the new API no longer needs them. This speeds up loading, eases testing and removes complexity for the same features. PUBLIC FEATURES There are several public methods on the Wysiwyg class: * Wysiwyg.prepare (WidgetParent): returns a deferred resolved when the library (xml, lazy, assets...) is loaded. * Wysiwyg.getRange (DOM): returns the range (selection in the dom) * Wysiwyg.setRange (startNode, startOffset, endNode, endOffset): creates a range (selection in the dom) * Wysiwyg.setRangeFromNode (DOM, options) that creates a range from an element (option available to select all, start or end) A jQuery selector was added: :o_editable, which indicates whether the current element is editable. That is, if it is contained in a tag with the attribute 'contentEditable = "true"' or in a tag with the class o_editable. Several methods are also present: * focusIn: makes a focus and places the cursor at the beginning of the element * focusInEnd: makes a focus and places the cursor at the end of the element * selectContent: makes a focus and selects the content HTML FIELD The HTML field can receive different options: * style-inline: {boolean} transforms a class into an inline style when saving and vice versa when reading. * no-attachment: {boolean} prevents the use of attachments (in media dialog) * cssEdit: {xml_id} to use a template containing the css to loaded in an iframe when editing * cssReadonly: {xml_id} to use a template containing the css to load into an iframe when viewing in readonly * snippets: {xml_id} snippets template (can be used with or without cssEdit) * wrapper: {template} qweb static template (containing a tag: id = "wrapper") that will include the content during editing (removed on save) MASS MAILING A widget was created for mass mailing. There are now two fields: body_html and body_arch. body_arch contains the code with the class without conversion into inline style, useful when editing and one with the inline style that is visible in readonly mode and sent by email. Advantage: no spreading errors, able to update css/theme, able to do more changes when converting to inline style so that a maximum of mail clients have an impeccable rendering. Co-authored-by: Antoine Guenet <age@odoo.com>
2019-01-17[IMP] mass_mailing: differentiate mailing name from emails subjectThibault Delavallée
Purpose of this task is to allow marketing people to differentiate the mailing name (internal reference) from the subject used in the mailing emails. Mailing name is actually the UTM source name as mass mailing inherits from it. Being able to edit it independently from the subject allows to better categorize / filter mailings without sending technical terms to customers. Marketing users could also change and tweak mailing subject without disorganizing the pipe and changing the URM source name. Demo data are updated accordingly to have both subject and mailing names. This commit is linked to task ID 1917602 and PR #29514.
2019-01-14[REF] link_tracker, mass_mailing: simplify add_click method and add testsThibault Delavallée
In this commit we rewrite a bit add_click in order to remove the inlined sudo and ease inheritance and parameter management inside the method. Access through controllers is sudo-ed as the main API method is now done with current user access rights. This commit is linked to task ID 1904277 and PR #28242.
2018-12-11[IMP] mass_mailing: improve demo dataThibault Delavallée
Purpose of this commit is to improve a bit demo data in mass mailing. This includes notably * having real links and UTMs generation for them calling manually convert_link in demo data; * having real statistics about clicks by calling add_click in demo data; It will help having demo data feeling like a real mass mailing has been sent. This commit is linked to task ID 1907994 and PR #28533.
2018-11-09[IMP] mass_mailing : add blacklist and opt_out demo dataDavid Beguin
In order to understand more easily the impact of an opt out or a blacklisted contact on the interface, blacklist and opt-out demo data are added. Tests updated to only test mails on contacts created inside the test environement and not with demo data. Task ID 1892998 Closes PR #27674
2018-09-20[IMP] mass mailing: improve demo dataThibault Delavallée
Purpose of this commit is to have some demo data that are coherent. Main things done in this commit are * clean the body of the first mass mailing given to the user in order to have a content more inlined with odoo emails; * update filter of the demo mass mailing to limit the results to something predictable, aka contacts of ReadyMat; * update statistics to be really linked to customer of the demo company by setting model and res_id; * create a statistics for each child of the company ReadyMat so that stat buttons redirect correctly to a filetered view; This commit is linked to task ID 1885121 and closes PR #27003.
2018-08-31[FIX] website, mass_mailing: fix social networkJeremy Kersten
- Remove useless onchange company id from website, now that we configure it in the res config. - Add the onchange company into the res_config_settings - Remove left duplicate data from mass_mailing - Add ALL social links into the res config
2018-08-27[REF] mass_mailing : modify demo data to use user Admin and not SystemDavid Beguin
Fix Issue : With Mass Mailing Campaigns option activated only: if I go to Campaigns menu, I see 'Newsletter', I click on it and I am redirected to Mailings but don't see anything because the filter 'My Mailings' is activated. In my opinion, there is an inconstancy somewhere. Is it only due to demo data? Reason : Since System and Admin users refactoring, in one case, we see the data of system, because no filter, ine other case, we see only admin data because filter. As the mailing creator is system and not admin anymore.
2018-08-10[IMP] mail, mass_mailing : apply blacklist, opt_out per mailing listDavid Beguin
Purpose ======= - Apply the blacklist implementation to Improve mailing subscription to be more compliant with the European GDPR law. Keep a list of people who does not want to receive promotional emails (or mass mailing in general) anymore. - Allows the recipient to update himself his mailing preferences Specifications =========== This commit is regrouping some main changes on mass mailing. Apply Blacklist for following models through blacklist.mixin : - crm.lead - res.partner - mail.mass_mailing.contact - mail.channel.partner - Opt_out per mailing list instead of per mailing contact. - Replace opt_out by blacklist in crm.lead + res.partner models - Added 'ignored' state for mass_mailing. Ignored = blacklisted, opted-out Ignored email are not included into final statistics to avoid confusion. - Unsubscribe(d) pages migrated from website_mass_mailing to mass_mailing module as thoses pages should work without having the website module installed Detailed implementation =================== Mass-mailing : - A blacklisted email is notified by the ban icon next to the email field. (at the left of the email field for display purpose) - Renaming the '_get_blacklist' method that was actually searching opt_out list into 'get_opt_out_list' - Opt out per mailing list : Add opt_out + related fields (for display and ergonomy reasons) on the relational model - Display relational model tree view instead of mass_mailing.contact tree view when clicking on mass_mailing_list in kanban view -> In order to be align between contact_nbr displayed in kanban tile and the content of the tree view -> mass_mailing contact is accesible via the user icon in this tree view - Remove custom filters 'filter_contact_subscription' and 'filter_contact_unsubscription' as opt_out is not on mass_mailing.contact model anymore - Add 'is_public' to mailing list The name of this mailing list can be seen (or not) by recipient in the unsubscription page If the mailing lists used in the mass mailing are not public, the user in only informed that he has been unsubscribed. If the mailing lists are public, the user is informed that he has been unsubscribed from the mailing lists and he has the choice to modify his subscription to all the public mailing list he is or was subscribed to. - Unsubscription Page : - mass_mailing_contact : Opt_out per mailing list, done by email and not by id, as multiple contact can have the same email The recipient can add/remove himself to/from the blacklist The recipient can send a feedback about why he unsubscribed - crm.lead + res.partner : Once the recipient unsubscribe, he is automatically blacklisted The recipient can 'Come back' and remove himself from the blacklist if he changes his mind - Show blacklist button parameter added in config : The idea is to enable/disable the fact that the recipient can add himself to the blacklist by showing or not the 'blacklist me' button Only applies for mass_mailing.contact. The recipient, once blacklisted, can always, no matter the value of this parameter, 'come back' and unblacklist himself crm.lead + res.partner : - Replace opt_out by blacklist in crm.lead + res.partner models. As when a res.partner or crm.lead unsubcribe, we assume that the recipient does not want to receive mass mailing anymore, at all, even if we adds him to a mailing list afterwards. He is then blacklisted to avoid this. With this behaviour, if a new lead is created with the same email address, he won't be able to receive mail in mass_mode. But he will still be able to receive '1 to 1' direct email. Task ID 33224 Closes #25966
2018-08-09[IMP] mass_mailing, crm, sale: improve demo data related to UTMThibault Delavallée
Purpose is to be able to have some basic demo data for crm and sales linked to UTMs. Those will be used when introducing crm and sale bridge module with mass mailing in order to display some documents linked by UTMs. This commit is linked to task ID 1872198 and PR #26188.
2018-06-22[IMP] Improve compatibility with screen readers (accessibility) (#24574)kujiu
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
2017-09-15[IMP] mass_mailing: choose model among all chatter modelsYannick Tivisse
This commit removes the strange selection box based on a magic flag and some strange methods returning a string. Instead just allow to send mass mailing on all models inheriting from mail.thread using the is mail thread flag. Various addons are updated to remove the _mail_mass_mailing class attribute used to determine mass mailing capability. We consider people could send a mass mailing on every model inheriting from mail.thread. It makes no sense to limit it to a given set of addons.
2017-09-06[IMP] website: Clean and simplify res_config viewMahendra barad
Purpose ======= - Settings are too complex: too long + too many options that shouldn't be suggested with checkboxes e.g. twitter roller is now suggested as a new snippet to install from website editor google maps, slides, forum, etc. should show up in the apps store - When saving the page I expect to stay in the settings -> no redirection to homepage anymore! Specification ============= See task 33620
2017-06-01[MERGE] Forward-port saas-14 up to b9e220726730e2e0c25dae9952fa90e783fadc16Olivier Dony
2017-06-01[MERGE] Forward-port 10.0 up to 7e44444878760ca44cf1b22bf05d77e26c477cabOlivier Dony
2017-05-31[MERGE] Forward-port saas-11 up to 156e9d00164b58cbafb7dba9018df194391fc0beOlivier Dony
2017-05-26[FIX] mass_mailing: set cron to noupdateSylvain GARANCHER
To avoid forcing the frequency or active. Move to data file with noupdate enabled Closes #17227
2017-02-10[IMP] generic: Open external links in a new tab by defaultmmo
Purpose ======= External links in the data sometimes open in the same tab, the users loses times as he has to come back (and looses the context). Specification ============= Any external links in data (planners, settings) should open in new tabs.
2016-11-29[IMP] mass_mailing: better management of contacts listsFabien Pinckaers
2016-09-01[IMP] mail: bounce managementThibault Delavallée
Handle bounces using bounce alias directly in mailgateway. Previously bounces were used only in mass mailing to update campaign statistics. Now the mailgateway tries to find data from standard delivery status emails. This data is used to update state of emails sent to customers, to display it in the Chatter. It is also used to increment the message_bounce counter on the bounced partner and bounced record, if any and if the field exists. Previous more generic code that detect bounces is kept. This code is more specific to standard delivery failure notifications by parsing its content.
2016-06-17[MOV] mass_mailing: splitted the following files + new apiKeyur Gajjar
1. Splitted data/mass_mailing_data.xml to security/mass_mailing_security.xml for res_groups data. 2. Splitted views/mass_mailing_views to - views/link_tracker_views.xml - views/mass_mailing_stats_views.xml - views/mass_mailing_template.xml
2015-09-07[ADD] *: add color field on tagsMartin Geubelle
2015-08-31[FIX] mass_mailing: ir action todo brokenYannick Tivisse
2015-08-25[FIX] Several fixed due to some of the demo data removalYannick Tivisse
NB : Some tests have been modified. One assert statement in orderpoint_calendar.yml has been modified, but the change is legit has no python method has been modified at all
2015-07-10[IMP] mass_mailing: remove depends to website. Create a website_mass_mailing ↵Christophe Matthieu
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[IMP] mass_mailing: move code from website_mail to mass_mailing and use ↵Christophe Matthieu
web_editor
2015-02-12[IMP] website_mail: improved template designer, added support for background ↵Christophe Matthieu
color, font color and convert class to inline style in mail designer, changed snippet according to new format, added theme selector in mail_designer, added font-awesome support (convert in image) in mail snippets
2015-01-07[IMP] Mass mailings send in cronJulien De Coster
1. The merge of the "email_template" module into the "mail" module. 2. The send action of the mass mailing has been moved from the frontend to a cron, because it was too slow to send over 10,000 mails (the user's browser was blocked for 15 - 20 minutes). Mass mailings have now their own process in the kanban view. 3. Mails sent from the mail form are sent immediatly instead of from the mail queue (for instance, when you go to sales > customers > list view > select 2 -3 customers > More > Partner Mass Mailing). 4. Users have now the choice from which mailing list they want to unsubscribe when they click on the unsubscribe link at the bottom of the mail. 5. Mass mailings inherit from their campaign UTMs and mass mailing campaigns are linked to an UTM campaign. 6. Many little improvements
2014-12-17[ADD] Add the website_links module.Julien De Coster
This module tracks clicks in mass mailing mails and allow the generation of trackable links in a website interface. Modules modifications --------------------- Refractoring of the crm_tracking_* classes in a new module. * Extract the crm_tracking_* from the crm module into a new module "utm" * Remove the crm_mass_mailing bridge module * New dependencies of mass_mailing and website_links to utm.
2014-08-21[IMP] website snippet new option, galleryChristophe Matthieu
website.snippet: The methods described in javascript will be called automatically from the data-method_name = value on li snippets options. The methods are called in the order relative to children of xml (eg: <li data-method1=value1> ... <li data-method2=value2> ... </ li>, the method1 is then called method2). Methods receive two arguments: type (over, click, reset) and value. data-snippet-id-option becomes data-snippet-id. Several xml options can use the same data-snippet-id. add a new gallery snippet convert website_sale to the new option system
2014-06-03[FIX] website_mail: fixed template choice and body duplication in the email ↵Thibault Delavallée
designer that was buddy; added some css to the page to make it more look like an email designer; also added a demo data for a template for mass mailing contacts in mass_mailing module.
2014-05-30[REV] attempt to revert incorrect removals in ↵Xavier Morel
f4d78ae738e474abd4e77dc8fc6cdf8a668a5d72
2014-04-15[FIX] mass_mailing: fixed demo dataThibault Delavallée
bzr revid: tde@openerp.com-20140415135846-ql9883kwc3skqelo
2014-04-15[IMP] mass_mailing: cleaned demo dataThibault Delavallée
bzr revid: tde@openerp.com-20140415135157-blrw8vcv66nzs6wa
2014-04-15[IMP] mass_mailing :improved demo dataThibault Delavallée
bzr revid: tde@openerp.com-20140415104337-gokvkpvx36wch132
2014-04-15[FIX] mass_mailing: fixed demo data: reply_to specified + remove ↵Thibault Delavallée
create_date, not allowed bzr revid: tde@openerp.com-20140415102818-zcm9vfc7zalg29f4
2014-04-15[REM] mass_mailing: removed report, a graph view on statistics will be ↵Thibault Delavallée
sufficient bzr revid: tde@openerp.com-20140415095817-rx7bokd6qc5rkrhq
2014-04-13[IMP] Removing featuerFabien Pinckaers
bzr revid: fp@tinyerp.com-20140413203309-digp60hsobgv3i57
2014-04-12[WIP] Mailing Lists and Contacts cleanedFabien Pinckaers
bzr revid: fp@tinyerp.com-20140412203129-5l7w4qr8rf2d1nqo
2014-04-04[IMP] mass_mailing: campaigns: some refactoring !Thibault Delavallée
- state is now stage_id, many2one towaqrds a newly added stage model, allowing to tune your process of mailign campaigns. Todo: menu to configure stages + access rights. - cleaned campaign kanban view, to be smaller. - added statbuttons in form view of campaigns bzr revid: tde@openerp.com-20140404153432-b171x0frbfepyfkn
2014-03-27[REM] mass_mailing: removed some demo dataThibault Delavallée
bzr revid: tde@openerp.com-20140327133144-sat7kxo7kg6z49io
2014-03-27[IMP] mass_mailing: usability improvementsThibault Delavallée
- from mass_mailing, creating or editing a template now goes through a wizard to avoid tweaking too much the email.template view. This allows an easier management of templates and their link with mailings. - moved email.template minimal form view from email_tmeplate to mass_mailing, because it is the sole module to use it. Tweaked it a bit by the way. - removed dead code about actions not used anymore in mass_mailing - empty list help on mail.mass_mailing.list - various small usability fixes bzr revid: tde@openerp.com-20140327130827-h9dy2m6mq10gzg1s
2014-03-25[FIX] mass_mailing: fixed demo data, warnings about non existentThibault Delavallée
fields in demo data. bzr revid: tde@openerp.com-20140325154246-6b97omyd4tjse7zo
2014-03-18[DEMO] mass_mailing: updated demo dataThibault Delavallée
bzr revid: tde@openerp.com-20140318163918-x1jg382boqdci0l3
2014-03-17[DEMO] mass_mailing: updated demo data, sent field new on mail mail stats ↵Thibault Delavallée
updated bzr revid: tde@openerp.com-20140317165713-gh87h9nvfvecm5y0
2014-03-17[REF] mass_mailing: moved files in models/data/views directories.Thibault Delavallée
bzr revid: tde@openerp.com-20140317143231-4jp3egoqvolenwxs