Permette titolo, testo e link diversi per Android e iOS negli avvisi.

Separa i canali app e mostra il nodo ingest nelle sessioni admin.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-20 16:09:04 +02:00
co-authored by Cursor
parent 43d5003de8
commit a07f231417
24 changed files with 366 additions and 69 deletions
@@ -11,7 +11,8 @@ module Admin
kind: "info",
severity: "info",
status: "draft",
show_on_app: true,
show_on_android: true,
show_on_ios: true,
show_on_web_public: true,
show_on_web_private: true,
dismissible: true
@@ -55,12 +56,18 @@ module Admin
params.require(:app_announcement).permit(
:kind, :severity, :status, :title, :body,
:action_url, :action_label, :dismissible, :starts_at, :ends_at,
:show_on_app, :show_on_web_public, :show_on_web_private
:show_on_android, :show_on_ios, :show_on_web_public, :show_on_web_private,
:android_title, :android_body, :android_action_url, :android_action_label,
:ios_title, :ios_body, :ios_action_url, :ios_action_label
).tap do |permitted|
%i[dismissible show_on_app show_on_web_public show_on_web_private].each do |key|
%i[dismissible show_on_android show_on_ios show_on_web_public show_on_web_private].each do |key|
permitted[key] = ActiveModel::Type::Boolean.new.cast(permitted[key])
end
%i[starts_at ends_at action_url action_label].each do |key|
%i[
starts_at ends_at action_url action_label
android_title android_body android_action_url android_action_label
ios_title ios_body ios_action_url ios_action_label
].each do |key|
permitted[key] = nil if permitted[key].blank?
end
end