Fixed bug about query job in distribution.
authorSungmin Kim <dev.sungmin.kim@samsung.com>
Tue, 4 Feb 2014 11:04:54 +0000 (20:04 +0900)
committerSungmin Kim <dev.sungmin.kim@samsung.com>
Tue, 4 Feb 2014 11:04:54 +0000 (20:04 +0900)
Signed-off-by: Sungmin Kim <dev.sungmin.kim@samsung.com>
Change-Id: Id953a9f1d57098dfd395eaca0ec92f356a21fe50

dibs-web/app/controllers/jobs_controller.rb
dibs-web/public/javascripts/jobs.js

index 01ec9f3dff3efb0457cd8e1c57f8017a46c2d80c..2f915b399b3ba230aa93edd8c25531023c1a20ab 100644 (file)
@@ -323,6 +323,8 @@ class JobsController < ApplicationController
        def listQueryProject(doc, query_type, distribution, status, last_id, project)
                if(distribution == "ALL")
                        distribution = "%"
+        else
+                       distribution = distribution + "%"
                end
 
                if(status == "ALL")
@@ -370,6 +372,7 @@ class JobsController < ApplicationController
                                                          WHERE #{condition}
                                                                AND jobs.status IN (#{status})
                                                                AND projects.name like '#{project}'
+                                                               AND distributions.name like '#{distribution}'
                                                          ORDER BY jobs.id DESC
                                                          LIMIT #{QUERY_CNT}")
 
index cb7260d497c652350ad074201b57c7529f89125c..4841358fd400a82d694727d375ea72c2ad6a4a71 100644 (file)
@@ -26,9 +26,9 @@ Contributors:
 - S-Core Co., Ltd
 */
 
-var suggestion_list = new Array();
+var suggestion_list = [];
 var update_ajax;
-var request_list = new Array();
+var request_list = [];
 var request_idx = 0;
 
 $(function() {
@@ -120,21 +120,21 @@ function jobsStatusSelected() {
 }
 
 function searchJobInput() {
-       var searchText = $("#jobs-search-input-text").val()
+       var searchText = $("#jobs-search-input-text").val();
        if(searchText.length > 0) {
                searchJob(searchText);
        }
 }
 
 function searchJobDate() {
-       var searchText = $("#jobs-search-date-value").val()
+       var searchText = $("#jobs-search-date-value").val();
        if(searchText.length > 0) {
                searchJob(searchText);
        }
 }
 
 function searchJob(searchText) {
-       var distribution = $("#jobs-distribution-select option:selected").val(); 
+       var distribution = $("#jobs-distribution-select option:selected").text(); 
        var selectedValue = $('#jobs-type-select').find("input[type='radio']:checked").val();
        switch(selectedValue) {
                case "ALL":
@@ -176,7 +176,7 @@ function selectJobId() {
 }
 
 function selectUser() {
-       var distribution = $("#jobs-distribution-select option:selected").val(); 
+       var distribution = $("#jobs-distribution-select option:selected").text(); 
        $("#jobs-search-date").hide();
        $("#jobs-search-input").show();
 
@@ -187,7 +187,7 @@ function selectUser() {
 }
 
 function selectGroup() {
-       var distribution = $("#jobs-distribution-select option:selected").val(); 
+       var distribution = $("#jobs-distribution-select option:selected").text(); 
        $("#jobs-search-date").hide();
        $("#jobs-search-input").show();
 
@@ -200,7 +200,7 @@ function selectGroup() {
 }
 
 function selectProject() {
-       var distribution = $("#jobs-distribution-select option:selected").val(); 
+       var distribution = $("#jobs-distribution-select option:selected").text(); 
        $("#jobs-search-date").hide();
        $("#jobs-search-input").show();
        clearJobList();
@@ -211,7 +211,7 @@ function selectProject() {
 }
 
 function selectDate() {
-       var distribution = $("#jobs-distribution-select option:selected").val(); 
+       var distribution = $("#jobs-distribution-select option:selected").text(); 
        var today = new Date();
        var yyyy = today.getFullYear();
        var mm = today.getMonth()+1; //January is 0!
@@ -283,7 +283,7 @@ function jobQueryDistribution() {
                                var id = $(this).find("Id").text();
                                var name = $(this).find("Name").text();
                
-                               $("#jobs-distribution-select").append("<option value=\'"+name+"\'>"+name+"</option>");
+                               $("#jobs-distribution-select").append("<option value=\'"+id+"\'>"+name+"</option>");
                        });
                
                        /* default distribution selection */
@@ -550,21 +550,32 @@ function jobSuggestListClick(suggestText) {
        $("#jobs-search-input-text").val(suggestText);
        $("#jobs-search-list").empty();
 
-       var startIndex = suggestText.search(/\[/);
-       var endIndex = suggestText.search('\]');
-
-       if(startIndex > 0 && endIndex >0) {
-               project = suggestText.substr(0, startIndex);
-               distribution = suggestText.substr(startIndex+1, endIndex-startIndex-1);
-               queryJobListProject(distribution, project);
-       }
-       else {
-               searchJob(suggestText);
-       }
+       var distribution = $("#jobs-distribution-select option:selected").text(); 
+    var project = "";
+    console.log(distribution);
+
+    if(distribution === "ALL") {
+           var startIndex = suggestText.search(/\[/);
+           var endIndex = suggestText.search('\]');
+
+           if(startIndex > 0 && endIndex >0) {
+               project = suggestText.substr(0, startIndex);
+               distribution = suggestText.substr(startIndex+1, endIndex-startIndex-1);
+               queryJobListProject(distribution, project);
+           }
+           else {
+               searchJob(suggestText);
+           }
+    }
+    else {
+           project = suggestText;
+           queryJobListProject(distribution, project);
+    }
 }
 
 function jobsQueryProjectsList() {
-       var distribution = $("#jobs-distribution-select option:selected").val(); 
+       var distribution = $("#jobs-distribution-select option:selected").text(); 
+       var distribution_id = $("#jobs-distribution-select option:selected").val(); 
        suggestion_list = [];
 
        if(distribution == "ALL") {
@@ -580,7 +591,7 @@ function jobsQueryProjectsList() {
                });
        }
        else {
-               queryProjectList(distribution, function(xml) {
+               queryProjectsInDistribution(distribution_id, function(xml) {
                        var idx = 0;
        
                        $(xml).find("Data").find("Project").each(function(){