Skip to content
Snippets Groups Projects
Commit 47b7bf00 authored by Marlène SIMONDANT's avatar Marlène SIMONDANT
Browse files

Merge branch '380-2-admin-revendication' into 'dev'

380-2-admin-revendication

See merge request !617
parents 8b3580f1 95a8df51
No related branches found
No related tags found
3 merge requests!635V2.5.0,!622V2.5.0,!617380-2-admin-revendication
......@@ -48,3 +48,7 @@
cursor: pointer;
}
}
::ng-deep .ag-row-group-leaf-indent {
margin-left: 0 !important;
}
......@@ -61,6 +61,21 @@
(gridReady)="onGridReady($event, 'attached')"
>
</ag-grid-angular>
<h3 *ngIf="tempUsers" class="title">Utilisateurs sans compte ajoutés à une structure</h3>
<ag-grid-angular
*ngIf="tempUsers"
class="ag-theme-alpine user-table"
rowSelection="multiple"
domLayout="autoHeight"
style="width: 100%"
[rowData]="tempUsers"
[columnDefs]="colDefsTempUsers"
[getRowHeight]="getRowHeight"
[defaultColDef]="defaultColDef"
[frameworkComponents]="frameworkComponents"
>
</ag-grid-angular>
</div>
<app-modal-confirmation
*ngIf="userToDelete"
......
......
......@@ -3,8 +3,10 @@ import { ColDef, CsvExportParams, GridApi, GridReadyEvent, ProcessCellForExportP
import { Employer } from '../../../models/employer.model';
import { Job } from '../../../models/job.model';
import { Structure } from '../../../models/structure.model';
import { TempUser } from '../../../models/temp-user.model';
import { User } from '../../../models/user.model';
import { NotificationService } from '../../../services/notification.service';
import { TempUserService } from '../../../services/temp-user.service';
import { ButtonType } from '../../../shared/components/button/buttonType.enum';
import { AdminService } from '../../services/admin.service';
import { AdministredStructuresComponent } from './administred-structures/administred-structures.component';
......@@ -33,6 +35,9 @@ export class ManageUsersComponent {
public editJobModalOpened = false;
public editEmployerModalOpened = false;
public userToDelete: User = null;
public tempUsers: TempUser[];
public changingJobs: Job[] = [
{ name: null, hasPersonalOffer: true, validated: false },
{ name: null, hasPersonalOffer: true, validated: false },
......@@ -128,7 +133,35 @@ export class ManageUsersComponent {
},
];
constructor(private adminService: AdminService, private notificationService: NotificationService) {
public colDefsTempUsers: ColDef<TempUser>[] = [
{
minWidth: 100,
headerName: 'E-mail',
field: 'email',
},
{
minWidth: 200,
headerName: 'Structure(s)',
field: 'structures',
valueGetter: this.getStructureNames.bind(this),
cellRenderer: 'agGroupCellRenderer',
autoHeight: true,
},
{
minWidth: 50,
headerName: 'Demande de rattachement envoyée le',
field: 'updatedAt',
valueGetter: function (params) {
return new Date(params.data?.updatedAt).toLocaleDateString();
},
},
];
constructor(
private adminService: AdminService,
private tempUserService: TempUserService,
private notificationService: NotificationService
) {
this.findValidatedJobs();
this.findValidatedEmployers();
this.columnDefsUnattached = [...this.columnDefs];
......@@ -149,6 +182,16 @@ export class ManageUsersComponent {
this.findAttachedUsers();
this.findUnAttachedUsers();
this.findUnVerifiedUsers();
this.findTempUsers();
}
private getStructureNames(params): string {
const structuresLink = params.data?.structuresLink;
if (!structuresLink || structuresLink.length === 0) {
return '';
}
const structureNames = structuresLink.map((structure) => (structure as Structure)?.structureName);
return structureNames.join('\n');
}
public onDeleteButtonClick(arg): void {
......@@ -326,6 +369,12 @@ export class ManageUsersComponent {
});
}
public findTempUsers(): void {
this.tempUserService.getAllTempUsers().subscribe((data) => {
this.tempUsers = data;
});
}
public getRowHeight(params): number {
const structures = params.data.structures || [];
return structures.length !== 0 ? structures.length * 40 : 40;
......
......
export class TempUser {
_id: string;
email: string;
pendingStructuresLink: string[];
structuresLink: string[];
updatedAt: string;
}
......@@ -108,7 +108,6 @@ export class StructureMembersManagementComponent implements OnInit {
this.addMemberModalOpened = false;
if (memberAddRequested) {
this.ngOnInit();
this.notificationService.showSuccess(`La demande d'ajout a bien été effectuée`, '');
}
}
}
......@@ -13,4 +13,8 @@ export class TempUserService {
public getUser(id: string): Observable<TempUser> {
return this.http.get<TempUser>(`${this.baseUrl}/${id}`);
}
public getAllTempUsers(): Observable<TempUser[]> {
return this.http.get<TempUser[]>(this.baseUrl);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment