mirror of https://github.com/docusealco/docuseal
parent
e45bad97f5
commit
faf6f69e3e
@ -1,74 +1,93 @@
|
|||||||
<div class="max-w-6xl mx-auto">
|
<div class="max-w-6xl mx-auto">
|
||||||
<div class="flex space-x-8">
|
<div class="flex">
|
||||||
<%= render 'shared/settings_nav' %>
|
<%= render 'shared/settings_nav' %>
|
||||||
<div class="mt-4">
|
<div class="mt-4 w-full">
|
||||||
Storage settings
|
<div class="max-w-xl mx-auto">
|
||||||
<% value = @encrypted_config.value || { 'service' => 'disk' } %>
|
<h1 class="text-4xl font-bold mb-4">Storage</h1>
|
||||||
<% configs = value['configs'] || {} %>
|
<p class="mb-4">
|
||||||
<%= form_for @encrypted_config, url: settings_storage_index_path, method: :post, html: { autocomplete: 'off' } do |f| %>
|
Select files torage option (TODO)
|
||||||
<% options = [['Disk', 'disk'], ['AWS S3', 'aws_s3'], ['Google Cloud', 'google']] %>
|
</p>
|
||||||
<toggle-visible data-element-ids="<%= options.map(&:last).to_json %>">
|
<% value = @encrypted_config.value || { 'service' => 'disk' } %>
|
||||||
<% [['Disk', 'disk'], ['AWS S3', 'aws_s3'], ['Google Cloud', 'google']].each do |(label, val)| %>
|
<% configs = value['configs'] || {} %>
|
||||||
<%= f.radio_button :selected, val, checked: value['service'] == val, data: { action: 'change:toggle-visible#trigger' } %>
|
<%= form_for @encrypted_config, url: settings_storage_index_path, method: :post, html: { autocomplete: 'off', class: 'w-full' } do |f| %>
|
||||||
<%= f.label :selected, label, value: val %>
|
<% options = [['Disk', 'disk'], ['AWS S3', 'aws_s3'], ['Google Cloud', 'google']] %>
|
||||||
<% end %>
|
<toggle-visible data-element-ids="<%= options.map(&:last).to_json %>" class="block relative">
|
||||||
</toggle-visible>
|
<div class="flex space-x-2 relative">
|
||||||
<disable-hidden id="disk" class="<%= 'hidden' if value['service'] != 'disk' %>">
|
<% [['Disk', 'disk'], ['AWS S3', 'aws_s3'], ['Google Cloud', 'google']].each do |(label, val)| %>
|
||||||
<%= f.fields_for :value do |ff| %>
|
<%= f.label :selected, value: val, class: 'w-full flex flex-1 items-center space-x-2 btn btn-outline rounded-xl' do %>
|
||||||
<%= ff.hidden_field :service, value: 'disk' %>
|
<%= f.radio_button :selected, val, checked: value['service'] == val, data: { action: 'change:toggle-visible#trigger' }, class: 'base-radio' %>
|
||||||
<% end %>
|
<span><%= label %></span>
|
||||||
<div>
|
<% end %>
|
||||||
Disk storage - no configs needed but make sure you have a persistant disk (heroku doesnt not have one)
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
</disable-hidden>
|
</toggle-visible>
|
||||||
<disable-hidden id="aws_s3" class="<%= 'hidden' if value['service'] != 'aws_s3' %>">
|
<disable-hidden id="disk" class="<%= 'hidden' if value['service'] != 'disk' %>">
|
||||||
<%= f.fields_for :value do |ff| %>
|
<%= f.fields_for :value do |ff| %>
|
||||||
<%= ff.hidden_field :service, value: 'aws_s3' %>
|
<%= ff.hidden_field :service, value: 'disk' %>
|
||||||
<%= ff.fields_for :configs, configs do |fff| %>
|
<% end %>
|
||||||
<div>
|
<div class="text-center max-w-xl mx-auto my-8 text-xl font-medium leading-9">
|
||||||
<%= fff.label :access_key_id, 'Access key ID' %>
|
Store all files on disk
|
||||||
<%= fff.text_field :access_key_id, value: configs['access_key_id'], required: true %>
|
<br>
|
||||||
</div>
|
No configs are needed but make sure your disk is persistent
|
||||||
<div>
|
<br>
|
||||||
<%= fff.label :secret_access_key %>
|
(not suitable for Heroku and other PaaS)
|
||||||
<%= fff.password_field :secret_access_key, value: configs['secret_access_key'], required: true %>
|
</div>
|
||||||
</div>
|
</disable-hidden>
|
||||||
<div>
|
<disable-hidden id="aws_s3" class="<%= 'hidden' if value['service'] != 'aws_s3' %>">
|
||||||
<%= fff.label :region %>
|
<%= f.fields_for :value do |ff| %>
|
||||||
<%= fff.text_field :region, value: configs['region'], required: true %>
|
<%= ff.hidden_field :service, value: 'aws_s3' %>
|
||||||
</div>
|
<%= ff.fields_for :configs, configs do |fff| %>
|
||||||
<div>
|
<div>
|
||||||
<%= fff.label :bucket %>
|
<%= fff.label :access_key_id, 'Access key ID' %>
|
||||||
<%= fff.text_field :bucket, value: value['service'] == 'aws_s3' ? configs['bucket'] : '', required: true %>
|
<%= fff.text_field :access_key_id, value: configs['access_key_id'], required: true %>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<%= fff.label :endpoint %>
|
<%= fff.label :secret_access_key %>
|
||||||
<%= fff.text_field :endpoint, value: configs['endpoint'], type: :url %>
|
<%= fff.password_field :secret_access_key, value: configs['secret_access_key'], required: true %>
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<%= fff.label :region %>
|
||||||
|
<%= fff.text_field :region, value: configs['region'], required: true %>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<%= fff.label :bucket %>
|
||||||
|
<%= fff.text_field :bucket, value: value['service'] == 'aws_s3' ? configs['bucket'] : '', required: true %>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<%= fff.label :endpoint %>
|
||||||
|
<%= fff.text_field :endpoint, value: configs['endpoint'], type: :url %>
|
||||||
|
<small>
|
||||||
|
For AWS S3 compantiable APIs like Minio.
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
</disable-hidden>
|
||||||
</disable-hidden>
|
<disable-hidden id="google" class="<%= 'hidden' if value['service'] != 'google' %>">
|
||||||
<disable-hidden id="google" class="<%= 'hidden' if value['service'] != 'google' %>">
|
<%= f.fields_for :value do |ff| %>
|
||||||
<%= f.fields_for :value do |ff| %>
|
<%= ff.hidden_field :service, value: 'google' %>
|
||||||
<%= ff.hidden_field :service, value: 'google' %>
|
<%= ff.fields_for :configs, configs do |fff| %>
|
||||||
<%= ff.fields_for :configs, configs do |fff| %>
|
<div>
|
||||||
<div>
|
<%= fff.label :project, 'Project' %>
|
||||||
<%= fff.label :project, 'Project' %>
|
<%= fff.text_field :project, value: configs['project'], required: true %>
|
||||||
<%= fff.text_field :project, value: configs['project'], required: true %>
|
</div>
|
||||||
</div>
|
<div>
|
||||||
<div>
|
<%= fff.label :bucket %>
|
||||||
<%= fff.label :bucket %>
|
<%= fff.text_field :bucket, value: value['service'] == 'google' ? configs['bucket'] : '', required: true %>
|
||||||
<%= fff.text_field :bucket, value: value['service'] == 'google' ? configs['bucket'] : '', required: true %>
|
</div>
|
||||||
</div>
|
<div>
|
||||||
<div>
|
<%= fff.label :credentials, 'Credentials (JSON key content)' %>
|
||||||
<%= fff.label :credentials, 'Credentials (JSON key content)' %>
|
<%= fff.text_area :credentials, value: configs['credentials'], required: true %>
|
||||||
<%= fff.text_area :credentials, value: configs['credentials'], required: true %>
|
</div>
|
||||||
</div>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
</disable-hidden>
|
||||||
</disable-hidden>
|
<div class="form-control">
|
||||||
<%= f.button button_title %>
|
<%= f.button button_title('OK'), class: 'base-button' %>
|
||||||
<% end %>
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="px-2 w-52 flex-none"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
Reference in new issue