From b74ed773f2801e6e6fcf70f373208da87bd1156a Mon Sep 17 00:00:00 2001 From: Vijaykumar Baladaniya Date: Mon, 25 Jun 2012 18:17:40 +0530 Subject: [PATCH 1/2] merged with latest bzr revid: vba@tinyerp.com-20120625124740-bj00i90a526kdsci --- addons/crm/security/ir.model.access.csv | 86 ++++++++++---------- addons/project/security/project_security.xml | 15 ++++ 2 files changed, 58 insertions(+), 43 deletions(-) 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 199d3c0c422..5998b861b0a 100644 --- a/addons/project/security/project_security.xml +++ b/addons/project/security/project_security.xml @@ -62,5 +62,20 @@ [(1,'=',1)] + + + Project According to User + + + ['|',('user_id','=',False),('user_id','=',user.id)] + + + + Project Managers all projects + + [(1,'=',1)] + + + From 4e6580c7af7dab5e80a35c65f588fb0a97671923 Mon Sep 17 00:00:00 2001 From: Vijaykumar Baladaniya Date: Mon, 2 Jul 2012 11:06:17 +0530 Subject: [PATCH 2/2] improve surveys layout bzr revid: vba@tinyerp.com-20120702053617-3l2dos561jof4p39 --- addons/survey/wizard/survey_answer.py | 70 +++++++++++++++------------ 1 file changed, 40 insertions(+), 30 deletions(-) diff --git a/addons/survey/wizard/survey_answer.py b/addons/survey/wizard/survey_answer.py index 8c7fabca427..78638dd0589 100644 --- a/addons/survey/wizard/survey_answer.py +++ b/addons/survey/wizard/survey_answer.py @@ -147,6 +147,45 @@ 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': '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 ################### + + #etree.SubElement(xml_group, 'field', {'name': 'progress_bar_' + tools.ustr(page_number) , 'widget':'progressbar'}) + #fields['progress_bar_' + tools.ustr(page_number)] = {'type':'float', 'string':"Progress", 'views':{}} + # 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, '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", '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), '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), '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), '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), 'class':"oe_right"}) + + ############# PAGE HEADER : END ################### + + if context.has_key('active') and context.get('active',False) and context.has_key('edit'): + etree.SubElement(xml_form, 'separator', {'string' : '','colspan': '4'}) + context.update({'page_id' : tools.ustr(p_id),'page_number' : sur_name_rec.page_no , 'transfer' : sur_name_read.transfer}) + xml_group3 = etree.SubElement(xml_form, 'group', {'col': '4', 'colspan': '4'}) + etree.SubElement(xml_group3, 'button', {'string' :'Add Page','icon': "gtk-new", 'type' :'object','name':"action_new_page", 'context' : tools.ustr(context)}) + etree.SubElement(xml_group3, 'button', {'string' :'Edit Page','icon': "gtk-edit", 'type' :'object','name':"action_edit_page", 'context' : tools.ustr(context)}) + etree.SubElement(xml_group3, 'button', {'string' :'Delete Page','icon': "gtk-delete", 'type' :'object','name':"action_delete_page", 'context' : tools.ustr(context)}) + etree.SubElement(xml_group3, 'button', {'string' :'Add Question','icon': "gtk-new", 'type' :'object','name':"action_new_question", 'context' : tools.ustr(context)}) + xml_group = etree.SubElement(xml_form, 'group', {'col': '1', 'colspan': '4'}) if context.has_key('response_id') and context.get('response_id', False) \ and int(context.get('response_id',0)[0]) > 0: @@ -353,36 +392,7 @@ class survey_question_wiz(osv.osv_memory): fields[tools.ustr(que.id) + "_other"] = {'type': 'text', 'string': '', 'views':{}} etree.SubElement(xml_form, 'separator', {'colspan': '4'}) - xml_group = etree.SubElement(xml_form, 'group', {'col': '6', 'colspan': '4'}) - etree.SubElement(xml_group, 'field', {'name': 'progress_bar_' + tools.ustr(page_number) , 'widget':'progressbar'}) - fields['progress_bar_' + tools.ustr(page_number)] = {'type':'float', 'string':"Progress", 'views':{}} - etree.SubElement(xml_group, 'label', {'string': tools.ustr(page_number+ 1) + "/" + tools.ustr(total_pages)}) - etree.SubElement(xml_group, 'button', {'icon': "gtk-cancel", 'special': "cancel",'string':"Cancel"}) - - if pre_button: - etree.SubElement(xml_group, 'button', {'colspan':"1",'icon':"gtk-go-back",'name':"action_previous",'string':"Previous",'type':"object"}) - 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_group, 'button', {'icon': "gtk-go-forward", 'special' : 'cancel','string': tools.ustr("Done") ,'context' : tools.ustr(context)}) - 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_group, 'button', {'icon': "gtk-go-forward", 'name':"action_forward_next",'string': tools.ustr("Next Answer") ,'type':"object",'context' : tools.ustr(context)}) - elif context.has_key('active') and context.get('active',False) and int(page_number) + 1 == total_pages: - etree.SubElement(xml_group, 'button', {'icon': "gtk-go-forward", 'special': "cancel", 'string' : 'Done', 'context' : tools.ustr(context)}) - else: - etree.SubElement(xml_group, 'button', {'icon': "gtk-go-forward", 'name':"action_next",'string': tools.ustr(but_string) ,'type':"object",'context' : tools.ustr(context)}) - - if context.has_key('active') and context.get('active',False) and context.has_key('edit'): - etree.SubElement(xml_form, 'separator', {'string' : '','colspan': '4'}) - context.update({'page_id' : tools.ustr(p_id),'page_number' : sur_name_rec.page_no , 'transfer' : sur_name_read.transfer}) - xml_group3 = etree.SubElement(xml_form, 'group', {'col': '4', 'colspan': '4'}) - etree.SubElement(xml_group3, 'button', {'string' :'Add Page','icon': "gtk-new", 'type' :'object','name':"action_new_page", 'context' : tools.ustr(context)}) - etree.SubElement(xml_group3, 'button', {'string' :'Edit Page','icon': "gtk-edit", 'type' :'object','name':"action_edit_page", 'context' : tools.ustr(context)}) - etree.SubElement(xml_group3, 'button', {'string' :'Delete Page','icon': "gtk-delete", 'type' :'object','name':"action_delete_page", 'context' : tools.ustr(context)}) - etree.SubElement(xml_group3, 'button', {'string' :'Add Question','icon': "gtk-new", 'type' :'object','name':"action_new_question", 'context' : tools.ustr(context)}) - + root = xml_form.getroottree() result['arch'] = etree.tostring(root) result['fields'] = fields