diff --git a/app/views/invitations/new.html.erb b/app/views/invitations/new.html.erb index a6f359b40..7becb7650 100644 --- a/app/views/invitations/new.html.erb +++ b/app/views/invitations/new.html.erb @@ -10,10 +10,10 @@ <%= form.select :role, options_for_select([ + (Flipper.enabled?(:intro_ui) ? [t(".role_guest"), "guest"] : nil), [t(".role_member"), "member"], - [t(".role_guest", default: "Guest"), "guest"], [t(".role_admin"), "admin"] - ]), + ].compact), {}, { label: t(".role_label") } %> diff --git a/config/initializers/flipper.rb b/config/initializers/flipper.rb index 6ed3abe4a..8c16b2e01 100644 --- a/config/initializers/flipper.rb +++ b/config/initializers/flipper.rb @@ -27,15 +27,23 @@ unless Rails.env.test? auth_source = ENV.fetch("AUTH_PROVIDERS_SOURCE") do Rails.configuration.app_mode.self_hosted? ? "db" : "yaml" end.downcase + default_ui_layout = ENV.fetch("DEFAULT_UI_LAYOUT", "").downcase # Ensure feature exists before enabling/disabling Flipper.add(:db_sso_providers) unless Flipper.exist?(:db_sso_providers) + if default_ui_layout.in?(%w[intro]) + Flipper.add(:intro_ui, tags: [ :intro_ui ]) unless Flipper.exist?(:intro_ui) + end if auth_source == "db" Flipper.enable(:db_sso_providers) else Flipper.disable(:db_sso_providers) end + + if default_ui_layout.in?(%w[intro]) + default_ui_layout == "intro" ? Flipper.enable(:intro_ui) : Flipper.disable(:intro_ui) + end rescue ActiveRecord::NoDatabaseError, ActiveRecord::StatementInvalid # Database not ready yet (e.g., during initial setup or migrations) # This is expected during db:create or initial setup