Fix courses issue

This commit is contained in:
Reynaldo Reyes
2016-03-05 14:53:20 -04:30
parent 4b3ce9f406
commit feeada3fd7
10 changed files with 114 additions and 134 deletions

View File

@@ -97,6 +97,7 @@
<script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script> <script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script>
<script src="bower_components/Chart.js/Chart.min.js"></script> <script src="bower_components/Chart.js/Chart.min.js"></script>
<script src="bower_components/angular-chart.js/dist/angular-chart.js"></script> <script src="bower_components/angular-chart.js/dist/angular-chart.js"></script>
<script src="bower_components/js-xlsx/dist/xlsx.core.min.js"></script>
<script> <script>

View File

@@ -6,31 +6,22 @@
.controller('listarMateriaCtrl',listarMateriaCtrl) .controller('listarMateriaCtrl',listarMateriaCtrl)
.controller('crearMateriaCtrl', crearMateriaCtrl) .controller('crearMateriaCtrl', crearMateriaCtrl)
listarMateriaCtrl.$inject = listarMateriaCtrl.$inject =
['$scope', '$rootScope', '$location', 'courses', '$modal']; ['$scope', '$rootScope', '$location', 'courses', '$modal'];
function listarMateriaCtrl($scope, $rootScope, $location, courses, $modal) { function listarMateriaCtrl($scope, $rootScope, $location, courses, $modal) {
var vm = this; var vm = this;
$rootScope.table = false; var array = [];
var materiaArreglo = [];
courses.query( courses.query(
function(data){ function (successResult){
vm.materia = data; vm.course = successResult;
angular.forEach(vm.materia, function (value){ },
materiaArreglo.push({ function (){
Codigo:value.Codigo, console.log("Error al obtener los datos.");
Nombre:value.Nombre,
Creditos:value.Creditos,
Descripcion:value.Descripcion
});
});
$rootScope.table = true;
vm.listaMateria = materiaArreglo;
},
function(data){
console.log("Error al obtener los datos.");
}); });
vm.eliminarMateriaModal = function (index) { vm.eliminarMateriaModal = function (index) {
$rootScope.index = index; $rootScope.index = index;
@@ -38,7 +29,6 @@
$rootScope.otroBotonOk = false; $rootScope.otroBotonOk = false;
$rootScope.botonCancelar = true; $rootScope.botonCancelar = true;
$rootScope.rsplice = false; $rootScope.rsplice = false;
$rootScope.loading = false;
$rootScope.mensaje = "¿Seguro que desea eliminar la materia?"; $rootScope.mensaje = "¿Seguro que desea eliminar la materia?";
$scope.modalInstance = $modal.open({ $scope.modalInstance = $modal.open({
@@ -56,27 +46,25 @@
}; };
vm.eliminarMateria = function (index) { vm.eliminarMateria = function (index) {
$rootScope.loadingListarForm = true;
$rootScope.botonOk = false; $rootScope.botonOk = false;
$rootScope.otroBotonOk = true; $rootScope.otroBotonOk = true;
$rootScope.botonCancelar = false; $rootScope.botonCancelar = false;
$rootScope.urlLo = 'listarMateria'; $rootScope.urlLo = 'listarMateria';
$rootScope.rsplice = true; var name = vm.course[index].name;
courses.delete({ id: vm.materia[index]._id }, courses.delete({ id: vm.course[index]._id },
function() { function () {
$rootScope.loadingListarForm = false; $rootScope.rsplice = true;
$rootScope.mensaje = "Materia eliminada"; $rootScope.mensaje = "Materia " + name + " eliminada";
}, },
function() { function () {
$rootScope.loadingListarForm = false; $rootScope.mensaje = "Error eliminando la materia" + name;
$rootScope.mensaje = "Error eliminado materia";
}); });
}; };
vm.eliminarMateriaSplice = function(index, rsplice) { vm.eliminarMateriaSplice = function(index, rsplice) {
if(rsplice){ if(rsplice){
vm.listaMateria.splice(index, 1); vm.course.splice(index, 1);
$rootScope.rsplice = false; $rootScope.rsplice = false;
} }
}; };
@@ -116,11 +104,10 @@
if (vm.data_input_form.$valid){ if (vm.data_input_form.$valid){
vm.course = { vm.course = {
"code": vm.course.code,
"Codigo": vm.materia.Codigo, "name": vm.course.name,
"Nombre": vm.materia.Nombre, "credits": vm.course.credits,
"Creditos": vm.materia.Creditos, "description" : vm.course.description,
"Descripcion" : vm.materia.Description,
}; };
$scope.modalInstance = $modal.open({ $scope.modalInstance = $modal.open({
@@ -141,13 +128,13 @@
$rootScope.botonOk = true; $rootScope.botonOk = true;
$rootScope.urlLo = 'listarMateria'; $rootScope.urlLo = 'listarMateria';
$rootScope.mensaje = $rootScope.mensaje =
"Materia " + vm.materia.Nombre + " creada"; "Materia " + vm.course.name + " creada";
}, },
function(){ function(){
$rootScope.botonOk = true; $rootScope.botonOk = true;
$rootScope.urlLo = 'listarMateria'; $rootScope.urlLo = 'listarMateria';
$rootScope.mensaje = $rootScope.mensaje =
"Error creando la materia " + vm.materia.Nombre; "Error creando la materia " + vm.course.name;
}); });
}else{ }else{

View File

@@ -3,11 +3,10 @@
angular angular
.module('app.course') .module('app.course')
.factory('courses', courses) .factory('courses', courses);
.value('id',{});
courses.$inject = ['$resource','$rootScope']; courses.$inject = ['$resource','$rootScope'];
function courses($resource, $rootScope){ function courses($resource, $rootScope){
return $resource('http://'+$rootScope.domainUrl+'/courses/:id', null); return $resource('http://'+$rootScope.domainUrl+'/courses/:id', null);
}; };
})(); })();

View File

@@ -11,17 +11,10 @@
function listarMatriculaCtrl ( $scope, $rootScope, $location, sections, $modal, matriculaSeleccionada ){ function listarMatriculaCtrl ( $scope, $rootScope, $location, sections, $modal, matriculaSeleccionada ){
var vm = this; var vm = this;
vm.lista = true;
$rootScope.actOk = false;
$rootScope.loading = true;
$rootScope.table = false;
vm.submit = function() {
}
var matriculaArray = []; var matriculaArray = [];
sections.query( sections.query(
function(successResult){ function (successResult){
vm.matricula = successResult; vm.matricula = successResult;
angular.forEach(vm.matricula, function (value){ angular.forEach(vm.matricula, function (value){
matriculaArray.push({ matriculaArray.push({
@@ -32,11 +25,9 @@
student: value.student student: value.student
}); });
}); });
$rootScope.loading = false;
$rootScope.table = true;
vm.listaMatricula = matriculaArray; vm.listaMatricula = matriculaArray;
}, },
function(data){ function (){
console.log("Error al obtener los datos."); console.log("Error al obtener los datos.");
}); });
@@ -47,19 +38,18 @@
confirmar su decision llama automaticamente a la funcion que hara la confirmar su decision llama automaticamente a la funcion que hara la
llamada a servicio que borrara la matricula de la base de datos. llamada a servicio que borrara la matricula de la base de datos.
*/ */
vm.eliminarMatriculaModal = function (index) {
vm.eliminarMatriculaModal = function (index) {
$rootScope.index = index; $rootScope.index = index;
$rootScope.botonOk = true; $rootScope.botonOk = true;
$rootScope.otroBotonOk = false; $rootScope.otroBotonOk = false;
$rootScope.botonCancelar = true; $rootScope.botonCancelar = true;
$rootScope.rsplice = false; $rootScope.rsplice = false;
$rootScope.eliminarLoading = false; $rootScope.mensaje = "¿Seguro que desea eliminar la sección?";
$rootScope.mensaje = "¿Seguro que desea eliminar la matricula?";
$scope.modalInstance = $modal.open({ $scope.modalInstance = $modal.open({
animation: $rootScope.animationsEnabled, animation: $rootScope.animationsEnabled,
templateUrl: 'partials/section/modal/delete_section_modal.html', templateUrl: '/partials/section/modal/delete_section_modal.html',
scope: $scope, scope: $scope,
size: 'sm', size: 'sm',
resolve: { resolve: {
@@ -70,24 +60,20 @@
}); });
}; };
vm.eliminarMatricula= function (index) { vm.eliminarMatricula = function (index) {
$rootScope.botonOk = false; $rootScope.botonOk = false;
$rootScope.otroBotonOk = true; $rootScope.otroBotonOk = true;
$rootScope.botonCancelar = false; $rootScope.botonCancelar = false;
$rootScope.urlLo = 'listarMatricula'; $rootScope.urlLo = 'listarMatricula';
$rootScope.eliminarLoading = true; var name = vm.matricula[index].section;
var name = vm.matricula[index].Nombre;
sections.delete({ id: vm.matricula[index]._id }, sections.delete({ id: vm.matricula[index]._id },
function (successResult) { function () {
$rootScope.eliminarLoading = false;
$rootScope.rsplice = true; $rootScope.rsplice = true;
$rootScope.mensaje = "Sección " + name + " eliminada."; $rootScope.mensaje = "Sección " + name + " eliminada";
}, },
function (errorResult) { function () {
$rootScope.eliminarLoading = false; $rootScope.mensaje = "Error eliminando la sección " + name;
$rootScope.mensaje = "Error al eliminar la sección " + name;
console.log('Could not delete from server');
}); });
}; };
@@ -185,6 +171,36 @@
} }
}; };
var xlf = document.getElementById('xlf');
function handleFile(e) {
console.log("DO SOME STUFF");
/*rABS = document.getElementsByName("userabs")[0].checked;
use_worker = document.getElementsByName("useworker")[0].checked;
var files = e.target.files;
var f = files[0];
{
var reader = new FileReader();
var name = f.name;
reader.onload = function(e) {
if(typeof console !== 'undefined') console.log("onload", new Date(), rABS, use_worker);
var data = e.target.result;
if(use_worker) {
xw(data, process_wb);
} else {
var wb;
if(rABS) {
wb = X.read(data, {type: 'binary'});
} else {
var arr = fixdata(data);
wb = X.read(btoa(arr), {type: 'base64'});
}
process_wb(wb);
}
};
if(rABS) reader.readAsBinaryString(f);
else reader.readAsArrayBuffer(f);
}*/
}
vm.cargarEstudiantes = function () { vm.cargarEstudiantes = function () {
}; };

View File

@@ -4,7 +4,6 @@
angular angular
.module('app.section') .module('app.section')
.factory('sections', sections) .factory('sections', sections)
.factory('courses', courses)
.value('matriculaSeleccionada',{}); .value('matriculaSeleccionada',{});
sections.$inject = ['$resource','$rootScope']; sections.$inject = ['$resource','$rootScope'];
@@ -14,10 +13,4 @@
'update': {method:'PUT'} 'update': {method:'PUT'}
}); });
}; };
courses.$inject = ['$resource','$rootScope'];
function courses($resource, $rootScope){
return $resource('http://'+$rootScope.domainUrl+'/courses');
};
})(); })();

View File

@@ -7,26 +7,26 @@
<div class="col-md-12 column well"> <div class="col-md-12 column well">
<div class="row"> <div class="row">
<div class="col-md-6 column"> <div class="col-md-6 column">
<label for="Codigo">Código de la Materia</label> <label for="code">Código de la Materia</label>
<input type="numeric" class="form-control" <input type="numeric" class="form-control"
name="Codigo" ng-model="vm.materia.Codigo" name="code" ng-model="vm.course.code"
ng-pattern="/\d{4}/" maxlength="4" required/> ng-pattern="/\d{4}/" maxlength="4" required/>
<div class="error" ng-show="vm.submitted && <div class="error" ng-show="vm.submitted &&
vm.data_input_form.Codigo.$invalid"> vm.data_input_form.code.$invalid">
<small class="error" <small class="error"
ng-show="vm.data_input_form.Codigo.$error.required"> ng-show="vm.data_input_form.code.$error.required">
El Código de la Materia es Obligatorio. El Código de la Materia es Obligatorio.
</small> </small>
</div> </div>
</div> </div>
<div class="col-md-6 column"> <div class="col-md-6 column">
<label for="Nombre">Nombre de la Materia</label> <label for="name">Nombre de la Materia</label>
<input type="text" class="form-control" <input type="text" class="form-control"
name="Nombre" ng-model="vm.materia.Nombre" required/> name="name" ng-model="vm.course.name" required/>
<div class="error" ng-show="vm.submitted && <div class="error" ng-show="vm.submitted &&
vm.data_input_form.Nombre.$invalid"> vm.data_input_form.name.$invalid">
<small class="error" <small class="error"
ng-show="vm.data_input_form.Nombre.$error.required"> ng-show="vm.data_input_form.name.$error.required">
El Nombre de la Materia es Obligatorio. El Nombre de la Materia es Obligatorio.
</small> </small>
</div> </div>
@@ -36,27 +36,27 @@
<br></div></div> <br></div></div>
<div class="row"> <div class="row">
<div class="col-md-6 column"> <div class="col-md-6 column">
<label for="Creditos">Cantidad de Creditos</label> <label for="credits">Cantidad de Creditos</label>
<input type="numeric" class="form-control" <input type="numeric" class="form-control"
name="Creditos" ng-model="vm.materia.Creditos" name="credits" ng-model="vm.course.credits"
maxlength="1" placeholder="5" required/> maxlength="1" placeholder="5" required/>
<div class="error" ng-show="vm.submitted && <div class="error" ng-show="vm.submitted &&
vm.data_input_form.Creditos.$invalid"> vm.data_input_form.credits.$invalid">
<small class="error" <small class="error"
ng-show="vm.data_input_form.Creditos.$error.required"> ng-show="vm.data_input_form.credits.$error.required">
La Cantidad de Creditos es Obligatoria. La Cantidad de Creditos es Obligatoria.
</small> </small>
</div> </div>
</div> </div>
<div class="col-md-6 column"> <div class="col-md-6 column">
<label for="Description">Descripción</label> <label for="description">Descripción</label>
<input type="text" class="form-control" <input type="text" class="form-control"
name="Description" ng-model="vm.materia.Description" name="description" ng-model="vm.course.description"
required/> required/>
<div class="error" ng-show="vm.submitted && <div class="error" ng-show="vm.submitted &&
vm.data_input_form.Description.$invalid"> vm.data_input_form.description.$invalid">
<small class="error" <small class="error"
ng-show="vm.data_input_form.Description.$error.required"> ng-show="vm.data_input_form.description.$error.required">
Por favor, inserte una breve descripción. Por favor, inserte una breve descripción.
</small> </small>
</div> </div>

View File

@@ -7,33 +7,33 @@
<thead> <thead>
<tr> <tr>
<th width="10%"> <th width="10%">
<a href="" ng-click="sortType = 'Codigo'; <a href="" ng-click="sortType = 'code';
sortReverse = !sortReverse"> sortReverse = !sortReverse">
Código Código
<span ng-show="sortType == 'Codigo' && <span ng-show="sortType == 'code' &&
!sortReverse" class="fa fa-caret-down"></span> !sortReverse" class="fa fa-caret-down"></span>
<span ng-show="sortType == 'Codigo' && <span ng-show="sortType == 'code' &&
sortReverse" class="fa fa-caret-up"></span> sortReverse" class="fa fa-caret-up"></span>
</a> </a>
</th> </th>
<th width="20%"> <th width="20%">
<a href="" ng-click="sortType = 'Nombre'; <a href="" ng-click="sortType = 'name';
sortReverse = !sortReverse"> sortReverse = !sortReverse">
Nombre Nombre
<span ng-show="sortType == 'Nombre' && <span ng-show="sortType == 'name' &&
!sortReverse" class="fa fa-caret-down"></span> !sortReverse" class="fa fa-caret-down"></span>
<span ng-show="sortType == 'Nombre' && <span ng-show="sortType == 'name' &&
sortReverse" class="fa fa-caret-up"></span> sortReverse" class="fa fa-caret-up"></span>
</a> </a>
</th> </th>
<th width="10%"> <th width="10%">
<a href="" <a href=""
ng-click="sortType = 'Creditos'; ng-click="sortType = 'credits';
sortReverse = !sortReverse"> sortReverse = !sortReverse">
Creditos Creditos
<span ng-show="sortType == 'Creditos' && <span ng-show="sortType == 'credits' &&
!sortReverse" class="fa fa-caret-down"></span> !sortReverse" class="fa fa-caret-down"></span>
<span ng-show="sortType == 'Creditos' && sortReverse" class="fa fa-caret-up"></span> <span ng-show="sortType == 'credits' && sortReverse" class="fa fa-caret-up"></span>
</a> </a>
</th> </th>
<th width="50%" style="text-align: center"> <th width="50%" style="text-align: center">
@@ -48,11 +48,11 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr ng-repeat="materia in vm.listaMateria | orderBy:sortType:sortReverse | filter:searchUser"> <tr ng-repeat="course in vm.course | orderBy:sortType:sortReverse | filter:searchUser">
<td style="vertical-align:middle">{{ materia.Codigo }}</td> <td style="vertical-align:middle">{{ course.code }}</td>
<td style="vertical-align:middle">{{ materia.Nombre }}</td> <td style="vertical-align:middle">{{ course.name }}</td>
<td style="vertical-align:middle">{{ materia.Creditos }}</td> <td style="vertical-align:middle">{{ course.credits }}</td>
<td style="vertical-align:middle">{{ materia.Descripcion }}</td> <td style="vertical-align:middle">{{ course.description }}</td>
<td style="text-align: center"> <td style="text-align: center">
<span <span
title="Click aqui para Eliminar la Materia" title="Click aqui para Eliminar la Materia"

View File

@@ -7,19 +7,19 @@
<div class="col-md-12 column well"> <div class="col-md-12 column well">
<div class="row"> <div class="row">
<div class="col-md-6 column"> <div class="col-md-6 column">
<label for="Codigo">Código de la Materia</label> <label for="code">Código de la Materia</label>
<input type="numeric" class="form-control" <input type="numeric" class="form-control"
name="Codigo" ng-model="vm.materia.Codigo" name="code" ng-model="vm.course.code"
readonly="readonly"/> readonly="readonly"/>
</div> </div>
<div class="col-md-6 column"> <div class="col-md-6 column">
<label for="Nombre">Nombre de la Materia</label> <label for="name">Nombre de la Materia</label>
<input type="text" class="form-control" <input type="text" class="form-control"
name="Nombre" ng-model="vm.materia.Nombre" required/> name="name" ng-model="vm.course.name" required/>
<div class="error" ng-show="vm.submitted && <div class="error" ng-show="vm.submitted &&
vm.data_input_form.Nombre.$invalid"> vm.data_input_form.name.$invalid">
<small class="error" <small class="error"
ng-show="vm.data_input_form.Nombre.$error.required"> ng-show="vm.data_input_form.name.$error.required">
El Nombre de la Materia es Obligatorio. El Nombre de la Materia es Obligatorio.
</small> </small>
</div> </div>
@@ -28,30 +28,17 @@
<div class="row clearfix"><div class="col-md-12 column"><br><br></div></div> <div class="row clearfix"><div class="col-md-12 column"><br><br></div></div>
<div class="row"> <div class="row">
<div class="col-md-6 column"> <div class="col-md-6 column">
<label for="Creditos">Cantidad de Creditos</label> <label for="credits">Cantidad de Creditos</label>
<input type="numeric" class="form-control" <input type="numeric" class="form-control"
name="Creditos" ng-model="vm.materia.Creditos" maxlength="1" placeholder="5" required/> name="credits" ng-model="vm.course.credits" maxlength="1" placeholder="5" required/>
<div class="error" ng-show="vm.submitted && <div class="error" ng-show="vm.submitted &&
vm.data_input_form.Creditos.$invalid"> vm.data_input_form.credits.$invalid">
<small class="error" <small class="error"
ng-show="vm.data_input_form.Creditos.$error.required"> ng-show="vm.data_input_form.credits.$error.required">
La Cantidad de Creditos es Obligatoria. La Cantidad de Creditos es Obligatoria.
</small> </small>
</div> </div>
</div> </div>
<div class="col-md-6 column">
<label for="Semestre">Semestre</label>
<input type="text" class="form-control"
name="Semestre" ng-model="vm.materia.Semestre"
required/>
<div class="error" ng-show="vm.submitted &&
vm.data_input_form.Semestre.$invalid">
<small class="error"
ng-show="vm.data_input_form.Semestre.$error.required">
El Semestre es Obligatorio.
</small>
</div>
</div>
</div> </div>
<div class="row clearfix"><div class="col-md-12 column"><br><br></div></div> <div class="row clearfix"><div class="col-md-12 column"><br><br></div></div>
</div> </div>

View File

@@ -11,16 +11,16 @@
<select <select
class="form-control" class="form-control"
ng-model="vm.valorMateria" ng-model="vm.valorMateria"
ng-options="materia.Nombre for materia in vm.materias" ng-options="materia.name for materia in vm.materias"
> >
<option value="">{{materia.Nombre}}</option> <option value="">{{materia.name}}</option>
</select> </select>
</div> </div>
<div class="col-md-4 column"> <div class="col-md-4 column">
<label for="codigo">Codigo de la Materia</label> <label for="codigo">Codigo de la Materia</label>
<input type="text" class="form-control" <input type="text" class="form-control"
name="codigo" readonly="readonly" name="codigo" readonly="readonly"
ng-model="vm.valorMateria.Codigo"/> ng-model="vm.valorMateria.code"/>
</div> </div>
<div class="col-md-4 column"> <div class="col-md-4 column">
<label for="semestre">Semestre</label> <label for="semestre">Semestre</label>
@@ -52,11 +52,8 @@
</div> </div>
</div> </div>
<div class="col-md-4 column"><br> <div class="col-md-4 column"><br>
<span class="input-group-btn"> <label for="seccion">Cargar Estudiantes</label>
<button type="button"class="btn-warning btn" <input type="file" name="xlfile" id="xlf"/></input>
ng-click="vm.cargarEstudiantes()">
Cargar Estudiantes
</button>
</span> </span>
</div> </div>
<div class="row clearfix"><div class="col-md-12 column"><br> <div class="row clearfix"><div class="col-md-12 column"><br>

View File

@@ -81,7 +81,7 @@ app.post('/courses', function(req, res){
}) })
}); });
app.delete('courses/:id', function(req, res){ app.delete('/courses/:id', function(req, res){
console.log("Received delete request..."); console.log("Received delete request...");
db.Courses.remove( db.Courses.remove(
{_id: new mongojs.ObjectId(req.params.id)}, function(err, docs){ {_id: new mongojs.ObjectId(req.params.id)}, function(err, docs){