Update app to changes of 01/05/16
This commit is contained in:
@@ -7,10 +7,10 @@
|
|||||||
<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="code">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="code" ng-model="vm.course.code"
|
name="code" ng-model="vm.course.code"
|
||||||
ng-pattern="/\d{4}/" maxlength="4" required/>
|
ng-pattern="/\d{4}/" placeholder="6201" maxlength="4" required/>
|
||||||
<div class="error" ng-show="vm.submitted &&
|
<div class="error" ng-show="vm.submitted &&
|
||||||
vm.data_input_form.code.$invalid">
|
vm.data_input_form.code.$invalid">
|
||||||
<small class="error"
|
<small class="error"
|
||||||
@@ -20,9 +20,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 column">
|
<div class="col-md-6 column">
|
||||||
<label for="name">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="name" ng-model="vm.course.name" required/>
|
name="name" ng-model="vm.course.name" placeholder="Algoritmos y Programación" required/>
|
||||||
<div class="error" ng-show="vm.submitted &&
|
<div class="error" ng-show="vm.submitted &&
|
||||||
vm.data_input_form.name.$invalid">
|
vm.data_input_form.name.$invalid">
|
||||||
<small class="error"
|
<small class="error"
|
||||||
@@ -36,10 +36,10 @@
|
|||||||
<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="credits">Cantidad de Creditos</label>
|
<label for="credits">Cantidad de Creditos * </label>
|
||||||
<input type="numeric" class="form-control"
|
<input type="numeric" class="form-control"
|
||||||
name="credits" ng-model="vm.course.credits"
|
name="credits" ng-model="vm.course.credits"
|
||||||
maxlength="1" placeholder="5" required/>
|
maxlength="1" placeholder="6" required/>
|
||||||
<div class="error" ng-show="vm.submitted &&
|
<div class="error" ng-show="vm.submitted &&
|
||||||
vm.data_input_form.credits.$invalid">
|
vm.data_input_form.credits.$invalid">
|
||||||
<small class="error"
|
<small class="error"
|
||||||
@@ -49,9 +49,10 @@
|
|||||||
</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.course.description"
|
name="description" ng-model="vm.course.description"placeholder="Materia Obligatoria de Componente Básico del Primer Semestre."
|
||||||
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">
|
||||||
@@ -62,7 +63,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<label> * Estos campos son obligatorios.</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="row clearfix">
|
<div class="row clearfix">
|
||||||
<div class="col-md-2 column">
|
<div class="col-md-2 column">
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<div class="col-md-12 column well">
|
<div class="col-md-12 column well">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4 column">
|
<div class="col-md-4 column">
|
||||||
<label for="cedula">Numero de Cédula</label>
|
<label for="cedula">Numero de Cédula *</label>
|
||||||
<input type="numeric" class="form-control"
|
<input type="numeric" class="form-control"
|
||||||
name="cedula" ng-model="vm.profesor.Cedula"
|
name="cedula" ng-model="vm.profesor.Cedula"
|
||||||
placeholder="12345678" required/>
|
placeholder="12345678" required/>
|
||||||
@@ -20,10 +20,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4 column">
|
<div class="col-md-4 column">
|
||||||
<label for="nombre">Nombre</label>
|
<label for="nombre">Nombres *</label>
|
||||||
<input type="text" class="form-control"
|
<input type="text" class="form-control"
|
||||||
name="nombre" ng-model="vm.profesor.Nombre"
|
name="nombre" ng-model="vm.profesor.Nombre"
|
||||||
required/>
|
placeholder="Andres Jesús" 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.nombre.$invalid">
|
||||||
<small class="error"
|
<small class="error"
|
||||||
@@ -33,9 +33,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4 column">
|
<div class="col-md-4 column">
|
||||||
<label for="apellido">Apellido</label>
|
<label for="apellido">Apellidos *</label>
|
||||||
<input type="text" class="form-control"
|
<input type="text" class="form-control"
|
||||||
name="apellido" ng-model="vm.profesor.Apellido" required/>
|
name="apellido" ng-model="vm.profesor.Apellido"
|
||||||
|
placeholder="Perez Moreno" required/>
|
||||||
<div class="error" ng-show="vm.submitted &&
|
<div class="error" ng-show="vm.submitted &&
|
||||||
vm.data_input_form.apellido.$invalid">
|
vm.data_input_form.apellido.$invalid">
|
||||||
<small class="error"
|
<small class="error"
|
||||||
@@ -48,10 +49,10 @@
|
|||||||
<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-4 column">
|
<div class="col-md-4 column">
|
||||||
<label for="correo">Dirección de Correo</label>
|
<label for="correo">Dirección de Correo *</label>
|
||||||
<input type="correo" class="form-control"
|
<input type="email" class="form-control"
|
||||||
name="correo" ng-model="vm.profesor.Correo"
|
name="correo" ng-model="vm.profesor.Correo"
|
||||||
ng-pattern="/^[a-z]+[a-z0-9._]+@[a-z]+\.[a-z.]{2,5}$/" placeholder="me@example.com" required/>
|
placeholder="me@example.com" required/>
|
||||||
<div class="error" ng-show="vm.submitted &&
|
<div class="error" ng-show="vm.submitted &&
|
||||||
vm.data_input_form.correo.$invalid">
|
vm.data_input_form.correo.$invalid">
|
||||||
<small class="error"
|
<small class="error"
|
||||||
@@ -68,15 +69,15 @@
|
|||||||
<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{4}-\d{7}/" maxlength="13"
|
ng-pattern="/\d{13}/" maxlength="13"
|
||||||
placeholder="0424-1239876"/>
|
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.pattern">
|
||||||
El Formato del Número de Teléfono es incorrecto.
|
El Formato del Número de Teléfono es incorrecto.
|
||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4 column">
|
<div class="col-md-4 column">
|
||||||
<label for="password">Contraseña</label>
|
<label for="password">Contraseña *</label>
|
||||||
<input type="password" class="form-control" ng-model="vm.profesor.Password" maxlength="8" required/>
|
<input type="password" class="form-control" ng-model="vm.profesor.Password" maxlength="8" required/>
|
||||||
<div class="error" ng-show="vm.submitted && vm.data_input_form.password.$invalid">
|
<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">
|
<small class="error" ng-show="vm.data_input_form.password.$error.required">
|
||||||
@@ -86,6 +87,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<label> * Estos campos son obligatorios.</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="row clearfix">
|
<div class="row clearfix">
|
||||||
<div class="col-md-2 column">
|
<div class="col-md-2 column">
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
var professorid = $rootScope.professorId;
|
var professorid = $rootScope.professorId;
|
||||||
var vm = this;
|
var vm = this;
|
||||||
vm.course = {};
|
vm.course = {};
|
||||||
|
vm.itExists = false;
|
||||||
vm.selectedCourse = selectedCourse;
|
vm.selectedCourse = selectedCourse;
|
||||||
vm.submitted = false;
|
vm.submitted = false;
|
||||||
vm.semester, vm.section, vm.materias;
|
vm.semester, vm.section, vm.materias;
|
||||||
@@ -32,10 +33,8 @@
|
|||||||
},
|
},
|
||||||
function (){
|
function (){
|
||||||
console.log("Error al obtener los datos.");
|
console.log("Error al obtener los datos.");
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
vm.submit = function () {
|
vm.submit = function () {
|
||||||
|
|
||||||
if (vm.data_input_form.$valid){
|
if (vm.data_input_form.$valid){
|
||||||
@@ -59,16 +58,31 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
vm.professor.courses[vm.index].sections.push(vm.package);
|
|
||||||
professors.update({ id: professorid }, vm.professor,
|
angular.forEach (vm.professor.courses[vm.index].sections,
|
||||||
function(){
|
function (value, key){
|
||||||
$rootScope.botonOk = true;
|
if (value.name == vm.name) {
|
||||||
$rootScope.mensaje = "Sección " + vm.name + " creada";
|
if(value.semester == vm.semester){
|
||||||
},
|
vm.itExists = true;
|
||||||
function(){
|
}
|
||||||
$rootScope.botonOk = true;
|
}
|
||||||
$rootScope.mensaje = "Error creando la seccion " + vm.name;
|
});
|
||||||
|
|
||||||
|
if(!vm.itExists){
|
||||||
|
vm.professor.courses[vm.index].sections.push(vm.package);
|
||||||
|
professors.update({ id: professorid }, vm.professor,
|
||||||
|
function(){
|
||||||
|
$rootScope.botonOk = true;
|
||||||
|
$rootScope.mensaje = "Sección " + vm.name + " creada";
|
||||||
|
},
|
||||||
|
function(){
|
||||||
|
$rootScope.botonOk = true;
|
||||||
|
$rootScope.mensaje = "Error creando la seccion " + vm.name;
|
||||||
});
|
});
|
||||||
|
}else{
|
||||||
|
$rootScope.botonOk = true;
|
||||||
|
$rootScope.mensaje = "Sección Duplicada, " + vm.name + " existe en el semestre "+ vm.semester + ".";
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
vm.submitted = true;
|
vm.submitted = true;
|
||||||
}
|
}
|
||||||
@@ -88,10 +102,9 @@
|
|||||||
var sheet = workbook.SheetNames[0];
|
var sheet = workbook.SheetNames[0];
|
||||||
var worksheet = workbook.Sheets[sheet];
|
var worksheet = workbook.Sheets[sheet];
|
||||||
|
|
||||||
/* Find desired cell containing semester and section */
|
// Find desired cell containing semester and section
|
||||||
vm.semester = worksheet['B5'].v;
|
vm.semester = worksheet['B5'].v;
|
||||||
vm.name = worksheet['B9'].v;
|
vm.name = worksheet['B9'].v;
|
||||||
//$scope.$apply();
|
|
||||||
|
|
||||||
for (z in worksheet) {
|
for (z in worksheet) {
|
||||||
/* all keys that do not begin with "!" correspond to cell addresses */
|
/* all keys that do not begin with "!" correspond to cell addresses */
|
||||||
@@ -107,7 +120,6 @@
|
|||||||
vm.students.push(student);
|
vm.students.push(student);
|
||||||
student = {};
|
student = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
$scope.$apply();
|
$scope.$apply();
|
||||||
@@ -122,13 +134,6 @@
|
|||||||
$scope.modalInstance.dismiss('cancel');
|
$scope.modalInstance.dismiss('cancel');
|
||||||
};
|
};
|
||||||
|
|
||||||
$rootScope.open = function($event) {
|
|
||||||
$event.preventDefault();
|
|
||||||
$event.stopPropagation();
|
|
||||||
|
|
||||||
$rootScope.opened = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
vm.back = function () {
|
vm.back = function () {
|
||||||
$state.go('SectionList');
|
$state.go('SectionList');
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
vm.data_input_form.seccion.$invalid">
|
vm.data_input_form.seccion.$invalid">
|
||||||
<small class="error"
|
<small class="error"
|
||||||
ng-show="vm.data_input_form.seccion.$error.required">
|
ng-show="vm.data_input_form.seccion.$error.required">
|
||||||
La sección es obligatoria.
|
La Sección es obligatoria.
|
||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
<label> </label>
|
<label> </label>
|
||||||
<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">Crear Sección</button>
|
<button type="submit" class="btn-success btn">Guardar Sección</button>
|
||||||
<button type="button" class="btn-warning btn" style="margin: 10px" ng-click="vm.back()">Regresar</button>
|
<button type="button" class="btn-warning btn" style="margin: 10px" ng-click="vm.back()">Regresar</button>
|
||||||
</span>
|
</span>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -2,12 +2,12 @@
|
|||||||
<ul class="nav nav-sidebar">
|
<ul class="nav nav-sidebar">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-3 col-md-2 sidebar" data-ng-controller="SidebarCtrl as vm">
|
<div class="col-sm-3 col-md-2 sidebar">
|
||||||
<ul class="nav nav-sidebar">
|
<ul class="nav nav-sidebar">
|
||||||
<li ng-repeat="item in items" ng-click="showChilds(item)">
|
<li ng-repeat="item in items" ng-click="showChilds(item)">
|
||||||
<a>{{item.text}}</a>
|
<a>{{item.text}}</a>
|
||||||
<ul class="nav nav-sidebar text-center">
|
<ul class="nav nav-sidebar text-center">
|
||||||
<li ng-repeat="subItem in item.subItems" ng-show="item.active" >
|
<li ng-repeat="subItem in item.subItems" ng-show="item.active">
|
||||||
<a data-ui-sref="{{ subItem.state ? subItem.state : false }}">{{subItem.text}}
|
<a data-ui-sref="{{ subItem.state ? subItem.state : false }}">{{subItem.text}}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -7,9 +7,9 @@
|
|||||||
<div class="col-md-12 column well">
|
<div class="col-md-12 column well">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4 column">
|
<div class="col-md-4 column">
|
||||||
<label for="cedula">Numero de Cedula</label>
|
<label for="cedula">Número de Cédula * </label>
|
||||||
<input type="numeric" class="form-control"
|
<input type="numeric" class="form-control"
|
||||||
name="cedula" ng-model="vm.estudiante.Cedula" placeholder="12345678" required/>
|
name="cedula" ng-model="vm.estudiante.Cedula" placeholder="15687497" required/>
|
||||||
<div class="error" ng-show="vm.submitted &&
|
<div class="error" ng-show="vm.submitted &&
|
||||||
vm.data_input_form.cedula.$invalid">
|
vm.data_input_form.cedula.$invalid">
|
||||||
<small class="error"
|
<small class="error"
|
||||||
@@ -19,9 +19,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4 column">
|
<div class="col-md-4 column">
|
||||||
<label for="nombre">Nombre</label>
|
<label for="nombre">Nombres * </label>
|
||||||
<input type="text" class="form-control" name="nombre"
|
<input type="text" class="form-control" name="nombre"
|
||||||
ng-model="vm.estudiante.Nombre" required/>
|
ng-model="vm.estudiante.Nombre" placeholder="Augusto José" 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.nombre.$invalid">
|
||||||
<small class="error" ng-show="vm.data_input_form.nombre.$error.required">
|
<small class="error" ng-show="vm.data_input_form.nombre.$error.required">
|
||||||
@@ -30,9 +30,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4 column">
|
<div class="col-md-4 column">
|
||||||
<label for="apellido">Apellido</label>
|
<label for="apellido">Apellidos * </label>
|
||||||
<input type="text" class="form-control"
|
<input type="text" class="form-control"
|
||||||
name="apellido" ng-model="vm.estudiante.Apellido"
|
name="apellido" ng-model="vm.estudiante.Apellido"
|
||||||
|
placeholder="Gutierrez Rodriguez"
|
||||||
required/>
|
required/>
|
||||||
<div class="error" ng-show="vm.submitted &&
|
<div class="error" ng-show="vm.submitted &&
|
||||||
vm.data_input_form.apellido.$invalid">
|
vm.data_input_form.apellido.$invalid">
|
||||||
@@ -46,10 +47,10 @@
|
|||||||
<br><br></div></div>
|
<br><br></div></div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4 column">
|
<div class="col-md-4 column">
|
||||||
<label for="correo">Dirección de Correo</label>
|
<label for="correo">Dirección de Correo * </label>
|
||||||
<input type="correo" class="form-control"
|
<input type="email" class="form-control"
|
||||||
name="correo" ng-model="vm.estudiante.Correo"
|
name="correo" ng-model="vm.estudiante.Correo"
|
||||||
ng-pattern="/^[a-z]+[a-z0-9._]+@[a-z]+\.[a-z.]{2,5}$/" placeholder="me@example.com" required/>
|
placeholder="me@example.com" required/>
|
||||||
<div class="error" ng-show="vm.submitted &&
|
<div class="error" ng-show="vm.submitted &&
|
||||||
vm.data_input_form.correo.$invalid">
|
vm.data_input_form.correo.$invalid">
|
||||||
<small class="error"
|
<small class="error"
|
||||||
@@ -64,6 +65,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<label> * Estos campos son obligatorios.</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="row clearfix">
|
<div class="row clearfix">
|
||||||
<div class="col-md-2 column">
|
<div class="col-md-2 column">
|
||||||
|
|||||||
@@ -4,10 +4,14 @@ var app = express();
|
|||||||
var db = mongoose.connection;
|
var db = mongoose.connection;
|
||||||
//var Professor = require('./models/professor');
|
//var Professor = require('./models/professor');
|
||||||
var bodyParser = require('body-parser');
|
var bodyParser = require('body-parser');
|
||||||
|
|
||||||
app.use(express.static(__dirname));
|
app.use(express.static(__dirname));
|
||||||
app.use(bodyParser.json());
|
app.use(bodyParser.json());
|
||||||
|
|
||||||
|
var nodemailer = require('nodemailer');
|
||||||
|
|
||||||
|
// create reusable transporter object using the default SMTP transport
|
||||||
|
var transporter = nodemailer.createTransport('smtps://reynaldo.reyes.4@gmail.com:zwvdhyensrwnfipt@smtp.gmail.com');
|
||||||
|
|
||||||
db.on('error', console.error);
|
db.on('error', console.error);
|
||||||
db.once('open', function() {
|
db.once('open', function() {
|
||||||
|
|
||||||
@@ -94,7 +98,22 @@ db.once('open', function() {
|
|||||||
|
|
||||||
professor.save(
|
professor.save(
|
||||||
function(err, docs){
|
function(err, docs){
|
||||||
//console.log(docs);
|
// setup e-mail data with unicode symbols
|
||||||
|
var mailOptions = {
|
||||||
|
from: '"Rey Reyes" <reynaldo.reyes.4@gmail.com>', // sender address
|
||||||
|
to: req.body.email, // list of receivers
|
||||||
|
subject: 'Registro en la aplicación M.A.S.A.',
|
||||||
|
text: 'Este es un correo automatizado para informarle que ha sido registrado en la aplicación M.A.S.A. sus credenciales son: '+ req.body.id +' / '+ req.body.password,
|
||||||
|
html: 'Este es un correo automatizado para informarle que ha sido registrado en la aplicación <b> M.A.S.A.</b> sus credenciales son: '+ req.body.id +' / '+ req.body.password
|
||||||
|
};
|
||||||
|
|
||||||
|
// send mail with defined transport object
|
||||||
|
transporter.sendMail(mailOptions, function(error, info){
|
||||||
|
if(error){
|
||||||
|
return console.log(error);
|
||||||
|
}
|
||||||
|
console.log('Message sent: ' + info.response);
|
||||||
|
});
|
||||||
res.json(docs);
|
res.json(docs);
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user