From af16f4c9d8bee8cec455c81d9518971a93116750 Mon Sep 17 00:00:00 2001 From: João M. M. Silva Date: Tue, 27 Aug 2013 18:40:31 -0300 Subject: [PATCH] Verification if user is logged in to operate with projects Missing fix tests that must get an authenticated user to run --- app/controllers/projects_controller.rb | 8 ++++++-- app/models/project_ownership.rb | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index bf2d0a3..429b64c 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -1,4 +1,6 @@ class ProjectsController < ApplicationController + before_filter :authenticate_user!, + except: [:index, :show] # GET /projects/new def new @@ -15,9 +17,10 @@ class ProjectsController < ApplicationController # POST /projects.json def create @project = Project.new(project_params) - respond_to do |format| if @project.save + current_user.project_ownerships.create project_id: @project.id + format.html { redirect_to project_path(@project.id), notice: 'Project was successfully created.' } format.json { render action: 'show', status: :created, location: @project } else @@ -32,7 +35,7 @@ class ProjectsController < ApplicationController def show set_project end - + # GET /projects/1/edit # GET /projects/1/edit.json def edit @@ -52,6 +55,7 @@ class ProjectsController < ApplicationController # DELETE /project/1.json def destroy set_project + current_user.project_ownerships.find_by_project_id(@project.id).destroy @project.destroy respond_to do |format| format.html { redirect_to projects_url } diff --git a/app/models/project_ownership.rb b/app/models/project_ownership.rb index 4eda116..cad2218 100644 --- a/app/models/project_ownership.rb +++ b/app/models/project_ownership.rb @@ -1,3 +1,4 @@ class ProjectOwnership < ActiveRecord::Base belongs_to :user + validates :project_id, presence: true end -- libgit2 0.21.2