Sha256: a337053fb77f5c92833d51b476968c51908c489bfbff41728726610cf6c917c3
Contents?: true
Size: 1.77 KB
Versions: 6
Compression:
Stored size: 1.77 KB
Contents
module Saucy module ProjectsController extend ActiveSupport::Concern included do before_filter :authenticate before_filter :authorize_member, :only => :show before_filter :authorize_admin, :except => [:show] before_filter :ensure_active_account, :only => [:show, :destroy, :index] before_filter :ensure_account_within_projects_limit, :only => [:new, :create] layout Saucy::Layouts.to_proc end module InstanceMethods def new @project = current_account.projects.build_with_default_permissions end def create @project = current_account.projects.build(params[:project]) if @project.save flash[:notice] = "Project successfully created" redirect_to project_url(@project) else render :action => :new end end def edit current_project end def update if current_project.update_attributes params[:project] flash[:success] = 'Project was updated.' redirect_to account_projects_url(current_account) else render :action => :edit end end def show current_project end def destroy current_project.destroy flash[:success] = "Project has been deleted" redirect_to account_projects_url(current_project.account) end def index @active_projects = current_account.projects.active @archived_projects = current_account.projects.archived end private def current_project @project ||= current_account.projects.find_by_keyword!(params[:id]) end def ensure_account_within_projects_limit ensure_account_within_limit("projects") end end end end
Version data entries
6 entries across 6 versions & 1 rubygems