Remove duplicate createUserCtr controller - merge home directory functionality into external JS file

This commit is contained in:
master3395
2026-01-19 18:29:18 +01:00
parent 1b40e1bc14
commit 00a3bdc5be
2 changed files with 44 additions and 114 deletions

View File

@@ -6,6 +6,48 @@
/* Java script code to create account */
app.controller('createUserCtr', function ($scope, $http) {
// Home directory functionality
$scope.homeDirectories = [];
$scope.selectedHomeDirectory = '';
$scope.selectedHomeDirectoryInfo = null;
// Load home directories on page load
$scope.loadHomeDirectories = function() {
var url = '/users/getUserHomeDirectories';
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, {}, config)
.then(function(response) {
if (response.data && response.data.status === 1) {
$scope.homeDirectories = response.data.directories || [];
} else {
console.error('Error loading home directories:', response.data);
$scope.homeDirectories = [];
}
})
.catch(function(error) {
console.error('Error loading home directories:', error);
$scope.homeDirectories = [];
});
};
// Update home directory info when selection changes
$scope.updateHomeDirectoryInfo = function() {
if ($scope.selectedHomeDirectory) {
$scope.selectedHomeDirectoryInfo = $scope.homeDirectories.find(function(dir) {
return dir.id == $scope.selectedHomeDirectory;
});
} else {
$scope.selectedHomeDirectoryInfo = null;
}
};
// Initialize home directories
$scope.loadHomeDirectories();
$scope.acctsLimit = true;
$scope.webLimits = true;
$scope.userCreated = true;
@@ -43,7 +85,8 @@ app.controller('createUserCtr', function ($scope, $http) {
websitesLimit: websitesLimits,
userName: userName,
password: password,
securityLevel: $scope.securityLevel
securityLevel: $scope.securityLevel,
selectedHomeDirectory: $scope.selectedHomeDirectory || ''
};
var config = {

View File

@@ -384,117 +384,4 @@
</div>
</div>
<script>
app.controller('createUserCtr', function ($scope, $http, $timeout) {
$scope.homeDirectories = [];
$scope.selectedHomeDirectory = '';
$scope.selectedHomeDirectoryInfo = null;
// Load home directories on page load
$scope.loadHomeDirectories = function() {
var url = '/users/getUserHomeDirectories';
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, {}, config)
.then(function(response) {
if (response.data && response.data.status === 1) {
$scope.homeDirectories = response.data.directories || [];
} else {
console.error('Error loading home directories:', response.data);
$scope.homeDirectories = [];
}
})
.catch(function(error) {
console.error('Error loading home directories:', error);
$scope.homeDirectories = [];
});
};
// Update home directory info when selection changes
$scope.updateHomeDirectoryInfo = function() {
if ($scope.selectedHomeDirectory) {
$scope.selectedHomeDirectoryInfo = $scope.homeDirectories.find(function(dir) {
return dir.id == $scope.selectedHomeDirectory;
});
} else {
$scope.selectedHomeDirectoryInfo = null;
}
};
// Initialize
$scope.loadHomeDirectories();
// Existing controller code...
$scope.firstName = '';
$scope.lastName = '';
$scope.email = '';
$scope.userName = '';
$scope.password = '';
$scope.websitesLimits = 0;
$scope.selectedACL = 'user';
$scope.securityLevel = 'HIGH';
$scope.userCreated = true;
$scope.userCreationFailed = true;
$scope.couldNotConnect = true;
$scope.combinedLength = true;
$scope.generatedPasswordView = true;
$scope.errorMessage = '';
$scope.generatePassword = function () {
$scope.password = Math.random().toString(36).slice(-10);
$scope.generatedPasswordView = false;
};
$scope.usePassword = function () {
$scope.generatedPasswordView = true;
};
$scope.createUserFunc = function () {
$scope.userCreated = true;
$scope.userCreationFailed = true;
$scope.couldNotConnect = true;
$scope.combinedLength = true;
if ($scope.firstName && $scope.lastName && ($scope.firstName.length + $scope.lastName.length > 20)) {
$scope.combinedLength = false;
return;
}
var url = '/users/submitUserCreation';
var data = {
firstName: $scope.firstName,
lastName: $scope.lastName,
email: $scope.email,
userName: $scope.userName,
password: $scope.password,
websitesLimit: $scope.websitesLimits,
selectedACL: $scope.selectedACL,
securityLevel: $scope.securityLevel,
selectedHomeDirectory: $scope.selectedHomeDirectory || ''
};
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data, config).then(function (response) {
if (response.data && response.data.createStatus === 1) {
$scope.userCreated = false;
$scope.userName = $scope.userName;
} else {
$scope.userCreationFailed = false;
$scope.errorMessage = response.data.error_message || 'Unknown error occurred';
}
}, function (error) {
$scope.couldNotConnect = false;
console.error('Error creating user:', error);
});
};
});
</script>
{% endblock %}