Commit 5f4318f9 authored by Alejandro E. Rendon's avatar Alejandro E. Rendon
Browse files

Get users information

parent edd3b4ee
{
"extends": "google",
"installedESLint": true,
"parserOptions": {
"ecmaVersion": 6
......
const User = require('../models/user').User,
nodemailer = require('nodemailer'),
{auth} = require('../config/email.js'),
{encrypt} = require('../config/crypto');
nodemailer = require('nodemailer'),
{ auth } = require('../config/email.js'),
{ emailAdmin } = require('../helpers/user'),
{ encrypt } = require('../config/crypto');
// exports.login = function(req, res) {
// // console.log(req);
......@@ -27,7 +28,7 @@ exports.newUser = function(req, res) {
// Si no existen usuarios en la BD
User.find(function(err, docs) {
if(docs.length === 0)
if (docs.length === 0)
state = 1;
else {
for (user in docs) {
......@@ -38,50 +39,108 @@ exports.newUser = function(req, res) {
console.log(email);
});
User.findOne({$or: [
{'email': req.body.email},
{'username': req.body.username}]}, function(err, user) {
if(err)
return done(err);
if(user) {
// console.log(user);
console.log('Ya existe !!!');
if (user.email === req.body.email)
req.flash('signupMessage', 'Existe un registro con el Correo Electrónico ingresado');
if (user.username === req.body.username)
req.flash('signupMessage', 'Existe un registro con el Nombre de Usuario ingresado');
res.redirect('/signup');
} else if(req.body.password !== req.body.confirmPassword) {
console.log(user);
console.log('No coincide la contraseña');
req.flash('signupMessage', 'No coincide la contraseña');
res.redirect('/signup');
} else {
const newUser = new User();
User.findOne(
{
$or: [{ email: req.body.email }, { username: req.body.username }]
},
function(err, user) {
if (err) return done(err);
if (user) {
// console.log(user);
console.log('Ya existe !!!');
if (user.email === req.body.email)
req.flash(
'signupMessage',
'Existe un registro con el Correo Electrónico ingresado'
);
if (user.username === req.body.username)
req.flash(
'signupMessage',
'Existe un registro con el Nombre de Usuario ingresado'
);
res.redirect('/signup');
} else if (req.body.password !== req.body.confirmPassword) {
console.log(user);
console.log('No coincide la contraseña');
req.flash('signupMessage', 'No coincide la contraseña');
res.redirect('/signup');
} else {
const newUser = new User();
newUser.state = state;
newUser.user_id = req.body.user_id;
newUser.username = req.body.username;
newUser.name = req.body.name;
newUser.last_name = req.body.last_name;
newUser.email = req.body.email;
newUser.profession = req.body.profession;
newUser.password = newUser.generateHash(req.body.password);
newUser.linux = encrypt(req.body.password);
newUser.connection = new Date();
newUser.text = req.body.text;
newUser.state = state;
newUser.user_id = req.body.user_id;
newUser.username = req.body.username;
newUser.name = req.body.name;
newUser.last_name = req.body.last_name;
newUser.email = req.body.email;
newUser.profession = req.body.profession;
newUser.password = newUser.generateHash(req.body.password);
newUser.linux = encrypt(req.body.password);
newUser.connection = new Date();
newUser.text = req.body.text;
console.log(newUser);
console.log(newUser);
newUser.save(function(err) {
if(err) {
console.log(err);
throw err;
res.redirect('/signup');
} else {
res.redirect('/');
}
});
newUser.save(function(err) {
if (err) {
console.log(err);
throw err;
res.redirect('/signup');
} else {
emailAdmin((err, data) => {
if (err)
console.log(err);
else {
const transporter = nodemailer.createTransport(
'smtps://' + auth.user + ':' + auth.pass + '@smtp.gmail.com'
);
const mailOptions = {
from: (
req.body.name +
' ' +
req.body.last_name +
' <' +
req.body.email +
'>'
),
to: data,
subject: 'Contacto-Cluster Lovelace',
// text: req.body.text,
html: (
'Sr Admin, solicitud de cuenta pendiente: <br />' +
'<hr />' +
'<b>Username: </b>' +
req.body.username +
'<br />' +
'<b>Nombre: </b>' +
req.body.name +
' ' +
req.body.last_name +
'<br />' +
'<b>Código: </b>' +
req.body.user_id +
'<br />' +
'<b>Correo Electrónico: </b>' +
req.body.email +
'<br /><hr />' +
'<b>Justificación: </b><br />' +
'<i>' +
req.body.text +
'</i>'
)
};
transporter.sendMail(mailOptions, (err, res) => {
if (err) console.log(err);
else console.log(res);
});
}
});
res.redirect('/');
}
});
}
}
});
);
};
......@@ -50,7 +50,6 @@
"serve-favicon": "~2.3.0"
},
"devDependencies": {
"eslint": "^3.12.0",
"eslint-config-google": "^0.7.1"
"eslint": "^3.12.0"
}
}
......@@ -31,8 +31,7 @@ router.post('/contact', adminController.emailContact);
// router.get('/quizes/:quizId(\\d+)/answer', quizController.answer);
function isLoggedIn(req, res, next) {
if (req.isAuthenticated())
return next();
if (req.isAuthenticated()) return next();
res.redirect('/login');
}
......
......@@ -8,21 +8,20 @@ const sessionController = require('../controllers/session');
/* GET home page. */
router.get('/', function(req, res) {
// console.log(req.user);
res.render('index', {user: req.user, conect: req.user});
res.render('index', { user: req.user, conect: req.user });
});
router.get('/login', function(req, res) {
// console.log(req.flash('loginMessage'));
// console.log(req.user);
if(req.user)
if (req.user)
res.redirect('/user');
else
res.render('user/login',
{
user: req.user,
conect: req.user,
message: req.flash('loginMessage'),
});
res.render('user/login', {
user: req.user,
conect: req.user,
message: req.flash('loginMessage')
});
});
router.get('/logout', function(req, res) {
......@@ -34,11 +33,10 @@ router.get('/signup', function(req, res) {
console.log(req.user);
// if(req.user !== undefined && req.user.state === 0)
// req.logout();
res.render('user/signup',
{
res.render('user/signup', {
user: req.user,
conect: req.user,
message: req.flash('signupMessage'),
message: req.flash('signupMessage')
});
});
......@@ -51,11 +49,14 @@ router.get('/signup', function(req, res) {
router.post('/signup', sessionController.newUser);
router.post('/session', passport.authenticate('local-login', {
successRedirect: '/user',
failureRedirect: '/login',
failureFlash: true,
}));
router.post(
'/session',
passport.authenticate('local-login', {
successRedirect: '/user',
failureRedirect: '/login',
failureFlash: true
})
);
// router.get('/quizes', quizController.index);
// router.get('/quizes/:quizId(\\d+)', quizController.show);
......
......@@ -60,7 +60,8 @@
<a class="header" href="/user/<%= users[userbd].username %>"><%= users[userbd].name %> <%= users[userbd].last_name %></a>
<a class="meta" href="/user/<%= users[userbd].username %>"><%= users[userbd].username %></a>
<div class="meta">COD: <%= users[userbd].user_id %></div>
<div class="meta">UID: <%= users[userbd].uid %></div>
<!-- <div class="meta">UID: <%= users[userbd].uid %></div> -->
<div class="meta">email: <i><%= users[userbd].email %></i></div>
<div class="meta"><i><b><%= users[userbd].text %></b></i></div>
<div class="description">
Creado: <%= ("0" + users[userbd].createdAt.getDate()).slice(-2) + "/" + ("0" + (users[userbd].createdAt.getMonth() + 1)).slice(-2) + "/" + users[userbd].createdAt.getFullYear() %>
......@@ -83,7 +84,8 @@
<% } %>
<a class="ui icon button" href="/user/edit/<%= users[userbd].username %>"><i class="write icon"></i></a>
<% if (users[userbd].state === 1) { %>
<a class="ui icon button" href="/admin/remove/<%= users[userbd].username %>">Admin <i class="remove red icon"></i></a>
<a class="ui icon button" href="/adm
in/remove/<%= users[userbd].username %>">Admin <i class="remove red icon"></i></a>
<% } else if (users[userbd].state === 2) { %>
<a class="ui icon button" href="/admin/add/<%= users[userbd].username %>">Admin <i class="checkmark green icon"></i></a>
<% } %>
......
......@@ -91,7 +91,7 @@
Cluster Lovelace
</div>
</h1>
<a class="big circular ui icon button" href="#title"><i class="chevron down icon"></i></a>
<!-- <a class="big circular ui icon button" href="#title"><i class="chevron down icon"></i></a> -->
</div>
</div>
<div class="ui vertical stripe segment">
......@@ -104,7 +104,7 @@
</div>
</h1>
</div>
<div class="eight wide column">
<!-- <div class="eight wide column">
<h3 class="ui header">We Help Companies and Companions</h3>
<p>We can give your company superpowers to do things that they never thought possible. Let us delight your customers and empower your needs...through pure data analytics.</p>
<h3 class="ui header">We Make Bananas That Can Dance</h3>
......@@ -112,16 +112,16 @@
</div>
<div class="six wide right floated column">
<img src="assets/images/wireframe/white-image.png" class="ui large bordered rounded image">
</div>
</div> -->
</div>
<div class="row">
<!-- <div class="row">
<div class="center aligned column">
<a class="ui huge button">Check Them Out</a>
</div>
</div>
</div> -->
</div>
</div>
<div class="ui vertical stripe quote segment">
<!-- <div class="ui vertical stripe quote segment">
<div class="ui equal width stackable internally celled grid">
<div class="center aligned row">
<div class="column">
......@@ -149,7 +149,7 @@
<p>Yes I know you probably disregarded the earlier boasts as non-sequitur filler content, but its really true. It took years of gene splicing and combinatory DNA research, but our bananas can really dance.</p>
<a class="ui large button">I'm Still Quite Interested</a>
</div>
</div>
</div> -->
<script src="/js/jquery-3.1.1.min.js"></script>
<script src="/semantic-ui/semantic.min.js"></script>
<script src="/js/index.js"></script>
......
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