Advertisement
Guest User

Untitled

a guest
Jul 31st, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.45 KB | None | 0 0
  1. <aura:component controller="ContactController" access="global">
  2. <aura:attribute name="taskInstance" type="Task" default="{ 'sobjectType':'Task' }"/></aura:component>
  3.  
  4. doSave : function(component, event) {
  5. var action = component.get("c.saveUpdatedTaskInfo");
  6. var t = component.get("v.taskInstance");
  7. action.setParams({ "taskInst": t});
  8. }
  9.  
  10. @AuraEnabled
  11. public static Task saveUpdatedTaskInfo(Task taskInst) {
  12.  
  13. if(taskInst.Org_Identifier__c=='Org 1')
  14. {
  15. update taskInst;
  16. }
  17. else
  18. {
  19. Task_Trigger_Handler.processTasks(new List<Task>{taskInst});
  20. }
  21.  
  22. return taskInst;
  23. }
  24.  
  25. public class Task_Trigger_Handler
  26. {
  27. public static void processTasks(List<Task> tskLst)
  28. {
  29. for(Task tsk:tskLst)
  30. {
  31. if(tsk.Org_Identifier__c=='Org 1')
  32. {
  33. //invoke the callout method
  34. invokeTaskCallout(tsk.id,tsk.Subject,.........);
  35. }
  36. }
  37. }
  38.  
  39.  
  40.  
  41. @future(callout=true)
  42. public static void invokeTaskCallout(String id,String .......)
  43. {
  44. //fetch from custom settings
  45. CustomSettings__c customSettings=[SELECT password__c,rest_endpoint__c,token_endpoint__c,username__c
  46. FROM customSettings__c LIMIT 1];
  47.  
  48. //establish connection and fetch the session id
  49. String endpoint1= customSettings.token_endpoint__c;
  50. Httprequest req = new HttpRequest();
  51. req.setMethod('POST');
  52. req.setHeader('Content-Type','application/x-www-form-urlencoded');
  53.  
  54. req.setBody('grant_type=password' +
  55. '&client_id=' + customSettings.Consumer_key__c+
  56. '&client_secret=' + customSettings.Consumer_Secret__c+
  57. '&username=' + customSettings.username__c+
  58. '&password=' + customSettings.password__c
  59. );
  60. req.setEndpoint(endpoint1);
  61. Http http = new Http();
  62. HttpResponse res;
  63. String Access_Token;
  64. try
  65. {
  66. res = http.send(req);
  67. system.debug('body1:'+res.getBody());
  68. JSONParser parser = JSON.createParser(res.getBody());
  69. while (parser.nextToken() != null)
  70. {
  71. if ((parser.getCurrentToken() == JSONToken.FIELD_NAME) && (parser.getText() == 'access_token'))
  72. {
  73. parser.nextToken();
  74. Access_Token = parser.getText();
  75. }
  76. }
  77. }
  78. catch(system.CalloutException e)
  79. {
  80. system.debug('error'+e);
  81. }
  82.  
  83. system.debug('access token'+Access_Token);
  84.  
  85. String endpoint2=customSettings.rest_endpoint__c;
  86. HttpRequest req1 = new HttpRequest();
  87. HttpResponse res1 = new HttpResponse();
  88. Http http1 = new Http();
  89. String str='{"id":"'+id+'","Subject":"'+Subject+'","ActivityDate":"'+String.valueOf(ActivityDate)+'","Category":"'+Category+'","Description":"+Description+","Status":"'+Status+'","Internal_Deadline":"'+String.valueOf(Internal_Deadline)+'","Actual_Deadline":"'+String.valueOf(Actual_Deadline)+'"}';
  90. req1.setEndpoint(endpoint2);
  91. req1.setMethod('PUT');
  92. req1.setHeader('content-type', 'application/json');
  93. req1.setHeader('Accept', 'application/json');
  94. req1.setHeader('Authorization', 'OAuth '+Access_Token);
  95. req1.setBody(str);
  96. req1.setCompressed(true); // otherwise we hit a limit of 32000
  97.  
  98. try
  99. {
  100. res1 = http1.send(req1);
  101. }
  102. catch(System.CalloutException e)
  103. {
  104. System.debug(res1.toString());
  105. }
  106.  
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement