Show enabled features for admins in manager

This commit is contained in:
Paul Chavard 2018-04-25 15:09:24 +02:00
parent 5fd1c28007
commit 482b306920
6 changed files with 31 additions and 7 deletions

View file

@ -97,7 +97,7 @@ gem 'scenic'
gem 'sanitize-url'
gem 'flipflop'
gem 'flipflop', github: 'voormedia/flipflop'
# Cron jobs
gem 'delayed_job_active_record'

View file

@ -1,3 +1,10 @@
GIT
remote: git://github.com/voormedia/flipflop.git
revision: a6e639c6c631cdb5e74cb84a1a2a314ca3420579
specs:
flipflop (2.3.1)
activesupport (>= 4.0)
GIT
remote: https://github.com/breckenedge/delayed_job_web.git
revision: 6bcb10e61ea2b9a44ffa16be8536dff46ad51449
@ -203,8 +210,6 @@ GEM
ffi (1.9.23)
fission (0.5.0)
CFPropertyList (~> 2.2)
flipflop (2.3.1)
activesupport (>= 4.0)
fog (1.42.0)
fog-aliyun (>= 0.1.0)
fog-atmos
@ -805,7 +810,7 @@ DEPENDENCIES
dotenv-rails
draper
factory_bot
flipflop
flipflop!
fog
fog-openstack
font-awesome-rails

View file

@ -15,6 +15,7 @@ class AdministrateurDashboard < Administrate::BaseDashboard
procedures: Field::HasMany.with_options(limit: 20),
registration_state: Field::String.with_options(searchable: false),
current_sign_in_at: Field::DateTime,
features: FeaturesField
}.freeze
# COLLECTION_ATTRIBUTES
@ -38,6 +39,7 @@ class AdministrateurDashboard < Administrate::BaseDashboard
:updated_at,
:registration_state,
:current_sign_in_at,
:features,
:procedures,
].freeze

View file

@ -0,0 +1,4 @@
require "administrate/field/base"
class FeaturesField < Administrate::Field::Base
end

View file

@ -0,0 +1,7 @@
%table
- Flipflop.feature_set.features.each do |feature|
- if !feature.group || feature.group.key != :production
%tr
%td= feature.title
%td
= check_box_tag "Enabled", "enabled", field.data[feature.name], disabled: true

View file

@ -1,14 +1,20 @@
Flipflop.configure do
strategy :cookie
strategy :cookie,
secure: Rails.env.production?,
httponly: true
strategy :active_record
strategy :user_preference
strategy :default
group :champs do
feature :champ_pj
feature :champ_siret
feature :champ_pj,
title: "Champ pièce justificative"
feature :champ_siret,
title: "Champ SIRET"
end
feature :web_hook
group :production do
feature :remote_storage,
default: Rails.env.production? || Rails.env.staging?