Author: gmazza
Date: Mon Aug 11 19:33:22 2014
New Revision: 1617352
URL: http://svn.apache.org/r1617352
Log:
ModifyUser and CreateUser consolidated into UserEdit, restoring page title on
JSPs that were missing them.
Added:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/UserEdit.java
- copied, changed from r1617271,
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/ModifyUser.java
Removed:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CreateUser.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/ModifyUser.java
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/UserManager.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/GlobalPermission.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/PingTargetEdit.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/BookmarkEdit.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryEdit.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryRemove.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/FolderEdit.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIAction.java
roller/trunk/app/src/main/resources/ApplicationResources.properties
roller/trunk/app/src/main/resources/ApplicationResources_de.properties
roller/trunk/app/src/main/resources/ApplicationResources_es.properties
roller/trunk/app/src/main/resources/ApplicationResources_fr.properties
roller/trunk/app/src/main/resources/ApplicationResources_ja_JP.properties
roller/trunk/app/src/main/resources/ApplicationResources_ko.properties
roller/trunk/app/src/main/resources/ApplicationResources_ru.properties
roller/trunk/app/src/main/resources/ApplicationResources_zh_CN.properties
roller/trunk/app/src/main/resources/struts.xml
roller/trunk/app/src/main/webapp/WEB-INF/jsps/admin/UserAdmin.jsp
roller/trunk/app/src/main/webapp/WEB-INF/jsps/admin/UserEdit.jsp
roller/trunk/app/src/main/webapp/WEB-INF/jsps/editor/Categories.jsp
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/UserManager.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/UserManager.java?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/UserManager.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/UserManager.java
Mon Aug 11 19:33:22 2014
@@ -83,8 +83,16 @@ public interface UserManager {
//------------------------------------------------------------ user queries
-
-
+
+ /**
+ * Retrieve a user by its internal identifier id.
+ *
+ * @param id the id of the user to retrieve.
+ * @return the user object with specified id or null if not found
+ * @throws WebloggerException
+ */
+ User getUser(String id) throws WebloggerException;
+
/**
* Lookup a user by UserName.
*
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.java?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.java
Mon Aug 11 19:33:22 2014
@@ -116,12 +116,11 @@ public class JPAUserManagerImpl implemen
}
}
-
+ @Override
public User getUser(String id) throws WebloggerException {
return (User)this.strategy.load(User.class, id);
}
-
//------------------------------------------------------------ user queries
public User getUserByUserName(String userName) throws WebloggerException {
@@ -340,28 +339,28 @@ public class JPAUserManagerImpl implemen
//-------------------------------------------------------- permissions CRUD
public boolean checkPermission(RollerPermission perm, User user) throws
WebloggerException {
- RollerPermission existingPerm = null;
// if permission a weblog permission
if (perm instanceof WeblogPermission) {
// if user has specified permission in weblog return true
WeblogPermission permToCheck = (WeblogPermission)perm;
try {
- existingPerm = getWeblogPermission(permToCheck.getWeblog(),
user);
- } catch (WebloggerException ignored) {}
+ RollerPermission existingPerm =
getWeblogPermission(permToCheck.getWeblog(), user);
+ if (existingPerm != null && existingPerm.implies(perm)) {
+ return true;
+ }
+ } catch (WebloggerException ignored) {
}
- if (existingPerm != null && existingPerm.implies(perm)) {
- return true;
}
-
- // user has no existing perm in a weblog, so try his global perms
+
+ // if Blog Server admin would still have weblog permission above
GlobalPermission globalPerm = new GlobalPermission(user);
if (globalPerm.implies(perm)) {
return true;
}
-
+
if (log.isDebugEnabled()) {
- log.debug("PERM CHECK FAILED: user "+user.getUserName()+" does not
have " + perm.toString());
+ log.debug("PERM CHECK FAILED: user " + user.getUserName() + " does
not have " + perm.toString());
}
return false;
}
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/GlobalPermission.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/GlobalPermission.java?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/GlobalPermission.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/GlobalPermission.java
Mon Aug 11 19:33:22 2014
@@ -93,6 +93,10 @@ public class GlobalPermission extends Ro
}
public boolean implies(Permission perm) {
+ if (getActionsAsList().isEmpty()) {
+ // new, unsaved user.
+ return false;
+ }
if (perm instanceof WeblogPermission) {
if (hasAction(ADMIN)) {
// admin implies all other permissions
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/PingTargetEdit.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/PingTargetEdit.java?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/PingTargetEdit.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/PingTargetEdit.java
Mon Aug 11 19:33:22 2014
@@ -42,7 +42,11 @@ public class PingTargetEdit extends UIAc
public PingTargetEdit() {
this.desiredMenu = "admin";
- this.pageTitle = "pingTarget.pingTarget";
+ }
+
+ @Override
+ public void setPageTitle(String pageTitle) {
+ this.pageTitle = pageTitle;
}
// no weblog required
Copied:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/UserEdit.java
(from r1617271,
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/ModifyUser.java)
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/UserEdit.java?p2=roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/UserEdit.java&p1=roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/ModifyUser.java&r1=1617271&r2=1617352&rev=1617352&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/ModifyUser.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/UserEdit.java
Mon Aug 11 19:33:22 2014
@@ -21,6 +21,10 @@ package org.apache.roller.weblogger.ui.s
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.Locale;
+import java.util.TimeZone;
+
+import org.apache.commons.lang3.CharSetUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -32,38 +36,34 @@ import org.apache.roller.weblogger.confi
import org.apache.roller.weblogger.pojos.GlobalPermission;
import org.apache.roller.weblogger.pojos.User;
import org.apache.roller.weblogger.pojos.WeblogPermission;
-import org.apache.roller.weblogger.ui.core.RollerContext;
+import org.apache.roller.weblogger.ui.struts2.core.Register;
import org.apache.roller.weblogger.ui.struts2.util.UIAction;
/**
* Action that allows an admin to modify a users profile.
*/
-public class ModifyUser extends UIAction {
+public class UserEdit extends UIAction {
- private static Log log = LogFactory.getLog(ModifyUser.class);
+ private static Log log = LogFactory.getLog(UserEdit.class);
- // user we are modifying
- private User user = new User();
-
// a bean to store our form data
private CreateUserBean bean = new CreateUserBean();
-
- private String userName = null;
+ // user we are creating or modifying
+ private User user = null;
+
private AuthMethod authMethod = WebloggerConfig.getAuthMethod();
- public String getAuthMethod() {
- return authMethod.name();
+ public UserEdit() {
+ this.desiredMenu = "admin";
}
- public ModifyUser() {
- this.actionName = "modifyUser";
- this.desiredMenu = "admin";
- this.pageTitle = "userAdmin.title.editUser";
+ @Override
+ public void setPageTitle(String pageTitle) {
+ this.pageTitle = pageTitle;
}
-
-
+
// admin role required
public List<String> requiredGlobalPermissionActions() {
return Collections.singletonList(GlobalPermission.ADMIN);
@@ -73,128 +73,147 @@ public class ModifyUser extends UIAction
public boolean isWeblogRequired() {
return false;
}
-
-
+
// prepare for action by loading user object we are modifying
public void myPrepare() {
-
- // load the user object we are modifying
- if (getUserName() != null) {
- try {
- UserManager mgr =
WebloggerFactory.getWeblogger().getUserManager();
-
- // use enabled = 'null' to get both enabled and disabled users
- setUser(mgr.getUserByUserName(getUserName(), null));
-
- } catch(Exception e) {
- log.error("Error looking up user - "+getUserName(), e);
- }
- } else if (getBean().getId() != null) {
+ if (isAdd()) {
+ // create new User
+ user = new User();
+ } else {
try {
+ // load the user object we are modifying
UserManager mgr =
WebloggerFactory.getWeblogger().getUserManager();
- setUser(mgr.getUserByUserName(getBean().getUserName(), null));
+ if (bean.getId() != null) {
+ // action came from CreateUser or return from ModifyUser
+ user = mgr.getUser(getBean().getId());
+ } else if (bean.getUserName() != null) {
+ // action came from UserAdmin screen.
+ user = mgr.getUserByUserName(getBean().getUserName(),
null);
+ }
} catch (Exception e) {
- log.error("Error looking up user - " + getBean().getId(), e);
+ log.error("Error looking up user (id/username) :" +
bean.getId() + "/" + bean.getUserName(), e);
}
}
}
-
-
+
/**
* Show admin user edit page.
*/
public String execute() {
-
- if (getUser() != null && getUser().getUserName() != null) {
- // populate form data from user profile data
- getBean().copyFrom(getUser());
+ if (isAdd()) {
+ // initial user create
+ getBean().setLocale(Locale.getDefault().toString());
+ getBean().setTimeZone(TimeZone.getDefault().getID());
} else {
- addError("userAdmin.error.userNotFound");
- return ERROR;
+ // populate form data from user profile data
+ getBean().copyFrom(user);
}
-
return INPUT;
}
-
-
+
+ /**
+ * Post user created message after first save.
+ */
+ public String firstSave() {
+ addMessage("createUser.add.success", getBean().getUserName());
+ return execute();
+ }
+
/**
* Save modified user profile.
*/
public String save() {
-
- // custom validation
myValidate();
if (!hasActionErrors()) {
-
- getBean().copyTo(getUser());
-
+ getBean().copyTo(user);
+
// reset password if set
if (!StringUtils.isEmpty(getBean().getPassword())) {
try {
- getUser().resetPassword(getBean().getPassword());
+ user.resetPassword(getBean().getPassword());
} catch (WebloggerException e) {
addMessage("yourProfile.passwordResetError");
}
}
-
+
try {
- boolean hasAdmin = false;
UserManager mgr =
WebloggerFactory.getWeblogger().getUserManager();
- GlobalPermission adminPerm =
+ if (isAdd()) {
+ // fields not copied over from above copyTo():
+ user.setUserName(getBean().getUserName());
+ user.setDateCreated(new java.util.Date());
+ // save new user
+ mgr.addUser(user);
+ } else {
+ mgr.saveUser(user);
+ }
+
+ // update Admin role as appropriate
+ boolean hasAdmin = false;
+ GlobalPermission adminPerm =
new
GlobalPermission(Collections.singletonList(GlobalPermission.ADMIN));
- if (mgr.checkPermission(adminPerm, getUser())) {
+ if (mgr.checkPermission(adminPerm, user)) {
hasAdmin = true;
}
-
// grant/revoke admin role if needed
if (hasAdmin && !getBean().isAdministrator()) {
-
if (!isUserEditingSelf()) {
// revoke role
- mgr.revokeRole("admin", getUser());
+ mgr.revokeRole("admin", user);
} else {
addError("userAdmin.cantChangeOwnRole");
}
-
} else if(!hasAdmin && getBean().isAdministrator()) {
-
- if (!isUserEditingSelf()) {
- // grant role
- mgr.grantRole("admin", getUser());
- } else {
- addError("userAdmin.cantChangeOwnRole");
- }
-
- }
-
- if (!AuthMethod.CMA.equals(WebloggerConfig.getAuthMethod())) {
-
RollerContext.flushAuthenticationUserCache(getUser().getUserName());
+ mgr.grantRole("admin", user);
}
-
- // save the updated profile
- mgr.saveUser(getUser());
WebloggerFactory.getWeblogger().flush();
-
- addMessage("userAdmin.userSaved");
-
- return INPUT;
-
+ if (isAdd()) {
+ // now that user is saved we have an id value
+ // store it back in bean for use in next action
+ bean.setId(user.getId());
+ // route to edit mode, saveFirst() provides the success
message.
+ return SUCCESS;
+ } else {
+ addMessage("userAdmin.userSaved");
+ return INPUT;
+ }
} catch (WebloggerException ex) {
log.error("ERROR in action", ex);
- addError("userAdmin.error.unexpectedError");
+ addError("generic.error.check.logs");
}
-
}
-
return INPUT;
}
+ private boolean isAdd() {
+ return actionName.equals("createUser");
+ }
+
// TODO: replace with struts2 validation
private void myValidate() {
-
- if(getUser().getUserName() == null) {
- addError("userAdmin.error.userNotFound");
+ if (isAdd()) {
+ String allowed =
WebloggerConfig.getProperty("username.allowedChars");
+ if(allowed == null || allowed.trim().length() == 0) {
+ allowed = Register.DEFAULT_ALLOWED_CHARS;
+ }
+ String safe = CharSetUtils.keep(getBean().getUserName(), allowed);
+
+ if (StringUtils.isEmpty(getBean().getUserName())) {
+ addError("error.add.user.missingUserName");
+ } else if (!safe.equals(getBean().getUserName()) ) {
+ addError("error.add.user.badUserName");
+ }
+ if ((authMethod == AuthMethod.ROLLERDB ||
+ (authMethod == AuthMethod.DB_OPENID &&
StringUtils.isEmpty(getBean().getOpenIdUrl())))
+ && StringUtils.isEmpty(getBean().getPassword())) {
+ addError("error.add.user.missingPassword");
+ }
+ }
+ else {
+ if (user.getUserName() == null) {
+ addError("userAdmin.error.userNotFound");
+ }
}
if (StringUtils.isEmpty(getBean().getEmailAddress())) {
addError("error.add.user.missingEmailAddress");
@@ -209,24 +228,8 @@ public class ModifyUser extends UIAction
this.bean = bean;
}
- public User getUser() {
- return user;
- }
-
- public void setUser(User user) {
- this.user = user;
- }
-
- public String getUserName() {
- return userName;
- }
-
- public void setUserName(String userName) {
- this.userName = userName;
- }
-
public boolean isUserEditingSelf() {
- return getUser().equals(getAuthenticatedUser());
+ return user.equals(getAuthenticatedUser());
}
public List<WeblogPermission> getPermissions() {
@@ -238,4 +241,7 @@ public class ModifyUser extends UIAction
return new ArrayList<WeblogPermission>();
}
+ public String getAuthMethod() {
+ return authMethod.name();
+ }
}
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/BookmarkEdit.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/BookmarkEdit.java?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/BookmarkEdit.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/BookmarkEdit.java
Mon Aug 11 19:33:22 2014
@@ -51,6 +51,11 @@ public class BookmarkEdit extends UIActi
this.desiredMenu = "editor";
}
+ @Override
+ public void setPageTitle(String pageTitle) {
+ this.pageTitle = pageTitle;
+ }
+
public void myPrepare() {
if (StringUtils.isEmpty(bean.getId())) {
// Create and initialize new, not-yet-saved WeblogBookmark
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryEdit.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryEdit.java?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryEdit.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryEdit.java
Mon Aug 11 19:33:22 2014
@@ -39,18 +39,23 @@ import org.apache.struts2.interceptor.va
public class CategoryEdit extends UIAction {
private static Log log = LogFactory.getLog(CategoryEdit.class);
-
- // the (new or already existing) category we are editing
- private WeblogCategory category = null;
-
+
// bean for managing form data
private CategoryBean bean = new CategoryBean();
+ // the (new or already existing) category we are editing
+ private WeblogCategory category = null;
+
public CategoryEdit() {
this.desiredMenu = "editor";
}
@Override
+ public void setPageTitle(String pageTitle) {
+ this.pageTitle = pageTitle;
+ }
+
+ @Override
public List<String> requiredWeblogPermissionActions() {
return Collections.singletonList(WeblogPermission.POST);
}
@@ -129,15 +134,7 @@ public class CategoryEdit extends UIActi
addError("categoryForm.error.duplicateName", bean.getName());
}
}
-/*
- public WeblogCategory getCategory() {
- return category;
- }
- public void setCategory(WeblogCategory category) {
- this.category = category;
- }
-*/
public CategoryBean getBean() {
return bean;
}
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryRemove.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryRemove.java?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryRemove.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryRemove.java
Mon Aug 11 19:33:22 2014
@@ -57,7 +57,7 @@ public class CategoryRemove extends UIAc
public CategoryRemove() {
this.actionName = "categoryRemove";
this.desiredMenu = "editor";
- this.pageTitle = "categoriesForm.rootTitle";
+ this.pageTitle = "categoryDeleteOK.title";
}
@Override
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
Mon Aug 11 19:33:22 2014
@@ -80,6 +80,11 @@ public final class EntryEdit extends UIA
}
@Override
+ public void setPageTitle(String pageTitle) {
+ this.pageTitle = pageTitle;
+ }
+
+ @Override
public List<String> requiredWeblogPermissionActions() {
return Collections.singletonList(WeblogPermission.EDIT_DRAFT);
}
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/FolderEdit.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/FolderEdit.java?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/FolderEdit.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/FolderEdit.java
Mon Aug 11 19:33:22 2014
@@ -50,6 +50,11 @@ public class FolderEdit extends UIAction
this.desiredMenu = "editor";
}
+ @Override
+ public void setPageTitle(String pageTitle) {
+ this.pageTitle = pageTitle;
+ }
+
// load folder to edit
public void myPrepare() {
if (StringUtils.isEmpty(bean.getId())) {
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIAction.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIAction.java?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIAction.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIAction.java
Mon Aug 11 19:33:22 2014
@@ -305,11 +305,12 @@ public abstract class UIAction extends A
}
public void setPageTitle(String pageTitle) {
- //this.pageTitle = pageTitle;
- // no-op as mucks up the page titles on chains etc
+ // disabled by default as it causes page titles not
+ // to update on chain actions defined in struts.xml
+ // override in subclasses where you want this to occur.
+ // this.pageTitle = pageTitle;
}
-
-
+
public String getActionName() {
return this.actionName;
}
Modified: roller/trunk/app/src/main/resources/ApplicationResources.properties
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/resources/ApplicationResources.properties?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
--- roller/trunk/app/src/main/resources/ApplicationResources.properties
(original)
+++ roller/trunk/app/src/main/resources/ApplicationResources.properties Mon Aug
11 19:33:22 2014
@@ -136,7 +136,7 @@ categoryForm.image=Image URL
categoryForm.created=Category "{0}" created
categoryForm.changesSaved=Category "{0}" updated
categoryForm.error.duplicateName=Category name "{0}" already in use, please
choose another
-categoryForm.removed=Category "{0}" removed
+categoryForm.removed=Category "{0}" deleted
categoryForm.requiredFields={0} is required.
# errors from validation
@@ -165,7 +165,8 @@ categoriesForm.imageUrl=Image URL
# ---------------------------------------------------------
CategoryDeleteOK.jsp
-categoryDeleteOK.removeCategory=Remove Weblog Category
+categoryDeleteOK.title=Delete Category
+categoryDeleteOK.removeCategory=Delete Weblog Category
categoryDeleteOK.warningCatInUse=WARNING: This category is in use!
categoryDeleteOK.youMustMoveEntries=You must move the weblog entries in the \
category to another category, use the combo-box to select which category \
@@ -1072,7 +1073,8 @@ ping target site.
ping.pingProcessingIsSuspended=Ping processing has been suspended temporarily
by \
a site administrator.
-pingTarget.pingTarget=Ping Target
+pingTarget.addTarget=Add Ping Target
+pingTarget.editTarget=Edit Ping Target
pingTargetEdit.subtitle=Edit ping target
pingTargetAdd.subtitle=Add ping target
@@ -1334,17 +1336,19 @@ yourProfile.description=Change your pass
# ------------------------------------------------------------------- User
admin
-userAdmin.title.searchUser=Find user to edit
+userAdmin.title.searchUser=User Administration
userAdmin.subtitle.searchUser=Select user to administer
userAdmin.prompt.searchUser=Find user by typing first letters of username \
or password. Select user and click edit button to edit the user''s profile \
and the user''s weblogs.
userAdmin.title.editUser=Edit user profile
-userAdmin.subtitle.editUser=Editing profile and permissions for user
<span>{0}</span>
+userAdmin.subtitle.editUser=Editing profile of user <span>{0}</span>
-userAdmin.title.createNewUser=Creating new user
-userAdmin.subtitle.createNewUser=Create new user, all fields are required.
+userAdmin.title.createNewUser=Create new user
+userAdmin.subtitle.createNewUser=Creating user
+userAdmin.addInstructions=All fields are required.
+userAdmin.editInstructions=Fill in password field only if changing user''s
password.
userAdmin.enabled=Enabled
userAdmin.title=User Administration
@@ -1596,7 +1600,7 @@ weblogEntryRemove.entryId=Entry ID
# --------------------------------------------------- Weblog Entry
Export/Import
-weblogEntryQuery.title=Entry
+weblogEntryQuery.title=Blog Entries
weblogEntryQuery.subtitle=Find and edit entries in weblog <span>{0}</span>
weblogEntryQuery.tip=You can select an entry from the list below to edit \
or use the Filter entries control to look for entries in a specific category, \
@@ -1803,8 +1807,7 @@ yourWebsites.todaysHits=Today''s hits
# ---------------------------------------------------------------- Activating
User Account with E-mail
-createUser.add.success=User {0} created. If desired, create another new user
below or \
-select Cancel to return to User Administration
+createUser.add.success=User created
error.activate.user.missingActivationCode=Activation code is missing.
error.activate.user.invalidActivationCode=\
Modified: roller/trunk/app/src/main/resources/ApplicationResources_de.properties
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/resources/ApplicationResources_de.properties?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
--- roller/trunk/app/src/main/resources/ApplicationResources_de.properties
(original)
+++ roller/trunk/app/src/main/resources/ApplicationResources_de.properties Mon
Aug 11 19:33:22 2014
@@ -573,7 +573,6 @@ pingTarget.enabled=AN
pingTarget.malformedUrl=Die URL ist nicht korrekt aufgebaut.
pingTarget.manual=Manuell
pingTarget.nameNotUnique=Der Name dieses Ziels steht in Konflikt mit einem
anderen Namen in der gleichen Zielmenge.
-pingTarget.pingTarget=Ping Ziel
pingTarget.pingUrl=Ping URL
pingTarget.remove=L\u00F6schen
pingTarget.updated=Ping-Ziel "{0}" gespeichert
Modified: roller/trunk/app/src/main/resources/ApplicationResources_es.properties
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/resources/ApplicationResources_es.properties?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
--- roller/trunk/app/src/main/resources/ApplicationResources_es.properties
(original)
+++ roller/trunk/app/src/main/resources/ApplicationResources_es.properties Mon
Aug 11 19:33:22 2014
@@ -322,7 +322,6 @@ ping.transmissionFailed=La transmisi\u00
ping.unknownHost=El nombre del host del objetivo ping es desconocido.
ping.networkConnectionFailed=Hay problemas de conexi\u00F3n para alcanzar el
sitio del objetivo ping.
ping.pingProcessingIsSuspended=El proceso ping se ha suspendido temporalmente
por un administrador de sitio.
-pingTarget.pingTarget=Objetivo ping
commonPingTarget.subtitle=Editando objetivo ping personalizado
pingTarget.pingUrl=URL para ping
pingTarget.remove=Eliminar
Modified: roller/trunk/app/src/main/resources/ApplicationResources_fr.properties
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/resources/ApplicationResources_fr.properties?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
--- roller/trunk/app/src/main/resources/ApplicationResources_fr.properties
(original)
+++ roller/trunk/app/src/main/resources/ApplicationResources_fr.properties Mon
Aug 11 19:33:22 2014
@@ -676,8 +676,6 @@ Le site distant est injoignable.
ping.pingProcessingIsSuspended=Les notifications ont été provisoirement
suspendues par \
l'administrateur de ce site.
-pingTarget.pingTarget=Adresse à notifier
-
commonPingTarget.subtitle=Edition de l'adresse de notification commune
pingTarget.pingUrl=Adresse URL
Modified:
roller/trunk/app/src/main/resources/ApplicationResources_ja_JP.properties
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/resources/ApplicationResources_ja_JP.properties?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
--- roller/trunk/app/src/main/resources/ApplicationResources_ja_JP.properties
(original)
+++ roller/trunk/app/src/main/resources/ApplicationResources_ja_JP.properties
Mon Aug 11 19:33:22 2014
@@ -544,8 +544,6 @@ ping.networkConnectionFailed=\u5BFE\u8C6
ping.pingProcessingIsSuspended=\u73FE\u5728\u3001\u767A\u4FE1\u5148\u306E\u30E1\u30F3\u30C6\u30CA\u30F3\u30B9\u306A\u3069\u306E\u7406\u7531\u3067\
Ping\u3092\u53D7\u3051\u4ED8\u3051\u3066\u3082\u3089\u3048\u306A\u3044\u3088\u3046\u3067\u3059\u3002\u5F53\u8A72\u30B5\u30A4\u30C8\u306E\u30A2\u30CA\u30A6\u30F3\u30B9\u3092\u307F\u3066\u304F\u3060\u3055\u3044\u3002
-pingTarget.pingTarget=Ping\u30BF\u30FC\u30B2\u30C3\u30C8
-
commonPingTarget.subtitle=Ping\u30BF\u30FC\u30B2\u30C3\u30C8\u3092\u7DE8\u96C6\u3057\u307E\u3059
pingTarget.pingUrl=Ping URL
Modified: roller/trunk/app/src/main/resources/ApplicationResources_ko.properties
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/resources/ApplicationResources_ko.properties?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
--- roller/trunk/app/src/main/resources/ApplicationResources_ko.properties
(original)
+++ roller/trunk/app/src/main/resources/ApplicationResources_ko.properties Mon
Aug 11 19:33:22 2014
@@ -742,8 +742,6 @@ ping.unknownHost=\uc5f0\uacb0\ud655\uc77
ping.networkConnectionFailed=\uc5f0\uacb0\ud655\uc778 \ub300\uc0c1
\uc0ac\uc774\ud2b8\uc5d0 \ub3c4\ub2ec\ud558\ub294 \ub370\uc5d0
\ub124\ud2b8\uc6cc\ud06c \uc5f0\uacb0 \ubb38\uc81c\uac00
\ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.
ping.pingProcessingIsSuspended=\uc5f0\uacb0\ud655\uc778 \ucc98\ub9ac\uac00
\uc0ac\uc774\ud2b8 \uad00\ub9ac\uc790\uc5d0 \uc758\ud574
\uc77c\uc2dc\uc801\uc73c\ub85c \uc911\uc9c0\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-pingTarget.pingTarget=\uc5f0\uacb0\ud655\uc778 \ub300\uc0c1
-
commonPingTarget.subtitle=\uacf5\ud1b5 \uc5f0\uacb0\ud655\uc778 \ub300\uc0c1
\ud3b8\uc9d1
pingTarget.pingUrl=\uc5f0\uacb0\ud655\uc778 URL
Modified: roller/trunk/app/src/main/resources/ApplicationResources_ru.properties
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/resources/ApplicationResources_ru.properties?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
--- roller/trunk/app/src/main/resources/ApplicationResources_ru.properties
(original)
+++ roller/trunk/app/src/main/resources/ApplicationResources_ru.properties Mon
Aug 11 19:33:22 2014
@@ -444,8 +444,6 @@ ping.unknownHost=\u0418\u043c\u044f \u04
ping.networkConnectionFailed=\u041f\u0440\u0438
\u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0438
\u043f\u0438\u043d\u0433\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438
\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441\u0435\u0442\u0438
ping.pingProcessingIsSuspended=\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c
\u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438
\u043f\u0438\u043d\u0433\u0430 \u0431\u044b\u043b\u0430
\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e
\u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430
\u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u043c
\u0441\u0430\u0439\u0442\u0430
-pingTarget.pingTarget=\u0410\u0434\u0440\u0435\u0441
\u043f\u0438\u043d\u0433\u0430
-
commonPingTarget.subtitle=\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c
\u043e\u0431\u0449\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u0430
\u043f\u0438\u043d\u0433\u0430
pingTarget.pingUrl=URL \u043f\u0438\u043d\u0433\u0430
Modified:
roller/trunk/app/src/main/resources/ApplicationResources_zh_CN.properties
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/resources/ApplicationResources_zh_CN.properties?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
--- roller/trunk/app/src/main/resources/ApplicationResources_zh_CN.properties
(original)
+++ roller/trunk/app/src/main/resources/ApplicationResources_zh_CN.properties
Mon Aug 11 19:33:22 2014
@@ -335,7 +335,6 @@ pingTarget.enabled=\u5f00\u542f
pingTarget.malformedUrl=URL\u683c\u5f0f\u4e0d\u6b63\u786e\u3002
pingTarget.manual=\u624b\u52a8
pingTarget.nameNotUnique=\u8fd9\u4e2aPing\u76ee\u6807\u7684\u540d\u5b57\u540c\u5176Ping\u76ee\u6807\u6709\u51b2\u7a81\u3002
-pingTarget.pingTarget=Ping\u76ee\u6807
pingTarget.pingUrl=Ping URL\u5730\u5740
pingTarget.remove=\u5220\u9664
pingTarget.sendPingNow=\u53d1\u9001Ping\u2026\u2026
Modified: roller/trunk/app/src/main/resources/struts.xml
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/resources/struts.xml?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
--- roller/trunk/app/src/main/resources/struts.xml (original)
+++ roller/trunk/app/src/main/resources/struts.xml Mon Aug 11 19:33:22 2014
@@ -172,12 +172,20 @@
</action>
<action name="createUser!*" method="{1}"
-
class="org.apache.roller.weblogger.ui.struts2.admin.CreateUser">
+ class="org.apache.roller.weblogger.ui.struts2.admin.UserEdit">
+ <param name="actionName">createUser</param>
+ <param name="pageTitle">userAdmin.title.createNewUser</param>
<result name="input" type="tiles">.UserEdit</result>
+ <result name="success" type="redirectAction">
+ <param name="actionName">modifyUser!firstSave</param>
+ <param name="bean.id">${bean.id}</param>
+ </result>
</action>
-
+
<action name="modifyUser!*" method="{1}"
-
class="org.apache.roller.weblogger.ui.struts2.admin.ModifyUser">
+ class="org.apache.roller.weblogger.ui.struts2.admin.UserEdit">
+ <param name="actionName">modifyUser</param>
+ <param name="pageTitle">userAdmin.title.editUser</param>
<result name="input" type="tiles">.UserEdit</result>
<result name="error" type="chain">userAdmin</result>
<result name="cancel" type="redirectAction">
@@ -199,6 +207,7 @@
<action name="commonPingTargetAdd!*" method="{1}"
class="org.apache.roller.weblogger.ui.struts2.admin.PingTargetEdit">
<param name="actionName">commonPingTargetAdd</param>
+ <param name="pageTitle">pingTarget.addTarget</param>
<result name="input" type="tiles">.PingTargetEdit</result>
<result name="success" type="chain">commonPingTargets</result>
</action>
@@ -206,6 +215,7 @@
<action name="commonPingTargetEdit!*" method="{1}"
class="org.apache.roller.weblogger.ui.struts2.admin.PingTargetEdit">
<param name="actionName">commonPingTargetEdit</param>
+ <param name="pageTitle">pingTarget.editTarget</param>
<result name="input" type="tiles">.PingTargetEdit</result>
<result name="success" type="chain">commonPingTargets</result>
<result name="error" type="chain">commonPingTargets</result>
Modified: roller/trunk/app/src/main/webapp/WEB-INF/jsps/admin/UserAdmin.jsp
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/webapp/WEB-INF/jsps/admin/UserAdmin.jsp?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
--- roller/trunk/app/src/main/webapp/WEB-INF/jsps/admin/UserAdmin.jsp (original)
+++ roller/trunk/app/src/main/webapp/WEB-INF/jsps/admin/UserAdmin.jsp Mon Aug
11 19:33:22 2014
@@ -18,10 +18,8 @@
<%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
<script>
-<!-- //
<%@ include file="/roller-ui/scripts/ajax-user.js" %>
-// -->
-</script>
+</script>
<p class="subtitle"><s:text name="userAdmin.subtitle.searchUser" /></p>
<p><s:text name="userAdmin.prompt.searchUser" /></p>
@@ -30,7 +28,7 @@
<s:hidden name="salt" />
<span style="margin:4px"><s:text name="inviteMember.userName" /></span>
- <input name="userName" id="userName" size="30" maxlength="30"
+ <input name="bean.userName" id="userName" size="30" maxlength="30"
onfocus="onUserNameFocus(null)" onkeyup="onUserNameChange(null)"
style="margin:4px" />
<input type="submit" value='<s:text name="generic.edit" />'
Modified: roller/trunk/app/src/main/webapp/WEB-INF/jsps/admin/UserEdit.jsp
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/webapp/WEB-INF/jsps/admin/UserEdit.jsp?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
--- roller/trunk/app/src/main/webapp/WEB-INF/jsps/admin/UserEdit.jsp (original)
+++ roller/trunk/app/src/main/webapp/WEB-INF/jsps/admin/UserEdit.jsp Mon Aug 11
19:33:22 2014
@@ -33,6 +33,15 @@
</s:text>
</p>
+<p class="pagetip">
+ <s:if test="actionName == 'modifyUser'">
+ <s:text name="userAdmin.editInstructions"/>
+ </s:if>
+ <s:else>
+ <s:text name="userAdmin.addInstructions"/>
+ </s:else>
+</p>
+
<s:form>
<s:hidden name="salt" />
<s:if test="actionName == 'modifyUser'">
@@ -51,13 +60,13 @@
<s:textfield name="bean.userName" size="30" maxlength="30"
/>
</s:else>
</td>
- <td class="description"><s:text name="userSettings.tip.username" />
- <s:if test="actionName == 'modifyUser'">
- <s:text name="userSettings.tip.username" />
- </s:if>
- <s:else>
- <s:text name="userAdmin.tip.userName" />
- </s:else>
+ <td class="description">
+ <s:if test="actionName == 'modifyUser'">
+ <s:text name="userSettings.tip.username" />
+ </s:if>
+ <s:else>
+ <s:text name="userAdmin.tip.userName" />
+ </s:else>
</td>
</tr>
Modified: roller/trunk/app/src/main/webapp/WEB-INF/jsps/editor/Categories.jsp
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/webapp/WEB-INF/jsps/editor/Categories.jsp?rev=1617352&r1=1617351&r2=1617352&view=diff
==============================================================================
--- roller/trunk/app/src/main/webapp/WEB-INF/jsps/editor/Categories.jsp
(original)
+++ roller/trunk/app/src/main/webapp/WEB-INF/jsps/editor/Categories.jsp Mon Aug
11 19:33:22 2014
@@ -19,7 +19,6 @@
<%-- JavaScript for categories table --%>
<script>
-// <!--
function onMove()
{
if ( confirm("<s:text name='categoriesForm.move.confirm' />") )
@@ -28,7 +27,6 @@ function onMove()
document.categories.submit();
}
}
-//-->
</script>
<p class="subtitle">