diff --git a/ogWebconsole/src/app/components/pages/admin/users/users/add-user-modal/add-user-modal.component.css b/ogWebconsole/src/app/components/pages/admin/users/users/add-user-modal/add-user-modal.component.css
new file mode 100644
index 0000000..e69de29
diff --git a/ogWebconsole/src/app/components/pages/admin/users/users/add-user-modal/add-user-modal.component.html b/ogWebconsole/src/app/components/pages/admin/users/users/add-user-modal/add-user-modal.component.html
new file mode 100644
index 0000000..a65fc48
--- /dev/null
+++ b/ogWebconsole/src/app/components/pages/admin/users/users/add-user-modal/add-user-modal.component.html
@@ -0,0 +1,54 @@
+
Añadir Usuario
+
+
+
+
+
diff --git a/ogWebconsole/src/app/components/pages/admin/users/users/add-user-modal/add-user-modal.component.spec.ts b/ogWebconsole/src/app/components/pages/admin/users/users/add-user-modal/add-user-modal.component.spec.ts
new file mode 100644
index 0000000..84cc8a4
--- /dev/null
+++ b/ogWebconsole/src/app/components/pages/admin/users/users/add-user-modal/add-user-modal.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { AddUserModalComponent } from './add-user-modal.component';
+
+describe('AddUserModalComponent', () => {
+ let component: AddUserModalComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ declarations: [AddUserModalComponent]
+ })
+ .compileComponents();
+
+ fixture = TestBed.createComponent(AddUserModalComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/ogWebconsole/src/app/components/pages/admin/users/users/add-user-modal/add-user-modal.component.ts b/ogWebconsole/src/app/components/pages/admin/users/users/add-user-modal/add-user-modal.component.ts
new file mode 100644
index 0000000..2daea9e
--- /dev/null
+++ b/ogWebconsole/src/app/components/pages/admin/users/users/add-user-modal/add-user-modal.component.ts
@@ -0,0 +1,59 @@
+import { Component, Inject } from '@angular/core';
+import { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';
+import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
+
+@Component({
+ selector: 'app-add-user-modal',
+ templateUrl: './add-user-modal.component.html',
+ styleUrl: './add-user-modal.component.css'
+})
+export class AddUserModalComponent {
+ userForm: FormGroup;
+
+ constructor(
+ public dialogRef: MatDialogRef,
+ @Inject(MAT_DIALOG_DATA) public data: any,
+ private fb: FormBuilder
+ ) {
+ this.userForm = this.fb.group({
+ username: ['', Validators.required],
+ roles: ['', Validators.required],
+ allowedOrganizationalUnits: this.fb.array([this.createOrganizationalUnit()]),
+ password: ['', Validators.required],
+ enabled: [true],
+ userGroups: this.fb.array([this.createUserGroup()])
+ });
+ }
+
+ createOrganizationalUnit(): FormGroup {
+ return this.fb.group({
+ name: ['', Validators.required]
+ });
+ }
+
+ addOrganizationalUnit(): void {
+ (this.userForm.get('allowedOrganizationalUnits') as FormArray).push(this.createOrganizationalUnit());
+ }
+
+ createUserGroup(): FormGroup {
+ return this.fb.group({
+ name: ['', Validators.required],
+ permissions: ['', Validators.required],
+ enabled: [true]
+ });
+ }
+
+ addUserGroup(): void {
+ (this.userForm.get('userGroups') as FormArray).push(this.createUserGroup());
+ }
+
+ onNoClick(): void {
+ this.dialogRef.close();
+ }
+
+ onSubmit(): void {
+ if (this.userForm.valid) {
+ this.dialogRef.close(this.userForm.value);
+ }
+ }
+}
diff --git a/ogWebconsole/src/app/components/pages/admin/users/users/delete-user-modal/delete-user-modal.component.css b/ogWebconsole/src/app/components/pages/admin/users/users/delete-user-modal/delete-user-modal.component.css
new file mode 100644
index 0000000..e69de29
diff --git a/ogWebconsole/src/app/components/pages/admin/users/users/delete-user-modal/delete-user-modal.component.html b/ogWebconsole/src/app/components/pages/admin/users/users/delete-user-modal/delete-user-modal.component.html
new file mode 100644
index 0000000..743b1db
--- /dev/null
+++ b/ogWebconsole/src/app/components/pages/admin/users/users/delete-user-modal/delete-user-modal.component.html
@@ -0,0 +1,8 @@
+Eliminar Usuario
+
+
¿Estás seguro que deseas eliminar a {{ data.username }}?
+
+
+
+
+
diff --git a/ogWebconsole/src/app/components/pages/admin/users/users/delete-user-modal/delete-user-modal.component.spec.ts b/ogWebconsole/src/app/components/pages/admin/users/users/delete-user-modal/delete-user-modal.component.spec.ts
new file mode 100644
index 0000000..3e48352
--- /dev/null
+++ b/ogWebconsole/src/app/components/pages/admin/users/users/delete-user-modal/delete-user-modal.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { DeleteUserModalComponent } from './delete-user-modal.component';
+
+describe('DeleteUserModalComponent', () => {
+ let component: DeleteUserModalComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ declarations: [DeleteUserModalComponent]
+ })
+ .compileComponents();
+
+ fixture = TestBed.createComponent(DeleteUserModalComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/ogWebconsole/src/app/components/pages/admin/users/users/delete-user-modal/delete-user-modal.component.ts b/ogWebconsole/src/app/components/pages/admin/users/users/delete-user-modal/delete-user-modal.component.ts
new file mode 100644
index 0000000..3db10fe
--- /dev/null
+++ b/ogWebconsole/src/app/components/pages/admin/users/users/delete-user-modal/delete-user-modal.component.ts
@@ -0,0 +1,21 @@
+import { Component, Inject } from '@angular/core';
+import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
+
+@Component({
+ selector: 'app-delete-user-modal',
+ templateUrl: './delete-user-modal.component.html',
+ styleUrl: './delete-user-modal.component.css'
+})
+export class DeleteUserModalComponent {
+
+ constructor(
+ public dialogRef: MatDialogRef,
+ @Inject(MAT_DIALOG_DATA) public data: any
+ ) {}
+
+ onNoClick(): void {
+ this.dialogRef.close();
+ }
+
+ // INSERTAR EL DELETE Y EN EL CLICK LLAMAR A ESTE METODO
+}