Commit d848b60d authored by Vytor Calixto's avatar Vytor Calixto 👾

Tela de usuários

Falta ainda a tela para ver os detalhes e editar o usuário
parent 63d2644d
<!DOCTYPE html>
<html>
<% include ../partials/head %>
<body>
<% include ../partials/admin-header %>
<section class="page-wrap">
<% if (message.length > 0) { %>
<% if (message.length > 0) { %>
<div class="card margin"><%= message %></div>
<% } %>
<% if (message == "successDelete") { %>
<script>
swal("Deletado!", "O usuário foi deletado com sucesso.", "success");
</script>
<% } %>
<% if (message == "successSave") { %>
<script>
swal("Salvo!", "O usuário foi criado com sucesso.", "success");
</script>
<% } %>
<% if (message == "errorSave") { %>
<script>
swal("Erro :(", "Não foi possível salvar o usuário. Tente novamente.", "error");
</script>
<% } %>
<% if (message == "successEdit") { %>
<script>
swal("Salvo!", "O usuário foi editado com sucesso.", "success");
</script>
<% } %>
<% } %>
<div class="card card-list margin">
<ul class="list">
<h2 class="list-title">Usuários</h2>
<input type="search" name="filter" class="search-bar margin-vertical two-thirds" placeholder="Busca" />
<% for(var i=0; i < usuarios.length; i++) {%>
<% if (usuarios[i].username != user.username) {%>
<li class="list-item text-left">
@<%= usuarios[i].username %> - <%= usuarios[i].nome %>
<br>
<%= usuarios[i].email %> <% if(usuarios[i].verificado) { %> - Verificado <% } %>
<% if(usuarios[i].moderador && usuarios[i].admin) { %> <br> Moderador <% } %>
<% if(usuarios[i].admin) { %> <br> Administrador <% } %>
<div class="float-right">
<button onclick="location.href='/admin/usuarios/<%= usuarios[i]._id %>'" class="button normal hover-shadow">
<i class="fa fa-edit fa-fw"></i>
</button>
<button onclick="deleteModal('<%= usuarios[i]._id %>')" class="button red hover-shadow">
<i class="fa fa-close fa-fw"></i>
</button>
</div>
</li>
<% } %>
<%} %>
<% if (usuarios.length == 0) { %>
<li class="list-item">Não há usuários cadastrados.</li>
<% } %>
</ul>
</div>
</section>
<% include ../partials/footer %>
<script>
function deleteModal(id) {
swal({
title: "Você tem certeza?",
text: "Não será possível recuperar o usuário!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Sim, deletar usuário!",
closeOnConfirm: true,
html: false
}, function(){
location.href = '/admin/usuarios/delete/' + id;
});
}
</script>
</body>
</html>
......@@ -20,6 +20,7 @@ var rotas = require('./routes/routes')
var admin = require('./routes/admin/admin')
var materias = require('./routes/admin/materias')
var professores = require('./routes/admin/professores')
var usuarios = require('./routes/admin/usuarios')
var api = require('./routes/api/api')
var usuariosRest = require('./routes/api/usuarios')
......@@ -50,6 +51,7 @@ app.use('/', rotas)
app.use('/admin', admin)
app.use('/admin/materias', materias)
app.use('/admin/professores', professores)
app.use('/admin/usuarios', usuarios)
// Pasta pública onde ficam os uploads
app.use('/uploads', express.static('uploads'))
......
var express = require('express')
var passport = require('passport')
var router = express.Router()
var libs = process.cwd() + '/libs/'
var role = require(libs + 'role')
var Usuario = require(libs + 'model/usuario')
router.use(role.isLoggedIn())
router.get('/', function(req, res) {
Usuario.find()
.sort([['nome', 'ascending']])
.exec(function(err, usuarios) {
if(!err) {
return res.render('admin/usuarios', {user: req.user, usuarios: usuarios, message: req.flash('usuariosMessage')})
}
})
})
router.get('/:id', function(req, res) {
Usuario.findById(req.params.id, function(err, usuario) {
if(!usuario) {
// TODO: redirecionar para 404
res.redirect('/')
}
if(!err) {
res.render('admin/usuarioDetails', {user: req.user, usuario: usuario, message: req.flash('professorDetailsMessage')})
} else {
// TODO: redirecionar para 500
res.redirect('/')
}
})
})
router.post('/:id', function(req, res) {
Usuario.findById(req.params.id, function(err, usuario) {
if(!usuario) {
// TODO: redirecionar para 404
res.redirect('/admin/usuario/'+req.params.id)
}
usuario.nome = req.body.nome
usuario.username = req.body.username
usuario.email = req.body.email
usuario.admin = req.body.admin
usuario.moderador = req.body.moderador
usuario.save(function(err) {
if(!err) {
req.flash('usuariosMessage', 'successEdit')
res.redirect('/admin/usuarios')
} else {
// TODO: redirecionar para 500
res.redirect('/')
}
})
})
})
router.get('/delete/:id', function(req, res) {
Usuario.findByIdAndRemove(req.params.id, function(err, usuario) {
if(!usuario) {
// TODO: redirecionar para 500
res.redirect('/')
}
req.flash('usuariosMessage', 'successDelete')
res.redirect('/admin/usuarios')
})
})
module.exports = router
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