mirror of https://github.com/docusealco/docuseal
parent
b3e72f0726
commit
10ecb1d417
@ -0,0 +1,32 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class AccountLogosController < ApplicationController
|
||||
before_action :load_account
|
||||
authorize_resource :account
|
||||
|
||||
def update
|
||||
file = params[:file]
|
||||
|
||||
return redirect_to settings_personalization_path, alert: I18n.t('file_is_missing') if file.blank?
|
||||
|
||||
@account.logo.attach(
|
||||
io: file.open,
|
||||
filename: file.original_filename,
|
||||
content_type: file.content_type
|
||||
)
|
||||
|
||||
redirect_to settings_personalization_path, notice: I18n.t('logo_has_been_uploaded')
|
||||
end
|
||||
|
||||
def destroy
|
||||
@account.logo.purge
|
||||
|
||||
redirect_to settings_personalization_path, notice: I18n.t('logo_has_been_uploaded')
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def load_account
|
||||
@account = current_account
|
||||
end
|
||||
end
|
||||
@ -1 +1,42 @@
|
||||
<%= render 'logo_placeholder' %>
|
||||
<% if current_account.logo.attached? %>
|
||||
<div class="mb-4">
|
||||
<div class="flex items-center space-x-4">
|
||||
<div class="w-32 h-32 border border-base-300 rounded-md flex items-center justify-center bg-base-200">
|
||||
<%= image_tag current_account.logo, class: 'max-w-full max-h-full object-contain' %>
|
||||
</div>
|
||||
<div>
|
||||
<p class="text-sm text-base-content/70 mb-2">Current Logo</p>
|
||||
<%= form_for '', url: account_logo_path, method: :delete, data: { turbo_confirm: 'Are you sure?' }, html: { class: 'inline' } do |f| %>
|
||||
<%= f.button 'Remove Logo', class: 'btn btn-sm btn-ghost' %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<%= form_for '', url: account_logo_path, method: :patch, html: { enctype: 'multipart/form-data', class: 'space-y-4' } do |f| %>
|
||||
<file-dropzone data-submit-on-upload="true" class="w-full">
|
||||
<label for="logo_file" class="w-full block h-32 relative bg-base-200 hover:bg-base-200/70 rounded-md border border-base-content border-dashed cursor-pointer">
|
||||
<div class="absolute top-0 right-0 left-0 bottom-0 flex items-center justify-center p-2">
|
||||
<div class="flex flex-col items-center text-center">
|
||||
<span data-target="file-dropzone.icon">
|
||||
<%= svg_icon('cloud_upload', class: 'w-10 h-10') %>
|
||||
</span>
|
||||
<span data-target="file-dropzone.loading" class="hidden">
|
||||
<%= svg_icon('loader', class: 'w-10 h-10 animate-spin') %>
|
||||
</span>
|
||||
<div class="font-medium mb-1">
|
||||
<%= t('upload_logo') %>
|
||||
</div>
|
||||
<div class="text-xs">
|
||||
<%= t('click_to_upload_or_drag_and_drop_html') %>
|
||||
</div>
|
||||
</div>
|
||||
<input id="logo_file" name="file" class="hidden" data-action="change:file-dropzone#onSelectFiles" data-target="file-dropzone.input" type="file" accept="image/png,image/jpeg,image/jpg,image/svg+xml">
|
||||
</div>
|
||||
</label>
|
||||
</file-dropzone>
|
||||
<div class="form-control">
|
||||
<%= f.button button_title(title: t('upload_logo'), disabled_with: t('saving')), class: 'base-button' %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
@ -1,27 +1,29 @@
|
||||
<div class="flex flex-wrap space-y-4 md:flex-nowrap md:space-y-0">
|
||||
<%= render 'shared/settings_nav' %>
|
||||
<div class="flex-grow max-w-xl mx-auto">
|
||||
<p class="text-4xl font-bold mb-4">
|
||||
<%= t('email_templates') %>
|
||||
</p>
|
||||
<div class="space-y-4">
|
||||
<%= render 'signature_request_email_form' %>
|
||||
<%= render 'documents_copy_email_form' %>
|
||||
<%= render 'submitter_completed_email_form' %>
|
||||
</div>
|
||||
<p class="text-4xl font-bold mb-4 mt-8">
|
||||
<%= t('company_logo') %>
|
||||
</p>
|
||||
<%= render 'logo_form' %>
|
||||
<p class="text-4xl font-bold mb-4 mt-8">
|
||||
<%= t('submission_form') %>
|
||||
</p>
|
||||
<div class="space-y-4">
|
||||
<%= render 'form_completed_message_form' %>
|
||||
<%= render 'form_completed_button_form' %>
|
||||
<%= render 'form_policy_links_form' %>
|
||||
</div>
|
||||
<%= render 'form_customization_settings' %>
|
||||
</div>
|
||||
<div class="w-0 md:w-52"></div>
|
||||
<div class="max-w-4xl mx-auto space-y-8">
|
||||
<h1 class="text-3xl md:text-4xl font-bold tracking-tight text-base-content">
|
||||
<%= t('personalization') %>
|
||||
</h1>
|
||||
<section class="bg-base-100 rounded-xl border border-base-300 p-6 md:p-8 shadow-soft">
|
||||
<h2 class="text-lg font-semibold text-base-content mb-5"><%= t('email_templates') %></h2>
|
||||
<div class="space-y-4">
|
||||
<%= render 'signature_request_email_form' %>
|
||||
<%= render 'documents_copy_email_form' %>
|
||||
<%= render 'submitter_completed_email_form' %>
|
||||
</div>
|
||||
</section>
|
||||
<section class="bg-base-100 rounded-xl border border-base-300 p-6 md:p-8 shadow-soft">
|
||||
<h2 class="text-lg font-semibold text-base-content mb-5"><%= t('company_logo') %></h2>
|
||||
<%= render 'logo_form' %>
|
||||
</section>
|
||||
<section class="bg-base-100 rounded-xl border border-base-300 p-6 md:p-8 shadow-soft">
|
||||
<h2 class="text-lg font-semibold text-base-content mb-5"><%= t('submission_form') %></h2>
|
||||
<div class="space-y-4">
|
||||
<%= render 'form_completed_message_form' %>
|
||||
<%= render 'form_completed_button_form' %>
|
||||
<%= render 'form_policy_links_form' %>
|
||||
</div>
|
||||
</section>
|
||||
<section class="bg-base-100 rounded-xl border border-base-300 p-6 md:p-8 shadow-soft">
|
||||
<h2 class="text-lg font-semibold text-base-content mb-5"><%= t('form_customization', default: 'Form Customization') %></h2>
|
||||
<%= render 'form_customization_settings' %>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
<div class="flex flex-wrap space-y-4 md:flex-nowrap md:space-y-0">
|
||||
<%= render 'shared/settings_nav' %>
|
||||
<div class="flex-grow max-w-xl mx-auto">
|
||||
<h1 class="text-4xl font-bold mb-4">SMS</h1>
|
||||
<%= render 'placeholder' %>
|
||||
</div>
|
||||
<div class="w-0 md:w-52"></div>
|
||||
<div class="max-w-4xl mx-auto space-y-8">
|
||||
<h1 class="text-3xl md:text-4xl font-bold tracking-tight text-base-content">SMS</h1>
|
||||
<section class="bg-base-100 rounded-xl border border-base-300 p-6 md:p-8 shadow-soft">
|
||||
<%= render 'placeholder' %>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
<div class="flex flex-wrap space-y-4 md:flex-nowrap md:space-y-0">
|
||||
<%= render 'shared/settings_nav' %>
|
||||
<div class="flex-grow max-w-xl mx-auto">
|
||||
<h1 class="text-4xl font-bold mb-4">SAML SSO</h1>
|
||||
<%= render 'placeholder' %>
|
||||
</div>
|
||||
<div class="w-0 md:w-52"></div>
|
||||
<div class="max-w-4xl mx-auto space-y-8">
|
||||
<h1 class="text-3xl md:text-4xl font-bold tracking-tight text-base-content">SAML SSO</h1>
|
||||
<section class="bg-base-100 rounded-xl border border-base-300 p-6 md:p-8 shadow-soft">
|
||||
<%= render 'placeholder' %>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
@ -0,0 +1,2 @@
|
||||
DATABASE_URL= # keep empty to use sqlite or specify postgresql database URL
|
||||
SECRET_KEY_BASE=001f0f350ae2b0d7898d11cd9fd25cc2f193990470d9fd4b7feafa7d363794c55902d56ebd75a079f75e57b9706388ce9279f1db2153a0a63588bb867cb7371c
|
||||
|
After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Loading…
Reference in new issue