+
+ A category with that name already exists.
+
@@ -39,7 +42,13 @@
-
diff --git a/src/main/webapp/app/entities/categoria/update/categoria-update.component.ts b/src/main/webapp/app/entities/categoria/update/categoria-update.component.ts
index b5d24ae..c7e993a 100644
--- a/src/main/webapp/app/entities/categoria/update/categoria-update.component.ts
+++ b/src/main/webapp/app/entities/categoria/update/categoria-update.component.ts
@@ -14,19 +14,32 @@ import { CategoriaService } from '../service/categoria.service';
})
export class CategoriaUpdateComponent implements OnInit {
isSaving = false;
+ public categorias?: ICategoria[];
editForm = this.fb.group({
id: [],
nombre: [null, [Validators.required]],
estado: [null, [Validators.required]],
});
+ public duplicateName: boolean;
- constructor(protected categoriaService: CategoriaService, protected activatedRoute: ActivatedRoute, protected fb: FormBuilder) {}
+ constructor(protected categoriaService: CategoriaService, protected activatedRoute: ActivatedRoute, protected fb: FormBuilder) {
+ this.duplicateName = false;
+ this.categorias = [];
+ this.loadAll();
+ }
ngOnInit(): void {
this.activatedRoute.data.subscribe(({ categoria }) => {
this.updateForm(categoria);
});
+ this.loadAll();
+ }
+
+ loadAll(): void {
+ this.categoriaService.query().subscribe(res => {
+ this.categorias = res.body ?? [];
+ });
}
previousState(): void {
@@ -36,13 +49,25 @@ export class CategoriaUpdateComponent implements OnInit {
save(): void {
this.isSaving = true;
const categoria = this.createFromForm();
- if (categoria.id !== undefined) {
- this.subscribeToSaveResponse(this.categoriaService.update(categoria));
+ const condicion = this.categoryExists(categoria);
+ if (!condicion) {
+ if (categoria.id !== undefined) {
+ this.subscribeToSaveResponse(this.categoriaService.update(categoria));
+ } else {
+ this.subscribeToSaveResponse(this.categoriaService.create(categoria));
+ }
} else {
- this.subscribeToSaveResponse(this.categoriaService.create(categoria));
+ this.duplicateName = true;
+ this.isSaving = false;
}
}
+ protected categoryExists(categoria: ICategoria): boolean {
+ this.loadAll();
+ var condicion = this.categorias!.some(cat => cat.nombre === categoria.nombre);
+ return condicion;
+ }
+
protected subscribeToSaveResponse(result: Observable>): void {
result.pipe(finalize(() => this.onSaveFinalize())).subscribe(
() => this.onSaveSuccess(),
diff --git a/src/main/webapp/app/login/login.component.tmpSpec.ts b/src/main/webapp/app/login/login.component.tmpSpec.ts
index 9631606..9f8675a 100644
--- a/src/main/webapp/app/login/login.component.tmpSpec.ts
+++ b/src/main/webapp/app/login/login.component.tmpSpec.ts
@@ -12,6 +12,7 @@ import { AccountService } from 'app/core/auth/account.service';
import { LoginService } from './login.service';
import { LoginComponent } from './login.component';
+import { SocialAuthService } from 'angularx-social-login';
describe('Component Tests', () => {
describe('LoginComponent', () => {
diff --git a/src/main/webapp/i18n/es/categoria.json b/src/main/webapp/i18n/es/categoria.json
index b5d1305..1a7b898 100644
--- a/src/main/webapp/i18n/es/categoria.json
+++ b/src/main/webapp/i18n/es/categoria.json
@@ -5,7 +5,7 @@
"title": "Categorías",
"refreshListLabel": "Refrescar lista",
"createLabel": "Crear nueva Categoría",
- "createOrEditLabel": "Crear o editar Categoría",
+ "createOrEditLabel": "Datos de Categoría",
"notFound": "Ninguna Categoría encontrada"
},
"created": "Una nueva Categoría ha sido creada con el identificador {{ param }}",
@@ -21,7 +21,10 @@
"nombre": "Nombre",
"estado": "Estado",
"encuesta": "Encuesta",
- "plantilla": "Plantilla"
+ "plantilla": "Plantilla",
+ "errors": {
+ "duplicateName": "Ya existe una categoría con ese nombre."
+ }
}
}
}
diff --git a/src/main/webapp/i18n/es/encuesta.json b/src/main/webapp/i18n/es/encuesta.json
index 7125183..d2b259a 100644
--- a/src/main/webapp/i18n/es/encuesta.json
+++ b/src/main/webapp/i18n/es/encuesta.json
@@ -31,7 +31,7 @@
"usuarioEncuesta": "Usuario Encuesta",
"ePreguntaAbierta": "E Pregunta Abierta",
"ePreguntaCerrada": "E Pregunta Cerrada",
- "categoria": "Categoria",
+ "categoria": "Categoría",
"usuarioExtra": "Usuario Extra"
}
}
diff --git a/src/main/webapp/i18n/es/global.json b/src/main/webapp/i18n/es/global.json
index 97ede39..8484710 100644
--- a/src/main/webapp/i18n/es/global.json
+++ b/src/main/webapp/i18n/es/global.json
@@ -15,7 +15,7 @@
"ePreguntaCerrada": "E Pregunta Cerrada",
"ePreguntaCerradaOpcion": "E Pregunta Cerrada Opcion",
"usuarioEncuesta": "Usuario Encuesta",
- "categoria": "Categoria",
+ "categoria": "Categoría",
"factura": "Factura",
"plantilla": "Plantilla",
"pPreguntaAbierta": "P Pregunta Abierta",
diff --git a/src/main/webapp/i18n/es/plantilla.json b/src/main/webapp/i18n/es/plantilla.json
index 40ad319..a6a62cd 100644
--- a/src/main/webapp/i18n/es/plantilla.json
+++ b/src/main/webapp/i18n/es/plantilla.json
@@ -26,7 +26,7 @@
"precio": "Precio",
"pPreguntaCerrada": "P Pregunta Cerrada",
"pPreguntaAbierta": "P Pregunta Abierta",
- "categoria": "Categoria",
+ "categoria": "Categoría",
"usuarioExtra": "Usuario Extra"
}
}