2014-07-08 07:02:26 -04:00
|
|
|
define [
|
|
|
|
"base"
|
|
|
|
], (App) ->
|
|
|
|
App.controller "AccountSettingsController", ["$scope", "$http", "$modal", ($scope, $http, $modal) ->
|
|
|
|
$scope.subscribed = true
|
|
|
|
|
|
|
|
$scope.unsubscribe = () ->
|
|
|
|
$scope.unsubscribing = true
|
|
|
|
$http({
|
|
|
|
method: "DELETE"
|
|
|
|
url: "/user/newsletter/unsubscribe"
|
|
|
|
headers:
|
|
|
|
"X-CSRF-Token": window.csrfToken
|
|
|
|
})
|
|
|
|
.success () ->
|
|
|
|
$scope.unsubscribing = false
|
|
|
|
$scope.subscribed = false
|
|
|
|
.error () ->
|
|
|
|
$scope.unsubscribing = true
|
|
|
|
|
|
|
|
$scope.deleteAccount = () ->
|
|
|
|
modalInstance = $modal.open(
|
|
|
|
templateUrl: "deleteAccountModalTemplate"
|
2016-10-04 10:57:08 -04:00
|
|
|
controller: "DeleteAccountModalController",
|
|
|
|
scope: $scope
|
2014-07-08 07:02:26 -04:00
|
|
|
)
|
|
|
|
]
|
|
|
|
|
|
|
|
App.controller "DeleteAccountModalController", [
|
|
|
|
"$scope", "$modalInstance", "$timeout", "$http",
|
|
|
|
($scope, $modalInstance, $timeout, $http) ->
|
2016-10-25 09:33:47 -04:00
|
|
|
$scope.state =
|
2014-07-28 11:52:23 -04:00
|
|
|
isValid : false
|
|
|
|
deleteText: ""
|
2014-07-08 07:02:26 -04:00
|
|
|
inflight: false
|
2016-10-25 09:33:47 -04:00
|
|
|
error: false
|
2014-07-08 07:02:26 -04:00
|
|
|
|
|
|
|
$modalInstance.opened.then () ->
|
|
|
|
$timeout () ->
|
|
|
|
$scope.$broadcast "open"
|
|
|
|
, 700
|
|
|
|
|
2014-07-28 11:52:23 -04:00
|
|
|
$scope.checkValidation = ->
|
2016-10-04 10:57:08 -04:00
|
|
|
$scope.state.isValid = $scope.state.deleteText == $scope.email
|
2014-07-28 11:52:23 -04:00
|
|
|
|
2014-07-08 07:02:26 -04:00
|
|
|
$scope.delete = () ->
|
|
|
|
$scope.state.inflight = true
|
2016-10-25 09:33:47 -04:00
|
|
|
$scope.state.error = false
|
2014-07-08 07:02:26 -04:00
|
|
|
$http({
|
2016-10-25 09:33:47 -04:00
|
|
|
method: "POST"
|
|
|
|
url: "/user/delete"
|
2014-07-08 07:02:26 -04:00
|
|
|
headers:
|
|
|
|
"X-CSRF-Token": window.csrfToken
|
2016-10-25 09:33:47 -04:00
|
|
|
"Content-Type": 'application/json'
|
|
|
|
data:
|
|
|
|
password: $scope.state.password
|
2014-07-08 07:02:26 -04:00
|
|
|
})
|
|
|
|
.success () ->
|
|
|
|
$modalInstance.close()
|
2016-10-25 09:33:47 -04:00
|
|
|
$scope.state.inflight = false
|
|
|
|
$scope.state.error = false
|
2014-07-08 07:02:26 -04:00
|
|
|
window.location = "/"
|
2016-10-25 09:33:47 -04:00
|
|
|
.error (err) ->
|
|
|
|
console.log ">> error", err
|
|
|
|
$scope.state.error = true
|
|
|
|
$scope.state.inflight = false
|
2014-07-08 07:02:26 -04:00
|
|
|
|
|
|
|
$scope.cancel = () ->
|
|
|
|
$modalInstance.dismiss('cancel')
|
2016-10-04 10:57:08 -04:00
|
|
|
]
|