class SyllabusesController < ApplicationController

  before_filter :require_login

  def new
    @user = current_user
    render layout: false
  end

  def create
   @syllabus = current_user.update_attributes(permitted_params)
   respond_to do |format|
      if @syllabus
        format.js {render 'save'}
      else
        format.js {render partial: 'form', replace: 'form.new_syllabuses'}
      end
    end
  end

  def accept
    @syllabus = Syllabus.find(params[:id])
    if @syllabus.update_columns(accept: true)
      AccountBalance.credit(@syllabus.user, @syllabus, false, 100)
      SyllabusMailer.delay.notify_uploader_for_syllabus_acceptance(@syllabus.id)
    end
    respond_to do |format|
      format.js {render 'accept'}
    end
  end

  private
    def permitted_params
       params.required((current_user.type || 'User').downcase.to_sym).permit(uploaded_syllabuses_attributes: [:course_id, :id, :_destroy, attachments_attributes: [:attachment, :id, :_destroy]])
    end

end
