Author: sebawagner
Date: Sat Oct  6 11:44:27 2012
New Revision: 1395007

URL: http://svn.apache.org/viewvc?rev=1395007&view=rev
Log:
OPENMEETINGS-428 user+room administration, room administration basic fields, 
user object => Make relation to organisation_users @ElementDependend 

Modified:
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation_Users.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms_Organisation.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/Users.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomForm.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomsPanel.html

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java?rev=1395007&r1=1395006&r2=1395007&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java
 Sat Oct  6 11:44:27 2012
@@ -140,15 +140,12 @@ public class Roommanagement {
         * 
         * @return List of RoomTypes
         */
-       public List<RoomTypes> getAllRoomTypes(Long user_level) {
+       public List<RoomTypes> getAllRoomTypes() {
                try {
-                       if (authLevelManagement.checkUserLevel(user_level)) {
-                               TypedQuery<RoomTypes> query = em
-                                               .createQuery("select c from 
RoomTypes as c where c.deleted <> :deleted", RoomTypes.class);
-                               query.setParameter("deleted", true);
-                               List<RoomTypes> ll = query.getResultList();
-                               return ll;
-                       }
+                       TypedQuery<RoomTypes> query = em
+                                       .createQuery("select c from RoomTypes 
as c where c.deleted <> :deleted", RoomTypes.class);
+                       query.setParameter("deleted", true);
+                       return query.getResultList();
                } catch (Exception ex2) {
                        log.error("[getAllRoomTypes] ", ex2);
                }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation_Users.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation_Users.java?rev=1395007&r1=1395006&r2=1395007&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation_Users.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation_Users.java
 Sat Oct  6 11:44:27 2012
@@ -60,6 +60,7 @@ public class Organisation_Users implemen
        @Element(name="organisation_id", required=false)
        private Organisation organisation;
 
+       // FIXME: Does not get updated if a new relation is stored in the user
        @Column(name = "user_id")
        private Long user_id;
 

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms.java?rev=1395007&r1=1395006&r2=1395007&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms.java
 Sat Oct  6 11:44:27 2012
@@ -19,9 +19,11 @@
 package org.apache.openmeetings.persistence.beans.rooms;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
+import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.FetchType;
@@ -38,6 +40,7 @@ import javax.persistence.OneToOne;
 import javax.persistence.Table;
 import javax.persistence.Transient;
 
+import org.apache.openjpa.persistence.ElementDependent;
 import org.apache.openmeetings.persistence.beans.OmEntity;
 import org.apache.openmeetings.persistence.beans.basic.Server;
 import org.simpleframework.xml.Element;
@@ -45,340 +48,372 @@ import org.simpleframework.xml.ElementLi
 import org.simpleframework.xml.Root;
 
 @Entity
-@NamedQueries({
-       @NamedQuery(name="getNondeletedRooms", query="SELECT u FROM Rooms u 
WHERE u.deleted = false")
-})
+@NamedQueries({ @NamedQuery(name = "getNondeletedRooms", query = "SELECT u 
FROM Rooms u WHERE u.deleted = false") })
 @Table(name = "rooms")
-@Root(name="room")
+@Root(name = "room")
 public class Rooms implements Serializable, OmEntity {
        private static final long serialVersionUID = -2860312283159251568L;
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
-       @Column(name="id")
-       @Element(data=true)
+       @Column(name = "id")
+       @Element(data = true)
        private Long rooms_id;
-       
-       @Column(name="name")
-       @Element(data=true)
+
+       @Column(name = "name")
+       @Element(data = true)
        private String name;
-       
-       @Lob //@Basic(fetch=FetchType.LAZY)
-       @Column(name="comment_field")
-       @Element(data=true, required=false)
+
+       @Lob
+       // @Basic(fetch=FetchType.LAZY)
+       @Column(name = "comment_field")
+       @Element(data = true, required = false)
        private String comment;
-       
+
        @ManyToOne(fetch = FetchType.EAGER)
-       @JoinColumn (name="roomtypes_id")
-       @Element(name="roomtypeId", data=true, required=false)
+       @JoinColumn(name = "roomtypes_id")
+       @Element(name = "roomtypeId", data = true, required = false)
        private RoomTypes roomtype;
-       
+
        @Column(name = "starttime")
        private Date starttime;
-       
+
        @Column(name = "updatetime")
        private Date updatetime;
-       
+
        @Column(name = "deleted")
-       @Element(data=true)
+       @Element(data = true)
        private boolean deleted;
-       
+
        @Column(name = "ispublic")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Boolean ispublic;
-       
+
        @Column(name = "numberOfPartizipants")
-       @Element(data=true)
+       @Element(data = true)
        private Long numberOfPartizipants = new Long(4);
-       
+
        @Column(name = "appointMent")
-       @Element(data=true)
+       @Element(data = true)
        private Boolean appointment;
 
-       //Vars to simulate external Rooms
+       // Vars to simulate external Rooms
        @Column(name = "externalRoomId")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Long externalRoomId;
-       
+
        @Column(name = "externalRoomType")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private String externalRoomType;
-       
+
        @Column(name = "isdemoroom")
-       @Element(data=true)
+       @Element(data = true)
        private Boolean isDemoRoom;
-       
+
        @Column(name = "demo_time")
-       @Element(data=true, required=false)
-       private Integer demoTime; //In Seconds
-       
-       //If this is true all participants of a meeting have to wait for the 
moderator to come into the room
+       @Element(data = true, required = false)
+       private Integer demoTime; // In Seconds
+
+       // If this is true all participants of a meeting have to wait for the
+       // moderator to come into the room
        @Column(name = "ismoderatedroom")
-       @Element(data=true)
+       @Element(data = true)
        private Boolean isModeratedRoom;
-       
+
        @Column(name = "allow_user_questions")
-       @Element(data=true)
+       @Element(data = true)
        private Boolean allowUserQuestions;
-       
+
        @Column(name = "sip_number")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private String sipNumber;
-       
+
        @Column(name = "conference_pin")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private String conferencePin;
-       
+
        @Column(name = "is_audio_only")
-       @Element(data=true)
+       @Element(data = true)
        private Boolean isAudioOnly;
-       
+
        @Column(name = "is_closed")
-       @Element(data=true)
+       @Element(data = true)
        private Boolean isClosed;
-       
+
        @Column(name = "redirect_url")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private String redirectURL;
-       
+
        @Column(name = "owner_id")
-       @Element(name="ownerid", data=true, required=false)
-       private Long ownerId; //Those are the rooms from the myrooms section
-       
+       @Element(name = "ownerid", data = true, required = false)
+       private Long ownerId; // Those are the rooms from the myrooms section
+
        @Column(name = "wait_for_recording")
-       @Element(data=true, required=false)
-       private Boolean waitForRecording; //Show warning that user has to start 
recording
-       
+       @Element(data = true, required = false)
+       private Boolean waitForRecording; // Show warning that user has to start
+                                                                               
// recording
+
        @Column(name = "allow_recording")
-       @Element(data=true, required=false)
-       private Boolean allowRecording; //Show or show not the recording option 
in a conference room
-       
+       @Element(data = true, required = false)
+       private Boolean allowRecording; // Show or show not the recording 
option in
+                                                                       // a 
conference room
+
        @OneToOne(fetch = FetchType.EAGER)
        @JoinColumn(name = "server_id")
-       @Element(required=false)
+       @Element(required = false)
        private Server server;
-       
+
        /**
         * Layout of Room
         */
        @Column(name = "hide_top_bar")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Boolean hideTopBar = false;
-       
+
        @Column(name = "hide_chat")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Boolean hideChat = false;
-       
+
        @Column(name = "hide_activities_and_actions")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Boolean hideActivitiesAndActions = false;
-       
+
        @Column(name = "hide_files_explorer")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Boolean hideFilesExplorer = false;
-       
+
        @Column(name = "hide_actions_menu")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Boolean hideActionsMenu = false;
-       
+
        @Column(name = "hide_screen_sharing")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Boolean hideScreenSharing = false;
-       
+
        @Column(name = "hide_whiteboard")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Boolean hideWhiteboard = false;
-       
+
        @Column(name = "show_microphone_status")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Boolean showMicrophoneStatus = false;
 
        @Column(name = "chat_moderated")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Boolean chatModerated = false;
 
        @OneToMany(fetch = FetchType.LAZY)
        @JoinColumn(name = "roomId")
-       @ElementList(name="room_moderators")
+       @ElementList(name = "room_moderators")
        private List<RoomModerators> moderators;
+
+       @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
+       @JoinColumn(name = "rooms_id", insertable = true, updatable = true)
+       @ElementList(name = "organisations")
+       @ElementDependent
+       private List<Rooms_Organisation> roomOrganisations = new 
ArrayList<Rooms_Organisation>();
+
        /*
-        * Non persistent attributes 
+        * Non persistent attributes
         */
        @Transient
        private List<RoomClient> currentusers;
-    
-       
+
        public String getComment() {
                return comment;
        }
+
        public void setComment(String comment) {
                this.comment = comment;
        }
-       
+
        public String getName() {
                return name;
        }
+
        public void setName(String name) {
                this.name = name;
        }
-    
+
        public Long getRooms_id() {
                return rooms_id;
        }
+
        public void setRooms_id(Long rooms_id) {
                this.rooms_id = rooms_id;
        }
-    
+
        public RoomTypes getRoomtype() {
                return roomtype;
        }
+
        public void setRoomtype(RoomTypes roomtype) {
                this.roomtype = roomtype;
        }
-    
+
        public Date getStarttime() {
                return starttime;
        }
+
        public void setStarttime(Date starttime) {
                this.starttime = starttime;
        }
-    
+
        public Date getUpdatetime() {
                return updatetime;
        }
+
        public void setUpdatetime(Date updatetime) {
                this.updatetime = updatetime;
-       }       
-       
+       }
+
        public boolean getDeleted() {
                return deleted;
        }
+
        public void setDeleted(boolean deleted) {
                this.deleted = deleted;
        }
-       
+
        public Boolean getIspublic() {
                return ispublic;
        }
+
        public void setIspublic(Boolean ispublic) {
                this.ispublic = ispublic;
        }
-       
+
        public List<RoomClient> getCurrentusers() {
                return currentusers;
        }
+
        public void setCurrentusers(List<RoomClient> currentusers) {
                this.currentusers = currentusers;
        }
-       
+
        public Long getNumberOfPartizipants() {
                return numberOfPartizipants;
        }
+
        public void setNumberOfPartizipants(Long numberOfPartizipants) {
                this.numberOfPartizipants = numberOfPartizipants;
        }
-       
-       
+
        public Boolean getAppointment() {
                return appointment;
        }
+
        public void setAppointment(Boolean appointment) {
                this.appointment = appointment;
        }
-       
+
        public Boolean getIsDemoRoom() {
                return isDemoRoom;
        }
+
        public void setIsDemoRoom(Boolean isDemoRoom) {
                this.isDemoRoom = isDemoRoom;
        }
-       
+
        public Integer getDemoTime() {
                return demoTime;
        }
+
        public void setDemoTime(Integer demoTime) {
                this.demoTime = demoTime;
        }
-       
+
        public Boolean getIsModeratedRoom() {
                return isModeratedRoom;
        }
+
        public void setIsModeratedRoom(Boolean isModeratedRoom) {
                this.isModeratedRoom = isModeratedRoom;
        }
 
-    public Long getExternalRoomId() {
-            return externalRoomId;
-    }
-    public void setExternalRoomId(Long externalRoomId) {
-            this.externalRoomId = externalRoomId;
-    }
-
-    public String getExternalRoomType() {
-            return externalRoomType;
-    }
-    public void setExternalRoomType(String externalRoomType) {
-            this.externalRoomType = externalRoomType;
-    }
-       
+       public Long getExternalRoomId() {
+               return externalRoomId;
+       }
+
+       public void setExternalRoomId(Long externalRoomId) {
+               this.externalRoomId = externalRoomId;
+       }
+
+       public String getExternalRoomType() {
+               return externalRoomType;
+       }
+
+       public void setExternalRoomType(String externalRoomType) {
+               this.externalRoomType = externalRoomType;
+       }
+
        public Boolean getAllowUserQuestions() {
                return allowUserQuestions;
        }
+
        public void setAllowUserQuestions(Boolean allowUserQuestions) {
                this.allowUserQuestions = allowUserQuestions;
        }
-       
+
        public String getSipNumber() {
                return sipNumber;
        }
+
        public void setSipNumber(String sipNumber) {
                this.sipNumber = sipNumber;
        }
-       
+
        public String getConferencePin() {
                return conferencePin;
        }
+
        public void setConferencePin(String conferencePin) {
                this.conferencePin = conferencePin;
        }
-       
+
        public Boolean getIsAudioOnly() {
                return isAudioOnly;
        }
+
        public void setIsAudioOnly(Boolean isAudioOnly) {
                this.isAudioOnly = isAudioOnly;
        }
-       
+
        public Boolean getIsClosed() {
                return isClosed;
        }
+
        public void setIsClosed(Boolean isClosed) {
                this.isClosed = isClosed;
        }
-       
+
        public String getRedirectURL() {
                return redirectURL;
        }
+
        public void setRedirectURL(String redirectURL) {
                this.redirectURL = redirectURL;
        }
-       
+
        public Long getOwnerId() {
                return ownerId;
        }
+
        public void setOwnerId(Long ownerId) {
                this.ownerId = ownerId;
        }
-       
+
        public Boolean getWaitForRecording() {
                return waitForRecording;
        }
+
        public void setWaitForRecording(Boolean waitForRecording) {
                this.waitForRecording = waitForRecording;
        }
-       
+
        public Boolean getAllowRecording() {
                return allowRecording;
        }
+
        public void setAllowRecording(Boolean allowRecording) {
                this.allowRecording = allowRecording;
        }
@@ -386,59 +421,66 @@ public class Rooms implements Serializab
        public Boolean getHideTopBar() {
                return hideTopBar;
        }
+
        public void setHideTopBar(Boolean hideTopBar) {
                this.hideTopBar = hideTopBar;
        }
-       
+
        public Boolean getHideChat() {
                return hideChat;
        }
+
        public void setHideChat(Boolean hideChat) {
                this.hideChat = hideChat;
        }
-       
+
        public Boolean getHideActivitiesAndActions() {
                return hideActivitiesAndActions;
        }
+
        public void setHideActivitiesAndActions(Boolean 
hideActivitiesAndActions) {
                this.hideActivitiesAndActions = hideActivitiesAndActions;
        }
-       
+
        public Boolean getHideFilesExplorer() {
                return hideFilesExplorer;
        }
+
        public void setHideFilesExplorer(Boolean hideFilesExplorer) {
                this.hideFilesExplorer = hideFilesExplorer;
        }
-       
+
        public Boolean getHideActionsMenu() {
                return hideActionsMenu;
        }
+
        public void setHideActionsMenu(Boolean hideActionsMenu) {
                this.hideActionsMenu = hideActionsMenu;
        }
-       
+
        public Boolean getHideScreenSharing() {
                return hideScreenSharing;
        }
+
        public void setHideScreenSharing(Boolean hideScreenSharing) {
                this.hideScreenSharing = hideScreenSharing;
        }
-       
+
        public Boolean getHideWhiteboard() {
                return hideWhiteboard;
        }
+
        public void setHideWhiteboard(Boolean hideWhiteboard) {
                this.hideWhiteboard = hideWhiteboard;
        }
-       
+
        public Boolean getShowMicrophoneStatus() {
                return showMicrophoneStatus;
        }
+
        public void setShowMicrophoneStatus(Boolean showMicrophoneStatus) {
                this.showMicrophoneStatus = showMicrophoneStatus;
        }
-    
 
        public Server getServer() {
                return server;
@@ -447,16 +489,29 @@ public class Rooms implements Serializab
        public void setServer(Server server) {
                this.server = server;
        }
+
        public List<RoomModerators> getModerators() {
                return moderators;
        }
+
        public void setModerators(List<RoomModerators> moderators) {
                this.moderators = moderators;
        }
+
        public Boolean getChatModerated() {
                return chatModerated;
        }
+
        public void setChatModerated(Boolean chatModerated) {
                this.chatModerated = chatModerated;
        }
+
+       public List<Rooms_Organisation> getRoomOrganisations() {
+               return roomOrganisations;
+       }
+
+       public void setRoomOrganisations(List<Rooms_Organisation> 
roomOrganisations) {
+               this.roomOrganisations = roomOrganisations;
+       }
+
 }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms_Organisation.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms_Organisation.java?rev=1395007&r1=1395006&r2=1395007&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms_Organisation.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms_Organisation.java
 Sat Oct  6 11:44:27 2012
@@ -46,7 +46,7 @@ public class Rooms_Organisation implemen
        @Element(data=true)
        private Long rooms_organisation_id;
        
-       @ManyToOne(fetch = FetchType.EAGER) 
+       @ManyToOne(fetch = FetchType.LAZY)
        @JoinColumn(name="rooms_id", nullable=true)
        @Element(name="rooms_id", data=true, required=false)
        private Rooms room;
@@ -66,7 +66,14 @@ public class Rooms_Organisation implemen
        @Element(data=true)
        private boolean deleted;
 
-    public Organisation getOrganisation() {
+       public Rooms_Organisation(Organisation org) {
+               this.organisation = org;
+       }
+
+       public Rooms_Organisation() {
+       }
+
+       public Organisation getOrganisation() {
                return organisation;
        }
        public void setOrganisation(Organisation organisation) {

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/Users.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/Users.java?rev=1395007&r1=1395006&r2=1395007&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/Users.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/Users.java
 Sat Oct  6 11:44:27 2012
@@ -40,6 +40,7 @@ import javax.persistence.OneToOne;
 import javax.persistence.Table;
 import javax.persistence.Transient;
 
+import org.apache.openjpa.persistence.ElementDependent;
 import org.apache.openmeetings.persistence.beans.OmEntity;
 import org.apache.openmeetings.persistence.beans.adresses.Adresses;
 import org.apache.openmeetings.persistence.beans.adresses.States;
@@ -173,6 +174,7 @@ public class Users implements Serializab
        @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
        @JoinColumn(name = "user_id", insertable = true, updatable = true)
        @ElementList(name = "organisations")
+       @ElementDependent
        private List<Organisation_Users> organisation_users = new 
ArrayList<Organisation_Users>();
 
        @ManyToOne(fetch = FetchType.EAGER)

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java?rev=1395007&r1=1395006&r2=1395007&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java
 Sat Oct  6 11:44:27 2012
@@ -433,12 +433,11 @@ public class ConferenceService {
         */
        public List<RoomTypes> getRoomTypes(String SID) {
                Long users_id = sessionManagement.checkSession(SID);
-
-               log.debug("users_id " + users_id);
-
                Long user_level = userManagement.getUserLevelByID(users_id);
-
-               return roommanagement.getAllRoomTypes(user_level);
+               if (authLevelManagement.checkUserLevel(user_level)) {
+                       return roommanagement.getAllRoomTypes();
+               }
+               return null;
        }
 
        /**

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.java?rev=1395007&r1=1395006&r2=1395007&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.java
 Sat Oct  6 11:44:27 2012
@@ -67,8 +67,12 @@ public class GroupUsersPanel extends Pan
                        @Override
                        protected void populateItem(Item<Organisation_Users> 
item) {
                                final Organisation_Users orgUser = 
item.getModelObject();
-                               Users u = 
Application.getBean(UsersDaoImpl.class).get(orgUser.getUser_id());
-                               item.add(new Label("label", 
Model.of(getUser(u))));
+                               if (orgUser.getUser_id() != null) {
+                                       Users u = 
Application.getBean(UsersDaoImpl.class).get(orgUser.getUser_id());
+                                       item.add(new Label("label", 
Model.of(getUser(u))));
+                               } else {
+                                       item.add(new Label("label", 
Model.of("")));
+                               }
                                item.add(new 
WebMarkupContainer("deleteUserBtn").add(new AjaxEventBehavior("onclick"){
                                        private static final long 
serialVersionUID = 1L;
 

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomForm.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomForm.java?rev=1395007&r1=1395006&r2=1395007&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomForm.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomForm.java
 Sat Oct  6 11:44:27 2012
@@ -18,23 +18,80 @@
  */
 package org.apache.openmeetings.web.components.admin.rooms;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.openmeetings.data.conference.Roommanagement;
+import org.apache.openmeetings.data.user.Organisationmanagement;
+import org.apache.openmeetings.persistence.beans.domain.Organisation;
+import org.apache.openmeetings.persistence.beans.rooms.RoomTypes;
 import org.apache.openmeetings.persistence.beans.rooms.Rooms;
+import org.apache.openmeetings.persistence.beans.rooms.Rooms_Organisation;
+import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.components.admin.AdminBaseForm;
 import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
+import org.apache.wicket.markup.html.form.CheckBox;
+import org.apache.wicket.markup.html.form.ChoiceRenderer;
+import org.apache.wicket.markup.html.form.DropDownChoice;
+import org.apache.wicket.markup.html.form.IChoiceRenderer;
+import org.apache.wicket.markup.html.form.ListMultipleChoice;
 import org.apache.wicket.markup.html.form.RequiredTextField;
+import org.apache.wicket.markup.html.form.TextArea;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.util.time.Duration;
 
+import edu.emory.mathcs.backport.java.util.Arrays;
+
 public class RoomForm extends AdminBaseForm<Rooms> {
 
        private static final long serialVersionUID = 1L;
 
+       Object[] array = { 2L, 4L, 6L, 8L, 10L, 12L, 14L, 16L, 20L, 25L, 32L, 
50L,
+                       100L, 150L, 200L, 500L, 1000L };
+       @SuppressWarnings("unchecked")
+       List<Long> DROPDOWN_NUMBER_OF_PARTICIPANTS = Arrays.asList(array);
+
        public RoomForm(String id, final Rooms room) {
                super(id, new CompoundPropertyModel<Rooms>(room));
                setOutputMarkupId(true);
-               
+
                add(new RequiredTextField<String>("name"));
 
+               add(new DropDownChoice<Long>("numberOfPartizipants", //
+                               DROPDOWN_NUMBER_OF_PARTICIPANTS, //
+                               new IChoiceRenderer<Long>() {
+                                       private static final long 
serialVersionUID = 1L;
+                                       public Object getDisplayValue(Long id) {
+                                               return id;
+                                       }
+                                       public String getIdValue(Long id, int 
index) {
+                                               return "" + id;
+                                       }
+                               }));
+
+               add(new DropDownChoice<RoomTypes>("roomtype", 
Application.getBean(
+                               Roommanagement.class).getAllRoomTypes(),
+                               new ChoiceRenderer<RoomTypes>("name", 
"roomtypes_id")));
+
+               add(new TextArea<String>("comment"));
+
+               add(new CheckBox("appointment"));
+               add(new CheckBox("ispublic"));
+
+               List<Organisation> orgList = Application.getBean(
+                               
Organisationmanagement.class).getOrganisations(3L);
+               List<Rooms_Organisation> orgRooms = new 
ArrayList<Rooms_Organisation>(
+                               orgList.size());
+               for (Organisation org : orgList) {
+                       orgRooms.add(new Rooms_Organisation(org));
+               }
+               ListMultipleChoice<Rooms_Organisation> orgChoiceList = new 
ListMultipleChoice<Rooms_Organisation>(
+                               "roomOrganisations", orgRooms,
+                               new 
ChoiceRenderer<Rooms_Organisation>("organisation.name",
+                                               
"organisation.organisation_id"));
+               orgChoiceList.setMaxRows(6);
+               add(orgChoiceList);
+
                // attach an ajax validation behavior to all form component's 
keydown
                // event and throttle it down to once per second
                AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown",

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomsPanel.html
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomsPanel.html?rev=1395007&r1=1395006&r2=1395007&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomsPanel.html
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomsPanel.html
 Sat Oct  6 11:44:27 2012
@@ -52,6 +52,25 @@
                                                <fieldset>
                                                        
<legend><wicket:ommessage key="187" /></legend>
                                                        <wicket:ommessage 
key="193" /> <input type="text" wicket:id="name" />
+                                                       <br/>
+                                                       <wicket:ommessage 
key="482" /> <select wicket:id="numberOfPartizipants"/>
+                                           <br/>
+                                           <wicket:ommessage key="194" /> 
<select wicket:id="roomtype"/>
+                                           <br/>
+                                           <wicket:ommessage key="196" /> 
<textarea style="width: 200px; height: 100px;" wicket:id="comment"/>
+                                           <br/>
+                                           <wicket:ommessage key="620" /> 
<input type="checkbox" wicket:id="appointment" />
+                                           <br/>
+                                           <wicket:ommessage key="191" />
+                                           <br/>
+                                           <wicket:ommessage key="195" /> 
<input type="checkbox" wicket:id="ispublic" />
+                                           <br/>
+                                           <wicket:ommessage key="828" />
+                                           <br/>
+                                           <wicket:ommessage key="191" />
+                                           <br/>
+                                           <wicket:ommessage key="191" /> 
<select wicket:id="roomOrganisations"/>
+                                           <br/>
                                                </fieldset>
                                        </form>
                                </td>


Reply via email to