generate unique uuids for cloned templates

This commit is contained in:
Alex Turchyn
2023-12-18 13:38:01 +02:00
committed by Pete Matsyburka
parent 8898dcc054
commit baaf1f510f
6 changed files with 176 additions and 28 deletions
@@ -7,23 +7,18 @@ module Api
def create
authorize!(:manage, @template)
template = current_account.templates.new(source: :api)
cloned_template = Templates::Clone.call(@template,
author: current_user,
name: params[:name],
application_key: params[:application_key],
folder_name: params[:folder_name])
template.application_key = params[:application_key]
template.name = params[:name] || "#{@template.name} (Clone)"
template.account = @template.account
template.author = current_user
template.assign_attributes(@template.slice(:folder_id, :fields, :schema, :submitters))
cloned_template.source = :api
cloned_template.save!
if params[:folder_name].present?
template.folder = TemplateFolders.find_or_create_by_name(current_user, params[:folder_name])
end
Templates::CloneAttachments.call(template: cloned_template, original_template: @template)
template.save!
Templates::CloneAttachments.call(template:, original_template: @template)
render json: template.as_json(serialize_params)
render json: cloned_template.as_json(serialize_params)
end
private