Changed garden.member_id to garden.owner_id

This commit is contained in:
Skud
2013-01-13 21:29:28 +11:00
parent df76f2497a
commit 8da9a13eae
23 changed files with 50 additions and 42 deletions

View File

@@ -40,7 +40,7 @@ class GardensController < ApplicationController
# POST /gardens
# POST /gardens.json
def create
params[:garden][:member_id] = current_member.id
params[:garden][:owner_id] = current_member.id
@garden = Garden.new(params[:garden])
respond_to do |format|

View File

@@ -2,15 +2,12 @@ class Garden < ActiveRecord::Base
extend FriendlyId
friendly_id :garden_slug, use: :slugged
attr_accessible :name, :slug, :member_id
belongs_to :member
attr_accessible :name, :slug, :owner_id
belongs_to :owner, :class_name => 'Member', :foreign_key => 'owner_id'
def garden_slug
formatted_name = name.downcase.gsub(' ', '-')
"#{member.login_name}-#{formatted_name}"
"#{owner.login_name}-#{formatted_name}"
end
def owner
return member
end
end

View File

@@ -2,8 +2,8 @@ class Member < ActiveRecord::Base
extend FriendlyId
friendly_id :login_name, use: :slugged
has_many :posts, :foreign_key => 'author_id'
has_many :gardens
has_many :posts, :foreign_key => 'author_id'
has_many :gardens, :foreign_key => 'owner_id'
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
@@ -26,7 +26,7 @@ class Member < ActiveRecord::Base
:accept => true
# Give each new member a default garden
after_create {|member| Garden.new(:name => "Garden", :member_id => member.id).save }
after_create {|member| Garden.create(:name => "Garden", :owner_id => member.id) }
# allow login via either login_name or email address
def self.find_first_by_auth_conditions(warden_conditions)

View File

@@ -5,10 +5,10 @@ class Planting < ActiveRecord::Base
belongs_to :crop
def location
return "#{garden.member.login_name}'s #{garden.name}"
return "#{garden.owner.login_name}'s #{garden.name}"
end
def owner
return garden.member
return garden.owner
end
end

View File

@@ -6,7 +6,7 @@
%h4= "#{@garden.owner}'s gardens"
%ul
- @garden.member.gardens.each do |othergarden|
- @garden.owner.gardens.each do |othergarden|
%li
- if @garden == othergarden
= @garden.name

View File

@@ -12,7 +12,7 @@
.control-group
= f.label 'Where did you plant it?', :class => 'control-label'
.controls= collection_select(:planting, :garden_id,
Garden.where(:member_id => current_member), :id, :name, :selected => @garden.id)
Garden.where(:owner_id => current_member), :id, :name, :selected => @garden.id)
.control-group
= f.label 'When?', :class => 'control-label'
.controls= f.date_select :planted_at, options = { :include_blank => true }, html_options = { :class => "span1" }

View File

@@ -0,0 +1,5 @@
class RenameGardenMemberToOwner < ActiveRecord::Migration
def change
rename_column :gardens, :member_id, :owner_id
end
end

View File

@@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20130113081521) do
ActiveRecord::Schema.define(:version => 20130113095802) do
create_table "crops", :force => true do |t|
t.string "system_name", :null => false
@@ -26,13 +26,13 @@ ActiveRecord::Schema.define(:version => 20130113081521) do
create_table "gardens", :force => true do |t|
t.string "name", :null => false
t.integer "member_id"
t.integer "owner_id"
t.string "slug", :null => false
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
add_index "gardens", ["member_id"], :name => "index_gardens_on_user_id"
add_index "gardens", ["owner_id"], :name => "index_gardens_on_user_id"
add_index "gardens", ["slug"], :name => "index_gardens_on_slug", :unique => true
create_table "members", :force => true do |t|

View File

@@ -8,7 +8,7 @@ describe GardensController do
# Garden. As you add validations to Garden, be sure to
# update the return value of this method accordingly.
def valid_attributes
{:name => 'My Garden', :member_id => 1 }
{:name => 'My Garden', :owner_id => 1 }
end
# This should return the minimal set of values that should be in the session

View File

@@ -45,7 +45,7 @@ describe PlantingsController do
it "picks up garden from params" do
member = FactoryGirl.create(:member)
garden = FactoryGirl.create(:garden, :member => member)
garden = FactoryGirl.create(:garden, :owner => member)
get :new, {:garden_id => garden.id}, valid_session
assigns(:garden).should eq(garden)
end

View File

@@ -1,6 +1,6 @@
FactoryGirl.define do
factory :garden do
name 'My Garden'
member
owner
end
end

View File

@@ -1,6 +1,6 @@
FactoryGirl.define do
factory :member, aliases: [:author] do
factory :member, aliases: [:author, :owner] do
login_name 'member1'
password 'password1'
email 'member1@example.com'

View File

@@ -2,8 +2,8 @@ require 'spec_helper'
describe Garden do
before :each do
@member = FactoryGirl.create(:member)
@garden = FactoryGirl.create(:garden, :member => @member)
@owner = FactoryGirl.create(:member)
@garden = FactoryGirl.create(:garden, :owner => @owner)
end
it "should have a slug" do

View File

@@ -4,7 +4,7 @@ describe 'member' do
context 'valid member' do
before(:each) do
@member = FactoryGirl.create(:member)
@member = FactoryGirl.build(:member)
end
it 'should save a basic member' do
@@ -34,6 +34,12 @@ describe 'member' do
@post = FactoryGirl.create(:post, :author => @member)
@member.posts.should eq [@post]
end
it 'should be able to fetch gardens' do
@member.save
@member.gardens.first.name.should eq "Garden"
end
end
context 'no TOS agreement' do

View File

@@ -4,8 +4,8 @@ describe Planting do
before(:each) do
@crop = FactoryGirl.create(:tomato)
@member = FactoryGirl.create(:member)
@garden = FactoryGirl.create(:garden, :member => @member)
@member = FactoryGirl.create(:member)
@garden = FactoryGirl.create(:garden, :owner => @member)
@planting = FactoryGirl.create(:planting,
:crop => @crop, :garden => @garden)
end

View File

@@ -11,9 +11,9 @@ describe "gardens/edit" do
context "logged in" do
before(:each) do
@member = FactoryGirl.create(:member)
sign_in @member
@garden = assign(:garden, FactoryGirl.create(:garden, :member => @member))
@owner = FactoryGirl.create(:member)
sign_in @owner
@garden = assign(:garden, FactoryGirl.create(:garden, :owner => @owner))
render
end

View File

@@ -2,10 +2,10 @@ require 'spec_helper'
describe "gardens/index" do
before(:each) do
@member = FactoryGirl.create(:member)
@owner = FactoryGirl.create(:member)
assign(:gardens, [
FactoryGirl.create(:garden, :member => @member),
FactoryGirl.create(:garden, :member => @member)
FactoryGirl.create(:garden, :owner => @owner),
FactoryGirl.create(:garden, :owner => @owner)
])
end

View File

@@ -2,8 +2,8 @@ require 'spec_helper'
describe "gardens/show" do
before(:each) do
@member = FactoryGirl.create(:member)
@garden = assign(:garden, FactoryGirl.create(:garden, :member => @member))
@owner = FactoryGirl.create(:member)
@garden = assign(:garden, FactoryGirl.create(:garden, :owner => @owner))
end
context 'logged out' do
@@ -16,7 +16,7 @@ describe "gardens/show" do
context 'signed in' do
before :each do
sign_in @member
sign_in @owner
render
end

View File

@@ -39,12 +39,12 @@ describe "members/show" do
context "member has a garden" do
before(:each) do
@member.gardens.create(:name => 'My Garden', :member_id => @member.id)
FactoryGirl.create(:garden, :owner => @member)
render
end
it "displays a garden, if the member has one" do
rendered.should contain "My Garden"
rendered.should contain "Garden"
end
end

View File

@@ -12,7 +12,7 @@ describe "plantings/edit" do
)
@crop = FactoryGirl.create(:crop)
@garden = FactoryGirl.create(:garden, :member => @right_member)
@garden = FactoryGirl.create(:garden, :owner => @right_member)
@planting = assign(:planting,
FactoryGirl.create(:planting, :garden => @garden, :crop => @crop)

View File

@@ -3,7 +3,7 @@ require 'spec_helper'
describe "plantings/index" do
before(:each) do
@member = FactoryGirl.create(:member)
@garden = FactoryGirl.create(:garden, :member => @member)
@garden = FactoryGirl.create(:garden, :owner => @member)
@tomato = FactoryGirl.create(:tomato)
@maize = FactoryGirl.create(:maize)
assign(:recent_plantings, [

View File

@@ -5,8 +5,8 @@ describe "plantings/new" do
@member = FactoryGirl.create(:member)
# create gardens and crops to populate dropdowns
@garden1 = FactoryGirl.create(:garden, :member => @member, :name => 'Garden1')
@garden2 = FactoryGirl.create(:garden, :member => @member, :name => 'Garden2')
@garden1 = FactoryGirl.create(:garden, :owner => @member, :name => 'Garden1')
@garden2 = FactoryGirl.create(:garden, :owner => @member, :name => 'Garden2')
@crop1 = FactoryGirl.create(:tomato)
@crop2 = FactoryGirl.create(:maize)

View File

@@ -3,7 +3,7 @@ require 'spec_helper'
describe "plantings/show" do
before(:each) do
@member = FactoryGirl.create(:member)
@garden = FactoryGirl.create(:garden, :member => @member)
@garden = FactoryGirl.create(:garden, :owner => @member)
@crop = FactoryGirl.create(:tomato)
@planting = assign(:planting,
FactoryGirl.create(:planting, :garden => @garden, :crop => @crop)