diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/gs_parameters_controller.rb | 7 | ||||
-rw-r--r-- | app/models/gs_parameter.rb | 7 | ||||
-rw-r--r-- | app/views/gs_parameters/_form_core.html.haml | 7 | ||||
-rw-r--r-- | app/views/gs_parameters/edit.html.haml | 12 |
4 files changed, 24 insertions, 9 deletions
diff --git a/app/controllers/gs_parameters_controller.rb b/app/controllers/gs_parameters_controller.rb index 8f693aa..a35e373 100644 --- a/app/controllers/gs_parameters_controller.rb +++ b/app/controllers/gs_parameters_controller.rb @@ -18,10 +18,15 @@ class GsParametersController < ApplicationController def update @gs_parameter = GsParameter.find(params[:id]) - if @gs_parameter.update_attributes(params[:gs_parameter]) + if @gs_parameter.update_attributes(gs_parameter_params) redirect_to @gs_parameter, :notice => t('gs_parameters.controller.successfuly_updated') else render :edit end end + + private + def gs_parameter_params + params.require(:gs_parameter).permit(:value, :class_type, :description) + end end diff --git a/app/models/gs_parameter.rb b/app/models/gs_parameter.rb index 520d07f..fe2a845 100644 --- a/app/models/gs_parameter.rb +++ b/app/models/gs_parameter.rb @@ -1,5 +1,6 @@ class GsParameter < ActiveRecord::Base - attr_accessible :entity, :name, :section, :value, :class_type, :description + # https://github.com/rails/strong_parameters + include ActiveModel::ForbiddenAttributesProtection validates :name, :presence => true, @@ -7,12 +8,12 @@ class GsParameter < ActiveRecord::Base validates :class_type, :presence => true, - :inclusion => { :in => ['String', 'Integer', 'Boolean', 'YAML'] } + :inclusion => { :in => ['String', 'Integer', 'Boolean', 'YAML', 'Nil'] } def self.get(wanted_variable) if GsParameter.table_exists? item = GsParameter.where(:name => wanted_variable).first - if item.nil? + if item.nil? || item.class_type == 'Nil' return nil else return item.value.to_i if item.class_type == 'Integer' diff --git a/app/views/gs_parameters/_form_core.html.haml b/app/views/gs_parameters/_form_core.html.haml index c5f435d..70b3773 100644 --- a/app/views/gs_parameters/_form_core.html.haml +++ b/app/views/gs_parameters/_form_core.html.haml @@ -1,7 +1,4 @@ .inputs - = f.input :entity, :label => t('gs_parameters.form.entity.label'), :hint => conditional_hint('gs_parameters.form.entity.hint') - = f.input :section, :label => t('gs_parameters.form.section.label'), :hint => conditional_hint('gs_parameters.form.section.hint') - = f.input :name, :label => t('gs_parameters.form.name.label'), :hint => conditional_hint('gs_parameters.form.name.hint') - = f.input :value, :label => t('gs_parameters.form.value.label'), :hint => conditional_hint('gs_parameters.form.value.hint') - = f.input :class_type, :label => t('gs_parameters.form.class_type.label'), :hint => conditional_hint('gs_parameters.form.class_type.hint') + = f.input :value, :label => t('gs_parameters.form.value.label'), :hint => conditional_hint('gs_parameters.form.value.hint'), :autofocus => true + = f.input :class_type, :collection => ['String', 'Integer', 'Boolean', 'YAML', 'Nil'], :label => t('gs_parameters.form.class_type.label'), :hint => conditional_hint('gs_parameters.form.class_type.hint'), :include_blank => false = f.input :description, :label => t('gs_parameters.form.description.label'), :hint => conditional_hint('gs_parameters.form.description.hint') diff --git a/app/views/gs_parameters/edit.html.haml b/app/views/gs_parameters/edit.html.haml index 7c24234..c00c7df 100644 --- a/app/views/gs_parameters/edit.html.haml +++ b/app/views/gs_parameters/edit.html.haml @@ -1,3 +1,15 @@ - title t("gs_parameters.edit.page_title") +%p + %strong= t('gs_parameters.show.name') + ":" + = @gs_parameter.name +- if !@gs_parameter.entity.blank? + %p + %strong= t('gs_parameters.show.entity') + ":" + = @gs_parameter.entity +- if !@gs_parameter.section.blank? + %p + %strong= t('gs_parameters.show.section') + ":" + = @gs_parameter.section + = render "form"
\ No newline at end of file |