Module: ArPageControl

Defined in:
app/controls/ar_page_control.rb

Overview

AgileRails controls for ArPage model.

Instance Method Summary collapse

Instance Method Details

#after_saveObject

Called just after record is saved to DB.



58
59
60
61
62
# File 'app/controls/ar_page_control.rb', line 58

def after_save
  if params.dig(:_record,:_update_menu).to_s == '1'
    agile_get_site.menu_klass.menu_item_link_update(@record)
  end
end

#new_recordObject

Called when new empty record is created



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'app/controls/ar_page_control.rb', line 32

def new_record
  # Called from menu. Fill in values, that could be obtained from menu
  if params[:from_menu]
    menu_item_klass = (agile_get_site.menu_klass.to_s + 'Item').classify.constantize
    menu = menu_item_klass.find(params[:id])
    # Fill values for form
    @record.subject = menu.caption
    @record.ar_site_id = agile_get_site.id
    @record.menu_id = params[:id]
    # set update_menu on save parameter
    params['p__update_menu'] = '1'
  else
    @record.design_id = params[:design_id] if params[:design_id]
    return unless params[:page_id]
    # inherit some values from currently active page
    if page = ArPage.find(params[:page_id])
      @record.design_id  = page.design_id
      @record.menu       = page.menu
      @record.ar_site_id = page.ar_site_id
    end
  end
end