Commit 6fa5be31 authored by D’jalmar Gutierrez Titirico's avatar D’jalmar Gutierrez Titirico 🚲
Browse files

se añadio la funcionalidad de editar los datos basicos de una entidad

parent 18522aa3
'use strict';
(()=> {
class EntidadEditarController {
constructor($stateParams, EntidadService, tipoEntidadService) {
this.errores = {}; // lista de errores
this.id = $stateParams.entidadId;
this.service = EntidadService;
this.entidad = {};
this.tipoEntidadService = tipoEntidadService;
this.tiposEntidad = {};
this.tipoEntidadService.getTiposEntidad()
.then(tiposEntidad=> {
this.tiposEntidad = tiposEntidad;
this.tipoEntidadSeleccionado = this.tiposEntidad.rows.find(x=>x._id === this.entidad.fk_tipo_entidad);
});
this.service.getEntidad(this.id, {
incluye: [
{entidad: 'TipoEntidad'},
{entidad: 'Oficinas'}
]
}).then(entidad=> {
this.entidad = entidad;
console.log(this.entidad);
})
}
//region Entidad
guardarEntidad(form, campo) {
console.log(campo);
if (form[campo].$modelValue._id)
form[campo].$modelValue = form[campo].$modelValue._id;
this.enviado = true;
if (form.$valid) {
this.service.editarEntidad(this.id, {[campo]: form[campo].$modelValue})
.then(entidad=> {
form[campo].$dirty = false;
this.enviado = false;
this.entidad[campo] = entidad[campo];
})
.catch(err => {
console.log(err);
this.errores.other = err.message;
});
}
}
//endregion
}
angular.module('moduloPersonalApp')
.controller('EntidadEditarCtrl', EntidadEditarController);
})();
<div>
<div class="row">
<div class="col-sm-5 col-md-4 col-xs-6">
<h3>Editar Entidad</h3>
</div>
<div class="col-sm-5 col-md-4 col-sm-offset-2">
<div class="pull-right">
<a class="btn btn-default header-button" ui-sref="entidades.lista">
<i class="fa fa-arrow-left"></i>
Regresar
</a>
</div>
</div>
</div>
<div class="container">
<div class="row">
<h4 class="color-primary">Entidad</h4>
<blockquote class="col-md-12 blockquote-primary">
<form class="form" name="form" novalidate>
<div class="row">
<div class="col-md-10">
<label>Nombre</label>
<div class="input-group">
<input type="text" name="nombre" class="form-control" ng-model="vm.entidad.nombre" required>
<span class="input-group-btn">
<button type="button" class="btn btn-primary-outline" ng-click="vm.guardarEntidad(form,'nombre')"
ng-disabled="!form.nombre.$dirty"><i class="fa fa-save"></i></button>
</span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-10">
<label>Sigla</label>
<div class="input-group">
<input type="text" name="sigla" class="form-control" ng-model="vm.entidad.sigla" required>
<span class="input-group-btn">
<button type="button" class="btn btn-primary-outline" ng-click="vm.guardarEntidad(form,'sigla')"
ng-disabled="!form.sigla.$dirty"><i class="fa fa-save"></i></button>
</span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-10">
<label>Tipo de Entidad</label>
<div class="input-group">
<select name="fk_tipo_entidad" class="form-control" ng-model="vm.tipoEntidadSeleccionado"
ng-options="tpEntidad as (tpEntidad.nombre) for tpEntidad in vm.tiposEntidad.rows" required>
</select>
<span class="input-group-btn">
<button type="button" class="btn btn-primary-outline" ng-click="vm.guardarEntidad(form,'fk_tipo_entidad')"
ng-disabled="!form.fk_tipo_entidad.$dirty"><i class="fa fa-save"></i></button>
</span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-10">
<label>Descripción</label>
<div class="input-group">
<input type="text" name="descripcion" class="form-control" ng-model="vm.entidad.descripcion" required>
<span class="input-group-btn">
<button type="button" class="btn btn-primary-outline" ng-click="vm.guardarEntidad(form,'descripcion')"
ng-disabled="!form.descripcion.$dirty"><i class="fa fa-save"></i></button>
</span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-10">
<label>Pagina Web</label>
<div class="input-group">
<input type="text" name="paginaWeb" class="form-control" ng-model="vm.entidad.paginaWeb">
<span class="input-group-btn">
<button type="button" class="btn btn-primary-outline" ng-click="vm.guardarEntidad(form,'paginaWeb')"
ng-disabled="!form.paginaWeb.$dirty"><i class="fa fa-save"></i></button>
</span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-10">
<label>Correo Electrónico</label>
<div class="input-group">
<input type="text" name="correo" class="form-control" ng-model="vm.entidad.correo">
<span class="input-group-btn">
<button type="button" class="btn btn-primary-outline" ng-click="vm.guardarEntidad(form,'correo')"
ng-disabled="!form.correo.$dirty"><i class="fa fa-save"></i></button>
</span>
</div>
</div>
</div>
<div class="form-group has-error">
<p class="help-block"
ng-show="(form.nombre.$error.required ||form.descripcion.$error.required || form.correo.$error.required) && vm.enviado">
Debe llenar todos los campos
</p>
<p class="help-block">{{ vm.errores.other }}</p>
</div>
</form>
</blockquote>
</div>
<!--<div class="row">-->
<!--<div class="row">-->
<!--<div class="col-sm-5 col-md-4 col-xs-6">-->
<!--<h4 class="color-primary">Datos entidadles</h4>-->
<!--</div>-->
<!--<div class="col-sm-5 col-md-4 col-sm-offset-2">-->
<!--<div class="pull-right">-->
<!--<button class="btn btn-success-outline" ng-click="vm.crearDato()" type="button"><i class="fa fa-plus"></i>-->
<!--Añadir dato-->
<!--</button>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<!--<blockquote class="col-md-12 blockquote-primary">-->
<!--<div class="row" ng-repeat="dato in vm.entidad.Datos">-->
<!--<div class="col-md-10">-->
<!--<label>{{dato.nombre}}</label>-->
<!--<div class="input-group">-->
<!--<input ng-readonly="true" type="text" name="nombres" class="form-control"-->
<!--ng-model="dato.Datoentidad.valor" required>-->
<!--<div class="input-group-btn">-->
<!--<button type="button" class="btn btn-info-outline" ng-click="vm.editarDato(dato)"><i-->
<!--class="fa fa-edit"></i></button>-->
<!--<button type="button" class="btn btn-danger-outline" ng-click="vm.eliminarDato(dato)"><i-->
<!--class="fa fa-trash"></i></button>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<!--</blockquote>-->
<!--</div>-->
<!--<div class="row">-->
<!--<h4 class="color-primary">Tags</h4>-->
<!--<blockquote class="col-md-10 blockquote-primary">-->
<!--<tags-input class="primary" ng-model="vm.entidad.Tags" name="tags" placeholder="Adicionar Tags"-->
<!--display-property="nombre"-->
<!--min-length="2" on-tag-adding="vm.adicionarTag($tag)" on-tag-removed="vm.quitarTag($tag)">-->
<!--<auto-complete source="vm.autoCompletarTags($query)" min-length="2" display-property="nombre"></auto-complete>-->
<!--</tags-input>-->
<!--</blockquote>-->
<!--</div>-->
<!--<div class="row">-->
<!--<div class="row">-->
<!--<div class="col-sm-5 col-md-4 col-xs-6">-->
<!--<h4 class="color-primary">Postulaciones</h4>-->
<!--</div>-->
<!--<div class="col-sm-5 col-md-4 col-sm-offset-2 ">-->
<!--<div class="pull-right">-->
<!--<button class="btn btn-success-outline" type="button" ng-click="vm.crearPostulacion()">-->
<!--<i class="fa fa-plus"></i>-->
<!--Añadir Postulación-->
<!--</button>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<!--<blockquote class="col-md-12 blockquote-primary">-->
<!--<div class="row">-->
<!--<div class="col-md-10">-->
<!--<div class="list-group">-->
<!--<div class="list-group-item" ng-repeat="cargo in vm.entidad.Postulaciones">-->
<!--<span class="pull-right">-->
<!--<div class="btn-group">-->
<!--<button type="button" class="btn btn-info-outline" ng-click="vm.editarPostulacion(cargo)"><i-->
<!--class="fa fa-edit"></i></button>-->
<!--<button type="button" class="btn btn-danger-outline" ng-click="vm.eliminarPostulacion(cargo)"><i-->
<!--class="fa fa-trash"></i></button>-->
<!--</div>-->
<!--</span>-->
<!--<h4 class="list-group-item-heading">{{cargo.nombre}}-->
<!--<small>presentación:</small>-->
<!--</h4>-->
<!--<p class="list-group-item-text">{{cargo.Postulacion.presentacion}}</p>-->
<!--<p class="text-right fecha text-info">-->
<!--{{cargo.Postulacion.fecha_modificacion | date:"dd/MM/yyyy 'a las' h:mma"}}-->
<!--</p>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<!--</blockquote>-->
<!--</div>-->
<!--<div class="row">-->
<!--<div class="row">-->
<!--<div class="col-sm-5 col-md-4 col-xs-6">-->
<!--<h4 class="color-primary">Comentarios</h4>-->
<!--</div>-->
<!--<div class="col-sm-5 col-md-4 col-sm-offset-2">-->
<!--<div class="pull-right">-->
<!--<button class="btn btn-success-outline" type="button" ng-click="vm.crearComentario()">-->
<!--<i class="fa fa-plus"></i>-->
<!--Nuevo Comentario-->
<!--</button>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<!--<blockquote class="col-md-12 blockquote-primary">-->
<!--<div class="row">-->
<!--<div class="col-md-10">-->
<!--<div class="list-group">-->
<!--<div class="list-group-item" ng-repeat="comentarista in vm.entidad.Comentarios">-->
<!--<span class="pull-right">-->
<!--<div class="btn-group">-->
<!--<button type="button" class="btn btn-info-outline" ng-click="vm.editarComentario(comentarista)"><i-->
<!--class="fa fa-edit"></i></button>-->
<!--<button type="button" class="btn btn-danger-outline"-->
<!--ng-click="vm.eliminarComentario(comentarista)"><i-->
<!--class="fa fa-trash"></i></button>-->
<!--</div>-->
<!--</span>-->
<!--<h4 class="list-group-item-heading">{{comentarista.nombreCompleto}}-->
<!--<small>dijo:</small>-->
<!--</h4>-->
<!--<p class="list-group-item-text">{{comentarista.Comentario.contenido}}</p>-->
<!--<p class="text-right fecha text-info">-->
<!--{{comentarista.Comentario.fecha_modificacion | date:"dd/MM/yyyy 'a las' h:mma"}}-->
<!--</p>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<!--</blockquote>-->
<!--</div>-->
</div>
</div>
......@@ -15,9 +15,7 @@
this.paginaActual = 1;
this.cambiarPagina();
}
organigrama(id) {
this.$state.go('entidades.organigrama', {entidadId: id});
}
cambiarPagina() {
this.service.getEntidades({
pagina: this.paginaActual,
......
......@@ -14,6 +14,12 @@ angular.module('moduloPersonalApp')
url: '',
templateUrl: 'app/entidades/entidades.lista.html'
})
.state('entidades.editar', {
url: '/:entidadId/editar',
templateUrl: 'app/entidades/editar/entidades.editar.html',
controller: 'EntidadEditarCtrl',
controllerAs: 'vm'
})
.state('entidades.organigrama', {
url: '/:entidadId/organigrama',
templateUrl: 'app/entidades/organigrama/entidades.organigrama.html',
......
......@@ -33,13 +33,16 @@
<td>{{entidad.sigla}}</td>
<td class="text-center">
<div class="btn-group" role="group">
<a class="btn btn-primary-outline btn-xs" href="#" role="button"
ng-click="vm.organigrama(entidad._id)">
<a class="btn btn-primary-outline btn-xs" role="button"
ui-sref="entidades.organigrama({entidadId:entidad._id})">
<i class="fa fa-sitemap fa-lg"></i>
</a>
<a class="btn btn-info-outline btn-xs" href="#" role="button" ng-click="vm.eliminar(entidad)">
<a class="btn btn-info-outline btn-xs" ui-sref="entidades.editar({entidadId:entidad._id})" role="button" ng-click="vm.editar(entidad)">
<i class="fa fa-edit fa-lg"></i>
</a>
<a class="btn btn-danger-outline btn-xs" href="#" role="button" ng-click="vm.eliminar(entidad)">
<i class="fa fa-trash fa-lg"></i>
</a>
</div>
</td>
</tr>
......
......@@ -19,12 +19,23 @@
return this.resource.query(parametros).$promise;
}
getEntidad(id, parametros = {}) {
parametros.id = id;
return this.resource.get(parametros).$promise;
}
getOrganigrama(id) {
return this.resource.organigrama({id: id}).$promise;
}
crearEntidad(entidad) {
return this.resource.save(entidad).$promise;
}
editarEntidad(id, entidad) {
console.log(entidad);
return this.resource.update({id: id}, entidad).$promise;
}
}
angular.module('moduloPersonalApp')
......
......@@ -20,26 +20,26 @@
<div class="row">
<div class="col-md-10">
<label>Nombres</label>
<p class="input-group">
<div class="input-group">
<input type="text" name="nombres" class="form-control" ng-model="vm.persona.nombres" required>
<span class="input-group-btn">
<button type="button" class="btn btn-primary-outline" ng-click="vm.guardarPostulante(form,'nombres')"
ng-disabled="!form.nombres.$dirty"><i class="fa fa-save"></i></button>
</span>
</p>
</div>
</div>
</div>
<div class="row">
<div class="col-md-10">
<label>Apellidos</label>
<p class="input-group">
<div class="input-group">
<input type="text" name="apellidos" class="form-control" ng-model="vm.persona.apellidos" required>
<span class="input-group-btn">
<button type="button" class="btn btn-primary-outline"
ng-click="vm.guardarPostulante(form,'apellidos')"
ng-disabled="!form.apellidos.$dirty"><i class="fa fa-save"></i></button>
</span>
</p>
</div>
</div>
</div>
<div class="row">
......
......@@ -71,7 +71,7 @@
<script src="components/autenticacion/autenticacion.module.js"></script>
<script src="components/modal/modal.module.js"></script>
<script src="components/util/util.module.js"></script>
<script src="app/postulaciones/postulaciones.service.js"></script>
<script src="app/postulaciones/modals/postulaciones.editar.modal.controller.js"></script>
<script src="app/cargos/editar/cargos.editar.controller.js"></script>
<script src="app/cargos/modals/cargos.crear.modal.controller.js"></script>
<script src="app/comentarios/comentarios.service.js"></script>
......@@ -82,6 +82,7 @@
<script src="app/datosPersonas/datosPersonas.service.js"></script>
<script src="app/datosPersonas/modals/datosPersonas.crear.modal.controller.js"></script>
<script src="app/datosPersonas/modals/datosPersonas.editar.modal.controller.js"></script>
<script src="app/entidades/editar/entidades.editar.controller.js"></script>
<script src="app/entidades/entidades.controller.js"></script>
<script src="app/entidades/entidades.js"></script>
<script src="app/entidades/entidades.service.js"></script>
......@@ -96,8 +97,8 @@
<script src="app/personas/personas.service.js"></script>
<script src="app/postulaciones/modals/postulaciones.cargo.modal.controller.js"></script>
<script src="app/postulaciones/modals/postulaciones.crear.modal.controller.js"></script>
<script src="app/postulaciones/modals/postulaciones.editar.modal.controller.js"></script>
<script src="app/cargos/cargos.controller.js"></script>
<script src="app/postulaciones/postulaciones.service.js"></script>
<script src="app/tags/tags.controller.js"></script>
<script src="app/tags/tags.js"></script>
<script src="app/tags/tags.service.js"></script>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment