[Title] aware multi build job for is_user_accessable method
authorjiil.hyoun <jiil.hyoun@samsung.com>
Mon, 24 Dec 2012 07:13:16 +0000 (16:13 +0900)
committerjiil.hyoun <jiil.hyoun@samsung.com>
Mon, 24 Dec 2012 07:13:16 +0000 (16:13 +0900)
[Type] Bugfix
[Module] Toolchain /
[Priority] Major
[Jira#]
[Redmine#]
[Problem]
[Cause]
[Solution]
[TestCase]

Change-Id: Id25ecb9eae0f9374b9411181e7a6e49fdc8db335

src/build_server/JobManager.rb

index e74b2a9eb2aff21f545a658ce82cea00e2f7cafe..283a4cc8268c62820b945ed339bd1a322362ea8a 100644 (file)
@@ -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 )