Show More
@@ -5369,35 +5369,6 b' function kickstartAE() {' | |||
|
5369 | 5369 | ); |
|
5370 | 5370 | |
|
5371 | 5371 | |
|
5372 | $templateCache.put('templates/directives/rule_read_only.html', | |
|
5373 | "<div class=\"rule-read-only\">\n" + | |
|
5374 | "\n" + | |
|
5375 | " <span class=\"form-group\">\n" + | |
|
5376 | " {{rule_ctrlr.readOnlyPossibleFields[rule_ctrlr.rule.field]}}\n" + | |
|
5377 | " </span>\n" + | |
|
5378 | "\n" + | |
|
5379 | " <span ng-if=\"rule_ctrlr.rule.field != '__AND__' && rule_ctrlr.rule.field !='__OR__'\">\n" + | |
|
5380 | " is {{rule_ctrlr.ruleDefinitions.allOps[rule_ctrlr.rule.op]}} {{rule_ctrlr.rule.value}}\n" + | |
|
5381 | " </span>\n" + | |
|
5382 | "\n" + | |
|
5383 | " <span ng-if=\"rule_ctrlr.rule.field == '__AND__' || rule_ctrlr.rule.field =='__OR__'\">\n" + | |
|
5384 | " <p ng-if=\"parent\"><strong>Subrules</strong></p>\n" + | |
|
5385 | " <div ng-repeat=\"subrule in rule_ctrlr.rule.rules\" class=\"m-l-2\">\n" + | |
|
5386 | "\n" + | |
|
5387 | " <div class=\"panel panel-default\">\n" + | |
|
5388 | " <div class=\"panel-body form-inline\">\n" + | |
|
5389 | " <recursive>\n" + | |
|
5390 | " <rule-read-only rule=\"subrule\" rule-definitions=\"rule_ctrlr.ruleDefinitions\" parent-rule=\"null\" parent-obj=\"rule_ctrlr.parentObj\"></rule-read-only>\n" + | |
|
5391 | " </recursive>\n" + | |
|
5392 | " </div>\n" + | |
|
5393 | " </div>\n" + | |
|
5394 | " </div>\n" + | |
|
5395 | "\n" + | |
|
5396 | " </span>\n" + | |
|
5397 | "</div>\n" | |
|
5398 | ); | |
|
5399 | ||
|
5400 | ||
|
5401 | 5372 | $templateCache.put('templates/directives/rule.html', |
|
5402 | 5373 | "<div class=\"rule form-inline\">\n" + |
|
5403 | 5374 | "\n" + |
@@ -5447,6 +5418,35 b' function kickstartAE() {' | |||
|
5447 | 5418 | ); |
|
5448 | 5419 | |
|
5449 | 5420 | |
|
5421 | $templateCache.put('templates/directives/rule_read_only.html', | |
|
5422 | "<div class=\"rule-read-only\">\n" + | |
|
5423 | "\n" + | |
|
5424 | " <span class=\"form-group\">\n" + | |
|
5425 | " {{rule_ctrlr.readOnlyPossibleFields[rule_ctrlr.rule.field]}}\n" + | |
|
5426 | " </span>\n" + | |
|
5427 | "\n" + | |
|
5428 | " <span ng-if=\"rule_ctrlr.rule.field != '__AND__' && rule_ctrlr.rule.field !='__OR__'\">\n" + | |
|
5429 | " is {{rule_ctrlr.ruleDefinitions.allOps[rule_ctrlr.rule.op]}} {{rule_ctrlr.rule.value}}\n" + | |
|
5430 | " </span>\n" + | |
|
5431 | "\n" + | |
|
5432 | " <span ng-if=\"rule_ctrlr.rule.field == '__AND__' || rule_ctrlr.rule.field =='__OR__'\">\n" + | |
|
5433 | " <p ng-if=\"parent\"><strong>Subrules</strong></p>\n" + | |
|
5434 | " <div ng-repeat=\"subrule in rule_ctrlr.rule.rules\" class=\"m-l-2\">\n" + | |
|
5435 | "\n" + | |
|
5436 | " <div class=\"panel panel-default\">\n" + | |
|
5437 | " <div class=\"panel-body form-inline\">\n" + | |
|
5438 | " <recursive>\n" + | |
|
5439 | " <rule-read-only rule=\"subrule\" rule-definitions=\"rule_ctrlr.ruleDefinitions\" parent-rule=\"null\" parent-obj=\"rule_ctrlr.parentObj\"></rule-read-only>\n" + | |
|
5440 | " </recursive>\n" + | |
|
5441 | " </div>\n" + | |
|
5442 | " </div>\n" + | |
|
5443 | " </div>\n" + | |
|
5444 | "\n" + | |
|
5445 | " </span>\n" + | |
|
5446 | "</div>\n" | |
|
5447 | ); | |
|
5448 | ||
|
5449 | ||
|
5450 | 5450 | $templateCache.put('templates/directives/search_type_ahead.html', |
|
5451 | 5451 | "<a>\n" + |
|
5452 | 5452 | " <span class=\"tag\" ng-show=\"match.model.tag\">{{match.model.tag}}</span>\n" + |
@@ -5791,7 +5791,7 b' function kickstartAE() {' | |||
|
5791 | 5791 | ); |
|
5792 | 5792 | |
|
5793 | 5793 | |
|
5794 |
$templateCache.put('templates/reports/list |
|
|
5794 | $templateCache.put('templates/reports/list.html', | |
|
5795 | 5795 | "<ng-include src=\"'templates/loader.html'\" ng-if=\"reports_list.is_loading\"></ng-include>\n" + |
|
5796 | 5796 | "\n" + |
|
5797 | 5797 | "<div ng-if=\"reports_list.is_loading === false\">\n" + |
@@ -5806,11 +5806,9 b' function kickstartAE() {' | |||
|
5806 | 5806 | " </span>\n" + |
|
5807 | 5807 | " </p>\n" + |
|
5808 | 5808 | "\n" + |
|
5809 | " <p>\n" + | |
|
5810 | "\n" + | |
|
5811 | 5809 | " <form class=\"form\">\n" + |
|
5812 | 5810 | " <div class=\"typeahead-tags\">\n" + |
|
5813 |
" <input type=\"text\" id=\"typeAhead\" ng-model=\"reports_list.filterTypeAhead\" placeholder=\"Start typing to filter |
|
|
5811 | " <input type=\"text\" id=\"typeAhead\" ng-model=\"reports_list.filterTypeAhead\" placeholder=\"Start typing to filter reports - filter by tags, exception, priority or other properties.\"\n" + | |
|
5814 | 5812 | " ng-keydown=\"reports_list.typeAheadTag($event)\"\n" + |
|
5815 | 5813 | " uib-typeahead=\"tag as tag.text for tag in reports_list.filterTypeAheadOptions | filter:$viewValue:aheadFilter\"\n" + |
|
5816 | 5814 | " typeahead-min-length=\"1\" class=\"form-control\"\n" + |
@@ -5834,21 +5832,19 b' function kickstartAE() {' | |||
|
5834 | 5832 | " ng-show=\"!reports_list.is_loading\"></uib-pagination>\n" + |
|
5835 | 5833 | " </div>\n" + |
|
5836 | 5834 | "\n" + |
|
5837 | "\n" + | |
|
5838 | 5835 | " <div class=\"panel panel-default\">\n" + |
|
5839 | 5836 | " <!-- Default panel contents -->\n" + |
|
5840 | 5837 | "\n" + |
|
5841 | 5838 | " <table class=\"table table-striped report-list\" ng-show=\"!reports_list.is_loading\">\n" + |
|
5842 |
" <caption> |
|
|
5839 | " <caption>Reports</caption>\n" + | |
|
5843 | 5840 | " <thead>\n" + |
|
5844 | 5841 | " <tr>\n" + |
|
5845 |
" <t |
|
|
5846 |
" <t |
|
|
5847 | " <td class=\"c3 application\">Application</td>\n" + | |
|
5848 | " <td class=\"c5 when\">When <input type=\"checkbox\" ng-model=\"reports_list.notRelativeTime\"\n" + | |
|
5842 | " <th class=\"c1 ordering occurences\">#</th>\n" + | |
|
5843 | " <th class=\"c2 application\">Application</th>\n" + | |
|
5844 | " <th class=\"c4 when\">When <input type=\"checkbox\" ng-model=\"reports_list.notRelativeTime\"\n" + | |
|
5849 | 5845 | " ng-change=\"reports_list.changeRelativeTime()\"\n" + |
|
5850 |
" title=\"Tick to see UTC time instead relative\"></t |
|
|
5851 |
" <t |
|
|
5846 | " title=\"Tick to see UTC time instead relative\"></th>\n" + | |
|
5847 | " <th class=\"c5 error_type\">Error</th>\n" + | |
|
5852 | 5848 | " </tr>\n" + |
|
5853 | 5849 | " </thead>\n" + |
|
5854 | 5850 | " <tbody>\n" + |
@@ -5859,26 +5855,24 b' function kickstartAE() {' | |||
|
5859 | 5855 | " {{report.group.occurences|numberToThousands}}\n" + |
|
5860 | 5856 | " </span>\n" + |
|
5861 | 5857 | " </td>\n" + |
|
5862 |
" <td class=\"c2 a |
|
|
5863 | " <td class=\"c3 application\">\n" + | |
|
5858 | " <td class=\"c2 application\">\n" + | |
|
5864 | 5859 | " <div class=\"app_name\">{{report.resource_name}}</div>\n" + |
|
5865 | 5860 | " <span class=\"server\">@{{report.tags.server_name}}</span></td>\n" + |
|
5866 |
" <td class=\"c |
|
|
5861 | " <td class=\"c3 when\">\n" + | |
|
5867 | 5862 | " <span ng-show=\"!reports_list.notRelativeTime\"><span data-uib-tooltip=\"{{report.group.last_timestamp}}\"><iso-to-relative-time\n" + |
|
5868 | 5863 | " time=\"{{report.group.last_timestamp}}\"/></span>\n" + |
|
5869 | 5864 | " </span>\n" + |
|
5870 | 5865 | " <span ng-show=\"reports_list.notRelativeTime\">{{report.group.last_timestamp.replace('T', ' ').slice(0,16)}}</span>\n" + |
|
5871 | 5866 | " </td>\n" + |
|
5872 | " <td class=\"c5 report ellipsis\">\n" + | |
|
5873 |
" < |
|
|
5874 | " </td>\n" + | |
|
5867 | " <td class=\"c4 report ellipsis\"><a ui-sref=\"report.view_detail({groupId:report.group.id, reportId:report.id})\" title=\"{{report.error}}\">{{report.error || 'Unknown Exception'}}</a> <br/>\n" + | |
|
5868 | " <span class=\"url\">{{ report.tags.view_name || report.url_path}}</td>\n" + | |
|
5875 | 5869 | " </tr>\n" + |
|
5876 | 5870 | "\n" + |
|
5877 | 5871 | " </tbody>\n" + |
|
5878 | 5872 | " </table>\n" + |
|
5879 | "\n" + | |
|
5880 | 5873 | " </div>\n" + |
|
5881 | 5874 | "\n" + |
|
5875 | "\n" + | |
|
5882 | 5876 | " <div class=\"text-center\">\n" + |
|
5883 | 5877 | " <uib-pagination total-items=\"reports_list.itemCount\" items-per-page=\"reports_list.itemsPerPage\" ng-model=\"reports_list.searchParams.page\" max-size=\"10\"\n" + |
|
5884 | 5878 | " class=\"pagination pagination-sm\" boundary-links=\"true\" direction-links=\"false\"\n" + |
@@ -5890,7 +5884,7 b' function kickstartAE() {' | |||
|
5890 | 5884 | ); |
|
5891 | 5885 | |
|
5892 | 5886 | |
|
5893 | $templateCache.put('templates/reports/list.html', | |
|
5887 | $templateCache.put('templates/reports/list_slow.html', | |
|
5894 | 5888 | "<ng-include src=\"'templates/loader.html'\" ng-if=\"reports_list.is_loading\"></ng-include>\n" + |
|
5895 | 5889 | "\n" + |
|
5896 | 5890 | "<div ng-if=\"reports_list.is_loading === false\">\n" + |
@@ -5905,9 +5899,11 b' function kickstartAE() {' | |||
|
5905 | 5899 | " </span>\n" + |
|
5906 | 5900 | " </p>\n" + |
|
5907 | 5901 | "\n" + |
|
5902 | " <p>\n" + | |
|
5903 | "\n" + | |
|
5908 | 5904 | " <form class=\"form\">\n" + |
|
5909 | 5905 | " <div class=\"typeahead-tags\">\n" + |
|
5910 |
" <input type=\"text\" id=\"typeAhead\" ng-model=\"reports_list.filterTypeAhead\" placeholder=\"Start typing to filter reports - filter by tags, |
|
|
5906 | " <input type=\"text\" id=\"typeAhead\" ng-model=\"reports_list.filterTypeAhead\" placeholder=\"Start typing to filter slowness reports - filter by tags, average response time, priority or other properties.\"\n" + | |
|
5911 | 5907 | " ng-keydown=\"reports_list.typeAheadTag($event)\"\n" + |
|
5912 | 5908 | " uib-typeahead=\"tag as tag.text for tag in reports_list.filterTypeAheadOptions | filter:$viewValue:aheadFilter\"\n" + |
|
5913 | 5909 | " typeahead-min-length=\"1\" class=\"form-control\"\n" + |
@@ -5931,19 +5927,21 b' function kickstartAE() {' | |||
|
5931 | 5927 | " ng-show=\"!reports_list.is_loading\"></uib-pagination>\n" + |
|
5932 | 5928 | " </div>\n" + |
|
5933 | 5929 | "\n" + |
|
5930 | "\n" + | |
|
5934 | 5931 | " <div class=\"panel panel-default\">\n" + |
|
5935 | 5932 | " <!-- Default panel contents -->\n" + |
|
5936 | 5933 | "\n" + |
|
5937 | 5934 | " <table class=\"table table-striped report-list\" ng-show=\"!reports_list.is_loading\">\n" + |
|
5938 | " <caption>Reports</caption>\n" + | |
|
5935 | " <caption>Slow Request Reports</caption>\n" + | |
|
5939 | 5936 | " <thead>\n" + |
|
5940 | 5937 | " <tr>\n" + |
|
5941 |
" <t |
|
|
5942 |
" <t |
|
|
5943 | " <th class=\"c4 when\">When <input type=\"checkbox\" ng-model=\"reports_list.notRelativeTime\"\n" + | |
|
5938 | " <td class=\"c1 ordering occurences\">#</td>\n" + | |
|
5939 | " <td class=\"c2 average_duration\">Avg. duration</td>\n" + | |
|
5940 | " <td class=\"c3 application\">Application</td>\n" + | |
|
5941 | " <td class=\"c5 when\">When <input type=\"checkbox\" ng-model=\"reports_list.notRelativeTime\"\n" + | |
|
5944 | 5942 | " ng-change=\"reports_list.changeRelativeTime()\"\n" + |
|
5945 |
" title=\"Tick to see UTC time instead relative\"></t |
|
|
5946 |
" <t |
|
|
5943 | " title=\"Tick to see UTC time instead relative\"></td>\n" + | |
|
5944 | " <td class=\"c6 error_type\">Location</td>\n" + | |
|
5947 | 5945 | " </tr>\n" + |
|
5948 | 5946 | " </thead>\n" + |
|
5949 | 5947 | " <tbody>\n" + |
@@ -5954,23 +5952,25 b' function kickstartAE() {' | |||
|
5954 | 5952 | " {{report.group.occurences|numberToThousands}}\n" + |
|
5955 | 5953 | " </span>\n" + |
|
5956 | 5954 | " </td>\n" + |
|
5957 |
" <td class=\"c2 a |
|
|
5955 | " <td class=\"c2 average_duration\">{{report.group.average_duration.toFixed(3)}}s</td>\n" + | |
|
5956 | " <td class=\"c3 application\">\n" + | |
|
5958 | 5957 | " <div class=\"app_name\">{{report.resource_name}}</div>\n" + |
|
5959 | 5958 | " <span class=\"server\">@{{report.tags.server_name}}</span></td>\n" + |
|
5960 |
" <td class=\"c |
|
|
5959 | " <td class=\"c4 when\">\n" + | |
|
5961 | 5960 | " <span ng-show=\"!reports_list.notRelativeTime\"><span data-uib-tooltip=\"{{report.group.last_timestamp}}\"><iso-to-relative-time\n" + |
|
5962 | 5961 | " time=\"{{report.group.last_timestamp}}\"/></span>\n" + |
|
5963 | 5962 | " </span>\n" + |
|
5964 | 5963 | " <span ng-show=\"reports_list.notRelativeTime\">{{report.group.last_timestamp.replace('T', ' ').slice(0,16)}}</span>\n" + |
|
5965 | 5964 | " </td>\n" + |
|
5966 | " <td class=\"c4 report ellipsis\"><a ui-sref=\"report.view_detail({groupId:report.group.id, reportId:report.id})\" title=\"{{report.error}}\">{{report.error || 'Unknown Exception'}}</a> <br/>\n" + | |
|
5967 |
" < |
|
|
5965 | " <td class=\"c5 report ellipsis\">\n" + | |
|
5966 | " <a ui-sref=\"report.view_detail({groupId:report.group.id, reportId:report.id})\">{{ report.tags.view_name || report.url_path}} </span></a></td>\n" + | |
|
5967 | " </td>\n" + | |
|
5968 | 5968 | " </tr>\n" + |
|
5969 | 5969 | "\n" + |
|
5970 | 5970 | " </tbody>\n" + |
|
5971 | 5971 | " </table>\n" + |
|
5972 | " </div>\n" + | |
|
5973 | 5972 | "\n" + |
|
5973 | " </div>\n" + | |
|
5974 | 5974 | "\n" + |
|
5975 | 5975 | " <div class=\"text-center\">\n" + |
|
5976 | 5976 | " <uib-pagination total-items=\"reports_list.itemCount\" items-per-page=\"reports_list.itemsPerPage\" ng-model=\"reports_list.searchParams.page\" max-size=\"10\"\n" + |
@@ -6126,6 +6126,7 b' function kickstartAE() {' | |||
|
6126 | 6126 | "<div ng-if=\"report.report !== null && !report.is_loading.report\">\n" + |
|
6127 | 6127 | "\n" + |
|
6128 | 6128 | " <div ng-if=\"AeUser.id\" class=\"row\">\n" + |
|
6129 | " <div class=\"col-lg-12\">\n" + | |
|
6129 | 6130 | " <a onclick=\"window.history.back()\" class=\"btn btn-default\" ng-if=\"report.window.history.length > 2\"><span class=\"fa fa-arrow-circle-o-left\"></span>\n" + |
|
6130 | 6131 | " Go back</a>\n" + |
|
6131 | 6132 | " <a class=\"btn btn-default\" ng-click=\"report.assignUsersModal()\" ng-if=\"report.reportType == 'report'\"><span\n" + |
@@ -6157,6 +6158,7 b' function kickstartAE() {' | |||
|
6157 | 6158 | " </ul>\n" + |
|
6158 | 6159 | "</span>\n" + |
|
6159 | 6160 | " </div>\n" + |
|
6161 | " </div>\n" + | |
|
6160 | 6162 | "\n" + |
|
6161 | 6163 | " <div class=\"row\">\n" + |
|
6162 | 6164 | " <div class=\"col-lg-4\">\n" + |
@@ -6512,6 +6514,11 b' function kickstartAE() {' | |||
|
6512 | 6514 | ); |
|
6513 | 6515 | |
|
6514 | 6516 | |
|
6517 | $templateCache.put('templates/user/alert_channels.html', | |
|
6518 | "<ui-view></ui-view>" | |
|
6519 | ); | |
|
6520 | ||
|
6521 | ||
|
6515 | 6522 | $templateCache.put('templates/user/alert_channels_email.html', |
|
6516 | 6523 | "<ng-include src=\"'templates/loader.html'\" ng-if=\"email.loading.email\"></ng-include>\n" + |
|
6517 | 6524 | "\n" + |
@@ -6613,11 +6620,6 b' function kickstartAE() {' | |||
|
6613 | 6620 | ); |
|
6614 | 6621 | |
|
6615 | 6622 | |
|
6616 | $templateCache.put('templates/user/alert_channels.html', | |
|
6617 | "<ui-view></ui-view>" | |
|
6618 | ); | |
|
6619 | ||
|
6620 | ||
|
6621 | 6623 | $templateCache.put('templates/user/auth_tokens.html', |
|
6622 | 6624 | "<ng-include src=\"'templates/loader.html'\" ng-if=\"auth_tokens.loading.tokens\"></ng-include>\n" + |
|
6623 | 6625 | "\n" + |
@@ -6768,6 +6770,11 b' function kickstartAE() {' | |||
|
6768 | 6770 | ); |
|
6769 | 6771 | |
|
6770 | 6772 | |
|
6773 | $templateCache.put('templates/user/profile.html', | |
|
6774 | "<ui-view></ui-view>" | |
|
6775 | ); | |
|
6776 | ||
|
6777 | ||
|
6771 | 6778 | $templateCache.put('templates/user/profile_edit.html', |
|
6772 | 6779 | "<ng-include src=\"'templates/loader.html'\" ng-if=\"profile.loading.profile\"></ng-include>\n" + |
|
6773 | 6780 | "\n" + |
@@ -6969,11 +6976,6 b' function kickstartAE() {' | |||
|
6969 | 6976 | "</div>\n" |
|
6970 | 6977 | ); |
|
6971 | 6978 | |
|
6972 | ||
|
6973 | $templateCache.put('templates/user/profile.html', | |
|
6974 | "<ui-view></ui-view>" | |
|
6975 | ); | |
|
6976 | ||
|
6977 | 6979 | }]); |
|
6978 | 6980 | |
|
6979 | 6981 | ;// # Copyright (C) 2010-2016 RhodeCode GmbH |
@@ -9619,20 +9621,17 b' function AssignReportCtrl($uibModalInstance, reportGroupPropertyResource, report' | |||
|
9619 | 9621 | // # services, and proprietary license terms, please see |
|
9620 | 9622 | // # https://rhodecode.com/licenses/ |
|
9621 | 9623 | |
|
9622 | 'use strict'; | |
|
9623 | ||
|
9624 | /* Controllers */ | |
|
9625 | ||
|
9626 | 9624 | angular.module('appenlight.controllers') |
|
9627 |
.controller('ReportsList |
|
|
9625 | .controller('ReportsListController', ReportsListController); | |
|
9628 | 9626 | |
|
9629 |
ReportsList |
|
|
9630 |
'stateHolder', 'typeAheadTagHelper', ' |
|
|
9627 | ReportsListController.$inject = ['$scope', '$location', '$cookies', | |
|
9628 | 'stateHolder', 'typeAheadTagHelper', 'reportsResource', 'AeUser']; | |
|
9631 | 9629 | |
|
9632 |
function ReportsList |
|
|
9630 | function ReportsListController($scope, $location, $cookies, stateHolder, | |
|
9631 | typeAheadTagHelper, reportsResource, AeUser) { | |
|
9633 | 9632 | var vm = this; |
|
9634 | 9633 | vm.applications = AeUser.applications_map; |
|
9635 |
stateHolder.section = ' |
|
|
9634 | stateHolder.section = 'reports'; | |
|
9636 | 9635 | vm.today = function () { |
|
9637 | 9636 | vm.pickerDate = new Date(); |
|
9638 | 9637 | }; |
@@ -9641,23 +9640,30 b' function ReportsListSlowController($scope, $location, $cookies, stateHolder, typ' | |||
|
9641 | 9640 | vm.itemCount = 0; |
|
9642 | 9641 | vm.itemsPerPage = 250; |
|
9643 | 9642 | typeAheadTagHelper.tags = []; |
|
9644 |
vm.searchParams = {tags: [], page: 1, type: ' |
|
|
9643 | vm.searchParams = {tags: [], page: 1, type: 'report'}; | |
|
9645 | 9644 | vm.searchParams = parseSearchToTags($location.search()); |
|
9646 | 9645 | vm.is_loading = false; |
|
9647 | 9646 | vm.filterTypeAheadOptions = [ |
|
9648 | 9647 | { |
|
9648 | type: 'error', | |
|
9649 | text: 'error:', | |
|
9650 | 'description': 'Full-text search in your reports', | |
|
9651 | example: 'error:text-im-looking-for', | |
|
9652 | tag: 'Error' | |
|
9653 | }, | |
|
9654 | { | |
|
9649 | 9655 | type: 'view_name', |
|
9650 | 9656 | text: 'view_name:', |
|
9651 | 9657 | 'description': 'Query reports occured in specific views', |
|
9652 |
|
|
|
9653 |
|
|
|
9658 | example: "view_name:module.foo", | |
|
9659 | tag: 'View Name' | |
|
9654 | 9660 | }, |
|
9655 | 9661 | { |
|
9656 | 9662 | type: 'resource', |
|
9657 | 9663 | text: 'resource:', |
|
9658 | 9664 | 'description': 'Restrict resultset to application', |
|
9659 | tag: 'Application', | |
|
9660 | example: "resource:ID" | |
|
9665 | example: "resource:ID", | |
|
9666 | tag: 'Application' | |
|
9661 | 9667 | }, |
|
9662 | 9668 | { |
|
9663 | 9669 | type: 'priority', |
@@ -9671,14 +9677,7 b' function ReportsListSlowController($scope, $location, $cookies, stateHolder, typ' | |||
|
9671 | 9677 | text: 'min_occurences:', |
|
9672 | 9678 | 'description': 'Show reports from groups with at least X occurences', |
|
9673 | 9679 | example: 'min_occurences:25', |
|
9674 |
tag: ' |
|
|
9675 | }, | |
|
9676 | { | |
|
9677 | type: 'min_duration', | |
|
9678 | text: 'min_duration:', | |
|
9679 | 'description': 'Show reports from groups with average duration >= Xs', | |
|
9680 | example: 'min_duration:4.5', | |
|
9681 | tag: 'Min. duration' | |
|
9680 | tag: 'Occurences' | |
|
9682 | 9681 | }, |
|
9683 | 9682 | { |
|
9684 | 9683 | type: 'url_path', |
@@ -9695,13 +9694,6 b' function ReportsListSlowController($scope, $location, $cookies, stateHolder, typ' | |||
|
9695 | 9694 | tag: 'Domain' |
|
9696 | 9695 | }, |
|
9697 | 9696 | { |
|
9698 | type: 'request_id', | |
|
9699 | text: 'request_id:', | |
|
9700 | 'description': 'Show reports with specific request id', | |
|
9701 | example: "request_id:883143dc572e4c38aceae92af0ea5ae0", | |
|
9702 | tag: 'Request ID' | |
|
9703 | }, | |
|
9704 | { | |
|
9705 | 9697 | type: 'report_status', |
|
9706 | 9698 | text: 'report_status:', |
|
9707 | 9699 | 'description': 'Show reports from groups with specific status', |
@@ -9709,6 +9701,13 b' function ReportsListSlowController($scope, $location, $cookies, stateHolder, typ' | |||
|
9709 | 9701 | tag: 'Status' |
|
9710 | 9702 | }, |
|
9711 | 9703 | { |
|
9704 | type: 'request_id', | |
|
9705 | text: 'request_id:', | |
|
9706 | 'description': 'Show reports with specific request id', | |
|
9707 | example: "request_id:883143dc572e4c38aceae92af0ea5ae0", | |
|
9708 | tag: 'Request ID' | |
|
9709 | }, | |
|
9710 | { | |
|
9712 | 9711 | type: 'server_name', |
|
9713 | 9712 | text: 'server_name:', |
|
9714 | 9713 | 'description': 'Show reports tagged with this key/value pair', |
@@ -9716,6 +9715,27 b' function ReportsListSlowController($scope, $location, $cookies, stateHolder, typ' | |||
|
9716 | 9715 | tag: 'Tag' |
|
9717 | 9716 | }, |
|
9718 | 9717 | { |
|
9718 | type: 'http_status', | |
|
9719 | text: 'http_status:', | |
|
9720 | 'description': 'Show reports with specific HTTP status code', | |
|
9721 | example: "http_status:", | |
|
9722 | tag: 'HTTP Status' | |
|
9723 | }, | |
|
9724 | { | |
|
9725 | type: 'http_status', | |
|
9726 | text: 'http_status:500', | |
|
9727 | 'description': 'Show reports with specific HTTP status code', | |
|
9728 | example: "http_status:500", | |
|
9729 | tag: 'HTTP Status' | |
|
9730 | }, | |
|
9731 | { | |
|
9732 | type: 'http_status', | |
|
9733 | text: 'http_status:404', | |
|
9734 | 'description': 'Include 404 reports in your search', | |
|
9735 | example: "http_status:404", | |
|
9736 | tag: 'HTTP Status' | |
|
9737 | }, | |
|
9738 | { | |
|
9719 | 9739 | type: 'start_date', |
|
9720 | 9740 | text: 'start_date:', |
|
9721 | 9741 | 'description': 'Show reports newer than this date (press TAB for dropdown)', |
@@ -9733,6 +9753,7 b' function ReportsListSlowController($scope, $location, $cookies, stateHolder, typ' | |||
|
9733 | 9753 | |
|
9734 | 9754 | vm.filterTypeAhead = undefined; |
|
9735 | 9755 | vm.showDatePicker = false; |
|
9756 | vm.manualOpen = false; | |
|
9736 | 9757 | vm.aheadFilter = typeAheadTagHelper.aheadFilter; |
|
9737 | 9758 | vm.removeSearchTag = function (tag) { |
|
9738 | 9759 | $location.search(tag.type, null); |
@@ -9740,16 +9761,14 b' function ReportsListSlowController($scope, $location, $cookies, stateHolder, typ' | |||
|
9740 | 9761 | vm.addSearchTag = function (tag) { |
|
9741 | 9762 | $location.search(tag.type, tag.value); |
|
9742 | 9763 | }; |
|
9743 | vm.manualOpen = false; | |
|
9744 | 9764 | vm.notRelativeTime = false; |
|
9745 | 9765 | if ($cookies.notRelativeTime) { |
|
9746 | 9766 | vm.notRelativeTime = JSON.parse($cookies.notRelativeTime); |
|
9747 | 9767 | } |
|
9748 | 9768 | |
|
9749 | ||
|
9750 | 9769 | vm.changeRelativeTime = function () { |
|
9751 | 9770 | $cookies.notRelativeTime = JSON.stringify(vm.notRelativeTime); |
|
9752 |
} |
|
|
9771 | } | |
|
9753 | 9772 | |
|
9754 | 9773 | _.each(_.range(1, 11), function (priority) { |
|
9755 | 9774 | vm.filterTypeAheadOptions.push({ |
@@ -9779,15 +9798,19 b' function ReportsListSlowController($scope, $location, $cookies, stateHolder, typ' | |||
|
9779 | 9798 | }); |
|
9780 | 9799 | }); |
|
9781 | 9800 | |
|
9801 | vm.paginationChange = function(){ | |
|
9802 | $location.search('page', vm.searchParams.page); | |
|
9803 | }; | |
|
9804 | ||
|
9782 | 9805 | vm.typeAheadTag = function (event) { |
|
9783 | 9806 | var text = vm.filterTypeAhead; |
|
9784 | 9807 | if (_.isObject(vm.filterTypeAhead)) { |
|
9785 | 9808 | text = vm.filterTypeAhead.text; |
|
9786 | 9809 | } |
|
9787 | ; | |
|
9788 | 9810 | if (!vm.filterTypeAhead) { |
|
9789 | 9811 | return |
|
9790 | 9812 | } |
|
9813 | ||
|
9791 | 9814 | var parsed = text.split(':'); |
|
9792 | 9815 | var tag = {'type': null, 'value': null}; |
|
9793 | 9816 | // app tags have : twice |
@@ -9803,6 +9826,10 b' function ReportsListSlowController($scope, $location, $cookies, stateHolder, typ' | |||
|
9803 | 9826 | tag.value = tagValue.join(':'); |
|
9804 | 9827 | } |
|
9805 | 9828 | } |
|
9829 | else { | |
|
9830 | tag.type = 'error'; | |
|
9831 | tag.value = parsed.join(':'); | |
|
9832 | } | |
|
9806 | 9833 | |
|
9807 | 9834 | // set datepicker hour based on type of field |
|
9808 | 9835 | if ('start_date:' == text) { |
@@ -9824,10 +9851,6 b' function ReportsListSlowController($scope, $location, $cookies, stateHolder, typ' | |||
|
9824 | 9851 | vm.filterTypeAhead = undefined; |
|
9825 | 9852 | } |
|
9826 | 9853 | |
|
9827 | vm.paginationChange = function(){ | |
|
9828 | $location.search('page', vm.searchParams.page); | |
|
9829 | } | |
|
9830 | ||
|
9831 | 9854 | vm.pickerDateChanged = function(){ |
|
9832 | 9855 | if (vm.filterTypeAhead.indexOf('start_date:') == '0') { |
|
9833 | 9856 | vm.filterTypeAhead = 'start_date:' + moment(vm.pickerDate).utc().format(); |
@@ -9836,7 +9859,7 b' function ReportsListSlowController($scope, $location, $cookies, stateHolder, typ' | |||
|
9836 | 9859 | vm.filterTypeAhead = 'end_date:' + moment(vm.pickerDate).utc().hour(23).minute(59).format(); |
|
9837 | 9860 | } |
|
9838 | 9861 | vm.showDatePicker = false; |
|
9839 | } | |
|
9862 | }; | |
|
9840 | 9863 | |
|
9841 | 9864 | var reportPresentation = function (report) { |
|
9842 | 9865 | report.presentation = {}; |
@@ -9857,11 +9880,11 b' function ReportsListSlowController($scope, $location, $cookies, stateHolder, typ' | |||
|
9857 | 9880 | report.presentation.tooltip = 'New'; |
|
9858 | 9881 | } |
|
9859 | 9882 | return report; |
|
9860 | } | |
|
9883 | }; | |
|
9861 | 9884 | |
|
9862 | 9885 | vm.fetchReports = function (searchParams) { |
|
9863 | 9886 | vm.is_loading = true; |
|
9864 |
|
|
|
9887 | reportsResource.query(searchParams, function (data, getResponseHeaders) { | |
|
9865 | 9888 | var headers = getResponseHeaders(); |
|
9866 | 9889 | |
|
9867 | 9890 | vm.is_loading = false; |
@@ -9873,14 +9896,14 b' function ReportsListSlowController($scope, $location, $cookies, stateHolder, typ' | |||
|
9873 | 9896 | }, function () { |
|
9874 | 9897 | vm.is_loading = false; |
|
9875 | 9898 | }); |
|
9876 | } | |
|
9899 | }; | |
|
9877 | 9900 | |
|
9878 | 9901 | vm.filterId = function (log) { |
|
9879 | 9902 | vm.searchParams.tags.push({ |
|
9880 | 9903 | type: "request_id", |
|
9881 | 9904 | value: log.request_id |
|
9882 | 9905 | }); |
|
9883 | } | |
|
9906 | }; | |
|
9884 | 9907 | // initial load |
|
9885 | 9908 | var params = parseTagsToSearch(vm.searchParams); |
|
9886 | 9909 | vm.fetchReports(params); |
@@ -9894,6 +9917,7 b' function ReportsListSlowController($scope, $location, $cookies, stateHolder, typ' | |||
|
9894 | 9917 | |
|
9895 | 9918 | vm.fetchReports(params); |
|
9896 | 9919 | } |
|
9920 | ||
|
9897 | 9921 | }); |
|
9898 | 9922 | |
|
9899 | 9923 | |
@@ -9918,17 +9942,20 b' function ReportsListSlowController($scope, $location, $cookies, stateHolder, typ' | |||
|
9918 | 9942 | // # services, and proprietary license terms, please see |
|
9919 | 9943 | // # https://rhodecode.com/licenses/ |
|
9920 | 9944 | |
|
9945 | 'use strict'; | |
|
9946 | ||
|
9947 | /* Controllers */ | |
|
9948 | ||
|
9921 | 9949 | angular.module('appenlight.controllers') |
|
9922 | .controller('ReportsListController', ReportsListController); | |
|
9950 | .controller('ReportsListSlowController', ReportsListSlowController); | |
|
9923 | 9951 | |
|
9924 | ReportsListController.$inject = ['$scope', '$location', '$cookies', | |
|
9925 |
'stateHolder', 'typeAheadTagHelper', ' |
|
|
9952 | ReportsListSlowController.$inject = ['$scope', '$location', '$cookies', | |
|
9953 | 'stateHolder', 'typeAheadTagHelper', 'slowReportsResource', 'AeUser'] | |
|
9926 | 9954 | |
|
9927 | function ReportsListController($scope, $location, $cookies, stateHolder, | |
|
9928 | typeAheadTagHelper, reportsResource, AeUser) { | |
|
9955 | function ReportsListSlowController($scope, $location, $cookies, stateHolder, typeAheadTagHelper, slowReportsResource, AeUser) { | |
|
9929 | 9956 | var vm = this; |
|
9930 | 9957 | vm.applications = AeUser.applications_map; |
|
9931 | stateHolder.section = 'reports'; | |
|
9958 | stateHolder.section = 'slow_reports'; | |
|
9932 | 9959 | vm.today = function () { |
|
9933 | 9960 | vm.pickerDate = new Date(); |
|
9934 | 9961 | }; |
@@ -9937,30 +9964,23 b' function ReportsListController($scope, $location, $cookies, stateHolder,' | |||
|
9937 | 9964 | vm.itemCount = 0; |
|
9938 | 9965 | vm.itemsPerPage = 250; |
|
9939 | 9966 | typeAheadTagHelper.tags = []; |
|
9940 | vm.searchParams = {tags: [], page: 1, type: 'report'}; | |
|
9967 | vm.searchParams = {tags: [], page: 1, type: 'slow_report'}; | |
|
9941 | 9968 | vm.searchParams = parseSearchToTags($location.search()); |
|
9942 | 9969 | vm.is_loading = false; |
|
9943 | 9970 | vm.filterTypeAheadOptions = [ |
|
9944 | 9971 | { |
|
9945 | type: 'error', | |
|
9946 | text: 'error:', | |
|
9947 | 'description': 'Full-text search in your reports', | |
|
9948 | example: 'error:text-im-looking-for', | |
|
9949 | tag: 'Error' | |
|
9950 | }, | |
|
9951 | { | |
|
9952 | 9972 | type: 'view_name', |
|
9953 | 9973 | text: 'view_name:', |
|
9954 | 9974 | 'description': 'Query reports occured in specific views', |
|
9955 |
|
|
|
9956 |
|
|
|
9975 | tag: 'View Name', | |
|
9976 | example: "view_name:module.foo" | |
|
9957 | 9977 | }, |
|
9958 | 9978 | { |
|
9959 | 9979 | type: 'resource', |
|
9960 | 9980 | text: 'resource:', |
|
9961 | 9981 | 'description': 'Restrict resultset to application', |
|
9962 | example: "resource:ID", | |
|
9963 | tag: 'Application' | |
|
9982 | tag: 'Application', | |
|
9983 | example: "resource:ID" | |
|
9964 | 9984 | }, |
|
9965 | 9985 | { |
|
9966 | 9986 | type: 'priority', |
@@ -9974,7 +9994,14 b' function ReportsListController($scope, $location, $cookies, stateHolder,' | |||
|
9974 | 9994 | text: 'min_occurences:', |
|
9975 | 9995 | 'description': 'Show reports from groups with at least X occurences', |
|
9976 | 9996 | example: 'min_occurences:25', |
|
9977 |
tag: ' |
|
|
9997 | tag: 'Min. occurences' | |
|
9998 | }, | |
|
9999 | { | |
|
10000 | type: 'min_duration', | |
|
10001 | text: 'min_duration:', | |
|
10002 | 'description': 'Show reports from groups with average duration >= Xs', | |
|
10003 | example: 'min_duration:4.5', | |
|
10004 | tag: 'Min. duration' | |
|
9978 | 10005 | }, |
|
9979 | 10006 | { |
|
9980 | 10007 | type: 'url_path', |
@@ -9991,13 +10018,6 b' function ReportsListController($scope, $location, $cookies, stateHolder,' | |||
|
9991 | 10018 | tag: 'Domain' |
|
9992 | 10019 | }, |
|
9993 | 10020 | { |
|
9994 | type: 'report_status', | |
|
9995 | text: 'report_status:', | |
|
9996 | 'description': 'Show reports from groups with specific status', | |
|
9997 | example: 'report_status:never_reviewed', | |
|
9998 | tag: 'Status' | |
|
9999 | }, | |
|
10000 | { | |
|
10001 | 10021 | type: 'request_id', |
|
10002 | 10022 | text: 'request_id:', |
|
10003 | 10023 | 'description': 'Show reports with specific request id', |
@@ -10005,6 +10025,13 b' function ReportsListController($scope, $location, $cookies, stateHolder,' | |||
|
10005 | 10025 | tag: 'Request ID' |
|
10006 | 10026 | }, |
|
10007 | 10027 | { |
|
10028 | type: 'report_status', | |
|
10029 | text: 'report_status:', | |
|
10030 | 'description': 'Show reports from groups with specific status', | |
|
10031 | example: 'report_status:never_reviewed', | |
|
10032 | tag: 'Status' | |
|
10033 | }, | |
|
10034 | { | |
|
10008 | 10035 | type: 'server_name', |
|
10009 | 10036 | text: 'server_name:', |
|
10010 | 10037 | 'description': 'Show reports tagged with this key/value pair', |
@@ -10012,27 +10039,6 b' function ReportsListController($scope, $location, $cookies, stateHolder,' | |||
|
10012 | 10039 | tag: 'Tag' |
|
10013 | 10040 | }, |
|
10014 | 10041 | { |
|
10015 | type: 'http_status', | |
|
10016 | text: 'http_status:', | |
|
10017 | 'description': 'Show reports with specific HTTP status code', | |
|
10018 | example: "http_status:", | |
|
10019 | tag: 'HTTP Status' | |
|
10020 | }, | |
|
10021 | { | |
|
10022 | type: 'http_status', | |
|
10023 | text: 'http_status:500', | |
|
10024 | 'description': 'Show reports with specific HTTP status code', | |
|
10025 | example: "http_status:500", | |
|
10026 | tag: 'HTTP Status' | |
|
10027 | }, | |
|
10028 | { | |
|
10029 | type: 'http_status', | |
|
10030 | text: 'http_status:404', | |
|
10031 | 'description': 'Include 404 reports in your search', | |
|
10032 | example: "http_status:404", | |
|
10033 | tag: 'HTTP Status' | |
|
10034 | }, | |
|
10035 | { | |
|
10036 | 10042 | type: 'start_date', |
|
10037 | 10043 | text: 'start_date:', |
|
10038 | 10044 | 'description': 'Show reports newer than this date (press TAB for dropdown)', |
@@ -10050,7 +10056,6 b' function ReportsListController($scope, $location, $cookies, stateHolder,' | |||
|
10050 | 10056 | |
|
10051 | 10057 | vm.filterTypeAhead = undefined; |
|
10052 | 10058 | vm.showDatePicker = false; |
|
10053 | vm.manualOpen = false; | |
|
10054 | 10059 | vm.aheadFilter = typeAheadTagHelper.aheadFilter; |
|
10055 | 10060 | vm.removeSearchTag = function (tag) { |
|
10056 | 10061 | $location.search(tag.type, null); |
@@ -10058,14 +10063,16 b' function ReportsListController($scope, $location, $cookies, stateHolder,' | |||
|
10058 | 10063 | vm.addSearchTag = function (tag) { |
|
10059 | 10064 | $location.search(tag.type, tag.value); |
|
10060 | 10065 | }; |
|
10066 | vm.manualOpen = false; | |
|
10061 | 10067 | vm.notRelativeTime = false; |
|
10062 | 10068 | if ($cookies.notRelativeTime) { |
|
10063 | 10069 | vm.notRelativeTime = JSON.parse($cookies.notRelativeTime); |
|
10064 | 10070 | } |
|
10065 | 10071 | |
|
10072 | ||
|
10066 | 10073 | vm.changeRelativeTime = function () { |
|
10067 | 10074 | $cookies.notRelativeTime = JSON.stringify(vm.notRelativeTime); |
|
10068 | } | |
|
10075 | }; | |
|
10069 | 10076 | |
|
10070 | 10077 | _.each(_.range(1, 11), function (priority) { |
|
10071 | 10078 | vm.filterTypeAheadOptions.push({ |
@@ -10095,19 +10102,15 b' function ReportsListController($scope, $location, $cookies, stateHolder,' | |||
|
10095 | 10102 | }); |
|
10096 | 10103 | }); |
|
10097 | 10104 | |
|
10098 | vm.paginationChange = function(){ | |
|
10099 | $location.search('page', vm.searchParams.page); | |
|
10100 | }; | |
|
10101 | ||
|
10102 | 10105 | vm.typeAheadTag = function (event) { |
|
10103 | 10106 | var text = vm.filterTypeAhead; |
|
10104 | 10107 | if (_.isObject(vm.filterTypeAhead)) { |
|
10105 | 10108 | text = vm.filterTypeAhead.text; |
|
10106 | 10109 | } |
|
10110 | ; | |
|
10107 | 10111 | if (!vm.filterTypeAhead) { |
|
10108 | 10112 | return |
|
10109 | 10113 | } |
|
10110 | ||
|
10111 | 10114 | var parsed = text.split(':'); |
|
10112 | 10115 | var tag = {'type': null, 'value': null}; |
|
10113 | 10116 | // app tags have : twice |
@@ -10123,10 +10126,6 b' function ReportsListController($scope, $location, $cookies, stateHolder,' | |||
|
10123 | 10126 | tag.value = tagValue.join(':'); |
|
10124 | 10127 | } |
|
10125 | 10128 | } |
|
10126 | else { | |
|
10127 | tag.type = 'error'; | |
|
10128 | tag.value = parsed.join(':'); | |
|
10129 | } | |
|
10130 | 10129 | |
|
10131 | 10130 | // set datepicker hour based on type of field |
|
10132 | 10131 | if ('start_date:' == text) { |
@@ -10148,6 +10147,10 b' function ReportsListController($scope, $location, $cookies, stateHolder,' | |||
|
10148 | 10147 | vm.filterTypeAhead = undefined; |
|
10149 | 10148 | } |
|
10150 | 10149 | |
|
10150 | vm.paginationChange = function(){ | |
|
10151 | $location.search('page', vm.searchParams.page); | |
|
10152 | } | |
|
10153 | ||
|
10151 | 10154 | vm.pickerDateChanged = function(){ |
|
10152 | 10155 | if (vm.filterTypeAhead.indexOf('start_date:') == '0') { |
|
10153 | 10156 | vm.filterTypeAhead = 'start_date:' + moment(vm.pickerDate).utc().format(); |
@@ -10156,7 +10159,7 b' function ReportsListController($scope, $location, $cookies, stateHolder,' | |||
|
10156 | 10159 | vm.filterTypeAhead = 'end_date:' + moment(vm.pickerDate).utc().hour(23).minute(59).format(); |
|
10157 | 10160 | } |
|
10158 | 10161 | vm.showDatePicker = false; |
|
10159 |
} |
|
|
10162 | } | |
|
10160 | 10163 | |
|
10161 | 10164 | var reportPresentation = function (report) { |
|
10162 | 10165 | report.presentation = {}; |
@@ -10177,11 +10180,11 b' function ReportsListController($scope, $location, $cookies, stateHolder,' | |||
|
10177 | 10180 | report.presentation.tooltip = 'New'; |
|
10178 | 10181 | } |
|
10179 | 10182 | return report; |
|
10180 |
} |
|
|
10183 | } | |
|
10181 | 10184 | |
|
10182 | 10185 | vm.fetchReports = function (searchParams) { |
|
10183 | 10186 | vm.is_loading = true; |
|
10184 |
|
|
|
10187 | slowReportsResource.query(searchParams, function (data, getResponseHeaders) { | |
|
10185 | 10188 | var headers = getResponseHeaders(); |
|
10186 | 10189 | |
|
10187 | 10190 | vm.is_loading = false; |
@@ -10193,14 +10196,14 b' function ReportsListController($scope, $location, $cookies, stateHolder,' | |||
|
10193 | 10196 | }, function () { |
|
10194 | 10197 | vm.is_loading = false; |
|
10195 | 10198 | }); |
|
10196 |
} |
|
|
10199 | } | |
|
10197 | 10200 | |
|
10198 | 10201 | vm.filterId = function (log) { |
|
10199 | 10202 | vm.searchParams.tags.push({ |
|
10200 | 10203 | type: "request_id", |
|
10201 | 10204 | value: log.request_id |
|
10202 | 10205 | }); |
|
10203 |
} |
|
|
10206 | } | |
|
10204 | 10207 | //initial load |
|
10205 | 10208 | var params = parseTagsToSearch(vm.searchParams); |
|
10206 | 10209 | vm.fetchReports(params); |
@@ -10214,7 +10217,6 b' function ReportsListController($scope, $location, $cookies, stateHolder,' | |||
|
10214 | 10217 | |
|
10215 | 10218 | vm.fetchReports(params); |
|
10216 | 10219 | } |
|
10217 | ||
|
10218 | 10220 | }); |
|
10219 | 10221 | |
|
10220 | 10222 | |
@@ -11838,50 +11840,6 b" angular.module('appenlight.directives.reportAlertAction', []).directive('reportA" | |||
|
11838 | 11840 | // # services, and proprietary license terms, please see |
|
11839 | 11841 | // # https://rhodecode.com/licenses/ |
|
11840 | 11842 | |
|
11841 | angular.module('appenlight.directives.ruleReadOnly', []).directive('ruleReadOnly', ['userSelfPropertyResource', function (userSelfPropertyResource) { | |
|
11842 | return { | |
|
11843 | scope: {}, | |
|
11844 | bindToController:{ | |
|
11845 | parentObj: '=', | |
|
11846 | rule: '=', | |
|
11847 | ruleDefinitions: '=', | |
|
11848 | parentRule: "=", | |
|
11849 | config: "=" | |
|
11850 | }, | |
|
11851 | restrict: 'E', | |
|
11852 | templateUrl: 'templates/directives/rule_read_only.html', | |
|
11853 | controller:RuleController, | |
|
11854 | controllerAs:'rule_ctrlr' | |
|
11855 | } | |
|
11856 | function RuleController(){ | |
|
11857 | var vm = this; | |
|
11858 | vm.readOnlyPossibleFields = {}; | |
|
11859 | var labelPairs = _.pairs(vm.parentObj.config); | |
|
11860 | _.each(labelPairs, function (entry) { | |
|
11861 | vm.readOnlyPossibleFields[entry[0]] = entry[1].human_label; | |
|
11862 | }); | |
|
11863 | } | |
|
11864 | }]); | |
|
11865 | ||
|
11866 | ;// # Copyright (C) 2010-2016 RhodeCode GmbH | |
|
11867 | // # | |
|
11868 | // # This program is free software: you can redistribute it and/or modify | |
|
11869 | // # it under the terms of the GNU Affero General Public License, version 3 | |
|
11870 | // # (only), as published by the Free Software Foundation. | |
|
11871 | // # | |
|
11872 | // # This program is distributed in the hope that it will be useful, | |
|
11873 | // # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
|
11874 | // # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
|
11875 | // # GNU General Public License for more details. | |
|
11876 | // # | |
|
11877 | // # You should have received a copy of the GNU Affero General Public License | |
|
11878 | // # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
|
11879 | // # | |
|
11880 | // # This program is dual-licensed. If you wish to learn more about the | |
|
11881 | // # App Enlight Enterprise Edition, including its added features, Support | |
|
11882 | // # services, and proprietary license terms, please see | |
|
11883 | // # https://rhodecode.com/licenses/ | |
|
11884 | ||
|
11885 | 11843 | angular.module('appenlight.directives.rule', []).directive('rule', function () { |
|
11886 | 11844 | return { |
|
11887 | 11845 | scope: {}, |
@@ -11968,6 +11926,50 b" angular.module('appenlight.directives.rule', []).directive('rule', function () {" | |||
|
11968 | 11926 | // # services, and proprietary license terms, please see |
|
11969 | 11927 | // # https://rhodecode.com/licenses/ |
|
11970 | 11928 | |
|
11929 | angular.module('appenlight.directives.ruleReadOnly', []).directive('ruleReadOnly', ['userSelfPropertyResource', function (userSelfPropertyResource) { | |
|
11930 | return { | |
|
11931 | scope: {}, | |
|
11932 | bindToController:{ | |
|
11933 | parentObj: '=', | |
|
11934 | rule: '=', | |
|
11935 | ruleDefinitions: '=', | |
|
11936 | parentRule: "=", | |
|
11937 | config: "=" | |
|
11938 | }, | |
|
11939 | restrict: 'E', | |
|
11940 | templateUrl: 'templates/directives/rule_read_only.html', | |
|
11941 | controller:RuleController, | |
|
11942 | controllerAs:'rule_ctrlr' | |
|
11943 | } | |
|
11944 | function RuleController(){ | |
|
11945 | var vm = this; | |
|
11946 | vm.readOnlyPossibleFields = {}; | |
|
11947 | var labelPairs = _.pairs(vm.parentObj.config); | |
|
11948 | _.each(labelPairs, function (entry) { | |
|
11949 | vm.readOnlyPossibleFields[entry[0]] = entry[1].human_label; | |
|
11950 | }); | |
|
11951 | } | |
|
11952 | }]); | |
|
11953 | ||
|
11954 | ;// # Copyright (C) 2010-2016 RhodeCode GmbH | |
|
11955 | // # | |
|
11956 | // # This program is free software: you can redistribute it and/or modify | |
|
11957 | // # it under the terms of the GNU Affero General Public License, version 3 | |
|
11958 | // # (only), as published by the Free Software Foundation. | |
|
11959 | // # | |
|
11960 | // # This program is distributed in the hope that it will be useful, | |
|
11961 | // # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
|
11962 | // # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
|
11963 | // # GNU General Public License for more details. | |
|
11964 | // # | |
|
11965 | // # You should have received a copy of the GNU Affero General Public License | |
|
11966 | // # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
|
11967 | // # | |
|
11968 | // # This program is dual-licensed. If you wish to learn more about the | |
|
11969 | // # App Enlight Enterprise Edition, including its added features, Support | |
|
11970 | // # services, and proprietary license terms, please see | |
|
11971 | // # https://rhodecode.com/licenses/ | |
|
11972 | ||
|
11971 | 11973 | angular.module('appenlight.directives.smallReportGroupList',[]). |
|
11972 | 11974 | directive('smallReportGroupList', [function () { |
|
11973 | 11975 | return { |
@@ -95,6 +95,7 b'' | |||
|
95 | 95 | <div ng-if="report.report !== null && !report.is_loading.report"> |
|
96 | 96 | |
|
97 | 97 | <div ng-if="AeUser.id" class="row"> |
|
98 | <div class="col-lg-12"> | |
|
98 | 99 | <a onclick="window.history.back()" class="btn btn-default" ng-if="report.window.history.length > 2"><span class="fa fa-arrow-circle-o-left"></span> |
|
99 | 100 | Go back</a> |
|
100 | 101 | <a class="btn btn-default" ng-click="report.assignUsersModal()" ng-if="report.reportType == 'report'"><span |
@@ -126,6 +127,7 b'' | |||
|
126 | 127 | </ul> |
|
127 | 128 | </span> |
|
128 | 129 | </div> |
|
130 | </div> | |
|
129 | 131 | |
|
130 | 132 | <div class="row"> |
|
131 | 133 | <div class="col-lg-4"> |
General Comments 0
You need to be logged in to leave comments.
Login now