Update professor module
This commit is contained in:
41
app/partials/professor/modal/new_password_modal.html
Normal file
41
app/partials/professor/modal/new_password_modal.html
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
<div class="modal-header">
|
||||||
|
<h3 class="modal-title">Nueva Contraseña</h3>
|
||||||
|
</div>
|
||||||
|
<div style="text-align: center" class="modal-body">
|
||||||
|
{{ vm.mensaje }}
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<div class="col-md-6 column" ng-show="vm.showFields">
|
||||||
|
<label style="text-align: center" for="password">Contraseña</label>
|
||||||
|
<input type="password" name="password" class="form-control" ng-model="vm.Password1" maxlength="20" required/>
|
||||||
|
<div class="error" ng-show="vm.invalid">
|
||||||
|
<small class="error"
|
||||||
|
ng-show="vm.invalid">
|
||||||
|
Las Contraseñas deben coincidir.
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 column" ng-show="vm.showFields">
|
||||||
|
<label style="text-align: center" for="password">Repetir Contraseña</label>
|
||||||
|
<input type="password" name="password" class="form-control" ng-model="vm.Password2" maxlength="20" required/>
|
||||||
|
<div class="error" ng-show="vm.invalid">
|
||||||
|
<small class="error"
|
||||||
|
ng-show="vm.invalid">
|
||||||
|
Las Contraseñas deben coincidir.
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button class="btn btn-primary"
|
||||||
|
type="button"
|
||||||
|
ng-click="vm.checkPassword()"
|
||||||
|
ng-show="vm.showFields"
|
||||||
|
style="margin-top:20px;">
|
||||||
|
Cambiar Contraseña
|
||||||
|
</button>
|
||||||
|
<div ng-show="!vm.showFields">
|
||||||
|
<button class="btn btn-primary"
|
||||||
|
ng-show="vm.botonOk"
|
||||||
|
type="button"
|
||||||
|
ng-click="ok()">OK</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
@@ -4,6 +4,7 @@
|
|||||||
angular
|
angular
|
||||||
.module('app.professor')
|
.module('app.professor')
|
||||||
.factory('professors', professors)
|
.factory('professors', professors)
|
||||||
|
.factory('passwordReset', passwordReset)
|
||||||
.value('selectedCourse',{})
|
.value('selectedCourse',{})
|
||||||
.value('selectedSection',{})
|
.value('selectedSection',{})
|
||||||
.value('selectedStudent',{})
|
.value('selectedStudent',{})
|
||||||
@@ -40,4 +41,15 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
passwordReset.$inject = ['$resource','$rootScope','authentication'];
|
||||||
|
function passwordReset($resource, $rootScope, authentication){
|
||||||
|
return $resource('http://'+$rootScope.domainUrl+'/reset/:id', {}, {
|
||||||
|
update: {
|
||||||
|
method: 'PUT',
|
||||||
|
headers: {
|
||||||
|
Authorization: 'Bearer '+ authentication.getToken()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
})();
|
})();
|
@@ -47,6 +47,8 @@
|
|||||||
vm.mensaje =
|
vm.mensaje =
|
||||||
"Error al agregar al profesor " + vm.profesor.Apellido + ", " + vm.profesor.Nombre;
|
"Error al agregar al profesor " + vm.profesor.Apellido + ", " + vm.profesor.Nombre;
|
||||||
});
|
});
|
||||||
|
}else{
|
||||||
|
vm.submitted = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -65,26 +65,33 @@
|
|||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-md-4 column">
|
||||||
|
<label for="password">Contraseña *</label>
|
||||||
|
<input type="password" name="password" class="form-control" ng-model="vm.profesor.Password" maxlength="20" required/>
|
||||||
|
<div class="error" ng-show="vm.submitted &&
|
||||||
|
vm.data_input_form.password.$invalid">
|
||||||
|
<small class="error"
|
||||||
|
ng-show="vm.data_input_form.password.$error.required">
|
||||||
|
La Contraseña del Profesor es obligatoria.
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="col-md-4 column">
|
<div class="col-md-4 column">
|
||||||
<label for="telefono">Número de Teléfono</label>
|
<label for="telefono">Número de Teléfono</label>
|
||||||
<input type="telefono" class="form-control"
|
<input type="telefono" class="form-control"
|
||||||
name="telefono" ng-model="vm.profesor.Telefono"
|
name="telefono" ng-model="vm.profesor.Telefono"
|
||||||
ng-pattern="/\d{13}/" maxlength="13"
|
ng-minlength="7" ng-maxlength="13"
|
||||||
placeholder="04241239876"/>
|
placeholder="04241239876"/>
|
||||||
<small class="error"
|
<small class="error"
|
||||||
ng-show="vm.data_input_form.telefono.$error.pattern">
|
ng-show="vm.data_input_form.telefono.$error.minlength">
|
||||||
El Formato del Número de Teléfono es incorrecto.
|
La longitud del Número de Teléfono es de 7 números mínimo.
|
||||||
|
</small>
|
||||||
|
<small class="error"
|
||||||
|
ng-show="vm.data_input_form.telefono.$error.maxlength">
|
||||||
|
La longitud del Número de Teléfono es de 13 números máximo.
|
||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4 column">
|
|
||||||
<label for="password">Contraseña *</label>
|
|
||||||
<input type="password" class="form-control" ng-model="vm.profesor.Password" maxlength="20" required/>
|
|
||||||
<div class="error" ng-show="vm.submitted && vm.data_input_form.password.$invalid">
|
|
||||||
<small class="error" ng-show="vm.data_input_form.password.$error.required">
|
|
||||||
La Contraseña del Profesor es obligatorio.
|
|
||||||
</small>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<label> * Estos campos son obligatorios.</label>
|
<label> * Estos campos son obligatorios.</label>
|
||||||
|
@@ -6,8 +6,8 @@
|
|||||||
.controller('ProfessorListCtrl', ProfessorListCtrl)
|
.controller('ProfessorListCtrl', ProfessorListCtrl)
|
||||||
|
|
||||||
ProfessorListCtrl.$inject =
|
ProfessorListCtrl.$inject =
|
||||||
[ '$scope', '$state', 'professors', '$modal', 'profesorSeleccionado' ];
|
[ '$scope', '$state', 'professors', '$modal', 'profesorSeleccionado','data' ];
|
||||||
function ProfessorListCtrl( $scope, $state, professors, $modal, profesorSeleccionado ){
|
function ProfessorListCtrl( $scope, $state, professors, $modal, profesorSeleccionado, data ){
|
||||||
|
|
||||||
var vm = this;
|
var vm = this;
|
||||||
vm.lista = true;
|
vm.lista = true;
|
||||||
@@ -15,17 +15,8 @@
|
|||||||
var profesorArray = [];
|
var profesorArray = [];
|
||||||
professors.query(
|
professors.query(
|
||||||
function (successResult){
|
function (successResult){
|
||||||
vm.profesor = successResult;
|
vm.professors = successResult;
|
||||||
angular.forEach(vm.profesor, function (value){
|
vm.listaProfesor = vm.professors;
|
||||||
profesorArray.push({
|
|
||||||
Cedula:value.id,
|
|
||||||
Nombre:value.name,
|
|
||||||
Apellido:value.lastname,
|
|
||||||
Telefono:value.number,
|
|
||||||
Correo: value.email
|
|
||||||
});
|
|
||||||
});
|
|
||||||
vm.listaProfesor = profesorArray;
|
|
||||||
|
|
||||||
},
|
},
|
||||||
function(){
|
function(){
|
||||||
@@ -53,15 +44,15 @@
|
|||||||
vm.acceptButton = true;
|
vm.acceptButton = true;
|
||||||
vm.botonCancelar = false;
|
vm.botonCancelar = false;
|
||||||
|
|
||||||
professors.delete({id: vm.profesor[index]._id},
|
professors.delete({id: vm.professors[index]._id},
|
||||||
function () {
|
function () {
|
||||||
vm.rsplice = true;
|
vm.rsplice = true;
|
||||||
vm.mensaje =
|
vm.mensaje =
|
||||||
"Profesor " + vm.profesor[index].name + " eliminado";
|
"Profesor " + vm.professors[index].name + " eliminado";
|
||||||
},
|
},
|
||||||
function () {
|
function () {
|
||||||
vm.mensaje =
|
vm.mensaje =
|
||||||
"Error eliminando al Profesor " + vm.profesor[index].name;
|
"Error eliminando al Profesor " + vm.professors[index].name;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -73,12 +64,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
vm.modificarProfesor = function (index) {
|
vm.modificarProfesor = function (index) {
|
||||||
profesorSeleccionado._id = vm.profesor[index]._id;
|
data.professorId = vm.professors[index]._id;
|
||||||
profesorSeleccionado.Cedula = vm.profesor[index].id;
|
|
||||||
profesorSeleccionado.Nombre = vm.profesor[index].name;
|
|
||||||
profesorSeleccionado.Apellido = vm.profesor[index].lastname;
|
|
||||||
profesorSeleccionado.Telefono = vm.profesor[index].number;
|
|
||||||
profesorSeleccionado.Correo = vm.profesor[index].email;
|
|
||||||
$state.go('ProfessorUpdate');
|
$state.go('ProfessorUpdate');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -5,13 +5,13 @@
|
|||||||
<table class="table table-bordered table-striped">
|
<table class="table table-bordered table-striped">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th width="20%">
|
<th width="20%" style="text-align: center">
|
||||||
Cedula
|
Cedula
|
||||||
</th>
|
</th>
|
||||||
<th width="20%">
|
<th width="20%" style="text-align: center">
|
||||||
Nombre
|
Nombre
|
||||||
</th>
|
</th>
|
||||||
<th width="20%">
|
<th width="20%" style="text-align: center">
|
||||||
Apellido
|
Apellido
|
||||||
</th>
|
</th>
|
||||||
<th width="20%" style="text-align: center">
|
<th width="20%" style="text-align: center">
|
||||||
@@ -24,9 +24,9 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr ng-repeat="profesor in vm.listaProfesor">
|
<tr ng-repeat="profesor in vm.listaProfesor">
|
||||||
<td style="vertical-align:middle">{{ profesor.Cedula }}</td>
|
<td style="vertical-align:middle">{{ profesor.id }}</td>
|
||||||
<td style="vertical-align:middle">{{ profesor.Nombre }}</td>
|
<td style="vertical-align:middle">{{ profesor.name }}</td>
|
||||||
<td style="vertical-align:middle">{{ profesor.Apellido }}</td>
|
<td style="vertical-align:middle">{{ profesor.lastname }}</td>
|
||||||
<td style="text-align: center">
|
<td style="text-align: center">
|
||||||
<span title="Haga click para Modificar un Profesor"
|
<span title="Haga click para Modificar un Profesor"
|
||||||
class="glyphicon glyphicon-edit"
|
class="glyphicon glyphicon-edit"
|
||||||
|
@@ -6,13 +6,23 @@
|
|||||||
.controller('ProfessorUpdateCtrl', ProfessorUpdateCtrl)
|
.controller('ProfessorUpdateCtrl', ProfessorUpdateCtrl)
|
||||||
|
|
||||||
ProfessorUpdateCtrl.$inject =
|
ProfessorUpdateCtrl.$inject =
|
||||||
['$scope', '$state', 'professors', '$modal', 'profesorSeleccionado' ];
|
['$scope', '$state', 'professors', '$modal', 'profesorSeleccionado', 'data', 'passwordReset' ];
|
||||||
function ProfessorUpdateCtrl ( $scope, $state, professors, $modal, profesorSeleccionado ){
|
function ProfessorUpdateCtrl ( $scope, $state, professors, $modal, profesorSeleccionado, data, passwordReset){
|
||||||
|
|
||||||
var vm = this;
|
var vm = this;
|
||||||
vm.botonOk = false;
|
vm.botonOk = false;
|
||||||
|
vm.id = data.professorId;
|
||||||
vm.mensaje = "";
|
vm.mensaje = "";
|
||||||
vm.profesor = profesorSeleccionado;
|
vm.profesor = null;
|
||||||
|
|
||||||
|
professors.get({id:vm.id},
|
||||||
|
function(success){
|
||||||
|
vm.profesor = success;
|
||||||
|
//vm.profesor.Password
|
||||||
|
},
|
||||||
|
function(){
|
||||||
|
console.log("Error obteniendo profesor");
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
vm.submit = function() {
|
vm.submit = function() {
|
||||||
@@ -30,7 +40,7 @@
|
|||||||
$scope.modalInstance = $modal.open({
|
$scope.modalInstance = $modal.open({
|
||||||
templateUrl: 'partials/professor/modal/update_professor_modal.html',
|
templateUrl: 'partials/professor/modal/update_professor_modal.html',
|
||||||
scope: $scope,
|
scope: $scope,
|
||||||
size: 'sm',
|
size: 'sm'
|
||||||
});
|
});
|
||||||
|
|
||||||
professors.update({ id: vm.profesor._id}, professor,
|
professors.update({ id: vm.profesor._id}, professor,
|
||||||
@@ -47,6 +57,48 @@
|
|||||||
"Error al modificar al profesor " + vm.profesor.Apellido + ", " + vm.profesor.Nombre;
|
"Error al modificar al profesor " + vm.profesor.Apellido + ", " + vm.profesor.Nombre;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
vm.newPassword = function (){
|
||||||
|
vm.mensaje = "Inserte el nuevo Password del profesor "+ vm.profesor.lastname;
|
||||||
|
vm.invalid = false;
|
||||||
|
vm.showFields = true;
|
||||||
|
vm.showButton = false;
|
||||||
|
$scope.modalInstance = $modal.open({
|
||||||
|
templateUrl: 'partials/professor/modal/new_password_modal.html',
|
||||||
|
scope: $scope,
|
||||||
|
size: 'md'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
vm.checkPassword = function (){
|
||||||
|
if(vm.Password1!=vm.Password2){
|
||||||
|
vm.invalid = true;
|
||||||
|
}else{
|
||||||
|
vm.invalid = false;
|
||||||
|
vm.showFields = false;
|
||||||
|
vm.showButton = true;
|
||||||
|
var updatedProfessor = {
|
||||||
|
"id": vm.profesor.id,
|
||||||
|
"name": vm.profesor.name,
|
||||||
|
"lastname": vm.profesor.lastname,
|
||||||
|
"email": vm.profesor.email,
|
||||||
|
"number": vm.profesor.number,
|
||||||
|
"role": "professor",
|
||||||
|
"password": vm.Password1
|
||||||
|
};
|
||||||
|
|
||||||
|
passwordReset.update({ id: vm.profesor._id}, updatedProfessor,
|
||||||
|
function(){
|
||||||
|
vm.botonOk = true;
|
||||||
|
vm.mensaje =
|
||||||
|
"Contraseña actualizada";
|
||||||
|
},
|
||||||
|
function(){
|
||||||
|
vm.botonOk = true;
|
||||||
|
vm.mensaje =
|
||||||
|
"Error al modificar contraseña";
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$scope.ok = function () {
|
$scope.ok = function () {
|
||||||
$state.go('ProfessorList');
|
$state.go('ProfessorList');
|
||||||
|
@@ -10,15 +10,15 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4 column">
|
<div class="col-md-4 column">
|
||||||
<label for="cedula">Cedula</label>
|
<label for="cedula">Cedula</label>
|
||||||
<input type="numeric" class="form-control" name="cedula" readonly="readonly" ng-model="vm.profesor.Cedula"/>
|
<input type="numeric" class="form-control" name="cedula" readonly="readonly" ng-model="vm.profesor.id"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4 column">
|
<div class="col-md-4 column">
|
||||||
<label for="nombre">Nombre</label>
|
<label for="nombre">Nombre</label>
|
||||||
<input type="text" class="form-control" name="nombre" readonly="readonly" ng-model="vm.profesor.Nombre"/>
|
<input type="text" class="form-control" name="nombre" readonly="readonly" ng-model="vm.profesor.name"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4 column">
|
<div class="col-md-4 column">
|
||||||
<label for="apellido">Apellido</label>
|
<label for="apellido">Apellido</label>
|
||||||
<input type="text" class="form-control" name="apellido" readonly="readonly" ng-model="vm.profesor.Apellido"/>
|
<input type="text" class="form-control" name="apellido" readonly="readonly" ng-model="vm.profesor.lastname"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row clearfix"><div class="col-md-12 column"><br><br>
|
<div class="row clearfix"><div class="col-md-12 column"><br><br>
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
<div class="col-md-4 column">
|
<div class="col-md-4 column">
|
||||||
<label for="email">Dirección de Correo Electronico</label>
|
<label for="email">Dirección de Correo Electronico</label>
|
||||||
<input type="email" class="form-control" name="email"
|
<input type="email" class="form-control" name="email"
|
||||||
ng-model="vm.profesor.Correo"
|
ng-model="vm.profesor.email"
|
||||||
ng-pattern="/^[a-z]+[a-z0-9._]+@[a-z]+\.[a-z.]{2,5}$/" placeholder="me@example.com"/>
|
ng-pattern="/^[a-z]+[a-z0-9._]+@[a-z]+\.[a-z.]{2,5}$/" placeholder="me@example.com"/>
|
||||||
<small class="error"
|
<small class="error"
|
||||||
ng-show="vm.data_input_form.correo.$error.pattern">
|
ng-show="vm.data_input_form.correo.$error.pattern">
|
||||||
@@ -36,13 +36,21 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-md-4 column">
|
<div class="col-md-4 column">
|
||||||
<label for="telefono">Número de Teléfono</label>
|
<label for="telefono">Número de Teléfono</label>
|
||||||
<input type="phone" class="form-control"
|
<input type="telefono" class="form-control"
|
||||||
name="telefono" ng-model="vm.profesor.Telefono"
|
name="telefono" ng-model="vm.profesor.number"
|
||||||
ng-pattern="/\d{4}-\d{3}-\d{4}/" maxlength="13"
|
ng-minlength="7" ng-maxlength="13"
|
||||||
placeholder="0212-574-1234"/>
|
placeholder="04241239876"/>
|
||||||
<small class="error" ng-show="vm.data_input_form.telefono.$error.pattern">
|
<small class="error"
|
||||||
El formato del Teléfono debe ser: 0212-789-5551.
|
ng-show="vm.data_input_form.telefono.$error.minlength">
|
||||||
|
La longitud del Número de Teléfono es de 7 números mínimo.
|
||||||
</small>
|
</small>
|
||||||
|
<small class="error"
|
||||||
|
ng-show="vm.data_input_form.telefono.$error.maxlength">
|
||||||
|
La longitud del Número de Teléfono es de 13 números máximo.
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-offset-1 col-md-2 column">
|
||||||
|
<button type="button" class="btn-primary btn" style="margin: 10px" ng-click="vm.newPassword()">Cambiar Contraseña</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -54,7 +62,6 @@
|
|||||||
<p class="input-group">
|
<p class="input-group">
|
||||||
<span class="input-group-btn">
|
<span class="input-group-btn">
|
||||||
<button type="submit" class="btn-success btn">Modificar Profesor</button>
|
<button type="submit" class="btn-success btn">Modificar Profesor</button>
|
||||||
<button type="button" class="btn-warning btn" style="margin: 10px" ng-click="vm.back()">Regresar</button>
|
|
||||||
</span>
|
</span>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
Reference in New Issue
Block a user