diff --git a/app/components/follow_button_component.rb b/app/components/follow_button_component.rb index f8f26c314..3dbf5cdcf 100644 --- a/app/components/follow_button_component.rb +++ b/app/components/follow_button_component.rb @@ -14,7 +14,7 @@ class FollowButtonComponent < ViewComponent::Base end def render? - Flipper.enabled? :multiuser + SiteSettings.multiuser_enabled? end erb_template <<-ERB diff --git a/app/controllers/users/sessions_controller.rb b/app/controllers/users/sessions_controller.rb index c5a727166..1636d5078 100644 --- a/app/controllers/users/sessions_controller.rb +++ b/app/controllers/users/sessions_controller.rb @@ -36,7 +36,7 @@ class Users::SessionsController < Devise::SessionsController create_admin_user if User.with_role(:administrator).empty? # If in single user mode, or on first run, # automatically log in with an admin account - if !Flipper.enabled?(:multiuser) || User.with_role(:administrator).first.reset_password_token == "first_use" + if !SiteSettings.multiuser_enabled? || User.with_role(:administrator).first.reset_password_token == "first_use" sign_in(:user, User.with_role(:administrator).first) flash.discard redirect_back_or_to root_path, alert: nil diff --git a/app/policies/application_policy.rb b/app/policies/application_policy.rb index 80afb1a2d..02fe753d4 100644 --- a/app/policies/application_policy.rb +++ b/app/policies/application_policy.rb @@ -36,7 +36,7 @@ class ApplicationPolicy all_of( user&.is_editor?, none_of( - Flipper.enabled?(:demo_mode) + SiteSettings.demo_mode_enabled? ) ) end diff --git a/app/policies/federails/following_policy.rb b/app/policies/federails/following_policy.rb index 64cd5e8ee..bb7eb4518 100644 --- a/app/policies/federails/following_policy.rb +++ b/app/policies/federails/following_policy.rb @@ -1,13 +1,13 @@ class Federails::FollowingPolicy < ApplicationPolicy def create? all_of( - Flipper.enabled?(:multiuser) + SiteSettings.multiuser_enabled? ) end def destroy? all_of( - Flipper.enabled?(:multiuser) + SiteSettings.multiuser_enabled? ) end diff --git a/app/policies/library_policy.rb b/app/policies/library_policy.rb index 73965e958..b7f2b1d49 100644 --- a/app/policies/library_policy.rb +++ b/app/policies/library_policy.rb @@ -3,7 +3,7 @@ class LibraryPolicy < ApplicationPolicy all_of( user&.is_administrator?, none_of( - Flipper.enabled?(:demo_mode) + SiteSettings.demo_mode_enabled? ) ) end diff --git a/app/policies/model_policy.rb b/app/policies/model_policy.rb index e51564f8f..ef96b7fc6 100644 --- a/app/policies/model_policy.rb +++ b/app/policies/model_policy.rb @@ -9,7 +9,7 @@ class ModelPolicy < ApplicationPolicy all_of( user&.is_editor?, none_of( - Flipper.enabled?(:demo_mode) + SiteSettings.demo_mode_enabled? ) ) end diff --git a/app/policies/upload_policy.rb b/app/policies/upload_policy.rb index 41d1fa429..6a91d56ca 100644 --- a/app/policies/upload_policy.rb +++ b/app/policies/upload_policy.rb @@ -7,7 +7,7 @@ class UploadPolicy < ApplicationPolicy all_of( user&.is_contributor?, none_of( - Flipper.enabled?(:demo_mode) + SiteSettings.demo_mode_enabled? ) ) end diff --git a/app/policies/user_policy.rb b/app/policies/user_policy.rb index 3a278ce36..b7198b237 100644 --- a/app/policies/user_policy.rb +++ b/app/policies/user_policy.rb @@ -3,7 +3,7 @@ class UserPolicy < ApplicationPolicy all_of( user&.is_administrator?, none_of( - Flipper.enabled?(:demo_mode) + SiteSettings.demo_mode_enabled? ) ) end @@ -19,13 +19,13 @@ class UserPolicy < ApplicationPolicy def create? all_of( - Flipper.enabled?(:multiuser), + SiteSettings.multiuser_enabled?, one_of( - SiteSettings.registration_enabled, + SiteSettings.registration_enabled?, user&.is_administrator? ), none_of( - Flipper.enabled?(:demo_mode) + SiteSettings.demo_mode_enabled? ) ) end @@ -43,9 +43,9 @@ class UserPolicy < ApplicationPolicy user == record, user&.is_administrator? ), - Flipper.enabled?(:multiuser), + SiteSettings.multiuser_enabled?, none_of( - Flipper.enabled?(:demo_mode) + SiteSettings.demo_mode_enabled? ) ) end diff --git a/app/policies/users/passwords_policy.rb b/app/policies/users/passwords_policy.rb index 51cb9b29b..d2b1a4133 100644 --- a/app/policies/users/passwords_policy.rb +++ b/app/policies/users/passwords_policy.rb @@ -2,10 +2,10 @@ class Users::PasswordsPolicy < ApplicationPolicy def create? - Flipper.enabled?(:multiuser) && SiteSettings.email_configured + SiteSettings.multiuser_enabled? && SiteSettings.email_configured? end def update? - Flipper.enabled?(:multiuser) && SiteSettings.email_configured + SiteSettings.multiuser_enabled? && SiteSettings.email_configured? end end diff --git a/app/policies/users/registrations_policy.rb b/app/policies/users/registrations_policy.rb index 7b5f913dc..462556797 100644 --- a/app/policies/users/registrations_policy.rb +++ b/app/policies/users/registrations_policy.rb @@ -2,6 +2,6 @@ class Users::RegistrationsPolicy < ApplicationPolicy def cancel? - Flipper.enabled?(:multiuser) + SiteSettings.multiuser_enabled? end end diff --git a/app/policies/users/sessions_policy.rb b/app/policies/users/sessions_policy.rb index 586de5c8e..94d3f9ead 100644 --- a/app/policies/users/sessions_policy.rb +++ b/app/policies/users/sessions_policy.rb @@ -6,10 +6,10 @@ class Users::SessionsPolicy < ApplicationPolicy end def create? - Flipper.enabled?(:multiuser) + SiteSettings.multiuser_enabled? end def destroy? - Flipper.enabled?(:multiuser) + SiteSettings.multiuser_enabled? end end diff --git a/app/views/activity/index.html.erb b/app/views/activity/index.html.erb index dd8856d38..23e688588 100644 --- a/app/views/activity/index.html.erb +++ b/app/views/activity/index.html.erb @@ -4,7 +4,7 @@
<%= t ".description", retention_period: distance_of_time_in_words(ActiveJob::Status.options[:expires_in]) %>
- <% if !Flipper.enabled?(:demo_mode) %> + <% if !SiteSettings.demo_mode_enabled? %>
<%= link_to safe_join([icon("activity", t(".sidekiq")), t(".sidekiq")], " "), "/sidekiq", diff --git a/app/views/application/_navbar.html.erb b/app/views/application/_navbar.html.erb index a82eb7d99..0b0129f33 100644 --- a/app/views/application/_navbar.html.erb +++ b/app/views/application/_navbar.html.erb @@ -81,7 +81,7 @@ <%= f.search_field :q, class: "form-control ms-1 me-3", placeholder: translate(".search"), aria_label: translate(".search"), aria_describedby: "button-search", value: params[:q] %> <% end %> - <%- if Flipper.enabled? :multiuser %> + <%- if SiteSettings.multiuser_enabled? %> <%- if current_user %>
- <%- if Flipper.enabled? :multiuser %> + <%- if SiteSettings.multiuser_enabled? %>

<%= t ".danger_zone" %>

diff --git a/app/views/home/index.html.erb b/app/views/home/index.html.erb index f9e0a0550..41db7accb 100644 --- a/app/views/home/index.html.erb +++ b/app/views/home/index.html.erb @@ -2,7 +2,7 @@ <%= render "application/content_header" %>

<%= t "application.title" %>

<%= t "application.tagline" %>

- <% if Flipper.enabled? :demo_mode %> + <% if SiteSettings.demo_mode_enabled? %>
<%= t "application.demo_mode" %>
diff --git a/app/views/settings/_multiuser_settings.html.erb b/app/views/settings/_multiuser_settings.html.erb index ba19c10ef..15dc08ae6 100644 --- a/app/views/settings/_multiuser_settings.html.erb +++ b/app/views/settings/_multiuser_settings.html.erb @@ -2,11 +2,11 @@

<%= t(".heading") %>

- <%= Flipper.enabled?(:multiuser) ? t(".multiuser_mode") : t(".single_user_mode") %> + <%= SiteSettings.multiuser_enabled? ? t(".multiuser_mode") : t(".single_user_mode") %>

- <% if Flipper.enabled?(:multiuser) %> + <% if SiteSettings.multiuser_enabled? %>

- <%= SiteSettings.registration_enabled ? t(".registrations_open") : t(".registrations_closed") %> + <%= SiteSettings.registration_enabled? ? t(".registrations_open") : t(".registrations_closed") %>

<% end %>

diff --git a/app/views/settings/show.html.erb b/app/views/settings/show.html.erb index 76674284a..e1ba272c8 100644 --- a/app/views/settings/show.html.erb +++ b/app/views/settings/show.html.erb @@ -39,7 +39,7 @@

- <% if current_user.is_administrator? && !Flipper.enabled?(:demo_mode) %> + <% if current_user.is_administrator? && !SiteSettings.demo_mode_enabled? %>
<%= link_to safe_join([icon("tools", t(".advanced_admin")), t(".advanced_admin")], " "), "/admin", diff --git a/config/initializers/active_admin.rb b/config/initializers/active_admin.rb index ae8c24041..65c6dcdca 100644 --- a/config/initializers/active_admin.rb +++ b/config/initializers/active_admin.rb @@ -140,7 +140,7 @@ ActiveAdmin.setup do |config| # Active Admin resources and pages from here. # config.before_action do - raise Pundit::NotAuthorizedError, I18n.t("active_admin.demo_mode") if Flipper.enabled? :demo_mode + raise Pundit::NotAuthorizedError, I18n.t("active_admin.demo_mode") if SiteSettings.demo_mode_enabled? end # == Attribute Filters diff --git a/config/initializers/federails.rb b/config/initializers/federails.rb index 7e0fb5e7f..07d694e19 100644 --- a/config/initializers/federails.rb +++ b/config/initializers/federails.rb @@ -1,11 +1,5 @@ # frozen_string_literal: true -federation_enabled = begin - Flipper.enabled?(:federation) -rescue ActiveRecord::StatementInvalid - false -end - Federails.configure do |conf| conf.app_name = "Manyfold" conf.app_version = Rails.application.config.app_version @@ -14,7 +8,7 @@ Federails.configure do |conf| conf.site_port = Rails.application.default_url_options[:port] conf.force_ssl = Rails.application.config.force_ssl - conf.enable_discovery = federation_enabled + conf.enable_discovery = Rails.application.config.manyfold_features[:federation] conf.server_routes_path = "federation" conf.client_routes_path = "client" diff --git a/config/routes.rb b/config/routes.rb index e46e8ce02..1e9237e51 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -18,11 +18,7 @@ Rails.application.routes.draw do resources :activity end - begin - mount Federails::Engine => "/" if Flipper.enabled?(:multiuser) - rescue ActiveRecord::StatementInvalid - nil - end + mount Federails::Engine => "/" if Rails.application.config.manyfold_features[:multiuser] resources :users, only: [] do resource :settings, only: [:show, :update] @@ -40,15 +36,13 @@ Rails.application.routes.draw do end concern :followable do |options| - if Flipper.enabled?(:multiuser) + if Rails.application.config.manyfold_features[:multiuser] resources :follows, {only: [:create]}.merge(options) do collection do delete "/", action: "destroy" end end end - rescue ActiveRecord::StatementInvalid - nil end resources :models do diff --git a/spec/components/follow_button_component_spec.rb b/spec/components/follow_button_component_spec.rb index 6dd86afb1..39dbe3c9b 100644 --- a/spec/components/follow_button_component_spec.rb +++ b/spec/components/follow_button_component_spec.rb @@ -4,7 +4,7 @@ require "rails_helper" RSpec.describe FollowButtonComponent, type: :component do before do - allow(Flipper).to receive(:enabled?).with(:multiuser).and_return true + allow(SiteSettings).to receive(:multiuser_enabled?).and_return(true) end let(:follower) { create(:user) } diff --git a/spec/requests/users/registrations_spec.rb b/spec/requests/users/registrations_spec.rb index 9ade67b0b..f584e718b 100644 --- a/spec/requests/users/registrations_spec.rb +++ b/spec/requests/users/registrations_spec.rb @@ -138,7 +138,7 @@ RSpec.describe "Users::Registrations" do context "when in multiuser mode with closed registrations", :multiuser do before do - allow(SiteSettings).to receive(:registration_enabled).and_return(false) + allow(SiteSettings).to receive(:registration_enabled?).and_return(false) end context "when signed out" do @@ -258,7 +258,7 @@ RSpec.describe "Users::Registrations" do context "when in multiuser mode with open registrations", :multiuser do before do - allow(SiteSettings).to receive(:registration_enabled).and_return(true) + allow(SiteSettings).to receive(:registration_enabled?).and_return(true) end context "when signed out" do