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