You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2005/09/21 16:28:43 UTC
svn commit: r290708 - in /incubator/roller/branches/roller_2.0:
src/org/roller/presentation/weblog/actions/WeblogEntryFormAction.java
web/WEB-INF/classes/ApplicationResources.properties
Author: snoopdave
Date: Wed Sep 21 07:28:35 2005
New Revision: 290708
URL: http://svn.apache.org/viewcvs?rev=290708&view=rev
Log:
Fixing ROL-751, must specify either title OR text
Modified:
incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryFormAction.java
incubator/roller/branches/roller_2.0/web/WEB-INF/classes/ApplicationResources.properties
Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryFormAction.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryFormAction.java?rev=290708&r1=290707&r2=290708&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryFormAction.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryFormAction.java Wed Sep 21 07:28:35 2005
@@ -255,42 +255,47 @@
ActionForm actionForm,
HttpServletRequest request,
HttpServletResponse response)
- throws IOException, ServletException
- {
+ throws IOException, ServletException {
+
ActionForward forward = mapping.findForward("weblogEdit.page");
ActionMessages uiMessages = new ActionMessages();
- try
- {
- WeblogEntryFormEx wf = (WeblogEntryFormEx)actionForm;
+ try {
+ WeblogEntryFormEx form = (WeblogEntryFormEx)actionForm;
Roller roller = RollerFactory.getRoller();
RollerSession rses = RollerSession.getRollerSession(request);
UserManager userMgr = roller.getUserManager();
WeblogManager weblogMgr = roller.getWeblogManager();
- UserData ud = userMgr.retrieveUser(wf.getCreatorId());
- WebsiteData site = userMgr.retrieveWebsite(wf.getWebsiteId());
+ UserData ud = userMgr.retrieveUser(form.getCreatorId());
+ WebsiteData site = userMgr.retrieveWebsite(form.getWebsiteId());
WeblogEntryData entry = null;
if ( rses.isUserAuthorizedToAuthor(site)
|| (rses.isUserAuthorized(site)
- && !wf.getStatus().equals(WeblogEntryData.PUBLISHED) ))
- {
- if (wf.getId() == null || wf.getId().trim().length()==0)
- {
+ && !form.getStatus().equals(WeblogEntryData.PUBLISHED) )) {
+
+ ActionErrors errors = validateEntry(null, form);
+ if (errors.size() > 0) {
+ saveErrors(request, errors);
+ request.setAttribute("model",
+ new WeblogEntryPageModel(request, response, mapping,
+ (WeblogEntryFormEx)actionForm,
+ WeblogEntryPageModel.EDIT_MODE));
+ return forward;
+ }
+
+ if (form.getId() == null || form.getId().trim().length()==0) {
entry = new WeblogEntryData();
entry.setCreator(ud);
entry.setWebsite( site );
- }
- else
- {
- entry = weblogMgr.retrieveWeblogEntry(wf.getId());
- entry.save(); // should throw if save not permitted
+ } else {
+ entry = weblogMgr.retrieveWeblogEntry(form.getId());
}
mLogger.debug("setting update time now");
- wf.setUpdateTime(new Timestamp(new Date().getTime()));
+ form.setUpdateTime(new Timestamp(new Date().getTime()));
- if("PUBLISHED".equals(wf.getStatus()) &&
- "0/0/0".equals(wf.getDateString())) {
+ if("PUBLISHED".equals(form.getStatus()) &&
+ "0/0/0".equals(form.getDateString())) {
mLogger.debug("setting pubtime now");
/* NOTE: the wf.copyTo() method will override this value
@@ -301,22 +306,20 @@
* effect if the entry is being published for the first
* time.
*/
- wf.setPubTime(wf.getUpdateTime());
+ form.setPubTime(form.getUpdateTime());
}
mLogger.debug("copying submitted form data to entry object");
- wf.copyTo(entry, request.getLocale(),request.getParameterMap());
+ form.copyTo(entry, request.getLocale(),request.getParameterMap());
// Fetch MediaCast content type and length
mLogger.debug("Checking MediaCast attributes");
- if (!checkMediaCast(entry))
- {
+ if (!checkMediaCast(entry)) {
mLogger.debug("Invalid MediaCast attributes");
uiMessages.add(null,
new ActionMessage("weblogEdit.message.mediaCastProblem"));
}
- else if (mLogger.isDebugEnabled())
- {
+ else if (mLogger.isDebugEnabled()) {
mLogger.debug("Invalid MediaCast attributes");
}
@@ -327,7 +330,7 @@
RollerFactory.getRoller().commit();
mLogger.debug("Populating form");
- wf.copyFrom(entry, request.getLocale());
+ form.copyFrom(entry, request.getLocale());
request.setAttribute(
RollerRequest.WEBLOGENTRYID_KEY, entry.getId());
@@ -351,8 +354,7 @@
WeblogEntryPageModel.EDIT_MODE));
if (!rses.isUserAuthorizedToAuthor(site) &&
- rses.isUserAuthorized(site) && entry.isPending())
- {
+ rses.isUserAuthorized(site) && entry.isPending()) {
// implies that entry just changed to pending
notifyWebsiteAuthorsOfPendingEntry(request, entry);
uiMessages.add(null,
@@ -362,29 +364,24 @@
actionForm = new WeblogEntryFormEx();
request.setAttribute(mapping.getName(), actionForm);
forward = create(mapping, actionForm, request, response);
- }
- else
- {
+ } else {
uiMessages.add(null,
new ActionMessage("weblogEdit.changesSaved"));
}
saveMessages(request, uiMessages);
mLogger.debug("operation complete");
- }
- else
- {
+
+ } else {
forward = mapping.findForward("access-denied");
}
}
- catch (RollerPermissionsException e)
- {
+ catch (RollerPermissionsException e) {
ActionErrors errors = new ActionErrors();
errors.add(null, new ActionError("error.permissions.deniedSave"));
saveErrors(request, errors);
forward = mapping.findForward("access-denied");
}
- catch (Exception e)
- {
+ catch (Exception e) {
throw new ServletException(e);
}
return forward;
@@ -1052,5 +1049,16 @@
manager.addEntryReIndexOperation(entry);
}
}
+
+ public ActionErrors validateEntry(ActionErrors errors, WeblogEntryFormEx form) {
+ if (errors == null) errors = new ActionErrors();
+ if (StringUtils.isEmpty(form.getTitle())
+ && StringUtils.isEmpty(form.getText())) {
+ errors.add(null, new ActionError("weblogEdit.error.incompleteEntry"));
+ }
+ return errors;
+ }
+
+
}
Modified: incubator/roller/branches/roller_2.0/web/WEB-INF/classes/ApplicationResources.properties
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/web/WEB-INF/classes/ApplicationResources.properties?rev=290708&r1=290707&r2=290708&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/web/WEB-INF/classes/ApplicationResources.properties (original)
+++ incubator/roller/branches/roller_2.0/web/WEB-INF/classes/ApplicationResources.properties Wed Sep 21 07:28:35 2005
@@ -1233,6 +1233,7 @@
weblogEdit.commentCount=Number of comments:
weblogEdit.message.mediaCastProblem=Problem processing MediaCast, invalid URL?
+weblogEdit.error.incompleteEntry=Entry must have title or text
# ---------------------------------------------------------- Weblog Entry Remove