/**
* An element which displays a box for the user to sign in, sign up and recover their account.
*/
angular.module('quay').directive('userSetup', function () {
var directiveDefinitionObject = {
priority: 0,
templateUrl: '/static/directives/user-setup.html',
replace: false,
transclude: true,
restrict: 'C',
scope: {
'redirectUrl': '=redirectUrl',
'inviteCode': '=inviteCode',
'hideLogo': '@hideLogo',
'signInStarted': '&signInStarted',
'signedIn': '&signedIn',
'userRegistered': '&userRegistered'
},
controller: function($scope, $location, $timeout, ApiService, KeyService, UserService, Config, Features) {
$scope.Config = Config;
$scope.Features = Features;
$scope.currentView = 'createAccount';
var hasSignedIn = function() {
return UserService.hasEverLoggedIn() || Config.AUTHENTICATION_TYPE != 'Database';
};
if (hasSignedIn()) {
$scope.currentView = 'signin';
}
$scope.setView = function(view) {
$scope.currentView = view;
$scope.handleUserRegistered = function(username) {
$scope.userRegistered({'username': username});
return directiveDefinitionObject;
});