Module: LeanCms::ActivityHelper
- Defined in:
- app/helpers/lean_cms/activity_helper.rb
Instance Method Summary collapse
- #activity_action_badge_class(event) ⇒ Object
- #activity_item_label(version) ⇒ Object
- #activity_new_value(version) ⇒ Object
- #activity_old_value(version) ⇒ Object
- #activity_who(version) ⇒ Object
Instance Method Details
#activity_action_badge_class(event) ⇒ Object
40 41 42 43 44 45 46 47 |
# File 'app/helpers/lean_cms/activity_helper.rb', line 40 def activity_action_badge_class(event) case event.to_s when "create" then "bg-green-100 text-green-800" when "update" then "bg-blue-100 text-blue-800" when "destroy" then "bg-red-100 text-red-800" else "bg-gray-100 text-gray-800" end end |
#activity_item_label(version) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/helpers/lean_cms/activity_helper.rb', line 3 def activity_item_label(version) case version.item_type when "LeanCms::Setting" setting = parsed_setting_object(version) "Setting: #{setting&.dig('key') || version.item_id}" when "LeanCms::PageContent" pc = version.item_type.constantize.unscoped.find_by(id: version.item_id) if pc page_slug = pc.page&.full_path || pc.page&.slug || pc.read_attribute(:page).to_s "Page Content: #{page_slug}/#{pc.section}/#{pc.key}" else "Page Content ##{version.item_id}" end when "LeanCms::Post" post = version.item_type.constantize.unscoped.find_by(id: version.item_id) post ? "Post: #{post.title}" : "Post ##{version.item_id}" when "User" user = User.unscoped.find_by(id: version.item_id) user ? "User: #{user.email_address}" : "User ##{version.item_id}" when "LeanCms::FormSubmission" fs = version.item_type.constantize.unscoped.find_by(id: version.item_id) fs ? "Form Submission ##{version.item_id}" : "Form Submission ##{version.item_id}" else "#{version.item_type} ##{version.item_id}" end rescue "#{version.item_type} ##{version.item_id}" end |
#activity_new_value(version) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'app/helpers/lean_cms/activity_helper.rb', line 59 def activity_new_value(version) return "—" if version.event == "destroy" obj = parsed_version_object(version) return "—" if obj.blank? && version.event != "create" case version.item_type when "LeanCms::Setting" if version.event == "create" obj["value"].to_s.truncate(80) else item = version.item_type.constantize.unscoped.find_by(id: version.item_id) item&.value&.to_s&.truncate(80) || "—" end else if version.event == "create" format_attributes_for_display(obj, version.item_type) else item = version.item_type.constantize.unscoped.find_by(id: version.item_id) item ? truncate_item_summary(item) : "—" end end rescue "—" end |
#activity_old_value(version) ⇒ Object
49 50 51 52 53 54 55 56 57 |
# File 'app/helpers/lean_cms/activity_helper.rb', line 49 def activity_old_value(version) return "—" if version.event == "create" obj = parsed_version_object(version) return "—" if obj.blank? format_attributes_for_display(obj, version.item_type) rescue "—" end |
#activity_who(version) ⇒ Object
32 33 34 35 36 37 38 |
# File 'app/helpers/lean_cms/activity_helper.rb', line 32 def activity_who(version) return "System" if version.whodunnit.blank? user = User.unscoped.find_by(id: version.whodunnit) user ? user.email_address : "User ##{version.whodunnit}" rescue "User ##{version.whodunnit}" end |