53 lines
1.4 KiB
Text
53 lines
1.4 KiB
Text
var deny = this.isDenied(user);
|
|
if (deny) {
|
|
res.message = deny;
|
|
res.redirect(user.cache.referrer ? path.weblog.members.href("login") : this.href());
|
|
}
|
|
|
|
// storing referrer in user-cache in case user clicks cancel later
|
|
if (!user.cache.referrer && req.data.http_referer)
|
|
user.cache.referrer = req.data.http_referer;
|
|
|
|
if (req.data.submit == "cancel" || req.data.cancel) {
|
|
var url = user.cache.referrer ? user.cache.referrer : this.href();
|
|
user.cache.referrer = null;
|
|
res.redirect(url);
|
|
} else if (req.data.submit == "save" || req.data.save) {
|
|
var result = this.evalNewPoll(req.data, user);
|
|
res.message = result.message;
|
|
user.cache.referrer = null;
|
|
if (!result.error)
|
|
res.redirect(result.url);
|
|
}
|
|
|
|
var len = 0
|
|
if (!req.data.choice_array) {
|
|
var max = 2;
|
|
req.data.choice_array = new Array(max);
|
|
if (req.data.choice)
|
|
req.data.choice_array[0] = req.data.choice;
|
|
}
|
|
else {
|
|
var len = req.data.choice_array.length;
|
|
var max = len;
|
|
}
|
|
|
|
if (req.data.submit == "add choice")
|
|
max++;
|
|
|
|
var newPoll = new poll();
|
|
var c = new choice();
|
|
res.data.choices = "";
|
|
for (var i=0; i<max; i++) {
|
|
var param = new Object();
|
|
param.value = (i < len) ? req.data.choice_array[i] : "";
|
|
param.count = i+1;
|
|
res.data.choices += c.renderSkinAsString("edit", param);
|
|
}
|
|
|
|
res.skin = "weblog.page";
|
|
|
|
res.data.command = "Create";
|
|
res.data.title = path.weblog.title;
|
|
|
|
res.data.body = newPoll.renderSkinAsString("edit");
|