You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by vd...@apache.org on 2014/03/27 10:11:22 UTC

svn commit: r1582225 - in /openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web: common/FormatHelper.java user/calendar/AppointmentDialog.html user/calendar/AppointmentDialog.java util/UserChoiceProvider.java

Author: vdegtyarev
Date: Thu Mar 27 09:11:21 2014
New Revision: 1582225

URL: http://svn.apache.org/r1582225
Log:
Merge OPENMEETINGS-961 to trunk. Organizer is visible for guests. Calendar event can't be canceled by guest.

Added:
    openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/common/FormatHelper.java
      - copied unchanged from r1582224, openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/FormatHelper.java
Modified:
    openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html
    openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
    openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserChoiceProvider.java

Modified: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html?rev=1582225&r1=1582224&r2=1582225&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html (original)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html Thu Mar 27 09:11:21 2014
@@ -61,6 +61,10 @@
 					<td colspan="2" style="font-size: smaller;"><wicket:ommessage key="1445" /></td>
 				</tr>
 				<tr>
+					<td><wicket:ommessage key="1156" /></td>
+					<td><span wicket:id="owner"></span></td>
+				</tr>
+				<tr>
 					<td><wicket:ommessage key="803" /></td>
 					<td wicket:ommessage="title:1588"><input class="appointment attendees" type="hidden" wicket:id="attendees"/></td>
 				</tr>

Modified: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java?rev=1582225&r1=1582224&r2=1582225&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java (original)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java Thu Mar 27 09:11:21 2014
@@ -45,6 +45,7 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.Organisation_Users;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.common.FormatHelper;
 import org.apache.openmeetings.web.pages.MainPage;
 import org.apache.openmeetings.web.user.rooms.RoomEnterBehavior;
 import org.apache.openmeetings.web.util.RoomTypeDropDown;
@@ -53,6 +54,7 @@ import org.apache.wicket.ajax.AjaxReques
 import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
 import org.apache.wicket.behavior.AttributeAppender;
 import org.apache.wicket.extensions.yui.calendar.DateTimeField;
+import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.ChoiceRenderer;
 import org.apache.wicket.markup.html.form.DropDownChoice;
 import org.apache.wicket.markup.html.form.Form;
@@ -103,12 +105,13 @@ public class AppointmentDialog extends A
 		form.setEnabled(object.getOwner() == null || getUserId() == object.getOwner().getUser_id());
 		log.debug(" -- setModelObjectWithAjaxTarget -- Current model " + object);
 		if (object.getId() != null) {
-			delete.setVisible(true, target);
+			delete.setVisible(isOwner(object), target);
 			enterRoom.setVisible(object.getRoom() != null, target);
 		} else {
 			delete.setVisible(false, target);
 			enterRoom.setVisible(false, target);
 		}
+		save.setVisible(isOwner(object), target);
 		super.setModelObject(object);
 	}
 	
@@ -211,12 +214,17 @@ public class AppointmentDialog extends A
 		calendar.refresh(target);
 	}
 	
+	private boolean isOwner(Appointment object) {
+		return object.getOwner() != null && getUserId() == object.getOwner().getUser_id();
+	}
+	
 	private class AppointmentForm extends Form<Appointment> {
 		private static final long serialVersionUID = 1L;
 		private boolean createRoom = true;
 		private DateTimeField start;
 		private DateTimeField end;
 		private final PasswordTextField pwd = new PasswordTextField("password");
+		private final Label owner = new Label("owner");
 
 		@Override
 		protected void onModelChanged() {
@@ -255,6 +263,9 @@ public class AppointmentDialog extends A
 				}
 			}
 			pwd.setEnabled(a.isPasswordProtected());
+			owner.setOutputMarkupId(true);
+			owner.setDefaultModel(Model.of(FormatHelper.formatUser(a.getOwner(), false)));
+			owner.setVisible(!isOwner(a));
 		}
 		
 		public AppointmentForm(String id, IModel<Appointment> model) {
@@ -312,6 +323,9 @@ public class AppointmentDialog extends A
 				}
 			});
 			add(new UserMultiChoice("attendees", attendeesModel));
+				
+			add(owner);
+
 		}
 		
 		private List<AppointmentReminderTyps> getRemindTypes() {

Modified: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserChoiceProvider.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserChoiceProvider.java?rev=1582225&r1=1582224&r2=1582225&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserChoiceProvider.java (original)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/util/UserChoiceProvider.java Thu Mar 27 09:11:21 2014
@@ -18,7 +18,6 @@
  */
 package org.apache.openmeetings.web.util;
 
-import static org.apache.commons.lang3.StringEscapeUtils.escapeHtml4;
 import static org.apache.openmeetings.web.app.Application.getBean;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
@@ -30,6 +29,7 @@ import java.util.Map;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Type;
+import org.apache.openmeetings.web.common.FormatHelper;
 import org.apache.wicket.extensions.validation.validator.RfcCompliantEmailAddressValidator;
 import org.apache.wicket.validation.Validatable;
 import org.json.JSONException;
@@ -76,11 +76,6 @@ public class UserChoiceProvider extends 
 		}
 		return u;
 	}
-	
-	protected String getDisplayText(User u) {
-		// TODO check RIGHTS here (email might need to be hidden)
-		return u == null ? "" : escapeHtml4(String.format("\"%s %s\" <%s>", u.getFirstname(), u.getLastname(), u.getAdresses().getEmail()));
-	}
 
 	protected Object getId(User u) {
 		String id = "" + u.getUser_id();
@@ -119,7 +114,7 @@ public class UserChoiceProvider extends 
     public void toJson(User choice, JSONWriter writer) throws JSONException {
     	writer
     		.key("id").value(getId(choice))
-    		.key("text").value(getDisplayText(choice))
+    		.key("text").value(FormatHelper.formatUser(choice, true))
     		.key("contact").value(choice.getType() == Type.contact);
     };
 }