|
- /* eslint-disable vars-on-top */
- /* eslint-disable no-var */
- const express = require('express');
-
- const router = express.Router();
-
- const userApi = require('../api/users');
- const editApi = require('../api/editable');
- const clearApi = require('../api/auto-clear');
-
- async function isAuthenticated(req, res, next) {
- if (req.user && req.isAuthenticated()) {
- var editable = await editApi.isEditable(req.session.passport.user.jwt);
- var autoClear = await clearApi.autoClear(req.session.passport.user.jwt);
- res.locals.editable = editable ? editable.attributes.Active : false;
- res.locals.autoClear = autoClear ? autoClear.attributes : null;
- res.locals.role = req.session.passport.user.role ? req.session.passport.user.role.name : null;
- if(res.locals.role !='Admin'){
- req.session.companySelected = req.session.passport.user.company;
- req.session.divisionSelected = req.session.passport.user.division;
- }
- return next();
- }
-
- return res.redirect('/login');
- }
-
- router.post('/change', isAuthenticated, async (req, res) => {
- var user = req.body.user;
- var state = req.body.state;
- var editor = req.body.editor;
- if(user && state){
- var changeUser = await userApi.setState(req.session.passport.user.jwt,req.body.user,req.body.state == 'Active'?true:false);
- if(!changeUser){
- return res.redirect('/users?s=err');
- }
- }
- if(user && editor){
- var setEditor = await userApi.setEditor(req.session.passport.user.jwt,req.body.user,editor);
- if(!setEditor){
- return res.redirect('/users?s=err');
- }
- }
- return res.redirect('/users');
- });
-
- router.post('/delete', isAuthenticated, async (req, res) => {
- var user = req.body.user;
- if(user){
- var deleteUser = await userApi.deleteUser(req.session.passport.user.jwt,req.body.user);
- if(!deleteUser){
- return res.redirect('/users?s=err');
- }
- }
- return res.redirect('/users');
- });
-
- module.exports = router;
|