X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=inline;f=WEB-INF%2Ftemplates%2Fuser_add.tpl;h=155bf11cc7f4beca0264c0835a9ecba40755c31c;hb=c3e6cb49a67ee660c2eaeef53e15c85c19d805dd;hp=d9452cc8be2e6ecf28c653a2f91cb9e4e450e31c;hpb=fe40891a4ad16b5b70d518e8b5b2596267b684f9;p=timetracker.git diff --git a/WEB-INF/templates/user_add.tpl b/WEB-INF/templates/user_add.tpl index d9452cc8..155bf11c 100644 --- a/WEB-INF/templates/user_add.tpl +++ b/WEB-INF/templates/user_add.tpl @@ -29,19 +29,35 @@ function setDefaultRate(element) { } } -// 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. +// handleClientControl - controls visibility of the client dropdown depending on the selected user role, +// also hides and unselects projects when "Client" user role is selected. function handleClientControl() { var selectedRoleId = document.getElementById("role").value; var clientControl = document.getElementById("client"); + var nonClientBlock = document.getElementById("non_client_block"); + var projectsControl = document.getElementById("projects_control"); + var len = roles.length; for (var i = 0; i < len; i++) { if (selectedRoleId == roles[i][0]) { var isClient = roles[i][1]; - if (isClient == 1) + if (isClient == 1) { clientControl.style.visibility = "visible"; - else + nonClientBlock.style.display = "none"; + projectsControl.style.display = "none"; + + // Uncheck all project checkboxes. + var checkboxes = document.getElementsByName("projects[]"); + var j; + for (j = 0; j < checkboxes.length; j++) { + checkboxes[j].checked = false; + } + } else { + clientControl.value = ""; clientControl.style.visibility = "hidden"; + nonClientBlock.style.display = ""; + projectsControl.style.display = ""; + } break; } } @@ -73,25 +89,34 @@ function handleClientControl() {