Module: Admin::Resources::RelationshipsHelper

Defined in:
app/helpers/admin/resources/relationships_helper.rb

Instance Method Summary collapse

Instance Method Details

#build_paginationObject



11
12
13
14
15
16
# File 'app/helpers/admin/resources/relationships_helper.rb', line 11

def build_pagination
  items_per_page = @model_to_relate.typus_options_for(:per_page)
  data = @item.send(@field).order(@model_to_relate.typus_order_by).where(set_conditions)
  page = params["#{@association_name}_page"]
  @items = data.page(page).per(items_per_page)
end

#build_relationship_tableObject



18
19
20
21
22
23
24
25
26
# File 'app/helpers/admin/resources/relationships_helper.rb', line 18

def build_relationship_table
  build_list(@model_to_relate,
             @model_to_relate.typus_fields_for(:relationship),
             @items,
             @model_to_relate_as_resource,
             {},
             @reflection.macro,
             @association_name)
end

#set_conditionsObject



28
29
30
31
32
# File 'app/helpers/admin/resources/relationships_helper.rb', line 28

def set_conditions
  if @model_to_relate.typus_options_for(:only_user_items) && admin_user.is_not_root?
    { Typus.user_foreign_key => admin_user }
  end
end

#setup_relationship(field) ⇒ Object



3
4
5
6
7
8
9
# File 'app/helpers/admin/resources/relationships_helper.rb', line 3

def setup_relationship(field)
  @field = field
  @model_to_relate = @resource.reflect_on_association(field.to_sym).class_name.constantize
  @model_to_relate_as_resource = @model_to_relate.to_resource
  @reflection = @resource.reflect_on_association(field.to_sym)
  @association_name = @reflection.name.to_s
end