From 26cc5042f65140e0e44c5abec70610dd25abe1fa Mon Sep 17 00:00:00 2001 From: "rpa (Open ERP)" Date: Tue, 31 Aug 2010 18:39:26 +0530 Subject: [PATCH] [ADD]: marketing_campaign: Added constraint on transition object to prevent linking activities from different campaigns bzr revid: rpa@tinyerp.com-20100831130926-tujbvryv605hjqkv --- addons/marketing_campaign/marketing_campaign.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/addons/marketing_campaign/marketing_campaign.py b/addons/marketing_campaign/marketing_campaign.py index c147580e014..14350582d9c 100644 --- a/addons/marketing_campaign/marketing_campaign.py +++ b/addons/marketing_campaign/marketing_campaign.py @@ -526,7 +526,18 @@ class marketing_campaign_transition(osv.osv): 'interval_type': 'days', 'trigger': 'time', } + def _check_campaign(self, cr, uid, ids, context=None): + if not context: + context = {} + for obj in self.browse(cr, uid, ids, context=context): + if obj.activity_from_id.campaign_id != obj.activity_to_id.campaign_id: + return False + return True + _constraints = [ + (_check_campaign, _('The To/From Activity of transition must be of the same Campaign '), ['activity_from_id,activity_to_id']), + ] + _sql_constraints = [ ('interval_positive', 'CHECK(interval_nbr >= 0)', 'The interval must be positive or zero') ]