projects_controller.rb 1.07 KB
Newer Older
gitlabhq's avatar
gitlabhq committed
1
class Admin::ProjectsController < ApplicationController
gitlabhq's avatar
gitlabhq committed
2
  layout "admin"
gitlabhq's avatar
gitlabhq committed
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
  before_filter :authenticate_user!
  before_filter :authenticate_admin!

  def index
    @admin_projects = Project.page(params[:page])
  end

  def show
    @admin_project = Project.find_by_code(params[:id])
  end

  def new
    @admin_project = Project.new
  end

  def edit
    @admin_project = Project.find_by_code(params[:id])
  end

  def create
    @admin_project = Project.new(params[:project])
gitlabhq's avatar
gitlabhq committed
24
    @admin_project.owner = current_user
gitlabhq's avatar
gitlabhq committed
25

gitlabhq's avatar
gitlabhq committed
26 27 28 29
    if @admin_project.save
      redirect_to [:admin, @admin_project], notice: 'Project was successfully created.'
    else
      render :action => "new"
gitlabhq's avatar
gitlabhq committed
30 31 32 33 34 35
    end
  end

  def update
    @admin_project = Project.find_by_code(params[:id])

gitlabhq's avatar
gitlabhq committed
36 37 38 39
    if @admin_project.update_attributes(params[:project])
      redirect_to [:admin, @admin_project], notice: 'Project was successfully updated.'
    else
      render :action => "edit"
gitlabhq's avatar
gitlabhq committed
40 41 42 43 44 45 46
    end
  end

  def destroy
    @admin_project = Project.find_by_code(params[:id])
    @admin_project.destroy

gitlabhq's avatar
gitlabhq committed
47
    redirect_to admin_projects_url
gitlabhq's avatar
gitlabhq committed
48 49
  end
end