Advertisement
Guest User

Untitled

a guest
Nov 25th, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.36 KB | None | 0 0
  1. (function () {
  2. 'use strict';
  3.  
  4. angular
  5. .module('app')
  6. .controller('MainController', MainController);
  7.  
  8. /** @ngInject */
  9. MainController.$inject = ['AuthService', '$state','$window','LocaleService','$localStorage','LANGUAGES','$stateParams'];
  10.  
  11. function MainController(AuthService, $state,$window,LocaleService,$localStorage,LANGUAGES,$stateParams) {
  12. var vm = this;
  13. var lang = $window.navigator.language || $window.navigator.userLanguage;
  14. var userLang = '';
  15.  
  16. if(lang.indexOf('fr') !== -1){
  17. userLang = 'Canadian French';
  18. $localStorage.logoPath= "/assets/images/flogo.png";
  19.  
  20. }else{
  21. userLang = 'Canadian English';
  22. $localStorage.logoPath= "/assets/images/logo.png";
  23.  
  24. }
  25. LocaleService.setLocaleByDisplayName(userLang);
  26. vm.logoPath = $localStorage.logoPath;
  27.  
  28. vm.data = {
  29. email: '',
  30. password: ''
  31. };
  32. vm.remember = false;
  33. vm.loginErrors = null;
  34. vm.login = login;
  35.  
  36. var insertPassword = 'app.main.insert-password';
  37. var insertUser = 'app.main.insert-user';
  38. var connectionError = 'app.main.connection-error';
  39.  
  40. function validateLogin(user, password) {
  41. var status = false;
  42. if (user && password) {
  43. status = true;
  44. } else if (user) {
  45. vm.loginErrors = insertPassword;
  46. } else {
  47. vm.loginErrors = insertUser;
  48. }
  49. return status;
  50. }
  51.  
  52. if($localStorage.token){
  53. if($localStorage.preferredLang){
  54. userLang = getLanguageByPreferredLang($localStorage.preferredLang);
  55. }else{
  56. userLang = getLanguageByRegion($localStorage.userRegion);
  57. }
  58. if (userLang == LANGUAGES.ENGLISH.label){
  59. $localStorage.logoPath="/assets/images/logo.png";
  60. $localStorage.logoPathDashboard="/assets/images/logo_dashboard.png";
  61. }else{
  62. $localStorage.logoPath="/assets/images/flogo.png";
  63. $localStorage.logoPathDashboard="/assets/images/flogo_dashboard.png";
  64. }
  65. LocaleService.setLocaleByDisplayName(userLang);
  66. checkRedirect(atob($localStorage.role))
  67. }
  68.  
  69.  
  70.  
  71. function login(credentials) {
  72. if (validateLogin(credentials.email, credentials.password)) {
  73. AuthService.authenticate(credentials)
  74. .then(
  75. function (success) {
  76. if(success.data.user.preferredLang){
  77. userLang = getLanguageByPreferredLang(success.data.user.preferredLang);
  78. if (userLang == LANGUAGES.ENGLISH.label){
  79. $localStorage.logoPath="/assets/images/logo.png";
  80. $localStorage.logoPathDashboard="/assets/images/logo_dashboard.png";
  81. }else{
  82. $localStorage.logoPath="/assets/images/flogo.png";
  83. $localStorage.logoPathDashboard="/assets/images/flogo_dashboard.png";
  84. }
  85. }else{
  86. userLang = getLanguageByRegion(success.data.user.region);
  87. }
  88. LocaleService.setLocaleByDisplayName(userLang);
  89. checkRedirect(success.data.user.role)
  90. },
  91. function (error) {
  92. if(error.data && error.data.msg){
  93. vm.loginErrors = error.data.msg;
  94. }else{
  95. vm.loginErrors = connectionError;
  96. }
  97. }
  98. )
  99. }
  100.  
  101. }
  102.  
  103. function checkRedirect(role) {
  104. if( hasParams($stateParams.region, $stateParams.accountid) ){
  105. var params = {
  106. "accountid" : $stateParams.accountid,
  107. "region" : $stateParams.region
  108. }
  109. $state.go('tool.stepOne',params);
  110. }else{
  111. redirectByRole(role);
  112. }
  113. }
  114.  
  115. function hasParams(region,accountid){
  116. return region || accountid;
  117. }
  118.  
  119. function getLanguageByPreferredLang(language){
  120. return language === LANGUAGES.ENGLISH.code? LANGUAGES.ENGLISH.label : LANGUAGES.FRENCH.label
  121. }
  122.  
  123. function getLanguageByRegion(region){
  124. return region === 2? LANGUAGES.ENGLISH.label : LANGUAGES.FRENCH.label
  125. }
  126.  
  127. function redirectByRole(role) {
  128.  
  129. switch (role) {
  130. case 'EMPLOYEE':
  131. $state.go('tool.stepOne');
  132. break;
  133. case 'ADMIN':
  134. $state.go('dashboard.home');
  135. break;
  136. case 'MANAGER':
  137. $state.go('dashboard.home');
  138. break;
  139. }
  140.  
  141. }
  142. }
  143. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement