Multiplos semestres

This commit is contained in:
2008-08-03 10:55:44 -03:00
parent 0695c44b21
commit d235466463
15 changed files with 100 additions and 31 deletions

View File

@@ -97,7 +97,7 @@ class AttachmentsController < ApplicationController
protected
def find_attachment
params[:course_id] = Course.find_by_short_name(params[:course_id]).id if !params[:course_id].is_numeric? and !Course.find_by_short_name(params[:course_id]).nil?
params[:course_id] = Course.find(:first, :conditions => ['short_name = ?', params[:course_id]], :order => 'period desc').id if !params[:course_id].is_numeric? and !Course.find_by_short_name(params[:course_id]).nil?
@course = Course.find(params[:course_id])
@attachment = params[:id] ? @course.attachments.find(params[:id]) : Attachment.new
end

View File

@@ -22,9 +22,14 @@ class CoursesController < ApplicationController
#after_filter :cache_sweep, :only => [ :create, :update, :destroy ]
def index
@courses = Course.find(:all,
:order => 'period asc, full_name asc',
:conditions => (logged_in? and !@current_user.courses.empty? ? [ 'id not in (?)', @current_user.courses] : ''))
params[:period] = nil if params[:period] == App.current_period
@period = params[:period] || App.current_period
conditions = []
conditions.add_condition!(['period = ?', @period])
conditions.add_condition!(['id not in (?)', @current_user.courses]) if logged_in? and !@current_user.courses.empty?
@courses = Course.find(:all, :order => 'grade asc, full_name asc', :conditions => conditions)
respond_to do |format|
format.html
@@ -98,7 +103,7 @@ class CoursesController < ApplicationController
protected
def find_course
params[:id] = Course.find_by_short_name(params[:id]).id if params[:id] and !params[:id].is_numeric? and !Course.find_by_short_name(params[:id]).nil?
params[:id] = Course.find(:first, :conditions => ['short_name = ?', params[:id]], :order => 'period desc').id if !params[:id].is_numeric? and !Course.find_by_short_name(params[:id]).nil?
@course = params[:id] ? Course.find(params[:id]) : Course.new(params[:course])
end

View File

@@ -113,7 +113,7 @@ class EventsController < ApplicationController
protected
def find_event
params[:course_id] = Course.find_by_short_name(params[:course_id]).id if !params[:course_id].is_numeric? and !Course.find_by_short_name(params[:course_id]).nil?
params[:course_id] = Course.find(:first, :conditions => ['short_name = ?', params[:course_id]], :order => 'period desc').id if !params[:course_id].is_numeric? and !Course.find_by_short_name(params[:course_id]).nil?
@course = Course.find(params[:course_id])
@event = params[:id] ? @course.events.find(params[:id]) : Event.new(params[:event])
end

View File

@@ -44,7 +44,7 @@ class LogController < ApplicationController
protected
def find_course
unless params[:course_id].nil?
params[:course_id] = Course.find_by_short_name(params[:course_id]).id if !params[:course_id].is_numeric? and !Course.find_by_short_name(params[:course_id]).nil?
params[:course_id] = Course.find(:first, :conditions => ['short_name = ?', params[:course_id]], :order => 'period desc').id if !params[:course_id].is_numeric? and !Course.find_by_short_name(params[:course_id]).nil?
@course = Course.find(params[:course_id])
end
end

View File

@@ -105,7 +105,7 @@ class NewsController < ApplicationController
protected
def find_new
params[:course_id] = Course.find_by_short_name(params[:course_id]).id if !params[:course_id].is_numeric? and !Course.find_by_short_name(params[:course_id]).nil?
params[:course_id] = Course.find(:first, :conditions => ['short_name = ?', params[:course_id]], :order => 'period desc').id if !params[:course_id].is_numeric? and !Course.find_by_short_name(params[:course_id]).nil?
@course = Course.find(params[:course_id])
@news = params[:id] ? @course.news.find(params[:id]) : News.new(params[:news])

View File

@@ -159,7 +159,7 @@ class WikiController < ApplicationController
protected
def find_wiki
params[:course_id] = Course.find_by_short_name(params[:course_id]).id if !params[:course_id].is_numeric? and !Course.find_by_short_name(params[:course_id]).nil?
params[:course_id] = Course.find(:first, :conditions => ['short_name = ?', params[:course_id]], :order => 'period desc').id if !params[:course_id].is_numeric? and !Course.find_by_short_name(params[:course_id]).nil?
@course = Course.find(params[:course_id])
params[:id] = @course.wiki_pages.find_by_title(params[:id]).id if params[:id] and !params[:id].is_numeric? and !@course.wiki_pages.find_by_title(params[:id]).nil?