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.

useredit.controller.js 2.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /**
  2. * Created by robin on 11/2/15.
  3. */
  4. angular.module('luticate')
  5. .controller('UserEditController', ['$scope', 'luticateAuthUsers', 'data', '$q',
  6. function($scope, luticateAuthUsers, data, $q) {
  7. if (data != null) {
  8. $scope.user = data;
  9. }
  10. else {
  11. $scope.user = {
  12. Username: "",
  13. Email: "",
  14. Firstname: "",
  15. Lastname: ""
  16. };
  17. }
  18. $scope.userPassword = {
  19. value: "",
  20. confirm: ""
  21. };
  22. $scope.passwordValidation = {
  23. length: '$value.length >= 5 || $value.length == 0'
  24. };
  25. $scope.password2Validation = {
  26. same_passwords: 'userPassword.value==$value'
  27. };
  28. var promiseEditUser = {
  29. id: "promiseEditUser",
  30. loaderGroups: ["modal"]
  31. };
  32. var promiseAddUser = {
  33. id: "promiseAddUser",
  34. loaderGroups: ["modal"]
  35. };
  36. var promiseSetPassword = {
  37. id: "promiseSetPassword",
  38. loaderGroups: ["modal"]
  39. };
  40. $scope.submitForm = function()
  41. {
  42. if ($scope.user.Id != null) {
  43. var defer = $q.defer();
  44. luticateAuthUsers.edit({
  45. user_id: $scope.user.Id,
  46. email: $scope.user.Email,
  47. firstname: $scope.user.Firstname,
  48. lastname: $scope.user.Lastname
  49. }, promiseEditUser)
  50. .then(function(data)
  51. {
  52. if ($scope.userPassword.value != "") {
  53. luticateAuthUsers.setPassword({
  54. user_id: $scope.user.Id,
  55. password: $scope.userPassword.value
  56. }, promiseSetPassword)
  57. .then(defer.resolve, defer.reject);
  58. }
  59. else {
  60. defer.resolve(data);
  61. }
  62. }, defer.reject);
  63. return defer.promise;
  64. }
  65. else {
  66. var user = {
  67. username: $scope.user.Username,
  68. email: $scope.user.Email,
  69. firstname: $scope.user.Firstname,
  70. lastname: $scope.user.Lastname,
  71. password: $scope.userPassword.value
  72. };
  73. return luticateAuthUsers.add(user, promiseAddUser);
  74. }
  75. };
  76. }]);