61 lines
1.3 KiB
JavaScript
61 lines
1.3 KiB
JavaScript
// import moment from 'moment';
|
|
import config from '../config';
|
|
import {getBaseUrl} from '../helpers';
|
|
|
|
/**
|
|
* Classe permettant de gérer les page du back office
|
|
*/
|
|
class Pages {
|
|
/**
|
|
* @param {Object} req
|
|
* @param {String} viewname
|
|
*/
|
|
constructor(req, viewname) {
|
|
this.req = req;
|
|
this.pageContent = {
|
|
page: {
|
|
title: null,
|
|
user: req.user || {},
|
|
header: 'partials/header',
|
|
},
|
|
viewname: `pages/${viewname}`,
|
|
baseUrl: getBaseUrl(req),
|
|
currentPage: req.originalUrl.split('?')[0],
|
|
// moment,
|
|
};
|
|
|
|
this.user = null;
|
|
this.pagename = viewname;
|
|
|
|
if (req.session && req.session.passport && req.session.passport.user) {
|
|
this.user = req.session.passport.user;
|
|
}
|
|
|
|
if (!req.query.page) {
|
|
req.query.page = 1;
|
|
}
|
|
if (!req.query.limit) {
|
|
req.query.limit = config.pagination;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Rendu de la page
|
|
* @return {Object}
|
|
*/
|
|
render() {
|
|
this.pageContent.session = this.req.session;
|
|
this.pageContent.query = this.req.query;
|
|
this.pageContent.params = this.req.params;
|
|
this.pageContent.user = this.user;
|
|
this.pageContent.pagename = this.pagename;
|
|
this.pageContent.messages = this.req.session.messages;
|
|
|
|
this.req.session.messages = [];
|
|
|
|
return this.pageContent;
|
|
}
|
|
}
|
|
|
|
module.exports = Pages;
|