Module: DcPageControl

Defined in:
app/controls/dc_page_control.rb

Overview

DRG Controls for DcPage model.

Instance Method Summary collapse

Instance Method Details

#dc_after_saveObject

Called just after record is saved to DB.



62
63
64
65
66
# File 'app/controls/dc_page_control.rb', line 62

def dc_after_save
  if params.dig(:_record,:_update_menu).to_s == '1'
    dc_get_site.menu_klass.update_menu_item_link(@record)
  end
end

#dc_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
54
55
56
57
# File 'app/controls/dc_page_control.rb', line 32

def dc_new_record
  # Called from menu. Fill in values, that could be obtained from menu
  if params[:from_menu]
    # find menu and submenu. Menu class is defined in Site.
    menu_a = params[:id].split(';')
    menu   = dc_get_site.menu_klass.find(menu_a.shift)
    menu_items_method = "#{dc_get_site.menu_class}_items".underscore
    menu_i = menu.send(menu_items_method).find(menu_a.shift)
    while menu_a.size > 0 do menu_i = menu_i.send(menu_items_method).find(menu_a.shift) end
    # Fill values for form
    @record.subject = menu_i.caption    
    @record.dc_site_id = menu.dc_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 = DcPage.find(params[:page_id])
      @record.design_id  = page.design_id
      @record.menu       = page.menu
      @record.dc_site_id = page.dc_site_id
    end
  end
end