Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (function () {
- 'use strict';
- angular
- .module('app')
- .controller('MainController', MainController);
- /** @ngInject */
- MainController.$inject = ['AuthService', '$state','$window','LocaleService','$localStorage','LANGUAGES','$stateParams'];
- function MainController(AuthService, $state,$window,LocaleService,$localStorage,LANGUAGES,$stateParams) {
- var vm = this;
- var lang = $window.navigator.language || $window.navigator.userLanguage;
- var userLang = '';
- if(lang.indexOf('fr') !== -1){
- userLang = 'Canadian French';
- $localStorage.logoPath= "/assets/images/flogo.png";
- }else{
- userLang = 'Canadian English';
- $localStorage.logoPath= "/assets/images/logo.png";
- }
- LocaleService.setLocaleByDisplayName(userLang);
- vm.logoPath = $localStorage.logoPath;
- vm.data = {
- email: '',
- password: ''
- };
- vm.remember = false;
- vm.loginErrors = null;
- vm.login = login;
- var insertPassword = 'app.main.insert-password';
- var insertUser = 'app.main.insert-user';
- var connectionError = 'app.main.connection-error';
- function validateLogin(user, password) {
- var status = false;
- if (user && password) {
- status = true;
- } else if (user) {
- vm.loginErrors = insertPassword;
- } else {
- vm.loginErrors = insertUser;
- }
- return status;
- }
- if($localStorage.token){
- if($localStorage.preferredLang){
- userLang = getLanguageByPreferredLang($localStorage.preferredLang);
- }else{
- userLang = getLanguageByRegion($localStorage.userRegion);
- }
- if (userLang == LANGUAGES.ENGLISH.label){
- $localStorage.logoPath="/assets/images/logo.png";
- $localStorage.logoPathDashboard="/assets/images/logo_dashboard.png";
- }else{
- $localStorage.logoPath="/assets/images/flogo.png";
- $localStorage.logoPathDashboard="/assets/images/flogo_dashboard.png";
- }
- LocaleService.setLocaleByDisplayName(userLang);
- checkRedirect(atob($localStorage.role))
- }
- function login(credentials) {
- if (validateLogin(credentials.email, credentials.password)) {
- AuthService.authenticate(credentials)
- .then(
- function (success) {
- if(success.data.user.preferredLang){
- userLang = getLanguageByPreferredLang(success.data.user.preferredLang);
- if (userLang == LANGUAGES.ENGLISH.label){
- $localStorage.logoPath="/assets/images/logo.png";
- $localStorage.logoPathDashboard="/assets/images/logo_dashboard.png";
- }else{
- $localStorage.logoPath="/assets/images/flogo.png";
- $localStorage.logoPathDashboard="/assets/images/flogo_dashboard.png";
- }
- }else{
- userLang = getLanguageByRegion(success.data.user.region);
- }
- LocaleService.setLocaleByDisplayName(userLang);
- checkRedirect(success.data.user.role)
- },
- function (error) {
- if(error.data && error.data.msg){
- vm.loginErrors = error.data.msg;
- }else{
- vm.loginErrors = connectionError;
- }
- }
- )
- }
- }
- function checkRedirect(role) {
- if( hasParams($stateParams.region, $stateParams.accountid) ){
- var params = {
- "accountid" : $stateParams.accountid,
- "region" : $stateParams.region
- }
- $state.go('tool.stepOne',params);
- }else{
- redirectByRole(role);
- }
- }
- function hasParams(region,accountid){
- return region || accountid;
- }
- function getLanguageByPreferredLang(language){
- return language === LANGUAGES.ENGLISH.code? LANGUAGES.ENGLISH.label : LANGUAGES.FRENCH.label
- }
- function getLanguageByRegion(region){
- return region === 2? LANGUAGES.ENGLISH.label : LANGUAGES.FRENCH.label
- }
- function redirectByRole(role) {
- switch (role) {
- case 'EMPLOYEE':
- $state.go('tool.stepOne');
- break;
- case 'ADMIN':
- $state.go('dashboard.home');
- break;
- case 'MANAGER':
- $state.go('dashboard.home');
- break;
- }
- }
- }
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement