From 75b7b2c180e90c533bb559e880e98ae41ff451dd Mon Sep 17 00:00:00 2001 From: Mariela Bonilla Date: Sat, 7 Aug 2021 03:30:50 -0600 Subject: [PATCH] add visualizar plantillas compradas --- .../org/datasurvey/domain/UsuarioExtra.java | 2 +- .../app/entities/entity-routing.module.ts | 5 ++ .../list/usuario-plantillas.component.html | 57 ++++++++++++++++ .../list/usuario-plantillas.component.scss | 0 .../list/usuario-plantillas.component.ts | 68 +++++++++++++++++++ .../route/usuario-plantillas.route.ts | 11 +++ .../usuario-plantillas.model.ts | 0 .../usuario-plantillas.module.ts | 13 ++++ .../app/layouts/sidebar/sidebar.constants.ts | 12 ++-- src/main/webapp/i18n/es/usuarioExtra.json | 7 +- 10 files changed, 167 insertions(+), 8 deletions(-) create mode 100644 src/main/webapp/app/entities/usuario-plantillas/list/usuario-plantillas.component.html create mode 100644 src/main/webapp/app/entities/usuario-plantillas/list/usuario-plantillas.component.scss create mode 100644 src/main/webapp/app/entities/usuario-plantillas/list/usuario-plantillas.component.ts create mode 100644 src/main/webapp/app/entities/usuario-plantillas/route/usuario-plantillas.route.ts create mode 100644 src/main/webapp/app/entities/usuario-plantillas/usuario-plantillas.model.ts create mode 100644 src/main/webapp/app/entities/usuario-plantillas/usuario-plantillas.module.ts diff --git a/src/main/java/org/datasurvey/domain/UsuarioExtra.java b/src/main/java/org/datasurvey/domain/UsuarioExtra.java index 9f8708b..411dbc3 100644 --- a/src/main/java/org/datasurvey/domain/UsuarioExtra.java +++ b/src/main/java/org/datasurvey/domain/UsuarioExtra.java @@ -64,7 +64,7 @@ public class UsuarioExtra implements Serializable { joinColumns = @JoinColumn(name = "usuario_extra_id"), inverseJoinColumns = @JoinColumn(name = "plantilla_id") ) - @JsonIgnoreProperties(value = { "pPreguntaCerradas", "pPreguntaAbiertas", "categoria", "usuarioExtras" }, allowSetters = true) + @JsonIgnoreProperties(value = { "pPreguntaCerradas", "pPreguntaAbiertas", "usuarioExtras" }, allowSetters = true) private Set plantillas = new HashSet<>(); // jhipster-needle-entity-add-field - JHipster will add fields here diff --git a/src/main/webapp/app/entities/entity-routing.module.ts b/src/main/webapp/app/entities/entity-routing.module.ts index f01eb05..1e6285a 100644 --- a/src/main/webapp/app/entities/entity-routing.module.ts +++ b/src/main/webapp/app/entities/entity-routing.module.ts @@ -77,6 +77,11 @@ import { RouterModule } from '@angular/router'; loadChildren: () => import('./p-pregunta-cerrada-opcion/p-pregunta-cerrada-opcion.module').then(m => m.PPreguntaCerradaOpcionModule), }, + { + path: 'mis-plantillas', + data: { pageTitle: 'dataSurveyApp.usuarioExtra.plantillas.title' }, + loadChildren: () => import('./usuario-plantillas/usuario-plantillas.module').then(m => m.UsuarioPlantillasModule), + }, /* jhipster-needle-add-entity-route - JHipster will add entity modules routes here */ ]), ], diff --git a/src/main/webapp/app/entities/usuario-plantillas/list/usuario-plantillas.component.html b/src/main/webapp/app/entities/usuario-plantillas/list/usuario-plantillas.component.html new file mode 100644 index 0000000..b8ce210 --- /dev/null +++ b/src/main/webapp/app/entities/usuario-plantillas/list/usuario-plantillas.component.html @@ -0,0 +1,57 @@ +
+

+ Mis Plantillas +

Hola

+ +
+ +
+

+ + + + +
+ No usuarioEncuestas found +
+ +
+ + + + + + + + + + + + + + + + + +
NombreDescripcionCategoria
{{ miPlantilla.nombre }}{{ miPlantilla.descripcion }}{{ miPlantilla.categoria?.nombre }} +
+ + + +
+
+
+
diff --git a/src/main/webapp/app/entities/usuario-plantillas/list/usuario-plantillas.component.scss b/src/main/webapp/app/entities/usuario-plantillas/list/usuario-plantillas.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/main/webapp/app/entities/usuario-plantillas/list/usuario-plantillas.component.ts b/src/main/webapp/app/entities/usuario-plantillas/list/usuario-plantillas.component.ts new file mode 100644 index 0000000..cc18ef0 --- /dev/null +++ b/src/main/webapp/app/entities/usuario-plantillas/list/usuario-plantillas.component.ts @@ -0,0 +1,68 @@ +import { Component, OnInit } from '@angular/core'; +import { IUsuarioExtra, UsuarioExtra } from '../../usuario-extra/usuario-extra.model'; +import { IPlantilla } from '../../plantilla/plantilla.model'; +import { HttpResponse } from '@angular/common/http'; + +import { PlantillaService } from '../../plantilla/service/plantilla.service'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { CategoriaService } from '../../categoria/service/categoria.service'; +import { UsuarioExtraService } from '../../usuario-extra/service/usuario-extra.service'; +import { ActivatedRoute, Router } from '@angular/router'; +import { FormBuilder } from '@angular/forms'; +import { AccountService } from '../../../core/auth/account.service'; +import * as dayjs from 'dayjs'; +import { Account } from '../../../core/auth/account.model'; + +@Component({ + selector: 'jhi-usuario-plantillas', + templateUrl: './usuario-plantillas.component.html', + styleUrls: ['./usuario-plantillas.component.scss'], +}) +export class UsuarioPlantillasComponent implements OnInit { + misPlantillas?: IPlantilla[] | null | undefined; + isLoading = false; + usuarioExtra: UsuarioExtra | null = null; + account: Account | null = null; + + constructor( + protected plantillaService: PlantillaService, + protected modalService: NgbModal, + protected categoriaService: CategoriaService, + protected usuarioExtraService: UsuarioExtraService, + protected activatedRoute: ActivatedRoute, + protected fb: FormBuilder, + protected accountService: AccountService, + protected router: Router + ) {} + + ngOnInit(): void { + this.accountService.getAuthenticationState().subscribe(account => { + if (account !== null) { + this.account = account; + this.loadAll(); + } + }); + } + + loadAll() { + this.isLoading = true; + // Get jhi_user and usuario_extra information + if (this.account !== null) { + this.usuarioExtraService.find(this.account.id).subscribe(usuarioExtra => { + this.usuarioExtra = usuarioExtra.body; + this.misPlantillas = usuarioExtra.body?.plantillas; + this.isLoading = false; + if (this.usuarioExtra !== null) { + if (this.usuarioExtra.id === undefined) { + const today = dayjs().startOf('day'); + this.usuarioExtra.fechaNacimiento = today; + } + } + }); + } + } + + trackId(index: number, item: IPlantilla): number { + return item.id!; + } +} diff --git a/src/main/webapp/app/entities/usuario-plantillas/route/usuario-plantillas.route.ts b/src/main/webapp/app/entities/usuario-plantillas/route/usuario-plantillas.route.ts new file mode 100644 index 0000000..b476951 --- /dev/null +++ b/src/main/webapp/app/entities/usuario-plantillas/route/usuario-plantillas.route.ts @@ -0,0 +1,11 @@ +import { Route, RouterModule } from '@angular/router'; + +import { UsuarioPlantillasComponent } from '../list/usuario-plantillas.component'; + +export const USUARIO_PLANTILLAS_ROUTE: Route = { + path: '', + component: UsuarioPlantillasComponent, + data: { + pageTitle: 'dataSurveyApp.usuarioExtra.plantillas.title', + }, +}; diff --git a/src/main/webapp/app/entities/usuario-plantillas/usuario-plantillas.model.ts b/src/main/webapp/app/entities/usuario-plantillas/usuario-plantillas.model.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/main/webapp/app/entities/usuario-plantillas/usuario-plantillas.module.ts b/src/main/webapp/app/entities/usuario-plantillas/usuario-plantillas.module.ts new file mode 100644 index 0000000..cee5e8e --- /dev/null +++ b/src/main/webapp/app/entities/usuario-plantillas/usuario-plantillas.module.ts @@ -0,0 +1,13 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { UsuarioPlantillasComponent } from './list/usuario-plantillas.component'; +import { RouterModule } from '@angular/router'; +import { USUARIO_PLANTILLAS_ROUTE } from './route/usuario-plantillas.route'; +import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; +import { SharedModule } from '../../shared/shared.module'; + +@NgModule({ + declarations: [UsuarioPlantillasComponent], + imports: [CommonModule, RouterModule.forChild([USUARIO_PLANTILLAS_ROUTE]), FontAwesomeModule, SharedModule], +}) +export class UsuarioPlantillasModule {} diff --git a/src/main/webapp/app/layouts/sidebar/sidebar.constants.ts b/src/main/webapp/app/layouts/sidebar/sidebar.constants.ts index 40bbb53..715b298 100644 --- a/src/main/webapp/app/layouts/sidebar/sidebar.constants.ts +++ b/src/main/webapp/app/layouts/sidebar/sidebar.constants.ts @@ -70,12 +70,12 @@ export const USER_ROUTES: RouteInfo[] = [ // type: 'link', // icontype: 'nc-icon nc-cart-simple', // }, - // { - // path: '/plantilla', - // title: 'Plantillas', - // type: 'link', - // icontype: 'nc-icon nc-album-2', - // }, + { + path: '/mis-plantillas', + title: 'Mis Plantillas', + type: 'link', + icontype: 'nc-icon nc-album-2', + }, { path: '/colaboraciones', title: 'Colaboraciones', diff --git a/src/main/webapp/i18n/es/usuarioExtra.json b/src/main/webapp/i18n/es/usuarioExtra.json index 660fd9d..087360f 100644 --- a/src/main/webapp/i18n/es/usuarioExtra.json +++ b/src/main/webapp/i18n/es/usuarioExtra.json @@ -27,7 +27,12 @@ "correo": "Correo electrónico", "encuesta": "Encuesta", "usuarioEncuesta": "Usuario Encuesta", - "plantilla": "Plantilla" + "plantilla": "Plantilla", + "plantillas": { + "title": "Mis Plantillas", + "notFound": "No tiene plantillas compradas", + "crearEncuesta": "Crear encuesta" + } } } }