* Fixed tiny bug causing confusing display of subscriptions and privileges in Members prototype

* Modified site permissions to allow unsubscribing one site from within another. (It’s complicated, I know.)
This commit is contained in:
Tobi Schäfer 2009-10-31 20:25:08 +00:00
parent 074fc8f024
commit fd653c4198
2 changed files with 16 additions and 7 deletions

View file

@ -260,18 +260,28 @@ Members.prototype.updated_action = function() {
}
Members.prototype.privileges_action = function() {
var site = res.handlers.site;
res.data.title = gettext("Memberships of user {0}", session.user.name);
res.data.list = renderList(session.user.memberships,
"$Membership#site");
res.data.list = renderList(session.user.memberships, function(item) {
res.handlers.site = item.site;
item.renderSkin("$Membership#site");
return;
});
res.handlers.site = site;
res.data.body = session.user.renderSkinAsString("$User#subscriptions");
res.handlers.site.renderSkin("Site#page");
return;
}
Members.prototype.subscriptions_action = function() {
var site = res.handlers.site;
res.data.title = gettext("Subscriptions of user {0}", session.user.name);
res.data.list = renderList(session.user.subscriptions,
"$Membership#site");
res.data.list = renderList(session.user.subscriptions, function(item) {
res.handlers.site = item.site;
item.renderSkin("$Membership#site");
return;
});
res.handlers.site = site;
res.data.body = session.user.renderSkinAsString("$User#subscriptions");
res.handlers.site.renderSkin("Site#page");
return;

View file

@ -140,10 +140,9 @@ Site.prototype.getPermission = function(action) {
!Membership.require(Membership.SUBSCRIBER);
case "unsubscribe":
if (Membership.require(Membership.SUBSCRIBER)) {
if (User.require(User.REGULAR)) {
var membership = Membership.getByName(session.user.name);
return User.require(User.REGULAR) && membership &&
!membership.require(Membership.OWNER);
return membership && !membership.require(Membership.OWNER);
}
}
return false;