RestActions.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. MWF.xApplication.OnlineMeeting = MWF.xApplication.OnlineMeeting || {};
  2. MWF.xApplication.OnlineMeeting.Actions = MWF.xApplication.OnlineMeeting.Actions || {};
  3. MWF.require("MWF.xDesktop.Actions.RestActions", null, false);
  4. MWF.xApplication.OnlineMeeting.Actions.RestActions = new Class({
  5. initialize: function(){
  6. this.action = new MWF.xDesktop.Actions.RestActions("/Actions/action.json", "x_meeting_assemble_control", "x_component_OnlineMeeting");
  7. this.actionAuth = new MWF.xDesktop.Actions.RestActions("/Actions/action.json", "x_organization_assemble_authentication", "x_component_OnlineMeeting");
  8. },
  9. getOpenMeeting: function(success, failure, async){
  10. this.action.invoke({"name": "getOpenMeeting","async": async, "success": function(json){
  11. var data = json.data;
  12. var par = "http://";
  13. par = (data.host) ? (par+data.host) : (par+window.location.host);
  14. par = (!data.port || data.port==80) ? this.roomHost : par+":"+data.port;
  15. this.roomHost = par;
  16. if (success) success(json);
  17. }.bind(this), "failure": failure});
  18. },
  19. listRoom: function(success, failure, async){
  20. this.action.invoke({"name": "listRoom","async": async, "success": success, "failure": failure});
  21. },
  22. addRoom: function(data, success, failure, async){
  23. this.action.invoke({"name": "addRoom", "async": async, "data": data, "success": success, "failure": failure});
  24. },
  25. deleteRoom: function(id, success, failure, async){
  26. this.action.invoke({"name": "removeRoom", "async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  27. },
  28. getLoginUri: function(data){
  29. this.actionAuth.getActions();
  30. var action = this.actionAuth.actions["login"];
  31. var uri = this.actionAuth.address+action.uri;
  32. //
  33. //var par = "http://";
  34. //par = (data.host) ? (par+data.host) : (par+window.location.host);
  35. //this.roomHost = par;
  36. par = this.roomHost+"/openmeetings/signin?oauthid="+data.oauth2Id;
  37. return uri.replace(/{uri}/, escape(par));
  38. },
  39. getRoomUri: function(data){
  40. var par = this.roomHost+this.actionAuth.actions["room"].uri;
  41. return par.replace(/{id}/, data.id);
  42. }
  43. });