From e81194c0aadc81fbff15a9f0810423ddd35f8628 Mon Sep 17 00:00:00 2001 From: "Jalpesh Patel (OpenERP)" Date: Wed, 21 Nov 2012 18:45:01 +0530 Subject: [PATCH 01/11] [IMP]solve problem can't installing sale_journal module bzr revid: pja@tinyerp.com-20121121131501-81uff3hw37angf60 --- addons/sale_journal/__openerp__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/sale_journal/__openerp__.py b/addons/sale_journal/__openerp__.py index 30a6a281c49..b5da06419c1 100644 --- a/addons/sale_journal/__openerp__.py +++ b/addons/sale_journal/__openerp__.py @@ -51,7 +51,7 @@ Some statistics by journals are provided. 'author': 'OpenERP SA', 'website': 'http://www.openerp.com', 'images': ['images/invoice_type.jpeg'], - 'depends': ['sale'], + 'depends': ['sale_stock'], 'data': [ 'security/ir.model.access.csv', 'sale_journal_view.xml', From 9c53158d0226eada60855dd1888853cd02f66f7b Mon Sep 17 00:00:00 2001 From: "pankita shah (Open ERP)" Date: Thu, 22 Nov 2012 10:33:12 +0530 Subject: [PATCH 02/11] [IMP] traceback when merge leads after delete all leads bzr revid: shp@tinyerp.com-20121122050312-rg63jnvfiuzcfxw0 --- addons/crm/wizard/crm_merge_opportunities.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/addons/crm/wizard/crm_merge_opportunities.py b/addons/crm/wizard/crm_merge_opportunities.py index edfefb5e5bc..38deba8cd77 100644 --- a/addons/crm/wizard/crm_merge_opportunities.py +++ b/addons/crm/wizard/crm_merge_opportunities.py @@ -32,12 +32,13 @@ class crm_merge_opportunity(osv.osv_memory): lead = self.pool.get('crm.lead') record = self.browse(cr, uid, ids[0], context=context) opportunities = record.opportunity_ids - #TOFIX: why need to check lead_ids here - lead_ids = [opportunities[0].id] - self.write(cr, uid, ids, {'opportunity_ids' : [(6,0, lead_ids)]}, context=context) - context['lead_ids'] = lead_ids - merge_id = lead.merge_opportunity(cr, uid, [x.id for x in opportunities], context=context) - return lead.redirect_opportunity_view(cr, uid, merge_id, context=context) + if opportunities: + #TOFIX: why need to check lead_ids here + lead_ids = [opportunities[0].id] + self.write(cr, uid, ids, {'opportunity_ids' : [(6,0, lead_ids)]}, context=context) + context['lead_ids'] = lead_ids + merge_id = lead.merge_opportunity(cr, uid, [x.id for x in opportunities], context=context) + return lead.redirect_opportunity_view(cr, uid, merge_id, context=context) _columns = { 'opportunity_ids': fields.many2many('crm.lead', rel='merge_opportunity_rel', id1='merge_id', id2='opportunity_id', string='Leads/Opportunities'), From a63e244dcabe82870f13752b7b9d5dff49fb6759 Mon Sep 17 00:00:00 2001 From: "pankita shah (Open ERP)" Date: Thu, 22 Nov 2012 15:35:35 +0530 Subject: [PATCH 03/11] [IMP] add condiction for opportunities bzr revid: shp@tinyerp.com-20121122100535-3u7wqjof7znk3kxq --- addons/crm/wizard/crm_merge_opportunities.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/crm/wizard/crm_merge_opportunities.py b/addons/crm/wizard/crm_merge_opportunities.py index 38deba8cd77..93b163f3d27 100644 --- a/addons/crm/wizard/crm_merge_opportunities.py +++ b/addons/crm/wizard/crm_merge_opportunities.py @@ -32,7 +32,7 @@ class crm_merge_opportunity(osv.osv_memory): lead = self.pool.get('crm.lead') record = self.browse(cr, uid, ids[0], context=context) opportunities = record.opportunity_ids - if opportunities: + if len(opportunities): #TOFIX: why need to check lead_ids here lead_ids = [opportunities[0].id] self.write(cr, uid, ids, {'opportunity_ids' : [(6,0, lead_ids)]}, context=context) From 7e7fb82a04d131001a57d154d888972b1333c423 Mon Sep 17 00:00:00 2001 From: "Jalpesh Patel (OpenERP)" Date: Tue, 27 Nov 2012 16:04:37 +0530 Subject: [PATCH 04/11] [IMP]solve problem of create a recurrent meeting and reload the page try to open that meeting in calendar from bzr revid: pja@tinyerp.com-20121127103437-3drxidi21g0bbet3 --- addons/base_calendar/crm_meeting.py | 47 +++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/addons/base_calendar/crm_meeting.py b/addons/base_calendar/crm_meeting.py index 9ceaea671ca..bd15666def6 100644 --- a/addons/base_calendar/crm_meeting.py +++ b/addons/base_calendar/crm_meeting.py @@ -66,6 +66,15 @@ class crm_meeting(base_state, osv.Model): 'state': 'open', } + def message_get_subscription_data(self, cr, uid, ids, context=None): + res = {} + for virtual_id in ids: + real_id = base_calendar.base_calendar_id2real_id(virtual_id) + result = super(crm_meeting, self).message_get_subscription_data(cr, uid, [real_id], context=context) + res[virtual_id] = result[real_id] + return res + + def copy(self, cr, uid, id, default=None, context=None): default = default or {} default['attendee_ids'] = False @@ -115,3 +124,41 @@ class crm_meeting(base_state, osv.Model): def case_close_send_note(self, cr, uid, ids, context=None): return self.message_post(cr, uid, ids, body=_("Meeting completed."), context=context) + +class mail_message(osv.osv): + _inherit = "mail.message" + + def search(self, cr, uid, args, offset=0, limit=0, order=None, context=None, count=False): + cal_event_pool = self.pool.get('calendar.event') + for arg in args: + if arg[0] == "res_id": + if isinstance(arg[2], (str)): + args[1][2] = cal_event_pool.remove_virtual_id(arg[2]) + res = super(mail_message, self).search(cr, uid, args, offset, limit, order, context, count=False) + if count: + return len(res) + elif limit: + return res[offset:offset+limit] + else: + return res + +mail_message() + +class ir_attachment(osv.osv): + _inherit = "ir.attachment" + + def search(self, cr, uid, args, offset=0, limit=0, order=None, context=None, count=False): + cal_event_pool = self.pool.get('calendar.event') + for arg in args: + if arg[0] == "res_id": + if isinstance(arg[2], (str)): + args[1][2] = cal_event_pool.remove_virtual_id(arg[2]) + res = super(ir_attachment, self).search(cr, uid, args, offset, limit, order, context, count=False) + if count: + return len(res) + elif limit: + return res[offset:offset+limit] + else: + return res + + \ No newline at end of file From c6475a4cf62e14995fb8e7f64bb7c2c9c37d5383 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Mon, 10 Dec 2012 15:26:30 +0100 Subject: [PATCH 05/11] [REF] base_calendar bzr revid: qdp-launchpad@openerp.com-20121210142630-7x0nvai3txoe3ba6 --- addons/base_calendar/base_calendar.py | 4 ++-- addons/base_calendar/base_calendar_view.xml | 2 +- addons/base_calendar/crm_meeting.py | 11 +++-------- addons/base_calendar/crm_meeting_view.xml | 2 +- .../test/test_crm_recurrent_meeting_case2.yml | 2 +- 5 files changed, 8 insertions(+), 13 deletions(-) diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py index d225c3f90d9..4602c85ba2a 100644 --- a/addons/base_calendar/base_calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -1034,7 +1034,7 @@ rule or repeating pattern of time to exclude from the recurring rule."), help="Set an alarm at this time, before the event occurs" ), 'base_calendar_alarm_id': fields.many2one('calendar.alarm', 'Alarm'), 'recurrent_uid': fields.integer('Recurrent ID'), - 'recurrent_id': fields.datetime('Recurrent ID date'), + 'recurrent_id_date': fields.datetime('Recurrent ID date'), 'vtimezone': fields.selection(_tz_get, size=64, string='Timezone'), 'user_id': fields.many2one('res.users', 'Responsible', states={'done': [('readonly', True)]}), 'organizer': fields.char("Organizer", size=256, states={'done': [('readonly', True)]}), # Map with organizer attribute of VEvent. @@ -1392,7 +1392,7 @@ rule or repeating pattern of time to exclude from the recurring rule."), data.update( vals, recurrent_uid=real_event_id, - recurrent_id=data.get('date'), + recurrent_id_date=data.get('date'), rrule_type=False, rrule='', recurrency=False, diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml index a922521d970..00c41332553 100644 --- a/addons/base_calendar/base_calendar_view.xml +++ b/addons/base_calendar/base_calendar_view.xml @@ -100,7 +100,7 @@ - + diff --git a/addons/base_calendar/crm_meeting.py b/addons/base_calendar/crm_meeting.py index bd15666def6..dfe0c509318 100644 --- a/addons/base_calendar/crm_meeting.py +++ b/addons/base_calendar/crm_meeting.py @@ -67,14 +67,9 @@ class crm_meeting(base_state, osv.Model): } def message_get_subscription_data(self, cr, uid, ids, context=None): - res = {} - for virtual_id in ids: - real_id = base_calendar.base_calendar_id2real_id(virtual_id) - result = super(crm_meeting, self).message_get_subscription_data(cr, uid, [real_id], context=context) - res[virtual_id] = result[real_id] - return res + real_ids = [base_calendar.base_calendar_id2real_id(virtual_id) for virtual_id in ids] + return super(crm_meeting, self).message_get_subscription_data(cr, uid, real_ids, context=context) - def copy(self, cr, uid, id, default=None, context=None): default = default or {} default['attendee_ids'] = False @@ -161,4 +156,4 @@ class ir_attachment(osv.osv): else: return res - \ No newline at end of file + diff --git a/addons/base_calendar/crm_meeting_view.xml b/addons/base_calendar/crm_meeting_view.xml index 8590bcb8b49..0c11189d505 100644 --- a/addons/base_calendar/crm_meeting_view.xml +++ b/addons/base_calendar/crm_meeting_view.xml @@ -166,7 +166,7 @@ - + diff --git a/addons/base_calendar/test/test_crm_recurrent_meeting_case2.yml b/addons/base_calendar/test/test_crm_recurrent_meeting_case2.yml index 693f0d81c6b..a2c68a31c6b 100644 --- a/addons/base_calendar/test/test_crm_recurrent_meeting_case2.yml +++ b/addons/base_calendar/test/test_crm_recurrent_meeting_case2.yml @@ -92,6 +92,6 @@ I check whether the record is edited perfectly or not. - !python {model: crm.meeting}: | - meeting_ids = self.search(cr, uid, [('recurrent_uid', '=', ref('crm_meeting_reviewcodewithprogrammer0')), ('recurrent_id','=','2011-04-25 12:47:00')], context) + meeting_ids = self.search(cr, uid, [('recurrent_uid', '=', ref('crm_meeting_reviewcodewithprogrammer0')), ('recurrent_id_date','=','2011-04-25 12:47:00')], context) assert meeting_ids, 'Meeting is not edited !' From 9e9b0cc8b4da97c7de2b677ac8f8166585915a5b Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Mon, 10 Dec 2012 15:29:12 +0100 Subject: [PATCH 06/11] [REF] base_calendar bzr revid: qdp-launchpad@openerp.com-20121210142912-9pisd030jhmf8tqy --- addons/base_calendar/base_calendar.py | 8 ++++---- addons/base_calendar/base_calendar_view.xml | 4 ++-- addons/base_calendar/crm_meeting_view.xml | 4 ++-- .../test/test_crm_recurrent_meeting_case2.yml | 8 ++++---- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py index 4602c85ba2a..6f09e533917 100644 --- a/addons/base_calendar/base_calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -949,13 +949,13 @@ class calendar_event(osv.osv): def unlink_events(self, cr, uid, ids, context=None): """ - This function deletes event which are linked with the event with recurrent_uid + This function deletes event which are linked with the event with recurrent_id (Removes the events which refers to the same UID value) """ if context is None: context = {} for event_id in ids: - cr.execute("select id from %s where recurrent_uid=%%s" % (self._table), (event_id,)) + cr.execute("select id from %s where recurrent_id=%%s" % (self._table), (event_id,)) r_ids = map(lambda x: x[0], cr.fetchall()) self.unlink(cr, uid, r_ids, context=context) return True @@ -1033,7 +1033,7 @@ rule or repeating pattern of time to exclude from the recurring rule."), 'alarm_id': fields.many2one('res.alarm', 'Reminder', states={'done': [('readonly', True)]}, help="Set an alarm at this time, before the event occurs" ), 'base_calendar_alarm_id': fields.many2one('calendar.alarm', 'Alarm'), - 'recurrent_uid': fields.integer('Recurrent ID'), + 'recurrent_id': fields.integer('Recurrent ID'), 'recurrent_id_date': fields.datetime('Recurrent ID date'), 'vtimezone': fields.selection(_tz_get, size=64, string='Timezone'), 'user_id': fields.many2one('res.users', 'Responsible', states={'done': [('readonly', True)]}), @@ -1391,7 +1391,7 @@ rule or repeating pattern of time to exclude from the recurring rule."), if data.get('rrule'): data.update( vals, - recurrent_uid=real_event_id, + recurrent_id=real_event_id, recurrent_id_date=data.get('date'), rrule_type=False, rrule='', diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml index 00c41332553..e3ad980dae7 100644 --- a/addons/base_calendar/base_calendar_view.xml +++ b/addons/base_calendar/base_calendar_view.xml @@ -101,7 +101,7 @@ - + @@ -162,7 +162,7 @@ + attrs="{'readonly':[('recurrent_id','!=',False)]}"/> diff --git a/addons/base_calendar/crm_meeting_view.xml b/addons/base_calendar/crm_meeting_view.xml index 0c11189d505..110ee509e14 100644 --- a/addons/base_calendar/crm_meeting_view.xml +++ b/addons/base_calendar/crm_meeting_view.xml @@ -120,7 +120,7 @@ + attrs="{'readonly': [('recurrent_id','!=',False)]}"/> diff --git a/addons/base_calendar/test/test_crm_recurrent_meeting_case2.yml b/addons/base_calendar/test/test_crm_recurrent_meeting_case2.yml index a2c68a31c6b..0fd34fdd010 100644 --- a/addons/base_calendar/test/test_crm_recurrent_meeting_case2.yml +++ b/addons/base_calendar/test/test_crm_recurrent_meeting_case2.yml @@ -11,7 +11,7 @@ duration: 1.0 name: Test Meeting recurrency: true - recurrent_uid: 0.0 + recurrent_id: 0.0 rrule_type: daily sequence: 0.0 - @@ -37,7 +37,7 @@ we: true name: Review code with programmer recurrency: true - recurrent_uid: 0.0 + recurrent_id: 0.0 rrule_type: weekly sequence: 0.0 - @@ -57,7 +57,7 @@ duration: 1.0 name: Sprint Review recurrency: true - recurrent_uid: 0.0 + recurrent_id: 0.0 rrule_type: monthly sequence: 0.0 - @@ -92,6 +92,6 @@ I check whether the record is edited perfectly or not. - !python {model: crm.meeting}: | - meeting_ids = self.search(cr, uid, [('recurrent_uid', '=', ref('crm_meeting_reviewcodewithprogrammer0')), ('recurrent_id_date','=','2011-04-25 12:47:00')], context) + meeting_ids = self.search(cr, uid, [('recurrent_id', '=', ref('crm_meeting_reviewcodewithprogrammer0')), ('recurrent_id_date','=','2011-04-25 12:47:00')], context) assert meeting_ids, 'Meeting is not edited !' From 5bc8ed05f4408f832e4ee74d38bc4133e996972f Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Mon, 10 Dec 2012 15:58:03 +0100 Subject: [PATCH 07/11] [REF] base_calendar bzr revid: qdp-launchpad@openerp.com-20121210145803-4r9k0w264clsdyc9 --- addons/base_calendar/crm_meeting_view.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/base_calendar/crm_meeting_view.xml b/addons/base_calendar/crm_meeting_view.xml index 110ee509e14..2a6ad56526f 100644 --- a/addons/base_calendar/crm_meeting_view.xml +++ b/addons/base_calendar/crm_meeting_view.xml @@ -119,8 +119,7 @@ - +