From 4fa00c927d551e11e64faba47e9910e4f418bc3d Mon Sep 17 00:00:00 2001 From: "jiil.hyoun" Date: Mon, 24 Dec 2012 16:13:16 +0900 Subject: [PATCH] [Title] aware multi build job for is_user_accessable method [Type] Bugfix [Module] Toolchain / [Priority] Major [Jira#] [Redmine#] [Problem] [Cause] [Solution] [TestCase] Change-Id: Id25ecb9eae0f9374b9411181e7a6e49fdc8db335 --- src/build_server/JobManager.rb | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/build_server/JobManager.rb b/src/build_server/JobManager.rb index e74b2a9..283a4cc 100644 --- a/src/build_server/JobManager.rb +++ b/src/build_server/JobManager.rb @@ -109,14 +109,23 @@ class JobManager end def is_user_accessable(job,user_id) - result = nil - @server.get_db_connection() do |db| - result = db.select_one "SELECT user_groups.group_id FROM user_groups,group_project_accesses + if job.type == "MULTIBUILD" then + job.get_sub_jobs().each do |subjob| + if is_user_accessable(subjob,user_id) then + return true + end + end + else + result = nil + @server.get_db_connection() do |db| + result = db.select_one "SELECT user_groups.group_id FROM user_groups,group_project_accesses WHERE user_groups.group_id = group_project_accesses.group_id and group_project_accesses.project_id = #{job.get_project.get_project_id} and user_groups.user_id = #{user_id}" + end + return (not result.nil?) end - return (not result.nil?) + return false end def create_new_register_job( file_path, dist_name ) -- 2.34.1