feat: add "retained" column to tag changes table (#246)

* feat: add "retained" column to tag changes table

* Update lib/philomena_web/views/tag_change_view.ex

Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>

---------

Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>
This commit is contained in:
mdashlw 2024-05-04 20:00:55 +03:00 committed by GitHub
parent eba094fe47
commit ca9cb3a50e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 0 deletions

View file

@ -19,6 +19,7 @@
th Action
th Timestamp
th User
th Retained?
= if reverts_tag_changes?(@conn) do
th Moderation
@ -62,6 +63,10 @@
' This user is a staff member.
br
' Ask them before reverting their changes.
= if tag_change_retained(tag_change) do
td.success Yes
- else
td.danger No
= if reverts_tag_changes?(@conn) do
td
a href=Routes.image_tag_change_path(@conn, :delete, tag_change.image, tag_change) data-method="delete" data-confirm="Are you really, really sure?"

View file

@ -15,4 +15,14 @@ defmodule PhilomenaWeb.TagChangeView do
def reverts_tag_changes?(conn),
do: can?(conn, :revert, Philomena.TagChanges.TagChange)
def tag_change_retained(%{image: image, added: added, tag: %{id: tag_id}}) do
added == Enum.any?(image.tags, &(&1.id == tag_id))
end
def tag_change_retained(%{image: image, added: added, tag_name_cache: tag_name}) do
added == Enum.any?(image.tags, &(&1.name == tag_name))
end
def tag_change_retained(_), do: false
end