828 lines
23 KiB
JavaScript
828 lines
23 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
const numeral = require('numeral');
|
|
var fse = require('fs-extra');
|
|
var Promise = require('bluebird');
|
|
// Bring in article module
|
|
let Article = require('../models/article');
|
|
let Work=require('../models/works');
|
|
let KifCert = require('../models/kifcerts');
|
|
var logging=require('../js/helpers');
|
|
// User Model
|
|
let User = require('../models/user');
|
|
var utils = require('../js/utils');
|
|
const path = require('path');
|
|
var multer = require( 'multer' );
|
|
const uuidv4 = require('uuid/v4');
|
|
var mv = require('mv');
|
|
var ad=false;
|
|
var Encoder = require("code-128-encoder");
|
|
var Jimp = require("jimp");
|
|
|
|
var idCounter=0;
|
|
|
|
var findQuery = Article.find({}).sort({deviceCounter : -1}).limit(1);
|
|
var deviceDate= new Date().toISOString().replace(/T/, ' ').replace(/\..+/, '');
|
|
|
|
var findWorkQuery = Work.find({}).sort({workCounter : -1}).limit(1);
|
|
// Új berendezés sorszám generálása
|
|
var getNextWorkId=function(callback)
|
|
{
|
|
// Find last id
|
|
|
|
var cnt=0;
|
|
var findWorkQuery = a.Work.find({}).sort({workCounter : -1}).limit(1);
|
|
findWorkQuery.exec(function(err, maxResult){
|
|
|
|
if (err) {
|
|
return callback(err);
|
|
}
|
|
|
|
if (maxResult[0]===undefined)
|
|
{
|
|
console.log('workCounter undefined...');
|
|
cnt=0;
|
|
}
|
|
else {
|
|
cnt=maxResult[0].deviceCounter;
|
|
console.log('WorkID: ' + cnt.toString());
|
|
}
|
|
cnt++;
|
|
console.log('Új WorkID: ' + cnt.toString());
|
|
callback(null, cnt);
|
|
});
|
|
|
|
|
|
}
|
|
// Új berendezés sorszám generálása
|
|
function getNextDevId(callback)
|
|
{
|
|
// Find last id
|
|
|
|
var findQuery = Article.find({'deviceDate': {$gte: new Date().getFullYear()}}).sort({deviceCounter : -1}).limit(1);
|
|
var cnt=0;
|
|
findQuery.exec(function(err, maxResult){
|
|
|
|
if (err) {
|
|
return callback(err);
|
|
}
|
|
|
|
if (maxResult[0]===undefined)
|
|
{
|
|
console.log('deviceCounter undefined...');
|
|
cnt=0;
|
|
}
|
|
else {
|
|
cnt=maxResult[0].deviceCounter;
|
|
}
|
|
cnt++;
|
|
console.log('Új DevID: ' + cnt.toString());
|
|
callback(null, cnt);
|
|
});
|
|
|
|
|
|
}
|
|
// Delete article
|
|
/*
|
|
router.post('/delete/:id',utils.ensureAuthenticated, function(req,res){
|
|
var id = req.params.id;
|
|
Article.findOneAndRemove({_id: id}, function(err){
|
|
if(err) {
|
|
console.log('Picsa >>'+err);
|
|
return res.status(500).send();
|
|
}
|
|
else {
|
|
|
|
req.flash('success','Berendezés sikeresen törölve!');
|
|
res.redirect('/');
|
|
console.log('Picsa >>'+ id);
|
|
}
|
|
});
|
|
});*/
|
|
|
|
// Delete Article
|
|
router.delete('/:mode/:id', function(req, res){
|
|
/* if(!req.user._id){
|
|
res.status(500).send();
|
|
}*/
|
|
if (req.params.mode==='A')
|
|
{
|
|
var ObjectId = require('mongoose').Types.ObjectId;
|
|
let query = {_id:req.params.id}
|
|
|
|
Article.findById(req.params.id, function(err, article){ // Megkeressük a berendezést
|
|
|
|
Work.findOneAndUpdate({}, { $pull:{'devicesArray': new ObjectId(req.params.id)}}, function (err, docs){ // Megkeressük melyik munkába vettük fel
|
|
if (err)
|
|
{
|
|
console.log(err);
|
|
}else {
|
|
logging.logAppend("Berendezés törölve.",req.user,article.id,Article.db.name,'ARTICLEREMOVE');
|
|
Article.remove(query, function(err){ // Töröljük a berendezést is
|
|
if(err){
|
|
console.log(err);
|
|
}
|
|
res.send('Success');
|
|
});
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
}
|
|
if (req.params.mode==='F')
|
|
{
|
|
console.log("File Törölve:" +id);
|
|
}
|
|
});
|
|
|
|
|
|
// Storage file name to id
|
|
var storage = multer.diskStorage({
|
|
destination: function (request, file, callback) {
|
|
callback(null, './uploads');
|
|
},
|
|
filename: function (request, file, callback) {
|
|
if (file.mimetype.startsWith('image/'))
|
|
{
|
|
const newFilename = `${uuidv4()}${path.extname(file.originalname)}`;
|
|
callback(null, newFilename);
|
|
}
|
|
else
|
|
{
|
|
file.fieldname='doc';
|
|
callback(null, file.originalname)
|
|
}
|
|
console.log(file);
|
|
//callback(null, file.originalname)
|
|
|
|
}
|
|
});
|
|
|
|
|
|
var upload = multer({storage: storage}).array('photo', 20);
|
|
|
|
|
|
|
|
// Add Devices ToRoute
|
|
router.get('/addTo/:id', utils.ensureAuthenticated,function (req,res) {
|
|
var devId =new Date().getFullYear() ;
|
|
|
|
// Find last id
|
|
console.log('Keres');
|
|
var fileObjs=[];
|
|
getNextDevId(function(err,did){
|
|
if(err)
|
|
{
|
|
console.log('Hiba: getNextDevId');
|
|
}
|
|
else {
|
|
|
|
|
|
|
|
|
|
devId+='/'+numeral(did).format('000');
|
|
idCounter=did;
|
|
res.render('add_articleTo', {
|
|
title: 'Berendezés Felvétele',
|
|
deviceID: devId,
|
|
workNum: currentWorkNumber,
|
|
workID: req.params.id,
|
|
userName: req.user.name
|
|
});
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
// Add To Work Submit POST Route
|
|
router.post('/addTo/:id',utils.ensureAuthenticated, function(req,res){
|
|
req.checkBody('title','Berendezés megnevezése kötelező!').notEmpty();
|
|
req.checkBody('workNumber','Munkaszám megadása kötelező!').notEmpty();
|
|
req.checkBody('deviceNumber','Berendezés gyártási szám kötelező!').notEmpty();
|
|
req.checkBody('workSign','Berendezés jel megadása kötelező!').notEmpty();
|
|
|
|
|
|
// Get errors
|
|
let errors = req.validationErrors();
|
|
var devId =new Date().getFullYear() ;
|
|
|
|
if(errors)
|
|
{
|
|
getNextDevId(function(err,did){
|
|
if(err)
|
|
{
|
|
console.log('Hiba: getNextDevId');
|
|
}
|
|
else {
|
|
devId+='/'+numeral(did).format('000');
|
|
idCounter=did;
|
|
res.render('add_articleTo', {
|
|
title: 'Berendezés Hozzáadása',
|
|
errors:errors,
|
|
deviceID: devId,
|
|
workNum: currentWorkNumber,
|
|
workID: req.params.id,
|
|
userName: req.user.name
|
|
});
|
|
}
|
|
});
|
|
|
|
} else {
|
|
|
|
let article=new Article();
|
|
article.title = req.body.title;
|
|
article.author = req.user._id;//req.body.author;
|
|
article.body = req.body.body;
|
|
article.workNumber = req.body.workNumber;
|
|
article.workSign = req.body.workSign;
|
|
article.deviceNumber=req.body.deviceNumber;
|
|
article.deviceCounter=idCounter;
|
|
article.deviceDate=deviceDate;
|
|
article.filePath='filedata/'+req.params.id+'/'+article._id;
|
|
article.save(function(err){
|
|
if(err){
|
|
console.log(err);
|
|
return;
|
|
}else{
|
|
Work.update( // Hozzáadjuk a munkához a devId-t, majd mentjük a devicet!
|
|
{"_id": req.params.id},
|
|
{"$push": {"devicesArray": article}},
|
|
function(err)
|
|
{
|
|
if (err)
|
|
{
|
|
console.log(err);
|
|
return;
|
|
}
|
|
else {
|
|
logging.logAppend("Berendezés hozzáadva.",req.user,article.id,Article.db.name,'ARTICLEADD');
|
|
// Berendezés könyvtár létrehozása
|
|
fse.mkdirs('/'+article.filePath, function(err){
|
|
if (err) return console.error(err);
|
|
|
|
console.log("Könyvtár létrehozva! ->"+article.filePath);
|
|
});
|
|
//req.flash('success','Berendezés sikeresen hozzáadva');
|
|
if (req.body.action==='save')
|
|
{
|
|
req.flash('success','Berendezés sikeresen hozzáadva.');
|
|
res.redirect('/work/'+req.params.id);
|
|
}
|
|
if (req.body.action==='saveAndNew')
|
|
{
|
|
req.flash('success','Berendezés sikeresen hozzáadva.');
|
|
res.redirect('/articles/addTo/'+req.params.id);
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
|
|
|
|
|
|
router.get('/view/*/:file',utils.ensureAuthenticated, function(req, res) {
|
|
//response.render('upload');
|
|
|
|
// console.log('Path:'+req.params[0]+'/'+req.params.file);
|
|
res.sendFile('/'+req.params[0]+'/'+req.params.file);
|
|
});
|
|
|
|
|
|
// Add Route
|
|
router.get('/add', utils.ensureAuthenticated, function (req,res) {
|
|
var devId =new Date().getFullYear() ;
|
|
// Find last id
|
|
console.log('Keres');
|
|
getNextDevId(function(err,did){
|
|
if(err)
|
|
{
|
|
console.log('Hiba: getNextDevId');
|
|
}
|
|
else {
|
|
devId+='/'+numeral(did).format('000');
|
|
idCounter=did;
|
|
res.render('add_article', {
|
|
title: 'Berendezés Felvétele',
|
|
deviceID: devId,
|
|
workNum: currentWorkNumber,
|
|
workID: req.params.id,
|
|
userName: req.user.name
|
|
});
|
|
}
|
|
});
|
|
|
|
/*findQuery.exec(function(err, maxResult){
|
|
|
|
if (err) {
|
|
console.log(err);
|
|
res.send('404',"Az oldal nem található!");
|
|
}
|
|
|
|
if (maxResult[0]===undefined)
|
|
{
|
|
console.log('deviceCounter undefined...');
|
|
idCounter=0;
|
|
}
|
|
else {
|
|
idCounter=maxResult[0].deviceCounter;
|
|
//} do stuff with maxResult[0]
|
|
}
|
|
idCounter++;
|
|
console.log('Kész ' +idCounter);
|
|
devId+='/'+numeral('idCounter').format('000');
|
|
res.render('add_article', {
|
|
title: 'Berendezés Felvétele',
|
|
deviceID: devId
|
|
|
|
});
|
|
console.log('Hozzáadás');
|
|
});*/
|
|
|
|
});
|
|
|
|
|
|
// Add Submit POST Route
|
|
router.post('/add', utils.ensureAuthenticated,function(req,res){
|
|
req.checkBody('title','Berendezés megnevezése kötelező!').notEmpty();
|
|
req.checkBody('workNumber','Munkaszám megadása kötelező!').notEmpty();
|
|
req.checkBody('deviceNumber','Berendezés gyártási szám kötelező!').notEmpty();
|
|
req.checkBody('workSign','Berendezés jel megadása kötelező!').notEmpty();
|
|
|
|
// Get errors
|
|
let errors = req.validationErrors();
|
|
|
|
if(errors)
|
|
{
|
|
res.render('add_article', {
|
|
title: 'Berendezés Felvétele',
|
|
errors:errors
|
|
})
|
|
} else {
|
|
let article=new Article();
|
|
|
|
article.title = req.body.title;
|
|
article.author = req.user._id;//req.body.author;
|
|
article.body = req.body.body;
|
|
article.workNumber = req.body.workNumber;
|
|
article.workSign = req.body.workSign;
|
|
article.deviceNumber=req.body.deviceNumber;
|
|
article.deviceDate=deviceDate;
|
|
article.deviceCounter=idCounter;
|
|
article.save(function(err){
|
|
if(err){
|
|
console.log(err);
|
|
return;
|
|
}else{
|
|
req.flash('success','Berendezés sikeresen hozzáadva');
|
|
res.redirect('/');
|
|
}
|
|
});
|
|
|
|
}
|
|
});
|
|
|
|
// Get Works By WorkNumber
|
|
router.get('/getDeviceByNumber/:nr',utils.ensureAuthenticated, function(req, res) {
|
|
|
|
var dnr=req.params.nr.replace('_','/');
|
|
|
|
if (dnr==null)
|
|
{
|
|
|
|
res.send({'device':null,'work':null,'status':200});
|
|
}
|
|
else
|
|
{
|
|
Article.findOne({'deviceNumber':dnr},function(err,article){
|
|
if (err)
|
|
{
|
|
|
|
res.send({'device':null,'work':null,'status':200});
|
|
}
|
|
else
|
|
{
|
|
if (article)
|
|
{
|
|
// Device keresése a munkákban
|
|
Work.findOne({'devicesArray':{$in:[article._id]}}).exec(function (err, foundWork) {
|
|
|
|
if (err)
|
|
{
|
|
|
|
res.send({'device':null,'work':null,'status':200});
|
|
}
|
|
else
|
|
{
|
|
res.send({'device':article,'work':foundWork,'status':200});
|
|
}
|
|
});
|
|
}
|
|
else
|
|
{
|
|
//req.flash('error','Nem található berendezés!');
|
|
res.send({'device':null,'work':null,'status':200});
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
// Admin check
|
|
function checkUserAdmin2(req,callback)
|
|
{
|
|
// Find last id
|
|
|
|
if(req.user)
|
|
{
|
|
//console.log(req.user);
|
|
if(req.user.username==='admisJacica' & req.user.auth==='ADMIN')
|
|
{
|
|
callback(null, true);
|
|
}
|
|
else {
|
|
callback(null, false);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Gyártmánykísérő Bizonylat generálás
|
|
router.post('/gyartmanykisero/:aid/:wid', utils.ensureAuthenticated,function (req,res) {
|
|
|
|
console.log('Gyartmanykisero Generálás!');
|
|
var dt = new Date();
|
|
var bornDate= dt.toISOString().replace(/T/, ' ').replace(/\..+/, '');
|
|
let query = {_id:req.params.id}
|
|
console.log('Update!'+req.params.id);
|
|
// CERT
|
|
Work.findById(req.params.wid,function(err,work){
|
|
if (err)
|
|
{
|
|
console.log(err);
|
|
}
|
|
else
|
|
{
|
|
Article.findById(req.params.aid,function(err,article){
|
|
if (err)
|
|
{
|
|
console.log(err);
|
|
}
|
|
else
|
|
{
|
|
console.log(article.title);
|
|
var deviceDate= new Date().toISOString().replace(/-/g, '.').substring(0,10);
|
|
const PizZip = require("pizzip");
|
|
var Docxtemplater = require('docxtemplater');
|
|
|
|
var fs = require('fs');
|
|
var path = require('path');
|
|
|
|
//Load the docx file as a binary
|
|
var content = fs
|
|
.readFileSync(__dirname+'/../docs/templates/gyartmanykiserotemplate.docx', 'binary');
|
|
|
|
var zip = new PizZip(content);
|
|
var encoder=new Encoder();
|
|
var barcode=encoder.encode(article.deviceNumber);
|
|
var doc = new Docxtemplater();
|
|
var separation=req.body.separationText;
|
|
doc.loadZip(zip);
|
|
var year=new Date().getFullYear();
|
|
console.log(barcode);
|
|
//set the templateVariables
|
|
doc.setData({
|
|
munkamegnevezes: work.title,
|
|
bermegnevezes: article.title,
|
|
munkaszam: article.workNumber,
|
|
berjele: article.workSign,
|
|
gyartasiszam: article.deviceNumber,
|
|
mezoszam: separation,
|
|
barcode: barcode,
|
|
datum: deviceDate,
|
|
});
|
|
|
|
try {
|
|
// render the document (replace all occurences of {first_name} by John, {last_name} by Doe, ...)
|
|
console.log('Generálás kész!');
|
|
doc.render();
|
|
|
|
}
|
|
catch (error) {
|
|
var e = {
|
|
message: error.message,
|
|
name: error.name,
|
|
stack: error.stack,
|
|
properties: error.properties,
|
|
}
|
|
console.log(JSON.stringify({error: e}));
|
|
// The error thrown here contains additional information when logged with JSON.stringify (it contains a property object).
|
|
throw error;
|
|
}
|
|
|
|
var buf = doc.getZip()
|
|
.generate({type: 'nodebuffer'});
|
|
fs.writeFileSync(__dirname+'/../docs/gyartmanykisero.docx', buf);
|
|
//req.flash('success','Berendezés sikeresen hozzáadva');
|
|
var fname=article.deviceNumber.replace('/','_')+'_gyártmánykísérő.docx';
|
|
res.download(path.normalize(__dirname+'/../docs/gyartmanykisero.docx'),fname);
|
|
|
|
/* docxConverter(__dirname+'/../docs/gyartmanykisero.docx',__dirname+'/../docs/gyartmanykisero.pdf',function(err,result){
|
|
if(err){
|
|
console.log(err);
|
|
}
|
|
console.log('result'+result);
|
|
res.sendFile(path.normalize(__dirname+'/../docs/gyartmanykisero.pdf'));
|
|
//res.download(path.normalize(__dirname+'/../docs/gyartmanykisero.pdf'),article.title+'_gyártmánykísérő.pdf')
|
|
});*/
|
|
|
|
}
|
|
|
|
})
|
|
}
|
|
})
|
|
|
|
});
|
|
|
|
// Edit Single Article
|
|
router.get('/edit/:id/:wid', utils.ensureAuthenticated,function(req,res){
|
|
Article.findById(req.params.id,function(err,article)
|
|
{
|
|
var ad=false;
|
|
checkUserAdmin2(req,function(err,res){ad=res;})
|
|
res.render('edit_article', {
|
|
title: 'Berendezés módosítás',
|
|
article: article,
|
|
rot:ad,
|
|
wid:req.params.wid
|
|
//artice: workSign
|
|
});
|
|
});
|
|
});
|
|
|
|
// Update Submit Post routes
|
|
router.post('/edit/:id/:wid', utils.ensureAuthenticated,function(req,res){
|
|
let article = {};
|
|
/* req.checkBody('title','Berendezés megnevezése kötelező!').notEmpty();
|
|
req.checkBody('workNumber','Munkaszám megadása kötelező!').notEmpty();
|
|
req.checkBody('deviceNumber','Berendezés gyártási szám kötelező!').notEmpty();
|
|
req.checkBody('workSign','Berendezés jel megadása kötelező!').notEmpty();
|
|
*/
|
|
article.title = req.body.title;
|
|
article.author = req.body.author;
|
|
article.body = req.body.body;
|
|
article.workNumber = req.body.workNumber;
|
|
article.workSign = req.body.workSign;
|
|
article.deviceNumber=req.body.deviceNumber;
|
|
article.deviceCounter=idCounter;
|
|
|
|
let query = {_id:req.params.id}
|
|
|
|
Article.update(query, article, function(err){
|
|
if(err){
|
|
console.log(err);
|
|
return;
|
|
}else{
|
|
logging.logAppend("Berendezés módosítva.",req.user,article.id,Article.db.name,'ARTICLEEDIT');
|
|
req.flash('success','Berendezés adatok sikeresen szerkesztve');
|
|
res.redirect('/articles/'+req.params.id+'/'+req.params.wid);
|
|
}
|
|
});
|
|
|
|
//}
|
|
});
|
|
|
|
|
|
// Get Single Articlel wrom work
|
|
router.get('/:id/:wid',utils.ensureAuthenticated,function(req,res){
|
|
/*
|
|
io.on('connection', function(socket) {
|
|
console.log('Client connected...');
|
|
socket.join('sessionId');
|
|
socket.on('join', function(data) {
|
|
console.log(data);
|
|
socket.emit('messages', 'Hello from server');
|
|
});
|
|
});*/
|
|
|
|
|
|
|
|
Article.findById(req.params.id,function(err,article)
|
|
{
|
|
User.findById(article.author, function(err,user){
|
|
var wid=req.params.wid;
|
|
const testFolder = '/'+article.filePath;
|
|
const fs = require('fs');
|
|
var admin=false;
|
|
var type;
|
|
|
|
//
|
|
console.log(testFolder);
|
|
var fileObjs=[];
|
|
var docObjs=[];
|
|
// var type='img';
|
|
fs.readdir(testFolder, (err, files) => {
|
|
//files.forEach(file => {
|
|
// console.log(file);
|
|
//});
|
|
if (err) console.log(err);
|
|
else
|
|
{
|
|
files.forEach(element => {
|
|
// Képek átméretezése
|
|
var a=path.extname(element).toLowerCase();
|
|
|
|
var ico;
|
|
if (!element.startsWith('th',0))
|
|
{
|
|
// allowed Doc types
|
|
if (a==='.doc' || a==='.docx' || a==='.xls' || a==='.xlsx' || a==='.pdf' || a==='.mpc')
|
|
{
|
|
if (a.toLowerCase()==='.mpc')
|
|
{
|
|
ico='/weid.jpg';
|
|
}
|
|
else
|
|
if (a.toLowerCase()==='.pdf')
|
|
{
|
|
ico='/pdf.jpg';
|
|
}
|
|
else
|
|
if (a.toLowerCase()==='.xls' || a.toLowerCase()==='.xlsx')
|
|
{
|
|
ico='/excel.png';
|
|
}
|
|
else
|
|
if (a.toLowerCase()==='.doc' || a.toLowerCase()==='.docx')
|
|
{
|
|
ico='/word.png';
|
|
}
|
|
docObjs.push({filen: element,ico:ico, extension: a});
|
|
}
|
|
|
|
// allowed Imagec types
|
|
if (a==='.jpg' || a==='.jpeg' || a==='.png')
|
|
{
|
|
ico='/articles/view/'+article.filePath+'/'+element;
|
|
fileObjs.push({filen: element,ico:ico, extension: a});
|
|
}
|
|
|
|
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
if(req.user)
|
|
{
|
|
checkUserAdmin2(req,function(err,res){
|
|
admin=res;
|
|
console.log(admin);
|
|
});
|
|
}
|
|
KifCert.find({deviceId: article.id},function(err,certs)
|
|
{
|
|
//console.log(certs);
|
|
if (err)
|
|
{
|
|
res.render('article', {
|
|
article: article,
|
|
author: 'Nem tudni',
|
|
rot: admin,
|
|
workId: wid,
|
|
fileObjs:fileObjs,
|
|
docObjs: docObjs,
|
|
certs: certs,
|
|
});
|
|
}else {
|
|
res.render('article', {
|
|
article: article,
|
|
author: user.name,
|
|
rot: admin,
|
|
workId: wid,
|
|
fileObjs:fileObjs,
|
|
docObjs: docObjs,
|
|
certs: certs
|
|
});
|
|
}
|
|
});
|
|
})
|
|
});
|
|
});
|
|
});
|
|
|
|
var fs = Promise.promisifyAll(require('fs'));
|
|
function moveFiles(srcDir, destDir) {
|
|
return fs.readdirAsync(srcDir).map(function(file) {
|
|
var destFile = path.join(destDir, file);
|
|
console.log(destFile);
|
|
return fs.renameAsync(path.join(srcDir, file), destFile).then(function() {
|
|
return destFile;
|
|
});
|
|
});
|
|
}
|
|
router.post('/upload/:id/:wid', function(request, response) {
|
|
var total = request.headers['content-length'];
|
|
// var progress = 0;
|
|
|
|
|
|
|
|
/*request.on('data', function (chunk) {
|
|
progress += chunk.length;
|
|
var perc = parseInt((progress / total) * 100);
|
|
// console.log('percent complete: ' + perc + '%\n');
|
|
io.on('connection', function(socket) {
|
|
socket.emit('messages', perc );
|
|
|
|
});
|
|
status = perc;
|
|
});*/
|
|
|
|
upload(request, response, function(err) {
|
|
if(err) {
|
|
console.log('Error Occured'+err);
|
|
return;
|
|
}
|
|
|
|
//Generating thumbnails
|
|
|
|
|
|
|
|
|
|
// get the temporary location of the file
|
|
var srcDir = './uploads/';//+request.files[0].filename;
|
|
// set where the file should actually exists - in this case it is in the "images" directory
|
|
var destDir = '/'+request.body.destPath ;//+request.files[0].filename;
|
|
// move the file from the temporary location to the intended location
|
|
// Könyvtár létrehozása ha nem létezik
|
|
fs.access(destDir, function(err) {
|
|
if (err && err.code === 'ENOENT') {
|
|
fs.mkdir(destDir);
|
|
}
|
|
// Fájlok másolása a munkakönyvtárba
|
|
moveFiles(path.join(".", srcDir), destDir).then(function(files) {
|
|
// all done here
|
|
// logging.logAppend("Fájl feltöltés.",req.user,req.params.id,Article.db.name,'UPLOAD');
|
|
request.flash('success','Fájlok sikeresen feltöltve');
|
|
console.log('fasza');
|
|
}).catch(function(err) {
|
|
// error here
|
|
request.flash('error','Feltöltés sikertelen');
|
|
console.log('hiba'+err);
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
response.redirect('/articles/'+request.params.id+'/'+request.params.wid);
|
|
console.log('Photo Uploaded');
|
|
})
|
|
});
|
|
|
|
|
|
router.delete('/deleteFile/:id/:wid/:fname', function(request, response) {
|
|
|
|
var fpath="/filedata/"+request.params.id+"/"+request.params.wid+"/"+request.params.fname;
|
|
fse.stat(fpath, function(err,stats){
|
|
if (err)
|
|
{
|
|
request.flash('error','Fájl eltávolítás sikertelen');
|
|
response.redirect('/articles/');
|
|
return;
|
|
}
|
|
|
|
fse.unlink(fpath,function(err){
|
|
if (err)
|
|
{
|
|
request.flash('error','Fájl eltávolítás sikertelen');
|
|
response.redirect('/articles/');
|
|
return;
|
|
}
|
|
request.flash('success','Fájl eltávolítás sikeres');
|
|
//response.redirect('/articles/');
|
|
// res.redirect('/articles/'+req.params.id+'/'+req.params.wid);
|
|
response.send('Success');
|
|
});
|
|
});
|
|
console.log('Fájl törölve');
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
module.exports = router;
|