RestActions.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 = json.data.httpProtocol || layout.config.app_protocol;
  13. par = par+"://";
  14. par = (data.host) ? (par+data.host) : (par+window.location.host);
  15. par = (!data.port || data.port==80) ? this.roomHost : par+":"+data.port;
  16. this.roomHost = par;
  17. if (success) success(json);
  18. }.bind(this), "failure": failure});
  19. },
  20. listRoom: function(success, failure, async){
  21. this.action.invoke({"name": "listRoom","async": async, "success": success, "failure": failure});
  22. },
  23. addRoom: function(data, success, failure, async){
  24. this.action.invoke({"name": "addRoom", "async": async, "data": data, "success": success, "failure": failure});
  25. },
  26. deleteRoom: function(id, success, failure, async){
  27. this.action.invoke({"name": "removeRoom", "async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  28. },
  29. getLoginUri: function(data){
  30. this.actionAuth.getActions();
  31. var action = this.actionAuth.actions["login"];
  32. var uri = this.actionAuth.address+action.uri;
  33. //
  34. //var par = "http://";
  35. //par = (data.host) ? (par+data.host) : (par+window.location.host);
  36. //this.roomHost = par;
  37. par = this.roomHost+"/openmeetings/signin?oauthid="+data.oauth2Id;
  38. return uri.replace(/{uri}/, escape(par));
  39. },
  40. getRoomUri: function(data){
  41. var par = this.roomHost+this.actionAuth.actions["room"].uri;
  42. return par.replace(/{id}/, data.id);
  43. }
  44. });