rosa-build/app/controllers/projects_controller.rb

47 lines
1.1 KiB
Ruby

class ProjectsController < ApplicationController
before_filter :authenticate_user!
before_filter :find_platform
before_filter :find_repository
before_filter :find_project, :only => [:show, :destroy]
def new
@project = @repository.projects.new
end
def show
@current_build_lists = @project.build_lists.current.recent.paginate :page => params[:page]
end
def create
@project = @repository.projects.new params[:project]
if @project.save
flash[:notice] = t('flash.project.saved')
redirect_to [@platform, @repository]
else
flash[:error] = t('flash.project.save_error')
render :action => :new
end
end
def destroy
@project.destroy
flash[:notice] = t("flash.project.destroyed")
redirect_to platform_repository_path(@platform, @repository)
end
protected
def find_platform
@platform = Platform.find params[:platform_id]
end
def find_repository
@repository = @platform.repositories.find(params[:repository_id])
end
def find_project
@project = @repository.projects.find params[:id]
end
end