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 2012/09/21 20:39:08 UTC
svn commit: r1388608 - in /incubator/openmeetings/trunk/singlewebapp:
WebContent/WEB-INF/ src/org/apache/openmeetings/data/
src/org/apache/openmeetings/data/basic/
src/org/apache/openmeetings/data/basic/dao/
src/org/apache/openmeetings/data/user/ src/o...
Author: solomax
Date: Fri Sep 21 18:39:07 2012
New Revision: 1388608
URL: http://svn.apache.org/viewvc?rev=1388608&view=rev
Log:
Wicket: Admin/Groups
OmDAO: userId is added to update/delete methods + implementations;
Organisation_Users: hashCode+equals are added for better work with list/set;
Ajax confirm was generalized;
Confirm was added to base form delete;
Groups: create/delete/update implemented
GroupUsers: delete + incomplete add is added
code cleanup;
Added:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationDAO.java
- copied, changed from r1388489, incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationDAO.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationUserDAO.java
- copied, changed from r1388489, incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationUserDAO.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/ConfirmCallListener.java
Removed:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationDAO.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationUserDAO.java
Modified:
incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/OmDAO.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Configurationmanagement.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguagesValuesDAO.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/LdapConfigDaoImpl.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Organisationmanagement.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDaoImpl.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/ConfirmableAjaxLink.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/AdminBaseFormPanel.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/GroupUsersPanel.html
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/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/labels/LangPanel.html
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.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=1388608&r1=1388607&r2=1388608&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 18:39:07 2012
@@ -179,8 +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="organisationDAO" class="org.apache.openmeetings.data.user.dao.OrganisationDAO" />
+ <bean id="organisationUserDAO" class="org.apache.openmeetings.data.user.dao.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/src/org/apache/openmeetings/data/OmDAO.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/OmDAO.java?rev=1388608&r1=1388607&r2=1388608&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/OmDAO.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/OmDAO.java Fri Sep 21 18:39:07 2012
@@ -26,6 +26,6 @@ public interface OmDAO<T extends OmEntit
T get(long id);
List<T> get(int start, int count);
long count();
- void update(T entity);
- void delete(T entity);
+ void update(T entity, long userId);
+ void delete(T entity, long userId);
}
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Configurationmanagement.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Configurationmanagement.java?rev=1388608&r1=1388607&r2=1388608&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Configurationmanagement.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Configurationmanagement.java Fri Sep 21 18:39:07 2012
@@ -387,12 +387,12 @@ public class Configurationmanagement imp
return selectMaxFromConfigurations();
}
- public void update(Configuration entity) {
+ public void update(Configuration entity, long userId) {
// TODO Auto-generated method stub
}
- public void delete(Configuration entity) {
+ public void delete(Configuration entity, long userId) {
// TODO Auto-generated method stub
}
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguagesValuesDAO.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguagesValuesDAO.java?rev=1388608&r1=1388607&r2=1388608&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguagesValuesDAO.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguagesValuesDAO.java Fri Sep 21 18:39:07 2012
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.data.basic;
+import java.util.Date;
import java.util.List;
import javax.persistence.EntityManager;
@@ -67,7 +68,8 @@ public class FieldLanguagesValuesDAO imp
return q.getSingleResult();
}
- public void update(Fieldlanguagesvalues entity) {
+ public void update(Fieldlanguagesvalues entity, long userId) {
+ entity.setUpdatetime(new Date());
if (entity.getFieldlanguagesvalues_id() == null) {
em.persist(entity);
} else {
@@ -75,8 +77,9 @@ public class FieldLanguagesValuesDAO imp
}
}
- public void delete(Fieldlanguagesvalues entity) {
+ public void delete(Fieldlanguagesvalues entity, long userId) {
entity.setDeleted(true);
+ entity.setUpdatetime(new Date());
entity = em.merge(entity);
}
}
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/LdapConfigDaoImpl.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/LdapConfigDaoImpl.java?rev=1388608&r1=1388607&r2=1388608&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/LdapConfigDaoImpl.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/LdapConfigDaoImpl.java Fri Sep 21 18:39:07 2012
@@ -285,13 +285,13 @@ public class LdapConfigDaoImpl implement
}
- public void update(LdapConfig entity) {
+ public void update(LdapConfig entity, long userId) {
// TODO Auto-generated method stub
}
- public void delete(LdapConfig entity) {
+ public void delete(LdapConfig entity, long userId) {
// 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=1388608&r1=1388607&r2=1388608&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 18:39:07 2012
@@ -38,6 +38,8 @@ import javax.persistence.criteria.Root;
import org.apache.openmeetings.OpenmeetingsVariables;
import org.apache.openmeetings.data.basic.AuthLevelmanagement;
import org.apache.openmeetings.data.beans.basic.SearchResult;
+import org.apache.openmeetings.data.user.dao.OrganisationDAO;
+import org.apache.openmeetings.data.user.dao.OrganisationUserDAO;
import org.apache.openmeetings.data.user.dao.UsersDaoImpl;
import org.apache.openmeetings.persistence.beans.domain.Organisation;
import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
@@ -66,6 +68,8 @@ public class Organisationmanagement {
@Autowired
private OrganisationDAO orgDao;
@Autowired
+ private OrganisationUserDAO orgUserDao;
+ @Autowired
private AuthLevelmanagement authLevelManagement;
/**
@@ -137,7 +141,7 @@ public class Organisationmanagement {
if (authLevelManagement.checkAdminLevel(user_level)) {
SearchResult<Organisation> sresult = new SearchResult<Organisation>();
sresult.setObjectName(Organisation.class.getName());
- sresult.setRecords(this.selectMaxFromOrganisations());
+ sresult.setRecords(orgDao.count());
sresult.setResult(this.getOrganisations(start, max, orderby,
asc));
return sresult;
@@ -202,24 +206,6 @@ public class Organisationmanagement {
}
/**
- *
- * @return
- */
- public Long selectMaxFromOrganisations() {
- try {
- // get all users
- TypedQuery<Long> query = em
- .createQuery("select max(c.organisation_id) from Organisation c where c.deleted = false", Long.class);
- Long l = query.getSingleResult();
- log.debug("selectMaxFromOrganisations" + l);
- return l;
- } catch (Exception ex2) {
- log.error("[selectMaxFromUsers] ", ex2);
- }
- return null;
- }
-
- /**
* updates an organisation if user_level is admin
*
* @param user_level
@@ -233,7 +219,7 @@ public class Organisationmanagement {
String orgname, long users_id) {
try {
- Organisation org = this.getOrganisationById(organisation_id);
+ Organisation org = orgDao.get(organisation_id);
org.setName(orgname);
org.setUpdatedby(users_id);
org.setUpdatetime(new Date());
@@ -355,7 +341,7 @@ public class Organisationmanagement {
long organisation_id) {
try {
if (authLevelManagement.checkAdminLevel(user_level)) {
- return this.getOrganisationById(organisation_id);
+ return orgDao.get(organisation_id);
} else {
log.error("[getOrganisationById] authorization required");
}
@@ -372,12 +358,7 @@ public class Organisationmanagement {
* @return
*/
public Organisation getOrganisationById(long organisation_id) {
- try {
- return orgDao.get(organisation_id);
- } catch (Exception ex2) {
- log.error("[getOrganisationById]", ex2);
- }
- return null;
+ return orgDao.get(organisation_id);
}
public Organisation getOrganisationByIdBackup(long organisation_id) {
@@ -421,28 +402,11 @@ public class Organisationmanagement {
*/
public Long deleteOrganisation(long organisation_id, long updatedby) {
try {
- em.createNamedQuery("deleteUsersFromOrganisation")
- .setParameter("organisation_id", organisation_id)
- .executeUpdate();
-
- Organisation org = this.getOrganisationById(organisation_id);
- org.setDeleted(true);
- org.setUpdatedby(updatedby);
-
- if (org.getOrganisation_id() == null) {
- em.persist(org);
- } else {
- if (!em.contains(org)) {
- em.merge(org);
- }
- }
-
- return org.getOrganisation_id();
-
+ orgDao.delete(orgDao.get(organisation_id), updatedby);
} catch (Exception ex2) {
log.error("[deleteOrganisation]", ex2);
}
- return null;
+ return organisation_id;
}
/**
@@ -470,7 +434,7 @@ public class Organisationmanagement {
public Organisation_Users getOrgUser(Long organisation_id,
Long insertedby) {
- Organisation_Users orgUser = new Organisation_Users(getOrganisationById(organisation_id));
+ Organisation_Users orgUser = new Organisation_Users(orgDao.get(organisation_id));
orgUser.setDeleted(false);
return orgUser;
@@ -552,7 +516,7 @@ public class Organisationmanagement {
SearchResult<Users> sResult = new SearchResult<Users>();
sResult.setObjectName(Users.class.getName());
- sResult.setRecords(selectMaxUsersByOrganisationId(organisation_id));
+ sResult.setRecords(orgUserDao.count(organisation_id));
sResult.setResult(getUsersByOrganisationId(organisation_id,
start, max, orderby, asc));
return sResult;
@@ -563,21 +527,6 @@ public class Organisationmanagement {
return null;
}
- private Long selectMaxUsersByOrganisationId(long organisation_id) {
- try {
- TypedQuery<Long> query = em.createNamedQuery("selectMaxUsersByOrganisationId", Long.class);
- query.setParameter("organisation_id", organisation_id);
-
- Long l = query.getSingleResult();
- log.debug("selectMaxUsersByOrganisationId" + l);
- return l;
-
- } catch (Exception ex2) {
- log.error("[getUsersByOrganisationId]", ex2);
- }
- return null;
- }
-
/**
* get a list of all users of an organisation
*
Copied: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationDAO.java (from r1388489, 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/dao/OrganisationDAO.java?p2=incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationDAO.java&p1=incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationDAO.java&r1=1388489&r2=1388608&rev=1388608&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationDAO.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationDAO.java Fri Sep 21 18:39:07 2012
@@ -16,8 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.data.user;
+package org.apache.openmeetings.data.user.dao;
+import java.util.Date;
import java.util.List;
import javax.persistence.EntityManager;
@@ -59,13 +60,26 @@ public class OrganisationDAO implements
return q.getSingleResult();
}
- public void update(Organisation entity) {
- // TODO Auto-generated method stub
-
+ public void update(Organisation entity, long userId) {
+ if (entity.getOrganisation_id() == null) {
+ entity.setInsertedby(userId);
+ entity.setStarttime(new Date());
+ em.persist(entity);
+ } else {
+ entity.setUpdatedby(userId);
+ entity.setUpdatetime(new Date());
+ em.merge(entity);
+ }
}
- public void delete(Organisation entity) {
- // TODO Auto-generated method stub
-
+ public void delete(Organisation entity, long userId) {
+ em.createNamedQuery("deleteUsersFromOrganisation")
+ .setParameter("id", entity.getOrganisation_id())
+ .executeUpdate();
+
+ entity.setDeleted(true);
+ entity.setUpdatedby(userId);
+
+ em.merge(entity);
}
}
Copied: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationUserDAO.java (from r1388489, 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/dao/OrganisationUserDAO.java?p2=incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationUserDAO.java&p1=incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationUserDAO.java&r1=1388489&r2=1388608&rev=1388608&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/OrganisationUserDAO.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationUserDAO.java Fri Sep 21 18:39:07 2012
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.data.user;
+package org.apache.openmeetings.data.user.dao;
import java.util.List;
@@ -26,10 +26,16 @@ import javax.persistence.TypedQuery;
import org.apache.openmeetings.data.OmDAO;
import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
+import org.apache.openmeetings.persistence.beans.user.Users;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+@Transactional
public class OrganisationUserDAO implements OmDAO<Organisation_Users> {
@PersistenceContext
private EntityManager em;
+ @Autowired
+ private UsersDaoImpl usersDao;
public Organisation_Users get(long id) {
TypedQuery<Organisation_Users> q = em.createNamedQuery("getOrganisationUsersById", Organisation_Users.class);
@@ -59,14 +65,20 @@ public class OrganisationUserDAO impleme
return q.getSingleResult();
}
- public void update(Organisation_Users entity) {
- // TODO Auto-generated method stub
+ public void update(Organisation_Users entity, long userId) {
+ //if (entity.getOrganisation_users_id())// TODO Auto-generated method stub
}
- public void delete(Organisation_Users entity) {
- // TODO Auto-generated method stub
-
+ public void delete(Organisation_Users entity, long userId) {
+ if (entity.getOrganisation_users_id() != null) {
+ Users u = usersDao.getUser(entity.getUser_id());
+ int idx = u.getOrganisation_users().indexOf(entity);
+ //entity has been detached need to re-fetch
+ Organisation_Users ou = u.getOrganisation_users().remove(idx);
+ em.remove(ou);
+ usersDao.updateUser(u);
+ }
}
}
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDaoImpl.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDaoImpl.java?rev=1388608&r1=1388607&r2=1388608&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDaoImpl.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDaoImpl.java Fri Sep 21 18:39:07 2012
@@ -55,18 +55,18 @@ public class UsersDaoImpl implements OmD
}
public List<Users> get(int first, int count) {
- return getNondeletedUsers((int)first, (int)count);
+ return getNondeletedUsers(first, count);
}
public long count() {
return selectMaxFromUsers();
}
- public void update(Users u) {
+ public void update(Users u, long userId) {
updateUser(u);
}
- public void delete(Users u) {
+ public void delete(Users u, long userId) {
deleteUserID(u.getUser_id());
}
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=1388608&r1=1388607&r2=1388608&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 18:39:07 2012
@@ -39,15 +39,12 @@ import org.simpleframework.xml.Root;
@Entity
@NamedQueries({
- @NamedQuery(name="selectMaxUsersByOrganisationId",
- query="SELECT COUNT(c.organisation_users_id) FROM Organisation_Users c WHERE c.deleted = false AND c.organisation.organisation_id = :organisation_id")
- , @NamedQuery(name="getOrganisation_UserByUserAndOrganisation",
+ @NamedQuery(name="getOrganisation_UserByUserAndOrganisation",
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="deleteUsersFromOrganisation", query="DELETE FROM Organisation_Users c WHERE c.organisation.organisation_id = :id")
+ , @NamedQuery(name="countOrganisationUsers", query="SELECT COUNT(c) FROM Organisation_Users c WHERE c.organisation.organisation_id = :id")
, @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")
+ , @NamedQuery(name="getOrganisationUsersByOrgId", query="SELECT c FROM Organisation_Users c WHERE c.organisation.organisation_id = :id")
})
@Table(name = "organisation_users")
@Root(name="user_organisation")
@@ -142,4 +139,32 @@ public class Organisation_Users implemen
public void setIsModerator(Boolean isModerator) {
this.isModerator = isModerator;
}
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime
+ * result
+ + ((organisation_users_id == null) ? 0 : organisation_users_id
+ .hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ Organisation_Users other = (Organisation_Users) obj;
+ if (organisation_users_id == null) {
+ if (other.organisation_users_id != null)
+ return false;
+ } else if (!organisation_users_id.equals(other.organisation_users_id))
+ return false;
+ return true;
+ }
}
Added: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/ConfirmCallListener.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/ConfirmCallListener.java?rev=1388608&view=auto
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/ConfirmCallListener.java (added)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/ConfirmCallListener.java Fri Sep 21 18:39:07 2012
@@ -0,0 +1,37 @@
+/*
+ * 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;
+
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.wicket.ajax.attributes.AjaxCallListener;
+import org.apache.wicket.core.util.string.JavaScriptUtils;
+
+public class ConfirmCallListener extends AjaxCallListener {
+ private static final long serialVersionUID = 7355235720213137963L;
+
+ public ConfirmCallListener(long id) {
+ this(id, "");
+ }
+
+ //TODO confirm need to be replaced with jQuery modal dialog
+ public ConfirmCallListener(long id, String js) {
+ onPrecondition("if (!confirm('" + JavaScriptUtils.escapeQuotes(WebSession.getString(id)) + "')) {"
+ + js + "; return false;}");
+ }
+}
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/ConfirmableAjaxLink.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/ConfirmableAjaxLink.java?rev=1388608&r1=1388607&r2=1388608&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/ConfirmableAjaxLink.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/ConfirmableAjaxLink.java Fri Sep 21 18:39:07 2012
@@ -18,23 +18,21 @@
*/
package org.apache.openmeetings.web.components;
-import org.apache.wicket.ajax.attributes.AjaxCallListener;
import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
import org.apache.wicket.ajax.markup.html.AjaxLink;
public abstract class ConfirmableAjaxLink extends AjaxLink<Void> {
private static final long serialVersionUID = 7301747891668537168L;
- private String confirmText;
+ private long confirmId;
- public ConfirmableAjaxLink(String id, String text) {
+ public ConfirmableAjaxLink(String id, long confirmId) {
super(id);
- confirmText = text;
+ this.confirmId = confirmId;
}
- //TODO confirm need to be replaced with jQuery modal dialog
@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
super.updateAjaxAttributes(attributes);
- attributes.getAjaxCallListeners().add(new AjaxCallListener().onPrecondition("if (!confirm('" + confirmText + "')) {hideBusyIndicator(); return false;}"));
+ attributes.getAjaxCallListeners().add(new ConfirmCallListener(confirmId, "hideBusyIndicator();"));
}
}
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/AdminBaseFormPanel.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/AdminBaseFormPanel.java?rev=1388608&r1=1388607&r2=1388608&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/AdminBaseFormPanel.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/AdminBaseFormPanel.java Fri Sep 21 18:39:07 2012
@@ -19,6 +19,7 @@
package org.apache.openmeetings.web.components.admin;
import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.components.ConfirmCallListener;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.attributes.AjaxCallListener;
import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
@@ -106,8 +107,7 @@ public abstract class AdminBaseFormPanel
@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
super.updateAjaxAttributes(attributes);
- //FIXME need to be generalized
- attributes.getAjaxCallListeners().add(new AjaxCallListener().onBefore("if (!confirm('" + WebSession.getString(833L) + "')) {return false;}"));
+ attributes.getAjaxCallListeners().add(new ConfirmCallListener(833L));
}
@Override
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=1388608&r1=1388607&r2=1388608&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 18:39:07 2012
@@ -18,31 +18,35 @@
*/
package org.apache.openmeetings.web.components.admin.groups;
-import org.apache.openmeetings.data.user.OrganisationDAO;
+import org.apache.openmeetings.data.user.dao.OrganisationDAO;
import org.apache.openmeetings.persistence.beans.domain.Organisation;
import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.components.admin.AdminBaseForm;
import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.markup.html.WebMarkupContainer;
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 = -1720731686053912700L;
- private GroupUsersPanel listContainer;
+ private GroupUsersPanel usersPanel;
+ private WebMarkupContainer groupList;
- public GroupForm(String id, final Organisation organisation) {
+ public GroupForm(String id, WebMarkupContainer groupList, Organisation organisation) {
super(id, new CompoundPropertyModel<Organisation>(organisation));
+ this.groupList = groupList;
setOutputMarkupId(true);
add(new RequiredTextField<String>("name"));
- listContainer = new GroupUsersPanel("users", getOrgId());
- add(listContainer);
+ usersPanel = new GroupUsersPanel("users", getOrgId());
+ add(usersPanel);
}
void updateView(AjaxRequestTarget target) {
- listContainer.update(getOrgId());
- target.add(listContainer);
+ usersPanel.update(getOrgId());
+ target.add(this);
}
private long getOrgId() {
@@ -52,7 +56,7 @@ public class GroupForm extends AdminBase
@Override
protected void onNewSubmit(AjaxRequestTarget target, Form<?> f) {
this.setModelObject(new Organisation());
- target.add(this);
+ updateView(target);
}
@Override
@@ -64,8 +68,18 @@ public class GroupForm extends AdminBase
org = new Organisation();
}
this.setModelObject(org);
- listContainer.update(getOrgId());
- target.add(this);
+ updateView(target);
+ }
+
+ @Override
+ protected void onDeleteSubmit(AjaxRequestTarget target, Form<?> form) {
+ Application.getBean(OrganisationDAO.class).delete(getModelObject(), WebSession.getUserId());
+ target.add(groupList);
}
+ @Override
+ protected void onSaveSubmit(AjaxRequestTarget target, Form<?> form) {
+ Application.getBean(OrganisationDAO.class).update(getModelObject(), WebSession.getUserId());
+ target.add(groupList);
+ }
}
Modified: 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=1388608&r1=1388607&r2=1388608&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.html (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.html Fri Sep 21 18:39:07 2012
@@ -23,14 +23,14 @@
<wicket:panel>
<div style="border: 1px solid black;">
<span wicket:id="navigator">[dataview navigator]</span>
- <table class="adminListTable">
+ <table class="adminListTable" style="min-width: 200px;">
<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>
+ <td><div class="formCancelButton" wicket:id="deleteUserBtn" wicket:ommessage="title:274"><input/></div></td>
</tr>
</table>
</div>
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=1388608&r1=1388607&r2=1388608&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 Fri Sep 21 18:39:07 2012
@@ -18,15 +18,20 @@
*/
package org.apache.openmeetings.web.components.admin.groups;
-import org.apache.openmeetings.data.user.OrganisationUserDAO;
+import org.apache.openmeetings.data.user.dao.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.app.WebSession;
+import org.apache.openmeetings.web.components.ConfirmCallListener;
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;
+import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
+import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.Item;
@@ -37,6 +42,10 @@ public class GroupUsersPanel extends Pan
private static final long serialVersionUID = -1813488722913433227L;
private long organisationId;
+ public static String getUser(Users u) {
+ return u.getLogin() + " [" + u.getFirstname() + ", " + u.getLastname() + "]";
+ }
+
public GroupUsersPanel(String id, long orgId) {
super(id);
this.organisationId = orgId;
@@ -59,7 +68,22 @@ public class GroupUsersPanel extends Pan
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(new Label("label", Model.of(getUser(u))));
+ item.add(new WebMarkupContainer("deleteUserBtn").add(new AjaxEventBehavior("onclick"){
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
+ super.updateAjaxAttributes(attributes);
+ attributes.getAjaxCallListeners().add(new ConfirmCallListener(833L));
+ }
+
+ @Override
+ protected void onEvent(AjaxRequestTarget target) {
+ Application.getBean(OrganisationUserDAO.class).delete(orgUser, WebSession.getUserId());
+ target.add(GroupUsersPanel.this);
+ }
+ }));
item.add(AttributeModifier.append("class", ((item.getIndex() % 2 == 1) ? "even" : "odd")));
}
};
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=1388608&r1=1388607&r2=1388608&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 18:39:07 2012
@@ -20,6 +20,17 @@
-->
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.5-strict.dtd" lang="en">
+ <wicket:head>
+ <script type="text/javascript">
+ function omComponentInit() {
+ $('#addUsers').dialog({
+ closeOnEscape: true
+ , autoOpen: false
+ , resizable: false
+ });
+ };
+ </script>
+ </wicket:head>
<wicket:panel>
<table class="adminPanel">
<tr>
@@ -56,7 +67,7 @@
</tr>
<tr>
<td style="font-weight: bold;"><wicket:ommessage key="273" /></td>
- <td> </td>
+ <td style="text-align: right;"><div class="formNewButton" onclick="$('#addUsers :text').val(''); $('#addUsers').dialog('open');"><input/></div></td>
</tr>
<tr>
<td><wicket:ommessage key="177" /></td>
@@ -69,5 +80,25 @@
</td>
</tr>
</table>
+ <div id="addUsers" wicket:ommessage="title:180" style="display: none;">
+ <form wicket:id="addUsers">
+ <table>
+ <tr>
+ <td><wicket:ommessage key="181" /></td>
+ <td><input type="text" wicket:id="searchText" /></td>
+ </tr>
+ <tr>
+ <td style="text-align: right"><input type="button" wicket:id="search" /></td>
+ </tr>
+ <tr>
+ <td><wicket:ommessage key="183" /></td>
+ <td><select wicket:id="users"></select></td>
+ </tr>
+ <tr>
+ <td style="text-align: right"><input type="button" wicket:id="add" /></td>
+ </tr>
+ </table>
+ </form>
+ </div>
</wicket:panel>
</html>
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=1388608&r1=1388607&r2=1388608&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 18:39:07 2012
@@ -18,26 +18,40 @@
*/
package org.apache.openmeetings.web.components.admin.groups;
-import org.apache.openmeetings.data.user.OrganisationDAO;
+import static org.apache.openmeetings.web.components.admin.groups.GroupUsersPanel.getUser;
+
+import org.apache.openmeetings.data.user.dao.OrganisationDAO;
+import org.apache.openmeetings.data.user.dao.UsersDaoImpl;
import org.apache.openmeetings.persistence.beans.domain.Organisation;
+import org.apache.openmeetings.persistence.beans.user.Users;
+import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.app.WebSession;
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;
+import org.apache.wicket.ajax.markup.html.form.AjaxButton;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.IChoiceRenderer;
+import org.apache.wicket.markup.html.form.ListMultipleChoice;
+import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.model.PropertyModel;
public class GroupsPanel extends AdminPanel {
-
- private static final long serialVersionUID = -1L;
+ private static final long serialVersionUID = -5170400556006464830L;
+ private String userSearchText;
public GroupsPanel(String id) {
super(id);
- final GroupForm form = new GroupForm("form", new Organisation());
+ final WebMarkupContainer listContainer = new WebMarkupContainer("listContainer");
+ final GroupForm form = new GroupForm("form", listContainer, new Organisation());
add(form);
DataView<Organisation> dataView = new DataView<Organisation>("groupList", new OmDataProvider<Organisation>(OrganisationDAO.class)) {
@@ -61,7 +75,6 @@ public class GroupsPanel extends AdminPa
}
};
- final WebMarkupContainer listContainer = new WebMarkupContainer("listContainer");
add(listContainer.add(dataView).setOutputMarkupId(true));
add(new PagedEntityListPanel("navigator", dataView) {
private static final long serialVersionUID = 5097048616003411362L;
@@ -71,5 +84,38 @@ public class GroupsPanel extends AdminPa
target.add(listContainer);
}
});
+
+ add(new Form<Void>("addUsers"){
+ private static final long serialVersionUID = 3726465576292784604L;
+
+ {
+ add(new TextField<String>("searchText", new PropertyModel<String>(GroupsPanel.this, "userSearchText")));
+ add(new AjaxButton("search", Model.of(WebSession.getString(182L))) {
+ private static final long serialVersionUID = -4752180617634945030L;
+
+ protected void onAfterSubmit(AjaxRequestTarget target, org.apache.wicket.markup.html.form.Form<?> form) {
+
+ }
+ });
+ add(new ListMultipleChoice<Users>("users", Application.getBean(UsersDaoImpl.class).getAllUsers(), new IChoiceRenderer<Users>() {
+ private static final long serialVersionUID = 1L;
+
+ public Object getDisplayValue(Users object) {
+ return getUser(object);
+ }
+
+ public String getIdValue(Users object, int index) {
+ return "" + object.getUser_id();
+ }
+ }));
+ add(new AjaxButton("add", Model.of(WebSession.getString(175L))) {
+ private static final long serialVersionUID = 5553555064487161840L;
+
+ protected void onAfterSubmit(AjaxRequestTarget target, org.apache.wicket.markup.html.form.Form<?> form) {
+
+ }
+ });
+ }
+ });
}
}
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html?rev=1388608&r1=1388607&r2=1388608&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html Fri Sep 21 18:39:07 2012
@@ -22,13 +22,13 @@
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.5-strict.dtd" lang="en">
<wicket:panel>
<script type="text/javascript">
- $(function(){
+ function omComponentInit() {
$('#addLanguage').dialog({
closeOnEscape: true
, autoOpen: false
, resizable: false
});
- });
+ };
</script>
<table class="adminPanel">
<tr>
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java?rev=1388608&r1=1388607&r2=1388608&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java Fri Sep 21 18:39:07 2012
@@ -27,6 +27,7 @@ import org.apache.openmeetings.persisten
import org.apache.openmeetings.persistence.beans.lang.Fieldlanguagesvalues;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.components.ConfirmCallListener;
import org.apache.openmeetings.web.components.admin.AdminBaseForm;
import org.apache.openmeetings.web.components.admin.AdminPanel;
import org.apache.openmeetings.web.components.admin.PagedEntityListPanel;
@@ -34,7 +35,6 @@ import org.apache.openmeetings.web.data.
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.attributes.AjaxCallListener;
import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
import org.apache.wicket.ajax.markup.html.form.AjaxButton;
@@ -86,14 +86,14 @@ public class LangPanel extends AdminPane
@Override
protected void onSaveSubmit(AjaxRequestTarget target, Form<?> form) {
- Application.getBean(FieldLanguagesValuesDAO.class).update(getModelObject());
+ Application.getBean(FieldLanguagesValuesDAO.class).update(getModelObject(), WebSession.getUserId());
//FIXME reload
}
//FIXME confirmation
@Override
protected void onDeleteSubmit(AjaxRequestTarget target, Form<?> form) {
- Application.getBean(FieldLanguagesValuesDAO.class).delete(getModelObject());
+ Application.getBean(FieldLanguagesValuesDAO.class).delete(getModelObject(), WebSession.getUserId());
//FIXME reload
}
};
@@ -166,8 +166,7 @@ public class LangPanel extends AdminPane
@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
super.updateAjaxAttributes(attributes);
- //FIXME need to be generalized
- attributes.getAjaxCallListeners().add(new AjaxCallListener().onBefore("if (!confirm('" + WebSession.getString(833L) + "')) {return false;}"));
+ attributes.getAjaxCallListeners().add(new ConfirmCallListener(833L));
}
@Override
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.java?rev=1388608&r1=1388607&r2=1388608&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.java Fri Sep 21 18:39:07 2012
@@ -19,7 +19,6 @@
package org.apache.openmeetings.web.pages;
import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.components.ConfirmableAjaxLink;
import org.apache.openmeetings.web.components.MenuPanel;
import org.apache.openmeetings.web.components.user.ChatPanel;
@@ -39,7 +38,7 @@ public class MainPage extends BasePage {
add(contents);
menu = new MenuPanel("menu", contents);
add(menu);
- add(new ConfirmableAjaxLink("logout", WebSession.getString(634L)) {
+ add(new ConfirmableAjaxLink("logout", 634L) {
private static final long serialVersionUID = -2994610981053570537L;
@Override