[Bedework-commit] webapps r414 - in trunk: appcommon/src/org/bedework/appcommon webcommon/src/org/bedework/webcommon/event

svnadmin at bedework.org svnadmin at bedework.org
Tue Jun 19 01:14:45 EDT 2007


Author: douglm
Date: 2007-06-19 01:14:42 -0400 (Tue, 19 Jun 2007)
New Revision: 414

Modified:
   trunk/appcommon/src/org/bedework/appcommon/ClientMessage.java
   trunk/webcommon/src/org/bedework/webcommon/event/UpdateEventAction.java
Log:
Change some task related messages.

Try to preserve recurrence info

Modified: trunk/appcommon/src/org/bedework/appcommon/ClientMessage.java
===================================================================
--- trunk/appcommon/src/org/bedework/appcommon/ClientMessage.java	2007-06-18 20:47:27 UTC (rev 413)
+++ trunk/appcommon/src/org/bedework/appcommon/ClientMessage.java	2007-06-19 05:14:42 UTC (rev 414)
@@ -59,6 +59,9 @@
   /** n locations added. */
   public static final String addedLocations = prefix + "added.locations";
 
+  /** n tasks added. */
+  public static final String addedTasks = prefix + "added.tasks";
+
   /** Action cancelled. */
   public static final String cancelled = prefix + "cancelled";
 
@@ -146,6 +149,9 @@
   /** System preferences updated. */
   public static final String updatedSyspars = prefix + "updated.syspars";
 
+  /** Task updated. */
+  public static final String updatedTask = prefix + "updated.task";
+
   /** User information updated. */
   public static final String updatedUserinfo = prefix + "updated.userinfo";
 }

Modified: trunk/webcommon/src/org/bedework/webcommon/event/UpdateEventAction.java
===================================================================
--- trunk/webcommon/src/org/bedework/webcommon/event/UpdateEventAction.java	2007-06-18 20:47:27 UTC (rev 413)
+++ trunk/webcommon/src/org/bedework/webcommon/event/UpdateEventAction.java	2007-06-19 05:14:42 UTC (rev 414)
@@ -36,6 +36,7 @@
 import org.bedework.calfacade.BwOrganizer;
 import org.bedework.calfacade.BwString;
 import org.bedework.calfacade.BwSystem;
+import org.bedework.calfacade.CalFacadeDefs;
 import org.bedework.calfacade.ScheduleResult;
 import org.bedework.calfacade.exc.CalFacadeException;
 import org.bedework.calsvci.CalSvcI;
@@ -118,6 +119,52 @@
       return forwardNoAccess;
     }
 
+    BwEvent ev = form.getEvent();
+    if (ev == null) {
+      return forwardNoAction;
+    }
+
+    if (request.hasCopy()) {
+      copyEvent(ev, form);
+
+      return forwardCopy;
+    }
+
+    boolean incSequence = false;
+
+    /* -------------------------- Recurrences ------------------------------ */
+    if (request.getBooleanReqPar("recurring", false)) {
+      String rrule = getRrule(request, form);
+      if (form.getErrorsEmitted()) {
+        return forwardValidationError;
+      }
+
+      if (rrule != null) {
+        Collection<String> rrules = ev.getRrules();
+        if (rrules != null) {
+          rrules.clear();
+        }
+
+        ev.addRrule(rrule);
+        incSequence = true;
+      }
+
+      ev.setRecurring(ev.isRecurringEntity());
+    } else {
+      // Turned recurring off
+
+      Boolean r = ev.getRecurring();
+      if ((r != null) && r) {
+        incSequence = true;
+      }
+      ev.setRecurring(false);
+    }
+
+    if (incSequence) {
+      ev.setSequence(ev.getSequence() + 1);
+      ev.updateDtstamp();
+    }
+
     if (request.present("updateEventAccess")) {
       return forwardUpdateEventAccess;
     }
@@ -136,26 +183,12 @@
     if (request.present("send")) {
       send = "yes".equals(request.getReqPar("send"));
     }
-    boolean saveState = "yes".equals(request.getReqPar("saveState"));
 
     if (request.hasDelete()) {
       // Delete button in form
       return forwardDelete;
     }
 
-    BwEvent ev = form.getEvent();
-    if (ev == null) {
-      return forwardNoAction;
-    }
-
-    if (request.hasCopy()) {
-      copyEvent(ev, form);
-
-      return forwardCopy;
-    }
-
-    boolean incSequence = false;
-
     /* -------------------------- Calendar ------------------------------ */
     if (publicAdmin) {
       // Using preferred calendar and id - needs to use path
@@ -167,25 +200,23 @@
     }
 
     /* ------------------------ Text fields ------------------------------ */
-    if (!setEventText(request, form, ev) && !saveState) {
+    if (!setEventText(request, form, ev)) {
       return forwardValidationError;
     }
 
     /* -------------------------- Dates ------------------------------ */
-    if (!saveState) {
-      int res = form.getEventDates().updateEvent(ev, svci.getTimezones());
-      if (res == forwardValidationError) {
-        return res;
-      }
+    int res = form.getEventDates().updateEvent(ev, svci.getTimezones());
+    if (res == forwardValidationError) {
+      return res;
+    }
 
-      if (res == forwardUpdated) {
-        incSequence = true;
-      }
+    if (res == forwardUpdated) {
+      incSequence = true;
     }
 
     /* -------------------------- Location ------------------------------ */
     if (publicAdmin) {
-      if (!adminEventLocation(form, svci, ev) && !saveState) {
+      if (!adminEventLocation(form, svci, ev)) {
         return forwardValidationError;
       }
     } else {
@@ -197,7 +228,7 @@
 
     /* -------------------------- Contact ------------------------------ */
     if (publicAdmin) {
-      if (!validateEventContact(form, svci, ev) && !saveState) {
+      if (!validateEventContact(form, svci, ev)) {
         return forwardValidationError;
       }
     }
@@ -208,44 +239,11 @@
       if (secr.numCreated > 0) {
         form.getMsg().emit(ClientMessage.addedCategories, secr.numCreated);
       }
-    } else if (!saveState && (secr.rcode != forwardNoAction)) {
+    } else if (secr.rcode != forwardNoAction) {
       return secr.rcode;
     }
 
-    /* -------------------------- Recurrences ------------------------------ */
-    if (request.getBooleanReqPar("recurring", false)) {
-      String rrule = getRrule(request, form);
-      if (form.getErrorsEmitted()) {
-        if (saveState) {
-          rrule = null;
-        } else {
-          return forwardValidationError;
-        }
-      }
-
-      if (rrule != null) {
-        Collection<String> rrules = ev.getRrules();
-        if (rrules != null) {
-          rrules.clear();
-        }
-
-        ev.addRrule(rrule);
-        incSequence = true;
-      }
-
-      ev.setRecurring(ev.isRecurringEntity());
-    } else {
-      // Turned recurring off
-
-      Boolean r = ev.getRecurring();
-      if ((r != null) && r) {
-        incSequence = true;
-      }
-      ev.setRecurring(false);
-    }
-
-    if (!BwWebUtil.validateEvent(svci, ev, publicAdmin,
-                                  form.getErr()) && !saveState) {
+    if (!BwWebUtil.validateEvent(svci, ev, publicAdmin, form.getErr())) {
       return forwardValidationError;
     }
 
@@ -258,18 +256,12 @@
     }
 
     if ((doSchedule(request, ev, form,
-                    adding, incSequence,
-                    send && !saveState) == forwardValidationError) &&
-         !saveState) {
+                    adding, incSequence, send) == forwardValidationError)) {
       return forwardValidationError;
     }
 
     ev.setPublick(publicAdmin);
 
-    if (saveState) {
-      return forwardStateSaved;
-    }
-
     try {
       if (adding) {
         svci.addEvent(destCal, ev, null, true);
@@ -326,7 +318,13 @@
       form.setEvent(null);
       form.getEventDates().setNewEvent(form.getEvent(), svci.getTimezones());
 
-      form.getMsg().emit(ClientMessage.addedEvents, 1);
+      if (ev.getEntityType() == CalFacadeDefs.entityTypeTodo) {
+        form.getMsg().emit(ClientMessage.addedTasks, 1);
+      } else {
+        form.getMsg().emit(ClientMessage.addedEvents, 1);
+      }
+    } else  if (ev.getEntityType() == CalFacadeDefs.entityTypeTodo) {
+      form.getMsg().emit(ClientMessage.updatedTask);
     } else {
       form.getMsg().emit(ClientMessage.updatedEvent);
     }



More information about the Bedework-commit mailing list