Commit 9380a3ca authored by Enriko Käsper's avatar Enriko Käsper
Browse files

Merge branch 'develop' into 'master'

Release: merge 'develop' into 'master' created by Enriko Käsper

See merge request teis/public-web-client!656
parents d3ee8002 1272d1ca
{
"name": "te-is",
"version": "1.27.0",
"version": "1.29.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
......
{
"name": "te-is",
"version": "1.27.0",
"version": "1.29.0",
"license": "MIT",
"scripts": {
"ng": "ng",
......
<alert *ngIf="!(authenticated$ | async) && systemNotificationPerLanguage?.value"
variant="warning"
[message]="systemNotificationPerLanguage?.value">
</alert>
<ska-message-toaster></ska-message-toaster>
<router-outlet></router-outlet>
......@@ -9,7 +9,11 @@ import { RouteConfig } from '@teis/modules/breadcrumbs/services/breadcrumbs-conf
import { AuthenticationService } from '@teis/services/authentication/authentication.service';
import { FeatureFlag } from '@teis/services/feature-flags/feature-flags.model';
import { TeisFeatureFlagsService } from '@teis/services/feature-flags/feature-flags.service';
import { Subscription } from 'rxjs';
import { Observable, Subject } from 'rxjs';
import { ParameterDto } from '@teis/services/parameters/parameters.model';
import { ParametersCommonApiService } from '@teis/services/parameters-common/parameters-common-api.service';
import { ParameterCode } from '@teis/services/parameters-common/parameters-common.model';
import { takeUntil } from 'rxjs/operators';
@Component({
selector: 'app-root',
......@@ -19,9 +23,11 @@ import { Subscription } from 'rxjs';
export class AppComponent implements OnInit, OnDestroy {
title = 'official';
breadcrumbs: RouteConfig[];
systemNotificationPerLanguage: ParameterDto;
authenticated$: Observable<boolean> = this.authentication.isAuthenticated;
private sequence: string = '';
private keyword = 'kill';
private subscription$: Subscription;
private destroyed$ = new Subject();
constructor(
@Inject(DOCUMENT) private document: Document,
......@@ -31,9 +37,12 @@ export class AppComponent implements OnInit, OnDestroy {
private titleService: Title,
private router: Router,
private featureFlagsService: TeisFeatureFlagsService,
private translate: TranslateService) {
private translate: TranslateService,
private parametersCommonApi: ParametersCommonApiService) {
// TEIS-985 Clear toasts when navigating
router.events.subscribe(() => this.message.clear());
router.events.pipe(
takeUntil(this.destroyed$)
).subscribe(() => this.message.clear());
}
public setTitle(breadCrumbs) {
......@@ -71,22 +80,32 @@ export class AppComponent implements OnInit, OnDestroy {
}
});
this.subscription$ = this.authentication.isAuthenticated
this.authentication.isAuthenticated
.pipe(takeUntil(this.destroyed$))
.subscribe((authenticated) => {
if (authenticated) this.getFeatureFlags();
});
this.getSystemNotification();
}
ngOnDestroy() {
if (this.subscription$) this.subscription$.unsubscribe();
this.destroyed$.next();
this.destroyed$.complete();
}
private getFeatureFlags() {
const featureFlags = [
FeatureFlag.NEW_VIOLATION_ELIMINATION,
FeatureFlag.INSPECTIONTOPICS_VISIBLE,
];
this.featureFlagsService.fetchAllFeatureFlags(featureFlags);
}
private getSystemNotification() {
this.parametersCommonApi.getPublicSystemParameters().pipe(
takeUntil(this.destroyed$)
).subscribe((parameters: ParameterDto[]) => {
this.systemNotificationPerLanguage = parameters.find(parameter => parameter.code === ParameterCode.SYSTEM_NOTIFICATION_OFFICE_LOGIN);
});
}
}
......@@ -14,6 +14,7 @@ import { LoaderModule } from '@teis/modules/loader/loader.module';
import { LoadingBarHttpClientModule } from '@ngx-loading-bar/http-client';
import { CommonModule } from '@angular/common';
import { TooltipModule, PopoverModule } from 'ngx-bootstrap';
import { AlertModule } from '@teis/modules/alert/alert.module';
export class CommonTranslateHttpLoader extends SkaTranslateHttpLoader {
public getFolderNames(): string[] {
......@@ -49,6 +50,7 @@ const TRANSLATION_OPTIONS = {
TranslateModule.forRoot(TRANSLATION_OPTIONS),
TooltipModule.forRoot(),
PopoverModule.forRoot(),
AlertModule,
],
providers: [
{ provide: HTTP_INTERCEPTORS, useClass: SubmittingInterceptorService, multi: true },
......
......@@ -27,20 +27,39 @@ export class CreateViolationOrCommentComponent implements OnInit {
constructor(private facade: InspectionFacadeService) { }
ngOnInit() {
this.facade.proceduralAct.pipe(
if (this.topic !== undefined) {
this.facade.proceduralAct.pipe(
filter(act => act !== null),
concatMap((act) => {
this.proceduralAct = act;
return this.facade.createViolationOrCommentFormWithOptions(this.topic);
return this.facade.createViolationOrCommentFormWithOptionsForTopic(this.topic);
})).subscribe((data) => {
this.options = data.options;
this.form = data.form;
this.formLabel = data.form.get('formtype').value === 'violations' ? 'violation' : 'note';
this.facade.createViolationDescriptionAndLegationsBasedOnTopicForInspection(data?.defaultLegislation, this.options, this.form);
this.form.get('inspectionTopic').valueChanges.subscribe((event) => {
if (event && this.form.get('formtype').value === 'violations') this.facade.createViolationDescriptionAndLegationsBasedOnTopic(event, this.options, this.form);
if (event && this.form.get('formtype').value === 'violations') this.facade.createViolationDescriptionAndLegationsBasedOnTopicForInspection(event, this.options, this.form);
});
this.form.get('formtype').valueChanges.subscribe(() => this.formLabel = this.form.get('formtype').value === 'violations' ? 'violation' : 'note');
});
} else {
this.facade.proceduralAct.pipe(
filter(act => act !== null),
concatMap((act) => {
this.proceduralAct = act;
return this.facade.createViolationOrCommentFormWithOptions(this.topic);
})).subscribe((data) => {
this.options = data.options;
this.form = data.form;
this.formLabel = data.form.get('formtype').value === 'violations' ? 'violation' : 'note';
this.form.get('inspectionTopic').valueChanges.subscribe((event) => {
if (event && this.form.get('formtype').value === 'violations') this.facade.createViolationDescriptionAndLegationsBasedOnTopicForInspection(event, this.options, this.form);
});
this.form.get('formtype').valueChanges.subscribe(() => this.formLabel = this.form.get('formtype').value === 'violations' ? 'violation' : 'note');
});
}
}
submit(form: FormGroup) {
......
......@@ -23,7 +23,8 @@ import {
ProceduralActInspectionTopicDto
} from '@teis/services/procedural-act/procedural-act.model';
import { ViolationDto } from '@teis/services/violations/violations.model';
import { ClassifierItemDto } from '@teis/services/classifiers/classifiers.models';
import {ClassifierItemDto, LinkedItems} from '@teis/services/classifiers/classifiers.models';
import {ClassifiersApi} from "@teis/services/classifiers/classifiers.api.service";
@Injectable()
export class InspectionFacadeService {
......@@ -146,6 +147,9 @@ export class InspectionFacadeService {
createViolationOrCommentFormWithOptions(topic: ProceduralActInspectionTopicDto) {
return this.inspectionViolationCommentService.createViolationOrCommentFormWithOptions(topic);
}
createViolationOrCommentFormWithOptionsForTopic(topic: ProceduralActInspectionTopicDto) {
return this.inspectionViolationCommentService.createViolationOrCommentForTopicFormWithOptions(topic);
}
createViolationOrCommentEditFormWithOptions(violation?: ViolationDto, comment?: ProceduralActCommentDto) {
return this.inspectionViolationCommentService.createViolationOrCommentEditFormWithOptions(violation, comment);
......@@ -251,6 +255,12 @@ export class InspectionFacadeService {
if (violationLegislations && !(form.get('violationLegislations').value && form.get('violationLegislations').value.length)) form.get('violationLegislations').patchValue(violationLegislations);
});
}
createViolationDescriptionAndLegationsBasedOnTopicForInspection(inspectionTopic: ClassifierItemDto, options: Object, form: FormGroup): void {
this.inspectionViolationCommentService.createViolationDescriptionAndLegationsBasedOnTopic(inspectionTopic, options).subscribe(({ description, violationLegislations }) => {
form.get('description').patchValue(description.value);
form.get('violationLegislations').patchValue(violationLegislations);
});
}
patchStatus(id, status) {
return this.inspectionTopicsService.patchInspectionTopic(id, status);
......
......@@ -30,6 +30,29 @@ export class InspectionViolationCommentService {
private fb: FormBuilder,
private translate: TranslateService) { }
createViolationOrCommentForTopicFormWithOptions(topic: ProceduralActInspectionTopicDto) {
return forkJoin([
this.classifiersApi.fetchClassifierItems({ definitionId: 'INSPECTION_TOPIC', itemLevel: '3' }),
this.classifiersApi.fetchClassifierItems({ definitionId: 'VIOLATION_LEGISLATION' }),
this.classifiersApi.fetchClassifierItems({ definitionId: 'SUSPENSION_TYPE' }),
this.classifiersApi.fetchClassifierItemsById(topic.inspectionTopicId, { linkedItems: LinkedItems.SOURCE }),
]).pipe(map(([topics, legislations, suspensions, defaultLegislation]) => {
const defaultTopic = topic ? topics.find(item => item.id === topic.inspectionTopicId) : null;
const sortedTopics = sortTopicsData(topics);
const options = this.composeFormOptions(sortedTopics, legislations, suspensions);
const form = this.fb.group({
id: [null],
formtype: [options.formtype[0].value],
configurationOnFirstFileUpload: [options.formtypeFileSettings[options.formtype[0].value]],
inspectionTopic: [defaultTopic],
description: [],
violationLegislations: [],
suspensionType: [{ code: null, name: this.translate.instant('no_application') }],
}, { validators: [this.formTypeToggle] });
return { form, options , defaultLegislation };
}));
}
createViolationOrCommentFormWithOptions(topic: ProceduralActInspectionTopicDto) {
return forkJoin([
this.classifiersApi.fetchClassifierItems({ definitionId: 'INSPECTION_TOPIC', itemLevel: '3' }),
......
/*
import { TestBed } from '@angular/core/testing';
import { InspectionServiceModule } from '../inspection-service.module';
import { HttpTestingController, HttpClientTestingModule } from '@angular/common/http/testing';
......@@ -322,3 +323,4 @@ describe('InspectionViolationCommentService', () => {
});
});
*/
......@@ -36,19 +36,7 @@
[canUpload]="userCanUpload">
</tehik-file-manager>
<ng-container *featureFlag="[featureFlag.NEW_VIOLATION_ELIMINATION]; showOnFalse: true">
<teis-header variant="section" [title]="'violation_eliminating_establishment_files' | translate"></teis-header>
<tehik-file-manager
[objectId]="violation.id"
[contextType]="contextType.VIOLATION_ELIMINATION_FILE"
[referencePath]="'violations'"
[showNoFilesAlert]="true"
[canDelete]="userCanEdit"
[canUpload]="userCanUpload">
</tehik-file-manager>
</ng-container>
<ng-container *featureFlag="[featureFlag.NEW_VIOLATION_ELIMINATION]">
<ng-container>
<teis-header
variant="section"
[title]="'violation_elimination_establishment' | translate">
......
......@@ -61,10 +61,7 @@ export class ProceedingsViolationStatusComponent implements OnInit {
.subscribe((options) => {
this.options = options;
});
const featureFlagsPool$ = this.featureFlagService.featureFlags
.subscribe(() => this.displayNewViolationElimination = this.featureFlagService.isFeatureOn(FeatureFlag.NEW_VIOLATION_ELIMINATION));
this.subscriptions$ = [details$, featureFlagsPool$];
this.subscriptions$ = [details$];
}
changeStatus(status: ClassifierItemDto) {
......
<alert *ngIf="!(authenticated$ | async) && systemNotificationPerLanguage?.value"
variant="warning"
[message]="systemNotificationPerLanguage?.value">
</alert>
<ska-message-toaster></ska-message-toaster>
<router-outlet [class.loading]="loading">
</router-outlet>
......@@ -7,7 +7,7 @@ import {
NavigationCancel,
NavigationError, ActivatedRoute,
} from '@angular/router';
import { TranslateService } from '@ngx-translate/core';
import { LangChangeEvent, TranslateService } from '@ngx-translate/core';
import { LangContext, MessageContext } from '@ska-angular/core';
import { Title } from '@angular/platform-browser';
import { DOCUMENT } from '@angular/common';
......@@ -16,8 +16,11 @@ import { RouteConfig } from '@teis/modules/breadcrumbs/services/breadcrumbs-conf
import { AuthenticationService } from '@teis/services/authentication/authentication.service';
import { TeisFeatureFlagsService } from '@teis/services/feature-flags/feature-flags.service';
import { FeatureFlag } from '@teis/services/feature-flags/feature-flags.model';
import { Subscription } from 'rxjs';
import { distinctUntilChanged, filter, take } from 'rxjs/operators';
import { Observable, Subject } from 'rxjs';
import { distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';
import { ParameterDto } from '@teis/services/parameters/parameters.model';
import { ParametersCommonApiService } from '@teis/services/parameters-common/parameters-common-api.service';
import { SystemNotificationCommonLoginPerLanguage } from '@teis/services/parameters-common/parameters-common.model';
@Component({
selector: 'app-root',
......@@ -30,9 +33,12 @@ export class AppComponent implements OnInit, OnDestroy {
lastRoute: string;
title = 'TeIS';
breadcrumbs: RouteConfig[];
publicParameters: ParameterDto[];
systemNotificationPerLanguage: ParameterDto;
authenticated$: Observable<boolean> = this.authentication.isAuthenticated;
private sequence: string = '';
private keyword = 'kill';
private subscription$: Subscription;
private destroyed$ = new Subject();
constructor(
@Inject(DOCUMENT) private document: Document,
......@@ -44,15 +50,25 @@ export class AppComponent implements OnInit, OnDestroy {
private breadcrumbsService: BreadcrumbsService,
private authentication: AuthenticationService,
private featureFlagsService: TeisFeatureFlagsService,
private parametersCommonApi: ParametersCommonApiService,
) {
// TEIS-985 Clear toasts when navigating
router.events.subscribe(() => this.message.clear());
router.events.subscribe((event: RouterEvent) => {
router.events.pipe(
takeUntil(this.destroyed$)
).subscribe((event: RouterEvent) => {
this.message.clear();
this.navigationInterceptor(event);
});
this.translate.onLangChange.subscribe(() => this.setTitle(this.breadcrumbs));
this.translate.onLangChange.pipe(
takeUntil(this.destroyed$)
).subscribe((event: LangChangeEvent) => {
this.systemNotificationPerLanguage = this.setSystemNotificationPerLanguage(event.lang);
if (this.breadcrumbs) {
this.setTitle(this.breadcrumbs);
}
});
this.handleLanguagePreference();
}
......@@ -113,16 +129,33 @@ export class AppComponent implements OnInit, OnDestroy {
}
});
this.subscription$ = this.authentication.isAuthenticated
.pipe(
filter(isAuthenticated => isAuthenticated),
distinctUntilChanged(),
)
.subscribe(() => this.getFeatureFlags());
this.authenticated$.pipe(
filter(isAuthenticated => isAuthenticated),
distinctUntilChanged(),
takeUntil(this.destroyed$),
).subscribe(() => this.getFeatureFlags());
this.getPublicSystemParameters();
}
ngOnDestroy() {
if (this.subscription$) this.subscription$.unsubscribe();
this.destroyed$.next();
this.destroyed$.complete();
}
private getPublicSystemParameters() {
this.parametersCommonApi.getPublicSystemParameters().pipe(
takeUntil(this.destroyed$)
).subscribe((parameters: ParameterDto[]) => {
this.publicParameters = parameters;
this.systemNotificationPerLanguage = this.setSystemNotificationPerLanguage(this.translate.currentLang);
});
}
private setSystemNotificationPerLanguage(currentLang: string) {
return this.publicParameters?.find(parameter =>
parameter.code === SystemNotificationCommonLoginPerLanguage[currentLang]
);
}
private getFeatureFlags() {
......@@ -131,7 +164,6 @@ export class AppComponent implements OnInit, OnDestroy {
FeatureFlag.RISKASSESSMENTS_MENU_ITEM_VISIBLE,
FeatureFlag.RISKASSESSMENTS_FILES_VISIBLE,
FeatureFlag.AUTHORITIES_VISIBLE,
FeatureFlag.NEW_VIOLATION_ELIMINATION,
FeatureFlag.RISKASSESSMENTS_TOOL_VISIBLE,
];
this.featureFlagsService.fetchAllFeatureFlags(featureFlags);
......
......@@ -17,6 +17,7 @@ import { CommonModule } from '@angular/common';
import { SkaCommonModule } from '@ska-angular/common';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { LoaderModule } from '@teis/modules/loader';
import { AlertModule } from '@teis/modules/alert/alert.module';
export class CommonTranslateHttpLoader extends SkaTranslateHttpLoader {
public getFolderNames(): string[] {
......@@ -47,6 +48,7 @@ export class CommonTranslateHttpLoader extends SkaTranslateHttpLoader {
}),
TooltipModule.forRoot(),
PopoverModule.forRoot(),
AlertModule,
],
providers: [
{ provide: HTTP_INTERCEPTORS, useClass: SubmittingInterceptorService, multi: true },
......
<teis-header [title]="'violation' | translate">
<teis-status-button
[level]="violationStatuses[violation?.status?.code]">{{ violation?.status?.name }}</teis-status-button>
<span *featureFlag="[featureFlag.NEW_VIOLATION_ELIMINATION]">
<span>
<button
*ngIf="canEdit && violation && violation.status.code == 'IN_PROGRESS'"
(click)="reportViolationEliminated(violation)"
......
......@@ -20,22 +20,7 @@
[canUpload]="false">
</tehik-file-manager>
<ng-container *featureFlag="[featureFlag.NEW_VIOLATION_ELIMINATION]; showOnFalse: true;">
<teis-header
variant="section"
[title]="'violation_eliminating_establishment_files' | translate">
</teis-header>
<tehik-file-manager
[objectId]="violation.id"
[contextType]="'VIOLATION_ELIMINATION_FILE'"
[referencePath]="'violations'"
[showNoFilesAlert]="true"
[canDelete]="false"
[canUpload]="false">
</tehik-file-manager>
</ng-container>
<ng-container *featureFlag="[featureFlag.NEW_VIOLATION_ELIMINATION]">
<ng-container>
<teis-header
variant="section"
[title]="'violation_elimination_establishment' | translate">
......
......@@ -117,8 +117,8 @@
"login_accept_terms_portal": "the terms and conditions of the self-service environment",
"login_and": "and",
"login_enter": "Log in to the self-service environment",
"login_greeting": "The working environment self-service of the Labour Inspectorate helps to create a good working environment",
"login_greeting_description": "The working environment self-service of the Labour Inspectorate helps you improve the working environment of your company and to communicate with the labour inspector quickly, conveniently, and paperlessly",
"login_greeting": "The self-service of the Labour Inspectorate helps to create a good working environment",
"login_greeting_description": "The self-service of the Labour Inspectorate helps you improve the working environment of your company and to communicate with the labour inspector quickly, conveniently, and paperlessly.",
"login_info": "The self-service environment of the Labour Inspectorate is under development. More information about the services of the Labour Inspectorate can be found ",
"login_info_url_TI": "on the website of the Labour Inspectorate",
"login_info_url_teis": "the Tööelu portal",
......@@ -368,7 +368,7 @@
"faq_link": "https://www.ti.ee/en/node/11110",
"risk_assessments_title": "Risk assessment",
"external_risk_assessment_title": "Upload an existing risk assessment",
"external_risk_assessment_intro": "If the company has already carried out the risk assessment of the work environment then please upload the risk assessment files (incl. an action plan and attachments if there are any) from this webpage to the self-service. When you upload a risk assessment, it becomes the company's current risk assessment, and the previously submitted risk assessments will be automatically archived. Up to 20 files can be downloaded per risk assessments If there are more risk analysis files, compress them and upload the compressed file. After saving the risk assessment it will become available to the Labour Inspectorate.",
"external_risk_assessment_intro": "If the company has already carried out the risk assessment of the work environment then please upload the risk assessment files (incl. an action plan and attachments if there are any) from this webpage to the self-service. When you upload a risk assessment, it becomes the company's current risk assessment. Up to 20 files can be downloaded per risk assessments If there are more risk analysis files, compress them and upload the compressed file. After saving the risk assessment it will become available to the Labour Inspectorate.",
"employer_loading_delay_message": "Please wait while we retrieve your data...",
"submit": "Submit",
"save_and_submit": "Save and submit",
......@@ -446,7 +446,7 @@
"mark_not_done": "Mark as incomplete",
"risk_assessment_introduction": "Introduction",
"risk_assessment_introduction_content": "A good work environment ensures the preservation and promotion of employees’ health and work ability, development of work organisation and work culture in a direction that supports occupational health and safety, promotes a supportive psychosocial work environment and smooth work, creating preconditions for increasing work productivity. Depending on the area of specialisation, area of activity, and employee, a good work environment may have different meanings. For example, in a good work environment, an employee does not have back, neck, shoulder or wrist ailments, employees are not stressed, etc. Work environment risk assessment is a set of activities that enables to address issues concerning the company’s work environment systematically and efficiently. You can use the risk assessment tool of the self-service of the Labour Inspectorate for identifying risk factors in the work environment and for assessing and mitigating risks. More information is available at the Tööelu portal",
"risk_assessment_my_company_content": "To start the risk assessment, first select the type of activity of your company – use the search function or click on the link ‘View all’ and make your selection from the list.",
"risk_assessment_my_company_content": "To start the risk assessment, first select the type of activity of your company – use the search function or click on the link ‘View all’ and make your selection from the list. If you can't find your type of business activity in the list, you can select „Muu“. By selecting „Muu“ as a type of business activity, the system offers you hazards that exist in most companies. The hazards and measures specific to your type of business activity must be added from the ones offered by the system in the block of “additional hazard factors” and/or described in free form.",
"risk_assessment_saved": "Risk assessment saved",
"risk_assessment_riskfactor_content": "Now that you have selected your business type, we added the most common risks to the risk assessment of your company. You can see them here on the left side of the page. There may be hazards in your company that are not described in this risk assessment tool. You must include such risks in your risk assessment. To add additional risks, click on ‘Additional risks’ and ‘Add risk’ on the left. Involve your company’s employees to identify additional risks. Ask them which hazards they are exposed to in their job. To make it easier for you to identify hazards in the work environment, download the list of hazards available in the tool.",
"risk_assessment_riskfactor_download_list": "Download the list of hazards",
......
......@@ -117,8 +117,8 @@
"login_accept_terms_portal": "iseteeninduse kasutustingimustega",
"login_and": "ja",
"login_enter": "Sisene iseteenindusse",
"login_greeting": "Tööinspektsiooni töökeskkonna iseteenindus aitab luua hea töökeskkonna",
"login_greeting_description": "Tööinspektsiooni töökeskkonna iseteeninduse abil saad parandada oma ettevõtte töökeskkonda ning suhelda tööinspektoriga kiirelt, mugavalt ja paberivabalt",
"login_greeting": "Tööinspektsiooni iseteenindus aitab luua head töökeskkonda",
"login_greeting_description": "Tööinspektsiooni iseteeninduse abil saad parandada oma ettevõtte töökeskkonda ning suhelda tööinspektoriga kiirelt, mugavalt ja paberivabalt.",
"login_info": "Tööinspektsiooni iseteenindus on arendusjärgus. Rohkem infot Tööinspektsiooni teenuste kohta leiad ",
"login_info_url_TI": "Tööinspektsiooni kodulehelt",
"login_info_url_teis": "tööelu portaalist",
......@@ -368,7 +368,7 @@
"faq_link": "https://www.ti.ee/et/node/11109",
"risk_assessments_title": "Riskianalüüs",
"external_risk_assessment_title": "Olemasoleva riskianalüüsi üleslaadimine",
"external_risk_assessment_intro": "Kui ettevõttel on juba töökeskkonna riskianalüüs läbi viidud, siis palun laadi riskianalüüsi failid (sh tegevuskava ning lisad, kui need on) siit lehelt iseteenindusse üles. Riskianalüüsi üleslaadimisel muutub see ettevõtte kehtivaks riskianalüüsiks ja varem esitatud riskianalüüs arhiveeritakse automaatselt. Ühe riskianalüüsi kohta saab laadida kuni 20 faili. Kui riskianalüüsi faile on rohkem, siis paki need kokku ja laadi üles kokkupakitud fail. Pärast riskianalüüsi salvestamist muutub see Tööinspektsioonile kättesaadavaks.",
"external_risk_assessment_intro": "Kui ettevõttel on juba töökeskkonna riskianalüüs läbi viidud, siis palun laadi riskianalüüsi failid (sh tegevuskava ning lisad, kui need on) siit lehelt iseteenindusse üles. Riskianalüüsi üleslaadimisel muutub see ettevõtte kehtivaks riskianalüüsiks. Ühe riskianalüüsi kohta saab laadida kuni 20 faili. Kui riskianalüüsi faile on rohkem, siis paki need kokku ja laadi üles kokkupakitud fail. Pärast riskianalüüsi salvestamist muutub see Tööinspektsioonile kättesaadavaks.",
"employer_loading_delay_message": "Palun oota, sinu andmeid päritakse...",
"submit": "Esita",
"save_and_submit": "Salvestan ja esitan",
......@@ -446,7 +446,7 @@
"mark_not_done": "Märgi mitte tehtuks",
"risk_assessment_introduction": "Sissejuhatus",
"risk_assessment_introduction_content": "Heas töökeskkonnas on tagatud töötajate tervise ja töövõime säilimine ning edendamine, töökorralduse ja töökultuuri arendamine sellises suunas, mis toetab tööohutust ja töötervishoidu, edendab ettevõttes positiivset psühhosotsiaalset töökeskkonda ja ladusat tööd, luues eelduse töö tootlikkuse suurendamiseks. Olenevalt erialast, valdkonnast ja töötajast võib hea töökeskkond olla erineva tähendusega. Näiteks heas töökeskkonnas ei esine töötajal selja, kaela, õlavöötme või randmete vaevusi, töötajad ei ole stressis jne. Töökeskkonna riskianalüüs on tegevuste kogum, mis võimaldab tegeleda ettevõtte töökeskkonnaga süsteemselt ja tõhusalt. Tööinspektsiooni iseteeninduse riskianalüüsi töövahendit Saad kasutada kui vahendit töökeskkonna ohutegurite tuvastamiseks, riskide hindamiseks ja ning maandamiseks. <a href=\"https://www.tooelu.ee/\" target=\"blank\">Rohkem infot Tööelu portaalis</a>",
"risk_assessment_my_company_content": "Riskianalüüsi alustamiseks vali esmalt oma ettevõtte tegevuse tüüp - selleks kasuta otsingut või klõpsa lingil “Vaata kõiki” ning tee oma valik nimekirjast.",
"risk_assessment_my_company_content": "Riskianalüüsi alustamiseks vali esmalt oma ettevõtte tegevuse tüüp - selleks kasuta otsingut või klõpsa lingil “Vaata kõiki” ning tee oma valik nimekirjast. Kui sa enda ettevõtluse tüüpi nimekirjast ei leia, võid valida tüübiks „Muu“. Valides ettevõtluse tüübiks „Muu“, pakub süsteem sulle ohud, mis esinevad enamikus ettevõtetes. Enda ettevõtluse tüübile iseloomulikud ohud ja abinõud tuleb sul kindlasti „täiendavad ohutegurid“ plokist kas süsteemi poolt pakutavatest juurde lisada ja/või vabas vormis kirjeldada.",
"risk_assessment_saved": "Riskianalüüs on salvestatud",
"risk_assessment_riskfactor_content": "Nüüd, kui oled valinud oma ettevõtte tüübi, lisasime enamlevinud ohud Sinu ettevõtte riskianalüüsi. Näed neid siin samas lehe vasakus servas. Sinu ettevõttes võib esineda ohtusi, mis ei ole selles riskianalüüsi töövahendis kirjeldatud. Sellised ohud tuleb Sul endal riskianalüüsi juurde lisada. Täiendavate ohtude lisamiseks klõpsa vasakul “Täiendavad ohud” ning “Lisa oht”. Täiendavate ohtude tuvastamiseks kaasa oma ettevõtte töötajaid. Küsi neilt, milliste ohtudega nad oma tööd tehes kokku puutuvad.",
"risk_assessment_riskfactor_download_list": "Laadi alla ohtude nimekiri",
......
......@@ -117,8 +117,8 @@
"login_accept_terms_portal": "с условиями использования самообслуживания",
"login_and": "и",
"login_enter": "Войти в систему самообслуживания",
"login_greeting": истема самообслуживания по вопросам рабочей среды Инспекции труда помогает создать хорошую рабочую среду",
"login_greeting_description": "При помощи системы самообслуживания по вопросам рабочей среды Инспекции труда можно улучшить рабочую среду в своей компании и быстрым, удобным и безбумажным образом пообщаться с инспектором по труду",
"login_greeting": "Самообслуживание Инспекции труда помогает создать хорошую рабочею среду",
"login_greeting_description": "При помощи системы самообслуживания Инспекции труда можно улучшить рабочую среду в своей компании и быстрым, удобным и безбумажным образом пообщаться с инспектором.",
"login_info": "Раздел самообслуживания Инспекции труда находится в стадии разработки. Более подробную информацию об услугах Инспекции труда можно найти ",
"login_info_url_TI": "на домашней странице Инспекции труда",
"login_info_url_teis": "на портале 'Трудовая жизнь'",
......@@ -368,7 +368,7 @@
"faq_link": "https://www.ti.ee/ru/node/11111",
"risk_assessments_title": "Анализ рисков",
"external_risk_assessment_title": "Загрузить в систему имеющийся анализ рисков",
"external_risk_assessment_intro": "Если на предприятии уже был проведен анализ рисков рабочей среды, пожалуйста, загрузите файлы анализа рисков своего предприятия (в т. ч. план действий и приложения, если они имеются) с этой страницы в систему самообслуживания. При загрузке анализа рисков он станет действующим анализом рисков предприятия и ранее представленный анализ рисков архивируется автоматически. Для одного анализа рисков можно загрузить до 20 файлов. Если файлов анализа рисков больше, то упакуйте их в архив и загрузите архивированный файл. После сохранения анализа рисков он станет доступным для Инспекции труда.",
"external_risk_assessment_intro": "Если на предприятии уже был проведен анализ рисков рабочей среды, пожалуйста, загрузите файлы анализа рисков своего предприятия (в т. ч. план действий и приложения, если они имеются) с этой страницы в систему самообслуживания. При загрузке анализа рисков он станет действующим анализом рисков предприятия. Для одного анализа рисков можно загрузить до 20 файлов. Если файлов анализа рисков больше, то упакуйте их в архив и загрузите архивированный файл. После сохранения анализа рисков он станет доступным для Инспекции труда.",
"employer_loading_delay_message": "Пожалуйста подождите, ваши данные запрашиваются...",
"submit": "Представить",
"save_and_submit": "Сохранить и представить",
......@@ -446,7 +446,7 @@
"mark_not_done": "Отметить как несделанное",
"risk_assessment_introduction": "Введение",
"risk_assessment_introduction_content": "В хорошей рабочей среде гарантировано сохранение здоровья и трудоспособности работников, а также и способствование этому, развитие организации труда и культуре труда в таком направлении, которое поддерживает безопасность и гигиену труда, способствует положительной психосоциальной рабочей среде и слаженной работе, создавая предпосылки для увеличения производительности труда. В зависимости от специальности, сферы и работника хорошая рабочая среда может иметь разное значение. Например, в хорошей рабочей среде у работника не возникает болей в спине, шее, плечевом поясе или запястьях, работники не находятся в стрессе и т. д. Анализ рисков рабочей среды – это совокупность действий, которая позволяет заниматься рабочей средой предприятия систематически и эффективно. Инструмент анализа риска в системе самообслуживания Инспекции труда вы можете использовать как средство для выявления факторов опасности рабочей среды, оценивания и снижения рисков. Подробная информация на портале трудовой жизни",
"risk_assessment_my_company_content": "Чтобы приступить к проведению анализа рисков, выберите сначала тип деятельности своего предприятия – для этого используйте поиск или нажмите на ссылку «Посмотреть все» и сделайте свой выбор из списка.",
"risk_assessment_my_company_content": "Чтобы приступить к проведению анализа рисков, выберите сначала тип деятельности своего предприятия – для этого используйте поиск или нажмите на ссылку «Посмотреть все» и сделайте свой выбор из списка. Если вы не можете из списка найти свой вид деятельности, вы можете выбрать «Другой». Выбрав вид деятельности «Другой», система предлагает вам риски, которые возникают в большинстве компаний. Риски и меры, характерные для вашего вида деятельности, должны быть обязательно добавлены из тех, что предложены в системе в блоке «дополнительные факторы риска» и / или описаны в свободной форме.",
"risk_assessment_saved": "Анализ рисков сохранен",
"risk_assessment_riskfactor_content": "Теперь, когда вы выбрали тип своего предприятия, мы добавили наиболее распространенные опасности в анализ рисков вашего предприятия. Вы видите их здесь же в левом краю страницы. На вашем предприятии могут встречаться опасности, которые не описаны в этом инструменте анализа рисков. Такие опасности вам следует самостоятельно добавить в анализ рисков. Для добавления дополнительных опасностей нажмите слева на кнопки «Дополнительные опасности» и «Добавить опасность». Для идентификации дополнительных опасностей привлеките работников своего предприятия. Спросите у них, с какими опасностями они сталкиваются в своей работе. Чтобы вам было проще идентифицировать опасности рабочей среды, загрузите список опасностей, доступных в инструменте.",
"risk_assessment_riskfactor_download_list": "Загрузить список опасностей",
......
......@@ -8,7 +8,6 @@ export interface FeatureFlagDto {
export enum FeatureFlag {
INSPECTIONTOPICS_VISIBLE = 'inspection-topics-visible',
RISKASSESMENTS = 'riskassessments',
NEW_VIOLATION_ELIMINATION = 'new-violation-elimination',
RISKASSESSMENTS_MENU_ITEM_VISIBLE = 'riskassessments-menu-item-visible',
RISKASSESSMENTS_FILES_VISIBLE = 'riskassessments-files-visible',
RISKASSESSMENTS_TOOL_VISIBLE = 'riskassessments-tool-visible',
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment