[TYPO] Rename base_calendar into calendar

bzr revid: jke@openerp.com-20131219144739-9ic700ycef8uklbc
This commit is contained in:
jke-openerp 2013-12-19 15:47:39 +01:00
parent 3d04737ab1
commit dd285d23af
84 changed files with 81 additions and 84 deletions

View File

@ -19,7 +19,7 @@
#
##############################################################################
import base_calendar
import calendar
import controllers
#import res_config

View File

@ -38,28 +38,28 @@ If you need to manage your meetings, you should install the CRM module.
'author': 'OpenERP SA',
'category': 'Hidden/Dependency',
'website': 'http://www.openerp.com',
'demo': ['base_calendar_demo.xml'],
'demo': ['calendar_demo.xml'],
'data': [
'security/calendar_security.xml',
'security/ir.model.access.csv',
'base_calendar_view.xml',
'base_calendar_data.xml',
'calendar_view.xml',
'calendar_data.xml',
],
'js': [
'static/src/js/*.js'
],
'qweb': ['static/src/xml/*.xml'],
'css': [
'static/src/css/base_calender.css'
'static/src/css/calendar.css'
],
'test' : [
'test/base_calendar_test.yml',
'test/calendar_test.yml',
'test/test_crm_recurrent_meeting_case2.yml'
],
'installable': True,
'application': True,
'auto_install': False,
'images': ['images/base_calendar1.jpeg','images/base_calendar2.jpeg','images/base_calendar3.jpeg','images/base_calendar4.jpeg'],
'images': ['images/calendar1.jpeg','images/calendar2.jpeg','images/calendar3.jpeg','images/calendar4.jpeg'],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -39,16 +39,16 @@ from openerp.tools.translate import _
def base_calendar_id2real_id(base_calendar_id=None, with_date=False):
def calendar_id2real_id(calendar_id=None, with_date=False):
"""
Convert a "virtual/recurring event id" (type string) into a real event id (type int).
E.g. virtual/recurring event id is 4-20091201100000, so it will return 4.
@param base_calendar_id: id of calendar
@param with_date: if a value is passed to this param it will return dates based on value of withdate + base_calendar_id
@param calendar_id: id of calendar
@param with_date: if a value is passed to this param it will return dates based on value of withdate + calendar_id
@return: real event id
"""
if base_calendar_id and isinstance(base_calendar_id, (str, unicode)):
res = base_calendar_id.split('-')
if calendar_id and isinstance(calendar_id, (str, unicode)):
res = calendar_id.split('-')
if len(res) >= 2:
real_id = res[0]
if with_date:
@ -58,16 +58,16 @@ def base_calendar_id2real_id(base_calendar_id=None, with_date=False):
return (int(real_id), real_date, end.strftime("%Y-%m-%d %H:%M:%S"))
return int(real_id)
return base_calendar_id and int(base_calendar_id) or base_calendar_id
return calendar_id and int(calendar_id) or calendar_id
def get_real_ids(ids):
if isinstance(ids, (str, int, long)):
return base_calendar_id2real_id(ids)
return calendar_id2real_id(ids)
if isinstance(ids, (list, tuple)):
res = []
for id in ids:
res.append(base_calendar_id2real_id(id))
res.append(calendar_id2real_id(id))
return res
class calendar_attendee(osv.osv):
@ -221,8 +221,8 @@ class calendar_attendee(osv.osv):
ids = [ids]
for attendee in self.browse(cr, uid, ids, context=context):
dummy,template_id = data_pool.get_object_reference(cr, uid, 'base_calendar',template_xmlid)
dummy,act_id = data_pool.get_object_reference(cr, uid, 'base_calendar', "view_crm_meeting_calendar")
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")
if attendee.email and email_from:
ics_file = self.get_ics_file(cr, uid, attendee.event_id, context=context)
@ -280,8 +280,8 @@ class calendar_attendee(osv.osv):
ids = [ids]
for attendee in self.browse(cr, uid, ids, context=context):
dummy,template_id = data_pool.get_object_reference(cr, uid, 'base_calendar', template_xmlid)
dummy,act_id = data_pool.get_object_reference(cr, uid, 'base_calendar', "view_crm_meeting_calendar")
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")
body = template_pool.browse(cr, uid, template_id, context=context).body_html
if attendee.email and email_from:
ics_file = self.get_ics_file(cr, uid, attendee.event_id, context=context)
@ -347,7 +347,7 @@ class calendar_attendee(osv.osv):
meeting_obj = self.pool.get('crm.meeting')
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="base_calendar.subtype_invitation", 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)
return res
@ -361,7 +361,7 @@ class calendar_attendee(osv.osv):
meeting_obj = self.pool.get('crm.meeting')
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="base_calendar.subtype_invitation", 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)
return res
def create(self, cr, uid, vals, context=None):
@ -628,8 +628,8 @@ class calendar_alarm_manager(osv.osv):
}
for attendee in event.attendee_ids:
dummy,template_id = data_pool.get_object_reference(cr, uid, 'base_calendar', 'crm_email_template_meeting_reminder')
dummy,act_id = data_pool.get_object_reference(cr, uid, 'base_calendar', "view_crm_meeting_calendar")
dummy,template_id = data_pool.get_object_reference(cr, uid, 'calendar', 'crm_email_template_meeting_reminder')
dummy,act_id = data_pool.get_object_reference(cr, uid, 'calendar', "view_crm_meeting_calendar")
body = template_pool.browse(cr, uid, template_id, context=context).body_html
#mail_from = tools.config.get('email_from',event.user_id.email)
@ -726,7 +726,7 @@ class ir_values(osv.osv):
new_model = []
for data in models:
if type(data) in (list, tuple):
new_model.append((data[0], base_calendar_id2real_id(data[1])))
new_model.append((data[0], calendar_id2real_id(data[1])))
else:
new_model.append(data)
return super(ir_values, self).set(cr, uid, key, key2, name, new_model, \
@ -738,7 +738,7 @@ class ir_values(osv.osv):
new_model = []
for data in models:
if type(data) in (list, tuple):
new_model.append((data[0], base_calendar_id2real_id(data[1])))
new_model.append((data[0], calendar_id2real_id(data[1])))
else:
new_model.append(data)
return super(ir_values, self).get(cr, uid, key, key2, new_model, \
@ -758,7 +758,7 @@ class ir_model(osv.osv):
context=context, load=load)
if data:
for val in data:
val['id'] = base_calendar_id2real_id(val['id'])
val['id'] = calendar_id2real_id(val['id'])
return isinstance(ids, (str, int, long)) and data[0] or data
@ -772,9 +772,9 @@ def exp_report(db, uid, object, ids, data=None, context=None):
original_exp_report(db, uid, object, ids, data, context)
new_ids = []
for id in ids:
new_ids.append(base_calendar_id2real_id(id))
new_ids.append(calendar_id2real_id(id))
if data.get('id', False):
data['id'] = base_calendar_id2real_id(data['id'])
data['id'] = calendar_id2real_id(data['id'])
return original_exp_report(db, uid, object, new_ids, data, context)
openerp.service.report.exp_report = exp_report
@ -946,10 +946,10 @@ class crm_meeting(osv.Model):
_track = {
'location': {
'base_calendar.subtype_invitation': lambda self, cr, uid, obj, ctx=None: True,
'calendar.subtype_invitation': lambda self, cr, uid, obj, ctx=None: True,
},
'date': {
'base_calendar.subtype_invitation': lambda self, cr, uid, obj, ctx=None: True,
'calendar.subtype_invitation': lambda self, cr, uid, obj, ctx=None: True,
},
}
_columns = {
@ -1133,7 +1133,7 @@ class crm_meeting(osv.Model):
mail_from = current_user.email or tools.config.get('email_from', False)
print "Send mail... from ",mail_from, " to ",att_id
if self.pool.get('calendar.attendee')._send_mail_to_attendees(cr, uid, att_id, email_from = mail_from, context=context):
self.message_post(cr, uid, event.id, body=_("An invitation email has been sent to attendee %s") % (partner.name,),subtype="base_calendar.subtype_invitation", context=context)
self.message_post(cr, uid, event.id, body=_("An invitation email has been sent to attendee %s") % (partner.name,),subtype="calendar.subtype_invitation", context=context)
if new_attendees:
self.write(cr, uid, [event.id], {'attendee_ids': [(4, att) for att in new_attendees]},context=context)
@ -1226,7 +1226,7 @@ class crm_meeting(osv.Model):
if [True for item in new_pile if not item]:
continue
# idval = real_id2base_calendar_id(data['id'], r_date.strftime("%Y-%m-%d %H:%M:%S"))
# idval = real_id2calendar_id(data['id'], r_date.strftime("%Y-%m-%d %H:%M:%S"))
idval = '%d-%s' % (ev.id, r_date.strftime("%Y%m%d%H%M%S"))
result.append(idval)
@ -1365,7 +1365,7 @@ class crm_meeting(osv.Model):
def message_get_subscription_data(self, cr, uid, ids, user_pid=None, context=None):
res = {}
for virtual_id in ids:
real_id = base_calendar_id2real_id(virtual_id)
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)
res[virtual_id] = result[real_id]
return res
@ -1423,7 +1423,7 @@ class crm_meeting(osv.Model):
if current_user.email:
if self.pool.get('calendar.attendee')._send_mail_to_attendees(cr, uid, [att.id for att in event.attendee_ids], email_from = current_user.email, context=context):
self.message_post(cr, uid, event.id, body=_("An invitation email has been sent to attendee(s)"), subtype="base_calendar.subtype_invitation", context=context)
self.message_post(cr, uid, event.id, body=_("An invitation email has been sent to attendee(s)"), subtype="calendar.subtype_invitation", context=context)
return;
def get_attendee(self, cr, uid, meeting_id, context=None):
@ -1501,7 +1501,7 @@ class crm_meeting(osv.Model):
default['attendee_ids'] = False
res = super(crm_meeting, self).copy(cr, uid, base_calendar_id2real_id(id), default, context)
res = super(crm_meeting, self).copy(cr, uid, calendar_id2real_id(id), default, context)
return res
def write(self, cr, uid, ids, values, context=None):
@ -1524,7 +1524,7 @@ class crm_meeting(osv.Model):
continue
ids.remove(event_id)
real_event_id = base_calendar_id2real_id(event_id)
real_event_id = calendar_id2real_id(event_id)
# if we are setting the recurrency flag to False or if we are only changing fields that
# should be only updated on the real ID and not on the virtual (like message_follower_ids):
@ -1586,7 +1586,7 @@ class crm_meeting(osv.Model):
if mail_to_ids:
current_user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
if self.pool.get('calendar.attendee')._send_mail_to_attendees(cr, uid, mail_to_ids, template_xmlid='crm_email_template_meeting_changedate',email_from=current_user.email, context=context):
self.message_post(cr, uid, the_id, body=_("A email has been send to specify that the date has been changed !"),subtype="base_calendar.subtype_invitation", context=context)
self.message_post(cr, uid, the_id, body=_("A email has been send to specify that the date has been changed !"),subtype="calendar.subtype_invitation", context=context)
else:
print 'Send mail return false'
return res or True and False
@ -1643,25 +1643,25 @@ class crm_meeting(osv.Model):
else:
select = ids
select = map(lambda x: (x, base_calendar_id2real_id(x)), select)
select = map(lambda x: (x, calendar_id2real_id(x)), select)
result = []
real_data = super(crm_meeting, self).read(cr, uid, [real_id for base_calendar_id, real_id in select], fields=fields2, context=context, load=load)
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 = dict(zip([x['id'] for x in real_data], real_data))
for base_calendar_id, real_id in select:
for calendar_id, real_id in select:
res = real_data[real_id].copy()
res = real_data[real_id].copy()
ls = base_calendar_id2real_id(base_calendar_id, with_date=res and res.get('duration', 0) or 0)
ls = calendar_id2real_id(calendar_id, with_date=res and res.get('duration', 0) or 0)
if not isinstance(ls, (str, int, long)) and len(ls) >= 2:
#recurrent_dates = [d.strftime("%Y-%m-%d %H:%M:%S") for d in get_recurrent_dates(res['rrule'], res['date'], res['exdate'],res['vtimezone'], context=context)]
#if not (ls[1] in recurrent_dates or ls[1] in res['exdate']): #when update a recurrent event
res['date'] = ls[1]
res['date_deadline'] = ls[2]
res['id'] = base_calendar_id
res['id'] = calendar_id
result.append(res)
for r in result:

View File

@ -3,7 +3,7 @@
<data noupdate="1">
<!-- Expense-related subtypes for messaging / Chatter -->
<record id="base_calendar.subtype_invitation" model="mail.message.subtype">
<record id="calendar.subtype_invitation" model="mail.message.subtype">
<field name="name">Invitation</field>
<field name="res_model">crm.meeting</field>
<field name="description">Warning, a mandatory field has been modified since the creation of this event</field>
@ -122,7 +122,7 @@
<field name="name">Meeting Invitation</field>
<field name="email_from">${object.event_id.user_id.email or ''}</field>
<field name="subject">${object.event_id.name}</field>
<field name="model_id" ref="base_calendar.model_calendar_attendee"/>
<field name="model_id" ref="calendar.model_calendar_attendee"/>
<field name="email_to" >${('' if object.partner_id and object.partner_id.email and object.partner_id.email==object.email else object.email|safe)}</field>
<field name="partner_to">${object.partner_id and object.partner_id.email and object.partner_id.email==object.email and object.partner_id.id or False }</field>
@ -230,9 +230,9 @@
</table>
</div>
<div style="height: auto;width:450px; margin:0 auto;padding-top:20px;padding-bottom:40px;">
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#8A89BA;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/meeting_invitation/accept?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">Accept</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#808080;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/meeting_invitation/decline?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">Decline</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#D8D8D8;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/meeting_invitation/view?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">View</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#8A89BA;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/calendar/meeting/accept?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">Accept</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#808080;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/calendar/meeting/decline?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">Decline</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#D8D8D8;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/calendar/meeting/view?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">View</a>
</div>
</div>
</body>
@ -245,7 +245,7 @@
<field name="name">Meeting Invitation</field>
<field name="email_from">${object.event_id.user_id.email or ''}</field>
<field name="subject">${object.event_id.name} - Date has been updated</field>
<field name="model_id" ref="base_calendar.model_calendar_attendee"/>
<field name="model_id" ref="calendar.model_calendar_attendee"/>
<field name="email_to" >${('' if object.partner_id and object.partner_id.email and object.partner_id.email==object.email else object.email|safe)}</field>
<field name="partner_to">${object.partner_id and object.partner_id.email and object.partner_id.email==object.email and object.partner_id.id or False }</field>
@ -355,9 +355,9 @@
</table>
</div>
<div style="height: auto;width:450px; margin:0 auto;padding-top:20px;padding-bottom:40px;">
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#8A89BA;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/meeting_invitation/accept?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">Accept</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#808080;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/meeting_invitation/decline?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">Decline</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#D8D8D8;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/meeting_invitation/view?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">View</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#8A89BA;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/calendar/meeting/accept?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">Accept</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#808080;margin : 0 15px 0 0;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/calendar/meeting/decline?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">Decline</a>
<a style="padding: 8px 30px 8px 30px;border-radius: 6px;border: 1px solid #CCCCCC;background:#D8D8D8;text-decoration: none;color:#FFFFFF;" href="${ctx['base_url']}/calendar/meeting/view?db=${ctx['dbname']}&token=${object.access_token}&action=${ctx['action_id']}&id=${object.event_id.id}">View</a>
</div>
</div>
</body>
@ -370,7 +370,7 @@
<field name="name">Meeting Invitation</field>
<field name="email_from">${object.event_id.user_id.email or ''}</field>
<field name="subject">${object.event_id.name} - Reminder</field>
<field name="model_id" ref="base_calendar.model_calendar_attendee"/>
<field name="model_id" ref="calendar.model_calendar_attendee"/>
<field name="email_to" >${('' if object.partner_id and object.partner_id.email and object.partner_id.email==object.email else object.email|safe)}</field>
<field name="partner_to">${object.partner_id and object.partner_id.email and object.partner_id.email==object.email and object.partner_id.id or False }</field>

View File

@ -216,7 +216,7 @@
<field name="arch" type="xml">
<calendar string="Meetings" date_start="date" date_stop="date_deadline" date_delay="duration" all_day="allday"
display="[name]" color="color_partner_id" attendee="partner_ids" avatar_model="res.partner"
use_contacts="True" quick_add="True" event_open_popup="%(base_calendar.view_crm_meeting_form_popup)s">
use_contacts="True" quick_add="True" event_open_popup="%(calendar.view_crm_meeting_form_popup)s">
<field name="name"/>
<field name="user_id"/>

View File

@ -8,7 +8,7 @@ import json
from openerp.addons.web.http import SessionExpiredException
from werkzeug.exceptions import BadRequest
class meetting_invitation(http.Controller):
class meeting_invitation(http.Controller):
def check_security(self, db, token):
registry = openerp.modules.registry.RegistryManager.get(db)
@ -31,9 +31,8 @@ class meetting_invitation(http.Controller):
raise BadRequest(error_message)
return True
@http.route('/meeting_invitation/accept', type='http', auth="none")
@http.route('/calendar/meeting/accept', type='http', auth="none")
def accept(self, db, token, action, id):
# http://hostname:8069/meeting_invitation/accept?db=#token=&action=&id=
self.check_security(db, token)
registry = openerp.modules.registry.RegistryManager.get(db)
attendee_pool = registry.get('calendar.attendee')
@ -43,9 +42,8 @@ class meetting_invitation(http.Controller):
attendee_pool.do_accept(cr, openerp.SUPERUSER_ID, attendee_id)
return self.view(db, token, action, id, view='form')
@http.route('/meeting_invitation/decline', type='http', auth="none")
@http.route('/calendar/meeting/decline', type='http', auth="none")
def declined(self, db, token, action, id):
# http://hostname:8069/meeting_invitation/decline?db=#token=&action=&id=
self.check_security(db, token)
registry = openerp.modules.registry.RegistryManager.get(db)
attendee_pool = registry.get('calendar.attendee')
@ -55,9 +53,8 @@ class meetting_invitation(http.Controller):
attendee_pool.do_decline(cr, openerp.SUPERUSER_ID, attendee_id)
return self.view(db, token, action, id, view='form')
@http.route('/meeting_invitation/view', type='http', auth="none")
@http.route('/calendar/meeting/view', type='http', auth="none")
def view(self, db, token, action, id, view='calendar'):
# http://hostname:8069/meeting_invitation/view?db=#token=&action=&id=
self.check_security(db, token)
registry = openerp.modules.registry.RegistryManager.get(db)
meeting_pool = registry.get('crm.meeting')
@ -75,7 +72,7 @@ class meetting_invitation(http.Controller):
'js': js,
'css': css,
'modules': simplejson.dumps(webmain.module_boot(db)),
'init': "s.base_calendar.event('%s', '%s', '%s', '%s' , '%s');" % (db, action, id, 'form', json.dumps(attendee_data)),
'init': "s.calendar.event('%s', '%s', '%s', '%s' , '%s');" % (db, action, id, 'form', json.dumps(attendee_data)),
}
@http.route('/calendar/NextNotify', type='json', auth="none")

View File

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@ -1,7 +1,7 @@
openerp.base_calendar = function(instance) {
openerp.calendar = function(instance) {
var _t = instance.web._t;
var QWeb = instance.web.qweb;
instance.base_calendar = {}
instance.calendar = {}
instance.web.WebClient = instance.web.WebClient.extend({
@ -28,7 +28,7 @@ openerp.base_calendar = function(instance) {
$(".link2event").on('click', function() {
self.rpc("/web/action/load", {
action_id: "base_calendar.action_crm_meeting_notify",
action_id: "calendar.action_crm_meeting_notify",
}).then( function(r) {
r.res_id = res.event_id;
return self.action_manager.do_action(r);
@ -71,7 +71,7 @@ openerp.base_calendar = function(instance) {
});
instance.base_calendar.invitation = instance.web.Widget.extend({
instance.calendar.invitation = instance.web.Widget.extend({
init: function(parent, db, action, id, view, attendee_data) {
this._super();
@ -139,9 +139,9 @@ openerp.base_calendar = function(instance) {
'many2manyattendee' : 'instance.web.form.Many2ManyAttendee',
});
instance.base_calendar.event = function (db, action, id, view, attendee_data) {
instance.calendar.event = function (db, action, id, view, attendee_data) {
instance.session.session_bind(instance.session.origin).done(function () {
new instance.base_calendar.invitation(null,db,action,id,view,attendee_data).appendTo($("body").addClass('openerp'));
new instance.calendar.invitation(null,db,action,id,view,attendee_data).appendTo($("body").addClass('openerp'));
});
}

View File

@ -1,5 +1,5 @@
-
In Order to test base_calendar, I will first create One Simple Event with real data
In Order to test calendar, I will first create One Simple Event with real data
-
!record {model: crm.meeting, id: crm_meeting_technicalpresentation0}:
class: private

View File

@ -54,7 +54,7 @@ Dashboard for CRM will include:
'process',
'mail',
'email_template',
'base_calendar',
'calendar',
'resource',
'board',
'fetchmail',

View File

@ -223,7 +223,7 @@ class MergePartnerAutomatic(osv.TransientModel):
update_records = functools.partial(update_records, context=context)
for partner in src_partners:
update_records('base.calendar', src=partner, field_model='model_id.model')
update_records('calendar', src=partner, field_model='model_id.model')
update_records('ir.attachment', src=partner, field_model='res_model')
update_records('mail.followers', src=partner, field_model='res_model')
update_records('mail.message', src=partner)

View File

@ -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, 'base_calendar', 'action_crm_meeting', context)
res = self.pool.get('ir.actions.act_window').for_xml_id(cr, uid, 'calendar', 'action_crm_meeting', context)
res['context'] = {
'default_opportunity_id': opportunity.id,
'default_partner_id': opportunity.partner_id and opportunity.partner_id.id or False,

View File

@ -24,7 +24,7 @@ import logging
_logger = logging.getLogger(__name__)
#
# crm.meeting is defined in module base_calendar
# crm.meeting is defined in module calendar
#
class crm_meeting(osv.Model):
""" Model for CRM meetings """

View File

@ -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, 'base_calendar', 'action_crm_meeting', context)
res = self.pool.get('ir.actions.act_window').for_xml_id(cr, uid, 'calendar', 'action_crm_meeting', context)
res['context'] = {
'default_phonecall_id': phonecall.id,
'default_partner_id': phonecall.partner_id and phonecall.partner_id.id or False,

View File

@ -96,7 +96,7 @@
context="{'search_default_partner_id': active_id}"/>
<button class="oe_inline" type="action"
string="Meetings"
name="%(base_calendar.action_crm_meeting)d"
name="%(calendar.action_crm_meeting)d"
context="{'search_default_partner_ids': active_id, 'default_partner_ids' : [active_id]}"/>
<button class="oe_inline" type="action" string="Calls"
name="%(crm.crm_case_categ_phone_incoming0)d"

View File

@ -109,7 +109,7 @@
-
!python {model: crm.meeting}: |
context.update({'active_model': 'crm.meeting'})
self.write(cr, uid, [ref('base_calendar.crm_meeting_4')], {'state': 'open'})
self.write(cr, uid, [ref('calendar.crm_meeting_4')], {'state': 'open'})
-
I invite a user for meeting.
-

View File

@ -48,7 +48,7 @@ class crm_phonecall2meeting(osv.osv_memory):
phonecall_id = context and context.get('active_id', False) or False
if phonecall_id:
phonecall = self.pool.get('crm.phonecall').browse(cr, uid, phonecall_id, context)
res = self.pool.get('ir.actions.act_window').for_xml_id(cr, uid, 'base_calendar', 'action_crm_meeting', context)
res = self.pool.get('ir.actions.act_window').for_xml_id(cr, uid, 'calendar', 'action_crm_meeting', context)
res['context'] = {
'default_phonecall_id': phonecall.id,
'default_partner_id': phonecall.partner_id and phonecall.partner_id.id or False,

View File

@ -30,7 +30,7 @@ The module adds the possibility to synchronize Google Calendar with OpenERP
""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
'depends': ['google_account','base_calendar'],
'depends': ['google_account','calendar'],
'css': ['static/src/css/*.css'],
'js': ['static/src/js/*.js'],
'qweb': ['static/src/xml/*.xml'],

View File

@ -87,7 +87,7 @@
<menuitem id="menu_calendar_google_main" parent="base.menu_administration" name="Google Calendar"/>
<menuitem id="menu_calendar_google_config" name="API credentials" parent="google_calendar.menu_calendar_google_main" action="action_config_settings_google_calendar"/>
-->
<menuitem id="menu_calendar_google_tech_config" name="API Credentials" parent="base_calendar.menu_calendar_configuration" groups="base.group_no_one" action="action_config_settings_google_calendar"/>
<menuitem id="menu_calendar_google_tech_config" name="API Credentials" parent="calendar.menu_calendar_configuration" groups="base.group_no_one" action="action_config_settings_google_calendar"/>
</data>
</openerp>

View File

@ -28,7 +28,7 @@
'website': 'http://www.openerp.com',
'summary': 'Periodical Evaluations, Appraisals, Surveys',
'images': ['images/hr_evaluation_analysis.jpeg','images/hr_evaluation.jpeg','images/hr_interview_requests.jpeg'],
'depends': ['hr','base_calendar','survey'],
'depends': ['hr','calendar','survey'],
'description': """
Periodical Employees evaluation and appraisals
==============================================

View File

@ -45,7 +45,7 @@ You can keep track of leaves in different ways by following reports:
A synchronization with an internal agenda (Meetings of the CRM module) is also possible in order to automatically create a meeting when a holiday request is accepted by setting up a type of meeting in Leave Type.
""",
'images': ['images/hr_allocation_requests.jpeg', 'images/hr_leave_requests.jpeg', 'images/leaves_analysis.jpeg'],
'depends': ['hr', 'base_calendar', 'process', 'resource'],
'depends': ['hr', 'calendar', 'process', 'resource'],
'data': [
'security/ir.model.access.csv',
'security/ir_rule.xml',

View File

@ -42,7 +42,7 @@ You can define the different phases of interviews and easily rate the applicant
'decimal_precision',
'hr',
'survey',
'base_calendar',
'calendar',
'fetchmail',
],
'data': [

View File

@ -291,7 +291,7 @@ class hr_applicant(osv.Model):
"""
applicant = self.browse(cr, uid, ids[0], context)
category = self.pool.get('ir.model.data').get_object(cr, uid, 'hr_recruitment', 'categ_meet_interview', context)
res = self.pool.get('ir.actions.act_window').for_xml_id(cr, uid, 'base_calendar', 'action_crm_meeting', context)
res = self.pool.get('ir.actions.act_window').for_xml_id(cr, uid, 'calendar', 'action_crm_meeting', context)
res['context'] = {
'default_partner_ids': applicant.partner_id and [applicant.partner_id.id] or False,
'default_user_id': uid,

View File

@ -29,7 +29,7 @@
<field name="name">Customer report #349872</field>
<field name="memo"><![CDATA[<b>Customer report #349872</b>
<br/><br/>* Calendar app in Home
<br/>* The base_calendar module should create a menu in Home, like described above.
<br/>* The calendar module should create a menu in Home, like described above.
<br/>* This module should become a main application (in the first screen at installation)
<br/>* We should use the term Calendar, not Meeting.
]]>