Files
openproject/app/views/users/_form.html.erb
T
Oliver Günther 10e21154f7 Move asset pipeline javascripts to frontend (#8482)
* ove reporting and reporting_engine js to frontend page

* Replace webhook assets javascript

* Add path augment service to dynamically load scripts

* Remove JS-Files that are not used/not needed any more

* Include AugmentingModule correctly

* Remove special handling for checkbox selection which is outdated and two jquery libs that are not used any more

* Load scripts dynamically that are not needed globally

* Move plugin JS to frontend

* Move toggable fieldsets to global listeners

* Move top-menu to global listeners and convert to TS

* Move action_menu to frontend and port to TS

* Move settings listener to frontend

* Remove global js assets that were not used anyway

* Move date range to timelog dynamic script where it's still used until removed

* Move colors to global-listeners and port to TS

* Replace tooltip with simple form instructions on the one place used

Tooltips were only used at the one place in our application, when changing a users password.
We can simply remove it there and use a modern solution the next time we need a tooltip

* Move danger zone validation to frontend and port to TS

* Move colorcontrast to backlogs vendor where it's used now

* Remove contents of application.js.erb

* Move project and user scripts to dynamically loaded

* Move onboarding tour to dynamically loaded

* Use correct syntax for jQuery so that $ is  known keyword within this function

* Fix onboarding tour

* Fix onboarding tour for scrum tour

* Fix specs after moving JS

* Remove application.js.erb

* Move locales and ckeditor to the frontend to dynamically load

* Remove bundles caches

These are no longer being used since angular cli

* Ensure locales are exported before angular

Co-authored-by: Henriette Darge <h.darge@openproject.com>
2020-07-09 11:02:43 +02:00

158 lines
6.3 KiB
Plaintext

<%#-- copyright
OpenProject is an open source project management software.
Copyright (C) 2012-2020 the OpenProject GmbH
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License version 3.
OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
Copyright (C) 2006-2017 Jean-Philippe Lang
Copyright (C) 2010-2013 the ChiliProject Team
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
See docs/COPYRIGHT.rdoc for more details.
++#%>
<%= error_messages_for 'user' %>
<% content_for :header_tags do %>
<meta name="required_script" content="admin_users" />
<% end %>
<!--[form:user]-->
<section class="form--section">
<div class="form--field -required"><%= f.text_field :login, required: true, size: 25, container_class: '-middle' %></div>
<div class="form--field -required"><%= f.text_field :firstname, required: true, container_class: '-middle' %></div>
<div class="form--field -required"><%= f.text_field :lastname, required: true, container_class: '-middle' %></div>
<div class="form--field -required"><%= f.text_field :mail, required: true, container_class: '-middle' %></div>
<div class="form--field"><%= f.select :language, lang_options_for_select, prompt: "--- #{t(:actionview_instancetag_blank_option)} ---", container_class: '-slim' %></div>
<div class="form--field"><%= f.check_box :admin, disabled: (@user == User.current) %></div>
<h3 class="form--section-title"><%= t(:label_custom_field_plural) %></h3>
<%= render partial: 'customizable/field',
collection: @user.custom_field_values,
as: :value,
locals: { form: f } %>
<%= call_hook(:view_users_form, user: @user, form: f) %>
</section>
<% if Setting.consent_required? %>
<%= render partial: "users/consent" %>
<% end %>
<section class="form--section">
<h3 class="form--section-title"><%=t(:label_authentication)%></h3>
<% if @user.uses_external_authentication? %>
<div class="form--field">
<%= styled_label_tag nil, I18n.t('user.authentication_provider') %>
<div class="form--field-container">
<%= @user.authentication_provider %>
</div>
</div>
<div class="form--field-instructions">
<%= I18n.t('user.authentication_settings_disabled_due_to_external_authentication') %>
</div>
<% else %>
<% unless @auth_sources.empty? || OpenProject::Configuration.disable_password_login? %>
<div class="form--field">
<%= f.select :auth_source_id,
([[l(:label_internal), ""]] + @auth_sources.collect { |a| [a.name, a.id] }),
label: :'activerecord.attributes.user.auth_source',
container_class: '-middle' %>
</div>
<% end %>
<% if !OpenProject::Configuration.disable_password_login? %>
<%
pw_style =
if @user.change_password_allowed?
''
else
' style="display: none;"'
end
%>
<div id="password_fields"<%= pw_style.html_safe %>>
<% assign_random_password_enabled = params[:user] &&
params[:user][:assign_random_password] %>
<div class="form--field">
<%= styled_label_tag 'user_assign_random_password',
I18n.t(:assign_random_password, scope: :user) %>
<div class="form--field-container">
<%= styled_check_box_tag("user[assign_random_password]",
"1",
assign_random_password_enabled) %>
</div>
</div>
<% unless OpenProject::Configuration.disable_password_choice? %>
<div class="form--field">
<%= f.password_field :password,
required: @user.new_record?,
disabled: assign_random_password_enabled,
container_class: '-middle' %>
<div class="form--field-instructions">
<%= password_complexity_requirements %>
</div>
</div>
<div class="form--field">
<%= f.password_field :password_confirmation,
required: @user.new_record?,
disabled: assign_random_password_enabled,
container_class: '-middle' %>
</div>
<% end %>
<% if @user.active? -%>
<div class="form--field send-information -hidden">
<%= styled_label_tag 'send_information', t(:label_send_information) %>
<div class="form--field-container">
<%= styled_check_box_tag("send_information",
"1",
true) %>
</div>
</div>
<% end -%>
<div class="form--field">
<%= f.check_box :force_password_change,
disabled: assign_random_password_enabled %>
</div>
</div>
<% else %>
<div id="no_password_info">
<div class="form--field">
<%= styled_label_tag nil, I18n.t(:warning) %>
<div class="form--field-container">
<%= I18n.t 'user.no_login' %>
</div>
</div>
</div>
<% end %>
<% end %>
</section>
<section class="form--section">
<h3 class="form--section-title"><%= User.human_attribute_name(:mail_notification) %></h3>
<%= render partial: 'users/mail_notifications' %>
</section>
<section class="form--section">
<h3 class="form--section-title"><%=t(:label_preferences)%></h3>
<%= render partial: 'users/preferences', locals: {input_size: :middle } %>
</section>
<!--[eoform:user]-->