mirror of
https://github.com/philomena-dev/philomena.git
synced 2024-11-27 13:47:58 +01:00
UI to revert tag changes one-by-one (#202)
This commit is contained in:
parent
217621a9e1
commit
9b766733a5
4 changed files with 9 additions and 5 deletions
|
@ -24,7 +24,10 @@ defmodule Philomena.TagChangeRevertWorker do
|
||||||
end
|
end
|
||||||
|
|
||||||
defp revert_all(queryable, attributes) do
|
defp revert_all(queryable, attributes) do
|
||||||
Batch.query_batches(queryable, [batch_size: 100], fn queryable ->
|
batch_size = attributes["batch_size"] || 100
|
||||||
|
attributes = Map.delete(attributes, "batch_size")
|
||||||
|
|
||||||
|
Batch.query_batches(queryable, [batch_size: batch_size], fn queryable ->
|
||||||
ids = Repo.all(select(queryable, [tc], tc.id))
|
ids = Repo.all(select(queryable, [tc], tc.id))
|
||||||
TagChanges.mass_revert(ids, cast_ip(atomify_keys(attributes)))
|
TagChanges.mass_revert(ids, cast_ip(atomify_keys(attributes)))
|
||||||
end)
|
end)
|
||||||
|
|
|
@ -7,15 +7,14 @@ defmodule PhilomenaWeb.TagChange.FullRevertController do
|
||||||
plug :verify_authorized
|
plug :verify_authorized
|
||||||
plug PhilomenaWeb.UserAttributionPlug
|
plug PhilomenaWeb.UserAttributionPlug
|
||||||
|
|
||||||
def create(conn, params) do
|
def create(%{assigns: %{attributes: attributes}} = conn, params) do
|
||||||
attributes = conn.assigns.attributes
|
|
||||||
|
|
||||||
attributes = %{
|
attributes = %{
|
||||||
ip: to_string(attributes[:ip]),
|
ip: to_string(attributes[:ip]),
|
||||||
fingerprint: attributes[:fingerprint],
|
fingerprint: attributes[:fingerprint],
|
||||||
referrer: attributes[:referrer],
|
referrer: attributes[:referrer],
|
||||||
user_agent: attributes[:referrer],
|
user_agent: attributes[:referrer],
|
||||||
user_id: attributes[:user].id
|
user_id: attributes[:user].id,
|
||||||
|
batch_size: attributes[:batch_size] || 100
|
||||||
}
|
}
|
||||||
|
|
||||||
case params do
|
case params do
|
||||||
|
|
|
@ -20,6 +20,7 @@ ul
|
||||||
h2 Actions
|
h2 Actions
|
||||||
ul
|
ul
|
||||||
li = link "Revert all tag changes", to: Routes.tag_change_full_revert_path(@conn, :create, [fingerprint: @fingerprint]), data: [confirm: "Are you really, really sure?", method: "create"]
|
li = link "Revert all tag changes", to: Routes.tag_change_full_revert_path(@conn, :create, [fingerprint: @fingerprint]), data: [confirm: "Are you really, really sure?", method: "create"]
|
||||||
|
li = link "...the button above didn't work (use carefully, this is resource-intensive)", to: Routes.tag_change_full_revert_path(@conn, :create, [fingerprint: @fingerprint, batch_size: 1]), data: [confirm: "Please confirm that you're aware that this may crash the site and are ready to take on the full wrath of the admins if it does so after you press this button.", method: "create"]
|
||||||
|
|
||||||
h4 Observed users
|
h4 Observed users
|
||||||
table.table
|
table.table
|
||||||
|
|
|
@ -20,6 +20,7 @@ ul
|
||||||
h2 Actions
|
h2 Actions
|
||||||
ul
|
ul
|
||||||
li = link "Revert all tag changes", to: Routes.tag_change_full_revert_path(@conn, :create, [ip: to_string(@ip)]), data: [confirm: "Are you really, really sure?", method: "create"]
|
li = link "Revert all tag changes", to: Routes.tag_change_full_revert_path(@conn, :create, [ip: to_string(@ip)]), data: [confirm: "Are you really, really sure?", method: "create"]
|
||||||
|
li = link "...the button above didn't work (use carefully, this is resource-intensive)", to: Routes.tag_change_full_revert_path(@conn, :create, [ip: to_string(@ip), batch_size: 1]), data: [confirm: "Please confirm that you're aware that this may crash the site and are ready to take on the full wrath of the admins if it does so after you press this button.", method: "create"]
|
||||||
|
|
||||||
h4 Observed users
|
h4 Observed users
|
||||||
table.table
|
table.table
|
||||||
|
|
Loading…
Reference in a new issue