You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

_form.html.erb 3.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <%= error_messages_for 'user' %>
  2. <div id="user_form">
  3. <!--[form:user]-->
  4. <div class="splitcontent">
  5. <div class="splitcontentleft">
  6. <fieldset class="box tabular">
  7. <legend><%=l(:label_information_plural)%></legend>
  8. <p><%= f.text_field :login, :required => true, :size => 25 %></p>
  9. <p><%= f.text_field :firstname, :required => true %></p>
  10. <p><%= f.text_field :lastname, :required => true %></p>
  11. <p><%= f.text_field :mail, :required => true %></p>
  12. <% unless @user.force_default_language? %>
  13. <p><%= f.select :language, lang_options_for_select %></p>
  14. <% end %>
  15. <% @user.custom_field_values.each do |value| %>
  16. <p><%= custom_field_tag_with_label :user, value %></p>
  17. <% end %>
  18. <p><%= f.check_box :admin, :disabled => (@user == User.current) %></p>
  19. <%= call_hook(:view_users_form, :user => @user, :form => f) %>
  20. </fieldset>
  21. <fieldset class="box tabular">
  22. <legend><%=l(:label_authentication)%></legend>
  23. <% unless @auth_sources.empty? %>
  24. <p><%= f.select :auth_source_id, ([[l(:label_internal), ""]] + @auth_sources.collect { |a| [a.name, a.id] }), {}, :onchange => "if (this.value=='') {$('#password_fields').show();} else {$('#password_fields').hide();}" %></p>
  25. <% end %>
  26. <div id="password_fields" style="<%= 'display:none;' if @user.auth_source %>">
  27. <p>
  28. <%= f.password_field :password, :required => @user.new_record?, :size => 25 %>
  29. <em class="info"><%= l(:text_caracters_minimum, :count => Setting.password_min_length) %></em>
  30. <% if Setting.password_required_char_classes.any? %>
  31. <em class="info"><%= l(:text_characters_must_contain, :character_classes => Setting.password_required_char_classes.collect{|c| l("label_password_char_class_#{c}")}.join(", ")) %></em>
  32. <% end %>
  33. </p>
  34. <p><%= f.password_field :password_confirmation, :required => @user.new_record?, :size => 25 %></p>
  35. <p><%= f.check_box :generate_password %></p>
  36. <p><%= f.check_box :must_change_passwd %></p>
  37. </div>
  38. <% if Setting.twofa? && !@user.new_record? -%>
  39. <p>
  40. <label><%=l :setting_twofa -%></label>
  41. <% if @user.twofa_active? %>
  42. <%=l 'twofa_currently_active', twofa_scheme_name: l("twofa__#{@user.twofa_scheme}__name") -%><br/>
  43. <% if @user == User.current # administrators cannot deactivate their own 2FA without confirmation code %>
  44. <%= link_to l('button_disable'), { controller: 'twofa', action: 'deactivate_init', scheme: @user.twofa_scheme }, method: :post -%>
  45. <% else %>
  46. <%= link_to l('button_disable'), { controller: 'twofa', action: 'admin_deactivate', user_id: @user }, method: :post -%>
  47. <% end %>
  48. <% else %>
  49. <%=l 'twofa_not_active' %>
  50. <% end %>
  51. </p>
  52. <% end -%>
  53. </fieldset>
  54. </div>
  55. <div class="splitcontentright">
  56. <fieldset class="box">
  57. <legend><%=l(:field_mail_notification)%></legend>
  58. <%= render :partial => 'users/mail_notifications' %>
  59. </fieldset>
  60. <fieldset class="box tabular">
  61. <legend><%=l(:label_preferences)%></legend>
  62. <%= render :partial => 'users/preferences' %>
  63. <%= call_hook(:view_users_form_preferences, :user => @user, :form => f) %>
  64. </fieldset>
  65. </div>
  66. </div>
  67. </div>
  68. <div style="clear:left;"></div>
  69. <!--[eoform:user]-->
  70. <%= javascript_tag do %>
  71. $(document).ready(function(){
  72. $('#user_generate_password').change(function(){
  73. var passwd = $('#user_password, #user_password_confirmation');
  74. if ($(this).is(':checked')){
  75. passwd.val('').attr('disabled', true);
  76. }else{
  77. passwd.removeAttr('disabled');
  78. }
  79. }).trigger('change');
  80. });
  81. <% end %>