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);
     };
 }


Reply via email to