Viewing File: /usr/local/cpanel/whostmgr/docroot/templates/mod_security/vendors.cmb.min.js

define("app/views/commonController",["angular","cjt/filters/wrapFilter","cjt/services/alertService","cjt/directives/alertList","uiBootstrap"],(function(e){var t;try{t=e.module("App")}catch(n){t=e.module("App",["ui.bootstrap","ngSanitize"])}return t.controller("commonController",["$scope","$location","$rootScope","alertService","PAGE",function(e,t,n,r,i){e.isInstalled=i.installed,e.alerts=r.getAlerts(),e.route=null,e.closeAlert=function(e){r.remove(e)},e.isCurrentView=function(t){return!(!e.route||!e.route.$$route)&&e.route.$$route.originalPath===t},n.$on("$routeChangeStart",(function(t,n,r){e.route=n}))}])})),define("app/services/vendorService",["angular","cjt/util/locale","cjt/util/parse","cjt/io/api","cjt/io/whm-v1-request","cjt/io/whm-v1","cjt/services/APIService"],(function(e,t,n,r,i,a){var o="",s=e.module("App");function l(e){if(e.cpanel_provided=n.parsePerlBoolean(e.cpanel_provided),e.enabled=n.parsePerlBoolean(e.enabled),e.update=n.parsePerlBoolean(e.update),e.installed=n.parsePerlBoolean(e.installed),e.totalEnabled=0,e.totalDisabled=0,e.configs){for(var t=0,r=e.configs.length;t<r;t++){var i=e.configs[t];i.enabled=n.parsePerlBoolean(i.active),delete i.active,i.enabled?e.totalEnabled++:e.totalDisabled++}e.configs.sort((function(e,t){return e.config.localeCompare(t.config)}))}return e}function d(e){var t=[];if(e.status){for(var n=e.data,r=0,i=n.length;r<i;r++){var a=n[r];a.changed=!1,t.push(l(a))}var o=e.meta;return{items:t,totalItems:o.paginate.total_records||n.length,totalPages:o.paginate.total_pages||1}}return{items:[],totalItems:0,totalPages:0}}function c(e,t){var r=n.parsePerlBoolean(e.ok);return e.ok=r,e.enabled=t?r:!r,e}function u(e,t){var n=[],r=0,i=0;if(e)for(var a=0,o=e.length;a<o;a++){var s=e[a];n.push(c(s,t)),s.enabled?r++:i++}return{configs:n,totalEnabled:r,totalDisabled:i}}var f=function(e,t,n){var r=new i.Class;return r.initialize(o,t),r.addArgument("url",n.url),this.deferred(r,{transformAPISuccess:function(e){return e.data}},e),e.promise};s.factory("vendorService",["$q","APIService",function(n,r){var s=function(){};return s.prototype=new r,e.extend(s.prototype,{fetchVendorById:function(e){var n=new i.Class;return n.initialize(o,"modsec_get_vendors"),n.addArgument("show_uninstalled",1),n.addFilter("vendor_id","eq",e),this.deferred(n,{apiSuccess:function(n,r){var i=d(n);1===i.items.length?r.resolve(i.items[0]):i.items.length>1?r.reject(t.maketext("You have multiple vendors with the same [asis,vendor_id].")):r.reject(t.maketext("The system could not find the specified [asis,vendor_id].",e))}}).promise},fetchList:function(e){var t=new i.Class;return t.initialize(o,"modsec_get_vendors"),t.addArgument("show_uninstalled",1),e&&(e.sortBy&&e.sortDirection&&t.addSorting(e.sortBy,e.sortDirection,e.sortType),e.pageNumber&&t.addPaging(e.pageNumber,e.pageSize||10),e.filterBy&&e.filterValue&&t.addFilter(e.filterBy,e.filterCompare,e.filterValue)),this.deferred(t,{transformAPISuccess:d}).promise},disableVendor:function(e){var t=new i.Class;return t.initialize(o,"modsec_disable_vendor"),t.addArgument("vendor_id",e),this.deferred(t).promise},enableVendor:function(e){var t=new i.Class;return t.initialize(o,"modsec_enable_vendor"),t.addArgument("vendor_id",e),this.deferred(t).promise},disableConfig:function(e){var t=new i.Class;return t.initialize(o,"modsec_make_config_inactive"),t.addArgument("config",e),this.deferred(t).promise},enableConfig:function(e){var t=new i.Class;return t.initialize(o,"modsec_make_config_active"),t.addArgument("config",e),this.deferred(t).promise},enableAllConfigs:function(e){var t=new i.Class;return t.initialize(o,"modsec_enable_vendor_configs"),t.addArgument("vendor_id",e),this.deferred(t,{transformAPISuccess:function(e){return u(e.data,!0)},transformAPIFailure:function(e){return u(e.data,!0)}}).promise},disableAllConfigs:function(e){var t=new i.Class;return t.initialize(o,"modsec_disable_vendor_configs"),t.addArgument("vendor_id",e),this.deferred(t,{transformAPISuccess:function(e){return u(e.data,!1)},transformAPIFailure:function(e){return u(e.data,!1)}}).promise},enableVendorUpdates:function(e){var t=new i.Class;return t.initialize(o,"modsec_enable_vendor_updates"),t.addArgument("vendor_id",e),this.deferred(t).promise},disableVendorUpdates:function(e){var t=new i.Class;return t.initialize(o,"modsec_disable_vendor_updates"),t.addArgument("vendor_id",e),this.deferred(t).promise},deleteVendor:function(e){var t=new i.Class;return t.initialize(o,"modsec_remove_vendor"),t.addArgument("vendor_id",e),this.deferred(t).promise},loadVendor:function(e){var t=n.defer();return f.call(this,t,"modsec_preview_vendor",{url:e})},saveVendor:function(e){var t=n.defer();return f.call(this,t,"modsec_add_vendor",{url:e})},prepareList:function(e){return d(e=a.parse_response(e).parsedResponse)}}),new s}])})),define("app/views/vendorListController",["angular","cjt/util/locale","uiBootstrap","cjt/directives/actionButtonDirective","cjt/directives/responsiveSortDirective","cjt/decorators/paginationDecorator","cjt/directives/autoFocus","cjt/directives/spinnerDirective","cjt/services/alertService","app/services/vendorService","cjt/io/whm-v1-querystring-service"],(function(e,t){var n=e.module("App");return n.controller("vendorListController",["$scope","$location","$anchorScroll","$routeParams","$timeout","vendorService","alertService","spinnerAPI","queryService","PAGE",function(r,i,a,o,s,l,d,c,u,f){r.loadEditVendorView=function(e,t){var n={id:e.vendor_id};void 0!==t&&!0===t&&(n.force=(!0).toString()),r.loadView("vendors/edit",n)},r.clearFilter=function(){return r.meta.filterValue="",r.activeSearch=!1,r.filteredData=!1,u.query.clearSearch(),r.selectPage(1)},r.startFilter=function(){return r.activeSearch=!0,r.filteredData=!1,u.query.clearSearch(),u.query.addSearchField("*","contains",r.meta.filterValue),r.selectPage(1).then((function(){r.filteredData=!0}))},r.selectPage=function(t){return t&&e.isNumber(t)&&(r.meta.pageNumber=t),u.query.updatePagination(r.meta.pageNumber,r.meta.pageSize),r.fetch()},r.sortList=function(e,t){u.query.clearSort(),u.query.addSortField(e.sortBy,e.sortType,e.sortDirection),t||r.fetch()},r.triggerToggleSearch=function(e){27===e.keyCode&&r.toggleSearch(!0),13===e.keyCode&&r.toggleSearch()},r.toggleSearch=function(e){var t=r.meta.filterValue;return t||!r.activeSearch&&!r.filteredData?e&&r.activeSearch?r.clearFilter():t?r.startFilter():void 0:r.clearFilter()},r.fetch=function(){return c.start("loadingSpinner"),l.fetchList(r.meta).then((function(e){r.vendors=e.items,r.totalItems=e.totalItems,r.totalPages=e.totalPages}),(function(e){d.add({type:"danger",message:e,id:"errorFetch"})})).then((function(){r.loading=!1,c.stop("loadingSpinner")}))},r.setVenderStatus=function(e){return c.start("loadingSpinner"),e.enabled?l.enableVendor(e.vendor_id).then((function(n){e.enabled=!0,0===e.in_use?r.loadEditVendorView(e,!0):d.add({type:"success",message:t.maketext("You have successfully enabled the vendor: [_1]",e.name),id:"enableSuccess"})}),(function(t){d.add({type:"danger",message:t,id:"enableFailed"}),e.enabled=!1})).then((function(){c.stop("loadingSpinner")})):l.disableVendor(e.vendor_id).then((function(n){e.enabled=!1,d.add({type:"success",message:t.maketext("You have successfully disabled the vendor: [_1]",e.name),id:"disableSuccess"})}),(function(e){d.add({type:"danger",message:e,id:"disableFailed"})})).then((function(){c.stop("loadingSpinner")}))},r.setVenderUpdate=function(e){return c.start("loadingSpinner"),e.update?l.enableVendorUpdates(e.vendor_id).then((function(n){e.update=!0,d.add({type:"success",message:t.maketext("You have successfully enabled automatic updates for the vendor: [_1]",e.name),id:"enableUpdatesSuccess"})}),(function(e){d.add({type:"danger",message:e,id:"enableUpdatesFailed"})})).then((function(){c.stop("loadingSpinner")})):l.disableVendorUpdates(e.vendor_id).then((function(n){e.update=!1,d.add({type:"success",message:t.maketext("You have successfully disabled automatic updates for the vendor: [_1]",e.name),id:"disableUpdatesSuccess"})}),(function(e){d.add({type:"danger",message:e,id:"disableUpdatesFailed"})})).then((function(){c.stop("loadingSpinner")}))},r.install=function(e){return e.installing=!0,l.saveVendor(e.installed_from).then((function(){return e.installed=!0,d.add({type:"success",message:t.maketext("You have successfully installed the vendor: [_1]",e.name),id:"installSuccess"}),c.stop("loadingSpinner"),r.fetch()}),(function(n){throw d.add({type:"danger",message:t.maketext("The system experienced the following error when it attempted to install the “[_1]” vendor: [_2]",e.name,n),id:"installFailed"}),n})).finally((function(){delete e.installing}))},r.delete=function(e){return e.deleting=!0,l.deleteVendor(e.vendor_id).then((function(){return d.add({type:"success",message:t.maketext("You have successfully removed the vendor: [_1]",e.name),id:"deleteSuccess"}),r.fetch()}),(function(n){throw delete e.deleting,d.add({type:"danger",message:t.maketext("The system experienced the following error when it attempted to remove the vendor [_1]: [_2]",e.name,n),id:"deleteFailed"}),n}))},r.isDeleting=function(e){return e.deleting},r.showDeleteConfirm=function(e){if(e.is_pkg)return window.location.assign("../../scripts7/EasyApache4/review?uninstall="+e.is_pkg),!0;r.lastConfirm&&(delete r.lastConfirm.deleteConfirm,delete r.lastConfirm.installConfirm),e.deleteConfirm=!0,r.lastConfirm=e},r.hideDeleteConfirm=function(e){delete e.deleteConfirm},r.canShowDeleteConfirm=function(e){return!!e.deleteConfirm},r.isVendorInstalled=function(e){return e.installed},r.isInstalling=function(e){return e.installing},r.showInstallConfirm=function(e){r.lastConfirm&&(delete r.lastConfirm.deleteConfirm,delete r.lastConfirm.installConfirm),e.installConfirm=!0,r.lastConfirm=e},r.hideInstallConfirm=function(e){delete e.installConfirm},r.canShowInstallConfirm=function(e){return!!e.installConfirm},r.shouldShowDialog=function(e){return r.canShowDeleteConfirm(e)||r.canShowInstallConfirm(e)},r.loading=!0,r.vendors=[],r.totalPages=0,r.totalItems=0,r.activeSearch=!1,r.filteredData=!1,r.lastConfirm=null;var p=u.route.hasPaging(),v=u.DEFAULT_PAGE_SIZE,m=1;p&&(v=u.route.getPageSize(),m=u.route.getPage());var g=u.route.getSortProperties("enabled","","asc"),h=u.route.hasSearch(),b=u.route.getSearch();if(r.meta={filterBy:h?b[0].field:"*",filterCompare:h?b[0].type:"contains",filterValue:h?b[0].value:"",pageSize:p?v:u.DEFAULT_PAGE_SIZE,pageNumber:p?m:1,sortDirection:g.direction,sortBy:g.field,sortType:g.type,pageSizes:u.DEFAULT_PAGE_SIZES},r.$watch("meta.filterValue",(function(e,t){e!==t&&(r.activeSearch=!1)})),r.$watch("meta.pageSize",(function(e,t){e!==t&&r.selectPage(1)})),r.activeSearch=r.filteredData=!!r.meta.filterValue,r.isInstalled=f.installed,r.exception=u.prefetch.failed(f.vendors)?u.prefetch.getMetaMessage(f.vendors):"",n.firstLoad.vendors&&f.vendors){n.firstLoad.vendors=!1,r.loading=!1;var S=l.prepareList(f.vendors);r.vendors=S.items,r.totalItems=S.totalItems,r.totalPages=S.totalPages}else s((function(){r.selectPage(1)}))}])})),define("app/directives/ruleVendorUrlValidator",["angular","lodash","cjt/validator/validator-utils","cjt/util/locale","cjt/validator/domain-validators","cjt/validator/validateDirectiveFactory"],(function(e,t,n,r,i){var a=["http","https"],o=new RegExp("^(?:"+t.map(a,(function(e){return e+":"})).join("|")+")$","i"),s=/^meta_[a-zA-Z0-9_-]+\.yaml$/,l=/^meta_/,d=/\.yaml$/,c={isModsecVendorUrl:function(e){var t=n.initializeValidationResult();if(e){var c=e.split(/\//),u=c.length,f=u-1;if(u<4)return t.isValid=!1,t.add("isModsecVendorUrl",r.maketext("The URL must contain a protocol, domain, and file name in the correct format. (Example: [asis,https://example.com/example/meta_example.yaml])")),t;if(!o.test(c[0]))return t.isValid=!1,t.add("isModsecVendorUrl",r.maketext("The URL must use one of the following recognized protocols: [join,~, ,_1]",a)),t;if(""!==c[1])return t.isValid=!1,t.add("isModsecVendorUrl",r.maketext("The protocol should be followed by a colon and two forward slashes. (Example: [asis,https://])")),t;var p=i.methods.fqdn(c[2]);if(!p.isValid)return t.isValid=!1,t.add("isModsecVendorUrl",p.messages[0].message),t;if(f<3)t.add("isModsecVendorUrl",r.maketext("The file name must start with meta_, followed by the vendor name and have the .yaml extension. (Example: [asis,meta_example.yaml])"));else{var v=c[f];if(!s.test(v)){t.isValid=!1;var m=!l.test(v),g=!d.test(v);return m+g>1?t.add("isModsecVendorUrl",r.maketext("The file name must use the meta_ prefix, followed by the vendor name and a .yaml extension. The vendor name must only contain characters in the following set: [join,~, ,_1] (Example: [asis,meta_example.yaml])",["a-z","A-Z","0-9","-","_"])):m?t.add("isModsecVendorUrl",r.maketext("The file name must use the meta_ prefix. (Example: [asis,meta_example.yaml])")):g?t.add("isModsecVendorUrl",r.maketext("The file name must have the .yaml extension. (Example: [asis,meta_example.yaml])")):t.add("isModsecVendorUrl",r.maketext("The vendor name part of the file name must only contain characters in the following set: [join,~, ,_1] (Example: [asis,meta_example.yaml])",["a-z","A-Z","0-9","-","_"])),t}}}return t}};return e.module("cjt2.validate").run(["validatorFactory",function(e){e.generate(c)}]),{methods:c,name:"ruleVendorUrlValidator",description:"Validation directives for rule vendor urls.",version:11.48}})),define("app/views/addVendorController",["angular","lodash","cjt/util/locale","uiBootstrap","cjt/directives/autoFocus","cjt/directives/spinnerDirective","cjt/directives/validationItemDirective","cjt/directives/validationContainerDirective","cjt/services/alertService","app/services/vendorService","app/directives/ruleVendorUrlValidator","cjt/filters/notApplicableFilter"],(function(e,t,n){"use strict";return e.module("App").controller("addVendorController",["$scope","$filter","spinnerAPI","alertService","vendorService",function(r,i,a,o,s){r.disableForm=function(e){return e.$pristine||e.$dirty&&e.$invalid||r.loading},r.load=function(n){return o.clear(),a.start("loadingSpinner"),r.loading=!0,s.loadVendor(n).then((function(t){e.extend(r.vendor,t),r.vendor.isLoaded=!0,r.vendor.report_url=i("na")(r.vendor.report_url)}),(function(e){o.add({type:"danger",message:t.escape(e),id:"errorLoadVendorConfig"}),r.vendor.isLoaded=!1})).finally((function(){a.stop("loadingSpinner"),r.loading=!1}))},r.save=function(e){return o.clear(),a.start("savingSpinner"),s.saveVendor(e).then((function(e){o.add({type:"success",message:n.maketext("You have successfully added “[_1]” to the vendor configuration list.",e.name),id:"successSaveVendorConfig"}),r.loadView("/vendors")}),(function(e){o.add({type:"danger",message:t.escape(e),id:"errorSaveVendorConfig"}),r.scrollTo("top")})).finally((function(){a.stop("savingSpinner")}))},r.cancel=function(){o.clear(),r.loadView("vendors")},r.clearForm=function(){r.vendor={enabled:!0,isLoaded:!1},o.clear()},r.showSSLwarning=!1,r.vendorURLchange=function(e){var t=!1,n=/^(https?):\/\//.exec(e);n&&"http"===n[1]&&(t=!0),r.showSSLwarning=t},r.isEditor=!1,r.clearForm()}])})),define("app/views/enableDisableConfigController",["angular","lodash","cjt/util/locale","cjt/util/parse","uiBootstrap","cjt/directives/toggleSortDirective","cjt/directives/spinnerDirective","cjt/directives/autoFocus","cjt/filters/wrapFilter","cjt/filters/breakFilter","cjt/filters/replaceFilter","cjt/directives/actionButtonDirective","cjt/directives/validationItemDirective","cjt/services/alertService","app/services/vendorService"],(function(e,t,n,r){e.module("App").controller("enableDisableConfigController",["$scope","$q","$location","$timeout","vendorService","alertService","spinnerAPI",function(i,a,o,s,l,d,c){var u=function(){var e=o.search().force;i.force=!!e&&r.parseBoolean(e)},f=function(){u();var e=o.search().id;e?i.fetch(e):d.add({type:"danger",message:n.maketext("The system failed to pass the ID query string parameter."),id:"errorInvalidParameterId"})},p=function(){i.serverRequest=!0,u(),i.$parent.vendor&&i.$parent.vendor.configs&&(i.configs=i.$parent.vendor.configs,i.serverRequest=!1,v())},v=function(){var e=0;i.configs.forEach((function(t){t.enabled&&e++})),i.totalEnabled=e,i.totalDisabled=i.configs.length-e};i.$watch("filter",(function(e,t){e?(e=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1"),i.filterExpression=new RegExp(e,"i")):i.filterExpression=null})),i.filterConfigs=function(e){return!i.filterExpression||(i.filterExpression.test(e.config)||e.exception&&i.filterExpression.test(e.exception))},i.triggerClearFilter=function(e){27===e.keyCode&&i.clearFilter()},i.clearFilter=function(){i.filter=""},i.toggleFilter=function(){i.filter&&i.clearFilter()},i.vendor||(i.fetch=function(e){return i.serverRequest=!0,c.start("loadingSpinner2"),l.fetchVendorById(e).then((function(e){i.vendor=e,i.configs=e.configs}),(function(e){d.add({type:"danger",message:e,id:"errorFetchRulesList"})})).finally((function(){i.serverRequest=!1,v(),c.stop("loadingSpinner2")}))}),i.setConfig=function(e){var t=e.enabled?"enable":"disable",r="enable"===t,i=r?n.maketext("You have successfully enabled the configuration file: [_1]",e.config):n.maketext("You have successfully disabled the configuration file: [_1]",e.config);return c.start("loadingSpinner2"),e.serverRequest=!0,l[t+"Config"](e.config).then((function(){h(),e.enabled=r,e.exception&&delete e.exception,d.add({type:"success",message:i,id:t+"OneSuccess"})}),(function(t){e.enabled=!r,e.exception=t})).finally((function(){g(),v(),delete e.serverRequest,c.stop("loadingSpinner2")}))};var m=function(n,r){e.forEach(r,(function(e){var r=t.find(n,(function(t){return t.config===e.config}));r.enabled=e.enabled,e.ok?r.exception&&delete r.exception:r.exception=e.exception}))},g=function(){var e=t.find(i.configs,(function(e){return!!e.exception}));i.hasIssues=void 0!==e};i.hasIssue=function(e){return!!e.exception};var h=function(){delete i.hasIssues};function b(e){if(!("enable"===e&&0===i.totalDisabled||"disable"===e&&0===i.totalEnabled)){var t={disable:{success:n.maketext("You have successfully disabled all of the configuration files."),partial:n.maketext("You have successfully disabled some of the configuration files. The files that the system failed to disable are marked below."),failure:n.maketext("The system could not disable the configuration files.")},enable:{success:n.maketext("You have successfully enabled all of the configuration files."),partial:n.maketext("You have successfully enabled some of the configuration files. The files that the system failed to enable are marked below."),failure:n.maketext("The system could not enable the configuration files.")}};return c.start("loadingSpinner2"),i.serverRequest=!0,l[e+"AllConfigs"](i.vendor.vendor_id).then((function(n){h(),m(i.configs,n.configs),d.add({type:"success",message:t[e].success,id:e+"AllSuccess"})}),(function(n){h(),n.configs.length?(m(i.configs,n.configs),d.add({type:"warning",message:t[e].partial,id:e+"AllWarning"})):d.add({type:"danger",message:t[e].failure,id:e+"AllError"})})).finally((function(){g(),v(),i.serverRequest=!1,c.stop("loadingSpinner2")}))}}i.enableAllConfigs=function(){return b("enable")},i.disableAllConfigs=function(){return b("disable")},i.buttonDisabled=function(e,t){if(i.serverRequest)return!0;switch(e){case"enableAll":return 0===i.totalDisabled;case"disableAll":return 0===i.totalEnabled;case"configToggle":return t}},i.$parent.vendor&&i.$parent.$watch("vendor.configs",(function(){p()})),i.$on("$viewContentLoaded",(function(){i.vendor?i.vendor.configs||p():f()})),i.filter="",i.filterExpression=null,i.hasIssues=!1,i.meta={sortBy:"config",sortDirection:"asc"},h(),i.configs=[]}])})),define("app/views/editVendorController",["angular","cjt/util/locale","cjt/util/parse","uiBootstrap","cjt/directives/autoFocus","cjt/directives/spinnerDirective","cjt/services/alertService","app/services/vendorService","app/views/enableDisableConfigController","cjt/filters/notApplicableFilter"],(function(e,t,n){e.module("App").controller("editVendorController",["$scope","$filter","$routeParams","spinnerAPI","alertService","vendorService",function(r,i,a,o,s,l){function d(e,t){s.add({type:"danger",message:e,id:t}),r.scrollTo("top")}r.loadVendor=function(c){a["suppress-clear-alert"]&&n.parseBoolean(a["suppress-clear-alert"])||s.clear(),c?(o.start("loadingSpinner"),l.fetchVendorById(c).then((function(t){e.extend(r.vendor,t),r.vendor.report_url=i("na")(r.vendor.report_url)}),(function(e){d(e,"errorLoadVendorConfig")})).finally((function(){o.stop("loadingSpinner")}))):d(t.maketext("An error occurred in the attempt to retrieve the vendor information."),"errorNoVendorID")},r.toggleDetails=function(){r.hideDetails=!r.hideDetails},r.isEditor=!0,r.hideDetails=!0,r.vendor={id:a.id},r.$on("$viewContentLoaded",(function(){r.loadVendor(r.vendor.id)}))}])})),define("app/vendors",["angular","jquery","lodash","cjt/core","cjt/modules","ngRoute","uiBootstrap"],(function(e,t,n,r){return e.module("App",["cjt2.config.whm.configProvider","ngRoute","ui.bootstrap","cjt2.whm"]),require(["cjt/bootstrap","cjt/util/locale","cjt/views/applicationController","app/views/commonController","app/views/vendorListController","app/views/addVendorController","app/views/enableDisableConfigController","app/views/editVendorController","cjt/services/autoTopService","cjt/services/whm/breadcrumbService","cjt/services/whm/titleService"],(function(t,n){var i=e.module("App");i.value("PAGE",PAGE),i.firstLoad={configs:!0,vendors:!0},i.config(["$routeProvider",function(e){e.when("/vendors",{controller:"vendorListController",templateUrl:r.buildFullPath("mod_security/views/vendorListView.ptt"),breadcrumb:n.maketext("Manage Vendors"),title:n.maketext("Manage Vendors"),reloadOnSearch:!1,group:"vendor",name:"vendors"}),e.when("/vendors/add",{controller:"addVendorController",templateUrl:r.buildFullPath("mod_security/views/addEditVendor.ptt"),breadcrumb:n.maketext("Add Vendor"),title:n.maketext("Add Vendor"),reloadOnSearch:!1,group:"vendor",name:"add"}),e.when("/vendors/edit",{controller:"editVendorController",templateUrl:r.buildFullPath("mod_security/views/addEditVendor.ptt"),breadcrumb:n.maketext("Select Vendor Rule Sets"),title:n.maketext("Select Vendor Rule Sets"),reloadOnSearch:!1,group:"vendor",name:"edit"}),e.otherwise({redirectTo:function(e,t,n){return"/vendors?"+window.location.search}})}]),i.run(["autoTopService","breadcrumbService","titleService",function(e,t,n){e.initialize(),t.initialize(),n.initialize()}]),t(document)}))}));
Back to Directory File Manager