You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.1 KiB
JavaScript
83 lines
2.1 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
const Models = require('../../models');
|
|
const fs = require('fs-extra');
|
|
const _ = require('lodash');
|
|
var settings = [];
|
|
//--------------------------
|
|
// SETTINGS
|
|
//--------------------------
|
|
router.get('/', function(req, res) {
|
|
fs.readJson('config/site-settings.json')
|
|
.then(obj => {
|
|
settings = [];
|
|
settings = obj;
|
|
})
|
|
.catch(() => {
|
|
//console.error(err)
|
|
});
|
|
if (req.session.user) {
|
|
Models.User.findById(req.session.user.id).then(() => {
|
|
Models.FreshPost.findAll({
|
|
order: [['id', 'DESC']]
|
|
})
|
|
.then(posts => {
|
|
let pages = [];
|
|
if (settings.menu.length == 0) {
|
|
for (let index = 0; index < posts.length; index++) {
|
|
let item = posts[index].post;
|
|
if (item.page == true || item.page == 'true')
|
|
pages.push({
|
|
id: posts[index].id,
|
|
uuid: posts[index].post.uuid,
|
|
title: posts[index].post.title,
|
|
slug: posts[index].post.slug
|
|
});
|
|
}
|
|
} else {
|
|
let newpages = [];
|
|
pages = settings.menu;
|
|
for (let index = 0; index < posts.length; index++) {
|
|
let item = posts[index].post;
|
|
if (item.page == true || item.page == 'true')
|
|
newpages.push({
|
|
id: posts[index].id,
|
|
uuid: posts[index].post.uuid,
|
|
title: posts[index].post.title,
|
|
slug: posts[index].post.slug
|
|
});
|
|
}
|
|
for (let i = 0; i < newpages.length; i++) {
|
|
if (
|
|
_.findIndex(pages, function(o) {
|
|
return o.id == newpages[i].id;
|
|
}) != -1
|
|
) {
|
|
//console.log("FOUND")
|
|
} else {
|
|
pages.push({
|
|
id: newpages[i].id,
|
|
uuid: newpages[i].uuid,
|
|
title: newpages[i].title,
|
|
slug: newpages[i].slug
|
|
});
|
|
}
|
|
}
|
|
}
|
|
res.render('dash/navigation', {
|
|
pages: pages,
|
|
welcome: 'Edit Navigation',
|
|
user_status: true,
|
|
title: 'Dashboard | Navigation'
|
|
});
|
|
})
|
|
.catch(() => {
|
|
//console.log('ERROR', err);
|
|
});
|
|
});
|
|
} else {
|
|
res.redirect('/@/dashboard');
|
|
}
|
|
});
|
|
module.exports = router;
|