Added settings page
This commit is contained in:
34
controllers/settings/templates/settings.pug
Normal file
34
controllers/settings/templates/settings.pug
Normal file
@@ -0,0 +1,34 @@
|
||||
extends ../../../templates/base.pug
|
||||
|
||||
block content
|
||||
form(method="POST", action=getUrl("settingsTarget"))
|
||||
.form-group.row
|
||||
.col-2
|
||||
label.col-2.col-form-label(for="username") Username
|
||||
.col-6
|
||||
input.form-control(type="text", value=session.user._username.value, disabled, name="username", id="username")
|
||||
.col-2
|
||||
.form-group.row
|
||||
.col-2
|
||||
label.col-2.col-form-label(for="email") Email
|
||||
.col-6
|
||||
input.form-control(type="email", value=session.user._email.value, disabled, name="email", id="email")
|
||||
.col-2
|
||||
.form-group.row
|
||||
.col-2
|
||||
label.col-2.col-form-label(for="resources") Resources
|
||||
.col-6
|
||||
input.form-control(type="number", value=session.user._resources.value, name="resources", id="resources")
|
||||
.col-2
|
||||
.form-group.row
|
||||
.col-2
|
||||
label.col-2.col-form-label(for="projectId") Project id
|
||||
.col-6
|
||||
input.form-control(type="number", value=session.user._projectId.value, name="projectId", id="projectId")
|
||||
.col-2
|
||||
.form-group.row
|
||||
.col-4
|
||||
.col-4
|
||||
input.btn.btn-primary.form-control(type="submit", value="Submit")
|
||||
.col-4
|
||||
|
||||
6
controllers/settings/urls.js
Normal file
6
controllers/settings/urls.js
Normal file
@@ -0,0 +1,6 @@
|
||||
const url = require('create-url').url;
|
||||
|
||||
module.exports = [
|
||||
url('/settings', 'settings', 'settings'),
|
||||
url('/settingsTarget', 'settingsTarget', 'settingsTarget', 'POST'),
|
||||
]
|
||||
29
controllers/settings/views.js
Normal file
29
controllers/settings/views.js
Normal file
@@ -0,0 +1,29 @@
|
||||
const getUrl = require('create-url').getUrl;
|
||||
const User = require('auth/models');
|
||||
|
||||
module.exports.settings = function(req, res, render) {
|
||||
render('settings.pug');
|
||||
}
|
||||
|
||||
module.exports.settingsTarget = function(req, res, render) {
|
||||
let projectId = parseInt(req.body.projectId, 10);
|
||||
let resources = parseInt(req.body.resources, 10);
|
||||
|
||||
if (isNaN(projectId) || isNaN(resources)) {
|
||||
return res.redirect(getUrl("settings"));
|
||||
}
|
||||
|
||||
User.getById(req.session.user._id.value, (err, user) => {
|
||||
|
||||
user.projectId = projectId;
|
||||
user.resources = resources;
|
||||
|
||||
user.save(() => {
|
||||
req.session.user = user;
|
||||
req.session.save();
|
||||
res.redirect(getUrl('index'));
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user