const express = require('express'); const router = express.Router(); let RfidDevice = require('../models/devices'); var utils = require('../js/utils'); const Vehicle = require('../models/vehicle'); // RFID Device lista router.get('/list', utils.ensureAuthenticated, function(req, res) { var admin=false; /* RfidDevice.find({} ,function(err, rfidDevices){ if (err) { console.log(err); } else { res.render('device_rfid_list', { title: 'RFID Eszközök', rfidDevices: rfidDevices, // articles: workSign }); } });*/ RfidDevice.aggregate([ //{ $match: { bdTable: 'zzzz' } }, { $lookup: { from: 'vehicles', let: { vehicle_id: '$vehicle_id' }, pipeline: [ { $match: { $expr: { $eq: [ "$_id", "$$vehicle_id" ] } } }, { $project: { name: 1, vehicle_id: 1, } } ], as: 'vehicle' } }, ] ,function(err, rfidDevices){ if (err) { console.log(err); } else { res.render('device_rfid_list', { title: 'RFID Eszközök', rfidDevices: rfidDevices, // articles: workSign }); } }); }); // Járművek listázása // RFID Device lista router.get('/view', utils.ensureAuthenticated, function(req, res) { var admin=false; RfidDevice.find({} ,function(err, rfidDevices){ if (err) { console.log(err); } else { res.render('devicesview', { title: 'Eszközök', rfidDevices: rfidDevices, // articles: workSign }); } }); }); // Edit RFID Device // Add Devices ToRoute router.get('/edit/:id', utils.ensureAuthenticated,function (req,res) { RfidDevice.findById(req.params.id,function(err,rfidDev){ if (err) { console.log(err); } else { Vehicle.find({},function(err,vehicle){ if(err) { console.log(err); }else { res.render('device_rfid_edit', { title: 'RFID Eszköz Módosítás', user:req.user, rfidDev:rfidDev, vehicles:vehicle }) } }); } }) }); // Add Devices ToRoute router.post('/edit/:id', utils.ensureAuthenticated,function (req,res) { let rfidDev={}; req.checkBody('Name','Eszköz mgnevezése kötelező!').notEmpty(); req.checkBody('Assignment','Eszköz hozzárendelés nincs megadva!').notEmpty(); req.checkBody('Imei','Eszköz IMEI szám kötelező!').notEmpty(); req.checkBody('Ccid','Eszköz CCID megadása kötelező!').notEmpty(); // Get errors let errors = req.validationErrors(); if(errors) { res.render('device_rfid_edit', { title: 'RFID Eszköz Módosítása', user:req.user, rfidDev: req.params.id, errors:errors }) } else { rfidDev.name=req.body.Name; rfidDev.assignment = req.body.Assignment; rfidDev.imei = req.body.Imei rfidDev.ccid = req.body.Ccid; rfidDev.state = req.body.selectedMode; if (req.body.selectedVehicle==='Szabad eszköz') { rfidDev.vehicle_id=null; } else { rfidDev.vehicle_id=req.body.selectedVehicle; } let query = {_id:req.params.id} RfidDevice.updateOne(query, rfidDev, function(err){ if(err){ console.log(err); return; }else{ // logging.logAppend("RFID Eszköz Módosítva.",req.user,rfidDev.id,RfidDevice.db.name,'RFIDEDIT'); req.flash('success','RFID Eszköz adatok sikeresen szerkesztve'); res.redirect('/devicesrfid/list'); } }); } }); // Add RFID Device router.get('/new', utils.ensureAuthenticated,function (req,res) { res.render('device_rfid_new', { title: 'RFID Eszköz Felvétele', user:req.user }); }); // Add Submit POST Route router.post('/new', utils.ensureAuthenticated,function(req,res){ req.checkBody('Name','Eszköz mgnevezése kötelező!').notEmpty(); req.checkBody('Assignment','Eszköz hozzárendelés nincs megadva!').notEmpty(); req.checkBody('Imei','Eszköz IMEI szám kötelező!').notEmpty(); req.checkBody('Ccid','Eszköz CCID megadása kötelező!').notEmpty(); // Get errors let errors = req.validationErrors(); if(errors) { res.render('device_rfid_new', { title: 'RFID Eszköz Felvétele', user:req.user, errors:errors }) } else { let rfidDev=new RfidDevice(); rfidDev.name=req.body.Name; rfidDev.assignment = req.body.Assignment; rfidDev.imei = req.body.Imei rfidDev.ccid = req.body.Ccid; rfidDev.state = req.body.selectedMode; rfidDev.save(function(err){ if(err){ console.log(err); return; }else{ req.flash('success','RFID eszköz sikeresen hozzáadva'); console.log('RFID eszköz sikeresen hozzáadva'); res.redirect('/devicesrfid/list'); } }); } }); module.exports = router;