team.ui.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /**
  2. * Delete memeber of execution team.
  3. *
  4. * @param int $projectID
  5. * @param string $account
  6. * @param int $userID
  7. * @access public
  8. * @return void
  9. */
  10. window.deleteMember = function(projectID, account, userID)
  11. {
  12. let removeConfirm = '';
  13. let tipsLink = $.createLink('project', 'ajaxGetRemoveMemberTips', 'projectID=' + projectID + '&account=' + account);
  14. let removeExecution = 'no';
  15. zui.Modal.confirm({message: confirmUnlinkMember, icon:'icon-exclamation-sign', iconClass: 'warning-pale rounded-full icon-2x'}).then((res) =>
  16. {
  17. if(res)
  18. {
  19. $.get(tipsLink, function(tips)
  20. {
  21. if(tips && window.confirm(tips)) removeExecution = 'yes';
  22. $.ajaxSubmit({url: $.createLink('project', 'unlinkMember', 'projectID=' + projectID + '&userID=' + userID + '&removeExecution=' + removeExecution)});
  23. })
  24. }
  25. })
  26. }
  27. /**
  28. * Set team summary for table footer.
  29. *
  30. * @access public
  31. * @return object
  32. */
  33. window.setStatistics = function()
  34. {
  35. const rows = this.layout.allRows;
  36. let totalHours = 0;
  37. rows.forEach(function(row)
  38. {
  39. totalHours += parseFloat(row.data.totalHours);
  40. });
  41. return {html: pageSummary.replace('%totalHours%', totalHours)};
  42. }
  43. window.renderCell = function(result, {col, row})
  44. {
  45. if(col.name == 'realname' && !deptUsers[row.data.userID])
  46. {
  47. result[0] = {html: "<a href='javascript:checkUserDept();'>" + row.data.realname + '</a>'};
  48. return result;
  49. }
  50. return result;
  51. }
  52. window.checkUserDept = function()
  53. {
  54. zui.Modal.alert(noAccess);
  55. }