/* api */ router.get('/api/rejudge?', function(req, res, next) { var uid = req.session.uid; dblink.helper.isAdmin(uid, function(isadmin) { if (!isadmin) return res.redirect(loginURL); dblink.api.rejudge(req.query, function(result) { if (req.headers.referer) res.redirect(req.headers.referer); else res.redirect(utils.url_for('/')); }); }); });
router.get('/set_status/:id_ENTITY_URL_NAME/:status/:id_new_status', block_access.actionAccessMiddleware("ENTITY_URL_NAME", "read"), block_access.statusGroupAccess, function(req, res) { status_helper.setStatus('ENTITY_NAME', req.params.id_ENTITY_URL_NAME, req.params.status, req.params.id_new_status, req.session.passport.user.id, req.query.comment).then(()=> { res.redirect(req.headers.referer); }).catch(err => { req.session.toastr.push({level: 'error', message: 'component.status.error.action_error'}); res.redirect(req.headers.referer); }); });
router.get('/set_status/:id_document_template/:status/:id_new_status', block_access.actionAccessMiddleware("document_template", "update"), function (req, res) { status_helper.setStatus('e_document_template', req.params.id_document_template, req.params.status, req.params.id_new_status, req.session.passport.user.id, req.query.comment).then(() => { res.redirect('/document_template/show?id=' + req.params.id_document_template); }).catch((err) => { req.session.toastr.push({level: 'error', message: 'component.status.error.action_error'}); res.redirect(req.headers.referer); }); });
router.get("/changeSetting", function(req, res, next) { if (req.query.name) { req.session[req.query.name] = req.query.value; res.cookie('user-setting-' + req.query.name, req.query.value); } res.redirect(req.headers.referer); });
// change language fake middleware app.get("/:lang", function(req, res) { var currentLanguage = req.params.lang; var validLang = { "en": true, "de": true, "fr": true }; if (!validLang.hasOwnProperty(currentLanguage)) currentLanguage = "en"; var currentNetwork = PacNEMBlockchain.getNetwork(); req.session.locale = currentLanguage; if (req.headers.referer) return res.redirect(req.headers.referer); return res.redirect("/"); });
var redirect = notification.f_url != "#" ? notification.f_url : req.headers.referer;
router.get('/download_default', function(req, res) { var p = new Promise(function(resolve, reject) { var completeFilePath = __dirname + "/../structure/template/public/themes/my-custom-theme.zip"; res.download(completeFilePath, "my-custom-theme-"+moment().format("HHmmss")+".zip", function(err) { if (err) reject(err); else resolve(); }); }); p.then(function() { console.log("Custom theme zip was successfully downloaded !"); res.end(); }).catch(function(err) { console.error(err); req.session.toastr.push({ level: 'error', message: "File not found" }); res.writeHead(303, { Location: req.headers.referer }); res.end(); }); });
message: "error.500.file" }); res.redirect(req.headers.referer);
app.get("/login", (req, res, next) => { if (req.session.backURL) { req.session.backURL = req.session.backURL; } else if (req.headers.referer) { const parsed = url.parse(req.headers.referer); if (parsed.hostname === app.locals.domain) { req.session.backURL = parsed.path; } } else { req.session.backURL = "/"; } next(); }, passport.authenticate("discord"));
router.get('/set_status/:id_inline_help/:status/:id_new_status', block_access.actionAccessMiddleware("inline_help", "read"), block_access.statusGroupAccess, function(req, res) { status_helper.setStatus('e_inline_help', req.params.id_inline_help, req.params.status, req.params.id_new_status, req.session.passport.user.id, req.query.comment).then(()=> { res.redirect(req.headers.referer); }).catch((err)=> { entity_helper.error(err, req, res, '/inline_help/show?id=' + req.params.id_inline_help, "e_inline_help"); }); });
router.get('/set_status/:id_user/:status/:id_new_status', block_access.actionAccessMiddleware("user", "update"), function(req, res) { status_helper.setStatus('e_user', req.params.id_user, req.params.status, req.params.id_new_status, req.session.passport.user.id, req.query.comment).then(()=> { res.redirect(req.headers.referer); }).catch((err)=> { req.session.toastr.push({level: 'error', message: 'component.status.error.action_error'}); res.redirect(req.headers.referer); }); });
router.get('/set_status/:id_media/:status/:id_new_status', block_access.actionAccessMiddleware("media", "update"), function(req, res) { status_helper.setStatus('e_media', req.params.id_media, req.params.status, req.params.id_new_status, req.session.passport.user.id, req.query.comment).then(()=> { res.redirect('/media/show?id=' + req.params.id_media); }).catch((err)=> { req.session.toastr.push({level: 'error', message: 'component.status.error.action_error'}); res.redirect(req.headers.referer); }); });
router.get('/set_status/:id_action/:status/:id_new_status', block_access.actionAccessMiddleware("action", "update"), function(req, res) { status_helper.setStatus('e_action', req.params.id_action, req.params.status, req.params.id_new_status, req.session.passport.user.id, req.query.comment).then(()=> { res.redirect('/action/show?id=' + req.params.id_action) }).catch((err)=> { req.session.toastr.push({level: 'error', message: 'component.status.error.action_error'}); res.redirect(req.headers.referer); }); });
/** PAGE ACTIONS RELATED TO SESSIONS **/ // The login page saves the page the person was on in the session, // then throws the user to the Discord OAuth2 login page. app.get("/login", (req, res, next) => { if (req.session.backURL) { req.session.backURL = req.session.backURL; // eslint-disable-line no-self-assign } else if (req.headers.referer) { const parsed = url.parse(req.headers.referer); if (parsed.hostname === app.locals.domain) { req.session.backURL = parsed.path; } } else { req.session.backURL = "/"; } next(); }, passport.authenticate("discord"));