Skip to content

Commit c8bffc3

Browse files
Fix #2869 Difficult to find users to delete from group in large groups
1 parent d810f4d commit c8bffc3

File tree

22 files changed

+398
-1958
lines changed

22 files changed

+398
-1958
lines changed

src/app/access-control/group-registry/group-form/members-list/members-list.component.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -370,9 +370,9 @@ export class MembersListComponent implements OnInit, OnDestroy {
370370
}
371371

372372
/**
373-
* Search all EPeople who are a member of the current group by name, email or metadata
374-
* @param data Contains query param
375-
*/
373+
* Search all EPeople who are a member of the current group by name, email or metadata
374+
* @param data Contains query param
375+
*/
376376
searchMembers(data: any) {
377377
this.unsubFrom(SubKey.Members);
378378
this.subs.set(SubKey.Members,
@@ -463,6 +463,6 @@ export class MembersListComponent implements OnInit, OnDestroy {
463463
this.searchCurrentMembersForm.patchValue({
464464
queryCurrentMembers:'',
465465
});
466-
this.searchMembers({queryCurrentMembers: ''});
466+
this.searchMembers({ queryCurrentMembers: '' });
467467
}
468468
}

src/app/core/eperson/eperson-data.service.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ export class EPersonDataService extends IdentifiableDataService<EPerson> impleme
241241
return this.searchBy('isNotMemberOf', findListOptions, useCachedVersionIfAvailable, reRequestOnStale, ...linksToFollow);
242242
}
243243

244-
/**
244+
/**
245245
* Searches for all EPerons which are a member of a given group, via a passed in query
246246
* (searches all EPerson metadata and by exact UUID).
247247
* Endpoint used: /eperson/epesons/search/isMemberOf?query=<:string>&group=<:uuid>
@@ -255,19 +255,19 @@ export class EPersonDataService extends IdentifiableDataService<EPerson> impleme
255255
* @param linksToFollow List of {@link FollowLinkConfig} that indicate which
256256
* {@link HALLink}s should be automatically resolved
257257
*/
258-
public searchMembers(query: string, group: string, options?: FindListOptions, useCachedVersionIfAvailable = true, reRequestOnStale = true, ...linksToFollow: FollowLinkConfig<EPerson>[]): Observable<RemoteData<PaginatedList<EPerson>>> {
259-
const searchParams = [new RequestParam('query', query), new RequestParam('group', group)];
260-
let findListOptions = new FindListOptions();
261-
if (options) {
262-
findListOptions = Object.assign(new FindListOptions(), options);
263-
}
264-
if (findListOptions.searchParams) {
265-
findListOptions.searchParams = [...findListOptions.searchParams, ...searchParams];
266-
} else {
267-
findListOptions.searchParams = searchParams;
268-
}
269-
return this.searchBy('isMemberOf', findListOptions, useCachedVersionIfAvailable, reRequestOnStale, ...linksToFollow);
258+
public searchMembers(query: string, group: string, options?: FindListOptions, useCachedVersionIfAvailable = true, reRequestOnStale = true, ...linksToFollow: FollowLinkConfig<EPerson>[]): Observable<RemoteData<PaginatedList<EPerson>>> {
259+
const searchParams = [new RequestParam('query', query), new RequestParam('group', group)];
260+
let findListOptions = new FindListOptions();
261+
if (options) {
262+
findListOptions = Object.assign(new FindListOptions(), options);
270263
}
264+
if (findListOptions.searchParams) {
265+
findListOptions.searchParams = [...findListOptions.searchParams, ...searchParams];
266+
} else {
267+
findListOptions.searchParams = searchParams;
268+
}
269+
return this.searchBy('isMemberOf', findListOptions, useCachedVersionIfAvailable, reRequestOnStale, ...linksToFollow);
270+
}
271271

272272
/**
273273
* Add a new patch to the object cache

src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/reviewers-list/reviewers-list.component.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,10 @@ export class ReviewersListComponent extends MembersListComponent implements OnIn
112112
scope: 'metadata',
113113
query: '',
114114
}));
115+
116+
this.searchCurrentMembersForm = this.formBuilder.group(({
117+
queryCurrentMembers: '',
118+
}));
115119
}
116120

117121
ngOnChanges(changes: SimpleChanges): void {

src/assets/i18n/ar.json5

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -507,12 +507,11 @@
507507
// "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"",
508508
"admin.access-control.epeople.form.notification.deleted.success": "تم حذف الشخص الإلكتروني \"{{name}}\"بنجاح",
509509

510-
//"admin.access-control.epeople.form.notification.deleted.failure": "فشل في حذف الهاتف الإلكتروني \"{{name}}\"",
511510
// "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"",
512511
"admin.access-control.epeople.form.notification.deleted.failure": "فشل حذف الشخص الإلكتروني \"{{name}}\"",
513512
"admin.access-control.epeople.form.notification.failure.noActiveEPerson": "لا يوجد شخص إلكتروني نشط حاليًا",
514513
"admin.access-control.epeople.form.notification.success.deleteMembership": "العضوية المحذوفة من المجموعة: \"{{name}}\"",
515-
"admin.access-control.epeople.form.notification.failure.deleteMembership": "لا يمكن حذف العضوية من المجموعة: \"{{name}}\
514+
"admin.access-control.epeople.form.notification.failure.deleteMembership": "لا يمكن حذف العضوية من المجموعة: \"{{name}}\"",
516515

517516
// "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:",
518517
"admin.access-control.epeople.form.groupsEPersonIsMemberOf": "عضو في هذه المجموعات:",
@@ -522,8 +521,7 @@
522521

523522
// "admin.access-control.epeople.form.table.name": "Name",
524523
"admin.access-control.epeople.form.table.name": "الاسم",
525-
526-
//"admin.access-control.epeople.form.table.collectionOrCommunity": "الحاوية/المجتمع",
524+
527525
// "admin.access-control.epeople.form.table.collectionOrCommunity": "Collection/Community",
528526
"admin.access-control.epeople.form.table.collectionOrCommunity": "حاوية/مجتمع",
529527
"admin.access-control.epeople.form.table.remove": "يزيل",

src/assets/i18n/ca.json5

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2244,6 +2244,12 @@
22442244
// "cookies.consent.app.required.title": "(always required)",
22452245
"cookies.consent.app.required.title": "(sempre requerit)",
22462246

2247+
// "cookies.consent.app.disable-all.description": "Use this switch to enable or disable all services.",
2248+
"cookies.consent.app.disable-all.description": "Utilitzeu aquest camp per activar o desactivar tots els serveis.",
2249+
2250+
// "cookies.consent.app.disable-all.title": "Enable or disable all services",
2251+
"cookies.consent.app.disable-all.title": "Activar o desactivar tots els serveis",
2252+
22472253
// "cookies.consent.update": "There were changes since your last visit, please update your consent.",
22482254
"cookies.consent.update": "Hi ha hagut canvis des de la darrera visita, si us plau, actualitzeu el vostre consentiment.",
22492255

@@ -2259,9 +2265,15 @@
22592265
// "cookies.consent.save": "Save",
22602266
"cookies.consent.save": "Guardar",
22612267

2268+
// "cookies.consent.content-notice.title": "Cookie Consent",
2269+
"cookies.consent.content-notice.title": "Cookie Consent",
2270+
22622271
// "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: <strong>Authentication, Preferences, Acknowledgement and Statistics</strong>. <br/> To learn more, please read our {privacyPolicy}.",
22632272
"cookies.consent.content-notice.description": "Recopilem i processem la vostra informació personal amb les finalitats següents: <strong>Autenticació, Preferències, Reconeixement i Estadístiques</strong>. <br/> Per obtenir més informació, llegiu la nostra {privacyPolicy}.",
22642273

2274+
// "cookies.consent.content-notice.description.no-privacy": "We collect and process your personal information for the following purposes: <strong>Authentication, Preferences, Acknowledgement and Statistics</strong>.",
2275+
"cookies.consent.content-notice.description.no-privacy": "Recopilem i processem la vostra informació personal per als següents propòsits: <strong>Autenticació, Preferències, Reconeixement i Estadístiques<strong>.",
2276+
22652277
// "cookies.consent.content-notice.learnMore": "Customize",
22662278
"cookies.consent.content-notice.learnMore": "Personalitzar",
22672279

@@ -2277,6 +2289,12 @@
22772289
// "cookies.consent.content-modal.title": "Information that we collect",
22782290
"cookies.consent.content-modal.title": "Informació que recopilem",
22792291

2292+
// "cookies.consent.content-modal.services": "services",
2293+
"cookies.consent.content-modal.services": "serveis",
2294+
2295+
// "cookies.consent.content-modal.service": "service",
2296+
"cookies.consent.content-modal.service": "servei",
2297+
22802298
// "cookies.consent.app.title.authentication": "Authentication",
22812299
"cookies.consent.app.title.authentication": "Autenticació",
22822300

0 commit comments

Comments
 (0)