You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2014/07/11 21:14:33 UTC
svn commit: r1609773 - in /openmeetings:
branches/3.0.x/WebContent/src/modules/conference/interviewuserlist/
branches/3.0.x/WebContent/swf10/base/remote/
branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/user/
branches/3.0.x/src/db/java/org/apa...
Author: solomax
Date: Fri Jul 11 19:14:32 2014
New Revision: 1609773
URL: http://svn.apache.org/r1609773
Log:
[OPENMEETINGS-1040] select2 is used to set/display user groups;
code clean-up
Modified:
openmeetings/branches/3.0.x/WebContent/src/modules/conference/interviewuserlist/interviewWhiteboard.lzx
openmeetings/branches/3.0.x/WebContent/swf10/base/remote/baseVideoStream.lzx
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/user/OrganisationDao.java
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/user/OrganisationUserDao.java
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/user/Organisation.java
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.java
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.html
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/OrganisationDao.java
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/OrganisationUserDao.java
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Organisation.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.html
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
Modified: openmeetings/branches/3.0.x/WebContent/src/modules/conference/interviewuserlist/interviewWhiteboard.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/src/modules/conference/interviewuserlist/interviewWhiteboard.lzx?rev=1609773&r1=1609772&r2=1609773&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/src/modules/conference/interviewuserlist/interviewWhiteboard.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/src/modules/conference/interviewuserlist/interviewWhiteboard.lzx Fri Jul 11 19:14:32 2014
@@ -99,8 +99,7 @@
<!--
public synchronized Boolean startInterviewRecording()
-->
- <netRemoteCallHib name="startInterviewRecording" funcname="startInterviewRecording"
- remotecontext="$once{ canvas.thishib }" >
+ <netRemoteCallHib name="startInterviewRecording" funcname="startInterviewRecording" remotecontext="$once{ canvas.thishib }" >
<handler name="ondata" args="value">
<![CDATA[
if ($debug) Debug.write("startInterviewRecording: ",value);
@@ -111,8 +110,7 @@
</handler>
</netRemoteCallHib>
- <netRemoteCallHib name="stopInterviewRecording" funcname="stopInterviewRecording"
- remotecontext="$once{ canvas.thishib }" >
+ <netRemoteCallHib name="stopInterviewRecording" funcname="stopInterviewRecording" remotecontext="$once{ canvas.thishib }" >
<handler name="ondata" args="value">
<![CDATA[
if ($debug) Debug.write("stopInterviewRecording: ",value);
@@ -149,4 +147,4 @@
</class>
-</library>
\ No newline at end of file
+</library>
Modified: openmeetings/branches/3.0.x/WebContent/swf10/base/remote/baseVideoStream.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/swf10/base/remote/baseVideoStream.lzx?rev=1609773&r1=1609772&r2=1609773&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/swf10/base/remote/baseVideoStream.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/swf10/base/remote/baseVideoStream.lzx Fri Jul 11 19:14:32 2014
@@ -236,6 +236,7 @@
}
videoStreamSettings.setQuality(camReference.bandwidth, camReference.quality);
videoStreamSettings.setKeyFrameInterval(camReference.keyFrameInterval);
+ if ($debug) Debug.write("::keyFrameInterval " + camReference.keyFrameInterval);
videoStreamSettings.setMode(camReference.width, camReference.height, camReference.fps);
this._ns.videoStreamSettings = videoStreamSettings;
}
Modified: openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/user/OrganisationDao.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/user/OrganisationDao.java?rev=1609773&r1=1609772&r2=1609773&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/user/OrganisationDao.java (original)
+++ openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/user/OrganisationDao.java Fri Jul 11 19:14:32 2014
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.db.dao.user;
+import java.util.Collection;
import java.util.Date;
import java.util.List;
@@ -74,6 +75,10 @@ public class OrganisationDao implements
return q.getSingleResult();
}
+ public List<Organisation> get(Collection<Long> ids) {
+ return em.createNamedQuery("getOrganisationsByIds", Organisation.class).setParameter("ids", ids).getResultList();
+ }
+
public Organisation update(Organisation entity, Long userId) {
if (entity.getOrganisation_id() == null) {
if (userId != null) {
Modified: openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/user/OrganisationUserDao.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/user/OrganisationUserDao.java?rev=1609773&r1=1609772&r2=1609773&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/user/OrganisationUserDao.java (original)
+++ openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/user/OrganisationUserDao.java Fri Jul 11 19:14:32 2014
@@ -121,17 +121,26 @@ public class OrganisationUserDao impleme
entity.setUpdatetime(new Date());
entity = em.merge(entity);
}
+ updateUser(entity, false, userId);
return entity;
}
- public void delete(Organisation_Users entity, Long userId) {
- if (entity.getOrganisation_users_id() != null) {
- User u = usersDao.get(entity.getUser().getUser_id());
- int idx = u.getOrganisation_users().indexOf(entity);
- //entity has been detached need to re-fetch
+ private void updateUser(Organisation_Users entity, boolean delete, Long userId) {
+ //entity has been detached need to re-fetch
+ User u = usersDao.get(entity.getUser().getUser_id());
+ int idx = u.getOrganisation_users().indexOf(entity);
+ if (delete && idx > -1) {
Organisation_Users ou = u.getOrganisation_users().remove(idx);
em.remove(ou);
- usersDao.update(u, userId);
+ } else if (!delete && idx < 0) {
+ u.getOrganisation_users().add(entity);
+ }
+ usersDao.update(u, userId);
+ }
+
+ public void delete(Organisation_Users entity, Long userId) {
+ if (entity.getOrganisation_users_id() != null) {
+ updateUser(entity, true, userId);
}
}
}
Modified: openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/user/Organisation.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/user/Organisation.java?rev=1609773&r1=1609772&r2=1609773&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/user/Organisation.java (original)
+++ openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/user/Organisation.java Fri Jul 11 19:14:32 2014
@@ -40,6 +40,8 @@ import org.simpleframework.xml.Root;
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="getOrganisationsByIds",
+ query="SELECT c FROM Organisation AS c WHERE c.organisation_id IN :ids")
, @NamedQuery(name="getOrganisationsByUserId",
query="SELECT ou.organisation FROM User u, IN(u.organisation_users) ou WHERE u.deleted = false AND u.user_id = :user_id")
, @NamedQuery(name="getNondeletedOrganisations", query="SELECT o FROM Organisation o WHERE o.deleted = false ORDER BY o.organisation_id")
Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.java?rev=1609773&r1=1609772&r2=1609773&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.java (original)
+++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.java Fri Jul 11 19:14:32 2014
@@ -18,6 +18,8 @@
*/
package org.apache.openmeetings.web.admin.groups;
+import static org.apache.openmeetings.web.app.Application.getBean;
+
import java.util.ArrayList;
import java.util.List;
@@ -25,7 +27,6 @@ import org.apache.openmeetings.db.dao.us
import org.apache.openmeetings.db.entity.user.Organisation_Users;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.web.admin.SearchableDataView;
-import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.common.ConfirmCallListener;
import org.apache.openmeetings.web.common.PagedEntityListPanel;
@@ -64,7 +65,7 @@ public class GroupUsersPanel extends Pan
@Override
protected void onUpdate(AjaxRequestTarget target) {
if (orgUser.getOrganisation_users_id() != null) {
- Application.getBean(OrganisationUserDao.class).update(orgUser, WebSession.getUserId());
+ getBean(OrganisationUserDao.class).update(orgUser, WebSession.getUserId());
}
}
}));
@@ -93,7 +94,7 @@ public class GroupUsersPanel extends Pan
}
}
} else {
- Application.getBean(OrganisationUserDao.class).delete(orgUser, WebSession.getUserId());
+ getBean(OrganisationUserDao.class).delete(orgUser, WebSession.getUserId());
}
target.add(GroupUsersPanel.this);
}
Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.html
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.html?rev=1609773&r1=1609772&r2=1609773&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.html (original)
+++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.html Fri Jul 11 19:14:32 2014
@@ -68,7 +68,7 @@
<textarea wicket:id="adresses.comment" />
</div>
<div class="formelement">
- <label><wicket:ommessage key="161" /></label><select wicket:id="organisation_users" style="height: 80px" />
+ <label><wicket:ommessage key="161" /></label><input type="hidden" class="input" wicket:id="organisation_users" style="height: 80px" />
</div>
</wicket:panel>
</html>
\ No newline at end of file
Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java?rev=1609773&r1=1609772&r2=1609773&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java (original)
+++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/common/GeneralUserForm.java Fri Jul 11 19:14:32 2014
@@ -25,8 +25,10 @@ import static org.apache.openmeetings.we
import static org.apache.wicket.validation.validator.StringValidator.minimumLength;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
+import org.apache.directory.api.util.Strings;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.label.FieldLanguageDao;
import org.apache.openmeetings.db.dao.user.OrganisationDao;
@@ -49,7 +51,6 @@ import org.apache.wicket.markup.html.for
import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.form.ListMultipleChoice;
import org.apache.wicket.markup.html.form.PasswordTextField;
import org.apache.wicket.markup.html.form.RequiredTextField;
import org.apache.wicket.markup.html.form.TextArea;
@@ -60,6 +61,10 @@ import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
+import com.vaynberg.wicket.select2.Response;
+import com.vaynberg.wicket.select2.Select2MultiChoice;
+import com.vaynberg.wicket.select2.TextChoiceProvider;
+
public class GeneralUserForm extends Form<User> {
private static final long serialVersionUID = 5360667099083510234L;
private Salutation salutation;
@@ -135,7 +140,7 @@ public class GeneralUserForm extends For
, new ChoiceRenderer<State>("name", "state_id")));
add(new TextArea<String>("adresses.comment"));
- List<Organisation_Users> orgUsers;
+ final List<Organisation_Users> orgUsers;
if (isAdminForm) {
List<Organisation> orgList = getBean(OrganisationDao.class).get(0, Integer.MAX_VALUE);
orgUsers = new ArrayList<Organisation_Users>(orgList.size());
@@ -145,10 +150,41 @@ public class GeneralUserForm extends For
} else {
orgUsers = getModelObject().getOrganisation_users();
}
- ListMultipleChoice<Organisation_Users> orgChoiceList = new ListMultipleChoice<Organisation_Users>(
- "organisation_users", orgUsers,
- new ChoiceRenderer<Organisation_Users>("organisation.name", "organisation.organisation_id"));
- add(orgChoiceList.setEnabled(isAdminForm));
+ add(new Select2MultiChoice<Organisation_Users>("organisation_users", null, new TextChoiceProvider<Organisation_Users>() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected String getDisplayText(Organisation_Users choice) {
+ return choice.getOrganisation().getName();
+ }
+
+ @Override
+ protected Object getId(Organisation_Users choice) {
+ return choice.getOrganisation().getOrganisation_id();
+ }
+
+ @Override
+ public void query(String term, int page, Response<Organisation_Users> response) {
+ for (Organisation_Users ou : orgUsers) {
+ if (Strings.isEmpty(term) || (!Strings.isEmpty(term) && ou.getOrganisation().getName().contains(term))) {
+ response.add(ou);
+ }
+ }
+ }
+
+ @Override
+ public Collection<Organisation_Users> toChoices(Collection<String> _ids) {
+ List<Long> ids = new ArrayList<Long>();
+ for (String id : _ids) {
+ ids.add(Long.parseLong(id));
+ }
+ List<Organisation_Users> list = new ArrayList<Organisation_Users>();
+ for (Organisation o : getBean(OrganisationDao.class).get(ids)) {
+ list.add(new Organisation_Users(o));
+ }
+ return list;
+ }
+ }).setEnabled(isAdminForm));
}
@Override
Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/OrganisationDao.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/OrganisationDao.java?rev=1609773&r1=1609772&r2=1609773&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/OrganisationDao.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/OrganisationDao.java Fri Jul 11 19:14:32 2014
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.db.dao.user;
+import java.util.Collection;
import java.util.Date;
import java.util.List;
@@ -74,6 +75,10 @@ public class OrganisationDao implements
return q.getSingleResult();
}
+ public List<Organisation> get(Collection<Long> ids) {
+ return em.createNamedQuery("getOrganisationsByIds", Organisation.class).setParameter("ids", ids).getResultList();
+ }
+
public Organisation update(Organisation entity, Long userId) {
if (entity.getId() == null) {
if (userId != null) {
Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/OrganisationUserDao.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/OrganisationUserDao.java?rev=1609773&r1=1609772&r2=1609773&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/OrganisationUserDao.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/OrganisationUserDao.java Fri Jul 11 19:14:32 2014
@@ -121,17 +121,26 @@ public class OrganisationUserDao impleme
entity.setUpdatetime(new Date());
entity = em.merge(entity);
}
+ updateUser(entity, false, userId);
return entity;
}
- public void delete(Organisation_Users entity, Long userId) {
- if (entity.getId() != null) {
- User u = usersDao.get(entity.getUser().getId());
- int idx = u.getOrganisation_users().indexOf(entity);
- //entity has been detached need to re-fetch
+ private void updateUser(Organisation_Users entity, boolean delete, Long userId) {
+ //entity has been detached need to re-fetch
+ User u = usersDao.get(entity.getUser().getId());
+ int idx = u.getOrganisation_users().indexOf(entity);
+ if (delete && idx > -1) {
Organisation_Users ou = u.getOrganisation_users().remove(idx);
em.remove(ou);
- usersDao.update(u, userId);
+ } else if (!delete && idx < 0) {
+ u.getOrganisation_users().add(entity);
+ }
+ usersDao.update(u, userId);
+ }
+
+ public void delete(Organisation_Users entity, Long userId) {
+ if (entity.getId() != null) {
+ updateUser(entity, true, userId);
}
}
}
Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java?rev=1609773&r1=1609772&r2=1609773&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java Fri Jul 11 19:14:32 2014
@@ -571,10 +571,10 @@ public class UserDao implements IDataPro
/**
* login logic
*
- * @param SID
- * @param Username
- * @param Userpass
- * @return
+ * @param userOrEmail: login or email of the user being tested
+ * @param userpass: password of the user being tested
+ * @return User object in case of successful login
+ * @throws OmException in case of any issue
*/
public User login(String userOrEmail, String userpass) throws OmException {
List<User> users = em.createNamedQuery("getUserByLoginOrEmail", User.class)
Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Organisation.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Organisation.java?rev=1609773&r1=1609772&r2=1609773&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Organisation.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/Organisation.java Fri Jul 11 19:14:32 2014
@@ -39,6 +39,8 @@ import org.simpleframework.xml.Root;
query="SELECT c FROM Organisation AS c WHERE c.id = :organisation_id AND c.deleted = :deleted")
, @NamedQuery(name="getAnyOrganisationById",
query="SELECT c FROM Organisation AS c WHERE c.id = :organisation_id")
+ , @NamedQuery(name="getOrganisationsByIds",
+ query="SELECT c FROM Organisation AS c WHERE c.id IN :ids")
, @NamedQuery(name="getOrganisationsByUserId",
query="SELECT ou.organisation FROM User u, IN(u.organisation_users) ou WHERE u.deleted = false AND u.id = :user_id")
, @NamedQuery(name="getNondeletedOrganisations", query="SELECT o FROM Organisation o WHERE o.deleted = false ORDER BY o.id")
Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.java?rev=1609773&r1=1609772&r2=1609773&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.java Fri Jul 11 19:14:32 2014
@@ -18,6 +18,8 @@
*/
package org.apache.openmeetings.web.admin.groups;
+import static org.apache.openmeetings.web.app.Application.getBean;
+
import java.util.ArrayList;
import java.util.List;
@@ -25,7 +27,6 @@ import org.apache.openmeetings.db.dao.us
import org.apache.openmeetings.db.entity.user.Organisation_Users;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.web.admin.SearchableDataView;
-import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.common.ConfirmCallListener;
import org.apache.openmeetings.web.common.PagedEntityListPanel;
@@ -64,7 +65,7 @@ public class GroupUsersPanel extends Pan
@Override
protected void onUpdate(AjaxRequestTarget target) {
if (orgUser.getId() != null) {
- Application.getBean(OrganisationUserDao.class).update(orgUser, WebSession.getUserId());
+ getBean(OrganisationUserDao.class).update(orgUser, WebSession.getUserId());
}
}
}));
@@ -93,7 +94,7 @@ public class GroupUsersPanel extends Pan
}
}
} else {
- Application.getBean(OrganisationUserDao.class).delete(orgUser, WebSession.getUserId());
+ getBean(OrganisationUserDao.class).delete(orgUser, WebSession.getUserId());
}
target.add(GroupUsersPanel.this);
}
Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.html?rev=1609773&r1=1609772&r2=1609773&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.html (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.html Fri Jul 11 19:14:32 2014
@@ -68,7 +68,7 @@
<textarea wicket:id="adresses.comment" />
</div>
<div class="formelement">
- <label><wicket:ommessage key="161" /></label><select wicket:id="organisation_users" style="height: 80px" />
+ <label><wicket:ommessage key="161" /></label><input type="hidden" class="input" wicket:id="organisation_users" style="height: 80px" />
</div>
</wicket:panel>
</html>
\ No newline at end of file
Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java?rev=1609773&r1=1609772&r2=1609773&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java Fri Jul 11 19:14:32 2014
@@ -25,8 +25,10 @@ import static org.apache.openmeetings.we
import static org.apache.wicket.validation.validator.StringValidator.minimumLength;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
+import org.apache.directory.api.util.Strings;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.label.FieldLanguageDao;
import org.apache.openmeetings.db.dao.user.OrganisationDao;
@@ -49,7 +51,6 @@ import org.apache.wicket.markup.html.for
import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.form.ListMultipleChoice;
import org.apache.wicket.markup.html.form.PasswordTextField;
import org.apache.wicket.markup.html.form.RequiredTextField;
import org.apache.wicket.markup.html.form.TextArea;
@@ -60,6 +61,10 @@ import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
+import com.vaynberg.wicket.select2.Response;
+import com.vaynberg.wicket.select2.Select2MultiChoice;
+import com.vaynberg.wicket.select2.TextChoiceProvider;
+
public class GeneralUserForm extends Form<User> {
private static final long serialVersionUID = 1L;
private Salutation salutation;
@@ -135,7 +140,7 @@ public class GeneralUserForm extends For
, new ChoiceRenderer<State>("name", "state_id")));
add(new TextArea<String>("adresses.comment"));
- List<Organisation_Users> orgUsers;
+ final List<Organisation_Users> orgUsers;
if (isAdminForm) {
List<Organisation> orgList = getBean(OrganisationDao.class).get(0, Integer.MAX_VALUE);
orgUsers = new ArrayList<Organisation_Users>(orgList.size());
@@ -145,10 +150,41 @@ public class GeneralUserForm extends For
} else {
orgUsers = getModelObject().getOrganisation_users();
}
- ListMultipleChoice<Organisation_Users> orgChoiceList = new ListMultipleChoice<Organisation_Users>(
- "organisation_users", orgUsers,
- new ChoiceRenderer<Organisation_Users>("organisation.name", "organisation.id"));
- add(orgChoiceList.setEnabled(isAdminForm));
+ add(new Select2MultiChoice<Organisation_Users>("organisation_users", null, new TextChoiceProvider<Organisation_Users>() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected String getDisplayText(Organisation_Users choice) {
+ return choice.getOrganisation().getName();
+ }
+
+ @Override
+ protected Object getId(Organisation_Users choice) {
+ return choice.getOrganisation().getId();
+ }
+
+ @Override
+ public void query(String term, int page, Response<Organisation_Users> response) {
+ for (Organisation_Users ou : orgUsers) {
+ if (Strings.isEmpty(term) || (!Strings.isEmpty(term) && ou.getOrganisation().getName().contains(term))) {
+ response.add(ou);
+ }
+ }
+ }
+
+ @Override
+ public Collection<Organisation_Users> toChoices(Collection<String> _ids) {
+ List<Long> ids = new ArrayList<Long>();
+ for (String id : _ids) {
+ ids.add(Long.parseLong(id));
+ }
+ List<Organisation_Users> list = new ArrayList<Organisation_Users>();
+ for (Organisation o : getBean(OrganisationDao.class).get(ids)) {
+ list.add(new Organisation_Users(o));
+ }
+ return list;
+ }
+ }).setEnabled(isAdminForm));
}
@Override