Sha256: 394ab5d0f1d7283fb53189534fa16190266a18e19f64066fc672aa4ef247ac32

Contents?: true

Size: 1.02 KB

Versions: 2

Compression:

Stored size: 1.02 KB

Contents

module MegaBar
  class ModelDisplaysController < ApplicationController
    include MegaBarConcern
   
    def get_options
      @options[:mega_bar_model_displays] =  {
        model_id: Model.all.pluck("name, id")
      } 
    end

    def edit
      @mega_instance = ModelDisplay.find(params["id"])
      @mega_displays[0][:displayable_fields].reject! do | df | 
        case df[:field].field
        when 'index_field_display', 'show_field_display', 'edit_field_display', 'new_field_display'
          true if isnt_current_action(df[:field].field) || @mega_instance.field_displays.present?
        else 
          false
        end
      end
      super
    end
  
    def isnt_current_action(field)

      case @mega_instance.action
      when 'show'
        true if field == 'show_field_display'
      when 'index' 
        true if field == 'index_field_display'
      when 'new' 
        true if field == 'new_field_display'
      when 'edit' 
        true if field == 'edit_field_display'
      else
        false
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mega_bar-0.5.2 app/controllers/mega_bar/model_displays_controller.rb
mega_bar-0.5.1 app/controllers/mega_bar/model_displays_controller.rb