##// END OF EJS Templates
html: #3988 fixed missing div causing misalignment in log header
lisaq -
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_slow.html',
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 slowness reports - filter by tags, average response time, priority or other properties.\"\n" +
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>Slow Request Reports</caption>\n" +
5839 " <caption>Reports</caption>\n" +
5843 5840 " <thead>\n" +
5844 5841 " <tr>\n" +
5845 " <td class=\"c1 ordering occurences\">#</td>\n" +
5846 " <td class=\"c2 average_duration\">Avg. duration</td>\n" +
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\"></td>\n" +
5851 " <td class=\"c6 error_type\">Location</td>\n" +
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 average_duration\">{{report.group.average_duration.toFixed(3)}}s</td>\n" +
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=\"c4 when\">\n" +
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 " <a ui-sref=\"report.view_detail({groupId:report.group.id, reportId:report.id})\">{{ report.tags.view_name || report.url_path}} </span></a></td>\n" +
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, exception, priority or other properties.\"\n" +
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 " <th class=\"c1 ordering occurences\">#</th>\n" +
5942 " <th class=\"c2 application\">Application</th>\n" +
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\"></th>\n" +
5946 " <th class=\"c5 error_type\">Error</th>\n" +
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 application\">\n" +
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=\"c3 when\">\n" +
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 " <span class=\"url\">{{ report.tags.view_name || report.url_path}}</td>\n" +
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('ReportsListSlowController', ReportsListSlowController);
9625 .controller('ReportsListController', ReportsListController);
9628 9626
9629 ReportsListSlowController.$inject = ['$scope', '$location', '$cookies',
9630 'stateHolder', 'typeAheadTagHelper', 'slowReportsResource', 'AeUser']
9627 ReportsListController.$inject = ['$scope', '$location', '$cookies',
9628 'stateHolder', 'typeAheadTagHelper', 'reportsResource', 'AeUser'];
9631 9629
9632 function ReportsListSlowController($scope, $location, $cookies, stateHolder, typeAheadTagHelper, slowReportsResource, AeUser) {
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 = 'slow_reports';
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: 'slow_report'};
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 tag: 'View Name',
9653 example: "view_name:module.foo"
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: 'Min. occurences'
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 slowReportsResource.query(searchParams, function (data, getResponseHeaders) {
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', 'reportsResource', 'AeUser'];
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 example: "view_name:module.foo",
9956 tag: 'View Name'
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: 'Occurences'
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 reportsResource.query(searchParams, function (data, getResponseHeaders) {
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