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


Reply via email to