From 0b6e1bb0506c7ea1e64335b83be7acc1fff73245 Mon Sep 17 00:00:00 2001 From: "ssi (Open ERP)" Date: Fri, 21 May 2010 19:16:28 +0530 Subject: [PATCH] [IMP] marketing_campaign: added few constraints in segment form and modified views bzr revid: ssi@tinyerp.com-20100521134628-sk1g1tk4frdv234b --- addons/marketing_campaign/marketing_campaign.py | 13 +++++++++---- .../marketing_campaign/marketing_campaign_view.xml | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/addons/marketing_campaign/marketing_campaign.py b/addons/marketing_campaign/marketing_campaign.py index 61dc39e7b39..3edc13090cf 100755 --- a/addons/marketing_campaign/marketing_campaign.py +++ b/addons/marketing_campaign/marketing_campaign.py @@ -37,7 +37,7 @@ class marketing_campaign(osv.osv): #{{{ _columns = { 'name': fields.char('Name', size=64, required=True), - 'object_id': fields.many2one('ir.model', 'Objects'), + 'object_id': fields.many2one('ir.model', 'Objects', required=True), 'mode':fields.selection([('test', 'Test'), ('test_realtime', 'Realtime Time'), ('manual', 'Manual'), @@ -121,11 +121,16 @@ class marketing_campaign_segment(osv.osv): #{{{ def state_running_set(self, cr, uid, ids, *args): segment = self.browse(cr, uid, ids[0]) + curr_date = time.strftime('%Y-%m-%d %H:%M:%S') if not segment.date_run: - raise osv.except_osv("Error", "Segment cant be start before giving running date") + raise osv.except_osv("Error", "Segment can't be start before giving running date") if segment.campaign_id.state != 'running' : raise osv.except_osv("Error", "You have to start campaign first") - self.write(cr, uid, ids, {'state': 'running'}) + if (segment.date_run >= curr_date): + raise osv.except_osv("Error", "Segment cannot start before run date") + if not segment.sync_last_date: + self.write(cr, uid, ids, {'sync_last_date':curr_date}) + self.write(cr, uid, ids, {'state': 'running','date_done': curr_date}) return True def state_done_set(self, cr, uid, ids, *args): @@ -195,7 +200,7 @@ class marketing_campaign_activity(osv.osv): #{{{ ('paper', 'Paper'), ('action', 'Action'), ('subcampaign', 'Sub-Campaign')], - 'Type'), + 'Type', required=True), 'email_template_id': fields.many2one('poweremail.templates','Email Template'), 'report_id': fields.many2one('ir.actions.report.xml', 'Reports'), 'report_directory_id': fields.many2one('document.directory', 'Directory'), diff --git a/addons/marketing_campaign/marketing_campaign_view.xml b/addons/marketing_campaign/marketing_campaign_view.xml index a5553d7e67c..f013f37e853 100755 --- a/addons/marketing_campaign/marketing_campaign_view.xml +++ b/addons/marketing_campaign/marketing_campaign_view.xml @@ -143,7 +143,7 @@ - +