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 2016/01/21 07:34:48 UTC
svn commit: r1725877 - in /openmeetings/application:
branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/
branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/
branches/3.1.x/openmeetings-flash/src/main/swf/modul...
Author: solomax
Date: Thu Jan 21 06:34:47 2016
New Revision: 1725877
URL: http://svn.apache.org/viewvc?rev=1725877&view=rev
Log:
[OPENMEETINGS-794] invitations seems to work as expected
Modified:
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/invitation/invitationQuickLoader.lzx
openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java Thu Jan 21 06:34:47 2016
@@ -144,7 +144,6 @@ public class ConferenceService {
public List<Room> getRoomsPublicWithoutType(String SID) {
try {
-
Long userId = sessiondataDao.checkSession(SID);
if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
@@ -255,8 +254,7 @@ public class ConferenceService {
* @param asc
* @return - list of rooms being searched
*/
- public SearchResult<Room> getRooms(String SID, int start, int max,
- String orderby, boolean asc, String search) {
+ public SearchResult<Room> getRooms(String SID, int start, int max, String orderby, boolean asc, String search) {
log.debug("getRooms");
Long userId = sessiondataDao.checkSession(SID);
@@ -266,8 +264,7 @@ public class ConferenceService {
return null;
}
- public SearchResult<Room> getRoomsWithCurrentUsers(String SID, int start,
- int max, String orderby, boolean asc) {
+ public SearchResult<Room> getRoomsWithCurrentUsers(String SID, int start, int max, String orderby, boolean asc) {
log.debug("getRooms");
Long userId = sessiondataDao.checkSession(SID);
@@ -277,22 +274,15 @@ public class ConferenceService {
return null;
}
- public List<RoomModerator> getRoomModeratorsByRoomId(String SID,
- Long roomId) {
+ public List<RoomModerator> getRoomModeratorsByRoomId(String SID, Long roomId) {
try {
-
Long userId = sessiondataDao.checkSession(SID);
-
if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
-
return roomModeratorDao.getByRoomId(roomId);
-
}
-
} catch (Exception err) {
log.error("[getRoomModeratorsByRoomId]", err);
}
-
return null;
}
@@ -306,12 +296,7 @@ public class ConferenceService {
try {
Room room = roomDao.get(roomId);
- if (room.getNumberOfPartizipants() <= this.sessionManager
- .getClientListByRoom(roomId).size()) {
- return true;
- }
-
- return false;
+ return room.getNumberOfPartizipants() <= sessionManager.getClientListByRoom(roomId).size();
} catch (Exception err) {
log.error("[isRoomFull]", err);
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java Thu Jan 21 06:34:47 2016
@@ -24,8 +24,10 @@ import java.util.Date;
import org.apache.openmeetings.db.dao.room.IInvitationManager;
import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.room.Client;
import org.apache.openmeetings.db.entity.room.Invitation;
import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
import org.apache.openmeetings.db.entity.room.Invitation.Valid;
@@ -33,6 +35,8 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.util.CalendarHelper;
import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.IConnection;
+import org.red5.server.api.Red5;
import org.red5.server.api.service.IPendingServiceCall;
import org.red5.server.api.service.IPendingServiceCallback;
import org.slf4j.Logger;
@@ -42,6 +46,8 @@ import org.threeten.bp.LocalDateTime;
public class InvitationService implements IPendingServiceCallback {
private static final Logger log = Red5LoggerFactory.getLogger(InvitationService.class, webAppRootKey);
@Autowired
+ private ISessionManager sessionManager;
+ @Autowired
private SessiondataDao sessiondataDao;
@Autowired
private UserDao userDao;
@@ -134,8 +140,7 @@ public class InvitationService implement
return null;
}
- public String sendInvitationByHash(String SID, String invitationHash, String message, String subject
- , Long languageId) throws Exception {
+ public String sendInvitationByHash(String SID, String invitationHash, String message, String subject, Long languageId) throws Exception {
Long userId = sessiondataDao.checkSession(SID);
if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
@@ -148,8 +153,32 @@ public class InvitationService implement
return "Success";
}
- public Object getInvitationByHash(String hashCode) {
- return invitationManager.getInvitationByHashCode(hashCode, true);
+ public Object getInvitationByHash(String SID, String hashCode) {
+ Object o = invitationManager.getInvitationByHashCode(hashCode, true);
+ if (o instanceof Invitation) {
+ Invitation i = (Invitation)o;
+ if (i.isAllowEntry()) {
+ User u = i.getInvitee();
+ Long userId = -u.getId(); //TODO check this, extremely weird
+ sessiondataDao.updateUser(SID, userId);
+ IConnection current = Red5.getConnectionLocal();
+ String streamId = current.getClient().getId();
+ Client client = sessionManager.getClientByStreamId(streamId, null);
+
+ client.setFirstname(u.getFirstname());
+ client.setLastname(u.getLastname());
+ client.setUserId(userId);
+ client.setUsername(u.getLogin());
+ client.setEmail(u.getAddress() == null ? null : u.getAddress().getEmail());
+ client.setPicture_uri(u.getPictureuri());
+ client.setLanguage("" + u.getLanguageId());
+ client.setExternalUserId(u.getExternalId());
+ client.setExternalUserType(u.getExternalType());
+
+ sessionManager.updateClientByStreamId(streamId, client, false, null);
+ }
+ }
+ return o;
}
public Object checkInvitationPass(String hashCode, String pass) {
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java Thu Jan 21 06:34:47 2016
@@ -22,7 +22,6 @@ import static org.apache.openmeetings.ut
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY;
import java.util.Date;
-import java.util.LinkedHashMap;
import java.util.List;
import java.util.Set;
@@ -70,7 +69,6 @@ import org.springframework.beans.factory
*
*/
public class MainService implements IPendingServiceCallback {
-
private static final Logger log = Red5LoggerFactory.getLogger(MainService.class, OpenmeetingsVariables.webAppRootKey);
@Autowired
@@ -220,6 +218,7 @@ public class MainService implements IPen
currentClient.setFirstname(u.getFirstname());
currentClient.setLastname(u.getLastname());
currentClient.setPicture_uri(u.getPictureuri());
+ currentClient.setEmail(u.getAddress() == null ? null : u.getAddress().getEmail());
sessionManager.updateClientByStreamId(streamId, currentClient, false, null);
scopeApplicationAdapter.sendMessageToCurrentScope("roomConnect", currentClient, false);
@@ -233,7 +232,6 @@ public class MainService implements IPen
public Object secureLoginByRemote(String SID, String secureHash) {
try {
-
log.debug("############### secureLoginByRemote " + secureHash);
String clientURL = Red5.getConnectionLocal().getRemoteAddress();
@@ -243,14 +241,11 @@ public class MainService implements IPen
SOAPLogin soapLogin = soapLoginDao.get(secureHash);
if (soapLogin.isUsed()) {
-
if (soapLogin.getAllowSameURLMultipleTimes()) {
-
if (!soapLogin.getClientURL().equals(clientURL)) {
log.debug("does not equal " + clientURL);
return -42L;
}
-
} else {
log.debug("Already used " + secureHash);
return -42L;
@@ -427,33 +422,6 @@ public class MainService implements IPen
}
/**
- * this function returns a user object with group objects set only
- * the group is not available for users that are using a HASH mechanism
- * cause the SOAP/REST API does not guarantee that the user connected to the HASH
- * has a valid user object set
- *
- * @param SID
- */
- public User markSessionAsLogedIn(String SID) {
- try {
- sessiondataDao.updateUserWithoutSession(SID, -1L);
-
- Long defaultRpcUserid = configurationDao.getConfValue(
- "default.rpc.userid", Long.class, "-1");
- User defaultRpcUser = userDao.get(defaultRpcUserid);
-
- User user = new User();
- user.setGroupUsers(defaultRpcUser.getGroupUsers());
-
- return user;
-
- } catch (Exception err) {
- log.error("[markSessionAsLogedIn]", err);
- }
- return null;
- }
-
- /**
* clear this session id
*
* @param SID
@@ -463,8 +431,7 @@ public class MainService implements IPen
try {
Long users_id = sessiondataDao.checkSession(SID);
IConnection current = Red5.getConnectionLocal();
- Client currentClient = this.sessionManager
- .getClientByStreamId(current.getClient().getId(), null);
+ Client currentClient = sessionManager.getClientByStreamId(current.getClient().getId(), null);
scopeApplicationAdapter.roomLeaveByScope(currentClient,current.getScope(), false);
@@ -494,35 +461,6 @@ public class MainService implements IPen
return null;
}
- /**
- * TODO: Is this function in usage?
- *
- * @deprecated
- * @param SID
- * @param domain
- * @return - empty map
- */
- @Deprecated
- public LinkedHashMap<Integer, Client> getUsersByDomain(String SID,
- String domain) {
- Long users_id = sessiondataDao.checkSession(SID);
- if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
- LinkedHashMap<Integer, Client> lMap = new LinkedHashMap<Integer, Client>();
- // Integer counter = 0;
- // for (Iterator<String> it =
- // Application.getClientList().keySet().iterator();it.hasNext();) {
- // RoomClient rc = Application.getClientList().get(it.next());
- // //if (rc.getDomain().equals(domain)) {
- // lMap.put(counter, rc);
- // counter++;
- // //}
- // }
- return lMap;
- } else {
- return null;
- }
- }
-
public void resultReceived(IPendingServiceCall arg0) {
log.debug("[resultReceived]" + arg0);
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx Thu Jan 21 06:34:47 2016
@@ -360,6 +360,7 @@
</netRemoteCallHib>
<netRemoteCallHib name="getInvitationByHash" activeErrorHandler="true" funcname="invitationservice.getInvitationByHash">
+ <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
<netparam name="invitationHash"><method name="getValue">return canvas.invitationHash;</method></netparam>
<handler name="ondata" args="value">
<![CDATA[
@@ -400,7 +401,7 @@
}
canvas.showNickNameDialog = value.showNickNameDialog;
- if ($debug) Debug.write("markSessionAsLogedIn9 ",canvas.showNickNameDialog);
+ if ($debug) Debug.write("secureLoginByRemote1: ",canvas.showNickNameDialog);
canvas.initroomid = value.roomId;
canvas.becomemoderator = value.becomemoderator;
@@ -465,6 +466,7 @@
if ($debug) Debug.write("!!!!!!!!!!! Nickname HIB ", value.address.email);
new lz.chooseNickName(canvas);
}
+ hib.userobject.id = value.userId;
hib.userobject.firstname = fName;
hib.userobject.lastname = lName;
@@ -547,55 +549,13 @@
</handler>
</netRemoteCallHib>
- <!--
- There must be a temporary SIP-Account created at this moment
- -->
- <netRemoteCallHib name="markSessionAsLogedIn" funcname="xmlcrm.markSessionAsLogedIn" >
- <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
- <handler name="ondata" args="value">
- <![CDATA[
- //The onResult-Handler will be called be the rtmpconnection
-
- if (value == null) {
- new lz.errorPopup(canvas,{error:"Missing User Object, set the Configuration value of the key 'default.rpc.userid' to a valid user Id that has at least one Organization assigned in the OpenMeetings Administrion Configuration Panel "});
- }
-
- if ($debug) Debug.write("markSessionAsLogedIn1 ",value);
-
- hib.userobject = value;
-
- canvas.userId = hib.userobject.id;
-
- if (value.groupUsers.length == 0 && !canvas.isRemoteUser()) {
- new lz.errorPopup(canvas,{error:"Missing Group in User Object, set the Configuration value of the key 'default.rpc.userid' to a valid user Id that has at least one Organization assigned in the OpenMeetings Administrion Configuration Panel "});
- }
-
- if ($debug) Debug.write("markSessionAsLogedIn2 ",canvas.sessionId);
- if ($debug) Debug.write("markSessionAsLogedIn3 ",canvas.initroomid);
- if ($debug) Debug.write("markSessionAsLogedIn4 ",canvas.isinitRoomDirect);
- if ($debug) Debug.write("markSessionAsLogedIn5 ",canvas.remoteUserLogin);
- if ($debug) Debug.write("markSessionAsLogedIn6 ",canvas.directUserLogin);
- if ($debug) Debug.write("markSessionAsLogedIn7 ",canvas.directRoomId);
- if ($debug) Debug.write("markSessionAsLogedIn8 ",canvas.secureRemoteUserLogin);
-
- if (canvas.secureRemoteUserLogin) {
-
- if ($debug) Debug.write("markSessionAsLogedIn == CALL ",canvas.secureHash);
-
- parent.secureLoginByRemote.doCall();
-
- } else if (canvas.isinitRoomDirect){
- parent.getInvitationByHash.doCall();
- } else if (canvas.remoteUserLogin) {
- parent.loginUserByRemote.doCall();
- } else if (canvas.directUserLogin) {
- //show Nick Name or Password Protection Dialog
- canvas.initroomid = Number(canvas.directRoomId);
- parent.getRoomById.doCall();
- }
- ]]>
- </handler>
- </netRemoteCallHib>
+ <method name="setUser" args="user">
+ if (!user) {
+ new lz.errorPopup(canvas,{error:"Missing User Object"});
+ }
+ hib.userobject = user;
+ canvas.userId = hib.userobject.id;
+ </method>
<netRemoteCallHib name="getGeneralOptions" funcname="xmlcrm.getGeneralOptions">
<handler name="ondata" args="value">
@@ -632,19 +592,17 @@
parent.loginWicket.doCall();
} else {
if (canvas.thishib.loaderVar != null) {
- canvas.thishib.loaderVar.close();
+ canvas.thishib.loaderVar.close();
}
//do not show loggin-PopUp for the test-Application
if (parent.testAppLoading){
canvas.loadNextStepTestApp();
- } else {
- if (canvas.isRemoteUser()){
- if (canvas.thishib.loaderVar != null) {
- canvas.thishib.loaderVar.setProgress();
- }
- if($debug) Debug.write("isinitRoomDirect or remoteUserLogin is true");
- parent.markSessionAsLogedIn.doCall();
- }
+ } else if (!!canvas.invitationHash) {
+ parent.getInvitationByHash.doCall();
+ } else if (canvas.secureRemoteUserLogin) {
+ if ($debug) Debug.write("secureLoginByRemote:: ",canvas.secureHash);
+ hib.userobject = {};
+ parent.secureLoginByRemote.doCall();
}
}
]]>
Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx Thu Jan 21 06:34:47 2016
@@ -35,7 +35,7 @@
<method name="initialAddItem" args="object">
<![CDATA[
- if ($debug) Debug.write("restrictedUserListInner::initialAddItem : ",object.publicSID);
+ if ($debug) Debug.write("restrictedUserListInner::initialAddItem : ", object);
object.firstname = object.firstname == null ? "" : object.firstname;
object.lastname = object.lastname == null ? "" : object.lastname;
@@ -276,7 +276,7 @@
if (records.length > i) {
list.subviews[i].setAttribute("clickable",true);
- list.subviews[i].setAttribute("refObj", records[i]);
+ list.subviews[i].update(records[i]);
if (records[i]["isselected"] && records[i].isselected) {
list.subviews[i].isselected = true;
Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx Thu Jan 21 06:34:47 2016
@@ -42,7 +42,7 @@
<method name="update" args="obj, full=true">
<![CDATA[
- if ($debug) Debug.write("!!!! update ", this.userId);
+ if ($debug) Debug.write("!!!! update ", obj, this.userId);
setAttribute('firstname', obj.firstname);
setAttribute('lastname', obj.lastname);
if (full) {
@@ -66,6 +66,7 @@
this.isMod = refObj.isMod;
updateUserStatus();
this._content._iconsModerator.oninit.sendEvent();
+ this._content._userName.setAttribute('text', getUName());
]]>
</method>
@@ -133,10 +134,30 @@
<method name="userTyping" args="v">
this._content._user_typing.setAttribute("visible", v);
</method>
+
+ <method name="getUName">
+ <![CDATA[
+ var n = "", delim = "";
+ if (!!firstname) {
+ n = firstname;
+ delim = " ";
+ }
+ if (!!lastname) {
+ n += delim + lastname;
+ }
+ if ($debug) Debug.write(" :: getUName :: ", !n, !!refObj, refObj);
+ if (!n && !!refObj && !!refObj.email) {
+ n = refObj.email;
+ }
+ if ($debug) Debug.write(" :: getUName :: ", n);
+ return n;
+ ]]>
+ </method>
+
<view name="_content" width="254">
<view name="_contentIsCurrent" visible="${ parent.parent.refObj != null && canvas.publicSID == parent.parent.refObj.publicSID }" width="254" height="40" bgcolor="0x7CFC00"/>
- <labelText name="_userName" x="2" y="2" text="${ (parent.parent.firstname == null ? '' : parent.parent.firstname) + ' ' + (parent.parent.lastname == null ? '' : parent.parent.lastname) }" />
+ <labelText name="_userName" x="2" y="2" text="$once{ parent.parent.getUName() }" />
<typingIcon name="_user_typing" x="132" y="2" width="30" height="16" visible="false"/>
<miniIcons name="_restartDevice" x="220" y="0" width="16" height="16" resource="resyncuser_rsc" showhandcursor="true"
Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/invitation/invitationQuickLoader.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/invitation/invitationQuickLoader.lzx?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/invitation/invitationQuickLoader.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/invitation/invitationQuickLoader.lzx Thu Jan 21 06:34:47 2016
@@ -59,9 +59,8 @@
this.checkInvitationPass.doCall();
</method>
- <netRemoteCallHib name="isRoomFull" funcname="conferenceservice.isRoomFull"
- remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >
- <netparam name="pass"><method name="getValue">return canvas.thishib.currentInvitation.room.id;</method></netparam>
+ <netRemoteCallHib name="isRoomFull" funcname="conferenceservice.isRoomFull" remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >
+ <netparam name="roomId"><method name="getValue">return canvas.thishib.currentInvitation.room.id;</method></netparam>
<handler name="ondata" args="value">
<![CDATA[
//The onResult-Handler will be called be the rtmpconnection
@@ -78,8 +77,7 @@
</handler>
</netRemoteCallHib>
- <netRemoteCallHib name="checkInvitationPass" funcname="invitationservice.checkInvitationPass"
- remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >
+ <netRemoteCallHib name="checkInvitationPass" funcname="invitationservice.checkInvitationPass" remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >
<netparam name="invitationHash"><method name="getValue">return canvas.invitationHash;</method></netparam>
<netparam name="pass"><method name="getValue">return parent.parent._password.getText();</method></netparam>
@@ -96,6 +94,7 @@
</netRemoteCallHib>
<method name="setRoomValues">
+ canvas.thishib.setUser(canvas.thishib.currentInvitation.invitee);
canvas.setRoomValues(canvas.thishib.currentInvitation.room);
</method>
Modified: openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java Thu Jan 21 06:34:47 2016
@@ -325,8 +325,6 @@ public class ImportInitvalues {
"The Name of the Font used for exporting/render Images from Whiteboard"
+ "The Font has to exist on the Server which runs Red5");
- cfgDao.add("default.rpc.userid", "" + 1, null, "The User-Id of the Control User in OpenMeetings");
-
cfgDao.add(CONFIG_APPLICATION_BASE_URL, cfg.baseUrl, null, "Base URL your OPenmeetings installation will be accessible at.");
// ***************************************
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java Thu Jan 21 06:34:47 2016
@@ -193,7 +193,7 @@ public class WebSession extends Abstract
return userId > -1;
}
- public boolean signIn(String secureHash) {
+ public boolean signIn(String secureHash, boolean markUsed) {
//FIXME code is duplicated from MainService, need to be unified
SOAPLoginDao soapDao = getBean(SOAPLoginDao.class);
SOAPLogin soapLogin = soapDao.get(secureHash);
@@ -221,12 +221,12 @@ public class WebSession extends Abstract
user.setPictureuri(remoteUser.getPictureUrl());
}
user = userDao.update(user, null);
-
- soapLogin.setUsed(true);
- soapLogin.setUseDate(new Date());
- //soapLogin.setClientURL(clientURL); //FIXME
- soapDao.update(soapLogin);
-
+ if (markUsed) {
+ soapLogin.setUsed(true);
+ soapLogin.setUseDate(new Date());
+ //soapLogin.setClientURL(clientURL); //FIXME
+ soapDao.update(soapLogin);
+ }
sessionDao.updateUser(SID, user.getId());
setUser(user);
recordingId = soapLogin.getRecordingId();
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java Thu Jan 21 06:34:47 2016
@@ -36,7 +36,7 @@ public class RecordingPage extends BaseI
public RecordingPage(PageParameters p) {
String hash = p.get("hash").toString();
Recording r = null;
- if (WebSession.get().signIn(hash)) {
+ if (WebSession.get().signIn(hash, true)) {
Long recId = getRecordingId();
if (recId != null) {
r = getBean(RecordingDao.class).get(recId);
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java Thu Jan 21 06:34:47 2016
@@ -19,14 +19,10 @@
package org.apache.openmeetings.web.pages;
import static org.apache.openmeetings.web.app.Application.getBean;
-import static org.apache.openmeetings.web.app.WebSession.SECURE_HASH;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
-import org.apache.openmeetings.db.dao.server.SOAPLoginDao;
-import org.apache.openmeetings.db.entity.server.SOAPLogin;
import org.apache.openmeetings.web.room.RoomPanel;
import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.util.string.StringValue;
public class SwfPage extends BaseNotInitedPage {
private static final long serialVersionUID = 1L;
@@ -36,14 +32,6 @@ public class SwfPage extends BaseNotInit
}
public SwfPage(PageParameters pp) {
- StringValue shash = pp.get(SECURE_HASH);
- if (!shash.isEmpty()) {
- SOAPLogin soapLogin = getBean(SOAPLoginDao.class).get(shash.toString());
- Long roomId = soapLogin.getRoomId();
- if (roomId != null) {
- pp = pp.mergeWith(RoomPanel.addServer(roomId, false));
- }
- }
add(new RoomPanel("room", pp));
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java Thu Jan 21 06:34:47 2016
@@ -40,6 +40,7 @@ import org.apache.openmeetings.db.dao.se
import org.apache.openmeetings.db.dao.server.ServerDao;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
import org.apache.openmeetings.db.entity.room.Client;
+import org.apache.openmeetings.db.entity.server.SOAPLogin;
import org.apache.openmeetings.db.entity.server.Server;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.common.BasePanel;
@@ -138,7 +139,12 @@ public class RoomPanel extends BasePanel
if (!room.isEmpty()) {
roomId = room.toLong();
} else if (!secureHash.isEmpty()) {
- roomId = getBean(SOAPLoginDao.class).get(secureHash.toString()).getRoomId();
+ SOAPLogin soapLogin = getBean(SOAPLoginDao.class).get(secureHash.toString());
+ if (WebSession.get().signIn(secureHash.toString(), false)) {
+ roomId = soapLogin.getRoomId();
+ pp = pp.mergeWith(RoomPanel.addServer(roomId, false));
+ }
+ //TODO access denied
} else if (!invitationHash.isEmpty()) {
roomId = getBean(InvitationDao.class).getInvitationByHashCode(invitationHash.toString(), true).getRoom().getId();
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java Thu Jan 21 06:34:47 2016
@@ -121,7 +121,7 @@ public abstract class RecordingResourceR
return getRecording(id);
} else {
ws.invalidate();
- if (ws.signIn(_id.toString())) {
+ if (ws.signIn(_id.toString(), true)) {
return getRecording(getRecordingId());
}
}
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java Thu Jan 21 06:34:47 2016
@@ -144,7 +144,6 @@ public class ConferenceService {
public List<Room> getRoomsPublicWithoutType(String SID) {
try {
-
Long userId = sessiondataDao.checkSession(SID);
if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
@@ -255,8 +254,7 @@ public class ConferenceService {
* @param asc
* @return - list of rooms being searched
*/
- public SearchResult<Room> getRooms(String SID, int start, int max,
- String orderby, boolean asc, String search) {
+ public SearchResult<Room> getRooms(String SID, int start, int max, String orderby, boolean asc, String search) {
log.debug("getRooms");
Long userId = sessiondataDao.checkSession(SID);
@@ -266,8 +264,7 @@ public class ConferenceService {
return null;
}
- public SearchResult<Room> getRoomsWithCurrentUsers(String SID, int start,
- int max, String orderby, boolean asc) {
+ public SearchResult<Room> getRoomsWithCurrentUsers(String SID, int start, int max, String orderby, boolean asc) {
log.debug("getRooms");
Long userId = sessiondataDao.checkSession(SID);
@@ -277,22 +274,15 @@ public class ConferenceService {
return null;
}
- public List<RoomModerator> getRoomModeratorsByRoomId(String SID,
- Long roomId) {
+ public List<RoomModerator> getRoomModeratorsByRoomId(String SID, Long roomId) {
try {
-
Long userId = sessiondataDao.checkSession(SID);
-
if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
-
return roomModeratorDao.getByRoomId(roomId);
-
}
-
} catch (Exception err) {
log.error("[getRoomModeratorsByRoomId]", err);
}
-
return null;
}
@@ -306,12 +296,7 @@ public class ConferenceService {
try {
Room room = roomDao.get(roomId);
- if (room.getNumberOfPartizipants() <= this.sessionManager
- .getClientListByRoom(roomId).size()) {
- return true;
- }
-
- return false;
+ return room.getNumberOfPartizipants() <= sessionManager.getClientListByRoom(roomId).size();
} catch (Exception err) {
log.error("[isRoomFull]", err);
}
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java Thu Jan 21 06:34:47 2016
@@ -24,8 +24,10 @@ import java.util.Date;
import org.apache.openmeetings.db.dao.room.IInvitationManager;
import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.room.Client;
import org.apache.openmeetings.db.entity.room.Invitation;
import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
import org.apache.openmeetings.db.entity.room.Invitation.Valid;
@@ -33,6 +35,8 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.util.CalendarHelper;
import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.IConnection;
+import org.red5.server.api.Red5;
import org.red5.server.api.service.IPendingServiceCall;
import org.red5.server.api.service.IPendingServiceCallback;
import org.slf4j.Logger;
@@ -42,6 +46,8 @@ import org.threeten.bp.LocalDateTime;
public class InvitationService implements IPendingServiceCallback {
private static final Logger log = Red5LoggerFactory.getLogger(InvitationService.class, webAppRootKey);
@Autowired
+ private ISessionManager sessionManager;
+ @Autowired
private SessiondataDao sessiondataDao;
@Autowired
private UserDao userDao;
@@ -134,8 +140,7 @@ public class InvitationService implement
return null;
}
- public String sendInvitationByHash(String SID, String invitationHash, String message, String subject
- , Long languageId) throws Exception {
+ public String sendInvitationByHash(String SID, String invitationHash, String message, String subject, Long languageId) throws Exception {
Long userId = sessiondataDao.checkSession(SID);
if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
@@ -148,8 +153,32 @@ public class InvitationService implement
return "Success";
}
- public Object getInvitationByHash(String hashCode) {
- return invitationManager.getInvitationByHashCode(hashCode, true);
+ public Object getInvitationByHash(String SID, String hashCode) {
+ Object o = invitationManager.getInvitationByHashCode(hashCode, true);
+ if (o instanceof Invitation) {
+ Invitation i = (Invitation)o;
+ if (i.isAllowEntry()) {
+ User u = i.getInvitee();
+ Long userId = -u.getId(); //TODO check this, extremely weird
+ sessiondataDao.updateUser(SID, userId);
+ IConnection current = Red5.getConnectionLocal();
+ String streamId = current.getClient().getId();
+ Client client = sessionManager.getClientByStreamId(streamId, null);
+
+ client.setFirstname(u.getFirstname());
+ client.setLastname(u.getLastname());
+ client.setUserId(userId);
+ client.setUsername(u.getLogin());
+ client.setEmail(u.getAddress() == null ? null : u.getAddress().getEmail());
+ client.setPicture_uri(u.getPictureuri());
+ client.setLanguage("" + u.getLanguageId());
+ client.setExternalUserId(u.getExternalId());
+ client.setExternalUserType(u.getExternalType());
+
+ sessionManager.updateClientByStreamId(streamId, client, false, null);
+ }
+ }
+ return o;
}
public Object checkInvitationPass(String hashCode, String pass) {
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java Thu Jan 21 06:34:47 2016
@@ -22,7 +22,6 @@ import static org.apache.openmeetings.ut
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY;
import java.util.Date;
-import java.util.LinkedHashMap;
import java.util.List;
import java.util.Set;
@@ -63,7 +62,6 @@ import org.springframework.beans.factory
*
*/
public class MainService implements IPendingServiceCallback {
-
private static final Logger log = Red5LoggerFactory.getLogger(MainService.class, OpenmeetingsVariables.webAppRootKey);
@Autowired
@@ -136,7 +134,6 @@ public class MainService implements IPen
public Object secureLoginByRemote(String SID, String secureHash) {
try {
-
log.debug("############### secureLoginByRemote " + secureHash);
String clientURL = Red5.getConnectionLocal().getRemoteAddress();
@@ -146,14 +143,11 @@ public class MainService implements IPen
SOAPLogin soapLogin = soapLoginDao.get(secureHash);
if (soapLogin.isUsed()) {
-
if (soapLogin.getAllowSameURLMultipleTimes()) {
-
if (!soapLogin.getClientURL().equals(clientURL)) {
log.debug("does not equal " + clientURL);
return -42L;
}
-
} else {
log.debug("Already used " + secureHash);
return -42L;
@@ -330,33 +324,6 @@ public class MainService implements IPen
}
/**
- * this function returns a user object with group objects set only
- * the group is not available for users that are using a HASH mechanism
- * cause the SOAP/REST API does not guarantee that the user connected to the HASH
- * has a valid user object set
- *
- * @param SID
- */
- public User markSessionAsLogedIn(String SID) {
- try {
- sessiondataDao.updateUserWithoutSession(SID, -1L);
-
- Long defaultRpcUserid = configurationDao.getConfValue(
- "default.rpc.userid", Long.class, "-1");
- User defaultRpcUser = userDao.get(defaultRpcUserid);
-
- User user = new User();
- user.setGroupUsers(defaultRpcUser.getGroupUsers());
-
- return user;
-
- } catch (Exception err) {
- log.error("[markSessionAsLogedIn]", err);
- }
- return null;
- }
-
- /**
* clear this session id
*
* @param SID
@@ -366,8 +333,7 @@ public class MainService implements IPen
try {
Long users_id = sessiondataDao.checkSession(SID);
IConnection current = Red5.getConnectionLocal();
- Client currentClient = this.sessionManager
- .getClientByStreamId(current.getClient().getId(), null);
+ Client currentClient = sessionManager.getClientByStreamId(current.getClient().getId(), null);
scopeApplicationAdapter.roomLeaveByScope(currentClient,current.getScope(), false);
@@ -397,35 +363,6 @@ public class MainService implements IPen
return null;
}
- /**
- * TODO: Is this function in usage?
- *
- * @deprecated
- * @param SID
- * @param domain
- * @return - empty map
- */
- @Deprecated
- public LinkedHashMap<Integer, Client> getUsersByDomain(String SID,
- String domain) {
- Long users_id = sessiondataDao.checkSession(SID);
- if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
- LinkedHashMap<Integer, Client> lMap = new LinkedHashMap<Integer, Client>();
- // Integer counter = 0;
- // for (Iterator<String> it =
- // Application.getClientList().keySet().iterator();it.hasNext();) {
- // RoomClient rc = Application.getClientList().get(it.next());
- // //if (rc.getDomain().equals(domain)) {
- // lMap.put(counter, rc);
- // counter++;
- // //}
- // }
- return lMap;
- } else {
- return null;
- }
- }
-
public void resultReceived(IPendingServiceCall arg0) {
log.debug("[resultReceived]" + arg0);
}
Modified: openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java (original)
+++ openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java Thu Jan 21 06:34:47 2016
@@ -325,8 +325,6 @@ public class ImportInitvalues {
"The Name of the Font used for exporting/render Images from Whiteboard"
+ "The Font has to exist on the Server which runs Red5");
- cfgDao.add("default.rpc.userid", "" + 1, null, "The User-Id of the Control User in OpenMeetings");
-
cfgDao.add(CONFIG_APPLICATION_BASE_URL, cfg.baseUrl, null, "Base URL your OPenmeetings installation will be accessible at.");
// ***************************************
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java Thu Jan 21 06:34:47 2016
@@ -193,7 +193,7 @@ public class WebSession extends Abstract
return userId > -1;
}
- public boolean signIn(String secureHash) {
+ public boolean signIn(String secureHash, boolean markUsed) {
//FIXME code is duplicated from MainService, need to be unified
SOAPLoginDao soapDao = getBean(SOAPLoginDao.class);
SOAPLogin soapLogin = soapDao.get(secureHash);
@@ -221,12 +221,12 @@ public class WebSession extends Abstract
user.setPictureuri(remoteUser.getPictureUrl());
}
user = userDao.update(user, null);
-
- soapLogin.setUsed(true);
- soapLogin.setUseDate(new Date());
- //soapLogin.setClientURL(clientURL); //FIXME
- soapDao.update(soapLogin);
-
+ if (markUsed) {
+ soapLogin.setUsed(true);
+ soapLogin.setUseDate(new Date());
+ //soapLogin.setClientURL(clientURL); //FIXME
+ soapDao.update(soapLogin);
+ }
sessionDao.updateUser(SID, user.getId());
setUser(user);
recordingId = soapLogin.getRecordingId();
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java Thu Jan 21 06:34:47 2016
@@ -36,7 +36,7 @@ public class RecordingPage extends BaseI
public RecordingPage(PageParameters p) {
String hash = p.get("hash").toString();
Recording r = null;
- if (WebSession.get().signIn(hash)) {
+ if (WebSession.get().signIn(hash, true)) {
Long recId = getRecordingId();
if (recId != null) {
r = getBean(RecordingDao.class).get(recId);
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java Thu Jan 21 06:34:47 2016
@@ -121,7 +121,7 @@ public abstract class RecordingResourceR
return getRecording(id);
} else {
ws.invalidate();
- if (ws.signIn(_id.toString())) {
+ if (ws.signIn(_id.toString(), true)) {
return getRecording(getRecordingId());
}
}