Skip to content
This repository was archived by the owner on Mar 4, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions app/account/account.module.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,4 @@ import angular from 'angular'
]

angular.module('tc.account', dependencies)
.config(['$provide',function ($provide) {
$provide.decorator('$log', ['$delegate', 'LogEnhancer', function ($delegate, LogEnhancer) {
LogEnhancer.enhanceLogger($delegate)
return $delegate
}])
}])
})()
4 changes: 2 additions & 2 deletions app/account/account.routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ import angular from 'angular'
data: {
authRequired: false
},
onEnter: ['$state', '$stateParams', 'TcAuthService', '$log', function($state, $stateParams, TcAuthService, $log) {
onEnter: ['$state', '$stateParams', 'TcAuthService', 'logger', function($state, $stateParams, TcAuthService, logger) {
if (TcAuthService.isAuthenticated()) {
// redirect to next if exists else dashboard
if ($stateParams.next) {
$log.debug('Redirecting: ' + $stateParams.next)
logger.debug('Redirecting: ' + $stateParams.next)
window.location.href = decodeURIComponent($stateParams.next)
} else {
$state.go('dashboard')
Expand Down
54 changes: 27 additions & 27 deletions app/account/login/login.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@ import angular from 'angular'

angular.module('tc.account').controller('LoginController', LoginController)

LoginController.$inject = ['$log', '$state', '$stateParams', '$location', '$scope', 'TcAuthService', 'UserService', 'Helpers', 'CONSTANTS']
LoginController.$inject = ['logger', '$state', '$stateParams', '$location', '$scope', 'TcAuthService', 'UserService', 'Helpers', 'CONSTANTS']

function LoginController($log, $state, $stateParams, $location, $scope, TcAuthService, UserService, Helpers, CONSTANTS) {
function LoginController(logger, $state, $stateParams, $location, $scope, TcAuthService, UserService, Helpers, CONSTANTS) {
var vm = this
$log = $log.getInstance('LoginController')
vm.$stateParams = $stateParams
vm.passwordReset = false
vm.loginErrors = {
Expand Down Expand Up @@ -76,27 +75,28 @@ import angular from 'angular'
}

function _doLogin(usernameOrEmail, password) {
return TcAuthService.login(usernameOrEmail, password).then(function(data) {
// success
$log.debug('logged in')
return TcAuthService.login(usernameOrEmail, password)
.then(function(data) {
// setup login event for analytics tracking
Helpers.setupLoginEventMetrics(usernameOrEmail)
return Helpers.redirectPostLogin($stateParams.next)

// setup login event for analytics tracking
Helpers.setupLoginEventMetrics(usernameOrEmail)
return Helpers.redirectPostLogin($stateParams.next)

}).catch(function(resp) {
$log.warn(resp)
switch (resp.status) {
case 'ACCOUNT_INACTIVE':
$state.go('registeredSuccessfully')
// user should already be redirected
break
case 'UNKNOWN_ERROR':
default:
vm.loginErrors.WRONG_PASSWORD = true
vm.password = ''
}
})
})
.catch(function(err) {
logger.warning(err)

switch (err.status) {
case 'ACCOUNT_INACTIVE':
$state.go('registeredSuccessfully')
// user should already be redirected
break
case 'UNKNOWN_ERROR':
default:
vm.loginErrors.WRONG_PASSWORD = true
vm.password = ''
logger.error('Error logging in: ', err)
}
})
}

function socialLogin(platform) {
Expand All @@ -111,19 +111,19 @@ import angular from 'angular'

TcAuthService.socialLogin(platform, callbackUrl)
.then(function() {
$log.debug('logged in')
logger.debug('logged in')
return Helpers.redirectPostLogin($stateParams.next)
})
.catch(function(resp) {
.catch(function(err) {
/*eslint no-fallthrough:0*/
switch (resp.status) {
switch (err.status) {
case 'ACCOUNT_INACTIVE':
window.location.href = 'https://www.' + CONSTANTS.domain + '/account-inactive/'
case 'USER_NOT_REGISTERED':
default:
vm.socialLoginError = 401
vm.loginErrors.SOCIAL_LOGIN_ERROR = true
break
logger.error('Error logging in with social account', err)
}
})
}
Expand Down
11 changes: 5 additions & 6 deletions app/account/logout/logout.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,16 @@ import angular from 'angular'

angular.module('tc.account').controller('LogoutController', LogoutController)

LogoutController.$inject = ['$log', 'TcAuthService', '$window', 'CONSTANTS']
LogoutController.$inject = ['logger', 'TcAuthService', '$window', 'CONSTANTS']

function LogoutController($log, TcAuthService, $window, CONSTANTS) {
$log = $log.getInstance('LogoutController')
function LogoutController(logger, TcAuthService, $window, CONSTANTS) {

TcAuthService.logout()
.then(function() {
$log.debug('successfully logged out.')
// redirect to home
logger.debug('Successfully logged out.')

// Redirect to home
$window.location.href = CONSTANTS.MAIN_URL
})

}
})()
47 changes: 21 additions & 26 deletions app/account/register/register.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,9 @@ import _ from 'lodash'

angular.module('tc.account').controller('RegisterController', RegisterController)

RegisterController.$inject = ['$log', 'CONSTANTS', '$state', '$stateParams', 'TcAuthService', 'UserService', 'ISO3166', 'Helpers']
RegisterController.$inject = ['logger', 'CONSTANTS', '$state', '$stateParams', 'TcAuthService', 'UserService', 'ISO3166', 'Helpers']

function RegisterController($log, CONSTANTS, $state, $stateParams, TcAuthService, UserService, ISO3166, Helpers) {
$log = $log.getInstance('RegisterController')
$log.debug('-init')
function RegisterController(logger, CONSTANTS, $state, $stateParams, TcAuthService, UserService, ISO3166, Helpers) {
var vm = this
vm.registering = false
// prepares utm params, if available
Expand All @@ -20,18 +18,10 @@ import _ from 'lodash'
campaign : $stateParams && $stateParams.utm_campaign ? $stateParams.utm_campaign : ''
}


// Set default for toggle password directive
vm.defaultPlaceholder = 'Create Password'
vm.busyMessage = CONSTANTS.BUSY_PROGRESS_MESSAGE

// FIXME - This needs to be setup with https
// lookup users country
// Helpers.getCountyObjFromIP()
// .then(function(obj) {
// vm.countryObj = obj
// })

vm.countries = ISO3166.getAllCountryObjects()

vm.updateCountry = function (angucompleteCountryObj) {
Expand Down Expand Up @@ -85,18 +75,18 @@ import _ from 'lodash'
}
}

$log.debug('attempting to register user')
TcAuthService.register(body)
.then(function(data) {
vm.registering = false
$log.debug('registered successfully')
logger.debug('Registered successfully')

// In the future, go to dashboard
$state.go('registeredSuccessfully')
})
.catch(function(err) {
vm.registering = false
$log.error('Error in registering new user: ', err)

logger.error('Error in registering new user', err)
})
}

Expand Down Expand Up @@ -130,17 +120,22 @@ import _ from 'lodash'
vm.isSocialRegistration = false
}
})
.catch(function(result) {
switch (result.status) {
case 'SOCIAL_PROFILE_ALREADY_EXISTS':
vm.errMsg = 'An account with that profile already exists. Please login to access your account.'
break
default:
vm.errMsg = 'Whoops! Something went wrong. Please try again later.'
break
}
vm.isSocialRegistration = false
})
.catch(function(err) {
switch (err.status) {
case 'SOCIAL_PROFILE_ALREADY_EXISTS':
vm.errMsg = 'An account with that profile already exists. Please login to access your account.'

logger.error('Error registering user with social account', err)

break

default:
vm.errMsg = 'Whoops! Something went wrong. Please try again later.'

logger.error('Error registering user with social account', err)
}
vm.isSocialRegistration = false
})
}

vm.$stateParams = $stateParams
Expand Down
27 changes: 21 additions & 6 deletions app/blocks/logger/logger.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,11 @@ import angular from 'angular'
var service = {
showToasts: false,

error: error,
info: info,
error : error,
info : info,
success: success,
warning: warning,
debug : debug,

// straight to console bypass toastr
log: $log.log
Expand All @@ -25,19 +26,33 @@ import angular from 'angular'
/////////////////////

function error(message, data, title) {
$log.error('Error: ' + message, data)
if (data) {
message = `${message} ${JSON.stringify(data)}`
}

$log.error(message)

if (window.NREUM) {
var err = new Error(message)

window.NREUM.noticeError(err)
}
}

function info(message, data, title) {
$log.info('Info: ' + message, data)
$log.info('Info: ' + message, data ? data : '')
}

function success(message, data, title) {
$log.info('Success: ' + message, data)
$log.info('Success: ' + message, data ? data : '')
}

function debug(message, data, title) {
$log.debug('Debug: ' + message, data ? data : '')
}

function warning(message, data, title) {
$log.warn('Warning: ' + message, data)
$log.warn('Warning: ' + message, data ? data : '')
}
}
}())
12 changes: 6 additions & 6 deletions app/directives/account/validate-register.directive.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,14 @@ import angular from 'angular'
}
}

usernameIsFree.$inject = ['UserService', '$log', '$q']
usernameIsFree.$inject = ['UserService', 'logger', '$q']

function usernameIsFree(UserService, $log, $q) {
function usernameIsFree(UserService, logger, $q) {
return {
require: 'ngModel',
link: function(scope, element, attrs, ctrl) {
ctrl.$asyncValidators.usernameIsFree = function(modelValue, viewValue) {
$log.info('Validating username: ' + modelValue)
logger.info('Validating username: ' + modelValue)

var defer = $q.defer()

Expand Down Expand Up @@ -97,14 +97,14 @@ import angular from 'angular'
}
}

emailIsAvailable.$inject = ['UserService', '$log', '$q']
emailIsAvailable.$inject = ['UserService', 'logger', '$q']

function emailIsAvailable(UserService, $log, $q) {
function emailIsAvailable(UserService, logger, $q) {
return {
require: 'ngModel',
link: function(scope, element, attrs, ctrl) {
ctrl.$asyncValidators.emailIsAvailable = function(modelValue, viewValue) {
$log.info('Validating email: ' + modelValue)
logger.info('Validating email: ' + modelValue)

var defer = $q.defer()

Expand Down
Loading