class window.ResetPasswordCtrl extends BaseCtrl
    constructor: (@$scope, @$state, @Dock, @Constants, @Password, @$injector) ->
        super()

        @submitted = false
        @success = false
        @title = 'resetPassword.title'
        @helpText = 'resetPassword.help_text'
        @resetMessage = ''

    submit: =>
        @title = 'resetPassword.title_progress'
        @resetMessage = 'resetPassword.reset_message_progress'
        @submitted = true

        params = @Dock.getEmailAddress()
        @Password.save(params, @onSavePassword, @onPasswordError)

    onSavePassword: (data) =>
        console.log data if DEBUG
        console.log "password reset request sent" if DEBUG
        @title = 'resetPassword.title_success'
        @resetMessage = 'resetPassword.reset_message_success'
        @success = true
        @continue()

    onPasswordError: (error) =>
        console.log error if DEBUG
        console.log "password reset request failed" if DEBUG
        @submitted = false
        @title = 'resetPassword.title'
        @resetMessage = 'resetPassword.reset_message_error'

    continue: =>
        @$state.go(@Constants.routes.home)

ResetPasswordCtrl.$inject = ["$scope", "$state", "Dock", "Constants", "Password", "$injector"]

angular.module("shuttlerockApp").controller("ResetPasswordCtrl", ResetPasswordCtrl)
