ShareProjectModalMemberRowController.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. define(['base'], App => {
  2. App.controller('ShareProjectModalMemberRowController', function(
  3. $scope,
  4. $modal,
  5. projectMembers
  6. ) {
  7. $scope.form = {
  8. privileges: $scope.member.privileges,
  9. isModified() {
  10. return this.privileges !== $scope.member.privileges
  11. },
  12. submit() {
  13. const userId = $scope.member._id
  14. const privilegeLevel = $scope.form.privileges
  15. if (privilegeLevel === 'owner') {
  16. openOwnershipTransferConfirmModal(userId)
  17. } else {
  18. setPrivilegeLevel(userId, privilegeLevel)
  19. }
  20. },
  21. reset() {
  22. this.privileges = $scope.member.privileges
  23. $scope.clearError()
  24. }
  25. }
  26. function setPrivilegeLevel(userId, privilegeLevel) {
  27. $scope.monitorRequest(
  28. projectMembers
  29. .setMemberPrivilegeLevel(userId, privilegeLevel)
  30. .then(() => {
  31. $scope.member.privileges = privilegeLevel
  32. })
  33. )
  34. }
  35. function openOwnershipTransferConfirmModal(userId) {
  36. $modal.open({
  37. templateUrl: 'ownershipTransferConfirmTemplate',
  38. controller: 'OwnershipTransferConfirmModalController',
  39. scope: $scope
  40. })
  41. }
  42. })
  43. })