Merge branch 'KON-605-NEW' of ssh://git.eclipse.org:29418/openk-coremodules/org.eclipse.openk-coremodules.contactBaseData.frontend into KON-605-NEW
diff --git a/i18n/admin.de.json b/i18n/admin.de.json
index 2f2278e..dc2864a 100644
--- a/i18n/admin.de.json
+++ b/i18n/admin.de.json
@@ -1,7 +1,7 @@
{
"Salutations": {
"Link": "Anreden verwalten",
- "Title": "Übersicht Anrede",
+ "Title": "Übersicht Anreden",
"DetailsTitle": "Anrede Details",
"Type": "Typ",
"Description": "Beschreibung",
@@ -10,7 +10,7 @@
"CommunicationTypes": {
"Link": "Kommunikationstypen verwalten",
"Title": "Übersicht Kommunikationstypen",
- "DetailsTitle": "Kommunikationstypen Details",
+ "DetailsTitle": "Kommunikationstyp Details",
"Type": "Typ",
"Description": "Beschreibung",
"Editable": "Editierbar",
@@ -20,7 +20,7 @@
"PersonTypes": {
"Link": "Personentypen verwalten",
"Title": "Übersicht Personentypen",
- "DetailsTitle": "Personentypen Details",
+ "DetailsTitle": "Personentyp Details",
"Type": "Typ",
"Description": "Beschreibung",
"New": "Neuen Personentyp anlegen"
@@ -28,7 +28,7 @@
"AddressTypes": {
"Link": "Adresstypen verwalten",
"Title": "Übersicht Adresstypen",
- "DetailsTitle": "Adresstypen Details",
+ "DetailsTitle": "Adresstyp Details",
"Type": "Typ",
"Description": "Beschreibung",
"New": "Neuen Adresstyp anlegen"
diff --git a/src/app/pages/contacts/contacts-list/contacts-list-column-definition.ts b/src/app/pages/contacts/contacts-list/contacts-list-column-definition.ts
index 940f047..5b4a5f4 100644
--- a/src/app/pages/contacts/contacts-list/contacts-list-column-definition.ts
+++ b/src/app/pages/contacts/contacts-list/contacts-list-column-definition.ts
@@ -46,6 +46,14 @@
field: 'note',
colId: 'note',
headerName: 'Contacts.Note',
+ maxWidth: 130,
+ tooltipValueGetter: params => {
+ if (!!params.value && params.value.length >= 20) {
+ return params.value;
+ } else {
+ return '';
+ }
+ },
filter: 'agTextColumnFilter',
filterParams: {
debounceMs: 1000,
@@ -53,11 +61,12 @@
},
{
valueGetter: function(params) {
- if (params.data.community || params.data.street || params.data.housenumber) {
- return `${params.data.community}, ${params.data.street} ${params.data.housenumber}`;
- } else {
- return '';
- }
+ let result = '';
+ if (params.data.community) result += `${params.data.community}`;
+ if (params.data.street) result += ',' + ` ${params.data.street}`;
+ if (params.data.housenumber) result += ` ${params.data.housenumber}`;
+
+ return result;
},
colId: 'mainaddress',
headerName: 'Contacts.MainAddress',
diff --git a/src/app/pages/contacts/contacts-list/contacts-list.component.html b/src/app/pages/contacts/contacts-list/contacts-list.component.html
index da6b23c..37e26c1 100644
--- a/src/app/pages/contacts/contacts-list/contacts-list.component.html
+++ b/src/app/pages/contacts/contacts-list/contacts-list.component.html
@@ -150,7 +150,7 @@
[queryParameter]="modifiedContacts"
autoResizeColumns
class="ag-theme-balham"
- style="min-width: 984px; height: calc(100vh - 279px);"
+ style="min-width: 1130px; height: calc(100vh - 276px);"
[gridOptions]="gridOptions"
[columnDefs]="columnDefinition"
[rowSelection]="'single'"
diff --git a/src/app/pages/contacts/contacts-list/contacts-list.component.scss b/src/app/pages/contacts/contacts-list/contacts-list.component.scss
index 5177a30..f71da6d 100644
--- a/src/app/pages/contacts/contacts-list/contacts-list.component.scss
+++ b/src/app/pages/contacts/contacts-list/contacts-list.component.scss
@@ -22,7 +22,7 @@
display: flex;
justify-content: space-between;
align-content: center;
- min-width: 982px;
+ min-width: 1130px;
background-color: #f5f7f7;
border: 1px solid rgb(189, 195, 199);
padding: 7px 7px 5px 7px;
diff --git a/src/app/pages/contacts/contacts-list/contacts-list.component.spec.ts b/src/app/pages/contacts/contacts-list/contacts-list.component.spec.ts
index 5533293..3ed2d3e 100644
--- a/src/app/pages/contacts/contacts-list/contacts-list.component.spec.ts
+++ b/src/app/pages/contacts/contacts-list/contacts-list.component.spec.ts
@@ -236,4 +236,20 @@
expect(component.modifiedContacts.moduleName).toBe(moduleName);
expect(component.modifiedContacts.withoutAssignedModule).toBeFalsy();
});
+
+ it('checks if function _resetDSGVOFilter works', () => {
+ (component as any)._deletionLockExceeded = true;
+ (component as any)._resetDSGVOFilter();
+ expect((component as any)._deletionLockExceeded).toBeFalsy();
+ });
+
+ it('checks if function showAdvancedDSGVOFilter() works', () => {
+ const spy = spyOn(component as any, '_resetDSGVOFilter');
+ component.isDSGVOFilterAdvancedVisible = true;
+ component.modifiedContacts.expiringDataInPast = true;
+ component.showAdvancedDSGVOFilter();
+
+ expect(component.isDSGVOFilterAdvancedVisible).toBeFalsy();
+ expect(spy).toHaveBeenCalled();
+ });
});
diff --git a/src/app/pages/contacts/contacts-list/contacts-list.component.ts b/src/app/pages/contacts/contacts-list/contacts-list.component.ts
index d0cadd5..7a631da 100644
--- a/src/app/pages/contacts/contacts-list/contacts-list.component.ts
+++ b/src/app/pages/contacts/contacts-list/contacts-list.component.ts
@@ -205,6 +205,29 @@
sessionStorage.setItem(Globals.SESSSION_STORAGE_KEYS.contactListSearchFilterKey, JSON.stringify(this.modifiedContacts));
}
+ public showAdvancedDSGVOFilter() {
+ this.isDSGVOFilterAdvancedVisible = !this.isDSGVOFilterAdvancedVisible;
+ if (
+ !this.isDSGVOFilterAdvancedVisible &&
+ (this.modifiedContacts.moduleName != null ||
+ this.modifiedContacts.withoutAssignedModule ||
+ this.modifiedContacts.deletionLockExceeded ||
+ this.modifiedContacts.expiringDataInPast)
+ ) {
+ this._resetDSGVOFilter();
+ }
+ }
+
+ private _resetDSGVOFilter() {
+ this._deletionLockExceeded = false;
+ this._expiringDataInPast = false;
+ this.modifiedContacts.moduleName = null;
+ this.modifiedContacts.withoutAssignedModule = false;
+ this.modifiedContacts.deletionLockExceeded = false;
+ this.modifiedContacts.expiringDataInPast = false;
+ this.modifiedContacts = { ...this.modifiedContacts };
+ }
+
private _setModifiedContactsSort() {
if (this._sortingOrder && this._sortingContactType) {
const sort = this._sortingContactType + ',' + this._sortingOrder;
diff --git a/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.component.html b/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.component.html
index 7865c91..a8950ec 100644
--- a/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.component.html
+++ b/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.component.html
@@ -49,6 +49,13 @@
</div>
</div>
+ <div class="syncAlertMessage" *ngIf="internalPersonSandBox.showSyncAlertMessage">
+ <span>
+ Achtung: <br />Dieser Kontakt wird mit einem anderen System synchronisiert. <br />
+ Manuelle Änderungen gehen möglicherweise verloren.
+ </span>
+ </div>
+
<!-- title -->
<div class="form-group row">
<label for="title" class="col-sm-2 col-form-label">{{ 'Internal.PersonTitle' | translate }}</label>
@@ -123,7 +130,7 @@
autocomplete="off"
/>
</div>
- <button type="button" (click)="internalPersonSandBox.setLdapUidValue(null)" class="tool-icon">
+ <button type="button" style="flex-basis: 10px;" (click)="internalPersonSandBox.setLdapUidValue(null)" class="tool-icon">
<fa name="trash"></fa>
</button>
</div>
diff --git a/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.component.scss b/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.component.scss
index d73298c..a2ba532 100644
--- a/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.component.scss
+++ b/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.component.scss
@@ -52,3 +52,13 @@
.expandable-module-assignment .collapse5 {
height: 338px;
}
+.syncAlertMessage {
+ position: absolute;
+ right: 0px;
+ top: 0px;
+ margin: 20px;
+ padding: 14px;
+ font-size: 13px;
+ background-color: rgba(255, 178, 0, 0.2);
+ border: 1px solid rgba(0, 0, 0, 0.15);
+}
diff --git a/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.sandbox.ts b/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.sandbox.ts
index 707545e..b242671 100644
--- a/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.sandbox.ts
+++ b/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.sandbox.ts
@@ -49,7 +49,7 @@
public isCommunicationsDataDetailViewVisible: boolean = false;
public isAddressDataDetailViewVisible: boolean = false;
public existMainAddress = false;
- public showSynchAlertMessage = false;
+ public showSyncAlertMessage = false;
public isCurrentAddressMainAddress = false;
public internalPersonContactId: string;
private _currentInternalPerson: InternalPerson = null;
@@ -255,6 +255,8 @@
// subscribes to formState
this.internalPersonDetailsFormState$.pipe(takeUntil(this._endSubscriptions$)).subscribe((formState: FormGroupState<InternalPerson>) => {
this.internalPersonDetailsCurrentFormState = formState;
+
+ this.showSyncAlertMessage = !!formState.value && (!!formState.value.uid || !!formState.value.userRef) ? true : false;
});
}
diff --git a/src/app/shared/models/modifiedContacts.model.ts b/src/app/shared/models/modifiedContacts.model.ts
index ab6c092..233ca62 100644
--- a/src/app/shared/models/modifiedContacts.model.ts
+++ b/src/app/shared/models/modifiedContacts.model.ts
@@ -16,9 +16,9 @@
public sort: string = null;
public isDSGVOFilterAdvancedVisible: boolean = null;
public moduleName: string = null;
- public withoutAssignedModule: boolean = null;
- public expiringDataInPast: boolean = null;
- public deletionLockExceeded: boolean = null;
+ public withoutAssignedModule: boolean = false;
+ public expiringDataInPast: boolean = false;
+ public deletionLockExceeded: boolean = false;
public constructor(data: any = null) {
Object.keys(data || {})