You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.0 KiB
HTML
55 lines
2.0 KiB
HTML
{% extends 'client-base.html' %}
|
|
{% block content %}
|
|
|
|
<form method="post">
|
|
{% csrf_token %}
|
|
{{ form }}
|
|
<button type="submit">Register</button>
|
|
</form>
|
|
|
|
<script>
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
const userTypeSelect = document.getElementById('id_user_type');
|
|
const companyPerms = document.getElementById('id_company_permissions');
|
|
const employeePerms = document.getElementById('id_employee_permissions');
|
|
|
|
function handleUserTypeChange(select) {
|
|
console.log('User type changed to:', userTypeSelect.value); // Add this line
|
|
// {#if (!userTypeSelect || !companyPerms || !employeePerms) return;#}
|
|
|
|
const isSuperuser = {{ user.is_superuser|yesno:"true,false" }};
|
|
const isCompanyAdmin = ('{{ user.user_type }}' === 'CA');
|
|
|
|
// Remove disabled attribute first
|
|
companyPerms.removeAttribute('disabled');
|
|
employeePerms.removeAttribute('disabled');
|
|
|
|
switch(userTypeSelect.value) {
|
|
case 'CL': // Client
|
|
companyPerms.disabled = false;
|
|
employeePerms.disabled = true;
|
|
break;
|
|
case 'EM': // Employee
|
|
companyPerms.disabled = true;
|
|
employeePerms.disabled = false;
|
|
break;
|
|
default:
|
|
companyPerms.disabled = true;
|
|
employeePerms.disabled = true;
|
|
break;
|
|
}
|
|
companyPerms.parentElement.hidden = companyPerms.disabled;
|
|
employeePerms.parentElement.hidden = employeePerms.disabled;
|
|
}
|
|
|
|
// Add change event listener
|
|
if (userTypeSelect) {
|
|
userTypeSelect.addEventListener('change', handleUserTypeChange);
|
|
|
|
// Initial call to set up the form correctly
|
|
handleUserTypeChange();
|
|
}
|
|
});
|
|
</script>
|
|
|
|
{% endblock content %} |