Advertisement
Guest User

Untitled

a guest
Oct 9th, 2017
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.94 KB | None | 0 0
  1. getCollectionSheets: function (msg) {
  2. var result = [];
  3. return api['security.checkRights'](msg).then(function (res) {
  4. var sessionData = typeof (res.sessionData) == 'string' ? JSON.parse(res.sessionData) : res.sessionData;
  5. msg.username = sessionData.t24Credentials.username;
  6. msg.password = sessionData.t24Credentials.passwordHash;
  7. msg.wsPassword = msg.$$.authentication.password;
  8. msg.wsUsername = msg.$$.authentication.username;
  9. return api['t24ws.getGroups']({
  10. wsPassword: msg.wsPassword,
  11. wsUsername: msg.wsUsername,
  12. accOfficer: msg.filter.accountOfficer
  13. }).catch(function (error) {
  14. var errorMessages = error.$$.errorMessage;
  15.  
  16. if (!Array.isArray(errorMessages)) {
  17. errorMessages = [errorMessages];
  18. }
  19. var hasNoRecords = false;
  20. errorMessages.forEach(function (message) {
  21. if (message.indexOf('No records were found') > -1) {
  22. hasNoRecords = true;
  23. return;
  24. }
  25. });
  26.  
  27. if (hasNoRecords == true) {
  28. return [];
  29. } else {
  30. throw error;
  31. }
  32. });
  33. }).then(function (res) {
  34. if (res.length == 0) {
  35. return [];
  36. }
  37. var groups = [];
  38. groups = res.payload.groups.split('*');
  39. return groups;
  40. }).then(function (groups) {
  41. if (groups.length == 0) {
  42. return [];
  43. }
  44. if (groups.length == 1) {
  45. return api['t24ws.getCollectionSheetByGroup']({
  46. wsPassword: msg.wsPassword,
  47. wsUsername: msg.wsUsername,
  48. groupId: groups[0]
  49. });
  50. }
  51. return groups.reduce(
  52. (previous, group) => {
  53. return previous.then(() => {
  54. return api['t24ws.getCollectionSheetByGroup']({
  55. wsPassword: msg.wsPassword,
  56. wsUsername: msg.wsUsername,
  57. groupId: group
  58. }).then(function (response) {
  59. result.push(response);
  60. return result;
  61. });
  62. });
  63.  
  64. },
  65. Promise.resolve()
  66. );
  67. }).then(function (response) {
  68. if (!Array.isArray(response)) {
  69. response = [response];
  70. }
  71.  
  72. if (response.length == 0) {
  73. var temp = {};
  74. temp.data = [];
  75. return temp;
  76. }
  77. result = {};
  78. result.data = [];
  79. response.forEach(function (resp) {
  80. if (resp.payload.successIndicator == 'Success') {
  81. delete resp.payload.twsId;
  82. delete resp.payload.successIndicator;
  83. delete resp.payload.result;
  84. delete resp.payload.messageId;
  85. result.data.push(resp.payload);
  86. }
  87. })
  88. result.data.forEach(function (el) {
  89. el.members = el.data;
  90. delete el.data;
  91. el.groupName = el.groupNo.split('*')[1].trim();
  92. el.groupNo = el.groupNo.split('*')[0].trim();
  93. el.members.forEach(function (member, index) {
  94. member.memberOrderIndex = index;
  95. member.customerName = member.memberId.split('*')[1].trim();
  96. member.memberId = member.memberId.split('*')[0].trim();
  97. });
  98. });
  99. return result;
  100. });
  101. },
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement