diff --git a/CSETWebNg/src/app/assessment/prepare/sals/sals.component.ts b/CSETWebNg/src/app/assessment/prepare/sals/sals.component.ts
index 73cb8ee901..be0d80a6cf 100644
--- a/CSETWebNg/src/app/assessment/prepare/sals/sals.component.ts
+++ b/CSETWebNg/src/app/assessment/prepare/sals/sals.component.ts
@@ -35,11 +35,14 @@ import { LayoutService } from '../../../services/layout.service';
})
export class SalsComponent implements OnInit {
- selectedSal = 'Simple';
+ selectedMethodology = 'Simple';
sal_Levels: Sal;
+ /**
+ *
+ */
constructor(
public salsSvc: SalService,
public navSvc: NavigationService,
@@ -49,10 +52,12 @@ export class SalsComponent implements OnInit {
ngOnInit() {
this.salsSvc.selectedSAL = new Sal();
+
this.salsSvc.getSalSelection().subscribe(
(data: Sal) => {
this.salsSvc.selectedSAL = data;
this.sal_Levels = data;
+
if (data.methodology.toLowerCase() === 'simple') {
data.methodology = 'Simple';
}
@@ -60,7 +65,7 @@ export class SalsComponent implements OnInit {
data.methodology = 'Simple';
}
- this.selectedSal = data.methodology;
+ this.selectedMethodology = data.methodology;
},
error => {
console.log('Error Getting all standards: ' + (
error).name + (error).message);
@@ -70,11 +75,12 @@ export class SalsComponent implements OnInit {
continue() { }
- changeState(newType: string) {
- this.selectedSal = newType;
- this.salsSvc.saveSALType(newType).subscribe(
- () => {
- },
+ /**
+ *
+ */
+ changeMethodology(newType: string) {
+ this.selectedMethodology = newType;
+ this.salsSvc.saveSALType(newType).subscribe((data) => { },
error => {
console.log('Error posting change: ' + (error).name + (error).message);
console.log('Error posting change: ' + (error).stack);
diff --git a/CSETWebNg/src/app/services/sal.service.ts b/CSETWebNg/src/app/services/sal.service.ts
index cf615c9c47..734521ea6d 100644
--- a/CSETWebNg/src/app/services/sal.service.ts
+++ b/CSETWebNg/src/app/services/sal.service.ts
@@ -26,6 +26,7 @@ import { Injectable } from '@angular/core';
import { NistSpecialFactor } from '../assessment/prepare/sals/sal-nist/nist-sal.models';
import { Sal } from '../models/sal.model';
import { ConfigService } from './config.service';
+import { TranslocoService } from '@ngneat/transloco';
const headers = {
headers: new HttpHeaders()
@@ -53,7 +54,11 @@ export class SalService {
{ value: 'Very High', imagepath: 'M6.422 36.273C6.478 19.778 19.865 6.419 36.374 6.419 52.883 6.419 66.27 19.778 66.326 36.273L72.748 36.273C72.691 16.232 56.429 0 36.374 0 16.319 0 0.056 16.232 0 36.273zM36.294 41.026C32.884 40.992 30.147 38.2 30.182 34.789 30.216 31.379 33.008 28.64 36.418 28.676 37.641 28.686 38.775 29.06 39.728 29.682L55.472 35.042 39.623 40.085C38.657 40.691 37.518 41.039 36.294 41.026' }
];
- constructor(private http: HttpClient, private configSvc: ConfigService) {
+ constructor(
+ private http: HttpClient,
+ private configSvc: ConfigService,
+ public tSvc: TranslocoService
+ ) {
this.apiUrl = this.configSvc.apiUrl + 'SAL';
this.apiUrlGenSal = this.configSvc.apiUrl + 'GeneralSal';
}
@@ -97,7 +102,7 @@ export class SalService {
return this.http.get(this.apiUrl + '/NistData');
}
- updateSal(updateSal: any): any {
+ updateNistSalSelection(updateSal: any): any {
return this.http.post(this.apiUrl + '/NistData', updateSal, headers);
}
@@ -131,31 +136,21 @@ export class SalService {
// for now, let's just try to fit the text
return level;
-
- // switch (level.toLowerCase()) {
- // case "low":
- // return "L";
- // case "moderate":
- // return "M";
- // case "high":
- // return "H";
- // case "very high":
- // return "VH";
- // }
- // return "";
}
/**
* Primarily used to shorten the word MODERATE on NIST SAL grid
* because it is too wide to display well on a phone.
+ *
+ * Also translates to non-English if needed
* @param level
*/
getDisplayLevel(level: string): string {
if (level === 'MODERATE') {
- return 'MOD';
+ level = 'MOD';
}
- return level;
+ return this.tSvc.translate('titles.sal.nist.' + level.toLowerCase());
}
}
diff --git a/CSETWebNg/src/assets/i18n/en.json b/CSETWebNg/src/assets/i18n/en.json
index 73963450e9..23a4a69015 100644
--- a/CSETWebNg/src/assets/i18n/en.json
+++ b/CSETWebNg/src/assets/i18n/en.json
@@ -25,6 +25,7 @@
"state province region": "State/Province/Region",
"state, province, or region": "State, Province, or Region",
"assessment type": "Assessment Type",
+ "type": "Type",
"demographics": "Demographics",
"select type": "Select Type",
"sector": "Sector",
@@ -91,23 +92,42 @@
"availability text": "This value relates to the importance of information being readily available. The more important it is to have your information available for use the higher your SAL level.",
"simple": "Simple",
"general risk based": "General Risk Based",
- "gen sal text1": "Answer the following questions to help determine the SAL for your assessment by selecting the potential impacts on people and/or economic factors in the event your system is compromised.",
- "gen sal injuries": "Injuries",
- "gen sal injuries desc": "If control systems were maliciously accessed and manipulated to cause harm, how many people could sustain injuries not requiring hospital stay in a worst-case scenario? (Consider injuries caused due to any reason.)",
- "gen sal hospitalizations": "Hospitalizations",
- "gen sal hospitalizations desc": "If control systems were maliciously accessed and manipulated to cause harm, how many people could sustain injuries requiring hospital stay in a worst-case scenario? (Consider injuries caused due to any reason.)",
- "gen sal deaths": "Deaths",
- "gen sal deaths desc": "If control systems are maliciously accessed and manipulated to cause harm, how many people could be killed in a worst-case scenario? (Consider injuries caused due to any reason.)",
- "gen sal capital loss": "Capital Loss",
- "gen sal capital loss desc": "For a worst-case scenario, estimate the potential cost of losing capital assets or the overall economic impact. (Consider the cost of site buildings, facilities, equipment, etc.)",
- "gen sal economic impact": "Economic Impact",
- "gen sal economic impact desc": "For a worst-case scenario, estimate the potential cost in terms of economic impact to both the site and surrounding communities. (Consider any losses to community structures and use and any costs associated with displacement.)",
- "gen sal environmental": "Environmental",
- "gen sal environmental desc": "For a worst-case scenario, estimate the potential cost of environmental cleanup to the site and surrounding communities. (Consider the cost for cleanup, fines, litigation, long-term monitoring, etc.)",
- "gen sal none": "None",
- "gen sal on site": "On Site",
- "gen sal off site": "Off Site",
+ "gen sal": {
+ "text1": "Answer the following questions to help determine the SAL for your assessment by selecting the potential impacts on people and/or economic factors in the event your system is compromised.",
+ "injuries": "Injuries",
+ "injuries desc": "If control systems were maliciously accessed and manipulated to cause harm, how many people could sustain injuries not requiring hospital stay in a worst-case scenario? (Consider injuries caused due to any reason.)",
+ "hospitalizations": "Hospitalizations",
+ "hospitalizations desc": "If control systems were maliciously accessed and manipulated to cause harm, how many people could sustain injuries requiring hospital stay in a worst-case scenario? (Consider injuries caused due to any reason.)",
+ "deaths": "Deaths",
+ "deaths desc": "If control systems are maliciously accessed and manipulated to cause harm, how many people could be killed in a worst-case scenario? (Consider injuries caused due to any reason.)",
+ "capital loss": "Capital Loss",
+ "capital loss desc": "For a worst-case scenario, estimate the potential cost of losing capital assets or the overall economic impact. (Consider the cost of site buildings, facilities, equipment, etc.)",
+ "economic impact": "Economic Impact",
+ "economic impact desc": "For a worst-case scenario, estimate the potential cost in terms of economic impact to both the site and surrounding communities. (Consider any losses to community structures and use and any costs associated with displacement.)",
+ "environmental": "Environmental",
+ "environmental desc": "For a worst-case scenario, estimate the potential cost of environmental cleanup to the site and surrounding communities. (Consider the cost for cleanup, fines, litigation, long-term monitoring, etc.)",
+ "none": "None",
+ "on site": "On Site",
+ "off site": "Off Site"
+ },
"nist 60 fips 199": "NIST-60 / FIPS-199",
+ "nist": {
+ "fips guide text": "The FIPS 199 guide below will help you learn how to determine the overall security categorization of the system under assessment. If you are unfamiliar with the FIPS 199 SAL Determination screen, please read the guide before proceeding.",
+ "fips other guides": "Other Guides:",
+ "selected information types": "CIA Values Based on Selected Information Types",
+ "check applicable": "Check applicable information types.",
+ "tooltip c": "Clicking this will overwrite the Confidentiality Special Factor",
+ "tooltip i": "Clicking this will overwrite the Integrity Special Factor",
+ "tooltip a": "Clicking this will overwrite the Availabilty Special Factor",
+ "confirmation": "This will overwrite the current {cia} special factor text. Do you want to continue?",
+ "low": "LOW",
+ "mod": "MOD",
+ "high": "HIGH",
+ "none": "NONE",
+ "answer questions": "Answer Questions",
+ "yes": "Yes",
+ "no": "No"
+ },
"low": "Low",
"moderate": "Moderate",
"high": "High",
diff --git a/CSETWebNg/src/assets/i18n/es.json b/CSETWebNg/src/assets/i18n/es.json
index 99593897ad..6be1b31eba 100644
--- a/CSETWebNg/src/assets/i18n/es.json
+++ b/CSETWebNg/src/assets/i18n/es.json
@@ -22,6 +22,7 @@
"state province region": "Estado/provincia/región",
"state, province, or region": "Estado, provincia, o región",
"assessment type": "Tipo de evaluación",
+ "type": "Tipo",
"demographics": "Demografía",
"select type": "Selecctionar tipo",
"sector": "Sector",
@@ -136,23 +137,42 @@
"availability text": "[ES]This value relates to the importance of information being readily available. The more important it is to have your information available for use the higher your SAL level.",
"simple": "Sencillo",
"general risk based": "Basado en riesgos generales",
- "gen sal text1": "[ES]Answer the following questions to help determine the SAL for your assessment by selecting the potential impacts on people and/or economic factors in the event your system is compromised.",
- "gen sal injuries": "[ES]Injuries",
- "gen sal injuries desc": "[ES]If control systems were maliciously accessed and manipulated to cause harm, how many people could sustain injuries not requiring hospital stay in a worst-case scenario? (Consider injuries caused due to any reason.)",
- "gen sal hospitalizations": "[ES]Hospitalizations",
- "gen sal hospitalizations desc": "[ES]If control systems were maliciously accessed and manipulated to cause harm, how many people could sustain injuries requiring hospital stay in a worst-case scenario? (Consider injuries caused due to any reason.)",
- "gen sal deaths": "[ES]Deaths",
- "gen sal deaths desc": "[ES]If control systems are maliciously accessed and manipulated to cause harm, how many people could be killed in a worst-case scenario? (Consider injuries caused due to any reason.)",
- "gen sal capital loss": "[ES]Capital Loss",
- "gen sal capital loss desc": "[ES]For a worst-case scenario, estimate the potential cost of losing capital assets or the overall economic impact. (Consider the cost of site buildings, facilities, equipment, etc.)",
- "gen sal economic impact": "[ES]Economic Impact",
- "gen sal economic impact desc": "[ES]For a worst-case scenario, estimate the potential cost in terms of economic impact to both the site and surrounding communities. (Consider any losses to community structures and use and any costs associated with displacement.)",
- "gen sal environmental": "[ES]Environmental",
- "gen sal environmental desc": "[ES]For a worst-case scenario, estimate the potential cost of environmental cleanup to the site and surrounding communities. (Consider the cost for cleanup, fines, litigation, long-term monitoring, etc.)",
- "gen sal none": "Ninguno",
- "gen sal on site": "En el sitio",
- "gen sal off site": "Fuera de sitio",
+ "gen sal": {
+ "text1": "[ES]Answer the following questions to help determine the SAL for your assessment by selecting the potential impacts on people and/or economic factors in the event your system is compromised.",
+ "injuries": "[ES]Injuries",
+ "injuries desc": "[ES]If control systems were maliciously accessed and manipulated to cause harm, how many people could sustain injuries not requiring hospital stay in a worst-case scenario? (Consider injuries caused due to any reason.)",
+ "hospitalizations": "[ES]Hospitalizations",
+ "hospitalizations desc": "[ES]If control systems were maliciously accessed and manipulated to cause harm, how many people could sustain injuries requiring hospital stay in a worst-case scenario? (Consider injuries caused due to any reason.)",
+ "deaths": "[ES]Deaths",
+ "deaths desc": "[ES]If control systems are maliciously accessed and manipulated to cause harm, how many people could be killed in a worst-case scenario? (Consider injuries caused due to any reason.)",
+ "capital loss": "[ES]Capital Loss",
+ "capital loss desc": "[ES]For a worst-case scenario, estimate the potential cost of losing capital assets or the overall economic impact. (Consider the cost of site buildings, facilities, equipment, etc.)",
+ "economic impact": "[ES]Economic Impact",
+ "economic impact desc": "[ES]For a worst-case scenario, estimate the potential cost in terms of economic impact to both the site and surrounding communities. (Consider any losses to community structures and use and any costs associated with displacement.)",
+ "environmental": "[ES]Environmental",
+ "environmental desc": "[ES]For a worst-case scenario, estimate the potential cost of environmental cleanup to the site and surrounding communities. (Consider the cost for cleanup, fines, litigation, long-term monitoring, etc.)",
+ "none": "Ninguno",
+ "on site": "En el sitio",
+ "off site": "Fuera de sitio"
+ },
"nist 60 fips 199": "NIST-60 / FIPS-199",
+ "nist": {
+ "fips guide text": "[ES]The FIPS 199 guide below will help you learn how to determine the overall security categorization of the system under assessment. If you are unfamiliar with the FIPS 199 SAL Determination screen, please read the guide before proceeding.",
+ "fips other guides": "[ES]Other Guides:",
+ "selected information types": "[ES]CIA Values Based on Selected Information Types",
+ "check applicable": "[ES]Check applicable information types.",
+ "tooltip c": "[ES]Clicking this will overwrite the Confidentiality Special Factor",
+ "tooltip i": "[ES]Clicking this will overwrite the Integrity Special Factor",
+ "tooltip a": "[ES]Clicking this will overwrite the Availabilty Special Factor",
+ "confirmation": "[ES]This will overwrite the current {cia} special factor text. Do you want to continue?",
+ "low": "BAJO",
+ "mod": "MOD",
+ "high": "ALT",
+ "none": "NO",
+ "answer questions": "Preguntas",
+ "yes": "Sí",
+ "no": "No"
+ },
"low": "Bajo",
"moderate": "Moderado",
"high": "Alto",
diff --git a/CSETWebNg/src/assets/i18n/uk.json b/CSETWebNg/src/assets/i18n/uk.json
index d58a1704f8..b8381d5ea8 100644
--- a/CSETWebNg/src/assets/i18n/uk.json
+++ b/CSETWebNg/src/assets/i18n/uk.json
@@ -24,6 +24,7 @@
"city or site name": "Назва міста або сайту",
"state province region": "Штат / Провінція / Регіон",
"assessment type": "Тип оцінки",
+ "type": "Тип",
"demographics": "Демографія",
"select type": "Виберіть тип",
"sector": "Сектор",
@@ -85,23 +86,42 @@
"availability text": "[UK]This value relates to the importance of information being readily available. The more important it is to have your information available for use the higher your SAL level.",
"simple": "просто",
"general risk based": "Загальний ризик",
- "gen sal text1": "[UK]Answer the following questions to help determine the SAL for your assessment by selecting the potential impacts on people and/or economic factors in the event your system is compromised.",
- "gen sal injuries": "[UK] Injuries",
- "gen sal injuries desc": "[UK]If control systems were maliciously accessed and manipulated to cause harm, how many people could sustain injuries not requiring hospital stay in a worst-case scenario? (Consider injuries caused due to any reason.)",
- "gen sal hospitalizations": "[UK] Hospitalizations",
- "gen sal hospitalizations desc": "[UK]If control systems were maliciously accessed and manipulated to cause harm, how many people could sustain injuries requiring hospital stay in a worst-case scenario? (Consider injuries caused due to any reason.)",
- "gen sal deaths": "[UK] Deaths",
- "gen sal deaths desc": "[UK]If control systems are maliciously accessed and manipulated to cause harm, how many people could be killed in a worst-case scenario? (Consider injuries caused due to any reason.)",
- "gen sal capital loss": "[UK] Capital Loss",
- "gen sal capital loss desc": "[UK]For a worst-case scenario, estimate the potential cost of losing capital assets or the overall economic impact. (Consider the cost of site buildings, facilities, equipment, etc.)",
- "gen sal economic impact": "[UK] Economic Impact",
- "gen sal economic impact desc": "[UK]For a worst-case scenario, estimate the potential cost in terms of economic impact to both the site and surrounding communities. (Consider any losses to community structures and use and any costs associated with displacement.)",
- "gen sal environmental": "[UK] Environmental",
- "gen sal environmental desc": "[UK]For a worst-case scenario, estimate the potential cost of environmental cleanup to the site and surrounding communities. (Consider the cost for cleanup, fines, litigation, long-term monitoring, etc.)",
- "gen sal none": "Жодного",
- "gen sal on site": "На сайті",
- "gen sal off site": "Поза сайтом",
+ "gen sal": {
+ "text1": "[UK]Answer the following questions to help determine the SAL for your assessment by selecting the potential impacts on people and/or economic factors in the event your system is compromised.",
+ "injuries": "[UK] Injuries",
+ "injuries desc": "[UK]If control systems were maliciously accessed and manipulated to cause harm, how many people could sustain injuries not requiring hospital stay in a worst-case scenario? (Consider injuries caused due to any reason.)",
+ "hospitalizations": "[UK] Hospitalizations",
+ "hospitalizations desc": "[UK]If control systems were maliciously accessed and manipulated to cause harm, how many people could sustain injuries requiring hospital stay in a worst-case scenario? (Consider injuries caused due to any reason.)",
+ "deaths": "[UK] Deaths",
+ "deaths desc": "[UK]If control systems are maliciously accessed and manipulated to cause harm, how many people could be killed in a worst-case scenario? (Consider injuries caused due to any reason.)",
+ "capital loss": "[UK] Capital Loss",
+ "capital loss desc": "[UK]For a worst-case scenario, estimate the potential cost of losing capital assets or the overall economic impact. (Consider the cost of site buildings, facilities, equipment, etc.)",
+ "economic impact": "[UK] Economic Impact",
+ "economic impact desc": "[UK]For a worst-case scenario, estimate the potential cost in terms of economic impact to both the site and surrounding communities. (Consider any losses to community structures and use and any costs associated with displacement.)",
+ "environmental": "[UK] Environmental",
+ "environmental desc": "[UK]For a worst-case scenario, estimate the potential cost of environmental cleanup to the site and surrounding communities. (Consider the cost for cleanup, fines, litigation, long-term monitoring, etc.)",
+ "none": "Жодного",
+ "on site": "На сайті",
+ "off site": "Поза сайтом"
+ },
"nist 60 fips 199": "NIST-60 / FIPS-199",
+ "nist": {
+ "fips guide text": "Нижче поданий посібник FIPS 199 допоможе вам вивчити, як визначити загальну категоризацію безпеки системи, яка перебуває на оцінці. Якщо вам невідомий екран визначення SAL за FIPS 199, будь ласка, прочитайте посібник перед продовженням.",
+ "fips other guides": "Інші посібники:",
+ "selected information types": "Цінності CIA на основі обраних типів інформації.",
+ "check applicable": "Перевірте застосовні типи інформації.",
+ "tooltip c": "Клацання цього призведе до перезапису Особливого фактора конфіденційності.",
+ "tooltip i": "Клацання цього призведе до перезапису Особливого фактора цілісності.",
+ "tooltip a": "Клацання цього призведе до перезапису Особливого фактора доступності.",
+ "confirmation": "Це перезапише поточний текст особливого фактора {cia}. Бажаєте продовжити?",
+ "low": "НИЗЬК",
+ "mod": "СЕР",
+ "high": "ВИЩ",
+ "none": "ВІДСУТ",
+ "answer questions": "Питання",
+ "yes": "Так",
+ "no": "Ні"
+ },
"low": "Низький",
"moderate": "Помірний",
"high": "Високий",
@@ -310,6 +330,12 @@
"mil-4": "MIL-4",
"mil-5": "MIL-5"
},
+ "dialogs": {
+ "please confirm": "Підтвердження",
+ "remove contact": "Are you sure you want to remove {{firstName}} {{lastName}} from this assessment?",
+ "remove assessment": "Are you sure you want to remove {{assessmentName}}?",
+ "confirm create new assessment": "Are you sure you want to create a new assessment?"
+ },
"reports": {
"standard": "Стандартний",
"category": "Категорія",