From 61f90f4581a2186145a4a3d2b62cbd7ef2d5021f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Mon, 17 Mar 2014 17:09:19 +0100 Subject: [IMP] mass_mailing: campaign and mailing kanban view update to match new specs, removed unnecessary CSS. Also added a sent field on mail mail statistics, to be able to count the number of really sent emails. bzr revid: tde@openerp.com-20140317160919-7sx7ja28zaxid67t --- addons/mass_mailing/static/src/js/mass_mailing.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/mass_mailing/static/src/js') diff --git a/addons/mass_mailing/static/src/js/mass_mailing.js b/addons/mass_mailing/static/src/js/mass_mailing.js index 93f63f01ad1..c0dc621984f 100644 --- a/addons/mass_mailing/static/src/js/mass_mailing.js +++ b/addons/mass_mailing/static/src/js/mass_mailing.js @@ -3,7 +3,7 @@ openerp.mass_mailing = function(openerp) { openerp.web_kanban.KanbanRecord.include({ on_card_clicked: function (event) { if (this.view.dataset.model === 'mail.mass_mailing.campaign') { - this.$('.oe_mass_mailings a').first().click(); + this.$('.oe_mailings').click(); } else { this._super.apply(this, arguments); } -- cgit v1.2.3 From f908137d768771ddf58cca0346727d12185f21a8 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Sun, 13 Apr 2014 18:20:28 +0200 Subject: [IMP] Template Editor bzr revid: fp@tinyerp.com-20140413162028-9tqqzis7qbggcrp4 --- addons/mass_mailing/static/src/js/mass_mailing.js | 71 ++++++++++++++++++++--- 1 file changed, 64 insertions(+), 7 deletions(-) (limited to 'addons/mass_mailing/static/src/js') diff --git a/addons/mass_mailing/static/src/js/mass_mailing.js b/addons/mass_mailing/static/src/js/mass_mailing.js index c0dc621984f..7a52b785714 100644 --- a/addons/mass_mailing/static/src/js/mass_mailing.js +++ b/addons/mass_mailing/static/src/js/mass_mailing.js @@ -1,13 +1,70 @@ -openerp.mass_mailing = function(openerp) { +openerp.mass_mailing = function (instance) { + var _t = instance.web._t; + debugger; - openerp.web_kanban.KanbanRecord.include({ - on_card_clicked: function (event) { - if (this.view.dataset.model === 'mail.mass_mailing.campaign') { - this.$('.oe_mailings').click(); + openerp.mass_mailing = function(openerp) { + openerp.web_kanban.KanbanRecord.include({ + on_card_clicked: function (event) { + if (this.view.dataset.model === 'mail.mass_mailing.campaign') { + this.$('.oe_mailings').click(); + } else { + this._super.apply(this, arguments); + } + }, + }); + }; + + instance.web.form.CharDomainButton = instance.web.form.AbstractField.extend({ + template: 'CharDomainButton', + init: function(field_manager, node) { + this._super.apply(this, arguments); + }, + start: function() { + var self=this; + this._super.apply(this, arguments); + $('button', this.$el).on('click', self.on_click); + this.set_button(); + }, + set_button: function() { + if (this.get('value')) { + // TODO: rpc to copute X + $('.oe_domain_count', this.$el).text('X records selected'); + $('button span', this.$el).text(' Change selection'); } else { - this._super.apply(this, arguments); - } + $('.oe_domain_count', this.$el).text('0 record selected'); + $('button span', this.$el).text(' Select records'); + }; }, + on_click: function(ev) { + var self = this; + var model = this.options.model || this.field_manager.get_field_value(this.options.model_field); + this.pop = new instance.web.form.SelectCreatePopup(this); + this.pop.select_element( + model, {title: 'Select records...'}, + [], this.build_context()); + this.pop.on("elements_selected", self, function() { + var self2 = this; + var search_data = this.pop.searchview.build_search_data() + instance.web.pyeval.eval_domains_and_contexts({ + domains: search_data.domains, + contexts: search_data.contexts, + group_by_seq: search_data.groupbys || [] + }).then(function (results) { + var domain = self2.pop.dataset.domain.concat(results.domain || []); + self.set_value(JSON.stringify(domain)) + }); + }); + event.preventDefault(); + }, + set_value: function(value_) { + var self = this; + this.set('value', value_ || false); + this.set_button(); + }, }); + instance.web.form.widgets = instance.web.form.widgets.extend( + {'char_domain': 'instance.web.form.CharDomainButton'} + ); + }; -- cgit v1.2.3 From 34e618965a486e6a64a258a9cd0c85ca7dd99a79 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Mon, 14 Apr 2014 10:10:35 +0200 Subject: [IMP] commment bzr revid: fp@tinyerp.com-20140414081035-9ixrag5oly2q0emb --- addons/mass_mailing/static/src/js/mass_mailing.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'addons/mass_mailing/static/src/js') diff --git a/addons/mass_mailing/static/src/js/mass_mailing.js b/addons/mass_mailing/static/src/js/mass_mailing.js index 7a52b785714..5936d3aabbf 100644 --- a/addons/mass_mailing/static/src/js/mass_mailing.js +++ b/addons/mass_mailing/static/src/js/mass_mailing.js @@ -1,7 +1,5 @@ openerp.mass_mailing = function (instance) { var _t = instance.web._t; - debugger; - openerp.mass_mailing = function(openerp) { openerp.web_kanban.KanbanRecord.include({ on_card_clicked: function (event) { @@ -50,6 +48,7 @@ openerp.mass_mailing = function (instance) { contexts: search_data.contexts, group_by_seq: search_data.groupbys || [] }).then(function (results) { + // if selected IDS change domain var domain = self2.pop.dataset.domain.concat(results.domain || []); self.set_value(JSON.stringify(domain)) }); -- cgit v1.2.3 From 48d7a6fa6ca13208ca6468eaee127092fec60c78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Mon, 14 Apr 2014 16:40:11 +0200 Subject: [CLEAN] mass_mailing: rmeoved dead stuff bzr revid: tde@openerp.com-20140414144011-awu4g35etq9s4gje --- addons/mass_mailing/static/src/js/mass_mailing.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/mass_mailing/static/src/js') diff --git a/addons/mass_mailing/static/src/js/mass_mailing.js b/addons/mass_mailing/static/src/js/mass_mailing.js index cf4927e908e..58590001355 100644 --- a/addons/mass_mailing/static/src/js/mass_mailing.js +++ b/addons/mass_mailing/static/src/js/mass_mailing.js @@ -19,7 +19,7 @@ openerp.mass_mailing = function (instance) { start: function() { var self=this; this._super.apply(this, arguments); - $('button', this.$el).on('click', self.on_click); + $('button.select_records', this.$el).on('click', self.on_click); this.set_button(); }, set_button: function() { -- cgit v1.2.3 From 6179d9b6a24a754e0015709665921670479fb338 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 15 Apr 2014 11:25:03 +0200 Subject: [IMP] mass_mailing: finishing refactoring for the new func flow. - cleaned reply-to management, now displaying an alert but simplifying the underlying model about options available / not available for certain documents; - cleaned a bit the form view; - date -> create_date, and added a sent_date to distinguish the two; - removed dead code; - first draft of improving the chardomain widget bzr revid: tde@openerp.com-20140415092503-q1hku1rh12ldy9i1 --- addons/mass_mailing/static/src/js/mass_mailing.js | 48 +++++++++++++++-------- 1 file changed, 31 insertions(+), 17 deletions(-) (limited to 'addons/mass_mailing/static/src/js') diff --git a/addons/mass_mailing/static/src/js/mass_mailing.js b/addons/mass_mailing/static/src/js/mass_mailing.js index 58590001355..a033903ef7a 100644 --- a/addons/mass_mailing/static/src/js/mass_mailing.js +++ b/addons/mass_mailing/static/src/js/mass_mailing.js @@ -16,17 +16,28 @@ openerp.mass_mailing = function (instance) { init: function(field_manager, node) { this._super.apply(this, arguments); }, + initialize_content: function () { + this.on("change:effective_readonly", this, this.render_value); + }, start: function() { var self=this; this._super.apply(this, arguments); $('button.select_records', this.$el).on('click', self.on_click); this.set_button(); }, + render_value: function () { + console.log('cacaprout', this.$('.select_records')); + var self = this; + this.$('.select_records').toggle(! this.get('effective_readonly')); + }, + set_value: function(value_) { + var self = this; + this.set('value', value_ || false); + this.set_button(); + }, set_button: function() { var self = this; - // debugger if (this.get('value')) { - // TODO: rpc to copute X var domain = instance.web.pyeval.eval('domain', this.get('value')); var relation = this.getParent().fields.mailing_model.get('value')[0]; var ds = new instance.web.DataSetStatic(self, relation, self.build_context()); @@ -40,32 +51,35 @@ openerp.mass_mailing = function (instance) { }; }, on_click: function(ev) { + console.log(this.get('effective_readonly')); var self = this; var model = this.options.model || this.field_manager.get_field_value(this.options.model_field); this.pop = new instance.web.form.SelectCreatePopup(this); this.pop.select_element( model, {title: 'Select records...'}, [], this.build_context()); - this.pop.on("elements_selected", self, function() { - var self2 = this; - var search_data = this.pop.searchview.build_search_data() - instance.web.pyeval.eval_domains_and_contexts({ - domains: search_data.domains, - contexts: search_data.contexts, - group_by_seq: search_data.groupbys || [] - }).then(function (results) { - // if selected IDS change domain - var domain = self2.pop.dataset.domain.concat(results.domain || []); + this.pop.on("elements_selected", self, function(element_ids) { + if (this.pop.$('input.oe_list_record_selector').prop('checked')) { + var search_data = this.pop.searchview.build_search_data(); + var domain_done = instance.web.pyeval.eval_domains_and_contexts({ + domains: search_data.domains, + contexts: search_data.contexts, + group_by_seq: search_data.groupbys || [] + }).then(function (results) { + return results.domain; + }); + } + else { + var domain = ["id", "in", element_ids]; + var domain_done = $.Deferred().resolve(domain); + } + $.when(domain_done).then(function (domain) { + var domain = self.pop.dataset.domain.concat(domain || []); self.set_value(JSON.stringify(domain)) }); }); event.preventDefault(); }, - set_value: function(value_) { - var self = this; - this.set('value', value_ || false); - this.set_button(); - }, }); instance.web.form.widgets = instance.web.form.widgets.extend( -- cgit v1.2.3 From 4808ca3796514701dc20a0ef96cddeedbf61e90d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 15 Apr 2014 14:52:22 +0200 Subject: [FIX] mass_mailing: various fixed in chardomain widget bzr revid: tde@openerp.com-20140415125222-uzvzgzo5gx6hmgor --- addons/mass_mailing/static/src/js/mass_mailing.js | 27 +++++++++++------------ 1 file changed, 13 insertions(+), 14 deletions(-) (limited to 'addons/mass_mailing/static/src/js') diff --git a/addons/mass_mailing/static/src/js/mass_mailing.js b/addons/mass_mailing/static/src/js/mass_mailing.js index a033903ef7a..c91fe900923 100644 --- a/addons/mass_mailing/static/src/js/mass_mailing.js +++ b/addons/mass_mailing/static/src/js/mass_mailing.js @@ -11,32 +11,32 @@ openerp.mass_mailing = function (instance) { }, }); - instance.web.form.CharDomainButton = instance.web.form.AbstractField.extend({ - template: 'CharDomainButton', + instance.web.form.CharDomainButton = instance.web.form.AbstractField.extend(instance.web.form.ReinitializeFieldMixin, { init: function(field_manager, node) { this._super.apply(this, arguments); }, - initialize_content: function () { - this.on("change:effective_readonly", this, this.render_value); - }, start: function() { var self=this; this._super.apply(this, arguments); - $('button.select_records', this.$el).on('click', self.on_click); - this.set_button(); + this.on("change:effective_readonly", this, function () { + this.display_field(); + this.render_value(); + }); + this.$('button.select_records').on('click', self.on_click); + this.display_field(); + return this._super(); }, - render_value: function () { - console.log('cacaprout', this.$('.select_records')); - var self = this; - this.$('.select_records').toggle(! this.get('effective_readonly')); + render_value: function() { + this.$('button.select_records').css('visibility', this.get('effective_readonly') ? 'hidden': ''); }, set_value: function(value_) { var self = this; this.set('value', value_ || false); - this.set_button(); + this.display_field(); }, - set_button: function() { + display_field: function() { var self = this; + this.$el.html(instance.web.qweb.render("CharDomainButton", {widget: this})); if (this.get('value')) { var domain = instance.web.pyeval.eval('domain', this.get('value')); var relation = this.getParent().fields.mailing_model.get('value')[0]; @@ -51,7 +51,6 @@ openerp.mass_mailing = function (instance) { }; }, on_click: function(ev) { - console.log(this.get('effective_readonly')); var self = this; var model = this.options.model || this.field_manager.get_field_value(this.options.model_field); this.pop = new instance.web.form.SelectCreatePopup(this); -- cgit v1.2.3 From da7cb60cfc6bf5838c8c7bd7032f5e58cb54e0ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 15 Apr 2014 15:39:33 +0200 Subject: [MOVE] Moved mass mailing chardomain widget to web. bzr revid: tde@openerp.com-20140415133933-1uqlj3yujdwozz2m --- addons/mass_mailing/static/src/js/mass_mailing.js | 75 ----------------------- 1 file changed, 75 deletions(-) (limited to 'addons/mass_mailing/static/src/js') diff --git a/addons/mass_mailing/static/src/js/mass_mailing.js b/addons/mass_mailing/static/src/js/mass_mailing.js index c91fe900923..ef456c40bbf 100644 --- a/addons/mass_mailing/static/src/js/mass_mailing.js +++ b/addons/mass_mailing/static/src/js/mass_mailing.js @@ -10,79 +10,4 @@ openerp.mass_mailing = function (instance) { } }, }); - - instance.web.form.CharDomainButton = instance.web.form.AbstractField.extend(instance.web.form.ReinitializeFieldMixin, { - init: function(field_manager, node) { - this._super.apply(this, arguments); - }, - start: function() { - var self=this; - this._super.apply(this, arguments); - this.on("change:effective_readonly", this, function () { - this.display_field(); - this.render_value(); - }); - this.$('button.select_records').on('click', self.on_click); - this.display_field(); - return this._super(); - }, - render_value: function() { - this.$('button.select_records').css('visibility', this.get('effective_readonly') ? 'hidden': ''); - }, - set_value: function(value_) { - var self = this; - this.set('value', value_ || false); - this.display_field(); - }, - display_field: function() { - var self = this; - this.$el.html(instance.web.qweb.render("CharDomainButton", {widget: this})); - if (this.get('value')) { - var domain = instance.web.pyeval.eval('domain', this.get('value')); - var relation = this.getParent().fields.mailing_model.get('value')[0]; - var ds = new instance.web.DataSetStatic(self, relation, self.build_context()); - ds.call('search_count', [domain]).then(function (results) { - $('.oe_domain_count', self.$el).text(results + ' records selected'); - $('button span', self.$el).text(' Change selection'); - }); - } else { - $('.oe_domain_count', this.$el).text('0 record selected'); - $('button span', this.$el).text(' Select records'); - }; - }, - on_click: function(ev) { - var self = this; - var model = this.options.model || this.field_manager.get_field_value(this.options.model_field); - this.pop = new instance.web.form.SelectCreatePopup(this); - this.pop.select_element( - model, {title: 'Select records...'}, - [], this.build_context()); - this.pop.on("elements_selected", self, function(element_ids) { - if (this.pop.$('input.oe_list_record_selector').prop('checked')) { - var search_data = this.pop.searchview.build_search_data(); - var domain_done = instance.web.pyeval.eval_domains_and_contexts({ - domains: search_data.domains, - contexts: search_data.contexts, - group_by_seq: search_data.groupbys || [] - }).then(function (results) { - return results.domain; - }); - } - else { - var domain = ["id", "in", element_ids]; - var domain_done = $.Deferred().resolve(domain); - } - $.when(domain_done).then(function (domain) { - var domain = self.pop.dataset.domain.concat(domain || []); - self.set_value(JSON.stringify(domain)) - }); - }); - event.preventDefault(); - }, - }); - - instance.web.form.widgets = instance.web.form.widgets.extend( - {'char_domain': 'instance.web.form.CharDomainButton'} - ); - }; -- cgit v1.2.3