Method: Thesis::ThesisController#update_page_content

Defined in:
lib/thesis/controllers/thesis_controller.rb

#update_page_contentObject



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/thesis/controllers/thesis_controller.rb', line 63

def update_page_content
  errors = false
  error_message = "Unknown error."

  page_contents = PageContent.where(id: params.keys).includes(:page).all
  if page_contents.length.zero?
    error_message = "That page doesn't exist anymore."
    errors = true
  else
    page_contents.each do |pc|
      if page_is_editable? pc.page
        pc.content = params[pc.id.to_s]
        pc.save
      else
        errors = true
        error_message = "You don't have permission to update this page."
      end
    end
  end

  resp = {}
  resp[:message] = error_message if errors

  render json: resp, status: errors ? :not_acceptable : :ok
end