From 61639fd4913c9554664c39172fbf60e7e3c9d7c0 Mon Sep 17 00:00:00 2001 From: "ajay javiya (OpenERP)" Date: Mon, 3 Dec 2012 18:57:13 +0530 Subject: [PATCH 01/31] [FIX]:Issue of add custome field on object bzr revid: aja@tinyerp.com-20121203132713-298spxst191htlh7 --- openerp/osv/orm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 3b9b8f30d23..095e6b6f6c0 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -1068,7 +1068,7 @@ class BaseModel(object): # Validate rec_name if self._rec_name is not None: - assert self._rec_name in self._columns.keys() + ['id'], "Invalid rec_name %s for model %s" % (self._rec_name, self._name) + assert self._rec_name in self._all_columns.keys() + ['id'], "Invalid rec_name %s for model %s" % (self._rec_name, self._name) else: self._rec_name = 'name' From 0e3308ef927496546141a259d9aa1835599a36c3 Mon Sep 17 00:00:00 2001 From: Josse Colpaert Date: Thu, 17 Jan 2013 17:31:59 +0100 Subject: [PATCH 02/31] [IMP] Add field for not sending emails bzr revid: jco@openerp.com-20130117163159-ceqq1ewf55go05ua --- addons/account_followup/account_followup.py | 37 +++++++++++++------ .../account_followup_customers.xml | 22 +++++++++-- .../wizard/account_followup_print.py | 2 +- 3 files changed, 45 insertions(+), 16 deletions(-) diff --git a/addons/account_followup/account_followup.py b/addons/account_followup/account_followup.py index 285a3529ee7..6ea90f5c204 100644 --- a/addons/account_followup/account_followup.py +++ b/addons/account_followup/account_followup.py @@ -208,12 +208,13 @@ class res_partner(osv.osv): for partner in self.browse(cr, uid, partner_ids, context=ctx): if partner.email and partner.email.strip(): level = partner.latest_followup_level_id_without_lit - if level and level.send_email and level.email_template_id and level.email_template_id.id: - mtp.send_mail(cr, uid, level.email_template_id.id, partner.id, context=ctx) - else: - mail_template_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, - 'account_followup', 'email_template_account_followup_default') - mtp.send_mail(cr, uid, mail_template_id[1], partner.id, context=ctx) + if not partner.payment_no_email: + if level and level.send_email and level.email_template_id and level.email_template_id.id: + mtp.send_mail(cr, uid, level.email_template_id.id, partner.id, context=ctx) + else: + mail_template_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, + 'account_followup', 'email_template_account_followup_default') + mtp.send_mail(cr, uid, mail_template_id[1], partner.id, context=ctx) else: unknown_mails = unknown_mails + 1 action_text = _("Email not sent because of email address of partner not filled in") @@ -275,8 +276,17 @@ class res_partner(osv.osv):
Amount due: %s
''' % (total) return followup_table + def write(self, cr, uid, ids, vals, context=None): + if vals.get("payment_responsible_id", False): + for part in self.browse(cr, uid, ids, context=context): + if part.payment_responsible_id <> vals["payment_responsible_id"]: + pass + #message_post() + res = super(res_partner, self).write(cr, uid, ids, vals, context=context) + return res + def action_done(self, cr, uid, ids, context=None): - return self.write(cr, uid, ids, {'payment_next_action_date': False, 'payment_next_action':'', 'payment_responsible_id': False}, context=context) + return self.write(cr, uid, ids, {'payment_next_action_date': False, 'payment_next_action':'', 'payment_responsible_id': False, 'payment_no_email': False}, context=context) def do_button_print(self, cr, uid, ids, context=None): assert(len(ids) == 1) @@ -408,13 +418,18 @@ class res_partner(osv.osv): _inherit = "res.partner" _columns = { 'payment_responsible_id':fields.many2one('res.users', ondelete='set null', string='Follow-up Responsible', - help="Optionally you can assign a user to this field, which will make him responsible for the action."), - 'payment_note':fields.text('Customer Payment Promise', help="Payment Note"), + help="Optionally you can assign a user to this field, which will make him responsible for the action.", + track_visibility="onchange"), + 'payment_note':fields.text('Customer Payment Promise', help="Payment Note", track_visibility="onchange"), 'payment_next_action':fields.text('Next Action', - help="This is the next action to be taken. It will automatically be set when the partner gets a follow-up level that requires a manual action. "), + help="This is the next action to be taken. It will automatically be set when the partner gets a follow-up level that requires a manual action. ", + track_visibility="onchange"), 'payment_next_action_date':fields.date('Next Action Date', help="This is when the manual follow-up is needed. " \ - "The date will be set to the current date when the partner gets a follow-up level that requires a manual action. Can be practical to set manually e.g. to see if he keeps his promises."), + "The date will be set to the current date when the partner gets a follow-up level that requires a manual action. "\ + "Can be practical to set manually e.g. to see if he keeps his promises."), + 'payment_no_email':fields.boolean('Don\'t send follow-up emails meanwhile', help='When checked, the follow-up wizard will go to the next level,'\ + ' print letters and set manual actions, but mails will not be sent. Follow-up will happen by doing manual actions. '), 'unreconciled_aml_ids':fields.one2many('account.move.line', 'partner_id', domain=['&', ('reconcile_id', '=', False), '&', ('account_id.active','=', True), '&', ('account_id.type', '=', 'receivable'), ('state', '!=', 'draft')]), 'latest_followup_date':fields.function(_get_latest, method=True, type='date', string="Latest Follow-up Date", diff --git a/addons/account_followup/account_followup_customers.xml b/addons/account_followup/account_followup_customers.xml index 8a27730b003..ca1c509be39 100644 --- a/addons/account_followup/account_followup_customers.xml +++ b/addons/account_followup/account_followup_customers.xml @@ -35,10 +35,10 @@ - + - + @@ -81,10 +81,12 @@