overleaf/services/web/public/coffee/ide/clone/controllers/CloneProjectModalController.coffee

38 lines
991 B
CoffeeScript
Raw Normal View History

2014-07-17 13:04:21 +00:00
define [
"base"
], (App) ->
App.controller 'CloneProjectModalController', ($scope, $modalInstance, $timeout, $http, ide) ->
$scope.inputs =
projectName: ide.$scope.project.name + " (Copy)"
$scope.state =
inflight: false
error: false
2014-07-17 13:04:21 +00:00
$modalInstance.opened.then () ->
$timeout () ->
$scope.$broadcast "open"
, 200
cloneProject = (cloneName) ->
$http.post("/project/#{ide.$scope.project._id}/clone", {
_csrf: window.csrfToken
projectName: cloneName
})
$scope.clone = () ->
$scope.state.inflight = true
$scope.state.error = false
2014-07-17 13:04:21 +00:00
cloneProject($scope.inputs.projectName)
.then (response) ->
{ data } = response
2017-06-05 12:33:32 +00:00
window.location = "/project/#{data.project_id}"
.catch (response) ->
{ data, status } = response
$scope.state.inflight = false
if status == 400
$scope.state.error = { message: data }
else
$scope.state.error = true
2014-07-17 13:04:21 +00:00
$scope.cancel = () ->
$modalInstance.dismiss('cancel')