Vista de para la migracion de datos moodle

parent dfb49da5
......@@ -8,6 +8,10 @@
<i class="fa fa-arrow-left"></i>
Regresar
</a>
<a class="btn btn-primary header-button" ui-sref="migracionMoodle.categoria({entidadId:vm.entidadId, convocatoriaId:vm.convocatoriaId})">
<i class="fa fa-database"></i>
Migrar Datos Moodle
</a>
</div>
</div>
</div>
......
......@@ -11,6 +11,8 @@
this.service = MigracionMoodleService;
this.categorias = {};
this.cargoConvocatoriaId = $stateParams.cargoConvocatoriaId;
// this.service.getWSCategoria()
this.service.getCategoriasMoodle()
......
......@@ -13,8 +13,9 @@
this.service = MigracionMoodleService;
this.cursos = {};
this.idCategoria = $stateParams.idCategoria;
this.cargoConvocatoriaId = $stateParams.cargoConvocatoriaId;
this.service.getCursosMoodle({id: this.idCategoria })
.then((cursos)=>{
this.cursos = cursos;
......
<div class="container">
<div class="container" ui-view>
<div class="row">
<div class="col-sm-3 col-md-3 col-xs-6">
<h4 class="color-primary">Cursos Moodle
......@@ -35,7 +35,7 @@
<td>{{curso.nombreCurso}}</td>
<td class="text-center">
<div class="btn-group" role="group">
<a class="btn btn-success-outline btn-xs" href="#" role="button" ui-sref="migracionMoodle.examen({idCurso:curso.idCurso})">
<a class="btn btn-success-outline btn-xs" href="#" role="button" ui-sref="migracionMoodle.curso.examen({cargoConvocatoriaId:vm.cargoConvocatoriaId, idCategoria:vm.idCategoria, idCurso:curso.idCurso })">
<i class="fa fa-lg fa-list-ul"></i>
Examenes
</a>
......
......@@ -2,41 +2,110 @@
(()=> {
class MigracionMoodleExamenController {
constructor($stateParams, $uibModal, Modal, MigracionMoodleService) {
constructor($stateParams, $state, MigracionMoodleService, CargoConvocatoriaService, ConvocatoriaService, tipoDatoService) {
this.alertas = [];
this.modal = $uibModal;
this.Modal = Modal;
this.service = MigracionMoodleService;
this.cargoConvocatoriaService = CargoConvocatoriaService;
this.convocatoriaService = ConvocatoriaService;
this.tipoDatoService = tipoDatoService;
this.$state = $state;
this.cursos = {};
this.examenes = {};
this.cargosConvocatoria = {};
this.formateo = {pagina:1, elementos: 1000};
this.entidadId = $stateParams.entidadId;
this.convocatoriaId = $stateParams.convocatoriaId;
this.idCategoria = $stateParams.idCategoria;
this.idCurso = $stateParams.idCurso;
this.service.getExamenesMoodle({id: this.idCurso })
this.parametro = {
entidadId: this.entidadId,
convocatoriaId: this.convocatoriaId,
idCategoria: this.idCategoria,
idCurso: this.idCurso
};
this.service.examenesMoodle(this.parametro)
.then((examenes)=>{
this.examenes = examenes;
// console.log(examenes);
this.totalElementos = examenes.length;
})
});
// this.convocatoriaService.cargos(this.convocatoriaId, this.formateo)
// .then(respuesta=> {
// console.log(respuesta.rows);
// this.cargosConvocatoria = respuesta.rows;;
// });
}
//ini region migrarDatos
migrarDatos(form){
var this_=this;
var respuesta = [];
this.enviado = true;
// var acciones = etapas.map((etapa)=> {
// indice += 1;
// return Etapa.update({orden: indice}, {where: {_id: etapa._id}})
// });
// return Promise.all(acciones);
if (form.$valid) {
// console.log( this.examenes );
this.examenes.forEach(examen=>{
// this.examenes.forEach(examen=>{
var acciones = this.examenes.map((examen)=>{
if(examen.checked){
this.service.getNotasMoodle({id: examen.id})
.then(notas=>{
console.log(notas);
})
examen.parametro.idExamen = examen.idExamen;
// this_.service.notasMoodle(examen)
return this_.service.notasMoodle(examen)
.then(notas=>{
//console.log(notas);
notas.forEach(nota=>{
nota.parametro.idNota = nota.idNota;
nota.parametro.idUsuario = nota.idUsuario;
this.service.usuariosMoodle(nota)
.then(usuario=>{
this.service.procesarMigracion(usuario)
.then((procesado)=>{
// console.log(procesado);
})
}
//this.cargosConvocatoria.forEach(cConvocatoria=>{
//var cargoConvocatoriaId = cConvocatoria._id;
//usuario[0].parametro.cargoConvocatoriaId = cargoConvocatoriaId;
// this.service.procesarMigracion(usuario)
// .then(dato=>{
// })
//})//forEach cargoConvocatoria
})//then usuario
})//nota.forEach
});//then notas - serice notasMoodle
}//if checked
})//forEach examen
Promise.all(acciones)
.then(()=>{
this.$state.go('entidades.convocatorias.editar', {entidadId: this.entidadId, convocatoriaId: this.convocatoriaId });
})
}
}
// Promise.acciones
// .then(function(data) {
// console.log('Invocado cuando no hay errores con los datos');
// })
// .catch(function(err) {
// console.log('Invocado cuando surge un error');
// })
// .finally(function(data) {
// console.log('Invocado siempre, independientemente del resultado obtenido como respuesta');
// })
// .then(()={
// this.$state.go('entidades.convocatorias.editar', {entidadId: this.entidadId, convocatoriaId: this.convocatoriaId });
// });
}//form.valid
}//migrarDatos
//fin region migrarDatos
}
angular.module('moduloPersonalApp')
......
......@@ -5,7 +5,7 @@ angular.module('moduloPersonalApp')
$stateProvider
.state('migracionMoodle', {
abstract: true,
url: '/migracionMoodle',
url: '/migracionMoodle/:entidadId/:convocatoriaId',
templateUrl: 'app/migracionMoodle/migracionMoodle.html',
controller: 'MigracionMoodleCtrl',
controllerAs: 'vm'
......@@ -20,7 +20,7 @@ angular.module('moduloPersonalApp')
controller: 'MigracionMoodleCursoCtrl',
controllerAs: 'vm'
})
.state('migracionMoodle.examen', {
.state('migracionMoodle.curso.examen', {
url: '/examenesMoodle/:idCurso',
templateUrl: 'app/migracionMoodle/migracionMoodle.examen.html',
controller: 'MigracionMoodleExamenCtrl',
......
......@@ -21,8 +21,8 @@
},
examenesMoodle: {
isArray: true,
method: 'GET',
url: appConfig.serverAddress + '/api/migracionMoodle/examenesMoodle/:id'
method: 'POST',
url: appConfig.serverAddress + '/api/migracionMoodle/examenesMoodle/'
},
wsCategoria: {
isArray: true,
......@@ -31,9 +31,19 @@
},
notasMoodle: {
isArray: true,
method: 'GET',
url: appConfig.serverAddress + '/api/migracionMoodle/notasMoodle/:id'
}
method: 'POST',
url: appConfig.serverAddress + '/api/migracionMoodle/notasMoodle'
},
usuariosMoodle: {
isArray: true,
method: 'POST',
url: appConfig.serverAddress + '/api/migracionMoodle/usuariosMoodle'
},
procesarMigracion: {
method: 'POST',
isArray: false,
url: appConfig.serverAddress + '/api/migracionMoodle/procesarMigracion'
}
})
}
......@@ -43,15 +53,21 @@
getCursosMoodle(parametros){
return this.resource.cursosMoodle(parametros).$promise;
}
getExamenesMoodle(parametros){
examenesMoodle(parametros){
return this.resource.examenesMoodle(parametros).$promise;
}
getWSCategoria(){
return this.resource.wsCategoria().$promise;
}
getNotasMoodle(parametros){
notasMoodle(parametros){
return this.resource.notasMoodle(parametros).$promise;
}
usuariosMoodle(parametros){
return this.resource.usuariosMoodle(parametros).$promise;
}
procesarMigracion(parametros) {
return this.resource.procesarMigracion(parametros).$promise;
}
}
......
Markdown is supported
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