CloneProjectModalController.coffee 991 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. define [
  2. "base"
  3. ], (App) ->
  4. App.controller 'CloneProjectModalController', ($scope, $modalInstance, $timeout, $http, ide) ->
  5. $scope.inputs =
  6. projectName: ide.$scope.project.name + " (Copy)"
  7. $scope.state =
  8. inflight: false
  9. error: false
  10. $modalInstance.opened.then () ->
  11. $timeout () ->
  12. $scope.$broadcast "open"
  13. , 200
  14. cloneProject = (cloneName) ->
  15. $http.post("/project/#{ide.$scope.project._id}/clone", {
  16. _csrf: window.csrfToken
  17. projectName: cloneName
  18. })
  19. $scope.clone = () ->
  20. $scope.state.inflight = true
  21. $scope.state.error = false
  22. cloneProject($scope.inputs.projectName)
  23. .then (response) ->
  24. { data } = response
  25. window.location = "/project/#{data.project_id}"
  26. .catch (response) ->
  27. { data, status } = response
  28. $scope.state.inflight = false
  29. if status == 400
  30. $scope.state.error = { message: data }
  31. else
  32. $scope.state.error = true
  33. $scope.cancel = () ->
  34. $modalInstance.dismiss('cancel')