* Fixed reference to parent site in Archive
* Fixed _children.filter in Archive * Added missing permission checks * Modified global defineConstants() method to return the getter function instead of automatically defining it with given argument * Added HopObject.macro_macro() method to display userland macro code * Removed colorpicker (will be replaced by third-party library) * Removed obsolete global constants and functions * Overhauled and tested global userland macros like story_macro(), image_macro() etc. * Implemented global list_macro() to replace any special listFoobar_macro() methods * Moved global autoLogin() method into User prototype * Overhauled global randomize_macro() * Renamed global evalURL() method to validateUrl() as well as evalEmail() to validateEmail() * Re-added accidentally removed subskins to Members.skin * Fixed some skin names which were changed recently * Remove delete_action() from Membership * Fixed foreign key of images collection in Membership * Removed global username_macro() and replaced it with appropriate membership macros * Moved contents of systemscripts.skin into javascript.skin in Root prototype * Removed main_css_action(), main_js_action() and sitecounter_macro() methods from Root * Added accessname to sites collection in Root * Upgraded jQuery to version 1.2.1 * Replaced call for global history_macro() with corresponding list_macro() call * Renamed "public" collection of Stories prototype to "featured" * Moved a lot of styles from Root's style.skin to the one in Site * Added comments collection to Site * Moved embed.skin as subskin #embed into Site.skin * Fixed some minor issues in Story.js (removed check for creator before setting the story's mode) * Defined cookie names as constants of User which can be overriden via app.properties userCookie and hashCookie * Moved a lot of code into compatibility module
This commit is contained in:
parent
ded7f5fcea
commit
df9017ab77
38 changed files with 1154 additions and 1736 deletions
|
|
@ -22,7 +22,7 @@
|
|||
// $URL$
|
||||
//
|
||||
|
||||
defineConstants(Membership, "getRoles", "Subscriber", "Contributor",
|
||||
Membership.getRoles = defineConstants(Membership, "Subscriber", "Contributor",
|
||||
"Manager", "Owner");
|
||||
|
||||
Membership.prototype.constructor = function(user, role) {
|
||||
|
|
@ -50,21 +50,6 @@ Membership.prototype.getPermission = function(action) {
|
|||
return true;
|
||||
};
|
||||
|
||||
Membership.prototype.update = function(data) {
|
||||
if (!data.role) {
|
||||
throw Error(gettext("Please choose a role for this member."));
|
||||
} else if (this.user === session.user) {
|
||||
throw Error(gettext("Sorry, you are not allowed to edit your own membership."));
|
||||
} else if (data.role !== this.role) {
|
||||
this.role = data.role;
|
||||
this.touch();
|
||||
/* FIXME: sendMail(root.sys_email, this.user.email,
|
||||
getMessage("mail.statusChange", this.site.title),
|
||||
this.renderSkinAsString("mailstatuschange"));*/
|
||||
}
|
||||
return;
|
||||
};
|
||||
|
||||
Membership.prototype.edit_action = function() {
|
||||
if (req.postParams.save) {
|
||||
try {
|
||||
|
|
@ -84,6 +69,29 @@ Membership.prototype.edit_action = function() {
|
|||
return;
|
||||
};
|
||||
|
||||
Membership.prototype.getFormOptions = function(name) {
|
||||
switch (name) {
|
||||
case "role":
|
||||
return Membership.getRoles();
|
||||
}
|
||||
return;
|
||||
};
|
||||
|
||||
Membership.prototype.update = function(data) {
|
||||
if (!data.role) {
|
||||
throw Error(gettext("Please choose a role for this member."));
|
||||
} else if (this.user === session.user) {
|
||||
throw Error(gettext("Sorry, you are not allowed to edit your own membership."));
|
||||
} else if (data.role !== this.role) {
|
||||
this.role = data.role;
|
||||
this.touch();
|
||||
/* FIXME: sendMail(root.sys_email, this.user.email,
|
||||
getMessage("mail.statusChange", this.site.title),
|
||||
this.renderSkinAsString("mailstatuschange"));*/
|
||||
}
|
||||
return;
|
||||
};
|
||||
|
||||
Membership.prototype.contact_action = function() {
|
||||
if (req.postParams.send) {
|
||||
try {
|
||||
|
|
@ -109,28 +117,6 @@ Membership.prototype.contact_action = function() {
|
|||
return;
|
||||
};
|
||||
|
||||
Membership.prototype.delete_action = function() {
|
||||
if (req.postParams.proceed) {
|
||||
try {
|
||||
var url = this._parent.href();
|
||||
Membership.remove(this);
|
||||
res.message = gettext("Successfully deleted the membership.");
|
||||
res.redirect(url);
|
||||
} catch(ex) {
|
||||
res.message = ex;
|
||||
app.log(ex);
|
||||
}
|
||||
}
|
||||
|
||||
res.data.action = this.href(req.action);
|
||||
res.data.title = gettext("Delete membership: {0}", this.name);
|
||||
res.data.body = this.renderSkinAsString("delete", {
|
||||
text: gettext('You are about to delete the membership {0}', this.name)
|
||||
});
|
||||
this.site.renderSkin("page");
|
||||
return;
|
||||
};
|
||||
|
||||
Membership.prototype.getMacroHandler = function(name) {
|
||||
switch (name) {
|
||||
case "creator":
|
||||
|
|
@ -138,18 +124,71 @@ Membership.prototype.getMacroHandler = function(name) {
|
|||
}
|
||||
};
|
||||
|
||||
Membership.prototype.link_filter = function(value, param) {
|
||||
return HopObject.prototype.link_filter.call(this, value,
|
||||
param, this.creator.url);
|
||||
};
|
||||
|
||||
Membership.prototype.email_macro = function(param) {
|
||||
throw Error("Due to privacy reasons the display of e-mail addresses is disabled.")
|
||||
};
|
||||
|
||||
Membership.prototype.getFormOptions = function(name) {
|
||||
switch (name) {
|
||||
case "role":
|
||||
return Membership.getRoles();
|
||||
}
|
||||
Membership.prototype.status_macro = function() {
|
||||
this.role || (res.handlers.members = {});
|
||||
this.renderSkin(session.user ? "Membership#status" : "Membership#login");
|
||||
return;
|
||||
};
|
||||
|
||||
Membership.getByName = function(name) {
|
||||
var site = res.handlers.site;
|
||||
if (site) {
|
||||
return site.members.get(name);
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
Membership.require = function(role) {
|
||||
var roles = [Membership.SUBSCRIBER, Membership.CONTRIBUTOR,
|
||||
Membership.MANAGER, Membership.OWNER];
|
||||
if (role && res.handlers.membership) {
|
||||
return roles.indexOf(res.handlers.membership.role) >= roles.indexOf(role);
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
Membership.remove = function(membership) {
|
||||
/*if (!membership) {
|
||||
throw Error(gettext("Please specify a membership you want to be removed."));
|
||||
} else if (membership.role === Membership.OWNER) {
|
||||
throw Error(gettext("Sorry, an owner of a site cannot be removed."));
|
||||
}*/
|
||||
membership.remove();
|
||||
return;
|
||||
};
|
||||
|
||||
/*
|
||||
MAY_ADD_STORY = 1;
|
||||
MAY_VIEW_ANYSTORY = 2;
|
||||
MAY_EDIT_ANYSTORY = 4;
|
||||
MAY_DELETE_ANYSTORY = 8;
|
||||
MAY_ADD_COMMENT = 16;
|
||||
MAY_EDIT_ANYCOMMENT = 32;
|
||||
MAY_DELETE_ANYCOMMENT = 64;
|
||||
MAY_ADD_IMAGE = 128;
|
||||
MAY_EDIT_ANYIMAGE = 256;
|
||||
MAY_DELETE_ANYIMAGE = 512;
|
||||
MAY_ADD_FILE = 1024;
|
||||
MAY_EDIT_ANYFILE = 2048;
|
||||
MAY_DELETE_ANYFILE= 4096;
|
||||
MAY_VIEW_STATS = 8192;
|
||||
MAY_EDIT_PREFS = 16384;
|
||||
MAY_EDIT_LAYOUTS = 32768;
|
||||
MAY_EDIT_MEMBERS = 65536;
|
||||
|
||||
EDITABLEBY_ADMINS = 0;
|
||||
EDITABLEBY_CONTRIBUTORS = 1;
|
||||
EDITABLEBY_SUBSCRIBERS = 2;
|
||||
|
||||
Membership.getLevel = function(role) {
|
||||
if (!role) {
|
||||
var membership = User.getMembership();
|
||||
|
|
@ -168,45 +207,6 @@ Membership.getLevel = function(role) {
|
|||
}
|
||||
};
|
||||
|
||||
Membership.getByName = function(name) {
|
||||
var site = res.handlers.site;
|
||||
if (site) {
|
||||
return site.members.get(name);
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
Membership.require = function(role) {
|
||||
var roles = [Membership.SUBSCRIBER, Membership.CONTRIBUTOR,
|
||||
Membership.MANAGER, Membership.OWNER];
|
||||
if (role && res.handlers.membership) {
|
||||
return roles.indexOf(res.handlers.membership.role) >= roles.indexOf(role);
|
||||
}
|
||||
return false;
|
||||
/* if (role && res.handlers.membership) {
|
||||
return Membership.getLevel(res.handlers.membership.role) -
|
||||
Membership.getLevel(role) >= 0;
|
||||
}
|
||||
return false; */
|
||||
};
|
||||
|
||||
Membership.remove = function(membership) {
|
||||
/*if (!membership) {
|
||||
throw Error(gettext("Please specify a membership you want to be removed."));
|
||||
} else if (membership.role === Membership.OWNER) {
|
||||
throw Error(gettext("Sorry, an owner of a site cannot be removed."));
|
||||
}*/
|
||||
membership.remove();
|
||||
return;
|
||||
};
|
||||
|
||||
Membership.prototype.status_macro = function() {
|
||||
this.role || (res.handlers.members = {});
|
||||
this.renderSkin(session.user ? "Membership#status" : "Membership#login");
|
||||
return;
|
||||
};
|
||||
|
||||
/*
|
||||
Membership.getRoles = function() {
|
||||
return [{
|
||||
display: Membership.SUBSCRIBER,
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@
|
|||
## See the License for the specific language governing permissions and
|
||||
## limitations under the License.
|
||||
##
|
||||
## $Revision$
|
||||
## $LastChangedBy$
|
||||
## $LastChangedDate$
|
||||
## $Revision:3355 $
|
||||
## $LastChangedBy:piefke3000 $
|
||||
## $LastChangedDate:2007-10-11 15:38:29 +0200 (Thu, 11 Oct 2007) $
|
||||
## $URL$
|
||||
##
|
||||
|
||||
|
|
@ -61,7 +61,7 @@ polls.order = created desc
|
|||
|
||||
images = collection(Image)
|
||||
images.local = site_id
|
||||
images.foreign = site_id
|
||||
images.foreign = parent_id
|
||||
images.local.1 = creator_id
|
||||
images.foreign.1 = creator_id
|
||||
images.filter = prototype = 'Image' and parent_type = 'Site'
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
You're not logged in <% site.members.link login prefix="... " %>
|
||||
|
||||
<% #status %>
|
||||
Logged in as <% username as="link" %><br />
|
||||
Logged in as <% membership.name | membership.link %><br />
|
||||
<% membership.role prefix="(" suffix=")<br />" %>
|
||||
<% members.link edit "edit your profile" prefix="... " suffix="<br />" %>
|
||||
<% site.link subscribe text="subscribe to this site" prefix="... " suffix="<br />" %>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue