You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
docuseal/lib/template_folders.rb

26 lines
824 B

# frozen_string_literal: true
module TemplateFolders
module_function
def search(folders, keyword)
return folders if keyword.blank?
folders.where(TemplateFolder.arel_table[:name].lower.matches("%#{keyword.downcase}%"))
end
def find_or_create_by_name(author, name, partnership: nil)
return default_folder(author, partnership) if name.blank? || name == TemplateFolder::DEFAULT_NAME
if partnership.present?
partnership.template_folders.create_with(author:, partnership:).find_or_create_by(name:)
else
author.account.template_folders.create_with(author:, account: author.account).find_or_create_by(name:)
end
end
def default_folder(author, partnership)
partnership.present? ? partnership.default_template_folder(author) : author.account.default_template_folder
end
end