team-invite-controller.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /* eslint-disable
  2. max-len,
  3. no-return-assign,
  4. no-undef,
  5. */
  6. // TODO: This file was created by bulk-decaffeinate.
  7. // Fix any style issues and re-enable lint.
  8. /*
  9. * decaffeinate suggestions:
  10. * DS102: Remove unnecessary code created because of implicit returns
  11. * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
  12. */
  13. define(['base'], App =>
  14. App.controller('TeamInviteController', function($scope, $http) {
  15. $scope.inflight = false
  16. if (hasIndividualRecurlySubscription) {
  17. $scope.view = 'hasIndividualRecurlySubscription'
  18. } else {
  19. $scope.view = 'teamInvite'
  20. }
  21. $scope.keepPersonalSubscription = () => ($scope.view = 'teamInvite')
  22. $scope.cancelPersonalSubscription = function() {
  23. $scope.inflight = true
  24. const request = $http.post('/user/subscription/cancel', {
  25. _csrf: window.csrfToken
  26. })
  27. request.then(function() {
  28. $scope.inflight = false
  29. return ($scope.view = 'teamInvite')
  30. })
  31. return request.catch(() => {
  32. $scope.inflight = false
  33. $scope.cancel_error = true
  34. console.log('the request failed')
  35. })
  36. }
  37. return ($scope.joinTeam = function() {
  38. $scope.inflight = true
  39. const request = $http.put(
  40. `/subscription/invites/${window.inviteToken}/`,
  41. { _csrf: window.csrfToken }
  42. )
  43. request.then(function(response) {
  44. const { status } = response
  45. $scope.inflight = false
  46. $scope.view = 'inviteAccepted'
  47. if (status !== 200) {
  48. // assume request worked
  49. return ($scope.requestSent = false)
  50. }
  51. })
  52. return request.catch(() => console.log('the request failed'))
  53. })
  54. }))