Class: Infold::AppViewFormsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/infold/app_view_forms_controller.rb

Instance Method Summary collapse

Instance Method Details

#showObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'app/controllers/infold/app_view_forms_controller.rb', line 4

def show
  @view = AppViewForm.find(params[:id])
  @app = @view.app
  first_time = @view.form_columns.blank?
  @view.model.columns.sort_by(&:seq).each do |column|
    if @view.form_fields.find { |r| r.model_column_id == column.id }.blank?
      @view.form_fields.build(type: FormColumn.name,
                              seq: @view.form_fields.size,
                              model_column: column,
                              display: first_time && column.view_form_default_display?)
    end
  end
  @view.model.attachment_fields.each do |attachment_field|
    if @view.form_fields.find { |r| r.attachment_field_id == attachment_field.id }.blank?
      @view.form_fields.build(type: FormAttachmentField.name,
                              seq: @view.form_fields.size,
                              attachment_field: attachment_field,
                              display: first_time)
    end
  end
  @view.model.child_model_associations.each do |association|
    if @view.form_fields.find { |r| r.model_association_id == association.id }.blank?
      @view.form_fields.build(type: FormAssociation.name,
                              seq: @view.form_fields.size,
                              model_association: association,
                              display: false)
    end
  end
end

#updateObject



34
35
36
37
38
39
40
41
42
43
44
45
# File 'app/controllers/infold/app_view_forms_controller.rb', line 34

def update
  @view = AppViewForm.find(params[:id])
  @app = @view.app
  @view.assign_attributes(post_params)
  if @view.save
    redirect_to @view, flash: { info: t('infold.flash.updated') }
  else
    Rails.logger.debug "エラー #{@view.errors.full_messages}"
    flash.now[:warning] = t('infold.flash.invalid')
    render status: :unprocessable_entity
  end
end