CloneProjectModalController.coffee 944 B

123456789101112131415161718192021222324252627282930313233343536
  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. .success (data) ->
  24. window.location = "/project/#{data.project_id}"
  25. .error (body, statusCode) ->
  26. $scope.state.inflight = false
  27. if statusCode == 400
  28. $scope.state.error = { message: body }
  29. else
  30. $scope.state.error = true
  31. $scope.cancel = () ->
  32. $modalInstance.dismiss('cancel')