-
Notifications
You must be signed in to change notification settings - Fork 256
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4217 from cisagov/feature/CSET-2885
- Loading branch information
Showing
17 changed files
with
288 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
94 changes: 94 additions & 0 deletions
94
CSETWebNg/src/app/assessment/prepare/maturity/cmmc2-levels/cmmc2-levels.component.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
<!---------------------- | ||
Copyright 2024 Battelle Energy Alliance, LLC | ||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. | ||
--------------------------> | ||
<div class="white-panel d-flex justify-content-start flex-column flex-11a" *transloco="let t"> | ||
<h3 class="wrap-text mb-3">{{t('titles.cmmc target level selection')}}</h3> | ||
|
||
<p> | ||
Select the level appropriate to your organization's assessment. | ||
</p> | ||
|
||
<div class="d-flex flex-row my-3"> | ||
<div class="w-25 text-center align-content-center"> | ||
<label class="btn btn-l1 form-check-label" [class.answer-selected]="selectedLevel == 1" | ||
(click)="saveLevel(1)"> | ||
<input name="q_L1" class="btn-check" type="radio" autocomplete="off" | ||
[checked]="selectedLevel == 1">Level 1 | ||
</label> | ||
</div> | ||
<div class="w-75"> | ||
Foundational. Level 1 is comprised of the 15 basic safeguarding requirements specified in Federal | ||
Acquisition Regulation | ||
(FAR) Clause 52.204-21. Level 1 is achievable by self-assessment. | ||
</div> | ||
</div> | ||
|
||
<hr> | ||
|
||
<div class="d-flex flex-row my-3"> | ||
<div class="w-25 text-center align-content-center"> | ||
<label class="btn btn-l2 form-check-label" [class.answer-selected]="selectedLevel == 2" | ||
(click)="saveLevel(2)"> | ||
<input name="q_L2" class="btn-check" type="radio" autocomplete="off" | ||
[checked]="selectedLevel == 2">Level 2 | ||
</label> | ||
</div> | ||
<div class="w-75"> | ||
<p> | ||
Advanced. Consists of 110 practices aligned with NIST SP 800-171. Requires annual self-assessment | ||
for select contractors or triennial third-party assessments for critical national security projects. | ||
|
||
The advanced level will calculate a scorecard with the Supplier Performance Risk System (SPRS) | ||
score. | ||
</p> | ||
<p> | ||
Level 2 can be used for a self-assessment or a certification assessment. It incorporates | ||
the security requirements specified in NIST SP 800-171 Revision 2. | ||
</p> | ||
</div> | ||
</div> | ||
|
||
<hr> | ||
|
||
<div class="d-flex flex-row my-3"> | ||
<div class="w-25 text-center align-content-center"> | ||
<label class="btn btn-l3 form-check-label" [class.answer-selected]="selectedLevel == 3" | ||
(click)="saveLevel(3)"> | ||
<input name="q_L3" class="btn-check" type="radio" autocomplete="off" | ||
[checked]="selectedLevel == 3">Level 3 | ||
</label> | ||
</div> | ||
<div class="w-75"> | ||
<p> | ||
Level 3 consists of selected security requirements derived from National Institute of Standards and | ||
Technology (NIST) Special Publication (SP) 800-172, | ||
</p> | ||
<p> | ||
Level 3 only applies to systems that have already achieved a Final Level 2 (C3PAO) CMMC Status. | ||
</p> | ||
</div> | ||
</div> | ||
|
||
|
||
<app-nav-back-next [page]="'cmmc2-levels'"></app-nav-back-next> | ||
|
||
</div> |
63 changes: 63 additions & 0 deletions
63
CSETWebNg/src/app/assessment/prepare/maturity/cmmc2-levels/cmmc2-levels.component.scss
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
/* Answer option button styles */ | ||
$white: #ffffff; | ||
|
||
$l1-color: #921285; | ||
$l1-hover-color: #490943; | ||
$l1-text-color: #ffffff; | ||
|
||
$l2-color: #8cc63f; | ||
$l2-hover-color: #69952f; | ||
$l2-text-color: #000000; | ||
|
||
$l3-color: #034b61; | ||
$l3-hover-color: #002236; | ||
$l3-text-color: #ffffff; | ||
|
||
.btn-l1 { | ||
background-color: $white; | ||
border-color: $l1-color; | ||
color: $l1-color; | ||
} | ||
|
||
.btn-l1.answer-selected, | ||
.btn-l1:hover { | ||
background-color: $l1-color; | ||
color: $l1-text-color; | ||
} | ||
|
||
.btn-l1.answer-selected:hover { | ||
background-color: $l1-hover-color; | ||
} | ||
|
||
.btn-l2 { | ||
background-color: $white; | ||
border-color: $l2-color; | ||
color: $l2-color; | ||
} | ||
|
||
.btn-l2.answer-selected, | ||
.btn-l2:hover { | ||
background-color: $l2-color; | ||
color: $l2-text-color; | ||
} | ||
|
||
.btn-l2.answer-selected:hover { | ||
background-color: $l2-hover-color; | ||
} | ||
|
||
|
||
.btn-l3 { | ||
background-color: $white; | ||
border-color: $l3-color; | ||
color: $l3-color; | ||
} | ||
|
||
.btn-l3.answer-selected, | ||
.btn-l3:hover { | ||
background-color: $l3-color; | ||
color: $l3-text-color; | ||
} | ||
|
||
.btn-l3.answer-selected:hover { | ||
background-color: $l3-hover-color; | ||
} |
49 changes: 49 additions & 0 deletions
49
CSETWebNg/src/app/assessment/prepare/maturity/cmmc2-levels/cmmc2-levels.component.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
import { Component } from '@angular/core'; | ||
import { NavigationService } from '../../../../services/navigation/navigation.service'; | ||
import { MaturityService } from '../../../../services/maturity.service'; | ||
import { AssessmentService } from '../../../../services/assessment.service'; | ||
import { MaturityLevel } from '../../../../models/maturity.model'; | ||
|
||
@Component({ | ||
selector: 'app-cmmc2-levels', | ||
templateUrl: './cmmc2-levels.component.html', | ||
styleUrls: ['./cmmc2-levels.component.scss'] | ||
}) | ||
export class Cmmc2LevelsComponent { | ||
|
||
selectedLevel: number; | ||
|
||
constructor ( | ||
public assessSvc: AssessmentService, | ||
public maturitySvc: MaturityService, | ||
public navSvc: NavigationService | ||
) { } | ||
|
||
|
||
/** | ||
* | ||
*/ | ||
ngOnInit() { | ||
if (this.assessSvc.assessment == null) { | ||
this.assessSvc.getAssessmentDetail().subscribe((data: any) => { | ||
this.assessSvc.assessment = data; | ||
this.selectedLevel = this.assessSvc.assessment.maturityModel.maturityTargetLevel; | ||
}); | ||
} else { | ||
this.selectedLevel = +this.assessSvc.assessment.maturityModel.maturityTargetLevel; | ||
} | ||
} | ||
|
||
/** | ||
* | ||
*/ | ||
saveLevel(selection: number) { | ||
this.selectedLevel = selection; | ||
|
||
this.maturitySvc.saveLevel(selection).subscribe(() => { | ||
// refresh Prepare section of the sidenav | ||
this.navSvc.buildTree(); | ||
return; | ||
}); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.