<script>
+// Prepare an array of available roles. We need it for "is_client" property.
+// It is used to selectively display client selector for client roles.
+roles = new Array();
+var idx = 0;
+{foreach $active_roles as $active_role}
+roles[idx] = new Array({$active_role.id}, '{$active_role.is_client}');
+idx++;
+{/foreach}
+
// Prepare an array of rates.
// Format: project_rates[0] = Array(100, '25.00'), project_rates[1] = Array(120, '30.00'), etc...
// First element = project_id, second element = rate for project. Quotes needed for string representation of rates.
function getRate(project_id) {
var length = project_rates.length;
for(var i = 0; i < length; i++) {
- if(project_rates[i][0] == project_id) {
- return project_rates[i][1];
- }
+ if(project_rates[i][0] == project_id) {
+ return project_rates[i][1];
+ }
}
var default_rate = document.userForm.rate.value;
return default_rate;
for (var i = 0; i < userForm.elements.length; i++) {
if ((userForm.elements[i].type == 'text') && (userForm.elements[i].name == ('rate_'+element.value))) {
if (element.checked) {
- userForm.elements[i].value = getRate(element.value);
+ userForm.elements[i].value = getRate(element.value);
} else {
userForm.elements[i].value = '';
}
// handleClientControl - controls visibility of the client dropdown depending on the selected user role.
// We need to show it only when the "Client" user role is selected.
function handleClientControl() {
+ var selectedRoleId = document.getElementById("role").value;
var clientControl = document.getElementById("client");
- if ("16" == document.getElementById("role").value)
- clientControl.style.visibility = "visible";
- else
- clientControl.style.visibility = "hidden";
+ var len = roles.length;
+ for (var i = 0; i < len; i++) {
+ if (selectedRoleId == roles[i][0]) {
+ var isClient = roles[i][1];
+ if (isClient == 1)
+ clientControl.style.visibility = "visible";
+ else
+ clientControl.style.visibility = "hidden";
+ break;
+ }
+ }
}
</script>
</tr>
</table>
</table>
-{$forms.userForm.close}
\ No newline at end of file
+{$forms.userForm.close}