]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6406 add activation severity facet on the rules page
authorStas Vilchik <vilchiks@gmail.com>
Fri, 17 Apr 2015 09:04:57 +0000 (11:04 +0200)
committerStas Vilchik <vilchiks@gmail.com>
Fri, 17 Apr 2015 09:32:47 +0000 (11:32 +0200)
server/sonar-web/src/main/js/coding-rules/facets/active-severity-facet.js
server/sonar-web/src/main/js/coding-rules/models/state.js
server/sonar-web/src/test/js/coding-rules-page-active-severity-facet.js
server/sonar-web/src/test/json/coding-rules-page-active-severity-facet/facet.json [new file with mode: 0644]

index da3938ed12b47a41cc08a184df4fb77e26bc66f4..fbec233e5f1a005c23227a717b4b266fe025991d 100644 (file)
@@ -32,8 +32,9 @@ define([
 
     onQueryChange: function () {
       var query = this.options.app.state.get('query'),
-          isProfileSelected = query.qprofile != null;
-      if (!isProfileSelected) {
+          isProfileSelected = query.qprofile != null,
+          isActiveShown = '' + query.activation === 'true';
+      if (!isProfileSelected || !isActiveShown) {
         this.forbid();
       }
     },
@@ -53,23 +54,11 @@ define([
       this.$el.prop('title', null);
     },
 
-    getValues: function () {
-      return this.severities.map(function (s) {
-        return { val: s };
-      });
-    },
-
     sortValues: function (values) {
       var order = this.severities;
       return _.sortBy(values, function (v) {
         return order.indexOf(v.val);
       });
-    },
-
-    serializeData: function () {
-      return _.extend(BaseFacet.prototype.serializeData.apply(this, arguments), {
-        values: this.sortValues(this.getValues())
-      });
     }
   });
 
index 97720d9d5def6033c8fb351e7c7f096d8ef97d3b..8c25312a2f17299de32f2b938ca3d6a4e33b2e20 100644 (file)
@@ -29,7 +29,8 @@ define([
       facets: ['languages', 'tags'],
       allFacets: ['q', 'rule_key', 'languages', 'tags', 'repositories', 'debt_characteristics', 'severities',
                   'statuses', 'available_since', 'is_template', 'qprofile', 'inheritance', 'active_severities'],
-      facetsFromServer: ['languages', 'repositories', 'tags', 'severities', 'statuses', 'debt_characteristics'],
+      facetsFromServer: ['languages', 'repositories', 'tags', 'severities', 'statuses', 'debt_characteristics',
+                         'active_severities'],
       transform: {
         'has_debt_characteristic': 'debt_characteristics'
       }
index ab4eef067b0161dce5abbcc172cbadd2232cb9e8..9651b9da30a43f2a49bb5cc5b7c5b0c142987195 100644 (file)
@@ -34,6 +34,7 @@ casper.test.begin('coding-rules-page-active-severity-facet', 7, function (test)
 
         lib.mockRequestFromFile('/api/rules/app', 'app.json');
         lib.mockRequestFromFile('/api/rules/search', 'search-BLOCKER.json', { data: { active_severities: 'BLOCKER' } });
+        lib.mockRequestFromFile('/api/rules/search', 'facet.json', { data: { facets: 'active_severities', ps: '1' } });
         lib.mockRequestFromFile('/api/rules/search', 'search-qprofile.json',
             { data: { qprofile: 'java-default-with-mojo-conventions-49307' } });
         lib.mockRequestFromFile('/api/rules/search', 'search.json');
diff --git a/server/sonar-web/src/test/json/coding-rules-page-active-severity-facet/facet.json b/server/sonar-web/src/test/json/coding-rules-page-active-severity-facet/facet.json
new file mode 100644 (file)
index 0000000..faa4ae6
--- /dev/null
@@ -0,0 +1,33 @@
+{
+  "total": 192,
+  "p": 1,
+  "ps": 1,
+  "rules": [],
+  "facets": [
+    {
+      "property": "active_severities",
+      "values": [
+        {
+          "val": "MAJOR",
+          "count": 105
+        },
+        {
+          "val": "CRITICAL",
+          "count": 51
+        },
+        {
+          "val": "MINOR",
+          "count": 20
+        },
+        {
+          "val": "BLOCKER",
+          "count": 13
+        },
+        {
+          "val": "INFO",
+          "count": 3
+        }
+      ]
+    }
+  ]
+}