Fix #712: 'Use gravatar photo' not work

stable
David Barragán Merino 2014-08-19 16:57:12 +02:00
parent 6e04267b63
commit ac078ab016
1 changed files with 18 additions and 15 deletions

View File

@ -95,7 +95,6 @@ UserProfileDirective = () ->
$el.on "click", ".user-profile form .save-profile", (event) -> $el.on "click", ".user-profile form .save-profile", (event) ->
return if not form.validate() return if not form.validate()
target = angular.element(event.currentTarget)
$ctrl = $el.controller() $ctrl = $el.controller()
$ctrl.saveUserProfile() $ctrl.saveUserProfile()
@ -113,26 +112,30 @@ module.directive("tgUserProfile", UserProfileDirective)
UserAvatarDirective = ($auth, $model, $rs, $confirm) -> UserAvatarDirective = ($auth, $model, $rs, $confirm) ->
link = ($scope, $el, $attrs) -> link = ($scope, $el, $attrs) ->
onSuccess = (response) ->
user = $model.make_model("users", response.data)
$auth.setUser(user)
$scope.user = user
$el.find('.overlay').hide()
$confirm.notify('success')
onError = (response) ->
$el.find('.overlay').hide()
$confirm.notify('error', response.data._error_message)
# Change photo
$el.on "click", ".button.change", -> $el.on "click", ".button.change", ->
$el.find("#avatar-field").click() $el.find("#avatar-field").click()
$el.on "change", "#avatar-field", (event) -> $el.on "change", "#avatar-field", (event) ->
target = angular.element(event.currentTarget)
promise = $rs.userSettings.changeAvatar($scope.avatarAttachment)
$el.find('.overlay').show() $el.find('.overlay').show()
$rs.userSettings.changeAvatar($scope.avatarAttachment).then(onSuccess, onError)
promise.then (response) -> # Use gravatar photo
user = $model.make_model("users", response.data) $el.on "click", "a.use-gravatar", (event) ->
$auth.setUser(user) $el.find('.overlay').show()
$scope.user = user $rs.userSettings.removeAvatar().then(onSuccess, onError)
$el.find('.overlay').hide()
$confirm.notify('success')
promise.then null, (response) ->
$el.find('.overlay').hide()
$confirm.notify('error', response.data._error_message)
$scope.$on "$destroy", -> $scope.$on "$destroy", ->
$el.off() $el.off()