You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
3.3 KiB

4 years ago
  1. function createLdapUser(adminUid, adminPwd, newEntry) {
  2. if (adminUid === "admin" && adminPwd === "password") {
  3. return { "failed": false,
  4. "newPasswd": "NuOvA-PaSsWwOrD" };
  5. }
  6. return { "failed": true,
  7. "reason": "Invalid admin username or password." };
  8. };
  9. var lilikAddUserApp = angular.module('lilikAddUserApp', []);
  10. lilikAddUserApp.controller('AddUserController', function AddUserController($scope, $http) {
  11. // Initialize scope variable
  12. $scope.showLoginForm = true;
  13. $scope.showAddForm = false;
  14. $scope.showConfirmForm = false;
  15. $scope.startConfirm = false;
  16. $scope.creationPending = false;
  17. $scope.typingUser = function () {
  18. $scope.newUid = $scope.newUid.toLowerCase().replace(' ', '-');
  19. $scope.newCn = $scope.newUid.replace('-',' ').replace(/(^\w|\s\w)/g, m => m.toUpperCase());
  20. };
  21. // Try to login and download groups
  22. $scope.getGroups = function () {
  23. $scope.creationPending = true;
  24. delete $scope.loginError;
  25. $http.post('../user_backend/groups', { 'username': $scope.adminUid, 'password': $scope.adminPwd })
  26. .then(function (response) {
  27. result = response.data;
  28. if (result.failed === false) {
  29. $scope.showAddForm = true;
  30. $scope.showLoginForm = false;
  31. $scope.groups = result.groups;
  32. } else {
  33. $scope.loginError = result.reason;
  34. }
  35. });
  36. $scope.creationPending = false;
  37. };
  38. // Ask for confirmation of user details
  39. $scope.createNewUser = function () {
  40. $scope.startConfirm = true;
  41. };
  42. // Try to create the user
  43. $scope.confirmNewUser = function () {
  44. newEntry = {
  45. "cn": $scope.newCn,
  46. "sn": $scope.newSn
  47. };
  48. $http.post('../user_backend/group/'+$scope.newGroup+'/create/'+$scope.newUid,
  49. {
  50. 'username': $scope.adminUid,
  51. 'password': $scope.adminPwd,
  52. 'newEntry': newEntry
  53. })
  54. .then(function (response) {
  55. result = response.data;
  56. if (result.failed === false) {
  57. $scope.newPasswd = result.newPasswd;
  58. } else {
  59. $scope.createError = result.reason;
  60. }
  61. });
  62. };
  63. // Clear old user scope variable and start creating another
  64. $scope.anotherUser = function () {
  65. delete $scope.newPasswd;
  66. delete $scope.newGroup;
  67. delete $scope.newUid;
  68. delete $scope.newCn;
  69. delete $scope.newSn;
  70. $scope.startConfirm = false;
  71. };
  72. $scope.editUser = function () {
  73. delete $scope.createError;
  74. $scope.startConfirm = false;
  75. };
  76. });