diff --git a/addons/crm/security/ir.model.access.csv b/addons/crm/security/ir.model.access.csv
index 7707118324f..7fcf0679eea 100644
--- a/addons/crm/security/ir.model.access.csv
+++ b/addons/crm/security/ir.model.access.csv
@@ -1,43 +1,43 @@
-id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_crm_segmentation_user,crm.segmentation user,model_crm_segmentation,base.group_sale_salesman,1,0,0,0
-access_crm_segmentation_line_user,crm.segmentation.line user,model_crm_segmentation_line,base.group_sale_salesman,1,0,0,0
-access_crm_segmentation,crm.segmentation,model_crm_segmentation,base.group_sale_manager,1,1,1,1
-access_crm_segmentation_line,crm.segmentation.line,model_crm_segmentation_line,base.group_sale_manager,1,1,1,1
-access_crm_case_channel_user,crm.case.channel user,model_crm_case_channel,base.group_sale_salesman,1,0,0,0
-access_crm_case_channel_manager,crm.case.channel manager,model_crm_case_channel,base.group_sale_manager,1,1,1,1
-access_crm_case_section,crm.case.section,model_crm_case_section,base.group_user,1,0,0,0
-access_crm_case_categ,crm.case.categ,model_crm_case_categ,base.group_sale_salesman,1,1,1,0
-access_crm_meeting_manager,crm.meeting.manager,model_crm_meeting,base.group_sale_manager,1,1,1,1
-access_crm_lead_manager,crm.lead.manager,model_crm_lead,base.group_sale_manager,1,1,1,1
-access_crm_phonecall_manager,crm.phonecall.manager,model_crm_phonecall,base.group_sale_manager,1,1,1,1
-access_crm_case_categ,crm.case.categ,model_crm_case_categ,base.group_user,1,0,0,0
-access_crm_meeting,crm.meeting,model_crm_meeting,base.group_sale_salesman,1,1,1,0
-access_crm_meeting_all,crm.meeting_allll,model_crm_meeting,base.group_user,1,0,0,0
-access_crm_lead,crm.lead,model_crm_lead,base.group_sale_salesman,1,1,1,0
-access_crm_lead_all,crm.lead.all,model_crm_lead,base.group_user,1,0,0,0
-access_crm_phonecall,crm.phonecall,model_crm_phonecall,base.group_sale_salesman,1,1,1,0
-access_crm_phonecall_all,crm.phonecall.all,model_crm_phonecall,base.group_user,1,0,0,0
-access_crm_case_section_user,crm.case.section.user,model_crm_case_section,base.group_sale_salesman,1,1,1,0
-access_crm_case_section_manager,crm.case.section.manager,model_crm_case_section,base.group_sale_manager,1,1,1,1
-access_crm_case_stage,crm.case.stage,model_crm_case_stage,base.group_user,1,0,0,0
-access_crm_case_stage_manager,crm.case.stage,model_crm_case_stage,base.group_sale_manager,1,1,1,1
-access_crm_case_resource_type_user,crm_case_resource_type user,model_crm_case_resource_type,base.group_sale_salesman,1,1,1,0
-access_crm_case_resource_type_manager,crm_case_resource_type manager,model_crm_case_resource_type,base.group_sale_manager,1,1,1,1
-access_crm_phonecall_report_user,crm.phonecall.report.user,model_crm_phonecall_report,base.group_sale_salesman,1,0,0,0
-access_crm_phonecall_report_manager,crm.phonecall.report,model_crm_phonecall_report,base.group_sale_manager,1,1,1,1
-access_res_partner_manager,res.partner.crm.manager,base.model_res_partner,base.group_sale_manager,1,0,0,0
-access_res_partner_category_manager,res.partner.category.crm.manager,base.model_res_partner_category,base.group_sale_manager,1,0,0,0
-mail_mail_message_manager,mail.message.manager,mail.model_mail_message,base.group_sale_manager,1,0,0,0
-access_calendar_attendee_crm_user,calendar.attendee.crm.user,model_calendar_attendee,base.group_sale_salesman,1,1,1,0
-access_calendar_attendee_crm_manager,calendar.attendee.crm.manager,model_calendar_attendee,base.group_sale_manager,1,1,1,1
-access_res_partner,res.partner.crm.user,base.model_res_partner,base.group_sale_salesman,1,1,1,0
-access_res_partner_category,res.partner.category.crm.user,base.model_res_partner_category,base.group_sale_salesman,1,1,1,0
-mail_mailgate_thread,mail.thread,mail.model_mail_thread,base.group_sale_salesman,1,1,1,1
-mail_gateway_mail_message_user,mail.message.user,mail.model_mail_message,base.group_sale_salesman,1,1,1,1
-access_crm_case_categ_manager,crm.case.categ manager,model_crm_case_categ,base.group_sale_manager,1,1,1,1
-access_base_action_rule_manager,base.action.rule manager,model_base_action_rule,base.group_sale_manager,1,1,1,1
-access_crm_lead_report_user,crm.lead.report user,model_crm_lead_report,base.group_sale_salesman,1,1,1,1
-access_res_partner_bank_type_crm_user,res.partner.bank.type.crm.user,base.model_res_partner_bank_type,base.group_sale_salesman,1,0,0,0
-access_crm_lead_partner_manager,crm.lead.partner.manager,model_crm_lead,base.group_partner_manager,1,0,0,0
-access_crm_phonecall_partner_manager,crm.phonecall.partner.manager,model_crm_phonecall,base.group_partner_manager,1,1,1,1
-access_crm_meeting_partner_manager,crm.meeting.partner.manager,model_crm_meeting,base.group_partner_manager,1,1,1,1
+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
+"access_crm_segmentation_user","crm.segmentation user","model_crm_segmentation","base.group_sale_salesman",1,0,0,0
+"access_crm_segmentation_line_user","crm.segmentation.line user","model_crm_segmentation_line","base.group_sale_salesman",1,0,0,0
+"access_crm_segmentation","crm.segmentation","model_crm_segmentation","base.group_sale_manager",1,1,1,1
+"access_crm_segmentation_line","crm.segmentation.line","model_crm_segmentation_line","base.group_sale_manager",1,1,1,1
+"access_crm_case_channel_user","crm.case.channel user","model_crm_case_channel","base.group_sale_salesman",1,0,0,0
+"access_crm_case_channel_manager","crm.case.channel manager","model_crm_case_channel","base.group_sale_manager",1,1,1,1
+"access_crm_case_section","crm.case.section","model_crm_case_section","base.group_user",1,0,0,0
+"access_crm_case_categ","crm.case.categ","model_crm_case_categ","base.group_sale_salesman",1,1,1,0
+"access_crm_meeting_manager","crm.meeting.manager","model_crm_meeting","base.group_sale_manager",1,1,1,1
+"access_crm_lead_manager","crm.lead.manager","model_crm_lead","base.group_sale_manager",1,1,1,1
+"access_crm_phonecall_manager","crm.phonecall.manager","model_crm_phonecall","base.group_sale_manager",1,1,1,1
+"access_crm_case_categ","crm.case.categ","model_crm_case_categ","base.group_user",1,0,0,0
+"access_crm_meeting","crm.meeting","model_crm_meeting","base.group_sale_salesman",1,1,1,0
+"access_crm_meeting_all","crm.meeting_allll","model_crm_meeting","base.group_user",1,0,0,0
+"access_crm_lead","crm.lead","model_crm_lead","base.group_sale_salesman",1,1,1,0
+"access_crm_lead_all","crm.lead.all","model_crm_lead","base.group_user",1,0,0,0
+"access_crm_phonecall","crm.phonecall","model_crm_phonecall","base.group_sale_salesman",1,1,1,0
+"access_crm_phonecall_all","crm.phonecall.all","model_crm_phonecall","base.group_user",1,0,0,0
+"access_crm_case_section_user","crm.case.section.user","model_crm_case_section","base.group_sale_salesman",1,1,1,0
+"access_crm_case_section_manager","crm.case.section.manager","model_crm_case_section","base.group_sale_manager",1,1,1,1
+"access_crm_case_stage","crm.case.stage","model_crm_case_stage","base.group_user",1,0,0,0
+"access_crm_case_stage_manager","crm.case.stage","model_crm_case_stage","base.group_sale_manager",1,1,1,1
+"access_crm_case_resource_type_user","crm_case_resource_type user","model_crm_case_resource_type","base.group_sale_salesman",1,1,1,0
+"access_crm_case_resource_type_manager","crm_case_resource_type manager","model_crm_case_resource_type","base.group_sale_manager",1,1,1,1
+"access_crm_phonecall_report_user","crm.phonecall.report.user","model_crm_phonecall_report","base.group_sale_salesman",1,0,0,0
+"access_crm_phonecall_report_manager","crm.phonecall.report","model_crm_phonecall_report","base.group_sale_manager",1,1,1,1
+"access_res_partner_manager","res.partner.crm.manager","base.model_res_partner","base.group_sale_manager",1,0,0,0
+"access_res_partner_category_manager","res.partner.category.crm.manager","base.model_res_partner_category","base.group_sale_manager",1,0,0,0
+"mail_mail_message_manager","mail.message.manager","mail.model_mail_message","base.group_sale_manager",1,0,0,0
+"access_calendar_attendee_crm_user","calendar.attendee.crm.user","model_calendar_attendee","base.group_sale_salesman",1,1,1,0
+"access_calendar_attendee_crm_manager","calendar.attendee.crm.manager","model_calendar_attendee","base.group_sale_manager",1,1,1,1
+"access_res_partner","res.partner.crm.user","base.model_res_partner","base.group_sale_salesman",1,1,1,0
+"access_res_partner_category","res.partner.category.crm.user","base.model_res_partner_category","base.group_sale_salesman",1,1,1,0
+"mail_mailgate_thread","mail.thread","mail.model_mail_thread","base.group_sale_salesman",1,1,1,1
+"mail_gateway_mail_message_user","mail.message.user","mail.model_mail_message","base.group_sale_salesman",1,1,1,1
+"access_crm_case_categ_manager","crm.case.categ manager","model_crm_case_categ","base.group_sale_manager",1,1,1,1
+"access_base_action_rule_manager","base.action.rule manager","model_base_action_rule","base.group_sale_manager",1,1,1,1
+"access_crm_lead_report_user","crm.lead.report user","model_crm_lead_report","base.group_sale_salesman",1,1,1,1
+"access_res_partner_bank_type_crm_user","res.partner.bank.type.crm.user","base.model_res_partner_bank_type","base.group_sale_salesman",1,0,0,0
+"access_crm_lead_partner_manager","crm.lead.partner.manager","model_crm_lead","base.group_partner_manager",1,0,0,0
+"access_crm_phonecall_partner_manager","crm.phonecall.partner.manager","model_crm_phonecall","base.group_partner_manager",1,1,1,1
+"access_crm_meeting_partner_manager","crm.meeting.partner.manager","model_crm_meeting","base.group_partner_manager",1,1,1,1
diff --git a/addons/project/security/project_security.xml b/addons/project/security/project_security.xml
index 829ec6c6971..db44489111d 100644
--- a/addons/project/security/project_security.xml
+++ b/addons/project/security/project_security.xml
@@ -69,5 +69,20 @@
[(1,'=',1)]
+
+
+ Project According to User
+
+
+ ['|',('user_id','=',False),('user_id','=',user.id)]
+
+
+
+ Project Managers all projects
+
+ [(1,'=',1)]
+
+
+
diff --git a/addons/survey/wizard/survey_answer.py b/addons/survey/wizard/survey_answer.py
index b4d8b23f331..78638dd0589 100644
--- a/addons/survey/wizard/survey_answer.py
+++ b/addons/survey/wizard/survey_answer.py
@@ -147,8 +147,8 @@ class survey_question_wiz(osv.osv_memory):
if flag:
pag_rec = page_obj.browse(cr, uid, p_id, context=context)
xml_form = etree.Element('form', {'string': tools.ustr(pag_rec.title)})
- xml_header = etree.SubElement(xml_form, 'header', {'col': '6', 'colspan': '4'})
- xml_header_group = etree.SubElement(xml_header, 'group', {'col': '6', 'colspan': '4'})
+ xml_header = etree.SubElement(xml_form, 'header', {'col': '5', 'colspan': '4'})
+ xml_header_group = etree.SubElement(xml_header, 'group', {'col': '6', 'colspan': '6'})
xml_group = etree.SubElement(xml_form, 'group', {'col': '8', 'colspan': '4'})
############# PAGE HEADER : START ###################
@@ -158,23 +158,23 @@ class survey_question_wiz(osv.osv_memory):
# etree.SubElement(xml_group, 'label', {'string': tools.ustr(tools.ustr(pag_rec.note)), 'align':"0.0"})
etree.SubElement(xml_header_group, 'label', {'string': tools.ustr(pag_rec.title) ,'colspan': '2' })
- etree.SubElement(xml_header_group, 'button', {'icon': "gtk-cancel", 'special': "cancel",'string':"Cancel"})
+ etree.SubElement(xml_header_group, 'label', {'string': tools.ustr(page_number+ 1) + "/" + tools.ustr(total_pages), 'class':"oe_right"})
+ etree.SubElement(xml_header_group, 'button', {'icon': "gtk-cancel", 'special': "cancel",'string':"Cancel", 'class':"oe_right"})
if pre_button:
- etree.SubElement(xml_header_group, 'button', {'colspan':"1",'icon':"gtk-go-back",'name':"action_previous",'string':"Previous",'type':"object"})
+ etree.SubElement(xml_header_group, 'button', {'colspan':"1",'icon':"gtk-go-back",'name':"action_previous",'string':"Previous",'type':"object", 'class':"oe_right"})
but_string = "Next"
if int(page_number) + 1 == total_pages:
but_string = "Done"
if context.has_key('active') and context.get('active',False) and int(page_number) + 1 == total_pages and context.has_key('response_id') and context.has_key('response_no') and context.get('response_no',0) + 1 == len(context.get('response_id',0)):
- etree.SubElement(xml_header_group, 'button', {'icon': "gtk-go-forward", 'special' : 'cancel','string': tools.ustr("Done") ,'context' : tools.ustr(context)})
+ etree.SubElement(xml_header_group, 'button', {'icon': "gtk-go-forward", 'special' : 'cancel','string': tools.ustr("Done") ,'context' : tools.ustr(context), 'class':"oe_right"})
elif context.has_key('active') and context.get('active', False) and int(page_number) + 1 == total_pages and context.has_key('response_id'):
- etree.SubElement(xml_header_group, 'button', {'icon': "gtk-go-forward", 'name':"action_forward_next",'string': tools.ustr("Next Answer") ,'type':"object",'context' : tools.ustr(context)})
+ etree.SubElement(xml_header_group, 'button', {'icon': "gtk-go-forward", 'name':"action_forward_next",'string': tools.ustr("Next Answer") ,'type':"object",'context' : tools.ustr(context), 'class':"oe_right"})
elif context.has_key('active') and context.get('active',False) and int(page_number) + 1 == total_pages:
- etree.SubElement(xml_header_group, 'button', {'icon': "gtk-go-forward", 'special': "cancel", 'string' : 'Done', 'context' : tools.ustr(context)})
+ etree.SubElement(xml_header_group, 'button', {'icon': "gtk-go-forward", 'special': "cancel", 'string' : 'Done', 'context' : tools.ustr(context), 'class':"oe_right"})
else:
- etree.SubElement(xml_header_group, 'button', {'icon': "gtk-go-forward", 'name':"action_next",'string': tools.ustr(but_string) ,'type':"object",'context' : tools.ustr(context)})
- etree.SubElement(xml_header_group, 'label', {'string': tools.ustr(page_number+ 1) + "/" + tools.ustr(total_pages), 'class':"oe_right"})
-
+ etree.SubElement(xml_header_group, 'button', {'icon': "gtk-go-forward", 'name':"action_next",'string': tools.ustr(but_string) ,'type':"object",'context' : tools.ustr(context), 'class':"oe_right"})
+
############# PAGE HEADER : END ###################
if context.has_key('active') and context.get('active',False) and context.has_key('edit'):
@@ -445,7 +445,7 @@ class survey_question_wiz(osv.osv_memory):
def create_report(self, cr, uid, res_ids, report_name=False, file_name=False, context=None):
"""
- If any user give answer of survey then last create report of this answer and if 'Email Notification on Answer' set True in survey then send mail on responsible person of this survey and attach survey answer report in pdf format.
+ If any user give answer of survey then last create report of this answer and if 'E-mail Notification on Answer' set True in survey then send mail on responsible person of this survey and attach survey answer report in pdf format.
"""
if not report_name or not res_ids:
return (False, Exception('Report name and Resources ids are required !!!'))