2013-01-10 18:17:57 +00:00
|
|
|
class Public::ProjectsController < ApplicationController
|
|
|
|
skip_before_filter :authenticate_user!,
|
2013-09-20 15:39:12 +00:00
|
|
|
:reject_blocked, :set_current_user_for_observers,
|
|
|
|
:add_abilities
|
2013-01-10 18:17:57 +00:00
|
|
|
|
|
|
|
layout 'public'
|
|
|
|
|
|
|
|
def index
|
2013-11-06 15:13:21 +00:00
|
|
|
@projects = Project.public_or_internal_only(current_user)
|
2013-05-13 18:18:08 +00:00
|
|
|
@projects = @projects.search(params[:search]) if params[:search].present?
|
2013-12-26 09:24:43 +00:00
|
|
|
@sort = params[:sort]
|
|
|
|
@projects = case @sort
|
2013-12-26 09:16:30 +00:00
|
|
|
when 'newest' then @projects.order('created_at DESC')
|
|
|
|
when 'oldest' then @projects.order('created_at ASC')
|
|
|
|
when 'recently_updated' then @projects.order('updated_at DESC')
|
|
|
|
when 'last_updated' then @projects.order('updated_at ASC')
|
|
|
|
else @projects.order("namespaces.path, projects.name ASC")
|
|
|
|
end
|
|
|
|
@projects = @projects.includes(:namespace).page(params[:page]).per(20)
|
2013-01-10 18:17:57 +00:00
|
|
|
end
|
|
|
|
end
|