Author: solomax
Date: Fri Sep 21 11:31:10 2012
New Revision: 1388435

URL: http://svn.apache.org/viewvc?rev=1388435&view=rev
Log:
Wicket: Basic functionality of group view is partially implemented

Added:
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationDAO.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationUserDAO.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.html
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.java
Modified:
    
incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
    
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Organisationmanagement.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation_Users.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupForm.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.html
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UsersPanel.java

Modified: 
incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml?rev=1388435&r1=1388434&r2=1388435&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
 Fri Sep 21 11:31:10 2012
@@ -179,6 +179,8 @@
                
class="org.apache.openmeetings.data.calendar.daos.AppointmentCategoryDaoImpl" />
        <bean id="roommanagement" 
class="org.apache.openmeetings.data.conference.Roommanagement" />
        <bean id="organisationmanagement" 
class="org.apache.openmeetings.data.user.Organisationmanagement" />
+       <bean id="organisationDAO" 
class="org.apache.openmeetings.data.user.OrganisationDAO" />
+       <bean id="organisationUserDAO" 
class="org.apache.openmeetings.data.user.OrganisationUserDAO" />
        <bean id="salutationmanagement" 
class="org.apache.openmeetings.data.user.Salutationmanagement" />
        <bean id="errorManagement" 
class="org.apache.openmeetings.data.basic.ErrorManagement" />
        <bean id="navimanagement" 
class="org.apache.openmeetings.data.basic.Navimanagement" />

Modified: 
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css?rev=1388435&r1=1388434&r2=1388435&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css 
(original)
+++ 
incubator/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css 
Fri Sep 21 11:31:10 2012
@@ -226,5 +226,5 @@ div.tableWrapper {
 }
 
 .adminForm select {
-       width: 200px;
+       max-width: 200px;
 }
\ No newline at end of file

Added: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationDAO.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationDAO.java?rev=1388435&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationDAO.java
 (added)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationDAO.java
 Fri Sep 21 11:31:10 2012
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.data.user;
+
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.apache.openmeetings.data.OmDAO;
+import org.apache.openmeetings.persistence.beans.domain.Organisation;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class OrganisationDAO implements OmDAO<Organisation> {
+       @PersistenceContext
+       private EntityManager em;
+
+       public Organisation get(long id) {
+               TypedQuery<Organisation> query = 
em.createNamedQuery("getOrganisationById", Organisation.class);
+               query.setParameter("organisation_id", id);
+               query.setParameter("deleted", false);
+               Organisation o = null;
+               try {
+                       o = query.getSingleResult();
+               } catch (NoResultException e) {
+                       // o = null;
+               }
+               return o;
+       }
+
+       public List<Organisation> get(int start, int count) {
+               TypedQuery<Organisation> q = 
em.createNamedQuery("getNondeletedOrganisations", Organisation.class);
+               q.setFirstResult(start);
+               q.setMaxResults(count);
+               return q.getResultList();
+       }
+
+       public long count() {
+               TypedQuery<Long> q = em.createNamedQuery("countOrganisations", 
Long.class);
+               return q.getSingleResult();
+       }
+
+       public void update(Organisation entity) {
+               // TODO Auto-generated method stub
+               
+       }
+
+       public void delete(Organisation entity) {
+               // TODO Auto-generated method stub
+               
+       }
+}

Added: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationUserDAO.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationUserDAO.java?rev=1388435&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationUserDAO.java
 (added)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationUserDAO.java
 Fri Sep 21 11:31:10 2012
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.data.user;
+
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.apache.openmeetings.data.OmDAO;
+import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
+
+public class OrganisationUserDAO implements OmDAO<Organisation_Users> {
+       @PersistenceContext
+       private EntityManager em;
+
+       public Organisation_Users get(long id) {
+               TypedQuery<Organisation_Users> q = 
em.createNamedQuery("getOrganisationUsersById", Organisation_Users.class);
+               q.setParameter("id", id);
+               return q.getSingleResult();
+       }
+
+       public List<Organisation_Users> get(int start, int count) {
+               throw new RuntimeException("Should not be used");
+       }
+
+       public List<Organisation_Users> get(long orgId, int start, int count) {
+               TypedQuery<Organisation_Users> q = 
em.createNamedQuery("getOrganisationUsersByOrgId", Organisation_Users.class);
+               q.setParameter("id", orgId);
+               q.setFirstResult(start);
+               q.setMaxResults(count);
+               return q.getResultList();
+       }
+
+       public long count() {
+               throw new RuntimeException("Should not be used");
+       }
+
+       public long count(long orgId) {
+               TypedQuery<Long> q = 
em.createNamedQuery("countOrganisationUsers", Long.class);
+               q.setParameter("id", orgId);
+               return q.getSingleResult();
+       }
+
+       public void update(Organisation_Users entity) {
+               // TODO Auto-generated method stub
+               
+       }
+
+       public void delete(Organisation_Users entity) {
+               // TODO Auto-generated method stub
+               
+       }
+
+}

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Organisationmanagement.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Organisationmanagement.java?rev=1388435&r1=1388434&r2=1388435&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Organisationmanagement.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Organisationmanagement.java
 Fri Sep 21 11:31:10 2012
@@ -64,6 +64,8 @@ public class Organisationmanagement {
        @Autowired
        private UsersDaoImpl usersDao;
        @Autowired
+       private OrganisationDAO orgDao;
+       @Autowired
        private AuthLevelmanagement authLevelManagement;
 
        /**
@@ -371,16 +373,7 @@ public class Organisationmanagement {
         */
        public Organisation getOrganisationById(long organisation_id) {
                try {
-                       TypedQuery<Organisation> query = 
em.createNamedQuery("getOrganisationById", Organisation.class);
-                       query.setParameter("organisation_id", organisation_id);
-                       query.setParameter("deleted", true);
-                       Organisation o = null;
-                       try {
-                               o = query.getSingleResult();
-                       } catch (NoResultException e) {
-                               // o = null;
-                       }
-                       return o;
+                       return orgDao.get(organisation_id);
                } catch (Exception ex2) {
                        log.error("[getOrganisationById]", ex2);
                }
@@ -823,12 +816,4 @@ public class Organisationmanagement {
                }
                return null;
        }
-
-       public List<Organisation> getNondeletedOrganisation(int first, int 
count) {
-               TypedQuery<Organisation> q = 
em.createNamedQuery("getNondeletedOrganisations", Organisation.class);
-               q.setFirstResult(first);
-               q.setMaxResults(count);
-               return q.getResultList();
-       }
-
 }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation.java?rev=1388435&r1=1388434&r2=1388435&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation.java
 Fri Sep 21 11:31:10 2012
@@ -37,12 +37,13 @@ import org.simpleframework.xml.Root;
 @Entity
 @NamedQueries({
        @NamedQuery(name="getOrganisationById",
-               query="SELECT c FROM Organisation AS c WHERE c.organisation_id 
= :organisation_id AND c.deleted <> :deleted")
+               query="SELECT c FROM Organisation AS c WHERE c.organisation_id 
= :organisation_id AND c.deleted = :deleted")
        , @NamedQuery(name="getAnyOrganisationById",
                query="SELECT c FROM Organisation AS c WHERE c.organisation_id 
= :organisation_id")
        , @NamedQuery(name="getOrganisationsByUserId",
                query="SELECT ou.organisation FROM Users u, 
IN(u.organisation_users) ou WHERE u.deleted = false AND u.user_id = :user_id")
        , @NamedQuery(name="getNondeletedOrganisations", query="SELECT u FROM 
Organisation u WHERE u.deleted = false")
+       , @NamedQuery(name="countOrganisations", query="SELECT COUNT(c) FROM 
Organisation AS c WHERE c.deleted = false")
 })
 @Table(name = "organisation")
 @Root(name="organisation")

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=1388435&r1=1388434&r2=1388435&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
 Fri Sep 21 11:31:10 2012
@@ -33,6 +33,7 @@ import javax.persistence.NamedQueries;
 import javax.persistence.NamedQuery;
 import javax.persistence.Table;
 
+import org.apache.openmeetings.persistence.beans.OmEntity;
 import org.simpleframework.xml.Element;
 import org.simpleframework.xml.Root;
 
@@ -44,10 +45,13 @@ import org.simpleframework.xml.Root;
                query="SELECT ou FROM Users u, IN(u.organisation_users) ou 
WHERE u.deleted = false AND u.user_id = :user_id AND 
ou.organisation.organisation_id = :organisation_id")
        , @NamedQuery(name="deleteUsersFromOrganisation",
        query="DELETE FROM Organisation_Users c WHERE 
c.organisation.organisation_id = :organisation_id")
+       , @NamedQuery(name="countOrganisationUsers", query="SELECT COUNT(c) 
FROM Organisation_Users c WHERE c.organisation.organisation_id = :id AND 
c.deleted = false")
+       , @NamedQuery(name="getOrganisationUsersById", query="SELECT c FROM 
Organisation_Users c WHERE c.organisation_users_id = :id")
+       , @NamedQuery(name="getOrganisationUsersByOrgId", query="SELECT c FROM 
Organisation_Users c WHERE c.organisation.organisation_id = :id AND c.deleted = 
false")
 })
 @Table(name = "organisation_users")
 @Root(name="user_organisation")
-public class Organisation_Users implements Serializable {
+public class Organisation_Users implements Serializable, OmEntity {
        private static final long serialVersionUID = 7206870465903375817L;
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupForm.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupForm.java?rev=1388435&r1=1388434&r2=1388435&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupForm.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupForm.java
 Fri Sep 21 11:31:10 2012
@@ -18,17 +18,54 @@
  */
 package org.apache.openmeetings.web.components.admin.groups;
 
+import org.apache.openmeetings.data.user.OrganisationDAO;
 import org.apache.openmeetings.persistence.beans.domain.Organisation;
+import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.components.admin.AdminBaseForm;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.RequiredTextField;
 import org.apache.wicket.model.CompoundPropertyModel;
 
 public class GroupForm extends AdminBaseForm<Organisation> {
-
-       private static final long serialVersionUID = 1L;
-
+       private static final long serialVersionUID = -1720731686053912700L;
+       private GroupUsersPanel listContainer;
+       
        public GroupForm(String id, final Organisation organisation) {
                super(id, new 
CompoundPropertyModel<Organisation>(organisation));
                setOutputMarkupId(true);
                
+               add(new RequiredTextField<String>("name"));
+               listContainer = new GroupUsersPanel("users", getOrgId());
+               add(listContainer);
+       }
+       
+       void updateView(AjaxRequestTarget target) {
+               listContainer.update(getOrgId());
+               target.add(listContainer);
+       }
+       
+       private long getOrgId() {
+               return getModelObject().getOrganisation_id() != null ? 
getModelObject().getOrganisation_id() : 0;
+       }
+       
+       @Override
+       protected void onNewSubmit(AjaxRequestTarget target, Form<?> f) {
+               this.setModelObject(new Organisation());
+               target.add(this);
+       }
+       
+       @Override
+       protected void onRefreshSubmit(AjaxRequestTarget target, Form<?> form) {
+               Organisation org = getModelObject();
+               if (org.getOrganisation_id() != null) {
+                       org = 
Application.getBean(OrganisationDAO.class).get(org.getOrganisation_id());
+               } else {
+                       org = new Organisation();
+               }
+               this.setModelObject(org);
+               listContainer.update(getOrgId());
+               target.add(this);
        }
+       
 }

Added: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.html
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.html?rev=1388435&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.html
 (added)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.html
 Fri Sep 21 11:31:10 2012
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<html xmlns="http://www.w3.org/1999/xhtml"; 
+       
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.5-strict.dtd"; 
lang="en">
+       <wicket:panel>
+               <div style="border: 1px solid black;">
+                       <span wicket:id="navigator">[dataview navigator]</span>
+                       <table class="adminListTable">
+                               <tr>
+                                       <th><wicket:ommessage key="177" /></th>
+                                       <th><wicket:ommessage key="275" /></th>
+                               </tr>                   
+                       <tr wicket:id="userList">
+                                       <td><span wicket:id="label"></span></td>
+                                       <td>Delete</td>
+                               </tr>
+                       </table>
+               </div>
+       </wicket:panel>
+</html>

Added: 
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=1388435&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.java
 (added)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.java
 Fri Sep 21 11:31:10 2012
@@ -0,0 +1,80 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.components.admin.groups;
+
+import org.apache.openmeetings.data.user.OrganisationUserDAO;
+import org.apache.openmeetings.data.user.dao.UsersDaoImpl;
+import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
+import org.apache.openmeetings.persistence.beans.user.Users;
+import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.components.admin.PagedEntityListPanel;
+import org.apache.openmeetings.web.data.OmDataProvider;
+import org.apache.wicket.AttributeModifier;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.markup.repeater.Item;
+import org.apache.wicket.markup.repeater.data.DataView;
+import org.apache.wicket.model.Model;
+
+public class GroupUsersPanel extends Panel {
+       private static final long serialVersionUID = -1813488722913433227L;
+       private long organisationId;
+       
+       public GroupUsersPanel(String id, long orgId) {
+               super(id);
+               this.organisationId = orgId;
+               setOutputMarkupId(true);
+               
+               DataView<Organisation_Users> dataView = new 
DataView<Organisation_Users>("userList", new 
OmDataProvider<Organisation_Users>(OrganisationUserDAO.class){
+                       private static final long serialVersionUID = 1L;
+
+                       public long size() {
+                               return 
Application.getBean(OrganisationUserDAO.class).count(organisationId);
+                       }
+                       
+                       public java.util.Iterator<? extends Organisation_Users> 
iterator(long first, long count) {
+                               return 
Application.getBean(OrganisationUserDAO.class).get(organisationId, (int)first, 
(int)count).iterator();
+                       }
+               }) {
+                       private static final long serialVersionUID = 
8715559628755439596L;
+
+                       @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(u.getLogin() + " [" + u.getFirstname() + ", " + u.getLastname() + 
"]")));
+                               item.add(AttributeModifier.append("class", 
((item.getIndex() % 2 == 1) ? "even" : "odd")));
+                       }
+               };
+               add(dataView).setOutputMarkupId(true);
+               add(new PagedEntityListPanel("navigator", dataView) {
+                       private static final long serialVersionUID = 
5097048616003411362L;
+
+                       @Override
+                       protected void onEvent(AjaxRequestTarget target) {
+                               target.add(GroupUsersPanel.this);
+                       }
+               });
+       }
+       
+       void update(long orgId) {
+               organisationId = orgId;
+       }
+}

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.html
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.html?rev=1388435&r1=1388434&r2=1388435&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.html
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.html
 Fri Sep 21 11:31:10 2012
@@ -23,7 +23,7 @@
        <wicket:panel>
                <table class="adminPanel">
                        <tr>
-                               <td class="adminPanelColumnTable">
+                               <td valign="top" class="adminPanelColumnTable">
                                        <span wicket:id="navigator">[dataview 
navigator]</span>
                                        <table class="adminListTable">
                                                <tr>
@@ -45,6 +45,26 @@
                                <td class="adminPanelColumnForm">
                                        <form wicket:id="form" 
class="adminForm">
                                                <div wicket:id="buttons"></div>
+                                               <table>
+                                                       <tr>
+                                                               <td 
style="font-weight: bold;"><wicket:ommessage key="170" /></td>
+                                                               <td>&nbsp;</td>
+                                                       </tr>
+                                                       <tr>
+                                                               
<td><wicket:ommessage key="171" /></td>
+                                                               <td><input 
type="text" wicket:id="name" /></td>
+                                                       </tr>
+                                                       <tr>
+                                                               <td 
style="font-weight: bold;"><wicket:ommessage key="273" /></td>
+                                                               <td>&nbsp;</td>
+                                                       </tr>
+                                                       <tr>
+                                                               
<td><wicket:ommessage key="177" /></td>
+                                                               <td>
+                                                                       <div 
wicket:id="users"></div>
+                                                               </td>
+                                                       </tr>
+                                               </table>
                                        </form>
                                </td>
                        </tr>

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.java?rev=1388435&r1=1388434&r2=1388435&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.java
 Fri Sep 21 11:31:10 2012
@@ -18,13 +18,11 @@
  */
 package org.apache.openmeetings.web.components.admin.groups;
 
-import java.util.Iterator;
-
-import org.apache.openmeetings.data.user.Organisationmanagement;
+import org.apache.openmeetings.data.user.OrganisationDAO;
 import org.apache.openmeetings.persistence.beans.domain.Organisation;
-import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.components.admin.AdminPanel;
 import org.apache.openmeetings.web.components.admin.PagedEntityListPanel;
+import org.apache.openmeetings.web.data.OmDataProvider;
 import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.ajax.AjaxEventBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -32,43 +30,21 @@ import org.apache.wicket.markup.html.Web
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.markup.repeater.data.DataView;
-import org.apache.wicket.markup.repeater.data.IDataProvider;
-import org.apache.wicket.model.CompoundPropertyModel;
-import org.apache.wicket.model.IModel;
 
 public class GroupsPanel extends AdminPanel {
 
        private static final long serialVersionUID = -1L;
-       @SuppressWarnings("unused")
-       private String selectedText = "Click on the table to change the room";
-       private GroupForm form;
        
        public GroupsPanel(String id) {
                super(id);
-               DataView<Organisation> dataView = new 
DataView<Organisation>("groupList", new IDataProvider<Organisation>(){
-                       private static final long serialVersionUID = -1L;
-
-                       public void detach() {
-                               //empty
-                       }
-
-                       public Iterator<? extends Organisation> iterator(long 
first, long count) {
-                               return 
Application.getBean(Organisationmanagement.class).getNondeletedOrganisation((int)first,
 (int)count).iterator();
-                       }
-
-                       public long size() {
-                               return 
Application.getBean(Organisationmanagement.class).selectMaxFromOrganisations();
-                       }
-
-                       public IModel<Organisation> model(Organisation object) {
-                               return new 
CompoundPropertyModel<Organisation>(object);
-                       }
-                       
-               }) {
+               final GroupForm form = new GroupForm("form", new 
Organisation());
+        add(form);
+               
+               DataView<Organisation> dataView = new 
DataView<Organisation>("groupList", new 
OmDataProvider<Organisation>(OrganisationDAO.class)) {
                        private static final long serialVersionUID = 
8715559628755439596L;
 
                        @Override
-                       protected void populateItem(final Item<Organisation> 
item) {
+                       protected void populateItem(Item<Organisation> item) {
                                final Organisation organisation = 
item.getModelObject();
                                item.add(new Label("organisation_id", "" + 
organisation.getOrganisation_id()));
                                item.add(new Label("name", "" + 
organisation.getName()));
@@ -77,28 +53,23 @@ public class GroupsPanel extends AdminPa
 
                                        protected void 
onEvent(AjaxRequestTarget target) {
                                                
form.setModelObject(organisation);
+                                               form.updateView(target);
                                                target.add(form);
                                        }
                                });
-                               item.add(AttributeModifier.replace("class", 
(item.getIndex() % 2 == 1) ? "even" : "odd"));
+                               item.add(AttributeModifier.append("class", 
"clickable " + ((item.getIndex() % 2 == 1) ? "even" : "odd")));
                        }
                };
-               
+
                final WebMarkupContainer listContainer = new 
WebMarkupContainer("listContainer");
                add(listContainer.add(dataView).setOutputMarkupId(true));
                add(new PagedEntityListPanel("navigator", dataView) {
-                       private static final long serialVersionUID = 
-7378765368303904897L;
+                       private static final long serialVersionUID = 
5097048616003411362L;
 
                        @Override
                        protected void onEvent(AjaxRequestTarget target) {
                                target.add(listContainer);
                        }
                });
-               
-               
-               Organisation organisation = new Organisation();
-               form = new GroupForm("form", organisation);
-        add(form);
-               
        }
 }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UsersPanel.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UsersPanel.java?rev=1388435&r1=1388434&r2=1388435&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UsersPanel.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UsersPanel.java
 Fri Sep 21 11:31:10 2012
@@ -36,8 +36,7 @@ public class UsersPanel extends AdminPan
        
        public UsersPanel(String id) {
                super(id);
-               Users user = new Users();
-               final UserForm form = new UserForm("form", user);
+               final UserForm form = new UserForm("form", new Users());
         add(form);
         
                DataView<Users> dataView = new DataView<Users>("userList", new 
OmDataProvider<Users>(UsersDaoImpl.class)) {


Reply via email to