modules/storages/app/views/storages/admin/storages/_new.html.erb
<%#-- copyright
OpenProject is an open source project management software.
Copyright (C) 2012-2024 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-2013 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 COPYRIGHT and LICENSE files for more details.
++#%>
<% content_controller 'storages--storage-form',
dynamic: true,
'storages--storage-form-one-drive-placeholder-value': t(:"storages.provider_types.one_drive.name_placeholder"),
'storages--storage-form-nextcloud-placeholder-value': t(:"storages.provider_types.nextcloud.name_placeholder")
%>
<!-- Included form for create and edit operations, please see the controller for comments -->
<%= error_messages_for @storage %>
<fieldset class="form--fieldset" data-storages--storage-form-target="fieldset">
<legend class="form--fieldset-legend"><%= I18n.t(:label_general) %></legend>
<div class="form--field -required">
<%= f.hidden_field :provider_type %>
<%= f.select :provider_type,
::Storages::Storage::PROVIDER_TYPES.map { |provider_type| [I18n.t("storages.provider_types.#{::Storages::Storage.shorten_provider_type(provider_type)}.name"), provider_type] },
{
selected: ::Storages::Storage::PROVIDER_TYPE_NEXTCLOUD,
container_class: '-slim'
},
data: {
'storages--storage-form-target': 'selectProviderType'
}
%>
<span class="form--field-instructions"><%= t('storages.instructions.type') %> <%= t('storages.instructions.type_link_text') %></span>
</div>
<div class="form--field -required">
<%= f.text_field :name,
required: true,
placeholder: I18n.t("storages.provider_types.#{@storage.short_provider_type}.name_placeholder"),
container_class: '-slim',
data: {
'storages--storage-form-target': 'storageName'
} %>
<span class="form--field-instructions"><%= t('storages.instructions.name') %></span>
</div>
<div class="form--field -required" data-storages--storage-form-target="storageUrl">
<%= f.text_field :host,
label: t('storages.label_host'),
type: :url,
required: true,
pattern: ".{1,255}",
placeholder: "https://my-file-storage.com",
container_class: '-wide' %>
<span class="form--field-instructions"><%= t('storages.instructions.host') %></span>
</div>
</fieldset>