diff --git a/app/controllers/centrosmedicos.js b/app/controllers/centrosmedicos.js index e5d4eb8..a559932 100644 --- a/app/controllers/centrosmedicos.js +++ b/app/controllers/centrosmedicos.js @@ -55,7 +55,7 @@ module.exports = function(app) { if ((i < resul.length - 1) && (resul[i].idCentrosMedicos != resul[i + 1].idCentrosMedicos)) { data.push([ resul[i].nombre, - resul[i].Direccion, + resul[i].direccion, telef ]); telef = []; @@ -63,7 +63,7 @@ module.exports = function(app) { if (i == resul.length - 1) { data.push([ resul[i].nombre, - resul[i].Direccion, + resul[i].direccion, telef ]) diff --git a/app/controllers/home.js b/app/controllers/home.js index 62c4f94..ca84074 100644 --- a/app/controllers/home.js +++ b/app/controllers/home.js @@ -18,7 +18,9 @@ module.exports = function (app) { router.get('/', function (req, res, next) { //console.log(db.comunas); - db.comunas.encontrar().then(function (filas) { + db.comunas.encontrarComunas().then(function (filas) { + + console.log(filas); @@ -34,10 +36,9 @@ module.exports = function (app) { title: "Farmautomático", controllerangular: "indexController", indices : indicesCiudades, - ciudades: arreglociudades + ciudades: arreglociudades, }); }); - }); /* router.post('/', function (req, res, next) { diff --git a/app/controllers/jsonComboDependiente.js b/app/controllers/jsonComboDependiente.js new file mode 100644 index 0000000..5f1a274 --- /dev/null +++ b/app/controllers/jsonComboDependiente.js @@ -0,0 +1,50 @@ +var express = require('express'), + router = express.Router(), + db = require('../models'); + +module.exports = function(app) { + + //var session = require('express-session'); + var bodyParser = require('body-parser'); + app.use(bodyParser.json()); + app.use(bodyParser.urlencoded({ + extended: false + })); + /* app.use(session({ + secret: 'farmautomatico', + resave: false, + saveUninitialized: true +}));*/ + app.use('/', router); + + router.get('/jsonComboDependiente', function(req, res, next) { + //console.log(db.comunas); + db.comunas.encontrarComunas().then(function(filas) { + db.comunas.encontrarRegiones().then(function(regionesres) { + + arregloCombo = []; + for (i = 0; i < regionesres[1].length; i++) { + arregloCombo.push({ + Id: regionesres[1][i].idregiones, + Name: regionesres[1][i].nombre, + Items: [] + }); + } + + for (i = 0; i < filas[1].length; i++) { + for (j = 0; j < arregloCombo.length; j++) { + if (arregloCombo[j].Id == filas[1][i].regiones_idregiones) { + console.log(filas[1][i].idcomunas); + arregloCombo[j].Items.push({ + Id: filas[1][i].idcomunas, + Name: filas[1][i].nombre + }) + } + } + } + console.log(arregloCombo); + res.json(JSON.stringify(arregloCombo)); + }) + }) + }) +} diff --git a/app/controllers/jsonEnfermedades.js b/app/controllers/jsonEnfermedades.js index d4c8cdf..05778f7 100644 --- a/app/controllers/jsonEnfermedades.js +++ b/app/controllers/jsonEnfermedades.js @@ -12,6 +12,18 @@ module.exports = function (app) { app.use('/', router); router.get('/jsonEnfermedades', function (req, res, next) { + + db.enfermedad.encontrarEnfermedades().then(function(nombreEnfermedad) { + console.log("enfermedades"); + console.log(nombreEnfermedad); + enfermedades=[]; + for(i in nombreEnfermedad){ + enfermedades.push(nombreEnfermedad[i].nombre_enfermedad); + } + console.log(enfermedades); + res.json(JSON.stringify(enfermedades)); + + }) /*db.remedios.encontrarNombresRemedios().then(function(nombreRemedios) { remedios = []; for(i in nombreRemedios) { diff --git a/app/controllers/login.js b/app/controllers/login.js index d98f82e..5b0cf5f 100644 --- a/app/controllers/login.js +++ b/app/controllers/login.js @@ -30,12 +30,14 @@ router.post('/login', function (req, res, next) { console.log("body del post login"); remedios = req.body.remedio; console.log(req.body); +switch (req.body.submit) { +case 'Ingresar': db.usuarios.encontrarUsuarios().then(function(users) { for(i in users) { if(req.body.nombreusuario==users[i].nombre && req.body.password==users[i].contrasena){ console.log(users[i].nombre); - req.session.name = users[i].idusuario; - req.session.username = req.body.nombreusuario; + req.session.id = users[i].idusuario; + req.session.name = req.body.nombreusuario; //req.session.remedio = remediosel; req.session.remedio = remedios; res.redirect('/remedio'); @@ -45,6 +47,16 @@ console.log(req.body); req.session.remedio = remedios; res.redirect('/remedio'); }); + break; +case 'Registrarse': + res.redirect("/signup"); + break; +case 'Salir': + req.session.id=undefined; + req.session.name=undefined; + res.redirect("/remedio"); + break; +} /*console.log(req.body); console.log(req.query); diff --git a/app/controllers/remedio.js b/app/controllers/remedio.js index f43cf8a..ba66629 100644 --- a/app/controllers/remedio.js +++ b/app/controllers/remedio.js @@ -9,10 +9,12 @@ module.exports = function(app) { router.get('/remedio', function(req, res, next) { //console.log(db.regiones); - if(req.session.remedio){ - remedioseleccionado = req.session.remedio; - }else { + console.log(req.session.name); + if(req.query.remedios){ remedioseleccionado = req.query.remedios; + req.session.remedio = req.query.remedios; + }else if(req.session.remedio){ + remedioseleccionado = req.session.remedio; }; console.log(req.query); db.remedios.encontrarRemedios(remedioseleccionado).then(function(resremedio) { @@ -52,7 +54,9 @@ module.exports = function(app) { usuarios.idusuario.push(resusuarios[i].idusuario); usuarios.nombre.push(resusuarios[i].nombre); usuarios.foto.push(resusuarios[i].foto); - + if(req.session.name==resusuarios[i].nombre){ + req.session.id=resusuarios[i].idusuario; + } } @@ -74,9 +78,9 @@ module.exports = function(app) { interacciones: resremedio[0].interacciones, otros: resremedio[0].otrosdatos, logina: login, - idusuario: req.session.name, + idusuario: req.session.id, comentarios: comentarios, - usuarioingresado: req.session.name, + usuarioingresado: req.session.id, fotos: fotos, nombres_usuariosenc: nombres_usuariosenc, idcomentarios: idcomentarios, @@ -85,7 +89,7 @@ module.exports = function(app) { usuarios_idusuario: usuarios.idusuario, usuarios_foto: usuarios.foto, comiduser: comentarios_idusuarios, - nombre_usuario_logueado: req.session.username + nombre_usuario_logueado: req.session.name }); }) }) @@ -106,16 +110,25 @@ module.exports = function(app) { console.log(req.query); console.log(req.body); remediosel = req.body.remedio; + console.log(req.session.name); switch (req.body.submit){ case 'Loguearse': res.redirect('/login'); break; case 'Comentar': - db.usuarios_comenta_remedio.ingresarUnComentario(remedioseleccionado, req.session.name, req.body.comentario); + db.usuarios_comenta_remedio.ingresarUnComentario(remedioseleccionado, req.session.id, req.body.comentario); console.log(req.body); pagina = '/remedio'; res.redirect(pagina); break; + case 'Registrarse': + res.redirect("/signup"); + break; + case 'Salir': + req.session.id=undefined; + req.session.name=undefined; + res.redirect("/remedio"); + break; } /* if (req.session.name==undefined) { diff --git a/app/controllers/signup.js b/app/controllers/signup.js new file mode 100644 index 0000000..9a582c9 --- /dev/null +++ b/app/controllers/signup.js @@ -0,0 +1,63 @@ +var express = require('express'), + router = express.Router(), + db = require('../models'), + path = require('path'), + fs = require('fs'), + multipart = require('connect-multiparty'); + + +module.exports = function (app) { + + //var session = require('express-session'); + var bodyParser = require('body-parser'); + //app.use(bodyParser({uploadDir:'/public/img'})); + app.use(bodyParser.json()); + app.use(bodyParser.urlencoded({ extended: false })); + + + app.use('/', router); + router.get('/signup', function(req, res, next){ + res.render('signup', { + title: 'Farmautomatico', + error: false + }) + }) + + + router.post('/signup', multipart(), function(req, res, next) { + console.log(req.files); + console.log(req.body); + db.usuarios.encontrarUsuarios().then(function(resusuarios) { + var bandera_usuario_encontrado = false; + for (i in resusuarios) { + if(req.body.nombreusuario == resusuarios[i].nombre) { + bandera_usuario_encontrado = true; + console.log("usuario encontrado"); + } + } + if(req.body.password == req.body.password2 && req.body.password && req.body.password2 && bandera_usuario_encontrado==false) { + + + var ruta_archivo= req.files.foto_usuario.path; + var nueva_ruta = "./public/imgsusuarios/" + req.body.nombreusuario+ path.extname(ruta_archivo ).toLowerCase(); + fs.createReadStream(ruta_archivo).pipe(fs.createWriteStream(nueva_ruta)); + var nombre_foto = req.body.nombreusuario+ path.extname(ruta_archivo ).toLowerCase(); + + db.usuarios.insertarUsuario(req.body.nombreusuario, nombre_foto, req.body.password, req.body.email); + var nombre_usuario = req.body.nombreusuario; + req.session.name=nombre_usuario; + //req.session.remedio = "Omeprazol"; + res.redirect("/remedio"); + + } + else { + res.render('signup', { + title: 'Farmautomatico', + error: true + }) + } + }) + + + }); + } diff --git a/app/models/comunas.js b/app/models/comunas.js index 220b2aa..94a4666 100644 --- a/app/models/comunas.js +++ b/app/models/comunas.js @@ -4,15 +4,20 @@ module.exports = function (sequelize, DataTypes) { idcomunas: DataTypes.INTEGER, nombre: DataTypes.STRING, regiones_idregiones: DataTypes.INTEGER - + }, { classMethods: { - encontrar : function(){ return sequelize - .query(' select * from comunas order by regiones_idregiones', { raw: true }) - // .then(function(filas){console.log(filas); return filas;}); - } + encontrarComunas : function(){ return sequelize + .query(' select * from comunas order by regiones_idregiones, nombre', { raw: true }) + // .then(function(filas){console.log(filas); return filas;}); + }, + encontrarRegiones : function(){ return sequelize + .query('select * from regiones', { raw: true }) + // .then(function(filas){console.log(filas); return filas;}); + } + } }); return comunas -}; \ No newline at end of file +}; diff --git a/app/models/enfermedades.js b/app/models/enfermedad.js similarity index 68% rename from app/models/enfermedades.js rename to app/models/enfermedad.js index a9abd5c..01f7b26 100644 --- a/app/models/enfermedades.js +++ b/app/models/enfermedad.js @@ -1,15 +1,15 @@ module.exports = function (sequelize, DataTypes) { var enfermedad = sequelize.define('enfermedad', { - + nombre_enfermedad: DataTypes.STRING }, { classMethods: { - encontrarEnfermedades : function(){ return sequelize - .query('select nombre_enfermedad from enfermedad', { raw: true }) + encontrarEnfermedades : function(v){ return sequelize + .query('select nombre_enfermedad from enfermedad', { type: sequelize.QueryTypes.SELECT }) // .then(function(filas){console.log(filas); return filas;}); } } - }); + }) return enfermedad }; diff --git a/app/models/index.js b/app/models/index.js index d4b88b7..6ab7ad8 100644 --- a/app/models/index.js +++ b/app/models/index.js @@ -5,7 +5,7 @@ var fs = require('fs'), db = {}; //db, user, pw -var sequelize = new Sequelize('farmautomaticov2', 'farmautomatico', 'farmautomatico', { +var sequelize = new Sequelize('farmautomatico', 'farmautomatico', 'farmautomatico', { host: 'localhost', dialect: 'mysql', autoIncrement: true, diff --git a/app/models/remedios_comenta_usuarios.js b/app/models/remedios_comenta_usuarios.js deleted file mode 100644 index 8fdfe02..0000000 --- a/app/models/remedios_comenta_usuarios.js +++ /dev/null @@ -1,84 +0,0 @@ -module.exports = function (sequelize, DataTypes) { - - var remedios_comenta_usuarios = sequelize.define('remedios_comenta_usuarios', { - idcomentarios: {type: DataTypes.INTEGER, primaryKey: true, updatedAt: true, autoIncrement: true}, - remedios_nombre: DataTypes.STRING, - usuario_idusuario: DataTypes.INTEGER, - comentario: DataTypes.STRING - }, { - classMethods: { - encontrarComentarios : function(v){ return sequelize - .query('select idcomentarios, remedios_nombre, idusuario, comentario, nombre as nombre_usuario, foto as foto_usuario from remedios_comenta_usuarios join usuarios on usuarios.idusuario=remedios_comenta_usuarios.usuario_idusuario where remedios_nombre=?', - { replacements: [v], type: sequelize.QueryTypes.SELECT }) - }, - ingresarUnComentario: function(remedio, userid, comment) { - return sequelize - .query('insert into remedios_comenta_usuarios (remedios_nombre, usuario_idusuario, comentario) values (?, ?, ?);', { replacements: [remedio, userid, comment], raw: true , type: sequelize.QueryTypes.INSERT}) - }, - encontrarUnComentario: function( nombreRemedio, idComentario) { return sequelize - .query('select idcomentarios, remedios_nombre, idusuario, comentario, nombre as nombre_usuario, foto as foto_usuario from remedios_comenta_usuarios join usuarios on usuarios.idusuario=remedios_comenta_usuarios.usuario_idusuario where remedios_nombre=? && idcomentarios=?', - {replacements: [nombreRemedio, idComentario], type: sequelize.QueryTypes.SELECT}) - }, - ModificarUnComentario: function (idComentario, comentarioNuevo) { return sequelize - .query ('update remedios_comenta_usuarios set comentario=? where idcomentarios=?;', - {replacements: [comentarioNuevo, idComentario], raw: true}) - }, - EliminarUnComentario: function (idComentario) { return sequelize - .query('delete from remedios_comenta_usuarios where idcomentarios=?', - {replacements: [idComentario], raw: true}) - - } - - /* - remedios_comenta_usuarios - .create({remedios_nombre: remedio, usuario_idusuario: userid, comentario: comment}) - .then(function() { - remedios_comenta_usuarios - .findOrCreate({where: {remedios_nombre: 'remedio', usuario_idusuario: userid}, defaults: {comentario: 'asdf'}}) - console.log(user.get({ - plain: true - })) - console.log(created) - - */ - /* - { - username: 'fnord', - job: 'omnomnom', - id: 2, - createdAt: Fri Mar 22 2013 21: 28: 34 GMT + 0100(CET), - updatedAt: Fri Mar 22 2013 21: 28: 34 GMT + 0100(CET) - } - created: false - - })*/ - - /* - { - username: 'sdepold', - job: 'Technical Lead JavaScript', - id: 1, - createdAt: Fri Mar 22 2013 21: 28: 34 GMT + 0100(CET), - updatedAt: Fri Mar 22 2013 21: 28: 34 GMT + 0100(CET) - } - created: true - */ - /* - .build({ remedios_nombre: remedio, usuario_idusuario: userid, comentario: comment }) - .save() - .then(function(anotherTask) { - console.log(anotherTask); - // you can now access the currently saved task with the variable anotherTask... nice! - }).catch(function(error) { - console.log("EEEEEEEEERRRRRRRRRRRRROOOOOOOOOOOOOORRRRRRRRRRRR"); - console.log(error); - // Ooops, do some error-handling - })*/ - //('SELECT * FROM centrosmedicos where \'ciudad='+ciudad+'\'', { raw: true }) - // .then(function(filas){console.log(filas); return filas;}); - - } - }); - return remedios_comenta_usuarios - -}; \ No newline at end of file diff --git a/app/models/usuarios.js b/app/models/usuarios.js index a4db2d8..a8223cb 100644 --- a/app/models/usuarios.js +++ b/app/models/usuarios.js @@ -10,12 +10,16 @@ module.exports = function (sequelize, DataTypes) { encontrarUsuarios : function(){ return sequelize .query('select * from usuarios', { type: sequelize.QueryTypes.SELECT }) + }, + insertarUsuario : function(nombre, foto, contrasena, email){ return sequelize + .query('insert into usuarios(nombre, foto, contrasena, email) values(?, ?, ?, ?)', + { replacements: [nombre, foto, contrasena, email], raw: true , type: sequelize.QueryTypes.INSERT }) } //('SELECT * FROM centrosmedicos where \'ciudad='+ciudad+'\'', { raw: true }) - // .then(function(filas){console.log(filas); return filas;}); - + // .then(function(filas){console.log(filas); return filas;}); + } }); return usuarios -}; \ No newline at end of file +}; diff --git a/app/views/centrosmedicos.html b/app/views/centrosmedicos.html deleted file mode 100644 index a9eb4d1..0000000 --- a/app/views/centrosmedicos.html +++ /dev/null @@ -1,131 +0,0 @@ -<% include header %> - - -