Author: solomax
Date: Sun Oct 19 15:05:47 2014
New Revision: 1632937
URL: http://svn.apache.org/r1632937
Log:
[OPENMEETINGS-1109] appointments with existing room displayed as expected
Modified:
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/calendar/management/AppointmentLogic.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
Modified:
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java?rev=1632937&r1=1632936&r2=1632937&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
(original)
+++
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
Sun Oct 19 15:05:47 2014
@@ -49,6 +49,7 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.util.TimezoneUtil;
import org.apache.openmeetings.util.CalendarPatterns;
+import org.apache.wicket.util.string.Strings;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
@@ -327,6 +328,9 @@ public class AppointmentLogic {
a.setPassword(password);
a.setMeetingMembers(new ArrayList<MeetingMember>());
for (String singleClient : mmClient) {
+ if (Strings.isEmpty(singleClient)) {
+ continue;
+ }
MeetingMember mm = getMeetingMember(users_id,
languageId, singleClient);
mm.setAppointment(a);
a.getMeetingMembers().add(mm);
Modified:
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java?rev=1632937&r1=1632936&r2=1632937&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
(original)
+++
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
Sun Oct 19 15:05:47 2014
@@ -88,7 +88,7 @@ public class AppointmentDialog extends A
private DialogButton delete = new DialogButton(deleteLbl);
private String enterRoomLbl = WebSession.getString(1282);
private DialogButton enterRoom = new DialogButton(enterRoomLbl);
- private final CalendarPanel calendar;
+ private final CalendarPanel calendarPanel;
protected final FeedbackPanel feedback;
final MessageDialog confirmDelete;
private IModel<Collection<User>> attendeesModel = new
CollectionModel<User>(new ArrayList<User>());
@@ -113,10 +113,10 @@ public class AppointmentDialog extends A
super.setModelObject(object);
}
- public AppointmentDialog(String id, String title, CalendarPanel
calendar, IModel<Appointment> model) {
+ public AppointmentDialog(String id, String title, CalendarPanel
calendarPanel, IModel<Appointment> model) {
super(id, title, model, true);
log.debug(" -- AppointmentDialog -- Current model " +
getModel().getObject());
- this.calendar = calendar;
+ this.calendarPanel = calendarPanel;
setOutputMarkupId(true);
feedback = new FeedbackPanel("feedback");
form = new AppointmentForm("appForm", model);
@@ -135,7 +135,7 @@ public class AppointmentDialog extends A
protected void deleteAppointment(AjaxRequestTarget target) {
getBean(AppointmentDao.class).delete(getModelObject(),
getUserId());
- calendar.refresh(target);
+ calendarPanel.refresh(target);
}
@Override
@@ -209,7 +209,7 @@ public class AppointmentDialog extends A
a.setMeetingMembers(attendees);
getBean(AppointmentDao.class).update(a, getUserId());
target.add(feedback);
- calendar.refresh(target);
+ calendarPanel.refresh(target);
}
public static boolean isOwner(Appointment object) {
@@ -219,10 +219,15 @@ public class AppointmentDialog extends A
private class AppointmentForm extends Form<Appointment> {
private static final long serialVersionUID = 1L;
private boolean createRoom = true;
- private DateTimeField start;
- private DateTimeField end;
+ private final DateTimeField start;
+ private final DateTimeField end;
private final PasswordTextField pwd = new
PasswordTextField("password");
private final Label owner = new Label("owner");
+ private final DropDownChoice<RoomType> roomType = new
RoomTypeDropDown("room.roomtype");
+ private final DropDownChoice<Room> room = new
DropDownChoice<Room>(
+ "room"
+ , getRoomList()
+ , new ChoiceRenderer<Room>("name", "rooms_id"));
@Override
protected void onModelChanged() {
@@ -243,6 +248,9 @@ public class AppointmentDialog extends A
if (a.getRoom().getRoomtype() == null &&
!roomTypes.isEmpty()) {
a.getRoom().setRoomtype(roomTypes.get(0));
}
+ createRoom =
Boolean.TRUE.equals(a.getRoom().getAppointment());
+ roomType.setEnabled(createRoom);
+ room.setEnabled(!createRoom);
if (a.getId() == null) {
java.util.Calendar start =
WebSession.getCalendar();
start.setTime(a.getStart());
@@ -289,20 +297,15 @@ public class AppointmentDialog extends A
, remindTypes
, new
ChoiceRenderer<AppointmentReminderTyps>("label.value", "typId")));
- final DropDownChoice<RoomType> roomType = new
RoomTypeDropDown("room.roomtype");
roomType.setEnabled(createRoom);
roomType.setOutputMarkupId(true);
add(roomType);
- final DropDownChoice<Room> room = new
DropDownChoice<Room>(
- "room"
- , getRoomList()
- , new ChoiceRenderer<Room>("name",
"rooms_id"));
room.setEnabled(!createRoom);
room.setOutputMarkupId(true);
add(room);
add(new AjaxCheckBox("createRoom", new
PropertyModel<Boolean>(this, "createRoom")) {
- private static final long serialVersionUID =
-3743113990890386035L;
+ private static final long serialVersionUID = 1L;
@Override
protected void onUpdate(AjaxRequestTarget
target) {
@@ -311,7 +314,7 @@ public class AppointmentDialog extends A
}
});
add(new AjaxCheckBox("passwordProtected") {
- private static final long serialVersionUID =
6041200584296439976L;
+ private static final long serialVersionUID = 1L;
@Override
protected void onUpdate(AjaxRequestTarget
target) {
Modified:
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java?rev=1632937&r1=1632936&r2=1632937&view=diff
==============================================================================
---
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
(original)
+++
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
Sun Oct 19 15:05:47 2014
@@ -88,6 +88,10 @@ public class CalendarPanel extends UserP
calendar.refresh(target);
}
+ Calendar getCalendar() {
+ return calendar;
+ }
+
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
Modified:
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/calendar/management/AppointmentLogic.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/calendar/management/AppointmentLogic.java?rev=1632937&r1=1632936&r2=1632937&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/calendar/management/AppointmentLogic.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/calendar/management/AppointmentLogic.java
Sun Oct 19 15:05:47 2014
@@ -325,6 +325,9 @@ public class AppointmentLogic {
a.setPassword(password);
a.setMeetingMembers(new ArrayList<MeetingMember>());
for (String singleClient : mmClient) {
+ if (Strings.isEmpty(singleClient)) {
+ continue;
+ }
MeetingMember mm = getMeetingMember(users_id,
languageId, singleClient);
mm.setAppointment(a);
a.getMeetingMembers().add(mm);
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java?rev=1632937&r1=1632936&r2=1632937&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
Sun Oct 19 15:05:47 2014
@@ -87,7 +87,7 @@ public class AppointmentDialog extends A
private DialogButton delete = new DialogButton(deleteLbl);
private String enterRoomLbl = WebSession.getString(1282);
private DialogButton enterRoom = new DialogButton(enterRoomLbl);
- private final CalendarPanel calendar;
+ private final CalendarPanel calendarPanel;
protected final FeedbackPanel feedback;
final MessageDialog confirmDelete;
private IModel<Collection<User>> attendeesModel = new
CollectionModel<User>(new ArrayList<User>());
@@ -112,10 +112,10 @@ public class AppointmentDialog extends A
super.setModelObject(object);
}
- public AppointmentDialog(String id, String title, CalendarPanel
calendar, IModel<Appointment> model) {
+ public AppointmentDialog(String id, String title, CalendarPanel
calendarPanel, IModel<Appointment> model) {
super(id, title, model, true);
log.debug(" -- AppointmentDialog -- Current model " +
getModel().getObject());
- this.calendar = calendar;
+ this.calendarPanel = calendarPanel;
setOutputMarkupId(true);
feedback = new FeedbackPanel("feedback");
form = new AppointmentForm("appForm", model);
@@ -134,7 +134,7 @@ public class AppointmentDialog extends A
protected void deleteAppointment(AjaxRequestTarget target) {
getBean(AppointmentDao.class).delete(getModelObject(),
getUserId());
- calendar.refresh(target);
+ calendarPanel.refresh(target);
}
@Override
@@ -208,7 +208,7 @@ public class AppointmentDialog extends A
a.setMeetingMembers(attendees);
getBean(AppointmentDao.class).update(a, getUserId());
target.add(feedback);
- calendar.refresh(target);
+ calendarPanel.refresh(target);
}
public static boolean isOwner(Appointment object) {
@@ -222,6 +222,11 @@ public class AppointmentDialog extends A
private DateTimePicker end;
private final PasswordTextField pwd = new
PasswordTextField("password");
private final Label owner = new Label("owner");
+ private final DropDownChoice<RoomType> roomType = new
RoomTypeDropDown("room.roomtype");
+ private final DropDownChoice<Room> room = new
DropDownChoice<Room>(
+ "room"
+ , getRoomList()
+ , new ChoiceRenderer<Room>("name", "id"));
@Override
protected void onModelChanged() {
@@ -242,6 +247,9 @@ public class AppointmentDialog extends A
if (a.getRoom().getRoomtype() == null &&
!roomTypes.isEmpty()) {
a.getRoom().setRoomtype(roomTypes.get(0));
}
+ createRoom =
Boolean.TRUE.equals(a.getRoom().getAppointment());
+ roomType.setEnabled(createRoom);
+ room.setEnabled(!createRoom);
if (a.getId() == null) {
java.util.Calendar start =
WebSession.getCalendar();
start.setTime(a.getStart());
@@ -287,15 +295,10 @@ public class AppointmentDialog extends A
, remindTypes
, new
ChoiceRenderer<AppointmentReminderType>("label.value", "id")));
- final DropDownChoice<RoomType> roomType = new
RoomTypeDropDown("room.roomtype");
roomType.setEnabled(createRoom);
roomType.setOutputMarkupId(true);
add(roomType);
- final DropDownChoice<Room> room = new
DropDownChoice<Room>(
- "room"
- , getRoomList()
- , new ChoiceRenderer<Room>("name",
"id"));
room.setEnabled(!createRoom);
room.setOutputMarkupId(true);
add(room);
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java?rev=1632937&r1=1632936&r2=1632937&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
Sun Oct 19 15:05:47 2014
@@ -89,6 +89,10 @@ public class CalendarPanel extends UserP
calendar.refresh(target);
}
+ Calendar getCalendar() {
+ return calendar;
+ }
+
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);