Class: VisualConditionBuilder::WidgetsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/visual_condition_builder/widgets_controller.rb

Instance Method Summary collapse

Instance Method Details

#indexObject



21
22
# File 'app/controllers/visual_condition_builder/widgets_controller.rb', line 21

def index
end

#loadObject



6
7
8
9
10
11
12
13
# File 'app/controllers/visual_condition_builder/widgets_controller.rb', line 6

def load
  widget = VisualConditionBuilder::Widget.new(params[:widget_name], self.request)
  content = widget.html(params[:widget_action])
rescue Exception => e
  content = e.message
ensure
  render html: content, layout: false
end

#saveObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'app/controllers/visual_condition_builder/widgets_controller.rb', line 24

def save
  user_id = params[:user_id] || current_user.id
  widgets = params[:widgets]
  widget_name_user = []
  action_user = []
  if widgets.present?
    widgets.each do |widget|
      widget_name, action = widget.split('|')
      if widget_name && action
        widget_name_user << widget_name
        action_user << action
        VisualConditionBuilder::User.find_or_create_by(widget: widget_name, action: action, user_id: user_id)
      end
    end
  end
  VisualConditionBuilder::User.where(user_id: user_id).where.not(widget: widget_name_user, action: action_user).destroy_all
  flash[:success] = 'Alterações foram salvas com sucesso!'
  redirect_to visual_condition_builder_path
end

#userObject



15
16
17
18
19
# File 'app/controllers/visual_condition_builder/widgets_controller.rb', line 15

def user
  user_id = params[:id] || current_user.id
  @widgets_code = VisualConditionBuilder::User.where(user_id: user_id).pluck(:widget, :action).map{|r| "#{r[0]}_#{r[1]}"}
  render partial: 'widgets_list'
end