%PDF- %PDF-
| Direktori : /home/opti/workflow/src/routes/ |
| Current File : /home/opti/workflow/src/routes/branch.js |
var express = require('express');
var router = express.Router();
var bcrypt = require('bcrypt')
var formidable = require('formidable');
var fs = require('fs');
var path = require('path');
var con = require('../../config');
var secured = require('../middleware/login');
var db = require('../models');
router.get('/', secured, function(req, res, next) {
var user = req.user;
// user.password = null;
// console.log(user)
db.Branch.findAll({where:{orgId:user.orgId},include: [
{
model: db.Region,
as: 'region'
},
{
model: db.User,
as: 'head'
},
{
model: db.User,
as:'assistant'
}
]})
.then(branches =>{
console.log(branches, "Branches")
db.Region.findAll({where: {orgId: user.orgId}}).then(function(regions){
res.render('branch/branch', {title: 'Branches', user: user, regions, script: "branches",branches});
})
})
});
router.get('/add',secured, function(req, res, next) {
var user = req.user;
db.Region.findAll({where:{orgId:user.orgId}})
.then(regions =>{
res.render('branch/addBranch', {title: 'Branches', user: user, regions});
})
});
router.post('/add', secured, (req, res) => {
let user = req.user,
name = req.body.name,
description = req.body.description,
regionId = req.body.regionId,
headId = req.body.headId,
assistantId = req.body.assistantId,
email = req.body.email;
db.Branch.create({ orgId: user.orgId, name, description, regionId, headId, assistantId, email})
.then(function(region){
res.redirect('/branch')
})
});
router.post('/delete', secured, (req, res, next) => {
var user = req.user;
var id = req.body.id;
db.Branch.findOne({where:{orgId: user.orgId, id: id}}).then(function(branch){
branch.destroy().then(function(){
console.log("Branch destroyed");
req.flash('info', 'Branch removed');
res.redirect('/branch');
}).catch(function(){
console.log('Error removing branch')
})
})
})
router.get('/update/:branchId', secured, async (req, res) => {
let user = req.user;
let id = req.params.branchId;
const branch = await db.Branch.findOne({where: {orgId: user.orgId, id: id}});
const regions = await db.Region.findAll({where: {orgId: user.orgId}});
res.render('branch/update', {user, branch, regions, script: 'index', })
})
router.post('/update', secured, async (req, res) => {
let user = req.user;
console.log(req.body)
let id = req.body.id;
let name = req.body.name,
description = req.body.description,
email = req.body.email,
regionId = req.body.regionId,
headId = req.body.headId,
assistantId = req.body.headAssistantId;
let branchObj = {
name,
description,
email,
regionId,
headId,
assistantId
}
let branch = await db.Branch.findOne({where: {id : id, orgId: user.orgId}});
console.log(branch, "Branch")
try{
if(branch !== null){
await branch.update(branchObj);
}
console.log(branch, "Updated branch")
} catch(err){
console.log("There was an error deleting the region. please try again.")
req.flash('info', 'There was an error deleting the region. please try again.');
return res.redirect('/branch');
}
res.redirect('/branch');
})
router.get('/get/:regionId', secured, (req, res) => {
var regionId = req.params.regionId;
var user = req.user;
db.Branch.findAll({where:{orgId: user.orgId, regionId: regionId }})
.then(function(branches){
res.json(branches);
})
})
router.get('/api/all', secured, (req, res) => {
var user = req.user;
db.Branch.findAll({where:{orgId: user.orgId}})
.then(function(branches){
res.json(branches);
})
})
function saveFile(file){
const name = `${Math.floor(Date.now() / 1000)}_${Math.round(Math.random() * 10000)}.${file.name.split('.').pop()}`;
const dest = path.join(__dirname, '..', 'public', 'assets', 'images', 'users', name);
const data = fs.readFileSync(file.path);
fs.writeFileSync(dest, data);
fs.unlinkSync(file.path);
// uploadInfo.fileSize = fileUpload.size;
// uploadInfo.fileType = fileUpload.type;
return name;
}
module.exports = router;