| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- define [
- "base"
- "ide/permissions/PermissionsManager"
- ], (App, PermissionsManager) ->
- App.controller "TemplatesController", ($scope, $modal, ide) ->
- $scope.openPublishTemplateModal = () ->
- resetState = ->
- $scope.problemTalkingToTemplateApi = false
- resetState()
- modal = $modal.open {
- templateUrl: "publishProjectAsTemplateModalTemplate"
- controller: "PublishProjectAsTemplateModalController"
- scope:$scope
- }
- modal.result.then(resetState, resetState)
- App.controller "PublishProjectAsTemplateModalController", ($scope, $modalInstance, ide) ->
- user_id = ide.$scope.user.id
- $scope.templateDetails = {exists:false}
- $scope.state =
- publishInflight: false
- unpublishInflight: false
- problemTalkingToTemplateApi = ->
- $scope.problemTalkingToTemplateApi = true
- refreshPublishedStatus = ->
- ide.socket.emit "getPublishedDetails", user_id, (err, data)->
- if !data? or err? then return problemTalkingToTemplateApi()
- $scope.templateDetails = data
- $scope.templateDetails.publishedDate = moment(data.publishedDate).format("Do MMM YYYY, h:mm a")
- $scope.templateDetails.description = data.description
- refreshPublishedStatus()
- $scope.$watch $scope.problemTalkingToTemplateApi, refreshPublishedStatus
- $scope.updateProjectDescription = ->
- description = $scope.templateDetails.description
- if description?
- ide.socket.emit 'updateProjectDescription', description, (err) =>
- if err? then return problemTalkingToTemplateApi()
- $scope.publishTemplate = ->
- $scope.state.publishInflight = true
- ide.socket.emit 'publishProjectAsTemplate', user_id, (error) =>
- if err? then return problemTalkingToTemplateApi()
- refreshPublishedStatus()
- $scope.state.publishInflight = false
- $scope.unpublishTemplate = ->
- $scope.state.unpublishInflight = true
- ide.socket.emit 'unPublishProjectAsTemplate', user_id, (error) =>
- if err? then return problemTalkingToTemplateApi()
- refreshPublishedStatus()
- $scope.state.unpublishInflight = false
- $scope.cancel = () ->
- $modalInstance.dismiss()
|