diff options
| author | Xavier Morel <xmo@openerp.com> | 2014-05-14 15:13:04 +0200 |
|---|---|---|
| committer | Xavier Morel <xmo@openerp.com> | 2014-05-14 15:13:04 +0200 |
| commit | f4d78ae738e474abd4e77dc8fc6cdf8a668a5d72 (patch) | |
| tree | a02d0dedc047ff296517530b50a33556e5d4f6c7 /addons | |
| parent | 9d9cfd585f56bf64126e7316ea60ea5131a02059 (diff) | |
| parent | 4f5cc00420c6af5430ac921e89f217dcedaa1b8f (diff) | |
Merge branch 'server-trunk'
Conflicts:
addons/mass_mailing/controllers/main.py
Diffstat (limited to 'addons')
19 files changed, 23 insertions, 208 deletions
diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py index 785d7cd6db0..6c71f940e8a 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis.py +++ b/addons/account_analytic_analysis/account_analytic_analysis.py @@ -542,17 +542,18 @@ class account_analytic_account(osv.osv): 'nodestroy': True, } - def on_change_template(self, cr, uid, ids, template_id, date_start=False, context=None): + def on_change_template(self, cr, uid, ids, template_id, date_start=False, fix_price_invoices=False, invoice_on_timesheets=False, recurring_invoices=False, context=None): if not template_id: return {} + obj_analytic_line = self.pool.get('account.analytic.invoice.line') res = super(account_analytic_account, self).on_change_template(cr, uid, ids, template_id, date_start=date_start, context=context) template = self.browse(cr, uid, template_id, context=context) - if not ids: + if not fix_price_invoices: res['value']['fix_price_invoices'] = template.fix_price_invoices res['value']['amount_max'] = template.amount_max - if not ids: + if not invoice_on_timesheets: res['value']['invoice_on_timesheets'] = template.invoice_on_timesheets res['value']['hours_qtt_est'] = template.hours_qtt_est @@ -560,7 +561,7 @@ class account_analytic_account(osv.osv): res['value']['to_invoice'] = template.to_invoice.id if template.pricelist_id.id: res['value']['pricelist_id'] = template.pricelist_id.id - if not ids: + if not recurring_invoices: invoice_line_ids = [] for x in template.recurring_invoice_line_ids: invoice_line_ids.append((0, 0, { diff --git a/addons/account_analytic_analysis/account_analytic_analysis_view.xml b/addons/account_analytic_analysis/account_analytic_analysis_view.xml index a6fe828926a..97fb15e9290 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis_view.xml +++ b/addons/account_analytic_analysis/account_analytic_analysis_view.xml @@ -38,6 +38,9 @@ <field name="partner_id" position="attributes"> <attribute name="attrs">{'required': [('type','=','contract'),'|','|',('fix_price_invoices','=',True), ('invoice_on_timesheets', '=', True), ('recurring_invoices', '=', True)]}</attribute> </field> + <field name="template_id" position="attributes"> + <attribute name="on_change">on_change_template(template_id, date_start, fix_price_invoices, invoice_on_timesheets, recurring_invoices)</attribute> + </field> <xpath expr='//group[@name="invoice_on_timesheets"]' position="replace"> </xpath> <xpath expr='//separator[@name="description"]' position='before'> diff --git a/addons/event/email_template.xml b/addons/event/email_template.xml index d4479bcfc87..d99774acd3c 100644 --- a/addons/event/email_template.xml +++ b/addons/event/email_template.xml @@ -9,7 +9,7 @@ <field name="subject">Your registration at ${object.event_id.name}</field> <field name="body_html"><![CDATA[ <p>Hello ${object.name},</p> - <p>The event ${object.event_id.name} that you registered for is confirmed and will be held from ${object.event_id.date_begin_located.strftime('%Y-%m-%d %H:%M:%S (%Z)')} to ${object.event_id.date_end_located.strftime('%Y-%m-%d %H:%M:%S (%Z)')}. + <p>The event ${object.event_id.name} that you registered for is confirmed and will be held from ${object.event_id.date_begin} to ${object.event_id.date_end}. For any further information please contact our event department.</p> <p>Thank you for your participation!</p> <p>Best regards</p>]]></field> diff --git a/addons/event/event.py b/addons/event/event.py index a31ec00b8c0..5e5d1204a17 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -18,8 +18,7 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. # ############################################################################## -import pytz -from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT + from datetime import datetime, timedelta from openerp.osv import fields, osv from openerp.tools.translate import _ @@ -157,22 +156,6 @@ class event_event(osv.osv): for event in self.browse(cr, uid, ids, context=context) } - def _compute_date_tz(self, cr, uid, ids, fld, arg, context=None): - if context is None: - context = {} - res = {} - for event in self.browse(cr, uid, ids, context=context): - ctx = dict(context, tz=(event.date_tz or 'UTC')) - if fld == 'date_begin_located': - date_to_convert = event.date_begin - elif fld == 'date_end_located': - date_to_convert = event.date_end - res[event.id] = fields.datetime.context_timestamp(cr, uid, datetime.strptime(date_to_convert, DEFAULT_SERVER_DATETIME_FORMAT), context=ctx) - return res - - def _tz_get(self, cr, uid, context=None): - return [(x, x) for x in pytz.all_timezones] - _columns = { 'name': fields.char('Event Name', size=64, required=True, translate=True, readonly=False, states={'done': [('readonly', True)]}), 'user_id': fields.many2one('res.users', 'Responsible User', readonly=False, states={'done': [('readonly', True)]}), @@ -192,11 +175,8 @@ class event_event(osv.osv): store={'event.registration': (_get_events_from_registrations, ['state'], 10), 'event.event': (lambda self, cr, uid, ids, c = {}: ids, ['seats_max', 'registration_ids'], 20)}), 'registration_ids': fields.one2many('event.registration', 'event_id', 'Registrations', readonly=False, states={'done': [('readonly', True)]}), - 'date_tz': fields.selection(_tz_get, string='Timezone'), 'date_begin': fields.datetime('Start Date', required=True, readonly=True, states={'draft': [('readonly', False)]}), 'date_end': fields.datetime('End Date', required=True, readonly=True, states={'draft': [('readonly', False)]}), - 'date_begin_located': fields.function(_compute_date_tz, string='Start Date Located', type="datetime"), - 'date_end_located': fields.function(_compute_date_tz, string='End Date Located', type="datetime"), 'state': fields.selection([ ('draft', 'Unconfirmed'), ('cancel', 'Cancelled'), @@ -224,8 +204,7 @@ class event_event(osv.osv): 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'event.event', context=c), 'user_id': lambda obj, cr, uid, context: uid, 'organizer_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr, uid, uid, context=c).company_id.partner_id.id, - 'address_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr, uid, uid, context=c).company_id.partner_id.id, - 'date_tz': lambda self, cr, uid, ctx: ctx.get('tz', "UTC"), + 'address_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr, uid, uid, context=c).company_id.partner_id.id } def _check_seats_limit(self, cr, uid, ids, context=None): diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml index baa553babaf..cc6edfbd9bd 100644 --- a/addons/event/event_view.xml +++ b/addons/event/event_view.xml @@ -89,7 +89,6 @@ <field name="type" on_change="onchange_event_type(type,context)" /> <field name="date_begin" on_change="onchange_start_date(date_begin,date_end)"/> <field name="date_end"/> - <field name="date_tz" /> </group> </group> <notebook> diff --git a/addons/mass_mailing/__openerp__.py b/addons/mass_mailing/__openerp__.py index e0a8ab041fe..e96cc910920 100644 --- a/addons/mass_mailing/__openerp__.py +++ b/addons/mass_mailing/__openerp__.py @@ -48,8 +48,6 @@ professional emails and reuse templates in a few clicks. 'views/res_config.xml', 'views/res_partner.xml', 'views/email_template.xml', - 'views/website_mass_mailing.xml', - 'views/snippets.xml', 'security/ir.model.access.csv', 'views/mass_mailing.xml', ], diff --git a/addons/mass_mailing/data/mass_mailing_data.xml b/addons/mass_mailing/data/mass_mailing_data.xml index 7137bfcf29b..6bd1df79a72 100644 --- a/addons/mass_mailing/data/mass_mailing_data.xml +++ b/addons/mass_mailing/data/mass_mailing_data.xml @@ -33,10 +33,5 @@ <field name="sequence">30</field> </record> - <!-- Create mailing lists --> - <record id="mass_mail_list_1" model="mail.mass_mailing.list"> - <field name="name">Newsletter</field> - </record> - </data> </openerp>
\ No newline at end of file diff --git a/addons/mass_mailing/data/mass_mailing_demo.xml b/addons/mass_mailing/data/mass_mailing_demo.xml index d5a84419f93..569feec9c88 100644 --- a/addons/mass_mailing/data/mass_mailing_demo.xml +++ b/addons/mass_mailing/data/mass_mailing_demo.xml @@ -9,7 +9,7 @@ </record> <!-- Create mailing lists --> - <record id="mass_mail_list_2" model="mail.mass_mailing.list"> + <record id="mass_mail_list_1" model="mail.mass_mailing.list"> <field name="name">Imported Contacts</field> </record> @@ -17,17 +17,17 @@ <record id="mass_mail_contact_1" model="mail.mass_mailing.contact"> <field name="name">Aristide Antario</field> <field name="email">aa@example.com</field> - <field name="list_id" ref="mass_mailing.mass_mail_list_2"/> + <field name="list_id" ref="mass_mailing.mass_mail_list_1"/> </record> <record id="mass_mail_contact_2" model="mail.mass_mailing.contact"> <field name="name">Beverly Bridge</field> <field name="email">bb@example.com</field> - <field name="list_id" ref="mass_mailing.mass_mail_list_2"/> + <field name="list_id" ref="mass_mailing.mass_mail_list_1"/> </record> <record id="mass_mail_contact_3" model="mail.mass_mailing.contact"> <field name="name">Carol Cartridge</field> <field name="email">cc@example.com</field> - <field name="list_id" ref="mass_mailing.mass_mail_list_2"/> + <field name="list_id" ref="mass_mailing.mass_mail_list_1"/> <field name="opt_out" eval="True"/> </record> diff --git a/addons/mass_mailing/static/src/img/blocks/button_newsletter.png b/addons/mass_mailing/static/src/img/blocks/button_newsletter.png Binary files differdeleted file mode 100644 index 46a63ef9b00..00000000000 --- a/addons/mass_mailing/static/src/img/blocks/button_newsletter.png +++ /dev/null diff --git a/addons/mass_mailing/static/src/js/website_mass_mailing.editor.js b/addons/mass_mailing/static/src/js/website_mass_mailing.editor.js deleted file mode 100644 index 4caba1d29b5..00000000000 --- a/addons/mass_mailing/static/src/js/website_mass_mailing.editor.js +++ /dev/null @@ -1,40 +0,0 @@ -(function () { - 'use strict'; - - var website = openerp.website; - var _t = openerp._t; - - website.snippet.options.mailing_list_subscribe = website.snippet.Option.extend({ - on_prompt: function () { - var self = this; - return website.prompt({ - id: "editor_new_mailing_list_subscribe_button", - window_title: _t("Add a Newsletter Subscribe Button"), - select: _t("Newsletter"), - init: function (field) { - return website.session.model('mail.mass_mailing.list') - .call('name_search', ['', []], { context: website.get_context() }); - }, - }).then(function (mailing_list_id) { - self.$target.attr("data-list-id", mailing_list_id); - }); - }, - drop_and_build_snippet: function() { - var self = this; - this._super(); - this.on_prompt().fail(function () { - self.editor.on_remove(); - }); - }, - start : function () { - var self = this; - this.$el.find(".js_mailing_list").on("click", _.bind(this.on_prompt, this)); - this._super(); - }, - clean_for_save: function () { - this.$target.addClass("hidden"); - }, - }); -})(); - - diff --git a/addons/mass_mailing/static/src/js/website_mass_mailing.js b/addons/mass_mailing/static/src/js/website_mass_mailing.js deleted file mode 100644 index 5776fadfb3f..00000000000 --- a/addons/mass_mailing/static/src/js/website_mass_mailing.js +++ /dev/null @@ -1,57 +0,0 @@ -(function () { - 'use strict'; - - var website = openerp.website; - - website.snippet.animationRegistry.subscribe = website.snippet.Animation.extend({ - selector: ".js_subscribe", - start: function (editable_mode) { - var self = this; - - // set value and display button - self.$target.find("input").removeClass("hidden"); - openerp.jsonRpc('/website_mass_mailing/is_subscriber', 'call', { - list_id: this.$target.data('list-id'), - }).always(function (data) { - self.$target.find('input.js_subscribe_email') - .val(data.email ? data.email : "") - .attr("disabled", data.is_subscriber && data.email.length ? "disabled" : false); - self.$target.attr("data-subscribe", data.is_subscriber ? 'on' : 'off'); - self.$target.find('a.js_subscribe_btn') - .val(data.email ? data.email : "") - .attr("disabled", data.is_subscriber && data.email.length ? "disabled" : false); - self.$target.removeClass("hidden"); - }); - - // not if editable mode to allow designer to edit alert field - if (!editable_mode) { - $('.js_subscribe > .alert').addClass("hidden"); - $('.js_subscribe > .input-group-btn.hidden').removeClass("hidden"); - this.$target.find('.js_subscribe_btn').on('click', function (event) { - event.preventDefault(); - self.on_click(); - }); - } - }, - on_click: function () { - var self = this; - var $email = this.$target.find(".js_subscribe_email:visible"); - - if ($email.length && !$email.val().match(/.+@.+/)) { - this.$target.addClass('has-error'); - return false; - } - this.$target.removeClass('has-error'); - - openerp.jsonRpc('/website_mass_mailing/subscribe', 'call', { - 'list_id': this.$target.data('list-id'), - 'email': $email.length ? $email.val() : false, - }).then(function (subscribe) { - self.$target.find(".js_subscribe_email, .input-group-btn").addClass("hidden"); - self.$target.find(".alert").removeClass("hidden"); - self.$target.find('input.js_subscribe_email').attr("disabled", subscribe ? "disabled" : false); - self.$target.attr("data-subscribe", subscribe ? 'on' : 'off'); - }); - }, - }); -})(); diff --git a/addons/mass_mailing/views/snippets.xml b/addons/mass_mailing/views/snippets.xml deleted file mode 100644 index cefe2e7bdfd..00000000000 --- a/addons/mass_mailing/views/snippets.xml +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<openerp> -<data> - -<template id="mailing_list_subscribe" inherit_id="website.snippets" name="Subscribe to Newsletter"> - - <xpath expr="//div[@id='snippet_content']" position="inside"> - <div> - <div class="oe_snippet_thumbnail"> - <img class="oe_snippet_thumbnail_img" src="/mass_mailing/static/src/img/blocks/button_newsletter.png"/> - <span class="oe_snippet_thumbnail_title">Newsletter</span> - </div> - - <div class="oe_snippet_body input-group js_subscribe" - data-list-id="0"> - <input - type="email" - name="email" - class="js_subscribe_email form-control" - placeholder="your email..."/> - <span class="input-group-btn"> - <a href="#" class="btn btn-primary js_subscribe_btn">Subscribe</a> - </span> - <div class="alert alert-success hidden">Thanks for your subscription!</div> - </div> - - </div> - </xpath> - - <xpath expr="//div[@id='snippet_options']" position="inside"> - <div data-snippet-option-id='mailing_list_subscribe' - data-selector=".js_subscribe" - data-selector-siblings="p, h1, h2, h3, blockquote, .well, .panel" - > - <li> - <a href="#" class="button js_mailing_list">Change Newsletter</a> - </li> - </div> - </xpath> - -</template> - -</data> -</openerp> diff --git a/addons/mass_mailing/views/website_mass_mailing.xml b/addons/mass_mailing/views/website_mass_mailing.xml deleted file mode 100644 index bc55f61400c..00000000000 --- a/addons/mass_mailing/views/website_mass_mailing.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<openerp> -<data> - -<template id="head" inherit_id="website.layout" name="Mail customization"> - <xpath expr="//head" position="inside"> - <script type="text/javascript" src="/mass_mailing/static/src/js/website_mass_mailing.editor.js" groups="base.group_website_publisher"></script> - <script type="text/javascript" src="/mass_mailing/static/src/js/website_mass_mailing.js"></script> - <link rel='stylesheet' href='/website_mail/static/src/css/website_mail.css'/> - </xpath> -</template> - -</data> -</openerp> diff --git a/addons/website/models/ir_ui_view.py b/addons/website/models/ir_ui_view.py index 3f868e0d208..9d89665c56f 100644 --- a/addons/website/models/ir_ui_view.py +++ b/addons/website/models/ir_ui_view.py @@ -6,7 +6,6 @@ import werkzeug from lxml import etree, html -from openerp import SUPERUSER_ID from openerp.addons.website.models import website from openerp.http import request from openerp.osv import osv, fields @@ -198,7 +197,3 @@ class view(osv.osv): self.write(cr, uid, res_id, { 'arch': self._pretty_arch(arch) }, context=context) - - view = self.browse(cr, SUPERUSER_ID, res_id, context=context) - if view.model_data_id: - view.model_data_id.write({'noupdate': True}) diff --git a/addons/website_forum/data/badges_moderation.xml b/addons/website_forum/data/badges_moderation.xml index 8e3c1b3dda7..41f3eb7fe41 100644 --- a/addons/website_forum/data/badges_moderation.xml +++ b/addons/website_forum/data/badges_moderation.xml @@ -99,7 +99,7 @@ <field name="domain" eval="[('model', '=', 'forum.post'), ('subtype_id', 'in', [ref('website_forum.mt_answer_edit'), ref('website_forum.mt_question_edit')])]"/> <field name="batch_mode">True</field> <field name="batch_distinctive_field" eval="ref('mail.field_mail_message_author_id')" /> - <field name="batch_user_expression">user.partner_id.id</field> + <field name="batch_user_expression">user.id</field> </record> <record model="gamification.challenge" id="challenge_editor"> <field name="name">Editor</field> diff --git a/addons/website_mail/data/mail_groups.xml b/addons/website_mail/data/mail_groups.xml index b5d037ca866..0bc8d3e81d1 100644 --- a/addons/website_mail/data/mail_groups.xml +++ b/addons/website_mail/data/mail_groups.xml @@ -3,9 +3,9 @@ <data noupdate="1"> <record model="mail.group" id="group_all_employees"> - <field name="name">Discussion Group</field> + <field name="name">Newsletter</field> <field name="public">public</field> - <field name="description">Public Discussion Group</field> + <field name="description">Public Newsletter.</field> </record> </data> diff --git a/addons/website_mail/static/src/img/blocks/button_group_subscribe.png b/addons/website_mail/static/src/img/blocks/button_group_subscribe.png Binary files differdeleted file mode 100644 index 204239a8e0c..00000000000 --- a/addons/website_mail/static/src/img/blocks/button_group_subscribe.png +++ /dev/null diff --git a/addons/website_mail/static/src/js/website_mail.editor.js b/addons/website_mail/static/src/js/website_mail.editor.js index fdfb948121f..7a26920682b 100644 --- a/addons/website_mail/static/src/js/website_mail.editor.js +++ b/addons/website_mail/static/src/js/website_mail.editor.js @@ -10,7 +10,7 @@ return website.prompt({ id: "editor_new_subscribe_button", window_title: _t("Add a Subscribe Button"), - select: _t("Discussion List"), + select: _t("Mailing List"), init: function (field) { return website.session.model('mail.group') .call('name_search', ['', [['public','=','public']]], { context: website.get_context() }); diff --git a/addons/website_mail/views/snippets.xml b/addons/website_mail/views/snippets.xml index c9f76ce4273..98a79393211 100644 --- a/addons/website_mail/views/snippets.xml +++ b/addons/website_mail/views/snippets.xml @@ -499,8 +499,8 @@ <xpath expr="//div[@id='snippet_content']" position="inside"> <div> <div class="oe_snippet_thumbnail"> - <img class="oe_snippet_thumbnail_img" src="/website_mail/static/src/img/blocks/button_group_subscribe.png"/> - <span class="oe_snippet_thumbnail_title">Discussion Group</span> + <img class="oe_snippet_thumbnail_img" src="/website/static/src/img/blocks/block_button.png"/> + <span class="oe_snippet_thumbnail_title">Subscribe Button</span> </div> <div class="oe_snippet_body input-group js_follow" @@ -516,7 +516,7 @@ <a href="#" class="btn btn-default js_unfollow_btn">Unsubscribe</a> <a href="#" class="btn btn-primary js_follow_btn">Subscribe</a> </span> - <div class="alert alert-success hidden">Thanks for your subscription!</div> + <div class="alert alert-success hidden">thanks for your subscription!</div> </div> </div> @@ -529,7 +529,7 @@ data-selector-siblings="p, h1, h2, h3, blockquote, .well, .panel" > <li> - <a href="#" class="button js_mailing_list">Change Discussion List</a> + <a href="#" class="button js_mailing_list">Change mailing list</a> </li> </div> </xpath> |
