diff --git a/apps/red-ui/src/app/modules/admin/admin-routing.module.ts b/apps/red-ui/src/app/modules/admin/admin-routing.module.ts
index a29289c29..1c619cd87 100644
--- a/apps/red-ui/src/app/modules/admin/admin-routing.module.ts
+++ b/apps/red-ui/src/app/modules/admin/admin-routing.module.ts
@@ -49,7 +49,7 @@ const dossierTemplateIdRoutes: IqserRoutes = [
],
},
{
- path: 'rules',
+ path: 'entity-rules',
component: BaseDossierTemplateScreenComponent,
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
data: {
@@ -59,7 +59,7 @@ const dossierTemplateIdRoutes: IqserRoutes = [
redirectTo: 'info',
},
},
- loadChildren: () => import('./screens/rules/rules.module').then(m => m.RulesModule),
+ loadChildren: () => import('./screens/rules/entity-rules.module').then(m => m.EntityRulesModule),
},
{
path: 'component-rules',
diff --git a/apps/red-ui/src/app/modules/admin/admin.module.ts b/apps/red-ui/src/app/modules/admin/admin.module.ts
index 495528870..fc8df4e81 100644
--- a/apps/red-ui/src/app/modules/admin/admin.module.ts
+++ b/apps/red-ui/src/app/modules/admin/admin.module.ts
@@ -57,7 +57,6 @@ import { DossierTemplateActionsComponent } from './shared/components/dossier-tem
import { IqserUsersModule } from '@iqser/common-ui/lib/users';
import { TenantPipe } from '@iqser/common-ui/lib/tenants';
import { SelectComponent } from '@shared/components/select/select.component';
-import { ComponentRulesService } from './services/component-rules.service';
const dialogs = [
AddEditCloneDossierTemplateDialogComponent,
@@ -98,7 +97,7 @@ const components = [
@NgModule({
declarations: [...components],
- providers: [AdminDialogService, AuditService, DigitalSignatureService, RulesService, ComponentRulesService, SmtpConfigService],
+ providers: [AdminDialogService, AuditService, DigitalSignatureService, RulesService, SmtpConfigService],
imports: [
CommonModule,
SharedModule,
diff --git a/apps/red-ui/src/app/modules/admin/screens/component-rules/rules-screen/component-rules-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/component-rules/component-rules-screen/component-rules-screen.component.html
similarity index 100%
rename from apps/red-ui/src/app/modules/admin/screens/component-rules/rules-screen/component-rules-screen.component.html
rename to apps/red-ui/src/app/modules/admin/screens/component-rules/component-rules-screen/component-rules-screen.component.html
diff --git a/apps/red-ui/src/app/modules/admin/screens/component-rules/rules-screen/component-rules-screen.component.scss b/apps/red-ui/src/app/modules/admin/screens/component-rules/component-rules-screen/component-rules-screen.component.scss
similarity index 100%
rename from apps/red-ui/src/app/modules/admin/screens/component-rules/rules-screen/component-rules-screen.component.scss
rename to apps/red-ui/src/app/modules/admin/screens/component-rules/component-rules-screen/component-rules-screen.component.scss
diff --git a/apps/red-ui/src/app/modules/admin/screens/component-rules/rules-screen/component-rules-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/component-rules/component-rules-screen/component-rules-screen.component.ts
similarity index 96%
rename from apps/red-ui/src/app/modules/admin/screens/component-rules/rules-screen/component-rules-screen.component.ts
rename to apps/red-ui/src/app/modules/admin/screens/component-rules/component-rules-screen/component-rules-screen.component.ts
index c17ee1beb..cf7839551 100644
--- a/apps/red-ui/src/app/modules/admin/screens/component-rules/rules-screen/component-rules-screen.component.ts
+++ b/apps/red-ui/src/app/modules/admin/screens/component-rules/component-rules-screen/component-rules-screen.component.ts
@@ -8,7 +8,7 @@ import { DOSSIER_TEMPLATE_ID } from '@red/domain';
import { EditorThemeService } from '@services/editor-theme.service';
import { ComponentCanDeactivate } from '@guards/can-deactivate.guard';
import { Debounce, getParam } from '@iqser/common-ui/lib/utils';
-import { ComponentRulesService } from '../../../services/component-rules.service';
+import { RulesService } from '../../../services/rules.service';
import ICodeEditor = monaco.editor.ICodeEditor;
import IModelDeltaDecoration = monaco.editor.IModelDeltaDecoration;
import IStandaloneEditorConstructionOptions = monaco.editor.IStandaloneEditorConstructionOptions;
@@ -46,7 +46,7 @@ export class ComponentRulesScreenComponent implements OnInit, ComponentCanDeacti
constructor(
readonly permissionsService: PermissionsService,
- private readonly _componentRulesService: ComponentRulesService,
+ private readonly _rulesService: RulesService,
private readonly _changeDetectorRef: ChangeDetectorRef,
private readonly _toaster: Toaster,
private readonly _loadingService: LoadingService,
@@ -99,9 +99,10 @@ export class ComponentRulesScreenComponent implements OnInit, ComponentCanDeacti
this._loadingService.start();
this._removeErrorMarkers();
await firstValueFrom(
- this._componentRulesService.uploadRules({
+ this._rulesService.uploadRules({
rules: this._codeEditor.getModel().getValue(),
dossierTemplateId: this.#dossierTemplateId,
+ ruleFileType: 'COMPONENT',
}),
).then(
async () => {
@@ -205,7 +206,7 @@ export class ComponentRulesScreenComponent implements OnInit, ComponentCanDeacti
private async _initialize() {
this._loadingService.start();
- await firstValueFrom(this._componentRulesService.download(this.#dossierTemplateId)).then(
+ await firstValueFrom(this._rulesService.download(this.#dossierTemplateId, 'COMPONENT')).then(
rules => {
this.currentLines = this.initialLines = rules.rules.split('\n');
this.revert();
diff --git a/apps/red-ui/src/app/modules/admin/screens/component-rules/component-rules.module.ts b/apps/red-ui/src/app/modules/admin/screens/component-rules/component-rules.module.ts
index 14c171ff2..d5abe3232 100644
--- a/apps/red-ui/src/app/modules/admin/screens/component-rules/component-rules.module.ts
+++ b/apps/red-ui/src/app/modules/admin/screens/component-rules/component-rules.module.ts
@@ -1,7 +1,7 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
-import { ComponentRulesScreenComponent } from './rules-screen/component-rules-screen.component';
+import { ComponentRulesScreenComponent } from './component-rules-screen/component-rules-screen.component';
import { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor';
import { PendingChangesGuard } from '@guards/can-deactivate.guard';
import { TranslateModule } from '@ngx-translate/core';
diff --git a/apps/red-ui/src/app/modules/admin/screens/rules/rules-screen/rules-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/rules/entity-rules-screen/entity-rules-screen.component.html
similarity index 66%
rename from apps/red-ui/src/app/modules/admin/screens/rules/rules-screen/rules-screen.component.html
rename to apps/red-ui/src/app/modules/admin/screens/rules/entity-rules-screen/entity-rules-screen.component.html
index 88a74ec4e..d06c91ec7 100644
--- a/apps/red-ui/src/app/modules/admin/screens/rules/rules-screen/rules-screen.component.html
+++ b/apps/red-ui/src/app/modules/admin/screens/rules/entity-rules-screen/entity-rules-screen.component.html
@@ -1,6 +1,6 @@
@@ -9,18 +9,18 @@
-
+
diff --git a/apps/red-ui/src/app/modules/admin/screens/rules/rules-screen/rules-screen.component.scss b/apps/red-ui/src/app/modules/admin/screens/rules/entity-rules-screen/entity-rules-screen.component.scss
similarity index 100%
rename from apps/red-ui/src/app/modules/admin/screens/rules/rules-screen/rules-screen.component.scss
rename to apps/red-ui/src/app/modules/admin/screens/rules/entity-rules-screen/entity-rules-screen.component.scss
diff --git a/apps/red-ui/src/app/modules/admin/screens/rules/rules-screen/rules-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/rules/entity-rules-screen/entity-rules-screen.component.ts
similarity index 95%
rename from apps/red-ui/src/app/modules/admin/screens/rules/rules-screen/rules-screen.component.ts
rename to apps/red-ui/src/app/modules/admin/screens/rules/entity-rules-screen/entity-rules-screen.component.ts
index 2635ec949..2798fed49 100644
--- a/apps/red-ui/src/app/modules/admin/screens/rules/rules-screen/rules-screen.component.ts
+++ b/apps/red-ui/src/app/modules/admin/screens/rules/entity-rules-screen/entity-rules-screen.component.ts
@@ -20,11 +20,11 @@ interface SyntaxError {
}
@Component({
- templateUrl: './rules-screen.component.html',
- styleUrls: ['./rules-screen.component.scss'],
+ templateUrl: './entity-rules-screen.component.html',
+ styleUrls: ['./entity-rules-screen.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
-export class RulesScreenComponent implements OnInit, ComponentCanDeactivate {
+export class EntityRulesScreenComponent implements OnInit, ComponentCanDeactivate {
readonly iconButtonTypes = IconButtonTypes;
readonly editorOptions: IStandaloneEditorConstructionOptions = {
theme: 'vs',
@@ -106,13 +106,13 @@ export class RulesScreenComponent implements OnInit, ComponentCanDeactivate {
).then(
async () => {
await this._initialize();
- this._toaster.success(_('rules-screen.success.generic'));
+ this._toaster.success(_('entity-rules-screen.success.generic'));
},
error => {
const errors = error.error as SyntaxError[] | undefined;
this._drawErrorMarkers(errors);
this._loadingService.stop();
- this._toaster.error(_('rules-screen.error.generic'));
+ this._toaster.error(_('entity-rules-screen.error.generic'));
},
);
}
diff --git a/apps/red-ui/src/app/modules/admin/screens/rules/rules.module.ts b/apps/red-ui/src/app/modules/admin/screens/rules/entity-rules.module.ts
similarity index 71%
rename from apps/red-ui/src/app/modules/admin/screens/rules/rules.module.ts
rename to apps/red-ui/src/app/modules/admin/screens/rules/entity-rules.module.ts
index e6b248714..901f1f727 100644
--- a/apps/red-ui/src/app/modules/admin/screens/rules/rules.module.ts
+++ b/apps/red-ui/src/app/modules/admin/screens/rules/entity-rules.module.ts
@@ -1,7 +1,7 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
-import { RulesScreenComponent } from './rules-screen/rules-screen.component';
+import { EntityRulesScreenComponent } from './entity-rules-screen/entity-rules-screen.component';
import { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor';
import { PendingChangesGuard } from '@guards/can-deactivate.guard';
import { TranslateModule } from '@ngx-translate/core';
@@ -9,10 +9,10 @@ import { IconButtonComponent } from '@iqser/common-ui';
import { FormsModule } from '@angular/forms';
import { MatIconModule } from '@angular/material/icon';
-const routes = [{ path: '', component: RulesScreenComponent, canDeactivate: [PendingChangesGuard] }];
+const routes = [{ path: '', component: EntityRulesScreenComponent, canDeactivate: [PendingChangesGuard] }];
@NgModule({
- declarations: [RulesScreenComponent],
+ declarations: [EntityRulesScreenComponent],
imports: [
RouterModule.forChild(routes),
CommonModule,
@@ -23,4 +23,4 @@ const routes = [{ path: '', component: RulesScreenComponent, canDeactivate: [Pen
MatIconModule,
],
})
-export class RulesModule {}
+export class EntityRulesModule {}
diff --git a/apps/red-ui/src/app/modules/admin/services/component-rules.service.ts b/apps/red-ui/src/app/modules/admin/services/component-rules.service.ts
deleted file mode 100644
index 74b4ffa61..000000000
--- a/apps/red-ui/src/app/modules/admin/services/component-rules.service.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { Injectable } from '@angular/core';
-import { GenericService } from '@iqser/common-ui';
-import { IComponentRules } from '@red/domain';
-
-@Injectable()
-export class ComponentRulesService extends GenericService {
- protected readonly _defaultModelPath = 'rules';
-
- download(dossierTemplateId: string) {
- return this._getOne([dossierTemplateId]);
- }
-
- uploadRules(body: IComponentRules) {
- return this._post(body);
- }
-}
diff --git a/apps/red-ui/src/app/modules/admin/services/rules.service.ts b/apps/red-ui/src/app/modules/admin/services/rules.service.ts
index bb221a185..5e3cf34e3 100644
--- a/apps/red-ui/src/app/modules/admin/services/rules.service.ts
+++ b/apps/red-ui/src/app/modules/admin/services/rules.service.ts
@@ -6,11 +6,11 @@ import { IRules } from '@red/domain';
export class RulesService extends GenericService {
protected readonly _defaultModelPath = 'rules';
- download(dossierTemplateId: string) {
- return this._getOne([dossierTemplateId]);
+ download(dossierTemplateId: string, ruleFileType: IRules['ruleFileType'] = 'ENTITY') {
+ return this._getOne([dossierTemplateId], this._defaultModelPath, [{ key: 'ruleFileType', value: ruleFileType }]);
}
uploadRules(body: IRules) {
- return this._post(body);
+ return this._post({ ...body, ruleFileType: body.ruleFileType ?? 'ENTITY' });
}
}
diff --git a/apps/red-ui/src/app/modules/admin/shared/components/admin-side-nav/admin-side-nav.component.ts b/apps/red-ui/src/app/modules/admin/shared/components/admin-side-nav/admin-side-nav.component.ts
index 71888466f..73bc932a9 100644
--- a/apps/red-ui/src/app/modules/admin/shared/components/admin-side-nav/admin-side-nav.component.ts
+++ b/apps/red-ui/src/app/modules/admin/shared/components/admin-side-nav/admin-side-nav.component.ts
@@ -95,8 +95,8 @@ export class AdminSideNavComponent implements OnInit {
show: true,
},
{
- screen: 'rules',
- label: _('admin-side-nav.rule-editor'),
+ screen: 'entity-rules',
+ label: _('admin-side-nav.entity-rule-editor'),
show: (this.isIqserDevMode || this.canAccessRulesInDocumine) && this._permissionsService.has(Roles.rules.read),
},
{
diff --git a/apps/red-ui/src/assets/i18n/redact/de.json b/apps/red-ui/src/assets/i18n/redact/de.json
index 12448eefa..20ab33b87 100644
--- a/apps/red-ui/src/assets/i18n/redact/de.json
+++ b/apps/red-ui/src/assets/i18n/redact/de.json
@@ -245,20 +245,17 @@
"dossier-templates": "Dossier-Vorlage",
"entities": "Entities",
"entity-info": "Info",
+ "entity-rule-editor": "",
"false-positive": "False Positive",
"false-recommendations": "False Recommendations",
"file-attributes": "File Attributes",
"justifications": "Justifications",
"license-information": "License Information",
"reports": "Reports",
- "rule-editor": "Rule Editor",
"settings": "Einstellungen",
"user-management": "User Management",
"watermarks": "Watermarks"
},
- "annotation": {
- "pending": "(Pending Analysis)"
- },
"annotation-actions": {
"accept-recommendation": {
"label": "Empfehlung annehmen"
@@ -341,14 +338,14 @@
"error": "Rekategorisierung des Bildes gescheitert: {error}",
"success": "Bild wurde einer neuen Kategorie zugeordnet."
},
- "remove": {
- "error": "Fehler beim Entfernen der Schwärzung: {error}",
- "success": "Schwärzung entfernt!"
- },
"remove-hint": {
"error": "Failed to remove hint: {error}",
"success": "Hint removed!"
},
+ "remove": {
+ "error": "Fehler beim Entfernen der Schwärzung: {error}",
+ "success": "Schwärzung entfernt!"
+ },
"request-change-legal-basis": {
"error": "Fehler beim Vorschlagen der Änderung der Begründung:",
"success": "Die Änderung der in der Anmerkung genannten Begründung wurde beantragt."
@@ -365,14 +362,14 @@
"error": "Fehler beim Vorschlagen der Neukategorisierung des Bilds: {error}",
"success": "Bild-Neuklassifizierung angefordert."
},
- "request-remove": {
- "error": "Fehler beim Erstellen des Vorschlags für das Entfernen der Schwärzung: {error}",
- "success": "Entfernen der Schwärzung wurde vorgeschlagen!"
- },
"request-remove-hint": {
"error": "Failed to request removal of hint: {error}",
"success": "Requested to remove hint!"
},
+ "request-remove": {
+ "error": "Fehler beim Erstellen des Vorschlags für das Entfernen der Schwärzung: {error}",
+ "success": "Entfernen der Schwärzung wurde vorgeschlagen!"
+ },
"suggest": {
"error": "Vorschlag einer Schwärzung wurde nicht gespeichert: {error}",
"success": "Vorschlag einer Schwärzung gespeichert"
@@ -389,15 +386,15 @@
"remove-highlights": {
"label": "Remove Selected Earmarks"
},
- "resize": {
- "label": "Größe ändern"
- },
"resize-accept": {
"label": "Größe speichern"
},
"resize-cancel": {
"label": "Größenänderung abbrechen"
},
+ "resize": {
+ "label": "Größe ändern"
+ },
"see-references": {
"label": "See References"
},
@@ -439,6 +436,9 @@
"suggestion-resize": "Vorgeschlagene Größenänderung",
"text-highlight": "Earmark"
},
+ "annotation": {
+ "pending": "(Pending Analysis)"
+ },
"archived-dossiers-listing": {
"no-data": {
"title": "No archived dossiers."
@@ -618,18 +618,14 @@
"warning": "Achtung: Diese Aktion kann nicht rückgängig gemacht werden!"
},
"confirmation-dialog": {
- "approve-file": {
- "question": "Dieses Dokument enthält ungesehene Änderungen. Möchten Sie es trotzdem genehmigen?",
- "title": "Warnung!"
- },
"approve-file-without-analysis": {
"confirmationText": "Approve without analysis",
"denyText": "Cancel",
"question": "Analysis required to detect new redactions.",
"title": "Warning!"
},
- "approve-multiple-files": {
- "question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen. Möchten Sie sie trotzdem genehmigen?",
+ "approve-file": {
+ "question": "Dieses Dokument enthält ungesehene Änderungen. Möchten Sie es trotzdem genehmigen?",
"title": "Warnung!"
},
"approve-multiple-files-without-analysis": {
@@ -638,6 +634,10 @@
"question": "Analysis required to detect new redactions for at least one file.",
"title": "Warning"
},
+ "approve-multiple-files": {
+ "question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen. Möchten Sie sie trotzdem genehmigen?",
+ "title": "Warnung!"
+ },
"assign-file-to-me": {
"question": {
"multiple": "Dieses Dokument wird gerade von einer anderen Person geprüft. Möchten Sie Reviewer werden und sich selbst dem Dokument zuweisen?",
@@ -983,13 +983,13 @@
"recent": "Neu ({hours} h)",
"unassigned": "Niemandem zugewiesen"
},
- "reanalyse": {
- "action": "Datei analysieren"
- },
"reanalyse-dossier": {
"error": "Die Dateien konnten nicht für eine Reanalyse eingeplant werden. Bitte versuchen Sie es erneut.",
"success": "Dateien für Reanalyse vorgesehen."
},
+ "reanalyse": {
+ "action": "Datei analysieren"
+ },
"start-auto-analysis": "Enable auto-analysis",
"stop-auto-analysis": "Stop auto-analysis",
"table-col-names": {
@@ -1058,14 +1058,6 @@
"total-documents": "Anzahl der Dokumente",
"total-people": "{count} {count, plural, one{User} other {Users}}"
},
- "dossier-templates": {
- "label": "Dossier-Vorlagen",
- "status": {
- "active": "Active",
- "inactive": "Inactive",
- "incomplete": "Incomplete"
- }
- },
"dossier-templates-listing": {
"action": {
"clone": "Clone Template",
@@ -1101,6 +1093,14 @@
"title": "{length} {length, plural, one{Dossier-Vorlage} other{Dossier-Vorlagen}}"
}
},
+ "dossier-templates": {
+ "label": "Dossier-Vorlagen",
+ "status": {
+ "active": "Active",
+ "inactive": "Inactive",
+ "incomplete": "Incomplete"
+ }
+ },
"dossier-watermark-selector": {
"heading": "Watermarks on documents",
"no-watermark": "There is no watermark defined for the dossier template.
Contact your app admin to define one.",
@@ -1284,6 +1284,19 @@
"title": "{length} {length, plural, one{Wörterbuch} other{Wörterbücher}}"
}
},
+ "entity-rules-screen": {
+ "error": {
+ "generic": ""
+ },
+ "errors-found": "",
+ "revert-changes": "",
+ "save-changes": "",
+ "success": {
+ "generic": ""
+ },
+ "title": "",
+ "warning-text": ""
+ },
"entity": {
"info": {
"actions": {
@@ -1299,13 +1312,13 @@
"action": "Zurück zur Übersicht",
"label": "Dieses Dossier wurde gelöscht!"
},
- "file": {
- "action": "Zurück zum Dossier",
- "label": "Diese Datei wurde gelöscht!"
- },
"file-dossier": {
"action": "Zurück zur Übersicht",
"label": "Das Dossier dieser Datei wurde gelöscht!"
+ },
+ "file": {
+ "action": "Zurück zum Dossier",
+ "label": "Diese Datei wurde gelöscht!"
}
},
"file-preview": {
@@ -1323,12 +1336,6 @@
},
"exact-date": "{day} {month} {year} um {hour}:{minute} Uhr",
"file": "Datei",
- "file-attribute": {
- "update": {
- "error": "Failed to update file attribute value!",
- "success": "File attribute value has been updated successfully!"
- }
- },
"file-attribute-encoding-types": {
"ascii": "ASCII",
"iso": "ISO-8859-1",
@@ -1339,6 +1346,12 @@
"number": "Nummer",
"text": "Freier Text"
},
+ "file-attribute": {
+ "update": {
+ "error": "Failed to update file attribute value!",
+ "success": "File attribute value has been updated successfully!"
+ }
+ },
"file-attributes-configurations": {
"cancel": "Cancel",
"form": {
@@ -1552,6 +1565,15 @@
"csv": "File attributes were imported successfully from uploaded CSV file."
}
},
+ "filter-menu": {
+ "filter-options": "Filteroptionen",
+ "filter-types": "Filter",
+ "label": "Filter",
+ "pages-without-annotations": "Only pages without annotations",
+ "redaction-changes": "Nur Anmerkungen mit Schwärzungsänderungen",
+ "unseen-pages": "Nur Anmerkungen auf unsichtbaren Seiten",
+ "with-comments": "Nur Anmerkungen mit Kommentaren"
+ },
"filter": {
"analysis": "Analyse erforderlich",
"comment": "Kommentare",
@@ -1562,15 +1584,6 @@
"suggestion": "Vorgeschlagene Schwärzung",
"updated": "Aktualisiert"
},
- "filter-menu": {
- "filter-options": "Filteroptionen",
- "filter-types": "Filter",
- "label": "Filter",
- "pages-without-annotations": "Only pages without annotations",
- "redaction-changes": "Nur Anmerkungen mit Schwärzungsänderungen",
- "unseen-pages": "Nur Anmerkungen auf unsichtbaren Seiten",
- "with-comments": "Nur Anmerkungen mit Kommentaren"
- },
"filters": {
"assigned-people": "Beauftragt",
"documents-status": "Documents State",
@@ -1737,6 +1750,7 @@
},
"license-info-screen": {
"backend-version": "Backend-Version der Anwendung",
+ "capacity-details": "Capacity Details",
"capacity": {
"active-documents": "Active Documents",
"all-documents": "Retention Capacity Used",
@@ -1746,12 +1760,12 @@
"trash-documents": "Documents in Trash",
"unused": "Unused Storage"
},
- "capacity-details": "Capacity Details",
"copyright-claim-text": "Copyright © 2020 - {currentYear} knecon",
"copyright-claim-title": "Copyright",
"current-analyzed-pages": "In aktuellem Lizenzzeitraum analysierte Seiten",
"current-volume-analyzed": "Data Volume Analyzed in Licensing Period",
"custom-app-title": "Name der Anwendung",
+ "email-report": "E-Mail-Bericht",
"email": {
"body": {
"analyzed": "Im aktuellen Lizenzzeitraum insgesamt analysierte Seiten: {pages}.",
@@ -1759,7 +1773,6 @@
},
"title": "Lizenzbericht {licenseCustomer}"
},
- "email-report": "E-Mail-Bericht",
"end-user-license-text": "Die Nutzung dieses Produkts unterliegt den Bedingungen der Endbenutzer-Lizenzvereinbarung für den RedactManager, sofern darin nichts anderweitig festgelegt.",
"end-user-license-title": "Endbenutzer-Lizenzvereinbarung",
"license-title": "License Title",
@@ -1844,13 +1857,6 @@
"user-promoted-to-approver": "{user} wurde im Dossier {dossierHref, select, null{{dossierName}} other{{dossierName}}} zum Genehmiger ernannt!",
"user-removed-as-dossier-member": "{user} wurde als Mitglied von: {dossierHref, select, null{{dossierName}} other{{dossierName}}} entfernt!"
},
- "notifications": {
- "button-text": "Notifications",
- "deleted-dossier": "Deleted Dossier",
- "label": "Benachrichtigungen",
- "mark-all-as-read": "Alle als gelesen markieren",
- "mark-as": "Mark as {type, select, read{read} unread{unread} other{}}"
- },
"notifications-screen": {
"category": {
"email-notifications": "E-Mail Benachrichtigungen",
@@ -1864,6 +1870,7 @@
"dossier": "Dossierbezogene Benachrichtigungen",
"other": "Andere Benachrichtigungen"
},
+ "options-title": "Wählen Sie aus, in welcher Kategorie Sie benachrichtigt werden möchten",
"options": {
"ASSIGN_APPROVER": "Wenn ich einem Dokument als Genehmiger zugewiesen bin",
"ASSIGN_REVIEWER": "Wenn ich einem Dokument als Überprüfer zugewiesen bin",
@@ -1881,7 +1888,6 @@
"USER_PROMOTED_TO_APPROVER": "Wenn ich Genehmiger in einem Dossier werde",
"USER_REMOVED_AS_DOSSIER_MEMBER": "Wenn ich die Dossier-Mitgliedschaft verliere"
},
- "options-title": "Wählen Sie aus, in welcher Kategorie Sie benachrichtigt werden möchten",
"schedule": {
"daily": "Tägliche Zusammenfassung",
"instant": "Sofortig",
@@ -1889,6 +1895,13 @@
},
"title": "Benachrichtigungseinstellungen"
},
+ "notifications": {
+ "button-text": "Notifications",
+ "deleted-dossier": "Deleted Dossier",
+ "label": "Benachrichtigungen",
+ "mark-all-as-read": "Alle als gelesen markieren",
+ "mark-as": "Mark as {type, select, read{read} unread{unread} other{}}"
+ },
"ocr": {
"confirmation-dialog": {
"cancel": "Cancel",
@@ -1980,16 +1993,16 @@
"warnings-subtitle": "Do not show again options",
"warnings-title": "Prompts and Dialogs Settings"
},
- "processing": {
- "basic": "Processing",
- "ocr": "OCR"
- },
"processing-status": {
"ocr": "OCR",
"pending": "Pending",
"processed": "Processed",
"processing": "Processing"
},
+ "processing": {
+ "basic": "Processing",
+ "ocr": "OCR"
+ },
"readonly": "Lesemodus",
"readonly-archived": "Read only (archived)",
"redact-text": {
@@ -2239,25 +2252,6 @@
},
"title": "Structured Component Management"
},
- "rules-screen": {
- "error": {
- "generic": "Es ist ein Fehler aufgetreten ... Die Regeln konnten nicht aktualisiert werden!"
- },
- "errors-found": "{errors, plural, one{An error} other{{errors} errors}} found in rules",
- "revert-changes": "Anmeldedaten speichern",
- "save-changes": "Änderungen speichern",
- "success": {
- "generic": "Die Regeln wurden aktualisiert!"
- },
- "title": "Rule Editor",
- "warning-text": "Warning: experimental feature!"
- },
- "search": {
- "active-dossiers": "ganze Plattform",
- "all-dossiers": "all documents",
- "placeholder": "Nach Dokumenten oder Dokumenteninhalt suchen",
- "this-dossier": "in diesem Dossier"
- },
"search-screen": {
"cols": {
"assignee": "Bevollmächtigter",
@@ -2281,6 +2275,12 @@
"no-match": "Keine Dokumente entsprechen Ihren aktuellen Filtern.",
"table-header": "{length} {length, plural, one{Suchergebnis} other{Suchergebnisse}}"
},
+ "search": {
+ "active-dossiers": "ganze Plattform",
+ "all-dossiers": "all documents",
+ "placeholder": "Nach Dokumenten oder Dokumenteninhalt suchen",
+ "this-dossier": "in diesem Dossier"
+ },
"seconds": "seconds",
"size": "Size",
"smtp-auth-config": {
@@ -2541,4 +2541,4 @@
}
},
"yesterday": "Gestern"
-}
\ No newline at end of file
+}
diff --git a/apps/red-ui/src/assets/i18n/redact/en.json b/apps/red-ui/src/assets/i18n/redact/en.json
index 1a5d3bf82..3c777e4b3 100644
--- a/apps/red-ui/src/assets/i18n/redact/en.json
+++ b/apps/red-ui/src/assets/i18n/redact/en.json
@@ -245,13 +245,13 @@
"dossier-templates": "Dossier Templates",
"entities": "Entities",
"entity-info": "Info",
+ "entity-rule-editor": "Entity Rule Editor",
"false-positive": "False Positive",
"false-recommendations": "False Recommendations",
"file-attributes": "File Attributes",
"justifications": "Justifications",
"license-information": "License Information",
"reports": "Reports",
- "rule-editor": "Rule Editor",
"settings": "Settings",
"user-management": "User Management",
"watermarks": "Watermarks"
@@ -1284,6 +1284,19 @@
"title": "{length} {length, plural, one{entity} other{entities}}"
}
},
+ "entity-rules-screen": {
+ "error": {
+ "generic": "Something went wrong... Entity rules update failed!"
+ },
+ "errors-found": "{errors, plural, one{An error} other{{errors} errors}} found in rules",
+ "revert-changes": "Revert",
+ "save-changes": "Save Changes",
+ "success": {
+ "generic": "Entity rules updated!"
+ },
+ "title": "Entity Rule Editor",
+ "warning-text": "Warning: experimental feature!"
+ },
"entity": {
"info": {
"actions": {
@@ -2239,19 +2252,6 @@
},
"title": "Structured Component Management"
},
- "rules-screen": {
- "error": {
- "generic": "Something went wrong... Rules update failed!"
- },
- "errors-found": "{errors, plural, one{An error} other{{errors} errors}} found in rules",
- "revert-changes": "Revert",
- "save-changes": "Save Changes",
- "success": {
- "generic": "Rules updated!"
- },
- "title": "Rule Editor",
- "warning-text": "Warning: experimental feature!"
- },
"search-screen": {
"cols": {
"assignee": "Assignee",
@@ -2541,4 +2541,4 @@
}
},
"yesterday": "Yesterday"
-}
\ No newline at end of file
+}
diff --git a/apps/red-ui/src/assets/i18n/scm/de.json b/apps/red-ui/src/assets/i18n/scm/de.json
index 6bef9e9c2..f422a3d72 100644
--- a/apps/red-ui/src/assets/i18n/scm/de.json
+++ b/apps/red-ui/src/assets/i18n/scm/de.json
@@ -245,13 +245,13 @@
"dossier-templates": "Dossier-Vorlage",
"entities": "",
"entity-info": "",
+ "entity-rule-editor": "",
"false-positive": "",
"false-recommendations": "",
"file-attributes": "",
"justifications": "",
"license-information": "",
"reports": "",
- "rule-editor": "",
"settings": "Einstellungen",
"user-management": "",
"watermarks": ""
@@ -1284,6 +1284,19 @@
"title": "{length} {length, plural, one{Wörterbuch} other{Wörterbücher}}"
}
},
+ "entity-rules-screen": {
+ "error": {
+ "generic": ""
+ },
+ "errors-found": "",
+ "revert-changes": "",
+ "save-changes": "",
+ "success": {
+ "generic": ""
+ },
+ "title": "",
+ "warning-text": ""
+ },
"entity": {
"info": {
"actions": {
@@ -2239,19 +2252,6 @@
},
"title": ""
},
- "rules-screen": {
- "error": {
- "generic": "Es ist ein Fehler aufgetreten ... Die Regeln konnten nicht aktualisiert werden!"
- },
- "errors-found": "",
- "revert-changes": "Anmeldedaten speichern",
- "save-changes": "Änderungen speichern",
- "success": {
- "generic": "Die Regeln wurden aktualisiert!"
- },
- "title": "",
- "warning-text": ""
- },
"search-screen": {
"cols": {
"assignee": "Bevollmächtigter",
diff --git a/apps/red-ui/src/assets/i18n/scm/en.json b/apps/red-ui/src/assets/i18n/scm/en.json
index 54780a8cd..e0b4ab8df 100644
--- a/apps/red-ui/src/assets/i18n/scm/en.json
+++ b/apps/red-ui/src/assets/i18n/scm/en.json
@@ -245,13 +245,13 @@
"dossier-templates": "Dossier Templates",
"entities": "Entities",
"entity-info": "Info",
+ "entity-rule-editor": "Entity Rule Editor",
"false-positive": "False Positive",
"false-recommendations": "False Recommendations",
"file-attributes": "File Attributes",
"justifications": "Justifications",
"license-information": "License Information",
"reports": "Reports",
- "rule-editor": "Rule Editor",
"settings": "Settings",
"user-management": "User Management",
"watermarks": "Watermarks"
@@ -1284,6 +1284,19 @@
"title": "{length} {length, plural, one{entity} other{entities}}"
}
},
+ "entity-rules-screen": {
+ "error": {
+ "generic": "Something went wrong... Entity rules update failed!"
+ },
+ "errors-found": "{errors, plural, one{An error} other{{errors} errors}} found in rules",
+ "revert-changes": "Revert",
+ "save-changes": "Save Changes",
+ "success": {
+ "generic": "Entity rules updated!"
+ },
+ "title": "Entity Rule Editor",
+ "warning-text": "Warning: experimental feature!"
+ },
"entity": {
"info": {
"actions": {
@@ -2239,19 +2252,6 @@
},
"title": "Component View"
},
- "rules-screen": {
- "error": {
- "generic": "Something went wrong... Rules update failed!"
- },
- "errors-found": "{errors, plural, one{An error} other{{errors} errors}} found in rules",
- "revert-changes": "Revert",
- "save-changes": "Save Changes",
- "success": {
- "generic": "Rules updated!"
- },
- "title": "Rule Editor",
- "warning-text": "Warning: experimental feature!"
- },
"search-screen": {
"cols": {
"assignee": "Assignee",
diff --git a/libs/red-domain/src/lib/shared/rules.ts b/libs/red-domain/src/lib/shared/rules.ts
index 64a4f9550..a94c435ec 100644
--- a/libs/red-domain/src/lib/shared/rules.ts
+++ b/libs/red-domain/src/lib/shared/rules.ts
@@ -3,9 +3,13 @@
*/
export interface IRules {
/**
- * The DossierTemplate Id for these rules
+ * The DossierTemplate ID for these rules
*/
dossierTemplateId?: string;
+ /**
+ * The file type to be retrieved/saved under, defaults to ENTITY
+ */
+ ruleFileType?: 'ENTITY' | 'COMPONENT';
/**
* The actual string of rules.
*/