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/06/07 09:45:58 UTC
svn commit: r1601073 [2/6] - in /openmeetings: branches/3.0.x/
branches/3.0.x/docs/
branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/
branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/basic/
branches/3.0.x/src/db/java/org/apac...
Modified: openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/BackupImport.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/BackupImport.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/BackupImport.java (original)
+++ openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/BackupImport.java Sat Jun 7 07:45:55 2014
@@ -70,12 +70,12 @@ import org.apache.openmeetings.db.dao.ro
import org.apache.openmeetings.db.dao.server.LdapConfigDao;
import org.apache.openmeetings.db.dao.server.OAuth2Dao;
import org.apache.openmeetings.db.dao.server.ServerDao;
-import org.apache.openmeetings.db.dao.user.AdminUserDao;
import org.apache.openmeetings.db.dao.user.OrganisationDao;
import org.apache.openmeetings.db.dao.user.PrivateMessageFolderDao;
import org.apache.openmeetings.db.dao.user.PrivateMessagesDao;
import org.apache.openmeetings.db.dao.user.StateDao;
import org.apache.openmeetings.db.dao.user.UserContactsDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.basic.ChatMessage;
import org.apache.openmeetings.db.entity.basic.Configuration;
import org.apache.openmeetings.db.entity.calendar.Appointment;
@@ -139,7 +139,7 @@ public class BackupImport {
@Autowired
private AppointmentReminderTypDao appointmentReminderTypDaoImpl;
@Autowired
- private AdminUserDao usersDao;
+ private UserDao usersDao;
@Autowired
private FlvRecordingDao flvRecordingDao;
@Autowired
Modified: openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/UserConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/UserConverter.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/UserConverter.java (original)
+++ openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/UserConverter.java Sat Jun 7 07:45:55 2014
@@ -20,20 +20,20 @@ package org.apache.openmeetings.backup;
import java.util.Map;
-import org.apache.openmeetings.db.dao.user.AdminUserDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.user.User;
import org.simpleframework.xml.stream.InputNode;
import org.simpleframework.xml.stream.OutputNode;
public class UserConverter extends OmConverter<User> {
- private AdminUserDao userDao;
+ private UserDao userDao;
private Map<Long, Long> idMap;
public UserConverter() {
//default constructor is for export
}
- public UserConverter(AdminUserDao userDao, Map<Long, Long> idMap) {
+ public UserConverter(UserDao userDao, Map<Long, Long> idMap) {
this.userDao = userDao;
this.idMap = idMap;
}
Modified: openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/cli/Admin.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/cli/Admin.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/cli/Admin.java (original)
+++ openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/cli/Admin.java Sat Jun 7 07:45:55 2014
@@ -52,7 +52,7 @@ import org.apache.openmeetings.backup.Ba
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
import org.apache.openmeetings.db.dao.record.FlvRecordingDao;
-import org.apache.openmeetings.db.dao.user.AdminUserDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.file.FileExplorerItem;
import org.apache.openmeetings.db.entity.record.FlvRecording;
import org.apache.openmeetings.db.entity.user.User;
@@ -349,7 +349,7 @@ public class Admin {
long invalid = 0;
long deleted = 0;
ClassPathXmlApplicationContext ctx = getApplicationContext(ctxName);
- AdminUserDao udao = ctx.getBean(AdminUserDao.class);
+ UserDao udao = ctx.getBean(UserDao.class);
for (File profile : profiles.listFiles()) {
long pSize = OmFileHelper.getSize(profile);
long userId = getUserIdByProfile(profile.getName());
@@ -369,7 +369,7 @@ public class Admin {
}
}
long missing = 0;
- for (User u : udao.getAllUsersDeleted()) {
+ for (User u : udao.getAllBackupUsers()) {
if (!u.getDeleted() && u.getPictureuri() != null && !new File(OmFileHelper.getUploadProfilesUserDir(u.getUser_id()), u.getPictureuri()).exists()) {
missing++;
}
Modified: openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/installation/ImportInitvalues.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/installation/ImportInitvalues.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/installation/ImportInitvalues.java (original)
+++ openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/installation/ImportInitvalues.java Sat Jun 7 07:45:55 2014
@@ -60,11 +60,11 @@ import org.apache.openmeetings.db.dao.ro
import org.apache.openmeetings.db.dao.room.RoomTypeDao;
import org.apache.openmeetings.db.dao.room.SipDao;
import org.apache.openmeetings.db.dao.server.OAuth2Dao;
-import org.apache.openmeetings.db.dao.user.AdminUserDao;
import org.apache.openmeetings.db.dao.user.IUserManager;
import org.apache.openmeetings.db.dao.user.OrganisationDao;
import org.apache.openmeetings.db.dao.user.SalutationDao;
import org.apache.openmeetings.db.dao.user.StateDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.dao.user.UserLevelDao;
import org.apache.openmeetings.db.entity.label.FieldLanguage;
import org.apache.openmeetings.db.entity.label.Fieldlanguagesvalues;
@@ -89,7 +89,7 @@ public class ImportInitvalues {
@Autowired
private ConfigurationDao configurationDao;
@Autowired
- private AdminUserDao usersDao;
+ private UserDao usersDao;
@Autowired
private FieldLanguageDao fieldLanguageDaoImpl;
@Autowired
Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java (original)
+++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java Sat Jun 7 07:45:55 2014
@@ -41,7 +41,7 @@ import org.apache.openmeetings.db.dao.ca
import org.apache.openmeetings.db.dao.room.InvitationDao;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.room.RoomTypeDao;
-import org.apache.openmeetings.db.dao.user.AdminUserDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.calendar.Appointment;
import org.apache.openmeetings.db.entity.calendar.MeetingMember;
import org.apache.openmeetings.db.entity.room.Invitation;
@@ -77,7 +77,7 @@ public class AppointmentLogic {
@Autowired
private RoomManager roomManager;
@Autowired
- private AdminUserDao userDao;
+ private UserDao userDao;
@Autowired
private MeetingMemberDao meetingMemberDao;
@Autowired
Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/RoomManager.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/RoomManager.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/RoomManager.java (original)
+++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/RoomManager.java Sat Jun 7 07:45:55 2014
@@ -20,6 +20,7 @@ package org.apache.openmeetings.data.con
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.LinkedList;
@@ -35,16 +36,17 @@ import javax.persistence.criteria.Predic
import javax.persistence.criteria.Root;
import org.apache.openmeetings.data.basic.FieldManager;
-import org.apache.openmeetings.data.user.OrganisationManager;
import org.apache.openmeetings.db.dao.room.IRoomManager;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.room.RoomModeratorsDao;
import org.apache.openmeetings.db.dao.room.RoomTypeDao;
import org.apache.openmeetings.db.dao.room.SipDao;
import org.apache.openmeetings.db.dao.server.ISessionManager;
+import org.apache.openmeetings.db.dao.user.OrganisationDao;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.dto.basic.SearchResult;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.RoomModerator;
import org.apache.openmeetings.db.entity.room.RoomOrganisation;
import org.apache.openmeetings.db.entity.user.Organisation_Users;
import org.apache.openmeetings.db.entity.user.User;
@@ -67,7 +69,7 @@ public class RoomManager implements IRoo
private EntityManager em;
@Autowired
- private OrganisationManager organisationManager;
+ private OrganisationDao orgDao;
@Autowired
private RoomModeratorsDao roomModeratorsDao;
@Autowired
@@ -513,6 +515,25 @@ public class RoomManager implements IRoo
return r == null || r.getConfno() == null ? null : sipDao.countUsers(r.getConfno());
}
+ private List<RoomModerator> getModerators(List<Map<String, Object>> list, Long roomId) {
+ List<RoomModerator> result = new ArrayList<RoomModerator>();
+
+ for (Map<String, Object> roomModeratorObj : list) {
+ Long roomModeratorsId = roomModeratorObj.containsKey("roomModeratorsId") ? Long.parseLong(roomModeratorObj.get("roomModeratorsId").toString()) : null;
+ Long userId = Long.parseLong(roomModeratorObj.get("userId").toString());
+ Boolean isSuperModerator = Boolean.parseBoolean(roomModeratorObj.get("isSuperModerator").toString());
+
+ RoomModerator rm = new RoomModerator();
+ rm.setRoomModeratorsId(roomModeratorsId);
+ rm.setRoomId(roomId);
+ rm.setUser(usersDao.get(userId));
+ rm.setIsSuperModerator(isSuperModerator);
+
+ result.add(rm);
+ }
+ return result;
+ }
+
/**
* adds a new Record to the table rooms
* @param name
@@ -588,13 +609,14 @@ public class RoomManager implements IRoo
if (organisations != null) {
Long t = this.updateRoomOrganisations(organisations, r);
- if (t == null)
+ if (t == null) {
return null;
+ }
}
if (roomModerators != null) {
- roomModeratorsDao.addRoomModeratorByUserList(
- roomModerators, r.getRooms_id());
+ r.setModerators(getModerators(roomModerators, r.getRooms_id()));
+ r = roomDao.update(r, ownerId);
}
return r.getRooms_id();
@@ -638,8 +660,8 @@ public class RoomManager implements IRoo
this.addRoomToOrganisation(3, returnId, organisation_id);
if (roomModerators != null) {
- roomModeratorsDao.addRoomModeratorByUserList(
- roomModerators, r.getRooms_id());
+ r.setModerators(getModerators(roomModerators, r.getRooms_id()));
+ r = roomDao.update(r, null);
}
return returnId;
@@ -708,13 +730,14 @@ public class RoomManager implements IRoo
if (organisations != null) {
Long t = this.updateRoomOrganisations(organisations, r);
- if (t == null)
+ if (t == null) {
return null;
+ }
}
if (roomModerators != null) {
- roomModeratorsDao.addRoomModeratorByUserList(roomModerators,
- r.getRooms_id());
+ r.setModerators(getModerators(roomModerators, r.getRooms_id()));
+ r = roomDao.update(r, null);
}
return returnId;
@@ -740,8 +763,7 @@ public class RoomManager implements IRoo
log.debug("addRoomToOrganisation rooms '"
+ rOrganisation.getRoom().getName() + "'");
rOrganisation.setStarttime(new Date());
- rOrganisation.setOrganisation(organisationManager
- .getOrganisationById(organisation_id));
+ rOrganisation.setOrganisation(orgDao.get(organisation_id));
rOrganisation.setDeleted(false);
rOrganisation = em.merge(rOrganisation);
@@ -1081,16 +1103,17 @@ public class RoomManager implements IRoo
r.setAutoVideoSelect(autoVideoSelect);
r.setPin(conferencePin);
r.setSipEnabled(sipEnabled);
- roomDao.update(r, ownerId);
+ r = roomDao.update(r, ownerId);
if (organisations != null) {
Long t = this.updateRoomOrganisations(organisations, r);
- if (t == null)
+ if (t == null) {
return null;
+ }
}
if (roomModerators != null) {
- roomModeratorsDao.updateRoomModeratorByUserList(roomModerators,
- r.getRooms_id());
+ r.setModerators(getModerators(roomModerators, r.getRooms_id()));
+ r = roomDao.update(r, null);
}
return r.getRooms_id();
@@ -1130,7 +1153,7 @@ public class RoomManager implements IRoo
em.persist(r);
} else {
if (!em.contains(r)) {
- em.merge(r);
+ r = em.merge(r);
}
}
@@ -1138,8 +1161,8 @@ public class RoomManager implements IRoo
// update as Moderator
if (roomModerators != null) {
- roomModeratorsDao.updateRoomModeratorByUserList(
- roomModerators, r.getRooms_id());
+ r.setModerators(getModerators(roomModerators, r.getRooms_id()));
+ r = roomDao.update(r, null);
}
return r.getRooms_id();
Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/user/UserManager.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/user/UserManager.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/user/UserManager.java (original)
+++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/user/UserManager.java Sat Jun 7 07:45:55 2014
@@ -31,21 +31,18 @@ import java.util.TimeZone;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
-import javax.persistence.NonUniqueResultException;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
import org.apache.openmeetings.data.basic.FieldManager;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
-import org.apache.openmeetings.db.dao.user.AdminUserDao;
import org.apache.openmeetings.db.dao.user.IUserManager;
+import org.apache.openmeetings.db.dao.user.OrganisationDao;
+import org.apache.openmeetings.db.dao.user.OrganisationUserDao;
import org.apache.openmeetings.db.dao.user.StateDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.dto.basic.SearchResult;
import org.apache.openmeetings.db.entity.room.Client;
import org.apache.openmeetings.db.entity.server.Sessiondata;
@@ -90,9 +87,11 @@ public class UserManager implements IUse
@Autowired
private StateDao statemanagement;
@Autowired
- private OrganisationManager organisationManager;
+ private OrganisationDao orgDao;
@Autowired
- private AdminUserDao usersDao;
+ private OrganisationUserDao orgUserDao;
+ @Autowired
+ private UserDao usersDao;
@Autowired
private EmailManager emailManagement;
@Autowired
@@ -104,49 +103,6 @@ public class UserManager implements IUse
@Autowired
private TimezoneUtil timezoneUtil;
- /**
- * query for a list of users
- *
- * @param users_id
- * @param user_level
- * @param start
- * @param max
- * @param orderby
- * @return
- */
- public SearchResult<User> getUsersList(long user_level, int start, int max,
- String orderby, boolean asc) {
- try {
- if (AuthLevelUtil.checkAdminLevel(user_level)) {
- SearchResult<User> sresult = new SearchResult<User>();
- sresult.setObjectName(User.class.getName());
- sresult.setRecords(usersDao.count());
-
- // get all users
- CriteriaBuilder cb = em.getCriteriaBuilder();
- CriteriaQuery<User> cq = cb.createQuery(User.class);
- Root<User> c = cq.from(User.class);
- Predicate condition = cb.equal(c.get("deleted"), false);
- cq.where(condition);
- cq.distinct(asc);
- if (asc) {
- cq.orderBy(cb.asc(c.get(orderby)));
- } else {
- cq.orderBy(cb.desc(c.get(orderby)));
- }
- TypedQuery<User> q = em.createQuery(cq);
- q.setFirstResult(start);
- q.setMaxResults(max);
- List<User> ll = q.getResultList();
- sresult.setResult(ll);
- return sresult;
- }
- } catch (Exception ex2) {
- log.error("[getUsersList] " + ex2);
- }
- return null;
- }
-
public SearchResult<User> getAllUserByRange(String search, int start, int max,
String orderby, boolean asc) {
try {
@@ -163,7 +119,7 @@ public class UserManager implements IUse
} else {
sort += " DESC ";
}
- String hql = DaoHelper.getSearchQuery("User", "u", search, true, false, sort, AdminUserDao.searchFields);
+ String hql = DaoHelper.getSearchQuery("User", "u", search, true, false, sort, UserDao.searchFields);
log.debug("Show HQL: " + hql);
@@ -189,25 +145,6 @@ public class UserManager implements IUse
}
/**
- *
- * @param user_level
- * @param user_id
- * @return
- */
- public User checkAdmingetUserById(long user_level, long user_id) {
- // FIXME: We have to check here for the User only cause the
- // Org-Moderator otherwise cannot access it
- if (AuthLevelUtil.checkUserLevel(user_level)) {
- return usersDao.get(user_id);
- }
- return null;
- }
-
- public List<User> getUserByMod(Long user_level, long user_id) {
- return null;
- }
-
- /**
* login logic
*
* @param SID
@@ -237,9 +174,6 @@ public class UserManager implements IUse
} else {
User users = ll.get(0);
- // Refresh User Object
- users = refreshUserObject(users);
-
if (usersDao.verifyPassword(users.getUser_id(), userpass)) {
Boolean bool = sessiondataDao.updateUser(SID, users.getUser_id(), storePermanent, users.getLanguage_id());
if (bool == null) {
@@ -282,17 +216,6 @@ public class UserManager implements IUse
return new Long(-1);
}
- public User refreshUserObject(User us) {
- try {
-
- us = em.merge(us);
- return us;
- } catch (Exception ex2) {
- log.error("[loginUser]: ", ex2);
- }
- return null;
- }
-
public User loginUserByRemoteHash(String SID, String remoteHash) {
try {
@@ -301,7 +224,7 @@ public class UserManager implements IUse
if (sessionData != null) {
- User u = getUserById(sessionData.getUser_id());
+ User u = usersDao.get(sessionData.getUser_id());
sessiondataDao.updateUserWithoutSession(SID, u.getUser_id());
@@ -514,9 +437,7 @@ public class UserManager implements IUse
log.debug("user_id, organisation_id" + user_id + ", "
+ organisation_id);
- Organisation_Users ou = organisationManager
- .getOrganisation_UserByUserAndOrganisation(user_id,
- organisation_id);
+ Organisation_Users ou = orgUserDao.getByOrganizationAndUser(organisation_id, user_id);
log.debug("ou: " + ou);
@@ -573,8 +494,7 @@ public class UserManager implements IUse
String baseURL = configurationDao.getBaseUrl();
boolean sendConfirmation = baseURL != null
&& !baseURL.isEmpty()
- && 1 == configurationDao.getConfValue(
- "sendEmailWithVerficationCode", Integer.class, "0");
+ && 1 == configurationDao.getConfValue("sendEmailWithVerficationCode", Integer.class, "0");
return registerUser(login, Userpass, lastname, firstname, email, age,
street, additionalname, fax, zip, states_id, town, language_id,
@@ -854,10 +774,10 @@ public class UserManager implements IUse
if (orgIds != null) {
List<Organisation_Users> orgList = users.getOrganisation_users();
for (Long orgId : orgIds) {
- orgList.add(organisationManager.getOrgUser(orgId, null));
+ orgList.add(new Organisation_Users(orgDao.get(orgId)));
}
}
- return addUser(users);
+ return usersDao.update(users, null).getUser_id();
} catch (Exception ex2) {
log.error("[registerUser]", ex2);
@@ -865,33 +785,6 @@ public class UserManager implements IUse
return null;
}
- public User getUserByExternalIdAndType(String externalUserId,
- String externalUserType) {
-
- try {
-
- String hql = "select c from User as c "
- + "where c.externalUserId LIKE :externalUserId "
- + "AND c.externalUserType LIKE :externalUserType "
- + "AND c.deleted <> :deleted";
-
- TypedQuery<User> query = em.createQuery(hql, User.class);
- query.setParameter("externalUserId", externalUserId);
- query.setParameter("externalUserType", externalUserType);
- query.setParameter("deleted", true);
-
- List<User> users = query.getResultList();
-
- if (users.size() > 0) {
- return users.get(0);
- }
-
- } catch (Exception ex2) {
- log.error("[getUserByExternalIdAndType]", ex2);
- }
- return null;
- }
-
public Long addUserWithExternalKey(long level_id, int availible,
int status, String firstname, String login, String lastname,
long language_id, boolean emptyPass, String userpass, Address address, Date age,
@@ -952,132 +845,6 @@ public class UserManager implements IUse
return null;
}
- public Long addUser(User usr) {
- try {
- em.persist(usr);
- //em.refresh(usr);
- em.flush();
-
- return usr.getUser_id();
- } catch (Exception ex2) {
- log.error("[addUser]", ex2);
- }
- return null;
- }
-
- /**
- *
- * Find User by Id
- */
- // -----------------------------------------------------------------------------------------------------
- public User getUserById(Long id) {
- log.debug("Usermanagement.getUserById");
-
- if (id == null || id <= 0) {
- return null;
- }
- CriteriaBuilder cb = em.getCriteriaBuilder();
- CriteriaQuery<User> cq = cb.createQuery(User.class);
- Root<User> c = cq.from(User.class);
- Predicate condition = cb.equal(c.get("deleted"), false);
- Predicate subCondition = cb.equal(c.get("user_id"), id);
- cq.where(condition, subCondition);
- TypedQuery<User> q = em.createQuery(cq);
- User u = null;
- try {
- u = q.getSingleResult();
- } catch (NoResultException e) {
- // u=null}
- } catch (NonUniqueResultException ex) {
- }
-
- return u;
- }
-
- public User getUserByIdAndDeleted(Long id) throws Exception {
- log.debug("Usermanagement.getUserById");
-
- CriteriaBuilder cb = em.getCriteriaBuilder();
- CriteriaQuery<User> cq = cb.createQuery(User.class);
- Root<User> c = cq.from(User.class);
- Predicate condition = cb.equal(c.get("user_id"), id);
- cq.where(condition);
- TypedQuery<User> q = em.createQuery(cq);
- User u = null;
- try {
- u = q.getSingleResult();
- } catch (NoResultException e) {
- // u=null}
- }
-
- return u;
-
- }
-
- // -----------------------------------------------------------------------------------------------------
-
- /**
- * @author o.becherer Find User by LoginName (test existence of a active
- * user with login - name
- */
- // -----------------------------------------------------------------------------------------------------
- public User getUserByLogin(String login) throws Exception {
- log.debug("Usermanagement.getUserByLogin : " + login);
-
- CriteriaBuilder cb = em.getCriteriaBuilder();
- CriteriaQuery<User> cq = cb.createQuery(User.class);
- Root<User> c = cq.from(User.class);
- Predicate condition = cb.equal(c.get("deleted"), false);
- Predicate subCondition = cb.equal(c.get("login"), login);
- cq.where(condition, subCondition);
- TypedQuery<User> q = em.createQuery(cq);
- User u = null;
- try {
- u = q.getSingleResult();
- } catch (NoResultException e) {
- // u=null}
- }
-
- return u;
-
- }
-
- // -----------------------------------------------------------------------------------------------------
-
- /**
- * @author swagner Find User by LoginName or EMail (test existence of a
- * active user with login - name
- */
- // -----------------------------------------------------------------------------------------------------
- public User getUserByLoginOrEmail(String userOrEmail) throws Exception {
- // log.debug("Usermanagement.getUserByLoginOrEmail : " + userOrEmail);
-
- String hql = "SELECT c from User AS c "
- + "WHERE "
- + "(c.login LIKE :userOrEmail OR c.adresses.email LIKE :userOrEmail ) "
- + "AND c.externalUserId IS NULL " + "AND c.deleted <> :deleted";
-
- TypedQuery<User> query = em.createQuery(hql, User.class);
- query.setParameter("userOrEmail", userOrEmail);
- query.setParameter("deleted", true);
-
- List<User> ll = query.getResultList();
-
- if (ll.size() > 1) {
- log.error("ALERT :: There are two users in the database that have either same login or Email ");
- return ll.get(0);
- // throw new
- // Exception("ALERT :: There are two users in the database that have either same login or Email ");
- } else if (ll.size() == 1) {
- return ll.get(0);
- } else {
- return null;
- }
-
- }
-
- // -----------------------------------------------------------------------------------------------------
-
/**
* @param admin
* @param room_id
@@ -1158,8 +925,4 @@ public class UserManager implements IUse
}
return null;
}
-
- public void updateUser(User user) {
- usersDao.update(user, null);
- }
}
Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/ldap/LdapLoginManagement.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/ldap/LdapLoginManagement.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/ldap/LdapLoginManagement.java (original)
+++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/ldap/LdapLoginManagement.java Sat Jun 7 07:45:55 2014
@@ -416,7 +416,7 @@ public class LdapLoginManagement impleme
User u = null;
try {
- u = userManager.getUserByLogin(user);
+ u = usersDao.getUserByName(user, User.Type.ldap);
} catch (Exception e) {
log.error("Error retrieving Userdata : " + e.getMessage());
}
@@ -509,7 +509,7 @@ public class LdapLoginManagement impleme
}
// Return UserObject
- User u2 = userManager.getUserById(userid);
+ User u2 = usersDao.get(userid);
if (u2 == null) {
return new Long(-1);
@@ -518,7 +518,7 @@ public class LdapLoginManagement impleme
u2.setType(Type.ldap);
// initialize lazy collection
- userManager.refreshUserObject(u2);
+ usersDao.update(u2, u2.getUser_id());
log.debug("getUserbyId : " + userid + " : " + u2.getLogin());
Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/ConferenceService.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/ConferenceService.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/ConferenceService.java (original)
+++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/ConferenceService.java Sat Jun 7 07:45:55 2014
@@ -38,6 +38,7 @@ import org.apache.openmeetings.db.dao.ro
import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.dao.server.ServerDao;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.dto.basic.SearchResult;
import org.apache.openmeetings.db.dto.server.ServerDTO;
import org.apache.openmeetings.db.entity.calendar.Appointment;
@@ -75,6 +76,8 @@ public class ConferenceService {
@Autowired
private UserManager userManager;
@Autowired
+ private UserDao userDao;
+ @Autowired
private RoomManager roomManager;
@Autowired
private RoomDao roomDao;
@@ -308,7 +311,7 @@ public class ConferenceService {
returnMap.put("appointment", appointment);
- User us = userManager.getUserById(currentClient.getUser_id());
+ User us = userDao.get(currentClient.getUser_id());
TimeZone timezone = timezoneUtil.getTimeZone(us);
returnMap.put("appointment", appointment);
@@ -417,7 +420,7 @@ public class ConferenceService {
Long users_id = sessiondataDao.checkSession(SID);
Long user_level = userManager.getUserLevelByID(users_id);
if (AuthLevelUtil.checkUserLevel(user_level)) {
- User user = userManager.getUserById(users_id);
+ User user = userDao.get(users_id);
return roomTypeDao.getAll(user == null
? cfgDao.getConfValue(CONFIG_DEFAUT_LANG_KEY, Long.class, "1") : user.getLanguage_id());
}
@@ -499,7 +502,7 @@ public class ConferenceService {
if (AuthLevelUtil.checkUserLevel(user_level)) {
- return roomModeratorsDao.getRoomModeratorByRoomId(roomId);
+ return roomModeratorsDao.getByRoomId(roomId);
}
Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MainService.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MainService.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MainService.java (original)
+++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MainService.java Sat Jun 7 07:45:55 2014
@@ -38,8 +38,8 @@ import org.apache.openmeetings.db.dao.se
import org.apache.openmeetings.db.dao.server.LdapConfigDao;
import org.apache.openmeetings.db.dao.server.SOAPLoginDao;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
-import org.apache.openmeetings.db.dao.user.AdminUserDao;
import org.apache.openmeetings.db.dao.user.StateDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.basic.Configuration;
import org.apache.openmeetings.db.entity.room.Client;
import org.apache.openmeetings.db.entity.server.RemoteSessionObject;
@@ -88,7 +88,7 @@ public class MainService implements IPen
@Autowired
private ConferenceLogDao conferenceLogDao;
@Autowired
- private AdminUserDao usersDao;
+ private UserDao usersDao;
@Autowired
private LdapConfigDao ldapConfigDao;
@Autowired
@@ -339,8 +339,7 @@ public class MainService implements IPen
// If so we need to check that we create this user in
// OpenMeetings and update its record
- User user = userManager.getUserByExternalIdAndType(
- userObject.getExternalUserId(),
+ User user = usersDao.getExternalUser(userObject.getExternalUserId(),
userObject.getExternalUserType());
if (user == null) {
@@ -364,7 +363,7 @@ public class MainService implements IPen
} else {
user.setPictureuri(userObject.getPictureUrl());
- userManager.updateUser(user);
+ usersDao.update(user, users_id);
currentClient.setUser_id(user.getUser_id());
SessionVariablesUtil.setUserId(current.getClient(), user.getUser_id());
@@ -408,7 +407,7 @@ public class MainService implements IPen
Long defaultRpcUserid = configurationDao.getConfValue(
"default.rpc.userid", Long.class, "-1");
- User defaultRpcUser = userManager.getUserById(defaultRpcUserid);
+ User defaultRpcUser = usersDao.get(defaultRpcUserid);
User user = new User();
user.setOrganisation_users(defaultRpcUser.getOrganisation_users());
Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/PollService.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/PollService.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/PollService.java (original)
+++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/PollService.java Sat Jun 7 07:45:55 2014
@@ -25,6 +25,7 @@ import java.util.Set;
import org.apache.openmeetings.data.user.UserManager;
import org.apache.openmeetings.db.dao.room.PollDao;
import org.apache.openmeetings.db.dao.server.ISessionManager;
+import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.room.Client;
import org.apache.openmeetings.db.entity.room.PollType;
import org.apache.openmeetings.db.entity.room.RoomPoll;
@@ -55,6 +56,8 @@ public class PollService implements IPen
@Autowired
private UserManager userManager;
@Autowired
+ private UserDao userDao;
+ @Autowired
private ScopeApplicationAdapter scopeApplicationAdapter;
@Autowired
private PollDao pollManager;
@@ -149,7 +152,7 @@ public class PollService implements IPen
// continue;
} else {
if (rcl.getRoom_id() != null && rcl.getRoom_id().equals(rc.getRoom_id())
- && userManager.getUserById(rcl.getUser_id())!=null) {
+ && userDao.get(rcl.getUser_id())!=null) {
((IServiceCapableConnection) conn).invoke(
clientFunction, obj,
scopeApplicationAdapter);
@@ -186,7 +189,7 @@ public class PollService implements IPen
return -1;
}
- if(userManager.getUserById(rc.getUser_id())==null){
+ if(userDao.get(rc.getUser_id())==null){
log.debug("vote: Invited users can not vote");
return -1;
}
@@ -210,7 +213,7 @@ public class PollService implements IPen
// Is boolean Question
rpA.setAnswer(new Boolean(pollvalue == 1));
}
- rpA.setVotedUser(userManager.getUserById(rc.getUser_id()));
+ rpA.setVotedUser(userDao.get(rc.getUser_id()));
rpA.setVoteDate(new Date());
rpA.setRoomPoll(roomP);
roomP.getRoomPollAnswerList().add(rpA);
@@ -248,7 +251,7 @@ public class PollService implements IPen
.getClientByStreamId(streamid, null);
long roomId = rc.getRoom_id();
- if(userManager.getUserById(rc.getUser_id())==null){
+ if(userDao.get(rc.getUser_id())==null){
log.debug("checkHasVoted: Invited users can not vote");
return -1;
}
Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/UserService.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/UserService.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/UserService.java (original)
+++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/UserService.java Sat Jun 7 07:45:55 2014
@@ -28,7 +28,6 @@ import org.apache.openmeetings.cluster.S
import org.apache.openmeetings.data.basic.FieldManager;
import org.apache.openmeetings.data.conference.InvitationManager;
import org.apache.openmeetings.data.conference.RoomManager;
-import org.apache.openmeetings.data.user.OrganisationManager;
import org.apache.openmeetings.data.user.UserManager;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.calendar.AppointmentCategoryDao;
@@ -40,19 +39,17 @@ import org.apache.openmeetings.db.dao.ro
import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.dao.server.ServerDao;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
-import org.apache.openmeetings.db.dao.user.AdminUserDao;
import org.apache.openmeetings.db.dao.user.IUserService;
import org.apache.openmeetings.db.dao.user.PrivateMessageFolderDao;
import org.apache.openmeetings.db.dao.user.PrivateMessagesDao;
import org.apache.openmeetings.db.dao.user.SalutationDao;
import org.apache.openmeetings.db.dao.user.UserContactsDao;
-import org.apache.openmeetings.db.dto.basic.SearchResult;
+import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.calendar.Appointment;
import org.apache.openmeetings.db.entity.calendar.MeetingMember;
import org.apache.openmeetings.db.entity.room.Client;
import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.server.Server;
-import org.apache.openmeetings.db.entity.user.Organisation;
import org.apache.openmeetings.db.entity.user.Salutation;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.UserContact;
@@ -94,14 +91,12 @@ public class UserService implements IUse
@Autowired
private UserManager userManager;
@Autowired
- private AdminUserDao userDao;
+ private UserDao userDao;
@Autowired
private FieldManager fieldManager;
@Autowired
private SalutationDao salutationmanagement;
@Autowired
- private OrganisationManager organisationManager;
- @Autowired
private RoomManager roomManager;
@Autowired
private RoomDao roomDao;
@@ -112,8 +107,6 @@ public class UserService implements IUse
@Autowired
private PrivateMessageFolderDao privateMessageFolderDao;
@Autowired
- private AdminUserDao usersDao;
- @Autowired
private UserContactsDao userContactsDao;
@Autowired
private MailHandler mailHandler;
@@ -140,7 +133,10 @@ public class UserService implements IUse
public User getUserById(String SID, long user_id) {
Long users_id = sessiondataDao.checkSession(SID);
Long user_level = userManager.getUserLevelByID(users_id);
- return userManager.checkAdmingetUserById(user_level, user_id);
+ if (AuthLevelUtil.checkUserLevel(user_level)) {
+ return userDao.get(user_id);
+ }
+ return null;
}
/**
@@ -170,67 +166,6 @@ public class UserService implements IUse
}
/**
- * get a list of all users of an organisation
- *
- * @param SID
- * @param organisation_id
- * @param start
- * @param max
- * @param orderby
- * @param asc
- * @return list of all users of an organisation
- */
- public List<User> getOrgUserList(String SID, long organisation_id,
- int start, int max, String orderby, boolean asc) {
- return organisationManager.getUsersByOrganisationId(organisation_id,
- start, max, orderby, asc);
- }
-
- public List<User> getUserListByModForm(String SID) {
- Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- return userManager.getUserByMod(user_level, users_id);
- }
-
- /**
- * get a list of all organisations of an user
- *
- * @param SID
- * @param client_user
- * @param start
- * @param max
- * @param orderby
- * @param asc
- * @return list of all organisations of an user
- */
- public List<Organisation> getOrganisationListByUser(String SID,
- long client_user, int start, int max, String orderby, boolean asc) {
- Long users_id = sessiondataDao.checkSession(SID);
- long user_level = userManager.getUserLevelByID(users_id);
- return organisationManager.getOrganisationsByUserId(user_level,
- client_user, start, max, orderby, asc);
- }
-
- /**
- * gets a list of all not assigned organisations of a user
- *
- * @param SID
- * @param client_user
- * @param start
- * @param max
- * @param orderby
- * @param asc
- * @return list of all not assigned organisations of a user
- */
- public List<Organisation> getRestOrganisationListByUser(String SID,
- long client_user, int start, int max, String orderby, boolean asc) {
- Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- return organisationManager.getRestOrganisationsByUserId(user_level,
- client_user, start, max, orderby, asc);
- }
-
- /**
* gets a whole user-list(admin-role only)
*
* @param SID
@@ -239,12 +174,13 @@ public class UserService implements IUse
* @param orderby
* @return whole user-list
*/
- public SearchResult<User> getUserList(String SID, int start, int max,
- String orderby, boolean asc) {
+ public List<User> getUserList(String SID, int start, int max, String orderby, boolean asc) {
Long users_id = sessiondataDao.checkSession(SID);
Long user_level = userManager.getUserLevelByID(users_id);
- return userManager
- .getUsersList(user_level, start, max, orderby, asc);
+ if (AuthLevelUtil.checkAdminLevel(user_level)) {
+ return userDao.get("", start, max, orderby + (asc ? " ASC" : " DESC"));
+ }
+ return null;
}
/**
@@ -316,13 +252,13 @@ public class UserService implements IUse
// users only
if (AuthLevelUtil.checkUserLevel(user_level)) {
- User us = userManager.getUserById(users_id);
+ User us = userDao.get(users_id);
us.setTimeZoneId(timezoneUtil.getTimezoneByInternalJName(jname).getID());
us.setForceTimeZoneCheck(false);
us.setUpdatetime(new Date());
- userManager.updateUser(us);
+ userDao.update(us, users_id);
return us;
@@ -438,7 +374,7 @@ public class UserService implements IUse
Long user_level = userManager.getUserLevelByID(users_id);
// users only
if (AuthLevelUtil.checkUserLevel(user_level)) {
- User from = userManager.getUserById(users_id);
+ User from = userDao.get(users_id);
TimeZone timezone = timezoneUtil.getTimeZone(from);
Date start = createCalendarDate(timezone, validFromDate, validFromTime);
Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java (original)
+++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java Sat Jun 7 07:45:55 2014
@@ -1667,7 +1667,7 @@ public class ScopeApplicationAdapter ext
log.debug("UDPATE SESSION " + SID + ", " + userId);
sessiondataDao.updateUserWithoutSession(SID, userId);
- User user = userManager.getUserById(userId);
+ User user = usersDao.get(userId);
if (user != null) {
currentClient.setExternalUserId(user.getExternalUserId());
Modified: openmeetings/branches/3.0.x/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml (original)
+++ openmeetings/branches/3.0.x/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml Sat Jun 7 07:45:55 2014
@@ -236,7 +236,6 @@
-->
</bean>
<bean id="invitationDao" class="org.apache.openmeetings.db.dao.room.InvitationDao" />
- <bean id="organisationmanagement" class="org.apache.openmeetings.data.user.OrganisationManager" />
<bean id="organisationDao" class="org.apache.openmeetings.db.dao.user.OrganisationDao" />
<bean id="organisationUserDao" class="org.apache.openmeetings.db.dao.user.OrganisationUserDao" />
<bean id="salutationmanagement" class="org.apache.openmeetings.db.dao.user.SalutationDao" />
@@ -271,9 +270,7 @@
<bean id="privateMessagesDao" class="org.apache.openmeetings.db.dao.user.PrivateMessagesDao" />
<bean id="soapLoginDao" class="org.apache.openmeetings.db.dao.server.SOAPLoginDao" />
<bean id="userContactsDao" class="org.apache.openmeetings.db.dao.user.UserContactsDao" />
- <bean id="dao" class="org.apache.openmeetings.db.dao.user.AbstractUserDao" />
- <bean id="usersDao" class="org.apache.openmeetings.db.dao.user.UserDao" />
- <bean id="adminUserDao" class="org.apache.openmeetings.db.dao.user.AdminUserDao" />
+ <bean id="userDao" class="org.apache.openmeetings.db.dao.user.UserDao" />
<bean id="userLevelDao" class="org.apache.openmeetings.db.dao.user.UserLevelDao" />
<bean id="serverDao" class="org.apache.openmeetings.db.dao.server.ServerDao" />
<bean id="chatDao" class="org.apache.openmeetings.db.dao.basic.ChatDao" />
Modified: openmeetings/branches/3.0.x/src/main/webapp/css/admin.css
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/webapp/css/admin.css?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/webapp/css/admin.css (original)
+++ openmeetings/branches/3.0.x/src/main/webapp/css/admin.css Sat Jun 7 07:45:55 2014
@@ -274,6 +274,14 @@ table.adminListTable td div.four_column_
height: 20px;
margin: 2px 2px;
}
+.adminForm .input {
+ display: block;
+ float: left;
+ font-size: 14px;
+ padding: 0px 0px;
+ width: 280px;
+ margin: 2px 2px;
+}
.adminForm input[type=checkbox], .adminForm input[type=radio] {
width: auto;
}
@@ -349,3 +357,9 @@ table.adminListTable td div.four_column_
bottom: 16px;
z-index:999;
}
+.adminForm .newItem {
+ padding-left: 25px;
+ background-image: url(images/new.png);
+ background-repeat: no-repeat;
+ background-position: 5px;
+}
\ No newline at end of file
Added: openmeetings/branches/3.0.x/src/main/webapp/css/images/new.png
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/webapp/css/images/new.png?rev=1601073&view=auto
==============================================================================
Binary file - no diff available.
Propchange: openmeetings/branches/3.0.x/src/main/webapp/css/images/new.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: openmeetings/branches/3.0.x/src/main/webapp/css/theme.css
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/webapp/css/theme.css?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/webapp/css/theme.css (original)
+++ openmeetings/branches/3.0.x/src/main/webapp/css/theme.css Sat Jun 7 07:45:55 2014
@@ -130,21 +130,16 @@ html, body {
.help.support h3 {
margin-bottom: 5px;
}
-div.tableWrapper {
- background-color: #FFFFFF;
- border: solid 1px #aacfe4;
- width: 536px;
- height: 500px;
- overflow-y: scroll;
-}
-
-div.tableWrapperSmall {
+.tableWrapper, .tableWrapperSmall {
background-color: #FFFFFF;
border: solid 1px #aacfe4;
width: 536px;
height: 100px;
overflow-y: scroll;
}
+.tableWrapper {
+ height: 500px;
+}
.formelementradiobox {
margin-left: 100px;
@@ -182,7 +177,7 @@ div.tableWrapperSmall {
display: inline-block;
}
-.pagedEntityListPanel select {
+.pagedEntityListPanel select, .adminForm .pagedEntityListPanel select {
padding: 0px 0px;
border: solid 1px #aacfe4;
width: 60px;
@@ -190,8 +185,20 @@ div.tableWrapperSmall {
display: inline;
float: none;
}
-
-.pagedEntityListPanel input {
+.searchForm input[type="text"], .adminForm .searchForm input[type="text"] {
+ width: 140px;
+ float: none;
+ display: inline-block;
+}
+.searchForm input[type="submit"], .adminForm .searchForm input[type="submit"] {
+ width: auto;
+ float: none;
+ display: inline-block;
+ border: 2px outset buttonface;
+ padding: 1px 6px;
+ font-size: 12px;
+}
+.pagedEntityListPanel input, .adminForm .pagedEntityListPanel input {
font-size: 14px;
padding: 0px 0px;
border: solid 1px #aacfe4;
@@ -377,9 +384,6 @@ div.tableWrapperSmall {
background-image: url(images/world_link.png);
background-repeat: no-repeat;
}
-.selected .recording.item {
- background-color: #0099FF;
-}
.recording.item {
position: relative;
}
@@ -523,9 +527,6 @@ select.messages.selector {
width: 1px;
height: 1px;
}
-#messagesTable tr.selected {
- background-color: #d7ebf9;
-}
#messagesTable tr.unread {
font-weight: bold;
}
Modified: openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java (original)
+++ openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java Sat Jun 7 07:45:55 2014
@@ -19,12 +19,10 @@
package org.apache.openmeetings.test;
import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
import java.util.Date;
import java.util.List;
-import org.apache.openmeetings.data.user.UserManager;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
import org.apache.openmeetings.db.dao.calendar.AppointmentReminderTypDao;
@@ -58,8 +56,6 @@ public abstract class AbstractJUnitDefau
@Autowired
private RoomTypeDao roomTypeDao;
@Autowired
- private UserManager userManager;
- @Autowired
private UserDao userDao;
@Autowired
private ImportInitvalues importInitvalues;
@@ -72,6 +68,7 @@ public abstract class AbstractJUnitDefau
@Before
public void setUp() throws Exception {
super.setUp();
+ configurationDao.getCryptKey();
if (userDao.count() < 1) {
makeDefaultScheme();
log.info("Default scheme created successfully");
@@ -152,7 +149,7 @@ public abstract class AbstractJUnitDefau
return ap;
}
- public User createUser(int rnd) throws Exception {
+ public User getUser(int rnd) throws Exception {
User u = new User();
// add user
u.setFirstname("firstname" + rnd);
@@ -160,10 +157,13 @@ public abstract class AbstractJUnitDefau
u.setLogin("login" + rnd);
u.updatePassword(configurationDao, "pass" + rnd);
u.setLanguage_id(1L);
- Long user_id = userManager.addUser(u);
- assertTrue("Cann't add user", user_id > 0);
- u = userManager.getUserByIdAndDeleted(user_id);
- assertNotNull("User should not be null", u);
+ return u;
+ }
+
+ public User createUser(int rnd) throws Exception {
+ User u = getUser(rnd);
+ u = userDao.update(u, null);
+ assertNotNull("Can't add user", u);
return u;
}
@@ -180,7 +180,7 @@ public abstract class AbstractJUnitDefau
public User createUserContact(int rnd, Long ownerId) {
User user = userDao.getContact("email" + rnd, "firstname" + rnd, "lastname" + rnd, ownerId);
user = userDao.update(user, ownerId);
- assertNotNull("Cann't add user", user);
+ assertNotNull("Can't add user contact", user);
return user;
}
Modified: openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/backup/TestOldBackups.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/backup/TestOldBackups.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/backup/TestOldBackups.java (original)
+++ openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/backup/TestOldBackups.java Sat Jun 7 07:45:55 2014
@@ -31,8 +31,8 @@ import org.apache.openmeetings.db.dao.ca
import org.apache.openmeetings.db.dao.calendar.MeetingMemberDao;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.room.RoomOrganisationDao;
-import org.apache.openmeetings.db.dao.user.AdminUserDao;
import org.apache.openmeetings.db.dao.user.OrganisationDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.test.AbstractJUnitDefaults;
import org.junit.Test;
import org.red5.logging.Red5LoggerFactory;
@@ -47,7 +47,7 @@ public class TestOldBackups extends Abst
@Autowired
private OrganisationDao organisationDao;
@Autowired
- private AdminUserDao usersDao;
+ private UserDao usersDao;
@Autowired
private RoomDao roomDao;
@Autowired
Modified: openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/domain/TestAddGroup.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/domain/TestAddGroup.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/domain/TestAddGroup.java (original)
+++ openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/domain/TestAddGroup.java Sat Jun 7 07:45:55 2014
@@ -18,18 +18,21 @@
*/
package org.apache.openmeetings.test.domain;
+import static org.junit.Assert.assertNotNull;
+
import org.apache.log4j.Logger;
-import org.apache.openmeetings.data.user.OrganisationManager;
+import org.apache.openmeetings.db.dao.user.OrganisationDao;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.user.Organisation;
+import org.apache.openmeetings.db.entity.user.Organisation_Users;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.test.AbstractJUnitDefaults;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
public class TestAddGroup extends AbstractJUnitDefaults {
-
@Autowired
- private OrganisationManager organisationManager;
+ private OrganisationDao orgDao;
@Autowired
private UserDao usersDao;
@@ -37,32 +40,19 @@ public class TestAddGroup extends Abstra
@Test
public void testAddingGroup() {
-
- long organisation_id = organisationManager.addOrganisation(
- "default", 1);
-
- log.error("new organisation: " + organisation_id);
-
- long organisation_usersid = organisationManager
- .addUserToOrganisation(new Long(1), organisation_id,
- new Long(1));
-
- log.error("new organisation_user: " + organisation_usersid);
-
- User us = usersDao.get(new Long(1));
+ Organisation o = new Organisation();
+ o.setName("default");
+ o = orgDao.update(o, null);
+ assertNotNull("Id of organisation created should not be null", o.getOrganisation_id());
+
+ User us = usersDao.get(1L);
+ assertNotNull("User should exist", us);
+
+ assertNotNull("Organisation User list should exist", us.getOrganisation_users());
+ us.getOrganisation_users().add(new Organisation_Users(o));
+ us = usersDao.update(us, null);
log.error(us.getLastname());
log.error(us.getAdresses().getTown());
-
- /*
- * for (Iterator it = us.getAdresses().getEmails().iterator();
- * it.hasNext();){ Adresses_Emails addrMails = (Adresses_Emails)
- * it.next(); log.error(addrMails.getMail().getEmail()); }
- * log.error("size of domains: "+us.getOrganisation_users().size()); for
- * (Iterator it2 = us.getOrganisation_users().iterator();
- * it2.hasNext();){ Organisation_Users orgUsers = (Organisation_Users)
- * it2.next(); log.error(orgUsers.getOrganisation().getName()); }
- */
}
-
}
Modified: openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/domain/TestUserGroupAggregation.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/domain/TestUserGroupAggregation.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/domain/TestUserGroupAggregation.java (original)
+++ openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/domain/TestUserGroupAggregation.java Sat Jun 7 07:45:55 2014
@@ -18,45 +18,32 @@
*/
package org.apache.openmeetings.test.domain;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
-import java.util.List;
-
import org.apache.log4j.Logger;
-import org.apache.openmeetings.data.user.OrganisationManager;
-import org.apache.openmeetings.db.entity.user.Organisation;
+import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.user.Organisation_Users;
+import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.test.AbstractJUnitDefaults;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
public class TestUserGroupAggregation extends AbstractJUnitDefaults {
+ private static final Logger log = Logger.getLogger(TestUserGroupAggregation.class);
@Autowired
- private OrganisationManager organisationManager;
-
- private static final Logger log = Logger
- .getLogger(TestUserGroupAggregation.class);
+ private UserDao userDao;
@Test
public void testitNow() {
+ User u = userDao.get(1L);
- List<Organisation> orgUser = organisationManager.getOrganisationsByUserId(3, 1, 0,
- 100, "organisation_id", true);
-
- assertTrue("Default user must belong to at least one organisation", orgUser.size() > 0);
-
- for (Organisation orgUserObj : orgUser) {
- log.error("testitNow: organisation Id: '" + orgUserObj.getOrganisation_id() + "'; name: '" + orgUserObj.getName() + "'");
- }
-
- List<Organisation> orgUser2 = organisationManager.getRestOrganisationsByUserId(3,
- 1, 0, 100, "organisation_id", true);
-
- log.error("testitNow: rest organisations count: " + orgUser2.size());
+ assertNotNull("Organisation list for default user must not be null", u.getOrganisation_users());
+ assertTrue("Default user must belong to at least one organisation", u.getOrganisation_users().size() > 0);
- for (Organisation orgUserObj : orgUser2) {
- log.error("testitNow: organisation Id: '" + orgUserObj.getOrganisation_id() + "'; name: '" + orgUserObj.getName() + "'");
+ for (Organisation_Users orgUserObj : u.getOrganisation_users()) {
+ log.error("testitNow: organisation Id: '" + orgUserObj.getOrganisation().getOrganisation_id() + "'; name: '" + orgUserObj.getOrganisation().getName() + "'");
}
-
}
}
Modified: openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/smoke/TestSmokeBasic.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/smoke/TestSmokeBasic.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/smoke/TestSmokeBasic.java (original)
+++ openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/smoke/TestSmokeBasic.java Sat Jun 7 07:45:55 2014
@@ -20,17 +20,17 @@ package org.apache.openmeetings.test.smo
import static org.junit.Assert.assertNotNull;
-import org.apache.openmeetings.data.user.UserManager;
+import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.test.AbstractJUnitDefaults;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
public class TestSmokeBasic extends AbstractJUnitDefaults {
@Autowired
- private UserManager userManager;
+ private UserDao userDao;
@Test
public void createErrorValueAndTest() {
- assertNotNull(userManager.getUserById(1L));
+ assertNotNull(userDao.get(1L));
}
}
Modified: openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/user/TestUserContact.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/user/TestUserContact.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/user/TestUserContact.java (original)
+++ openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/user/TestUserContact.java Sat Jun 7 07:45:55 2014
@@ -26,8 +26,9 @@ import static org.junit.Assert.assertTru
import java.util.List;
import java.util.Random;
-import org.apache.openmeetings.db.dao.user.AdminUserDao;
+import org.apache.openmeetings.db.dao.user.OrganisationDao;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.user.Organisation_Users;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.test.AbstractWicketTester;
import org.junit.Test;
@@ -35,33 +36,53 @@ import org.springframework.beans.factory
public class TestUserContact extends AbstractWicketTester {
@Autowired
- private AdminUserDao adminUserDao;
-
+ private UserDao userDao;
@Autowired
- private UserDao usersDao;
+ private OrganisationDao orgDao;
+ Random random = new Random();
+
+ @Test
+ public void createUserWithOrganisation() throws Exception {
+ int rnd = random.nextInt();
+ User u = getUser(rnd);
+ u.getOrganisation_users().add(new Organisation_Users(orgDao.get(1L)));
+ u = userDao.update(u, null);
+ assertTrue("Password should be set as expected", userDao.verifyPassword(u.getUser_id(), "pass" + rnd));
+
+ User u1 = userDao.get(u.getUser_id());
+ assertNotNull("Just created user should not be null", u1);
+ assertNotNull("Just created user should have non null org-users", u1.getOrganisation_users());
+ assertFalse("Just created user should have not empty org-users", u1.getOrganisation_users().isEmpty());
+ }
+
+ @Test
+ public void createUser() throws Exception {
+ int rnd = random.nextInt();
+ User u = createUser(rnd);
+ assertTrue("Password should be set as expected", userDao.verifyPassword(u.getUser_id(), "pass" + rnd));
+ }
@Test
public void addContactByOwner() throws Exception {
login(null, null);
- List<User> users = adminUserDao.getAllUsers();
+ List<User> users = userDao.getAllUsers();
assertNotNull("User list should not be null ", users);
assertFalse("User list should not be empty ", users.isEmpty());
- Random random = new Random();
User contact = createUserContact(random.nextInt(), getUserId());
String email = contact.getAdresses().getEmail();
- List<User> l = adminUserDao.get(email, false);
+ List<User> l = userDao.get(email, false, 0, 9999);
// check that contact is visible for admin
assertNotNull("Contact list should not be null for admin ", l);
assertFalse("Contact list should not be empty for admin ", l.isEmpty());
// check that contact is visible for owner
- l = usersDao.get(email, getUserId());
+ l = userDao.get(email, 0, 9999, null, true, getUserId());
assertTrue("Contact list should not be empty for owner ", !l.isEmpty());
//delete contact
- adminUserDao.delete(contact, getUserId());
- l = adminUserDao.get(email, false);
+ userDao.delete(contact, getUserId());
+ l = userDao.get(email, false, 0, 9999);
assertTrue("Contact list should be empty after deletion", l.isEmpty());
User u = createUser(random.nextInt());
@@ -69,11 +90,11 @@ public class TestUserContact extends Abs
contact = createUserContact(random.nextInt(), u.getUser_id());
email = contact.getAdresses().getEmail();
// check that contact is not visible for user that is not owner of this contact
- l = usersDao.get(email, u1.getUser_id());
+ l = userDao.get(email, 0, 9999, null, true, u1.getUser_id());
assertTrue("Contact list should be empty for another user", l.isEmpty());
//delete contact
- adminUserDao.delete(contact, u.getUser_id());
- l = adminUserDao.get(email, false);
+ userDao.delete(contact, u.getUser_id());
+ l = userDao.get(email, false, 0, 9999);
assertTrue("Contact list should be empty after deletion", l.isEmpty());
}
}
Modified: openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/user/TestUserOrganisation.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/user/TestUserOrganisation.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/user/TestUserOrganisation.java (original)
+++ openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/user/TestUserOrganisation.java Sat Jun 7 07:45:55 2014
@@ -24,8 +24,9 @@ import static org.junit.Assert.fail;
import java.util.List;
-import org.apache.openmeetings.data.user.OrganisationManager;
-import org.apache.openmeetings.db.dao.user.AdminUserDao;
+import org.apache.openmeetings.db.dao.user.OrganisationDao;
+import org.apache.openmeetings.db.dao.user.OrganisationUserDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.user.Organisation;
import org.apache.openmeetings.db.entity.user.Organisation_Users;
import org.apache.openmeetings.db.entity.user.User;
@@ -35,12 +36,15 @@ import org.springframework.beans.factory
public class TestUserOrganisation extends AbstractJUnitDefaults {
@Autowired
- private OrganisationManager orgManagement;
+ private OrganisationUserDao orgUserDao;
@Autowired
- private AdminUserDao usersDao;
+ private OrganisationDao orgDao;
+ @Autowired
+ private UserDao usersDao;
+ public static final String ORG_NAME = "Test Org";
private User getValidUser() {
- for (User u : usersDao.getAllUsers()) {
+ for (User u : usersDao.getAllBackupUsers()) {
if (!u.getDeleted() && u.getOrganisation_users().size() > 0) {
return u;
}
@@ -53,29 +57,21 @@ public class TestUserOrganisation extend
public void getUsersByOrganisationId() {
User u = getValidUser();
Long orgId = u.getOrganisation_users().get(0).getOrganisation().getOrganisation_id();
- List<User> ul = orgManagement.getUsersByOrganisationId(orgId, 0, 9999, "login", true);
+ List<Organisation_Users> ul = orgUserDao.get(orgId, 0, 9999);
assertTrue("Default Organisation should contain at least 1 user: " + ul.size(), ul.size() > 0);
- Organisation_Users ou = orgManagement.getOrganisation_UserByUserAndOrganisation(u.getUser_id(), orgId);
+ Organisation_Users ou = orgUserDao.getByOrganizationAndUser(orgId, u.getUser_id());
assertNotNull("Unable to found [organisation, user] pair - [" + orgId + "," + u.getUser_id() + "]", ou);
}
@Test
public void addOrganisation() {
- Long orgId = orgManagement.addOrganisation("Test Org", 1); //inserted by not checked
+ Organisation o = new Organisation();
+ o.setName(ORG_NAME);
+ Long orgId = orgDao.update(o, null).getOrganisation_id(); //inserted by not checked
assertNotNull("New Organisation have valid id", orgId);
- List<User> ul = orgManagement.getUsersByOrganisationId(orgId, 0, 9999, "login", true);
+ List<Organisation_Users> ul = orgUserDao.get(orgId, 0, 9999);
assertTrue("New Organisation should contain NO users: " + ul.size(), ul.size() == 0);
-
- boolean found = false;
- List<Organisation> restL = orgManagement.getRestOrganisationsByUserId(3, 1, 0, 9999, "name", true);
- for (Organisation o : restL) {
- if (orgId.equals(o.getOrganisation_id())) {
- found = true;
- break;
- }
- }
- assertTrue("New organisation should not be included into organisation list of any user", found);
}
}
Modified: openmeetings/branches/3.0.x/src/util/java/org/apache/openmeetings/util/DaoHelper.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/util/java/org/apache/openmeetings/util/DaoHelper.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/util/java/org/apache/openmeetings/util/DaoHelper.java (original)
+++ openmeetings/branches/3.0.x/src/util/java/org/apache/openmeetings/util/DaoHelper.java Sat Jun 7 07:45:55 2014
@@ -19,32 +19,49 @@
package org.apache.openmeetings.util;
import org.apache.commons.lang3.StringUtils;
+import org.apache.wicket.util.string.Strings;
public class DaoHelper {
public static String getSearchQuery(String table, String alias, String search, boolean filterDeleted, boolean count, String sort, String... fields) {
- return getSearchQuery(table, alias, search, filterDeleted, count, null, sort, fields);
+ return getSearchQuery(table, alias, search, false, filterDeleted, count, sort, fields);
+ }
+ public static String getSearchQuery(String table, String alias, String search, boolean distinct, boolean filterDeleted, boolean count, String sort, String... fields) {
+ return getSearchQuery(table, alias, null, search, distinct, filterDeleted, count, null, sort, fields);
+ }
+
+ public static String getSearchQuery(String table, String alias, String join, String search, boolean filterDeleted, boolean count, String additionalWhere, String sort, String... fields) {
+ return getSearchQuery(table, alias, join, search, filterDeleted, count, additionalWhere, sort, fields);
}
- public static String getSearchQuery(String table, String alias, String search, boolean filterDeleted, boolean count, String additionalWhere, String sort, String... fields) {
+ public static String getSearchQuery(String table, String alias, String join, String search, boolean distinct, boolean filterDeleted, boolean count, String additionalWhere, String sort, String... fields) {
StringBuilder sb = new StringBuilder("SELECT ");
if (count) {
- sb.append("COUNT(").append(alias).append(")");
- } else {
- sb.append(alias);
+ sb.append("COUNT(");
+ }
+ if (distinct) {
+ sb.append("DISTINCT ");
+ }
+ sb.append(alias);
+ if (count) {
+ sb.append(")");
+ }
+ sb.append(" FROM ").append(table).append(" ").append(alias);
+ if (!Strings.isEmpty(join)) {
+ sb.append(" ").append(join);
}
- sb.append(" FROM ").append(table).append(" ").append(alias).append(" WHERE 1 = 1 ");
+ sb.append(" WHERE 1 = 1 ");
if (filterDeleted) {
sb.append("AND ").append(alias).append(".deleted = false ");
}
- StringBuilder where = DaoHelper.getWhereClause(search, alias, fields);
- if (where.length() > 0) {
+ StringBuilder where = getWhereClause(search, alias, fields);
+ if (!Strings.isEmpty(where)) {
sb.append("AND ").append(where);
}
- if (additionalWhere != null && !additionalWhere.trim().isEmpty()) {
+ if (!Strings.isEmpty(additionalWhere)) {
sb.append("AND ").append(additionalWhere);
}
- if (sort != null && !sort.trim().isEmpty()) {
+ if (!Strings.isEmpty(sort)) {
sb.append(" ORDER BY ").append(alias).append(".").append(sort);
}
return sb.toString();
Added: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/AdminUserChoiceProvider.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/AdminUserChoiceProvider.java?rev=1601073&view=auto
==============================================================================
--- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/AdminUserChoiceProvider.java (added)
+++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/AdminUserChoiceProvider.java Sat Jun 7 07:45:55 2014
@@ -0,0 +1,51 @@
+/*
+ * 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.admin;
+
+import static org.apache.openmeetings.web.app.Application.getBean;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.user.User;
+
+import com.vaynberg.wicket.select2.Response;
+import com.vaynberg.wicket.select2.TextChoiceProvider;
+
+public abstract class AdminUserChoiceProvider extends TextChoiceProvider<User> {
+ private static final long serialVersionUID = 1L;
+ protected static int PAGE_SIZE = 20;
+
+ @Override
+ protected Object getId(User choice) {
+ return choice.getUser_id();
+ }
+
+ @Override
+ public void query(String term, int page, Response<User> response) {
+ response.addAll(getBean(UserDao.class).get(term, true, page * PAGE_SIZE, PAGE_SIZE));
+ response.setHasMore(PAGE_SIZE == response.getResults().size());
+ }
+
+ @Override
+ public Collection<User> toChoices(Collection<String> ids) {
+ return new ArrayList<User>(getBean(UserDao.class).get(ids));
+ }
+}
Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/groups/GroupForm.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/groups/GroupForm.java (original)
+++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/groups/GroupForm.java Sat Jun 7 07:45:55 2014
@@ -21,18 +21,17 @@ package org.apache.openmeetings.web.admi
import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
-import java.util.List;
-
-import org.apache.openmeetings.db.dao.user.AdminUserDao;
import org.apache.openmeetings.db.dao.user.OrganisationDao;
+import org.apache.openmeetings.db.dao.user.OrganisationUserDao;
import org.apache.openmeetings.db.entity.user.Organisation;
import org.apache.openmeetings.db.entity.user.Organisation_Users;
import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.web.admin.AdminCommonUserForm;
-import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.admin.AdminBaseForm;
+import org.apache.openmeetings.web.admin.AdminUserChoiceProvider;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
+import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.RequiredTextField;
@@ -40,10 +39,17 @@ import org.apache.wicket.model.CompoundP
import org.apache.wicket.model.Model;
import org.apache.wicket.util.time.Duration;
-public class GroupForm extends AdminCommonUserForm<Organisation> {
+import com.vaynberg.wicket.select2.Select2Choice;
+
+public class GroupForm extends AdminBaseForm<Organisation> {
private static final long serialVersionUID = -1720731686053912700L;
private GroupUsersPanel usersPanel;
private WebMarkupContainer groupList;
+ private Select2Choice<User> userToadd = null;
+
+ static String formatUser(User choice) {
+ return String.format("%s [%s %s]", choice.getLogin(), choice.getFirstname(), choice.getLastname());
+ }
public GroupForm(String id, WebMarkupContainer groupList, Organisation organisation) {
super(id, new CompoundPropertyModel<Organisation>(organisation));
@@ -54,49 +60,62 @@ public class GroupForm extends AdminComm
usersPanel = new GroupUsersPanel("users", getOrgId());
add(usersPanel);
+ add(userToadd = new Select2Choice<User>("user2add", Model.of((User)null), new AdminUserChoiceProvider() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected String getDisplayText(User choice) {
+ return formatUser(choice);
+ }
+ }));
+ userToadd.add(new OnChangeAjaxBehavior() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onUpdate(AjaxRequestTarget target) {
+ Organisation o = GroupForm.this.getModelObject();
+ User u = userToadd.getModelObject();
+ boolean found = false;
+ if (o.getOrganisation_id() != null) {
+ found = null != getBean(OrganisationUserDao.class).getByOrganizationAndUser(o.getOrganisation_id(), u.getUser_id());
+ }
+ if (!found && u != null) {
+ for (Organisation_Users ou : usersPanel.getUsers2add()) {
+ if (ou.getUser().getUser_id().equals(u.getUser_id())) {
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ Organisation_Users ou = new Organisation_Users(o);
+ ou.setUser(u);
+ usersPanel.getUsers2add().add(new Organisation_Users(o));
+
+ userToadd.setModelObject(null);
+ target.add(usersPanel, userToadd);
+ }
+ }
+ }
+ });
// attach an ajax validation behavior to all form component's keydown
// event and throttle it down to once per second
AjaxFormValidatingBehavior.addToAllFormComponents(this, "keydown", Duration.ONE_SECOND);
}
- @Override
public void updateView(AjaxRequestTarget target) {
+ userToadd.setModelObject(null);
usersPanel.update(getOrgId());
target.add(this, groupList);
target.appendJavaScript("groupsInit();");
}
- @Override
- public void submitView(AjaxRequestTarget target, List<User> usersToAdd) {
- // TODO Auto-generated method stub
- AdminUserDao userDao = Application.getBean(AdminUserDao.class);
- Organisation organisation = getModelObject();
- for (User u : usersToAdd) {
- List<Organisation_Users> orgUsers = u.getOrganisation_users();
- boolean found = false;
- for (Organisation_Users ou : orgUsers) {
- if (ou.getOrganisation().getOrganisation_id().equals(organisation.getOrganisation_id())) {
- found = true;
- break;
- }
- }
- if (!found) {
- Organisation_Users orgUser = new Organisation_Users(organisation);
- orgUser.setDeleted(false);
- orgUsers.add(orgUser);
- userDao.update(u, WebSession.getUserId());
- }
- }
- target.add(usersPanel);
- }
-
private long getOrgId() {
return getModelObject().getOrganisation_id() != null ? getModelObject().getOrganisation_id() : 0;
}
@Override
protected void onNewSubmit(AjaxRequestTarget target, Form<?> f) {
- this.setModelObject(new Organisation());
+ setModelObject(new Organisation());
updateView(target);
}
@@ -108,20 +127,23 @@ public class GroupForm extends AdminComm
} else {
org = new Organisation();
}
- this.setModelObject(org);
+ setModelObject(org);
updateView(target);
}
@Override
protected void onDeleteSubmit(AjaxRequestTarget target, Form<?> form) {
getBean(OrganisationDao.class).delete(getModelObject(), getUserId());
- this.setModelObject(new Organisation());
+ setModelObject(new Organisation());
updateView(target);
}
@Override
protected void onSaveSubmit(AjaxRequestTarget target, Form<?> form) {
- getBean(OrganisationDao.class).update(getModelObject(), getUserId());
+ Organisation o = getModelObject();
+ o = getBean(OrganisationDao.class).update(o, getUserId());
+ setModelObject(o);
+ getBean(OrganisationUserDao.class).update(usersPanel.getUsers2add(), getUserId());
hideNewRecord();
updateView(target);
}
Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.html?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.html (original)
+++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.html Sat Jun 7 07:45:55 2014
@@ -22,16 +22,18 @@
<wicket:panel>
<div class="usergroupspanel">
<span wicket:id="navigator">[dataview navigator]</span>
- <table class="adminListTable" style="min-width: 400px; max-width: 400px" >
+ <table class="adminListTable" style="min-width: 440px; max-width: 440px" >
<tr>
+ <th class="ui-widget-header" style="width: 34px; max-width: 34px; overflow: hidden;" wicket:ommessage="title:98"><wicket:ommessage key="98" /></th>
<th class="ui-widget-header" style="width: 360px"><wicket:ommessage key="177" /></th>
<th class="ui-widget-header" style="width: 34px"><wicket:ommessage key="275" /></th>
</tr>
</table>
- <div class="tableWrapper" style="width: 420px; height: 420px;">
- <table class="adminListTable" style="min-width: 400px; max-width: 400px">
+ <div class="tableWrapper" style="width: 460px; height: 460px;">
+ <table class="adminListTable" style="min-width: 440px; max-width: 440px">
<tbody>
- <tr wicket:id="userList">
+ <tr wicket:id="userList" class="ui-widget-content">
+ <td style="width: 34px"><input type="checkbox" wicket:id="isModerator"/></td>
<td style="width: 360px"><div style="width: 360px"><span wicket:id="label"></span></div></td>
<td style="width: 34px"><div style="width: 34px"><div class="formCancelButton" wicket:id="deleteUserBtn" wicket:ommessage="title:274"><input/></div></div></td>
</tr>