klnodekb/routes/devices_rfid.js

214 lines
5.0 KiB
JavaScript

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;
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;