Advertisement
CodeWarrior-Hawaii

EditUserController.js

Feb 9th, 2015
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'use strict';
  2. probeApp.controller('EditUserController', [
  3.     '$scope', '$modalInstance', 'user', 'managementCompanies', 'companies', 'roles', 'userManagementData', 'listUser', 'newUser', 'users', 'layout',
  4.     function EditUserController($scope, $modalInstance, user, managementCompanies, companies, roles, userManagementData, listUser, newUser, users, layout) {
  5.         $scope.User = user;
  6.         $scope.Roles = roles;
  7.         $scope.Companies = companies;
  8.         $scope.ManagementCompanies = managementCompanies;
  9.  
  10.        
  11.         $scope.ListUser = listUser;
  12.         $scope.NewUser = newUser;
  13.         $scope.Users = users;
  14.         $scope.Layout = layout;
  15.  
  16.         if ($scope.Layout == "Super Admin") {
  17.             for (var j = 0; j < $scope.ManagementCompanies.length; j++) {
  18.                 if ($scope.ManagementCompanies[j].Id == $scope.User.ManagementCompanyId) {
  19.                     $scope.User.ManagementCompany = $scope.ManagementCompanies[j];
  20.                     for (var k = 0; k < $scope.ManagementCompanies[j].Companies.length; k++) {
  21.                         if ($scope.ManagementCompanies[j].Companies[k].Id == $scope.User.CompanyId) {
  22.                             $scope.User.Company = $scope.ManagementCompanies[j].Companies[k];
  23.                         }
  24.                     }
  25.                 }
  26.             }
  27.         }
  28.  
  29.         //$scope.User.ManagementCompany = $scope.ManagementCompanies.filter(function(managementCompany) { return managementCompany.Id == $scope.User.ManagementCompanyId; });
  30.  
  31.         if ($scope.Layout == "Management Company Admin") {
  32.             for (var m = 0; m < $scope.Companies.length; m++) {
  33.                 if ($scope.Companies[m].Id == $scope.User.CompanyId) {
  34.                     $scope.User.Company = $scope.Companies[m];
  35.                 }
  36.             }
  37.         }
  38.  
  39.         $scope.ShowManagementCompanies = function () {
  40.             var roleIsAssigned = $scope.User.Role == "Super Admin" ||
  41.                                  $scope.User.Role == "Management Company Admin" ||
  42.                                  $scope.User.Role == "Company Admin" ||
  43.                                  $scope.User.Role == "User";
  44.             return $scope.Layout == "Super Admin" &&
  45.                    $scope.User.Role != "Super Admin" && roleIsAssigned;
  46.         };
  47.         $scope.ShowManagementCompaniesCompanies = function() {
  48.             var roleIsAssigned = $scope.User.Role == "Super Admin" ||
  49.                                  $scope.User.Role == "Management Company Admin" ||
  50.                                  $scope.User.Role == "Company Admin" ||
  51.                                  $scope.User.Role == "User";
  52.             return $scope.Layout == "Super Admin" &&
  53.                    $scope.User.Role != "Super Admin" &&
  54.                    $scope.User.Role != "Management Company Admin" &&
  55.                    $scope.User.ManagementCompanyId != 'undefined' && roleIsAssigned;
  56.         };
  57.         $scope.ShowCompanies = function () {
  58.             var roleIsAssigned = $scope.User.Role == "Super Admin" ||
  59.                                  $scope.User.Role == "Management Company Admin" ||
  60.                                  $scope.User.Role == "Company Admin" ||
  61.                                  $scope.User.Role == "User";
  62.             return $scope.Layout == "Managment Company Admin" &&
  63.                    $scope.User.Role != "Super Admin" &&
  64.                    $scope.User.Role != "Management Company Admin" &&
  65.                    $scope.User.ManagementCompanyId != 'undefined' && roleIsAssigned;
  66.         };
  67.         $scope.ManagementCompanyRequired = function() {
  68.             var roleIsAssigned = $scope.User.Role == "Super Admin" ||
  69.                 $scope.User.Role == "Management Company Admin" ||
  70.                 $scope.User.Role == "Company Admin" ||
  71.                 $scope.User.Role == "User";
  72.             switch ($scope.Layout) {
  73.             case "Super Admin":
  74.                 return roleIsAssigned && $scope.User.Role != "Super Admin";
  75.             default:
  76.                 return false;
  77.             }
  78.         };
  79.  
  80.         $scope.ManagementCompanyCompanyRequired = function() {
  81.             var roleIsAssigned = $scope.User.Role == "Super Admin" ||
  82.                 $scope.User.Role == "Management Company Admin" ||
  83.                 $scope.User.Role == "Company Admin" ||
  84.                 $scope.User.Role == "User";
  85.             switch ($scope.Layout) {
  86.             case "Super Admin":
  87.                 return roleIsAssigned && $scope.User.Role != "Super Admin" && $scope.User.ManagementCompanyId != 'undefined';
  88.             default:
  89.                 return true;
  90.             }
  91.         };
  92.  
  93.         $scope.CompanyRequired = function() {
  94.             var roleIsAssigned = $scope.User.Role == "Super Admin" ||
  95.                 $scope.User.Role == "Management Company Admin" ||
  96.                 $scope.User.Role == "Company Admin" ||
  97.                 $scope.User.Role == "User";
  98.             if ($scope.Layout == "Management Company Admin") {
  99.                 return roleIsAssigned && $scope.User.Role != "Management Company Admin";
  100.             }
  101.             return false;
  102.         }
  103.  
  104.  
  105.  
  106.         if ($scope.User.ManagementCompany != null && $scope.User.ManagementCompany != 'undefined') {
  107.             var mcFound = false;
  108.             for (var i = 0; i < $scope.ManagementCompanies.length; i++) {
  109.                 if (!mcFound && $scope.ManagementCompanies[i].Id == $scope.User.ManagementCompanyId) {
  110.                     $scope.User.ManagementCompany = $scope.ManagementCompanies[i];
  111.                     if ($scope.User.ManagementCompany.Companies != null && $scope.User.ManagementCompany.Companies != 'undefined') {
  112.                         var mccFound = false;
  113.                         for (var i = 0; i < $scope.User.ManagementCompany.Companies.length; i++) {
  114.                             if (!mccFound && $scope.User.ManagementCompany.Companies[i].Id == $scope.User.CompanyId) {
  115.                                 $scope.User.Company = $scope.User.ManagementCompany.Companies[i];
  116.                                 mccFound = true;
  117.                             }
  118.                         }
  119.                     }
  120.                     mcFound = true;
  121.                 }
  122.             }
  123.         }
  124.        
  125.  
  126.         if ($scope.Companies != null && $scope.Companies != 'undefined') {
  127.             var cFound = false;
  128.             for (var i = 0; i < $scope.Companies.length; i++) {
  129.                 if (!cFound && $scope.Companies[i].Id == $scope.User.CompanyId) {
  130.                     $scope.User.Company = $scope.Companies[i];
  131.                     cFound = true;
  132.                 }
  133.             }
  134.         }
  135.        
  136.  
  137.         $scope.saveChanges = function () {
  138.             if ($scope.NewUser) {
  139.                 userManagementData.addUser(function (data) {
  140.                     if (data.Status == "Failed") {
  141.                         alert('There were errors in your form. Please ensure all required fields in all sections are completed');
  142.                         return;
  143.                     }
  144.                     var role, roleColor;
  145.                     switch (data.UserType) {
  146.                         case 1:
  147.                             role = "User";
  148.                             roleColor = "color-black";
  149.                             break;
  150.                         case 2:
  151.                             role = "Company Admin";
  152.                             roleColor = "color-blue";
  153.                             break;
  154.                         case 3:
  155.                             role = "Management Company Admin";
  156.                             roleColor = "color-red";
  157.                             break;
  158.                         case 4:
  159.                             role = "Super Admin";
  160.                             roleColor = "color-gold";
  161.                             break;
  162.                         default:
  163.                             role = "Unknown";
  164.                             roleColor = "color-black";
  165.                     }
  166.                     $scope.Users.push({
  167.                         Name: data.Name,
  168.                         Email: data.Email,
  169.                         UserType: data.UserType,
  170.                         UserId: data.UserId,
  171.                         Role: role,
  172.                         RoleColor: roleColor
  173.                 });
  174.                     $modalInstance.close($scope.User);
  175.                 }, $scope.User);
  176.             } else {
  177.                 userManagementData.saveUser(function(data) {
  178.                     $scope.ListUser.Name = data.Name;
  179.                     $scope.ListUser.EmailAddress = data.EmailAddress;
  180.                     $scope.ListUser.UserType = data.UserType;
  181.                     $modalInstance.close($scope.User);
  182.                 }, $scope.User);
  183.             }
  184.            
  185.         };
  186.  
  187.         $scope.close = function () {
  188.             $modalInstance.dismiss('cancel');
  189.         };
  190.  
  191.         $scope.AssignManagementCompany = function() {
  192.            
  193.         };
  194.  
  195.         $scope.AssignCompany = function() {
  196.             for (var i = 0; i < $scope.Companies.length; i++) {
  197.                 if ($scope.Companies[i].Id == $scope.User.CompanyId) {
  198.                     $scope.User.Company = $scope.Companies[i];
  199.                     return;
  200.                 }
  201.             }
  202.         };
  203.     }
  204. ]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement