audit.ui.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. window.onRenderCell = function(result, {row, col})
  2. {
  3. if(result && col.name == 'actions' && typeof result[0].props != 'undefined')
  4. {
  5. if(row.data.module == 'review')
  6. {
  7. result[0].props.items[0]['disabled'] = projectPriv ? false: true;
  8. result[0].props.items[0]['url'] = 'javascript:checkReview("' + row.data.typeKey + '", "' + row.data.id + '")';
  9. delete result[0].props.items[0]['data-toggle'];
  10. }
  11. else if(reviewPrivs[row.data.module])
  12. {
  13. let link = reviewLink;
  14. if(['attend', 'leave', 'overtime', 'makeup', 'lieu'].includes(row.data.module))
  15. {
  16. link = oaReviewLink.replace('{module}', row.data.module);
  17. delete result[0].props.items[0]['data-toggle'];
  18. }
  19. else if(['mr', 'pullreq'].includes(row.data.module))
  20. {
  21. link = $.createLink(row.data.module, 'view', 'id=' + row.data.id);
  22. result[0].props.items[0]['disabled'] = viewPrivs[row.data.module];
  23. delete result[0].props.items[0]['data-toggle'];
  24. }
  25. else
  26. {
  27. if(!noFlowAuditModules.includes(row.data.module) && row.data.module != 'charter') link = flowReviewLink;
  28. link = link.replace('{module}', row.data.module).replace('{id}', row.data.id);
  29. result[0].props.items[0]['data-toggle'] = 'modal'
  30. }
  31. result[0].props.items[0]['disabled'] = false;
  32. result[0].props.items[0]['url'] = link;
  33. result[0].props.items[0]['href'] = link;
  34. }
  35. else
  36. {
  37. result[0].props.items[0]['disabled'] = true;
  38. }
  39. }
  40. if(result && col.name == 'title')
  41. {
  42. if(!noFlowAuditModules.includes(row.data.module))
  43. {
  44. if(row.data.app == 'scrum' || row.data.app == 'waterfall') row.data.app = 'project';
  45. result[0].props['data-app'] = row.data.module == 'charter' && vision == 'or' ? 'charter' : row.data.app;
  46. }
  47. if(row.data.module == 'review' || !noFlowAuditModules.includes(row.data.module)) result[0].props['data-toggle'] = '';
  48. if(!viewPrivs[row.data.module])
  49. {
  50. result[0].props['data-toggle'] = '';
  51. delete result[0].props['href'];
  52. }
  53. }
  54. return result;
  55. }
  56. window.checkReview = function(objectType, id)
  57. {
  58. $.get($.createLink('review', 'ajaxCheckReviewInfo', 'objectType=' + objectType + 'reviewID=' + id), function(data)
  59. {
  60. if(!data)
  61. {
  62. zui.Modal.alert({icon: 'icon-exclamation-sign', iconClass: 'warning-pale rounded-full icon-2x', message: hasReviewedTip}).then((res) => {loadCurrentPage()});
  63. }
  64. else
  65. {
  66. openPage(projectReviewLink.replace('{id}', id), 'project');
  67. }
  68. })
  69. }