From b9beb3076e7d838960abf20dcf904586a533e6c5 Mon Sep 17 00:00:00 2001 From: "RGA (OpenERP)" Date: Mon, 20 Sep 2010 14:40:37 +0530 Subject: [PATCH 1/5] [IMP]when create new filter it should be modified if same name filter already exist otherwise create new one bzr revid: rga@tinyerp.com-20100920091037-tyheqqfx72b3cbm2 --- bin/addons/base/ir/ir_filters.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/bin/addons/base/ir/ir_filters.py b/bin/addons/base/ir/ir_filters.py index 2821d0c94b7..272d1c718c1 100644 --- a/bin/addons/base/ir/ir_filters.py +++ b/bin/addons/base/ir/ir_filters.py @@ -36,6 +36,20 @@ class ir_filters(osv.osv): act_ids = self.search(cr,uid,[('model_id','=',model),('user_id','=',uid)]) my_acts = self.read(cr, uid, act_ids, ['name', 'domain','context']) return my_acts + + def create_or_replace(self, cr, uid, vals, context=None): + if context is None: + context = {} + is_filter_exist = False + for filter in self.get_filters(cr, uid, vals['model_id']): + if filter['name'].lower() == vals['name'].lower(): + is_filter_exist = filter['id'] + break + if is_filter_exist: + return super(ir_filters, self).write(cr, uid, is_filter_exist, vals, context) + else: + return super(ir_filters, self).create(cr, uid, vals, context) + _columns = { 'name': fields.char('Action Name', size=64, translate=True, required=True), From 9b0e0fa9d834c26fa93c97d92b727eae231a669b Mon Sep 17 00:00:00 2001 From: "RGA (OpenERP)" Date: Wed, 29 Sep 2010 13:07:41 +0530 Subject: [PATCH 2/5] Add UNIQUE constraint in ir.filters + refactor code bzr revid: rga@tinyerp.com-20100929073741-kpnvws23uvj3g00e --- bin/addons/base/ir/ir_filters.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/bin/addons/base/ir/ir_filters.py b/bin/addons/base/ir/ir_filters.py index 272d1c718c1..c9cdf16d31e 100644 --- a/bin/addons/base/ir/ir_filters.py +++ b/bin/addons/base/ir/ir_filters.py @@ -38,17 +38,14 @@ class ir_filters(osv.osv): return my_acts def create_or_replace(self, cr, uid, vals, context=None): - if context is None: - context = {} - is_filter_exist = False + filter_id = None for filter in self.get_filters(cr, uid, vals['model_id']): if filter['name'].lower() == vals['name'].lower(): - is_filter_exist = filter['id'] + filter_id = filter['id'] break - if is_filter_exist: - return super(ir_filters, self).write(cr, uid, is_filter_exist, vals, context) - else: - return super(ir_filters, self).create(cr, uid, vals, context) + if filter_id: + return self.write(cr, uid, filter_id, vals, context) + return self.create(cr, uid, vals, context) _columns = { @@ -58,6 +55,11 @@ class ir_filters(osv.osv): 'context': fields.text('Context Value', required=True), 'model_id': fields.selection(_list_all_models, 'Model', required=True), } + + _sql_constraints = [ + ('name_model_uid_uniq', 'UNIQUE(name, model_id, user_id)', 'Filter name must be unique!'), + ] + ir_filters() From 5afbd9c6635ef08ba44cb9130997ce4e5326444d Mon Sep 17 00:00:00 2001 From: "Vir (Open ERP)" Date: Wed, 6 Oct 2010 14:58:07 +0530 Subject: [PATCH 3/5] [MOD] Survey : Improvements in access rights bzr revid: vir@tinyerp.com-20101006092807-yctppi8ub7t8jx8s --- addons/survey/security/ir.model.access.csv | 28 +++++++++++++++++----- addons/survey/survey_view.xml | 15 ++++++------ 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/addons/survey/security/ir.model.access.csv b/addons/survey/security/ir.model.access.csv index 5d4501e36bd..b44d52c6c08 100644 --- a/addons/survey/security/ir.model.access.csv +++ b/addons/survey/security/ir.model.access.csv @@ -1,17 +1,33 @@ "id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" -"access_survey_type_user","survey.type user","model_survey_type","base.group_tool_user",1,1,1,1 -"access_survey_user","survey","model_survey","base.group_tool_user",1,1,1,1 +"access_survey_res_partner_manager","survey.res.partner.manager","base.model_res_partner","base.group_tool_manager",1,1,1,1 +"access_survey_type_manager","survey.type.manager","model_survey_type","base.group_tool_manager",1,1,1,1 +"access_survey_manager","survey.manager","model_survey","base.group_tool_manager",1,1,1,1 +"access_survey_page_manager","survey.page manager","model_survey_page","base.group_tool_manager",1,1,1,1 +"access_survey_question_manager","survey.question manager","model_survey_question","base.group_tool_manager",1,1,1,1 +"access_survey_answer_manager","survey.answer manager","model_survey_answer","base.group_tool_manager",1,1,1,1 +"access_survey_response_manager","survey.response manager","model_survey_response","base.group_tool_manager",1,1,1,1 +"access_survey_response_answer_manager","survey.response.answer manager","model_survey_response_answer","base.group_tool_manager",1,1,1,1 +"access_survey_history_manager","survey.history.manager","model_survey_history","base.group_tool_manager",1,1,1,1 +"access_survey_question_column_heading_manager","survey.question.column.heading manager","model_survey_question_column_heading","base.group_tool_manager",1,1,1,1 +"access_survey_request_manager","survey.request manager","model_survey_request","base.group_tool_manager",1,1,1,1 +"access_survey_tbl_column_heading_manager","survey.tbl.column.heading manager","model_survey_tbl_column_heading","base.group_tool_manager",1,1,1,1 +"access_survey_response_line_manager","survey.response.line manager","model_survey_response_line","base.group_tool_manager",1,1,1,1 +"access_survey_res_partner_address_manager","survey.res.partner.address.manager","base.model_res_partner_address","base.group_tool_manager",1,1,1,0 +"access_survey_res_partner_manager","survey.res.partner.manager","base.model_res_partner","base.group_tool_manager",1,1,1,1 +"access_survey_res_partner_user","survey.res.partner.user","base.model_res_partner","base.group_tool_user",1,1,1,1 +"access_survey_type_user","survey.type.user","model_survey_type","base.group_tool_user",1,1,1,1 +"access_survey_user","survey.user","model_survey","base.group_tool_user",1,1,1,1 "access_survey_page_user","survey.page user","model_survey_page","base.group_tool_user",1,1,1,1 "access_survey_question_user","survey.question user","model_survey_question","base.group_tool_user",1,1,1,1 "access_survey_answer_user","survey.answer user","model_survey_answer","base.group_tool_user",1,1,1,1 "access_survey_response_user","survey.response user","model_survey_response","base.group_tool_user",1,1,1,1 "access_survey_response_answer_user","survey.response.answer user","model_survey_response_answer","base.group_tool_user",1,1,1,1 "access_survey_history_user","survey.history.user","model_survey_history","base.group_tool_user",1,1,1,1 -"access_survey_question_column_heading_user","survey.question.column.heading user","model_survey_question_column_heading","base.group_tool_user",1,0,0,0 -"access_survey_request_user","survey.request user","model_survey_request","base.group_tool_user",1,1,1,1 +"access_survey_question_column_heading_user","survey.question.column.heading user","model_survey_question_column_heading","base.group_tool_user",1,1,1,1 "access_survey_tbl_column_heading_user","survey.tbl.column.heading user","model_survey_tbl_column_heading","base.group_tool_user",1,1,1,1 "access_survey_response_line_user","survey.response.line user","model_survey_response_line","base.group_tool_user",1,1,1,1 "access_survey_res_partner_address_user","survey.res.partner.address.user","base.model_res_partner_address","base.group_tool_user",1,1,1,0 +"access_survey_res_partner_user","survey.res.partner.user","base.model_res_partner","base.group_tool_user",1,1,1,1 "access_survey_survey_user","survey.survey.user","model_survey","group_survey_user",1,1,1,1 "access_survey_type_survey_user","survey.type.survey.user","model_survey_type","group_survey_user",1,1,1,1 "access_survey_page_survey_user","survey.page.survey.user","model_survey_page","group_survey_user",1,1,1,1 @@ -24,5 +40,5 @@ "access_survey_question_column_heading_survey_user","survey.question.column.heading.survey.user","model_survey_question_column_heading","group_survey_user",1,0,0,0 "access_survey_tbl_column_heading_survey_user","survey.tbl.column.heading.survey.user","model_survey_tbl_column_heading","group_survey_user",1,1,1,1 "access_survey_response_line_survey_user","survey.response.line.survey.user","model_survey_response_line","group_survey_user",1,1,1,1 -"access_survey_res_partner_user","survey.res.partner.user","base.model_res_partner","base.group_tool_manager",1,1,1,1 - +"access_survey_res_partner_user","survey.res.partner.user","base.model_res_partner","base.group_tool_user",1,1,1,0 +"access_survey_res_partner_address_user","survey.res.partner.address.user","base.model_res_partner_address","base.group_tool_user",1,1,1,0 diff --git a/addons/survey/survey_view.xml b/addons/survey/survey_view.xml index b6cc394ad8a..576ef37885e 100644 --- a/addons/survey/survey_view.xml +++ b/addons/survey/survey_view.xml @@ -3,12 +3,11 @@ - + - + @@ -292,7 +291,7 @@ + groups="base.group_tool_manager"/>