2 // Prepare an array of available roles. We need it for "is_client" property.
 
   3 // It is used to selectively display client selector for client roles.
 
   6 {foreach $active_roles as $active_role}
 
   7 roles[idx] = new Array({$active_role.id}, '{$active_role.is_client}');
 
  11 // The setDefaultRate function sets / unsets default rate for a project
 
  12 // when a corresponding checkbox is ticked.
 
  13 function setDefaultRate(element) {
 
  14   var default_rate = document.userForm.rate.value;
 
  15   if (default_rate == '') {
 
  16     // No default rate, nothing to do!
 
  19   // Iterate through elements of the form to find and set the project rate. 
 
  20   for (var i = 0; i < userForm.elements.length; i++) {
 
  21     if ((userForm.elements[i].type == 'text') && (userForm.elements[i].name == ('rate_'+element.value))) {
 
  22       if (element.checked) {
 
  23         userForm.elements[i].value = default_rate;
 
  25         userForm.elements[i].value = '';
 
  27       break; // Element is found and set, nothing more to do, break out of the loop.
 
  32 // handleClientControl - controls visibility of the client dropdown depending on the selected user role,
 
  33 // also hides and unselects projects when "Client" user role is selected.
 
  34 function handleClientControl() {
 
  35   var selectedRoleId = document.getElementById("role").value;
 
  36   var clientControl = document.getElementById("client");
 
  37   var nonClientBlock = document.getElementById("non_client_block");
 
  38   var projectsControl = document.getElementById("projects_control");
 
  40   var len = roles.length;
 
  41   for (var i = 0; i < len; i++) {
 
  42     if (selectedRoleId == roles[i][0]) {
 
  43       var isClient = roles[i][1];
 
  45         clientControl.style.visibility = "visible";
 
  46         nonClientBlock.style.display = "none";
 
  47         projectsControl.style.display = "none";
 
  49         // Uncheck all project checkboxes.
 
  50         var checkboxes = document.getElementsByName("projects[]");
 
  52         for (j = 0; j < checkboxes.length; j++) {
 
  53           checkboxes[j].checked = false;
 
  56         clientControl.value = "";
 
  57         clientControl.style.visibility = "hidden";
 
  58         nonClientBlock.style.display = "";
 
  59         projectsControl.style.display = "";
 
  67 {$forms.userForm.open}
 
  68 <table cellspacing="4" cellpadding="7" border="0">
 
  69   <table cellspacing="1" cellpadding="2" border="0">
 
  71       <td align="right">{$i18n.label.person_name} (*):</td>
 
  72       <td>{$forms.userForm.name.control}</td>
 
  75       <td align="right">{$i18n.label.login} (*):</td>
 
  76       <td>{$forms.userForm.login.control}</td>
 
  80       <td align="right">{$i18n.label.password} (*):</td>
 
  81       <td>{$forms.userForm.pas1.control}</td>
 
  84       <td align="right">{$i18n.label.confirm_password} (*):</td>
 
  85       <td>{$forms.userForm.pas2.control}</td>
 
  89       <td align="right" nowrap>{$i18n.label.email}:</td>
 
  90       <td>{$forms.userForm.email.control}</td>
 
  93       <td align="right">{$i18n.form.users.role}:</td>
 
  94       <td>{$forms.userForm.role.control} {$forms.userForm.client.control}</td>
 
  96 <tbody id="non_client_block">
 
  99       <td align="right">{$i18n.label.quota} (%):</td>
 
 100       <td>{$forms.userForm.quota_percent.control} <a href="https://www.anuko.com/lp/tt_27.htm" target="_blank">{$i18n.label.what_is_it}</a></td>
 
 104       <td align="right">{$i18n.form.users.default_rate} (0{$user->getDecimalMark()}00):</td>
 
 105       <td>{$forms.userForm.rate.control}</td>
 
 109 <tbody id="projects_control">
 
 110     <tr><td> </td></tr>
 
 112       <td align="right">{$i18n.label.projects}:</td>
 
 113       <td>{$forms.userForm.projects.control}</td>
 
 118       <td colspan="2" align="center">{$i18n.label.required_fields}</td>
 
 121       <td colspan="2" align="center" height="50">{$forms.userForm.btn_submit.control}</td>
 
 125 {$forms.userForm.close}