Sha256: db5d2d9621b957fba01f0f96b0857f6ce3bf7e8ac7d1faa8c1e42898a04dafec

Contents?: true

Size: 1.42 KB

Versions: 4

Compression:

Stored size: 1.42 KB

Contents

require_dependency "visual_condition_builder/application_controller"

module VisualConditionBuilder
  class WidgetsController < ApplicationController

    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

    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

    def index
    end

    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

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
visual_condition_builder-0.1.1 app/controllers/visual_condition_builder/widgets_controller.rb
visual_condition_builder-0.1.0 app/controllers/visual_condition_builder/widgets_controller.rb
visual_condition_builder-0.0.3 app/controllers/visual_condition_builder/widgets_controller.rb
visual_condition_builder-0.0.2 app/controllers/visual_condition_builder/widgets_controller.rb