diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 2ea4dea73..ec029607c 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -553,7 +553,16 @@ "restore_default_template": "Restore default templates", "default_template_restored": "Default templates restored", "clone_template": "Clone Template", - "template_cloned": "Template cloned" + "template_cloned": "Template cloned", + "task_scheduler": "Task scheduler", + "task_scheduler_description": "Dependency Track task scheduler perform various background tasks at a fixed interval. You can modify the fixed interval for each task using the form below. Each interval is expressed in hours. A Dependency Track restart is needed to reschedule the tasks with the updated cadence.", + "task_scheduler_ldap_sync": "LDAP sync", + "task_scheduler_portfolio_metrics_update": "Portfolio metrics", + "task_scheduler_vulnerability_metrics_update": "Vulnerability metrics", + "task_scheduler_portfolio_vulnerability_analysis": "Portfolio vulnerability analysis", + "task_scheduler_repository_metadata_fetch": "Repository metadata fetch", + "task_scheduler_internal_component_identification": "Internal component identification", + "task_scheduler_component_analysis_cache_clear": "Component analysis cache clear" }, "condition": { "warning": "Warning", @@ -615,7 +624,8 @@ }, "validation": { "required": "{_field_} is required", - "confirmed": "{_field_} doesn't match" + "confirmed": "{_field_} doesn't match", + "min_value": "{_field_} value should be above {min}" }, "404": { "heading": "Oops! This is awkward", diff --git a/src/validation/index.js b/src/validation/index.js index b70fe806c..b14f43f4b 100644 --- a/src/validation/index.js +++ b/src/validation/index.js @@ -1,5 +1,5 @@ import { extend, configure } from 'vee-validate' -import { required, confirmed } from 'vee-validate/dist/rules' +import { required, confirmed, min_value } from 'vee-validate/dist/rules' import i18n from '../i18n' @@ -10,3 +10,4 @@ configure({ extend('required', required); extend('confirmed', confirmed); +extend('min_value', min_value); diff --git a/src/views/administration/AdminMenu.vue b/src/views/administration/AdminMenu.vue index b46559582..12ea0a14c 100644 --- a/src/views/administration/AdminMenu.vue +++ b/src/views/administration/AdminMenu.vue @@ -58,6 +58,11 @@ component: 'InternalComponents', name: this.$t('admin.internal_components'), href: "#internalComponentsTab" + }, + { + component: 'TaskScheduler', + name: this.$t('admin.task_scheduler'), + href: "#taskSchedulerTab" } ] }, diff --git a/src/views/administration/Administration.vue b/src/views/administration/Administration.vue index 0c34a45c5..ce4c240ff 100644 --- a/src/views/administration/Administration.vue +++ b/src/views/administration/Administration.vue @@ -23,6 +23,7 @@ import BomFormats from "./configuration/BomFormats"; import Email from "./configuration/Email"; import InternalComponents from "./configuration/InternalComponents"; + import TaskScheduler from "./configuration/TaskScheduler.vue"; // Analyzer plugins import InternalAnalyzer from "./analyzers/InternalAnalyzer"; import OssIndexAnalyzer from "./analyzers/OssIndexAnalyzer"; @@ -61,7 +62,7 @@ components: { EventBus, AdminMenu, - General, BomFormats, Email, InternalComponents, + General, BomFormats, Email, InternalComponents, TaskScheduler, InternalAnalyzer, OssIndexAnalyzer, VulnDbAnalyzer, VulnSourceNvd, VulnSourceGitHubAdvisories, VulnSourceOSVAdvisories, Cargo, Composer, Gem, GoModules, Hex, Maven, Npm, Nuget, Python, diff --git a/src/views/administration/configuration/TaskScheduler.vue b/src/views/administration/configuration/TaskScheduler.vue new file mode 100644 index 000000000..98004a0c8 --- /dev/null +++ b/src/views/administration/configuration/TaskScheduler.vue @@ -0,0 +1,220 @@ + + + \ No newline at end of file