summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/gs_parameters_controller.rb7
-rw-r--r--app/models/gs_parameter.rb7
-rw-r--r--app/views/gs_parameters/_form_core.html.haml7
-rw-r--r--app/views/gs_parameters/edit.html.haml12
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