mirror of https://github.com/docusealco/docuseal
parent
4a303cb423
commit
97a712d888
@ -0,0 +1,23 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class ProfileController < ApplicationController
|
||||
def index
|
||||
@user = current_user
|
||||
end
|
||||
|
||||
def update
|
||||
@user = current_user
|
||||
|
||||
if @user.update(user_params)
|
||||
redirect_to settings_profile_path, notice: 'Profile updated'
|
||||
else
|
||||
render :index
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def user_params
|
||||
params.require(:user).permit(:first_name, :last_name)
|
||||
end
|
||||
end
|
||||
@ -1,48 +1,43 @@
|
||||
<div class="max-w-6xl mx-auto">
|
||||
<div class="flex">
|
||||
<%= render 'shared/settings_nav' %>
|
||||
<div class="mt-4 w-full">
|
||||
<div class="max-w-xl mx-auto">
|
||||
<h1 class="text-4xl font-bold mb-4">Email SMTP</h1>
|
||||
<p>
|
||||
Configure your to send emails (TODO)
|
||||
</p>
|
||||
<% value = @encrypted_config.value || {} %>
|
||||
<%= form_for @encrypted_config, url: settings_email_index_path, method: :post, html: { autocomplete: 'off', class: 'space-y-4' } do |f| %>
|
||||
<%= f.fields_for :value do |ff| %>
|
||||
<div class="grid md:grid-cols-2 gap-4">
|
||||
<div class="form-control">
|
||||
<%= ff.label :host, class: 'label' %>
|
||||
<%= ff.text_field :host, value: value['host'], required: true, class: 'base-input' %>
|
||||
</div>
|
||||
<div class="form-control">
|
||||
<%= ff.label :port, class: 'label' %>
|
||||
<%= ff.text_field :port, value: value['port'], required: true, class: 'base-input' %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid md:grid-cols-2 gap-4">
|
||||
<div class="form-control">
|
||||
<%= ff.label :username, class: 'label' %>
|
||||
<%= ff.text_field :username, value: value['username'], required: true, class: 'base-input' %>
|
||||
</div>
|
||||
<div class="form-control">
|
||||
<%= ff.label :password, class: 'label' %>
|
||||
<%= ff.password_field :password, value: value['password'], required: true, class: 'base-input' %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-control">
|
||||
<%= ff.label :from_email, 'Send from', class: 'label' %>
|
||||
<%= ff.email_field :from_email, value: value['from_email'], required: true, class: 'base-input' %>
|
||||
</div>
|
||||
<% end %>
|
||||
<div>
|
||||
<div class="form-control mt-8">
|
||||
<%= f.button button_title, class: 'base-button' %>
|
||||
</div>
|
||||
<div class="flex flex-wrap space-y-4 md:flex-nowrap md:space-y-0 md:space-x-16">
|
||||
<%= render 'shared/settings_nav' %>
|
||||
<div class="flex-grow max-w-xl">
|
||||
<h1 class="text-4xl font-bold mb-4">Email SMTP</h1>
|
||||
<p>
|
||||
Configure your to send emails (TODO)
|
||||
</p>
|
||||
<% value = @encrypted_config.value || {} %>
|
||||
<%= form_for @encrypted_config, url: settings_email_index_path, method: :post, html: { autocomplete: 'off', class: 'space-y-4' } do |f| %>
|
||||
<%= f.fields_for :value do |ff| %>
|
||||
<div class="grid md:grid-cols-2 gap-4">
|
||||
<div class="form-control">
|
||||
<%= ff.label :host, class: 'label' %>
|
||||
<%= ff.text_field :host, value: value['host'], required: true, class: 'base-input' %>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="form-control">
|
||||
<%= ff.label :port, class: 'label' %>
|
||||
<%= ff.text_field :port, value: value['port'], required: true, class: 'base-input' %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid md:grid-cols-2 gap-4">
|
||||
<div class="form-control">
|
||||
<%= ff.label :username, class: 'label' %>
|
||||
<%= ff.text_field :username, value: value['username'], required: true, class: 'base-input' %>
|
||||
</div>
|
||||
<div class="form-control">
|
||||
<%= ff.label :password, class: 'label' %>
|
||||
<%= ff.password_field :password, value: value['password'], required: true, class: 'base-input' %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-control">
|
||||
<%= ff.label :from_email, 'Send from', class: 'label' %>
|
||||
<%= ff.email_field :from_email, value: value['from_email'], required: true, class: 'base-input' %>
|
||||
</div>
|
||||
<% end %>
|
||||
<div>
|
||||
<div class="form-control mt-8">
|
||||
<%= f.button button_title, class: 'base-button' %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="px-2 w-52 flex-none"></div>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -0,0 +1,21 @@
|
||||
<div class="flex flex-wrap space-y-4 md:flex-nowrap md:space-y-0 md:space-x-16">
|
||||
<%= render 'shared/settings_nav' %>
|
||||
<div class="flex-grow max-w-xl">
|
||||
<h1 class="text-4xl font-bold mb-4">Profile</h1>
|
||||
<%= form_for @user, html: { autocomplete: 'off', class: 'space-y-4' } do |f| %>
|
||||
<div class="grid md:grid-cols-2 gap-4">
|
||||
<div class="form-control">
|
||||
<%= f.label :first_name, class: 'label' %>
|
||||
<%= f.text_field :first_name, required: true, class: 'base-input' %>
|
||||
</div>
|
||||
<div class="form-control">
|
||||
<%= f.label :last_name, class: 'label' %>
|
||||
<%= f.text_field :last_name, required: true, class: 'base-input' %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-control mt-8">
|
||||
<%= f.button button_title, class: 'base-button' %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,28 @@
|
||||
<%= f.fields_for :value do |ff| %>
|
||||
<%= ff.hidden_field :service, value: 'aws_s3' %>
|
||||
<%= ff.fields_for :configs, configs do |fff| %>
|
||||
<div>
|
||||
<%= fff.label :access_key_id, 'Access key ID' %>
|
||||
<%= fff.text_field :access_key_id, value: configs['access_key_id'], required: true %>
|
||||
</div>
|
||||
<div>
|
||||
<%= fff.label :secret_access_key %>
|
||||
<%= fff.password_field :secret_access_key, value: configs['secret_access_key'], required: true %>
|
||||
</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 %>
|
||||
@ -0,0 +1,10 @@
|
||||
<%= f.fields_for :value do |ff| %>
|
||||
<%= ff.hidden_field :service, value: 'disk' %>
|
||||
<% end %>
|
||||
<div class="text-center max-w-xl mx-auto my-8 text-xl font-medium leading-9">
|
||||
Store all files on disk
|
||||
<br>
|
||||
No configs are needed but make sure your disk is persistent
|
||||
<br>
|
||||
(not suitable for Heroku and other PaaS)
|
||||
</div>
|
||||
@ -0,0 +1,17 @@
|
||||
<%= f.fields_for :value do |ff| %>
|
||||
<%= ff.hidden_field :service, value: 'google' %>
|
||||
<%= ff.fields_for :configs, configs do |fff| %>
|
||||
<div>
|
||||
<%= fff.label :project, 'Project' %>
|
||||
<%= fff.text_field :project, value: configs['project'], required: true %>
|
||||
</div>
|
||||
<div>
|
||||
<%= fff.label :bucket %>
|
||||
<%= fff.text_field :bucket, value: value['service'] == 'google' ? configs['bucket'] : '', required: true %>
|
||||
</div>
|
||||
<div>
|
||||
<%= fff.label :credentials, 'Credentials (JSON key content)' %>
|
||||
<%= fff.text_area :credentials, value: configs['credentials'], required: true %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
Loading…
Reference in new issue