refactor result generation
This commit is contained in:
@@ -10,7 +10,7 @@ class MfaSetupController < ApplicationController
|
|||||||
|
|
||||||
current_user.save!
|
current_user.save!
|
||||||
|
|
||||||
@provision_url = current_user.otp_provisioning_uri(current_user.email, issuer: Docuseal::PRODUCT_NAME)
|
@provision_url = current_user.otp_provisioning_uri(current_user.email, issuer: Docuseal.product_name)
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit; end
|
def edit; end
|
||||||
@@ -22,7 +22,7 @@ class MfaSetupController < ApplicationController
|
|||||||
|
|
||||||
redirect_to settings_profile_index_path, notice: '2FA has been configured'
|
redirect_to settings_profile_index_path, notice: '2FA has been configured'
|
||||||
else
|
else
|
||||||
@provision_url = current_user.otp_provisioning_uri(current_user.email, issuer: Docuseal::PRODUCT_NAME)
|
@provision_url = current_user.otp_provisioning_uri(current_user.email, issuer: Docuseal.product_name)
|
||||||
|
|
||||||
@error_message = 'Code is invalid'
|
@error_message = 'Code is invalid'
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class UserMailer < ApplicationMailer
|
class UserMailer < ApplicationMailer
|
||||||
def invitation_email(user)
|
def invitation_email(user, invited_by: nil)
|
||||||
@current_account = user.account
|
@current_account = invited_by&.account || user.account
|
||||||
@user = user
|
@user = user
|
||||||
@token = @user.send(:set_reset_password_token)
|
@token = @user.send(:set_reset_password_token)
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,7 @@
|
|||||||
<div class="flex items-center h-full">
|
<div class="flex items-center h-full">
|
||||||
<div class="mx-auto">
|
<div class="mx-auto">
|
||||||
<div class="max-w-xl mx-auto">
|
<div class="max-w-xl mx-auto">
|
||||||
<h1 class="text-5xl font-bold text-base-content">👋 Welcome to DocuSeal</h1>
|
<h1 class="text-5xl font-bold text-base-content">👋 Welcome to <%= Docuseal.product_name %></h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="max-w-lg mx-auto">
|
<div class="max-w-lg mx-auto">
|
||||||
<p class="py-6 text-gray-600">Streamline document workflows, from creating customizable templates to filling and signing document forms</p>
|
<p class="py-6 text-gray-600">Streamline document workflows, from creating customizable templates to filling and signing document forms</p>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<div class="max-w-xl mx-auto px-2">
|
<div class="max-w-xl mx-auto px-2">
|
||||||
<h1 class="text-4xl font-bold text-center my-8">👋 Welcome to Docuseal</h1>
|
<h1 class="text-4xl font-bold text-center my-8">👋 Welcome to <%= Docuseal.product_name %></h1>
|
||||||
<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put, class: 'space-y-6' }) do |f| %>
|
<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put, class: 'space-y-6' }) do |f| %>
|
||||||
<div class="space-y-2">
|
<div class="space-y-2">
|
||||||
<%= render 'devise/shared/error_messages', resource: %>
|
<%= render 'devise/shared/error_messages', resource: %>
|
||||||
|
|||||||
@@ -2,5 +2,5 @@
|
|||||||
---
|
---
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Sent using <a href="<%= Docuseal::PRODUCT_URL %>"><%= Docuseal::PRODUCT_NAME %></a> free document signing.
|
Sent using <a href="<%= Docuseal::PRODUCT_URL %>"><%= Docuseal.product_name %></a> free document signing.
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -9,5 +9,5 @@
|
|||||||
<% else %>
|
<% else %>
|
||||||
Powered by
|
Powered by
|
||||||
<% end %>
|
<% end %>
|
||||||
<a href="<%= Docuseal::PRODUCT_URL %>" class="underline"><%= Docuseal::PRODUCT_NAME %></a> - open source documents software
|
<a href="<%= Docuseal::PRODUCT_URL %>" class="underline"><%= Docuseal.product_name %></a> - open source documents software
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<a href="<%= root_path %>" class="mx-auto text-2xl md:text-3xl font-bold items-center flex space-x-3">
|
<a href="<%= root_path %>" class="mx-auto text-2xl md:text-3xl font-bold items-center flex space-x-3">
|
||||||
<%= render 'shared/logo', class: 'w-9 h-9 md:w-12 md:h-12' %>
|
<%= render 'shared/logo', class: 'w-9 h-9 md:w-12 md:h-12' %>
|
||||||
<span><%= Docuseal::PRODUCT_NAME %></span>
|
<span><%= Docuseal.product_name %></span>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<p>Hello <%= @user.first_name %>,</p>
|
<p>Hello <%= @user.first_name %>,</p>
|
||||||
<p>You have been invited to <%= @user.account.name %> DocuSeal. Please sign up using the link below:</p>
|
<p>You have been invited to <%= @user.account.name %> <%= Docuseal.product_name %>. Please sign up using the link below:</p>
|
||||||
<p><%= link_to 'Sign up', invitation_url(reset_password_token: @token) %></p>
|
<p><%= link_to 'Sign up', invitation_url(reset_password_token: @token) %></p>
|
||||||
<p>Please contact us by replying to this email if you didn't request this.</p>
|
<p>Please contact us by replying to this email if you didn't request this.</p>
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
@@ -58,6 +58,10 @@ module Docuseal
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def product_name
|
||||||
|
PRODUCT_NAME
|
||||||
|
end
|
||||||
|
|
||||||
def refresh_default_url_options!
|
def refresh_default_url_options!
|
||||||
@default_url_options = nil
|
@default_url_options = nil
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module GenerateCertificate
|
module GenerateCertificate
|
||||||
NAME = Docuseal::PRODUCT_NAME
|
|
||||||
SIZE = 2**11
|
SIZE = 2**11
|
||||||
|
|
||||||
module_function
|
module_function
|
||||||
|
|
||||||
def call(name = NAME)
|
def call(name = Docuseal.product_name)
|
||||||
root_cert, root_key = generate_root_ca(name)
|
root_cert, root_key = generate_root_ca(name)
|
||||||
|
|
||||||
sub_cert, sub_key = generate_sub_ca(name, root_cert, root_key)
|
sub_cert, sub_key = generate_sub_ca(name, root_cert, root_key)
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ module Submissions
|
|||||||
'Helvetica'
|
'Helvetica'
|
||||||
end
|
end
|
||||||
|
|
||||||
INFO_CREATOR = "#{Docuseal::PRODUCT_NAME} (#{Docuseal::PRODUCT_URL})".freeze
|
INFO_CREATOR = "#{Docuseal.product_name} (#{Docuseal::PRODUCT_URL})".freeze
|
||||||
SIGN_REASON = 'Signed with DocuSeal.co'
|
SIGN_REASON = 'Signed with DocuSeal.co'
|
||||||
VERIFIED_TEXT = if Docuseal.multitenant?
|
VERIFIED_TEXT = if Docuseal.multitenant?
|
||||||
'Verified by DocuSeal'
|
'Verified by DocuSeal'
|
||||||
@@ -62,15 +62,7 @@ module Submissions
|
|||||||
composer.new_page
|
composer.new_page
|
||||||
|
|
||||||
composer.column(columns: 1) do |column|
|
composer.column(columns: 1) do |column|
|
||||||
column.image(PdfIcons.logo_io, width: 40, height: 40, position: :float)
|
add_logo(column)
|
||||||
|
|
||||||
column.formatted_text([{ text: 'DocuSeal',
|
|
||||||
link: Docuseal::PRODUCT_URL }],
|
|
||||||
font_size: 20,
|
|
||||||
font: [FONT_BOLD_NAME, { variant: :bold }],
|
|
||||||
width: 100,
|
|
||||||
padding: [12, 0, 0, 8],
|
|
||||||
position: :float, position_hint: :left)
|
|
||||||
|
|
||||||
column.text('Audit Log',
|
column.text('Audit Log',
|
||||||
font_size: 16,
|
font_size: 16,
|
||||||
@@ -270,6 +262,18 @@ module Submissions
|
|||||||
record: submission
|
record: submission
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def add_logo(column)
|
||||||
|
column.image(PdfIcons.logo_io, width: 40, height: 40, position: :float)
|
||||||
|
|
||||||
|
column.formatted_text([{ text: 'DocuSeal',
|
||||||
|
link: Docuseal::PRODUCT_URL }],
|
||||||
|
font_size: 20,
|
||||||
|
font: [FONT_BOLD_NAME, { variant: :bold }],
|
||||||
|
width: 100,
|
||||||
|
padding: [12, 0, 0, 8],
|
||||||
|
position: :float, position_hint: :left)
|
||||||
|
end
|
||||||
# rubocop:enable Metrics
|
# rubocop:enable Metrics
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ module Submissions
|
|||||||
'Helvetica'
|
'Helvetica'
|
||||||
end
|
end
|
||||||
|
|
||||||
INFO_CREATOR = "#{Docuseal::PRODUCT_NAME} (#{Docuseal::PRODUCT_URL})".freeze
|
INFO_CREATOR = "#{Docuseal.product_name} (#{Docuseal::PRODUCT_URL})".freeze
|
||||||
SIGN_REASON = 'Signed by %<email>s with DocuSeal.co'
|
SIGN_REASON = 'Signed by %<email>s with DocuSeal.co'
|
||||||
|
|
||||||
TEXT_LEFT_MARGIN = 1
|
TEXT_LEFT_MARGIN = 1
|
||||||
@@ -203,9 +203,9 @@ module Submissions
|
|||||||
def save_signed_pdf(pdf:, submitter:, pkcs:, uuid:, name:)
|
def save_signed_pdf(pdf:, submitter:, pkcs:, uuid:, name:)
|
||||||
io = StringIO.new
|
io = StringIO.new
|
||||||
|
|
||||||
pdf.trailer.info[:Creator] = INFO_CREATOR
|
pdf.trailer.info[:Creator] = info_creator
|
||||||
|
|
||||||
pdf.sign(io, reason: format(SIGN_REASON, email: submitter.email),
|
pdf.sign(io, reason: sign_reason(submitter.email),
|
||||||
certificate: pkcs.certificate,
|
certificate: pkcs.certificate,
|
||||||
key: pkcs.key,
|
key: pkcs.key,
|
||||||
certificate_chain: pkcs.ca_certs || [])
|
certificate_chain: pkcs.ca_certs || [])
|
||||||
@@ -269,6 +269,14 @@ module Submissions
|
|||||||
pdf
|
pdf
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def sign_reason(email)
|
||||||
|
format(SIGN_REASON, email:)
|
||||||
|
end
|
||||||
|
|
||||||
|
def info_creator
|
||||||
|
INFO_CREATOR
|
||||||
|
end
|
||||||
|
|
||||||
def h
|
def h
|
||||||
Rails.application.routes.url_helpers
|
Rails.application.routes.url_helpers
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user