From 46b0c7aa00af9519a61a4e8929de4555367f12bd Mon Sep 17 00:00:00 2001 From: jke-openerp Date: Wed, 15 Jan 2014 10:38:05 +0100 Subject: [PATCH] [REF] Rename model crm.meeting into calendar.event Remove 2 unsused field from calendar.event model (dir,sequence) bzr revid: jke@openerp.com-20140115093805-1g1j1oymyxsb6kgh --- addons/calendar/calendar.py | 112 +++++++++--------- addons/calendar/calendar_data.xml | 12 +- addons/calendar/calendar_demo.xml | 16 +-- addons/calendar/calendar_view.xml | 84 ++++++------- addons/calendar/controllers/main.py | 2 +- addons/calendar/security/ir.model.access.csv | 18 +-- .../calendar/static/src/js/base_calendar.js | 4 +- addons/calendar/test/calendar_test.yml | 18 +-- ...> test_calendar_recurrent_event_case2.yml} | 34 +++--- addons/crm/__init__.py | 2 +- addons/crm/__openerp__.py | 2 +- .../crm/{crm_meeting.py => calendar_event.py} | 10 +- ...eting_menu.xml => calendar_event_menu.xml} | 0 addons/crm/crm_lead.py | 2 +- addons/crm/crm_lead_view.xml | 4 +- addons/crm/crm_phonecall.py | 2 +- addons/crm/crm_phonecall_menu.xml | 4 +- addons/crm/res_partner.py | 2 +- addons/crm/res_partner_view.xml | 8 +- addons/crm/security/crm_security.xml | 4 +- addons/crm/test/lead2opportunity2win.yml | 6 +- addons/crm/wizard/crm_phonecall_to_meeting.py | 2 +- addons/google_calendar/controllers/main.py | 4 +- addons/google_calendar/google_calendar.py | 38 +++--- .../static/src/js/calendar_sync.js | 2 +- addons/hr_holidays/hr_holidays.py | 8 +- addons/hr_holidays/hr_holidays_view.xml | 2 +- .../hr_holidays/security/ir.model.access.csv | 4 +- .../hr_holidays/tests/test_holidays_flow.py | 2 +- addons/hr_recruitment/hr_recruitment.py | 2 +- addons/hr_recruitment/hr_recruitment_data.xml | 2 +- addons/hr_recruitment/hr_recruitment_view.xml | 2 +- addons/hr_recruitment/i18n/hr_recruitment.pot | 2 +- .../security/ir.model.access.csv | 4 +- .../portal_crm/security/ir.model.access.csv | 4 +- 35 files changed, 210 insertions(+), 214 deletions(-) rename addons/calendar/test/{test_crm_recurrent_meeting_case2.yml => test_calendar_recurrent_event_case2.yml} (60%) rename addons/crm/{crm_meeting.py => calendar_event.py} (92%) rename addons/crm/{crm_meeting_menu.xml => calendar_event_menu.xml} (100%) diff --git a/addons/calendar/calendar.py b/addons/calendar/calendar.py index be7435d6738..5a7f71ee888 100644 --- a/addons/calendar/calendar.py +++ b/addons/calendar/calendar.py @@ -103,14 +103,13 @@ class calendar_attendee(osv.Model): _columns = { 'state': fields.selection([('needsAction', 'Needs Action'), ('tentative', 'Uncertain'), ('declined', 'Declined'), ('accepted', 'Accepted')], 'Status', readonly=True, help="Status of the attendee's participation"), 'cn': fields.function(_compute_data, string='Common name', type="char", multi='cn', store=True), - 'dir': fields.char('URI Reference', help="Reference to the URI that points to the directory information corresponding to the attendee."), 'partner_id': fields.many2one('res.partner', 'Contact', readonly="True"), 'email': fields.char('Email', help="Email of Invited Person"), 'event_date': fields.function(_compute_data, string='Event Date', type="datetime", multi='event_date'), 'event_end_date': fields.function(_compute_data, string='Event End Date', type="datetime", multi='event_end_date'), 'availability': fields.selection([('free', 'Free'), ('busy', 'Busy')], 'Free/Busy', readonly="True"), 'access_token': fields.char('Invitation Token'), - 'event_id': fields.many2one('crm.meeting', 'Meeting linked'), + 'event_id': fields.many2one('calendar.event', 'Meeting linked'), } _defaults = { 'state': 'needsAction', @@ -207,7 +206,7 @@ class calendar_attendee(osv.Model): ids = [ids] dummy, template_id = data_pool.get_object_reference(cr, uid, 'calendar', template_xmlid) - dummy, act_id = data_pool.get_object_reference(cr, uid, 'calendar', "view_crm_meeting_calendar") + dummy, act_id = data_pool.get_object_reference(cr, uid, 'calendar', "view_calendar_event_calendar") local_context.update({ 'color': color, 'action_id': self.pool['ir.actions.act_window'].search(cr, uid, [('view_id', '=', act_id)], context=context)[0], @@ -262,7 +261,7 @@ class calendar_attendee(osv.Model): """ if context is None: context = {} - meeting_obj = self.pool['crm.meeting'] + meeting_obj = self.pool['calendar.event'] res = self.write(cr, uid, ids, {'state': 'accepted'}, context) for attendee in self.browse(cr, uid, ids, context=context): meeting_obj.message_post(cr, uid, attendee.event_id.id, body=_(("%s has accepted invitation") % (attendee.cn)), subtype="calendar.subtype_invitation", context=context) @@ -276,7 +275,7 @@ class calendar_attendee(osv.Model): """ if context is None: context = {} - meeting_obj = self.pool['crm.meeting'] + meeting_obj = self.pool['calendar.event'] res = self.write(cr, uid, ids, {'state': 'declined'}, context) for attendee in self.browse(cr, uid, ids, context=context): meeting_obj.message_post(cr, uid, attendee.event_id.id, body=_(("%s has declined invitation") % (attendee.cn)), subtype="calendar.subtype_invitation", context=context) @@ -304,7 +303,7 @@ class res_partner(osv.Model): datas = [] meeting = False if meeting_id: - meeting = self.pool['crm.meeting'].browse(cr, uid, get_real_ids(meeting_id), context=context) + meeting = self.pool['calendar.event'].browse(cr, uid, get_real_ids(meeting_id), context=context) for partner in self.browse(cr, uid, ids, context=context): data = self.name_get(cr, uid, [partner.id], context)[0] if meeting: @@ -342,21 +341,21 @@ class calendar_alarm_manager(osv.AbstractModel): calcul_delta.max_delta, crm.rrule AS rule FROM - crm_meeting AS crm + calendar_event AS crm RIGHT JOIN ( SELECT - rel.crm_meeting_id, max(alarm.duration_minutes) AS max_delta,min(alarm.duration_minutes) AS min_delta + rel.calendar_event_id, max(alarm.duration_minutes) AS max_delta,min(alarm.duration_minutes) AS min_delta FROM - calendar_alarm_crm_meeting_rel AS rel + calendar_alarm_calendar_event_rel AS rel LEFT JOIN calendar_alarm AS alarm ON alarm.id = rel.calendar_alarm_id WHERE alarm.type in %s - GROUP BY rel.crm_meeting_id - ) AS calcul_delta ON calcul_delta.crm_meeting_id = crm.id + GROUP BY rel.calendar_event_id + ) AS calcul_delta ON calcul_delta.calendar_event_id = crm.id """ filter_user = """ - LEFT JOIN crm_meeting_res_partner_rel AS part_rel ON part_rel.crm_meeting_id = crm.id + LEFT JOIN calendar_event_res_partner_rel AS part_rel ON part_rel.calendar_event_id = crm.id AND part_rel.res_partner_id = %s """ @@ -452,11 +451,11 @@ class calendar_alarm_manager(osv.AbstractModel): for event in all_events: #.values() max_delta = all_events[event]['max_duration']; - curEvent = self.pool.get('crm.meeting').browse(cr,uid,event,context=context) + curEvent = self.pool.get('calendar.event').browse(cr,uid,event,context=context) if curEvent.recurrency: bFound = False LastFound = False - for one_date in self.pool.get('crm.meeting').get_recurrent_date_by_event(cr,uid,curEvent, context=context) : + for one_date in self.pool.get('calendar.event').get_recurrent_date_by_event(cr,uid,curEvent, context=context) : in_date_format = datetime.strptime(one_date, '%Y-%m-%d %H:%M:%S'); LastFound = self.do_check_alarm_for_one_date(cr,uid,in_date_format,curEvent,max_delta,cron_interval,notif=False,context=context) if LastFound: @@ -472,7 +471,7 @@ class calendar_alarm_manager(osv.AbstractModel): LastFound = self.do_check_alarm_for_one_date(cr,uid,in_date_format,curEvent,max_delta,cron_interval,notif=False,context=context) if LastFound: for alert in LastFound: - self.do_mail_reminder(cr,uid,alert,context=context) + self.do_mail_reminder(cr,uid,alert,context=context) def get_next_notif(self,cr,uid,context=None): ajax_check_every_seconds = 300 @@ -482,11 +481,11 @@ class calendar_alarm_manager(osv.AbstractModel): for event in all_events: # .values() max_delta = all_events[event]['max_duration']; - curEvent = self.pool.get('crm.meeting').browse(cr,uid,event,context=context) + curEvent = self.pool.get('calendar.event').browse(cr,uid,event,context=context) if curEvent.recurrency: bFound = False LastFound = False - for one_date in self.pool.get("crm.meeting").get_recurrent_date_by_event(cr,uid,curEvent, context=context) : + for one_date in self.pool.get("calendar.event").get_recurrent_date_by_event(cr,uid,curEvent, context=context) : in_date_format = datetime.strptime(one_date, '%Y-%m-%d %H:%M:%S'); LastFound = self.do_check_alarm_for_one_date(cr,uid,in_date_format,curEvent,max_delta,ajax_check_every_seconds,after=partner.cal_last_notif,mail=False,context=context) if LastFound: @@ -509,17 +508,17 @@ class calendar_alarm_manager(osv.AbstractModel): context = {} res = False - event = self.pool['crm.meeting'].browse(cr, uid, alert['event_id'], context=context) + event = self.pool['calendar.event'].browse(cr, uid, alert['event_id'], context=context) alarm = self.pool['calendar.alarm'].browse(cr, uid, alert['alarm_id'], context=context) if alarm.type == 'email': res = self.pool['calendar.attendee']._send_mail_to_attendees(cr, uid, event.attendee_ids, template_xmlid='calendar_template_meeting_reminder', context=context) - + return res def do_notif_reminder(self, cr, uid, alert, context=None): alarm = self.pool['calendar.alarm'].browse(cr, uid, alert['alarm_id'], context=context) - event = self.pool['crm.meeting'].browse(cr, uid, alert['event_id'], context=context) + event = self.pool['calendar.event'].browse(cr, uid, alert['event_id'], context=context) if alarm.type == 'notification': message = event.display_time @@ -630,17 +629,17 @@ def exp_report(db, uid, object, ids, data=None, context=None): openerp.service.report.exp_report = exp_report -class crm_meeting_type(osv.Model): - _name = 'crm.meeting.type' +class calendar_event_type(osv.Model): + _name = 'calendar.event.type' _description = 'Meeting Type' _columns = { 'name': fields.char('Name', required=True, translate=True), } -class crm_meeting(osv.Model): - """ Model for CRM meetings """ - _name = 'crm.meeting' +class calendar_event(osv.Model): + """ Model for Calendar Event """ + _name = 'calendar.event' _description = "Meeting" _order = "id desc" _inherit = ["mail.thread", "ir.needaction_mixin"] @@ -802,7 +801,6 @@ class crm_meeting(osv.Model): 'is_attendee': fields.function(_compute, string='Attendee', type="boolean", multi='attendee'), 'attendee_status': fields.function(_compute, string='Attendee Status', type="selection", multi='attendee'), 'display_time': fields.function(_compute, string='Event Time', type="char", multi='attendee'), - 'sequence': fields.integer('Sequence'), 'date': fields.datetime('Date', states={'done': [('readonly', True)]}, required=True, track_visibility='onchange'), 'date_deadline': fields.datetime('End Date', states={'done': [('readonly', True)]}, required=True,), 'duration': fields.float('Duration', states={'done': [('readonly', True)]}), @@ -835,7 +833,7 @@ class crm_meeting(osv.Model): 'user_id': fields.many2one('res.users', 'Responsible', states={'done': [('readonly', True)]}), 'color_partner_id': fields.related('user_id', 'partner_id', 'id', type="int", string="colorize", store=False), # Color of creator 'active': fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the event alarm information without removing it."), - 'categ_ids': fields.many2many('crm.meeting.type', 'meeting_category_rel', 'event_id', 'type_id', 'Tags'), + 'categ_ids': fields.many2many('calendar.event.type', 'meeting_category_rel', 'event_id', 'type_id', 'Tags'), 'attendee_ids': fields.one2many('calendar.attendee', 'event_id', 'Attendees', ondelete='cascade'), 'partner_ids': fields.many2many('res.partner', string='Attendees', states={'done': [('readonly', True)]}), 'alarm_ids': fields.many2many('calendar.alarm', string='Reminders', ondelete="restrict"), @@ -913,7 +911,7 @@ class crm_meeting(osv.Model): return {'value': value} - def new_invitation_token(self, cr, uid, record, partner_id): + def new_invitation_token(self, cr, uid, record, partner_id): return uuid.uuid4().hex def create_attendees(self, cr, uid, ids, context): @@ -996,10 +994,10 @@ class crm_meeting(osv.Model): @param order: The fields (comma separated, format "FIELD {DESC|ASC}") on which the events should be sorted """ - + if not context: context = {} - + if isinstance(event_id, (str, int, long)): ids_to_browse = [event_id] # keep select for return else: @@ -1010,7 +1008,7 @@ class crm_meeting(osv.Model): else: # fallback on self._order defined on the model order_fields = [field.split()[0] for field in self._order.split(',')] - + if 'id' not in order_fields: order_fields.append('id') @@ -1197,7 +1195,7 @@ class crm_meeting(osv.Model): res = {} for virtual_id in ids: real_id = calendar_id2real_id(virtual_id) - result = super(crm_meeting, self).message_get_subscription_data(cr, uid, [real_id], user_pid=None, context=context) + result = super(calendar_event, self).message_get_subscription_data(cr, uid, [real_id], user_pid=None, context=context) res[virtual_id] = result[real_id] return res @@ -1267,7 +1265,7 @@ class crm_meeting(osv.Model): thread_id = get_real_ids(thread_id) if context.get('default_date'): del context['default_date'] - return super(crm_meeting, self).message_post(cr, uid, thread_id, body=body, subject=subject, type=type, subtype=subtype, parent_id=parent_id, attachments=attachments, context=context, **kwargs) + return super(calendar_event, self).message_post(cr, uid, thread_id, body=body, subject=subject, type=type, subtype=subtype, parent_id=parent_id, attachments=attachments, context=context, **kwargs) def do_sendmail(self, cr, uid, ids, context=None): for event in self.browse(cr, uid, ids, context): @@ -1281,20 +1279,20 @@ class crm_meeting(osv.Model): def get_attendee(self, cr, uid, meeting_id, context=None): # Used for view in controller invitation = {'meeting': {}, 'attendee': []} - + meeting = self.browse(cr, uid, int(meeting_id), context) invitation['meeting'] = { 'event': meeting.name, 'where': meeting.location, 'when': meeting.display_time } - + for attendee in meeting.attendee_ids: invitation['attendee'].append({'name': attendee.cn, 'status': attendee.state}) return invitation def get_interval(self, cr, uid, ids, date, interval, context=None): - #Function used only in crm_meeting_data.xml for email template + #Function used only in calendar_event_data.xml for email template date = datetime.strptime(date.split('.')[0], DEFAULT_SERVER_DATETIME_FORMAT) if interval == 'day': res = str(date.day) @@ -1328,10 +1326,10 @@ class crm_meeting(osv.Model): #offset, limit and count must be treated separately as we may need to deal with virtual ids if context.get('virtual_id', True): - res = super(crm_meeting, self).search(cr, uid, new_args, offset=0, limit=0, order=None, context=context, count=False) + res = super(calendar_event, self).search(cr, uid, new_args, offset=0, limit=0, order=None, context=context, count=False) res = self.get_recurrent_ids(cr, uid, res, args, order=order, context=context) else: - res = super(crm_meeting, self).search(cr, uid, new_args, offset=0, limit=0, order=order, context=context, count=False) + res = super(calendar_event, self).search(cr, uid, new_args, offset=0, limit=0, order=order, context=context, count=False) if count: return len(res) elif limit: @@ -1345,7 +1343,7 @@ class crm_meeting(osv.Model): default = default or {} default['attendee_ids'] = False - res = super(crm_meeting, self).copy(cr, uid, calendar_id2real_id(id), default, context) + res = super(calendar_event, self).copy(cr, uid, calendar_id2real_id(id), default, context) return res def write(self, cr, uid, ids, values, context=None): @@ -1357,15 +1355,13 @@ class crm_meeting(osv.Model): return True context = context or {} - - if isinstance(ids, (str)): + + if isinstance(ids, (str,int, long)): if len(str(ids).split('-')) == 1: ids = [int(ids)] else: ids = [ids] - - if isinstance(ids, (int, long)): - ids = [ids] + res = False new_id = False @@ -1405,14 +1401,14 @@ class crm_meeting(osv.Model): context.update({'active_id': new_id, 'active_ids': [new_id]}) continue - res = super(crm_meeting, self).write(cr, uid, ids, values, context=context) + res = super(calendar_event, self).write(cr, uid, ids, values, context=context) # set end_date for calendar searching if values.get('recurrency', True) and values.get('end_type', 'count') in ('count', unicode('count')) and \ (values.get('rrule_type') or values.get('count') or values.get('date') or values.get('date_deadline')): for data in self.read(cr, uid, ids, ['date', 'date_deadline', 'recurrency', 'rrule_type', 'count', 'end_type'], context=context): end_date = self._get_recurrency_end_date(data, context=context) - super(crm_meeting, self).write(cr, uid, [data['id']], {'end_date': end_date}, context=context) + super(calendar_event, self).write(cr, uid, [data['id']], {'end_date': end_date}, context=context) attendees_create = False if values.get('partner_ids', False): @@ -1445,7 +1441,7 @@ class crm_meeting(osv.Model): (vals.get('rrule_type') or vals.get('count') or vals.get('date') or vals.get('date_deadline')): vals['end_date'] = self._get_recurrency_end_date(vals, context=context) - res = super(crm_meeting, self).create(cr, uid, vals, context=context) + res = super(calendar_event, self).create(cr, uid, vals, context=context) self.create_attendees(cr, uid, [res], context=context) return res @@ -1457,7 +1453,7 @@ class crm_meeting(osv.Model): raise osv.except_osv(_('Warning!'), _('Group by date is not supported, use the calendar view instead.')) virtual_id = context.get('virtual_id', True) context.update({'virtual_id': False}) - res = super(crm_meeting, self).read_group(cr, uid, domain, fields, groupby, offset=offset, limit=limit, context=context, orderby=orderby) + res = super(calendar_event, self).read_group(cr, uid, domain, fields, groupby, offset=offset, limit=limit, context=context, orderby=orderby) for result in res: #remove the count, since the value is not consistent with the result of the search when expand the group for groupname in groupby: @@ -1484,7 +1480,7 @@ class crm_meeting(osv.Model): select = map(lambda x: (x, calendar_id2real_id(x)), select) result = [] - real_data = super(crm_meeting, self).read(cr, uid, [real_id for calendar_id, real_id in select], fields=fields2, context=context, load=load) + real_data = super(calendar_event, self).read(cr, uid, [real_id for calendar_id, real_id in select], fields=fields2, context=context, load=load) real_data = dict(zip([x['id'] for x in real_data], real_data)) for calendar_id, real_id in select: @@ -1538,7 +1534,7 @@ class crm_meeting(osv.Model): ids_to_exclure.append(event_id) if ids_to_unlink: - res = super(crm_meeting, self).unlink(cr, uid, ids_to_unlink, context=context) + res = super(calendar_event, self).unlink(cr, uid, ids_to_unlink, context=context) if ids_to_exclure: for id_to_exclure in ids_to_exclure: @@ -1560,7 +1556,7 @@ class mail_message(osv.Model): return super(mail_message, self).search(cr, uid, args, offset=offset, limit=limit, order=order, context=context, count=count) def _find_allowed_model_wise(self, cr, uid, doc_model, doc_dict, context=None): - if doc_model == 'crm.meeting': + if doc_model == 'calendar.event': order = context.get('order', self._order) for virtual_id in self.pool[doc_model].get_recurrent_ids(cr, uid, doc_dict.keys(), [], order=order, context=context): doc_dict.setdefault(virtual_id, doc_dict[get_real_ids(virtual_id)]) @@ -1586,15 +1582,15 @@ class ir_attachment(osv.Model): if isinstance(vals.get('res_id'), str): vals['res_id'] = get_real_ids(vals.get('res_id')) return super(ir_attachment, self).write(cr, uid, ids, vals, context=context) - - + + class ir_http(osv.AbstractModel): _inherit = 'ir.http' - + def _auth_method_calendar(self): - token = request.params['token'] + token = request.params['token'] db = request.params['db'] - + registry = openerp.modules.registry.RegistryManager.get(db) attendee_pool = registry.get('calendar.attendee') error_message = False @@ -1608,11 +1604,11 @@ class ir_http(osv.AbstractModel): user = registry.get('res.users').browse(cr, openerp.SUPERUSER_ID, request.session.uid) if attendee.partner_id.id != user.partner_id.id: error_message = """Invitation cannot be forwarded via email. This event/meeting belongs to %s and you are logged in as %s. Please ask organizer to add you.""" % (attendee.email, user.email) - + if error_message: raise BadRequest(error_message) return True - + class invite_wizard(osv.osv_memory): _inherit = 'mail.wizard.invite' diff --git a/addons/calendar/calendar_data.xml b/addons/calendar/calendar_data.xml index 2aac62f7e85..cf00059913d 100644 --- a/addons/calendar/calendar_data.xml +++ b/addons/calendar/calendar_data.xml @@ -5,7 +5,7 @@ Invitation - crm.meeting + calendar.event Warning, a mandatory field has been modified since the creation of this event @@ -87,23 +87,23 @@ - + Customer Meeting - + Internal Meeting - + Off-site Meeting - + Open Discussion - + Feedback Meeting diff --git a/addons/calendar/calendar_demo.xml b/addons/calendar/calendar_demo.xml index e2bc7260ed0..6880754cc56 100644 --- a/addons/calendar/calendar_demo.xml +++ b/addons/calendar/calendar_demo.xml @@ -30,7 +30,7 @@ - + @@ -43,7 +43,7 @@ open - + @@ -56,7 +56,7 @@ draft - + Pricing Discussion @@ -68,7 +68,7 @@ open - + @@ -80,7 +80,7 @@ open - + Changes in Designing @@ -91,7 +91,7 @@ open - + @@ -103,7 +103,7 @@ draft - + @@ -115,7 +115,7 @@ draft - + diff --git a/addons/calendar/calendar_view.xml b/addons/calendar/calendar_view.xml index 19b11360ca6..93649d046a1 100644 --- a/addons/calendar/calendar_view.xml +++ b/addons/calendar/calendar_view.xml @@ -3,11 +3,11 @@ - + - + Meeting Types Tree - crm.meeting.type + calendar.event.type @@ -15,18 +15,18 @@ - + Meeting Types - crm.meeting.type + calendar.event.type form - + - + - - CRM - Meetings Form - crm.meeting + + Calendar - Event Form + calendar.event
@@ -160,9 +160,9 @@ - + Meetings Popup - crm.meeting + calendar.event @@ -190,9 +190,9 @@ - + CRM - Meetings Tree - crm.meeting + calendar.event @@ -209,14 +209,14 @@ - + Meetings Calendar - crm.meeting + calendar.event + use_contacts="True" event_open_popup="%(calendar.view_calendar_event_form_popup)s"> @@ -228,18 +228,18 @@ - + CRM - Meetings Gantt - crm.meeting + calendar.event - + CRM - Meetings Search - crm.meeting + calendar.event @@ -262,12 +262,12 @@ - + Meetings - crm.meeting + calendar.event calendar,tree,form,gantt - - + + {"search_default_mymeetings": 1}

@@ -279,41 +279,41 @@

- - + + calendar - + - - + + tree - + - - + + form - + - - + + gantt - + - + - + - + Meetings - crm.meeting + calendar.event form,calendar,tree,gantt - + diff --git a/addons/calendar/controllers/main.py b/addons/calendar/controllers/main.py index 196914efdd8..941c92dcc3d 100644 --- a/addons/calendar/controllers/main.py +++ b/addons/calendar/controllers/main.py @@ -33,7 +33,7 @@ class meeting_invitation(http.Controller): @http.route('/calendar/meeting/view', type='http', auth="calendar") def view(self, db, token, action, id, view='calendar'): registry = openerp.modules.registry.RegistryManager.get(db) - meeting_pool = registry.get('crm.meeting') + meeting_pool = registry.get('calendar.event') attendee_pool = registry.get('calendar.attendee') with registry.cursor() as cr: attendee_data = meeting_pool.get_attendee(cr, openerp.SUPERUSER_ID, id); diff --git a/addons/calendar/security/ir.model.access.csv b/addons/calendar/security/ir.model.access.csv index 0023f1deaa7..caa7f0c6970 100644 --- a/addons/calendar/security/ir.model.access.csv +++ b/addons/calendar/security/ir.model.access.csv @@ -2,15 +2,15 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_calendar_attendee,calendar.attendee,model_calendar_attendee,,1,1,1,1 access_calendar_alarm,calendar.alarm,model_calendar_alarm,base.group_user,1,1,1,1 access_calendar_attendee_survey_user,calendar.attendee,model_calendar_attendee,base.group_survey_user,1,0,0,0 -access_crm_meeting_manager,crm.meeting.manager,model_crm_meeting,base.group_sale_manager,1,1,1,1 -access_crm_meeting,crm.meeting,model_crm_meeting,base.group_sale_salesman,1,1,1,0 -access_crm_meeting_all,crm.meeting_all,model_crm_meeting,base.group_user,1,1,1,1 -access_crm_meeting_partner_manager,crm.meeting.partner.manager,model_crm_meeting,base.group_partner_manager,1,1,1,1 -access_crm_meeting_type_all,crm.meeting.type.all,model_crm_meeting_type,,1,0,0,0 -access_crm_meeting_type_sale_manager,crm.meeting.type.manager,model_crm_meeting_type,base.group_sale_manager,1,1,1,0 -access_crm_meeting_type_sale_user,crm.meeting.type.user,model_crm_meeting_type,base.group_user,1,0,0,0 -access_crm_meeting_type_sale_user,crm.meeting.type.salesman,model_crm_meeting_type,base.group_sale_salesman,1,0,0,0 -access_crm_meeting_type_manager,crm.meeting.type.manager,model_crm_meeting_type,base.group_system,1,1,1,1 +access_calendar_event_manager,calendar.event.manager,model_calendar_event,base.group_sale_manager,1,1,1,1 +access_calendar_event,calendar.event,model_calendar_event,base.group_sale_salesman,1,1,1,0 +access_calendar_event_all,calendar.event_all,model_calendar_event,base.group_user,1,1,1,1 +access_calendar_event_partner_manager,calendar.event.partner.manager,model_calendar_event,base.group_partner_manager,1,1,1,1 +access_calendar_event_type_all,calendar.event.type.all,model_calendar_event_type,,1,0,0,0 +access_calendar_event_type_sale_manager,calendar.event.type.manager,model_calendar_event_type,base.group_sale_manager,1,1,1,0 +access_calendar_event_type_sale_user,calendar.event.type.user,model_calendar_event_type,base.group_user,1,0,0,0 +access_calendar_event_type_sale_user,calendar.event.type.salesman,model_calendar_event_type,base.group_sale_salesman,1,0,0,0 +access_calendar_event_type_manager,calendar.event.type.manager,model_calendar_event_type,base.group_system,1,1,1,1 access_calendar_alarm_manager,access_calendar_alarm_manager,model_calendar_alarm_manager,,1,1,1,1 access_calendar_contacts_all,access_calendar_contacts_all,model_calendar_contacts,,1,1,1,1 access_calendar_contacts,access_calendar_contacts,model_calendar_contacts,base.group_system,1,1,1,1 diff --git a/addons/calendar/static/src/js/base_calendar.js b/addons/calendar/static/src/js/base_calendar.js index 97c1dcb00e7..0f5693eacbc 100644 --- a/addons/calendar/static/src/js/base_calendar.js +++ b/addons/calendar/static/src/js/base_calendar.js @@ -23,7 +23,7 @@ openerp.calendar = function(instance) { $(".link2event").on('click', function() { self.rpc("/web/action/load", { - action_id: "calendar.action_crm_meeting_notify", + action_id: "calendar.action_calendar_event_notify", }).then( function(r) { r.res_id = res.event_id; return self.action_manager.do_action(r); @@ -88,7 +88,7 @@ openerp.calendar = function(instance) { var self = this; var action_url = ''; - action_url = _.str.sprintf('/?db=%s#id=%s&view_type=form&model=crm.meeting', db, meeting_id); + action_url = _.str.sprintf('/?db=%s#id=%s&view_type=form&model=calendar.event', db, meeting_id); var reload_page = function(){ return location.replace(action_url); diff --git a/addons/calendar/test/calendar_test.yml b/addons/calendar/test/calendar_test.yml index f9b59864a68..4888c94a0c5 100644 --- a/addons/calendar/test/calendar_test.yml +++ b/addons/calendar/test/calendar_test.yml @@ -1,7 +1,7 @@ - In Order to test calendar, I will first create One Simple Event with real data - - !record {model: crm.meeting, id: crm_meeting_technicalpresentation0}: + !record {model: calendar.event, id: calendar_event_technicalpresentation0}: class: private date: '2011-04-30 16:00:00' date_deadline: '2011-04-30 18:30:00' @@ -13,24 +13,24 @@ - Now I will set recurrence for this event to occur monday and friday of week - - !python {model: crm.meeting}: | + !python {model: calendar.event}: | data = {'fr': 1, 'mo': 1, 'interval': 1, 'rrule_type': 'weekly', 'end_type': 'end_date', 'end_date': '2011-05-31 00:00:00', 'recurrency' : True} - self.write(cr, uid, [ref("crm_meeting_technicalpresentation0")], data) + self.write(cr, uid, [ref("calendar_event_technicalpresentation0")], data) - In order to check that recurrent events are views successfully in calendar view, I will open calendar view of events - - !python {model: crm.meeting}: | + !python {model: calendar.event}: | self.fields_view_get(cr, uid, False, 'calendar', context) - In order to check that recurrent events are views successfully in calendar view, I will search for one of the recurrent event and count the number of events - - !python {model: crm.meeting}: | + !python {model: calendar.event}: | ids = self.search(cr, uid, [('date', '>=', '2011-04-30 16:00:00'), ('date', '<=', '2011-05-31 00:00:00')], context={'virtual_id': True} ) assert len(ids) == 9, 'Wrong number of events found' - Now I move a virtual event, to see that a real event is well created and depending from the native recurrence - - !python {model: crm.meeting}: | + !python {model: calendar.event}: | ids = self.search(cr, uid, [('date', '>=', '2011-04-30 16:00:00'), ('date', '<=', '2011-05-31 00:00:00')], context={'virtual_id': True} ) before = self.search(cr, uid, [('date', '>=', '2011-04-30 16:00:00'), ('date', '<=', '2011-05-31 00:00:00')], context={'virtual_id': False}) self.write(cr, uid,[ids[1]], {'name':'New Name','recurrency' : True}, context={'virtual_id': True}) @@ -42,7 +42,7 @@ - Now I will make All day event and test it - - !record {model: crm.meeting, id: crm_meeting_alldaytestevent0}: + !record {model: calendar.event, id: calendar_event_alldaytestevent0}: allday: 1 class: confidential date: '2011-04-30 00:00:00' @@ -62,5 +62,5 @@ - Now I will assign this reminder to all day event - - !python {model: crm.meeting}: | - self.write(cr, uid, [ref("crm_meeting_alldaytestevent0")], {'alarm_ids': [(6,0,[ref("res_alarm_daybeforeeventstarts0")])]}) + !python {model: calendar.event}: | + self.write(cr, uid, [ref("calendar_event_alldaytestevent0")], {'alarm_ids': [(6,0,[ref("res_alarm_daybeforeeventstarts0")])]}) diff --git a/addons/calendar/test/test_crm_recurrent_meeting_case2.yml b/addons/calendar/test/test_calendar_recurrent_event_case2.yml similarity index 60% rename from addons/calendar/test/test_crm_recurrent_meeting_case2.yml rename to addons/calendar/test/test_calendar_recurrent_event_case2.yml index 6b060835c72..ba121b6d3c4 100644 --- a/addons/calendar/test/test_crm_recurrent_meeting_case2.yml +++ b/addons/calendar/test/test_calendar_recurrent_event_case2.yml @@ -3,7 +3,7 @@ - I create a recurrent meeting with daily recurrency and fixed amount of time. - - !record {model: crm.meeting, id: crm_meeting_testmeeting0}: + !record {model: calendar.event, id: calendar_event_testmeeting0}: count: 5 date: '2011-04-13 11:04:00' date_deadline: '2011-04-13 12:04:00' @@ -17,13 +17,13 @@ - I search for all the recurrent meetings. - - !python {model: crm.meeting}: | - meeting_ids = self.search(cr, uid, [('id', 'in', [ref('crm_meeting_testmeeting0')]),('date','>=','2011-03-13'), ('date_deadline', '<=', '2011-05-13')], context={'virtual_id': True}) + !python {model: calendar.event}: | + meeting_ids = self.search(cr, uid, [('id', 'in', [ref('calendar_event_testmeeting0')]),('date','>=','2011-03-13'), ('date_deadline', '<=', '2011-05-13')], context={'virtual_id': True}) assert len(meeting_ids) == 5, 'Recurrent daily meetings are not created !' - I create a weekly meeting till a particular end date. - - !record {model: crm.meeting, id: crm_meeting_reviewcodewithprogrammer0}: + !record {model: calendar.event, id: calendar_event_reviewcodewithprogrammer0}: date: '2011-04-18 11:47:00' date_deadline: '2011-04-18 12:47:00' day: 0.0 @@ -43,13 +43,13 @@ - I search for all the recurrent weekly meetings. - - !python {model: crm.meeting}: | - meeting_ids = self.search(cr, uid, [('id', 'in', [ref('crm_meeting_reviewcodewithprogrammer0')]),('date','>=','2011-03-13'), ('date_deadline', '<=', '2011-05-13')], context={'virtual_id': True}) + !python {model: calendar.event}: | + meeting_ids = self.search(cr, uid, [('id', 'in', [ref('calendar_event_reviewcodewithprogrammer0')]),('date','>=','2011-03-13'), ('date_deadline', '<=', '2011-05-13')], context={'virtual_id': True}) assert len(meeting_ids) == 10, 'Recurrent weekly meetings are not created !' - I want to schedule a meeting every month for Sprint review. - - !record {model: crm.meeting, id: crm_meeting_sprintreview0}: + !record {model: calendar.event, id: calendar_event_sprintreview0}: count: 12 date: '2011-04-01 12:01:00' date_deadline: '2011-04-01 13:01:00' @@ -63,33 +63,33 @@ - I search for all the recurrent monthly meetings. - - !python {model: crm.meeting}: | - meeting_ids = self.search(cr, uid, [('id', 'in', [ref('crm_meeting_sprintreview0')]),('date','>=','2011-03-01'), ('date_deadline', '<=', '2012-05-13')], context={'virtual_id': True}) + !python {model: calendar.event}: | + meeting_ids = self.search(cr, uid, [('id', 'in', [ref('calendar_event_sprintreview0')]),('date','>=','2011-03-01'), ('date_deadline', '<=', '2012-05-13')], context={'virtual_id': True}) assert len(meeting_ids) == 12, 'Recurrent monthly meetings are not created !' - I change name of my monthly Sprint Review meeting. - - !python {model: crm.meeting}: | - idval = '%d-%s' % (ref('crm_meeting_sprintreview0'), '20110901130100') + !python {model: calendar.event}: | + idval = '%d-%s' % (ref('calendar_event_sprintreview0'), '20110901130100') self.write(cr, uid, [idval], {'name': 'Sprint Review for google modules'}) - I check whether all the records are edited or not. - - !python {model: crm.meeting}: | - meeting_ids = self.search(cr, uid, [('id', 'in', [ref('crm_meeting_sprintreview0')]),('date','>=','2011-03-01'), ('date_deadline', '<=', '2012-05-13')], context={'virtual_id': True}) + !python {model: calendar.event}: | + meeting_ids = self.search(cr, uid, [('id', 'in', [ref('calendar_event_sprintreview0')]),('date','>=','2011-03-01'), ('date_deadline', '<=', '2012-05-13')], context={'virtual_id': True}) meetings = self.browse(cr, uid, meeting_ids, context) for meeting in meetings: assert meeting.name == 'Sprint Review for google modules', 'Name not changed for id: %s' %meeting.id - I change description of my weekly meeting Review code with programmer. - - !python {model: crm.meeting}: | - idval = '%d-%s' % (ref('crm_meeting_sprintreview0'), '20110425124700') + !python {model: calendar.event}: | + idval = '%d-%s' % (ref('calendar_event_sprintreview0'), '20110425124700') self.write(cr, uid, [idval], {'description': 'Review code of the module: sync_google_calendar.'}) - I check whether the record is edited perfectly or not. - - !python {model: crm.meeting}: | - meeting_ids = self.search(cr, uid, [('recurrent_id', '=', ref('crm_meeting_sprintreview0')), ('recurrent_id_date','=','2011-04-25 12:47:00')], context) + !python {model: calendar.event}: | + meeting_ids = self.search(cr, uid, [('recurrent_id', '=', ref('calendar_event_sprintreview0')), ('recurrent_id_date','=','2011-04-25 12:47:00')], context) assert meeting_ids, 'Meeting is not edited !' diff --git a/addons/crm/__init__.py b/addons/crm/__init__.py index 4e3a704d5f3..e5c06c53d97 100644 --- a/addons/crm/__init__.py +++ b/addons/crm/__init__.py @@ -22,7 +22,7 @@ import crm import crm_segmentation import crm_lead -import crm_meeting +import calendar_event import crm_phonecall import report import wizard diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py index 0caacc88025..1b0cbed7937 100644 --- a/addons/crm/__openerp__.py +++ b/addons/crm/__openerp__.py @@ -81,7 +81,7 @@ Dashboard for CRM will include: 'crm_lead_view.xml', 'crm_lead_menu.xml', - 'crm_meeting_menu.xml', + 'calendar_event_menu.xml', 'crm_phonecall_view.xml', 'crm_phonecall_menu.xml', diff --git a/addons/crm/crm_meeting.py b/addons/crm/calendar_event.py similarity index 92% rename from addons/crm/crm_meeting.py rename to addons/crm/calendar_event.py index 40aaa2228c0..df50d99b72b 100644 --- a/addons/crm/crm_meeting.py +++ b/addons/crm/calendar_event.py @@ -24,18 +24,18 @@ import logging _logger = logging.getLogger(__name__) # -# crm.meeting is defined in module calendar +# calendar.event is defined in module calendar # -class crm_meeting(osv.Model): - """ Model for CRM meetings """ - _inherit = 'crm.meeting' +class calendar_event(osv.Model): + """ Model for Calendar Event """ + _inherit = 'calendar.event' _columns = { 'phonecall_id': fields.many2one ('crm.phonecall', 'Phonecall'), 'opportunity_id': fields.many2one ('crm.lead', 'Opportunity', domain="[('type', '=', 'opportunity')]"), } def create(self, cr, uid, vals, context=None): - res = super(crm_meeting, self).create(cr, uid, vals, context=context) + res = super(calendar_event, self).create(cr, uid, vals, context=context) obj = self.browse(cr, uid, res, context=context) if obj.opportunity_id: self.pool.get('crm.lead').log_meeting(cr, uid, [obj.opportunity_id.id], obj.name, obj.date, obj.duration, context=context) diff --git a/addons/crm/crm_meeting_menu.xml b/addons/crm/calendar_event_menu.xml similarity index 100% rename from addons/crm/crm_meeting_menu.xml rename to addons/crm/calendar_event_menu.xml diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 733849efb02..2d1285da84f 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -914,7 +914,7 @@ class crm_lead(format_address, osv.osv): :return dict: dictionary value for created Meeting view """ opportunity = self.browse(cr, uid, ids[0], context) - res = self.pool.get('ir.actions.act_window').for_xml_id(cr, uid, 'calendar', 'action_crm_meeting', context) + res = self.pool.get('ir.actions.act_window').for_xml_id(cr, uid, 'calendar', 'action_calendar_event', context) res['context'] = { 'default_opportunity_id': opportunity.id, 'default_partner_id': opportunity.partner_id and opportunity.partner_id.id or False, diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 1107234b928..66f1e33c3a9 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -79,9 +79,9 @@ view_type="form"/> diff --git a/addons/crm/crm_phonecall.py b/addons/crm/crm_phonecall.py index bd30ef5c678..71654912ac0 100644 --- a/addons/crm/crm_phonecall.py +++ b/addons/crm/crm_phonecall.py @@ -265,7 +265,7 @@ class crm_phonecall(osv.osv): :return dict: dictionary value for created meeting view """ phonecall = self.browse(cr, uid, ids[0], context) - res = self.pool.get('ir.actions.act_window').for_xml_id(cr, uid, 'calendar', 'action_crm_meeting', context) + res = self.pool.get('ir.actions.act_window').for_xml_id(cr, uid, 'calendar', 'action_calendar_event', context) res['context'] = { 'default_phonecall_id': phonecall.id, 'default_partner_id': phonecall.partner_id and phonecall.partner_id.id or False, diff --git a/addons/crm/crm_phonecall_menu.xml b/addons/crm/crm_phonecall_menu.xml index f6f94547173..294e2b1702d 100644 --- a/addons/crm/crm_phonecall_menu.xml +++ b/addons/crm/crm_phonecall_menu.xml @@ -5,9 +5,9 @@ - + Meetings res.partner - crm.meeting + calendar.event calendar,tree,form,gantt {'default_partner_ids': [active_id]} @@ -71,7 +71,7 @@ Opportunities - + Meetings @@ -96,7 +96,7 @@ context="{'search_default_partner_id': active_id}"/>