diff --git a/addons/base_calendar/__openerp__.py b/addons/base_calendar/__openerp__.py
index d3a9d9e533d..3f6ca129f6f 100644
--- a/addons/base_calendar/__openerp__.py
+++ b/addons/base_calendar/__openerp__.py
@@ -46,7 +46,8 @@ If you need to manage your meetings, you should install the CRM module.
'security/calendar_security.xml',
'security/ir.model.access.csv',
'wizard/base_calendar_invite_attendee_view.xml',
- 'base_calendar_view.xml'
+ 'base_calendar_view.xml',
+ 'crm_meeting_view.xml',
],
"test" : ['test/base_calendar_test.yml'],
"installable": True,
diff --git a/addons/base_calendar/crm_meeting_view.xml b/addons/base_calendar/crm_meeting_view.xml
new file mode 100644
index 00000000000..b6365ebc53c
--- /dev/null
+++ b/addons/base_calendar/crm_meeting_view.xml
@@ -0,0 +1,371 @@
+
+
+
+
+
+
+
+ Mark read
+ True
+ ir.actions.server
+
+ code
+ self.message_check_and_set_read(cr, uid, context.get('active_ids'), context=context)
+
+
+ action_crm_meeting_read
+
+
+ action
+
+ crm.meeting
+ client_action_multi
+
+
+
+ Mark unread
+ True
+ ir.actions.server
+
+ code
+ self.message_check_and_set_unread(cr, uid, context.get('active_ids'), context=context)
+
+
+ action_crm_meeting_unread
+
+
+ action
+
+ crm.meeting
+ client_action_multi
+
+
+
+
+
+ Meeting Types Tree
+ crm.meeting.type
+ tree
+
+
+
+
+
+
+
+
+ Meeting Types
+ crm.meeting.type
+ form
+
+ Create different meeting categories to better organize and classify your meetings.
+
+
+
+
+
+
+
+ CRM - Meetings Form
+ crm.meeting
+ form
+
+
+
+
+
+
+
+
+ CRM - Meetings Tree
+ crm.meeting
+ tree
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CRM - Meetings Calendar
+ crm.meeting
+ calendar
+
+
+
+
+
+
+
+
+
+
+
+
+ CRM - Meetings Gantt
+ crm.meeting
+ gantt
+
+
+
+
+
+
+
+
+ CRM - Meetings Search
+ crm.meeting
+ search
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Meetings
+ crm.meeting
+ calendar,tree,form,gantt
+
+
+ {"calendar_default_user_id": uid}
+
+ The meeting calendar is shared between the sales teams and fully integrated with other applications
+ such as the employee holidays or the business opportunities.
+ You can also synchronize meetings with your mobile phone using the caldav interface.
+
+
+
+
+
+ calendar
+
+
+
+
+
+ tree
+
+
+
+
+
+ form
+
+
+
+
+
+ gantt
+
+
+
+
+
+
+
diff --git a/addons/crm/board_crm_view.xml b/addons/crm/board_crm_view.xml
index 1b8148fe43b..d73939c759e 100644
--- a/addons/crm/board_crm_view.xml
+++ b/addons/crm/board_crm_view.xml
@@ -69,10 +69,10 @@
Meetings
crm.meeting
calendar,tree,form,gantt
-
+
{"calendar_default_user_id":uid}
[('state','=','open'),('date','>',datetime.date.today().strftime("%Y-%m-%d %H:%M:%S"))]
-
+
diff --git a/addons/crm/crm_demo.xml b/addons/crm/crm_demo.xml
index e98b88e60fa..89da8d357f7 100644
--- a/addons/crm/crm_demo.xml
+++ b/addons/crm/crm_demo.xml
@@ -9,7 +9,7 @@
Meetings
ir.ui.menu
-
+
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index 015fa10c27f..adf15e93a89 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -764,43 +764,21 @@ class crm_lead(base_stage, osv.osv):
}
def action_makeMeeting(self, cr, uid, ids, context=None):
+ """ This opens Meeting's calendar view to schedule meeting on current Opportunity
+ @return : Dictionary value for created Meeting view
"""
- This opens Meeting's calendar view to schedule meeting on current Opportunity
- @return : Dictionary value for created Meeting view
- """
- if context is None:
- context = {}
- value = {}
- data_obj = self.pool.get('ir.model.data')
- for opp in self.browse(cr, uid, ids, context=context):
- # Get meeting views
- tree_view = data_obj.get_object_reference(cr, uid, 'crm', 'crm_case_tree_view_meet')
- form_view = data_obj.get_object_reference(cr, uid, 'crm', 'crm_case_form_view_meet')
- calander_view = data_obj.get_object_reference(cr, uid, 'crm', 'crm_case_calendar_view_meet')
- search_view = data_obj.get_object_reference(cr, uid, 'crm', 'view_crm_case_meetings_filter')
- context.update({
- 'default_opportunity_id': opp.id,
- 'default_partner_id': opp.partner_id and opp.partner_id.id or False,
- 'default_user_id': uid,
- 'default_section_id': opp.section_id and opp.section_id.id or False,
- 'default_email_from': opp.email_from,
- 'default_state': 'open',
- 'default_name': opp.name
- })
- value = {
- 'name': _('Meetings'),
- 'context': context,
- 'view_type': 'form',
- 'view_mode': 'calendar,form,tree',
- 'res_model': 'crm.meeting',
- 'view_id': False,
- 'views': [(calander_view and calander_view[1] or False, 'calendar'), (form_view and form_view[1] or False, 'form'), (tree_view and tree_view[1] or False, 'tree')],
- 'type': 'ir.actions.act_window',
- 'search_view_id': search_view and search_view[1] or False,
- 'nodestroy': True
- }
- return value
-
+ 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['context'] = {
+ 'default_opportunity_id': opportunity.id,
+ 'default_partner_id': opportunity.partner_id and opportunity.partner_id.id or False,
+ 'default_user_id': uid,
+ 'default_section_id': opportunity.section_id and opportunity.section_id.id or False,
+ 'default_email_from': opportunity.email_from,
+ 'default_state': 'open',
+ 'default_name': opportunity.name,
+ }
+ return res
def unlink(self, cr, uid, ids, context=None):
for lead in self.browse(cr, uid, ids, context):
diff --git a/addons/crm/crm_meeting_menu.xml b/addons/crm/crm_meeting_menu.xml
index 3da817e8611..aec88a5748e 100644
--- a/addons/crm/crm_meeting_menu.xml
+++ b/addons/crm/crm_meeting_menu.xml
@@ -1,102 +1,9 @@
-
-
-
-
- calendar
-
-
-
-
-
-
- tree
-
-
-
-
-
-
- form
-
-
-
-
-
-
- gantt
-
-
-
-
-
- Meetings
- crm.meeting
- calendar,tree,form,gantt
-
- {"calendar_default_user_id":uid}
-
- The meeting calendar is shared between the sales teams and fully integrated with other applications such as the employee holidays or the business opportunities. You can also synchronize meetings with your mobile phone using the caldav interface.
-
-
-
-
-
- calendar
-
-
-
-
-
-
- tree
-
-
-
-
-
-
- form
-
-
-
-
-
-
- gantt
-
-
-
-
-
-
-
-
- Meeting Invitations
- ir.actions.act_window
- calendar.attendee
- form
- tree,form
-
- [('ref','like','crm.meeting,')]
- {"search_default_toreview":1, "search_default_user_id":uid}
- With Meeting Invitations you can create and manage the meeting invitations sent/to be sent to your colleagues/partners. You can not only invite OpenERP users, but also external parties, such as a customer.
-
-
-
diff --git a/addons/crm/crm_meeting_shortcut_data.xml b/addons/crm/crm_meeting_shortcut_data.xml
index 0f75c9e91ab..45488da8a82 100644
--- a/addons/crm/crm_meeting_shortcut_data.xml
+++ b/addons/crm/crm_meeting_shortcut_data.xml
@@ -6,7 +6,7 @@
Meetings
ir.ui.menu
-
+
diff --git a/addons/crm/crm_meeting_view.xml b/addons/crm/crm_meeting_view.xml
index b76876b8bac..f7c2ada05f2 100644
--- a/addons/crm/crm_meeting_view.xml
+++ b/addons/crm/crm_meeting_view.xml
@@ -2,367 +2,48 @@
-
-
- Mark unread
- True
- ir.actions.server
-
- code
- self.message_check_and_set_unread(cr, uid, context.get('active_ids'), context=context)
-
-
- action_crm_meeting_unread
-
-
- action
-
- crm.meeting
- client_action_multi
-
-
-
- Mark read
- True
- ir.actions.server
-
- code
- self.message_check_and_set_read(cr, uid, context.get('active_ids'), context=context)
-
-
- action_crm_meeting_read
-
-
- action
-
- crm.meeting
- client_action_multi
-
-
-
-
-
- Meeting Types Tree
- crm.meeting.type
- tree
-
-
-
-
-
-
-
-
- Meeting Types
- crm.meeting.type
- form
-
- Create different meeting categories to better organize and classify your meetings.
-
-
-
-
-
+
CRM - Meetings Form
crm.meeting
form
+
-
-
-
-
-
-
-
- CRM - Meetings Tree
- crm.meeting
- tree
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
+
CRM - Meetings Calendar
crm.meeting
calendar
+
-
-
-
+
-
-
-
-
-
-
-
- CRM - Meetings Gantt
- crm.meeting
- gantt
-
-
-
-
-
-
-
-
-
- CRM - Meetings Search
- crm.meeting
- search
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
-
- calendar.attendee.form.inherit
- calendar.attendee
- form
-
-
-
-
-
+
+ calendar.attendee.form.inherit
+ calendar.attendee
+ form
+
+
+
+
-
-
+
+
diff --git a/addons/crm/crm_phonecall.py b/addons/crm/crm_phonecall.py
index 13991245eda..facd0baba8a 100644
--- a/addons/crm/crm_phonecall.py
+++ b/addons/crm/crm_phonecall.py
@@ -241,49 +241,20 @@ class crm_phonecall(base_state, osv.osv):
return opportunity_dict
def action_make_meeting(self, cr, uid, ids, context=None):
+ """ This opens Meeting's calendar view to schedule meeting on current Phonecall
+ @return : Dictionary value for created Meeting view
"""
- This opens Meeting's calendar view to schedule meeting on current Phonecall
- @return : Dictionary value for created Meeting view
- """
- value = {}
- for phonecall in self.browse(cr, uid, ids, context=context):
- data_obj = self.pool.get('ir.model.data')
-
- # Get meeting views
- result = data_obj._get_id(cr, uid, 'crm', 'view_crm_case_meetings_filter')
- res = data_obj.read(cr, uid, result, ['res_id'])
- id1 = data_obj._get_id(cr, uid, 'crm', 'crm_case_calendar_view_meet')
- id2 = data_obj._get_id(cr, uid, 'crm', 'crm_case_form_view_meet')
- id3 = data_obj._get_id(cr, uid, 'crm', 'crm_case_tree_view_meet')
- if id1:
- id1 = data_obj.browse(cr, uid, id1, context=context).res_id
- if id2:
- id2 = data_obj.browse(cr, uid, id2, context=context).res_id
- if id3:
- id3 = data_obj.browse(cr, uid, id3, context=context).res_id
-
- context = {
- 'default_phonecall_id': phonecall.id,
- 'default_partner_id': phonecall.partner_id and phonecall.partner_id.id or False,
- 'default_email': phonecall.email_from ,
- 'default_name': phonecall.name
- }
-
- value = {
- 'name': _('Meetings'),
- 'domain' : "[('user_id','=',%s)]" % (uid),
- 'context': context,
- 'view_type': 'form',
- 'view_mode': 'calendar,form,tree',
- 'res_model': 'crm.meeting',
- 'view_id': False,
- 'views': [(id1, 'calendar'), (id2, 'form'), (id3, 'tree')],
- 'type': 'ir.actions.act_window',
- 'search_view_id': res['res_id'],
- 'nodestroy': True
- }
-
- return value
+ 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['context'] = {
+ 'default_phonecall_id': phonecall.id,
+ 'default_partner_id': phonecall.partner_id and phonecall.partner_id.id or False,
+ 'default_user_id': uid,
+ 'default_email_from': phonecall.email_from,
+ 'default_state': 'open',
+ 'default_name': phonecall.name,
+ }
+ return res
# ----------------------------------------
# OpenChatter
diff --git a/addons/crm/res_partner_view.xml b/addons/crm/res_partner_view.xml
index 69f71c95405..49361097308 100644
--- a/addons/crm/res_partner_view.xml
+++ b/addons/crm/res_partner_view.xml
@@ -127,7 +127,7 @@
-
+
CRM - Meetings Form
crm.meeting
form
-
+
-
- {'invisible': [('categ_id','=',%(hr_recruitment.categ_meet_interview)d)]}
-
-
- {'invisible': [('categ_id','=',%(hr_recruitment.categ_meet_interview)d)]}
-
diff --git a/addons/import_google/sync_google_calendar_view.xml b/addons/import_google/sync_google_calendar_view.xml
index 84f0176c5ec..bbcf297068e 100644
--- a/addons/import_google/sync_google_calendar_view.xml
+++ b/addons/import_google/sync_google_calendar_view.xml
@@ -5,7 +5,7 @@
CRM - Meetings Form (Inherited)
crm.meeting
form
-
+
CRM - Meetings Tree (Inherited)
crm.meeting
tree
-
+