mirror of
https://0xacab.org/sutty/sutty
synced 2025-03-15 21:28:16 +00:00
Merge branch 'issue-15109-1' of https://0xacab.org/sutty/sutty into production.panel.sutty.nl
This commit is contained in:
commit
3e1d761d6e
7 changed files with 119 additions and 4 deletions
app
controllers
activity_pubs_controller.rbactor_moderations_controller.rbfediblock_states_controller.rbposts_controller.rb
jobs/activity_pub
config/locales
|
@ -11,6 +11,12 @@ class ActivityPubsController < ApplicationController
|
|||
activity_pub.update(remote_flag_params(activity_pub)) if event == :report
|
||||
activity_pub.public_send(:"#{event}!") if activity_pub.public_send(:"may_#{event}?")
|
||||
|
||||
flash[:success] = I18n.t("activity_pubs.#{event}.success")
|
||||
rescue Exception => e
|
||||
ExceptionNotifier.notify_exception(e, data: { site: site.name, params: params.permit!.to_h })
|
||||
|
||||
flash[:error] = I18n.t("activity_pubs.#{event}.error")
|
||||
ensure
|
||||
redirect_to_moderation_queue!
|
||||
end
|
||||
end
|
||||
|
@ -49,6 +55,15 @@ class ActivityPubsController < ApplicationController
|
|||
next unless activity_pub.public_send(may)
|
||||
|
||||
activity_pub.public_send(method)
|
||||
|
||||
flash[:success] = I18n.t('activity_pubs.action_on_several.success')
|
||||
rescue Exception => e
|
||||
ExceptionNotifier.notify_exception(e,
|
||||
data: { site: site.name, params: params.permit!.to_h,
|
||||
activity_pub: activity_pub.id })
|
||||
|
||||
flash.delete(:success)
|
||||
flash[:error] = I18n.t('activity_pubs.action_on_several.error')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -14,6 +14,12 @@ class ActorModerationsController < ApplicationController
|
|||
|
||||
actor_moderation.public_send(:"#{actor_event}!") if actor_moderation.public_send(:"may_#{actor_event}?")
|
||||
|
||||
flash[:success] = I18n.t("actor_moderations.#{actor_event}.success")
|
||||
rescue Exception => e
|
||||
ExceptionNotifier.notify_exception(e, data: { site: site.name, params: params.permit!.to_h })
|
||||
|
||||
flash[:error] = I18n.t("actor_moderations.#{actor_event}.error")
|
||||
ensure
|
||||
redirect_to_moderation_queue!
|
||||
end
|
||||
end
|
||||
|
@ -21,7 +27,8 @@ class ActorModerationsController < ApplicationController
|
|||
# Ver el perfil remoto
|
||||
def show
|
||||
@remote_profile = actor_moderation.actor.content
|
||||
@moderation_queue = rubanok_process(site.activity_pubs.where(actor_id: actor_moderation.actor_id), with: ActivityPubProcessor)
|
||||
@moderation_queue = rubanok_process(site.activity_pubs.where(actor_id: actor_moderation.actor_id),
|
||||
with: ActivityPubProcessor)
|
||||
end
|
||||
|
||||
def action_on_several
|
||||
|
@ -44,6 +51,13 @@ class ActorModerationsController < ApplicationController
|
|||
actor_moderation.update(actor_moderation_params(actor_moderation)) if action == :report
|
||||
|
||||
actor_moderation.public_send(method)
|
||||
|
||||
flash[:success] = I18n.t('actor_moderations.action_on_several.success')
|
||||
rescue Exception => e
|
||||
ExceptionNotifier.notify_exception(e, data: { site: site.name, params: params.permit!.to_h })
|
||||
|
||||
flash.delete(:success)
|
||||
flash[:error] = I18n.t('actor_moderations.action_on_several.error')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -11,11 +11,22 @@ class FediblockStatesController < ApplicationController
|
|||
elsif fediblock_state.may_disable?
|
||||
fediblock_state.disable!
|
||||
end
|
||||
|
||||
flash[:success] = I18n.t('fediblock_states.action_on_several.success')
|
||||
rescue Exception => e
|
||||
ExceptionNotifier.notify_exception(e, data: { site: site.name })
|
||||
|
||||
flash.delete(:success)
|
||||
flash[:error] = I18n.t('fediblock_states.action_on_several.error')
|
||||
end
|
||||
|
||||
# Bloquear otras instancias
|
||||
if custom_blocklist.present?
|
||||
ActivityPub::InstanceModerationJob.perform_later(site: site, hostnames: custom_blocklist)
|
||||
if ActivityPub::InstanceModerationJob.perform_now(site: site, hostnames: custom_blocklist)
|
||||
flash[:success] = I18n.t('fediblock_states.action_on_several.custom_blocklist_success')
|
||||
else
|
||||
flash[:error] = I18n.t('fediblock_states.action_on_several.custom_blocklist_error')
|
||||
end
|
||||
end
|
||||
|
||||
redirect_to site_moderation_queue_path
|
||||
|
|
|
@ -38,7 +38,6 @@ class PostsController < ApplicationController
|
|||
@usuarie = site.usuarie? current_usuarie
|
||||
|
||||
@site_stat = SiteStat.new(site)
|
||||
dummy_data
|
||||
end
|
||||
|
||||
def show
|
||||
|
@ -82,7 +81,6 @@ class PostsController < ApplicationController
|
|||
authorize post
|
||||
breadcrumb post.title.value, site_post_path(site, post, locale: locale), match: :exact
|
||||
breadcrumb 'posts.edit', ''
|
||||
dummy_data
|
||||
end
|
||||
|
||||
def update
|
||||
|
|
|
@ -14,6 +14,7 @@ class ActivityPub
|
|||
end
|
||||
|
||||
instances = ActivityPub::Instance.where(hostname: hostnames)
|
||||
success = true
|
||||
|
||||
Site.transaction do
|
||||
# Crea todas las moderaciones de instancia con un estado por
|
||||
|
@ -23,9 +24,15 @@ class ActivityPub
|
|||
# idealmente son pocas instancias las que aparecen.
|
||||
site.instance_moderations.find_or_create_by(instance: instance).tap do |instance_moderation|
|
||||
instance_moderation.block! if instance_moderation.may_block?
|
||||
# Notificar todos los errores sin detener la ejecución
|
||||
rescue Exception => e
|
||||
ExceptionNotifier.notify_exception(e, data: { site: site.name, instance_moderation: instance_moderation.id })
|
||||
success = false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
success
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -117,6 +117,41 @@ en:
|
|||
text_report: Report
|
||||
remote_flags:
|
||||
report_message: "Hi! Someone using Sutty CMS reported this account on your instance. We don't have support for customized report messages yet, but we will soon. You can reach us at %{panel_actor_mention}."
|
||||
activity_pubs:
|
||||
action_on_several:
|
||||
success: "Several comments have changed moderation state. You can find them using the filters on the Comments section."
|
||||
error: "There was an error while changing moderation state. We received a report and will be acting on it soon."
|
||||
approve:
|
||||
success: "Comment approved."
|
||||
error: "There was an error while approving the comment. We received a report and will be acting on it soon."
|
||||
reject:
|
||||
success: "Comment rejected. You can report it using the Report button."
|
||||
error: "There was an error while rejecting the comment. We received a report and will be acting on it soon."
|
||||
report:
|
||||
success: "Comment reported."
|
||||
error: "There was an error while reporting the comment. We received a report and will be acting on it soon."
|
||||
actor_moderations:
|
||||
action_on_several:
|
||||
success: "Several accounts have changed moderation state. You can find them using the filters on the Accounts section."
|
||||
error: "There was an error while changing moderation state. We received a report and will be acting on it soon."
|
||||
pause:
|
||||
success: "Account paused. All of their comments will need to be moderated individually on the Comments section."
|
||||
error: "There was an error while pausing the account. We received a report and will be acting on it soon."
|
||||
allow:
|
||||
success: "Account allowed. All of their comments will be approved automatically."
|
||||
error: "There was an error while allowing the account. We received a report and will be acting on it soon."
|
||||
block:
|
||||
success: "Account blocked. All of their comments will be rejected automatically. If you want to report it to their instance, please use the Report button."
|
||||
error: "There was an error while blocking the account. We received a report and will be acting on it soon."
|
||||
report:
|
||||
success: "Account reported."
|
||||
error: "There was an error while reporting the account. We received a report and will be acting on it soon."
|
||||
fediblock_states:
|
||||
action_on_several:
|
||||
success: "Blocklists have been enabled, you can find their instances by filtering by Blocked. Any pending account from these instances has also been blocked. You can approve them individually on the Accounts section."
|
||||
error: "There was an error while enabling or disabling blocklists. We received a report and will be acting on it soon."
|
||||
custom_blocklist_success: "Custom blocklist has been added, you can find the instances by filtering by Blocked. Any pending account from these instances has also been blocked. You can approve them individually on the Accounts section."
|
||||
custom_blocklist_error: "There was an error while adding a custom blocklist. We received a report and will be acting on it soon."
|
||||
moderation_queue:
|
||||
everything: 'Select all'
|
||||
nothing: "There's nothing for this filter"
|
||||
|
|
|
@ -116,6 +116,41 @@ es:
|
|||
text_report: Reportar
|
||||
remote_flags:
|
||||
report_message: "¡Hola! Une usuarie de Sutty CMS reportó esta cuenta en tu instancia. Todavía no tenemos soporte para mensajes personalizados. Podés contactarnos en %{panel_actor_mention}."
|
||||
activity_pubs:
|
||||
action_on_several:
|
||||
success: "Se ha modificado el estado de moderación de varios comentarios. Podés encontrarlos usando los filtros en la sección Comentarios."
|
||||
error: "Hubo un error al modificar el estado de moderación de varios comentarios. Hemos recibido el reporte y lo estaremos verificando."
|
||||
approve:
|
||||
success: "Comentario aprobado."
|
||||
error: "No se puedo aprobar el comentario. Hemos recibido el reporte y lo estaremos verificando."
|
||||
reject:
|
||||
success: "Comentario rechazado. Podés reportarlo usando el botón Reportar."
|
||||
error: "No se puedo rechazar el comentario. Hemos recibido el reporte y lo estaremos verificando."
|
||||
report:
|
||||
success: "Comentario reportado."
|
||||
error: "No se puedo reportar el comentario. Hemos recibido el reporte y lo estaremos verificando."
|
||||
actor_moderations:
|
||||
action_on_several:
|
||||
success: "Se ha modificado el estado de moderación de varias cuentas. Podés encontrarlas usando los filtros en la sección Cuentas."
|
||||
error: "Hubo un error al modificar el estado de moderación de varias cuentas. Hemos recibido el reporte y lo estaremos verificando."
|
||||
pause:
|
||||
success: "Cuenta pausada. Todos los comentarios que haga necesitan ser aprobados manualmente en la sección Comentarios."
|
||||
error: "No se pudo pausar la cuenta. Hemos recibido el reporte y lo estaremos verificando."
|
||||
allow:
|
||||
success: "Cuenta permitida. Todos los comentarios que haga serán aprobados inmediatamente."
|
||||
error: "No se pudo permitir la cuenta. Hemos recibido el reporte y lo estaremos verificando."
|
||||
block:
|
||||
success: "Cuenta bloqueada. Todos los comentarios que haga serán rechazados inmediatamente. Si querés reportarla a su instancia, podés usar el botón Reportar."
|
||||
error: "No se pudo bloquear la cuenta. Hemos recibido el reporte y lo estaremos verificando."
|
||||
report:
|
||||
success: "Cuenta reportada a su instancia."
|
||||
error: "No se pudo reportar la cuenta. Hemos recibido el reporte y lo estaremos verificando."
|
||||
fediblock_states:
|
||||
action_on_several:
|
||||
success: "Se habilitaron las listas de bloqueo, podés encontrar las instancias filtrando por Bloqueadas. Todas las cuentas de estas instancias pendientes de moderación han sido bloqueadas. Podés activarlas individualmente en la sección Cuentas."
|
||||
error: "Hubo un error al activar o desactivar listas de bloqueo, ya recibimos el reporte y lo estaremos verificando."
|
||||
custom_blocklist_success: "Se agregaron las instancias personalizadas a la lista de bloqueo, podés encontrarlas filtrando por Bloqueadas. Todas las cuentas de estas instancias pendientes de moderación han sido bloqueadas. Podés aprobarlas individualmente en la sección Cuentas."
|
||||
custom_blocklist_error: "Hubo un error al agregar instancias personalizadas a la lista de bloqueo, ya recibimos el reporte y lo estaremos verificando."
|
||||
moderation_queue:
|
||||
everything: 'Seleccionar todo'
|
||||
nothing: 'No hay nada para este filtro'
|
||||
|
|
Loading…
Reference in a new issue