Commit 39597e00 authored by Vytor Calixto's avatar Vytor Calixto 👾

Aprovação e reprovação de uploads

parent 95f41e2d
......@@ -4,6 +4,11 @@
<body>
<% include ../partials/admin-header %>
<section class="page-wrap">
<% if (message.length > 0) { message = JSON.parse(message); %>
<script>
swal('<%= message.title %>', '<%= message.message %>', '<%= message.type %>');
</script>
<% } %>
<div class="card card-list margin clearfix">
<ul class="list">
<li class="list-item text-left">
......@@ -29,15 +34,15 @@
Upload feito por <%= uploads[i].usuario.nome%> (@<%= uploads[i].usuario.username %>)
</div>
<div class="float-right">
<button class="button normal hover-shadow">
<button onclick="location.href='/admin/uploads/aprovar/<%= uploads[i]._id %>'" class="button normal hover-shadow">
Aprovar<i class="fa fa-check fa-fw"></i>
</button>
<button class="button darker hover-shadow">
<button onclick="location.href='/admin/uploads/<%= uploads[i]._id %>'" class="button darker hover-shadow">
Visualizar e editar<i class="fa fa-eye fa-fw"></i>
</button>
<button class="button red hover-shadow">
<button onclick="location.href='/admin/uploads/reprovar/<%= uploads[i]._id %>'" class="button red hover-shadow">
Reprovar<i class="fa fa-close fa-fw"></i>
</button>
</div>
......
var express = require('express')
var passport = require('passport')
var router = express.Router()
var fs = require("fs")
var libs = process.cwd() + '/libs/'
......@@ -19,11 +20,68 @@ router.get('/', function(req, res) {
.populate('usuario')
.exec(function(err, arquivos) {
if(!err) {
return res.render('admin/uploads', {user: req.user , uploads: arquivos})
return res.render('admin/uploads', {user: req.user , uploads: arquivos, message: req.flash('uploadsMessage')})
} else {
// TODO: redirecionar para página de erro
}
})
})
router.get('/aprovar/:id', function(req, res) {
Arquivo.findById(req.params.id, function(err, arquivo) {
if(!arquivo) {
//TODO: redirecionar para 404
res.redirect('/')
}
if(!err) {
arquivo.status = "aprovado"
arquivo.save(function(err) {
if(!err) {
req.flash('uploadsMessage', JSON.stringify({
title: 'Aprovado!',
message: 'O arquivo foi aprovado com sucesso',
type: 'success'
}))
res.redirect('/admin/uploads')
} else {
req.flash('uploadsMessage', JSON.stringify({
title: 'Erro!',
message: 'Houve um erro ao aprovar o arquivo. Tente novamente ou contate um administrador.',
type: 'error'
}))
res.redirect('/admin/uploads')
}
})
} else {
res.redirect('/')
}
})
})
router.get('/reprovar/:id', function(req, res) {
Arquivo.findByIdAndRemove(req.params.id, function(err, arquivo) {
if(!arquivo) {
//TODO: redirecionar para 404
res.redirect('/')
}
if(!err) {
fs.unlink(arquivo.arquivo, function() {
if(err) log.error(err)
})
req.flash('uploadsMessage', JSON.stringify({
title: 'Reprovado!',
message: 'O arquivo foi reprovado.',
type: 'success'
}))
res.redirect('/admin/uploads')
} else {
res.redirect('/')
}
})
})
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