scinote-web/app/serializers/step_text_serializer.rb

45 lines
1.1 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
class StepTextSerializer < ActiveModel::Serializer
include Canaid::Helpers::PermissionsHelper
include Rails.application.routes.url_helpers
2022-05-10 19:28:09 +08:00
include ApplicationHelper
include ActionView::Helpers::TextHelper
2022-07-13 21:15:01 +08:00
attributes :id, :text, :urls, :text_view, :updated_at, :icon, :name, :placeholder
2022-05-10 19:28:09 +08:00
def updated_at
object.updated_at.to_i
end
2022-07-13 21:15:01 +08:00
def placeholder
I18n.t('protocols.steps.text.placeholder')
end
2022-05-10 19:28:09 +08:00
def text_view
@user = scope[:user]
custom_auto_link(object.tinymce_render('text'),
simple_format: false,
tags: %w(img),
team: object.step.protocol.team)
end
def text
sanitize_input(object.tinymce_render('text'))
end
def icon
'fa-font'
end
def urls
return {} if object.destroyed? || !can_manage_step?(scope[:user] || @instance_options[:user], object.step)
{
duplicate_url: duplicate_step_text_path(object.step, object),
2022-05-10 19:28:09 +08:00
delete_url: step_text_path(object.step, object),
update_url: step_text_path(object.step, object)
}
end
end