Advertisement
Guest User

Untitled

a guest
Sep 29th, 2014
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. keabookApp.controller('keabookCtrl', ['$scope', '$location', '$timeout', '$modal',
  2.  
  3.   function ($scope, $location, $timeout, $modal) {
  4.  
  5.     $scope.init = function() {
  6.       $scope.loadUser();
  7.     };
  8.  
  9.     $scope.users = [];
  10.     $scope.user = {};
  11.  
  12.     if(localStorage.users) {
  13.       console.log(localStorage.users);
  14.       $scope.users = JSON.parse(localStorage.users);
  15.     } else {
  16.       $scope.users = {
  17.         "user ": [
  18.           {
  19.             "firstName" : "Andrei",
  20.             "lastName" : "Horodinca",
  21.             "emailAddress" : "ah@kirkeweb.dk",
  22.             "password" : "lalala",
  23.             "loggedIn" : false,
  24.             "isAdmin" : false,
  25.             "profileInfo" : false
  26.           }
  27.         ]
  28.       };
  29.  
  30.       localStorage.setItem("users", JSON.stringify(localStorage.users));
  31.     }
  32.  
  33.     // Get the logged in user
  34.     for (var k = 0; k < $scope.users.user.length; k++) {
  35.       if ($scope.users.user[k].loggedIn == true) {
  36.         $scope.loggedUser = $scope.users.user[k];
  37.       }
  38.     }
  39.  
  40.     // Call when view needs to be changed
  41.     $scope.changeView = function (view) {
  42.       $location.path(view);
  43.     };
  44.  
  45.     // Register users in local storage
  46.     $scope.registerUser = function (isValid) {
  47.  
  48.       $scope.regSuccess = false;
  49.  
  50.       if (isValid) {
  51.  
  52.         $scope.user.loggedIn = false;
  53.         $scope.user.isAdmin = false;
  54.         $scope.user.profileInfo = false;
  55.  
  56.         $scope.users.user.push($scope.user);
  57.         localStorage.users = JSON.stringify($scope.users);
  58.  
  59.         // We hide the form and tell the user the registration succeeded
  60.         $('#registerForm').hide();
  61.         $scope.regSuccess = true;
  62.  
  63.         // And redirect to the login form
  64.         $timeout(function () {
  65.           $scope.changeView('login');
  66.         }, 2000);
  67.  
  68.       } else {
  69.         console.log('form is not valid');
  70.       }
  71.     };
  72.  
  73.     // Check for match in local storage to login user
  74.     $scope.loginUser = function() {
  75.  
  76.       $scope.loginSuccess = false;
  77.  
  78.       var loginEmail = $('#loginEmail');
  79.       var loginPass = $('#loginPass');
  80.  
  81.       for (var i = 0; i < $scope.users.user.length; i++) {
  82.  
  83.         if (loginEmail.val() == $scope.users.user[i].emailAddress &&
  84.             loginPass.val() == $scope.users.user[i].password &&
  85.             $scope.users.user[i].loggedIn == false) {
  86.  
  87.           // We hide the form and tell the user the login succeeded
  88.           $('#loginForm').hide();
  89.           $scope.loginSuccess = true;
  90.  
  91.           // We update local storage
  92.           $scope.users.user[i].loggedIn = true;
  93.           localStorage.users = JSON.stringify($scope.users);
  94.  
  95.           // And redirect to his profile
  96.           $timeout(function () {
  97.             $scope.changeView('myprofile');
  98.             // And load the data
  99.             $scope.loadUser();
  100.           }, 2000);
  101.  
  102.  
  103.         } else {
  104.           if ($scope.users.user[i].loggedIn == true) {
  105.             console.log('You are already logged in. :)');
  106.           }
  107.         }
  108.       }
  109.     };
  110.  
  111.     $scope.loadUser = function() {
  112.  
  113.       for (var i = 0; i < $scope.users.user.length; i++) {
  114.  
  115.         if ($scope.users.user[i].loggedIn == true) {
  116.           $('#homeLink').attr('href', '#myprofile');
  117.           $('#brandLink').attr('href', '#myprofile');
  118.           $('#startNavBar').hide();
  119.           $('#userNavBar').show();
  120.           $('#usersLink').show();
  121.           $('#activitiesLink').show();
  122.           $('#userName').text($scope.users.user[i].firstName + " " + $scope.users.user[i].lastName);
  123.         }
  124.       }
  125.     };
  126.  
  127.     $scope.logoutUser = function() {
  128.  
  129.       $scope.logoutSuccess = false;
  130.  
  131.       for (var i = 0; i < $scope.users.user.length; i++) {
  132.  
  133.         if ($scope.users.user[i].loggedIn == true) {
  134.           $scope.logoutSuccess = true;
  135.  
  136.           $scope.users.user[i].loggedIn = false;
  137.           localStorage.users = JSON.stringify($scope.users);
  138.  
  139.           $scope.changeView('/logout');
  140.  
  141.           $timeout(function () {
  142.             $scope.changeView('/');
  143.             $('#userNavBar').hide();
  144.             $('#usersLink').hide();
  145.             $('#activitiesLink').hide();
  146.             $('#startNavBar').show();
  147.             $('#homeLink').attr('href', '#');
  148.             $('#brandLink').attr('href', '#');
  149.           }, 1500);
  150.  
  151.         }
  152.       }
  153.     };
  154.  
  155.     $scope.editProfile = function() {
  156.  
  157.       var modalEditProfileInstance = $modal.open({
  158.         scope: $scope,
  159.         templateUrl: 'editProfile.html',
  160.         controller: function ($scope, $modalInstance) {
  161.           $scope.save = function() {
  162.  
  163.             for (var i = 0; i < $scope.users.user.length; i++) {
  164.  
  165.               if ($scope.users.user[i].loggedIn == true) {
  166.  
  167.                 $scope.users.user[i].birthday = $('#profileBirthday').val();
  168.                 $scope.users.user[i].location = $('#profileLocation').val();
  169.                 $scope.users.user[i].bio = $('#profileBio').val();
  170.                 $scope.users.user[i].profileInfo = true;
  171.  
  172.                 if ($scope.users.user[i].birthday == "" || $scope.users.user[i].birthday == null) {
  173.                   $scope.users.user[i].birthday = "You haven't set your birthday yet.";
  174.                 }
  175.                 if ($scope.users.user[i].location == "" || $scope.users.user[i].location == null) {
  176.                   $scope.users.user[i].location = "You haven't set your location yet.";
  177.                 }
  178.                 if ($scope.users.user[i].bio == "" || $scope.users.user[i].bio == null) {
  179.                   $scope.users.user[i].bio = "You haven't written anything about you yet.";
  180.                 }
  181.  
  182.                 localStorage.users = JSON.stringify($scope.users);
  183.  
  184.                 $modalInstance.dismiss('cancel');
  185.               }
  186.             }
  187.           };
  188.  
  189.           $scope.cancel = function() {
  190.             $modalInstance.dismiss('cancel');
  191.           }
  192.         }
  193.       });
  194.     };
  195.  
  196.     $scope.changeAccountSettings = function() {
  197.  
  198.       for (var i = 0; i < $scope.users.user.length; i++) {
  199.  
  200.         if ($scope.users.user[i].loggedIn == true) {
  201.  
  202.           $scope.users.user[i].firstName = $('#editFirstName').val();
  203.           $scope.users.user[i].lastName = $('#editLastName').val();
  204.           $scope.users.user[i].emailAddress = $('#editEmail').val();
  205.           $scope.users.user[i].password = $('#editPass').val();
  206.  
  207.           if ($scope.users.user[i].firstName == "" || $scope.users.user[i].firstName == null) {
  208.             $scope.users.user[i].firstName = "John";
  209.           }
  210.           if ($scope.users.user[i].lastName == "" || $scope.users.user[i].lastName == null) {
  211.             $scope.users.user[i].lastName = "Doe";
  212.           }
  213.           if ($scope.users.user[i].emailAddress == "" || $scope.users.user[i].emailAddress == null) {
  214.             $scope.users.user[i].emailAddress = "john.doe@gmail.com";
  215.           }
  216.  
  217.           localStorage.users = JSON.stringify($scope.users);
  218.  
  219.           $('#saveAccountSettings').html('<i class="fa fa-check"></i> Saved').removeClass('btn-primary').addClass('btn-success');
  220.         }
  221.       }
  222.  
  223.     };
  224.  
  225. }]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement