mluukkai/labtool

View on GitHub
app/controllers/courses_controller.rb

Summary

Maintainability
A
0 mins
Test Coverage
class CoursesController < ApplicationController
  #caches_action :show

  def index
    @courses = Course.all
  end

  def activity
    Course.all.each do |c|
      c.update_attributes :active => c.id == params[:id].to_i
    end
    redirect_to courses_path
  end

  def show
    @course = Course.includes(:registrations => [:week_feedbacks]).where( :id => params[:id]).first
    @registrations = Registration.includes(:week_feedbacks, :user).where( :course_id => @course.id)

    @current = @course == Course.active

    respond_to do |format|
      format.html # new.html.erb
      format.xml  { render :xml => @registrations, :methods => [:user] }
      format.json  { render :json => @registrations, :methods => [:user] }
    end
  end

  def new
    @course = Course.new
  end

  def edit
    expire_fragment('current_course')
    #expire_action :controller => 'courses', :action => 'show', :id => Course.active.id
    @course = Course.find(params[:id])
  end

  def create
    expire_fragment('current_course')
    #expire_action :controller => 'courses', :action => 'show', :id => Course.active.id
    @course = Course.new(params[:course])
    @course.review_round = 0
    @course.week = 0
    @course.active = false

    if @course.save
      redirect_to @course, :notice => 'Course was successfully created.'
    else
      render :action => "new"
    end
  end

  def update
    expire_fragment('current_course')
    #expire_action :controller => 'courses', :action => 'show', :id => Course.active.id
    do_update :course, params
  end

  def destroy
    expire_fragment('current_course')
    #expire_action :controller => 'courses', :action => 'show', :id => Course.active.id
    @course = Course.find(params[:id])
    @course.destroy
    redirect_to courses_path, :notice => 'Course was destroyed'
  end

end