Sha256: 0f22eeeef8d40e45f39e44b095bf5002a9f5b5356016dbbb794e8cca4f93c90b

Contents?: true

Size: 1.87 KB

Versions: 26

Compression:

Stored size: 1.87 KB

Contents

format :html do
  view :core do |_args|
    rows = trashed_cards.map { |tc| trash_table_row(tc) }
    output [
      restored,
      (empty_trash_link if rows.present?),
      table(rows, header: ["card", "deleted", "by", ""])
    ]
  end

  def trashed_cards
    Card.where(trash: true).order(updated_at: :desc)
  end

  def trash_table_row card
    [
      card.name,
      "#{time_ago_in_words(card.updated_at)} ago",
      Card[card.updater_id].name,
      "#{history_link(card)} | #{restore_link(card)}"
    ]
  end

  def restored
    return unless (res_id = Env.params[:restore]) &&
                  (res_card = Card[res_id.to_i])
    alert :success, true do
      wrap_with(:h5, "restored") + subformat(res_card).render_closed
    end
  end

  def empty_trash_link
    wrap_with(
      :p,
      button_link("empty trash",
                  btn_type: :default,
                  path: { mark: :admin, action: :update, task: :empty_trash,
                          success: { id: "~#{card.id}" } },
                  "data-confirm" => "Are you sure you want to delete "\
                                    "all cards in the trash?")
    )
  end

  def history_link trashed_card
    link_to_card trashed_card, "history",
                 path: { view: :history, look_in_trash: true }
  end

  def restore_link trashed_card
    before_delete = trashed_card.actions[-2]
    link_to "restore", method: :post,
                       rel: "nofollow",
                       remote: true,
                       class: "slotter",
                       path: { id: trashed_card.id,
                               view: :open,
                               look_in_trash: true,
                               action: :update,
                               restore: trashed_card.id,
                               action_ids: [before_delete],
                               success: { id: "~#{card.id}" } }
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
card-1.94.1 mod/admin/set/self/trash.rb
card-1.94.0 mod/admin/set/self/trash.rb
card-1.93.13 mod/admin/set/self/trash.rb
card-1.93.12 mod/admin/set/self/trash.rb
card-1.93.11 mod/admin/set/self/trash.rb
card-1.93.10 mod/admin/set/self/trash.rb
card-1.93.9 mod/admin/set/self/trash.rb
card-1.93.8 mod/admin/set/self/trash.rb
card-1.93.7 mod/admin/set/self/trash.rb
card-1.93.6 mod/admin/set/self/trash.rb
card-1.93.5 mod/admin/set/self/trash.rb
card-1.93.4 mod/admin/set/self/trash.rb
card-1.93.3 mod/admin/set/self/trash.rb
card-1.93.2 mod/admin/set/self/trash.rb
card-1.93.1 mod/admin/set/self/trash.rb
card-1.93.0 mod/admin/set/self/trash.rb
card-1.92.2 mod/admin/set/self/trash.rb
card-1.92.1 mod/admin/set/self/trash.rb
card-1.92 mod/admin/set/self/trash.rb
card-1.91 mod/admin/set/self/trash.rb