Kaynağa Gözat

Made it easier to edit queries with variables

Andrew Kane 9 yıl önce
ebeveyn
işleme
ba0cf1ed08
1 değiştirilmiş dosya ile 7 ekleme ve 1 silme
  1. 7 1
      app/controllers/blazer/queries_controller.rb

+ 7 - 1
app/controllers/blazer/queries_controller.rb

@@ -37,6 +37,7 @@ module Blazer
 
     def show
       @statement = @query.statement.dup
+      session[:params] = params.except(:controller, :action, :id, :host)
       process_vars(@statement)
 
       @smart_vars = {}
@@ -115,7 +116,7 @@ module Blazer
 
     def update
       if @query.update(query_params)
-        redirect_to query_path(@query)
+        redirect_to query_path(@query, session_params.merge(only_path: true))
       else
         render :edit
       end
@@ -179,6 +180,7 @@ module Blazer
 
     def process_vars(statement)
       @bind_vars = extract_vars(statement)
+      params = session_params.merge(self.params)
       @success = @bind_vars.all? { |v| params[v] }
 
       if @success
@@ -193,6 +195,10 @@ module Blazer
       end
     end
 
+    def session_params
+      session[:params] || {}
+    end
+
     def settings
       YAML.load(File.read(Rails.root.join("config", "blazer.yml")))
     end