mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-03-31 13:12:23 -04:00
renamed Post.member_id to Post.author
This commit is contained in:
@@ -43,7 +43,7 @@ class PostsController < ApplicationController
|
||||
# POST /posts
|
||||
# POST /posts.json
|
||||
def create
|
||||
params[:post][:member_id] = current_member.id
|
||||
params[:post][:author_id] = current_member.id
|
||||
@post = Post.new(params[:post])
|
||||
|
||||
respond_to do |format|
|
||||
|
||||
2
app/helpers/posts_helper.rb
Normal file
2
app/helpers/posts_helper.rb
Normal file
@@ -0,0 +1,2 @@
|
||||
module PostsHelper
|
||||
end
|
||||
@@ -1,2 +0,0 @@
|
||||
module UpdatesHelper
|
||||
end
|
||||
@@ -2,7 +2,7 @@ class Member < ActiveRecord::Base
|
||||
extend FriendlyId
|
||||
friendly_id :login_name, use: :slugged
|
||||
|
||||
has_many :posts
|
||||
has_many :posts, :foreign_key => 'author_id'
|
||||
has_many :gardens
|
||||
|
||||
# Include default devise modules. Others available are:
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
class Post < ActiveRecord::Base
|
||||
extend FriendlyId
|
||||
friendly_id :member_date_subject, use: :slugged
|
||||
attr_accessible :body, :subject, :member_id
|
||||
belongs_to :member
|
||||
friendly_id :author_date_subject, use: :slugged
|
||||
attr_accessible :body, :subject, :author_id
|
||||
belongs_to :author, :class_name => 'Member'
|
||||
default_scope order("created_at desc")
|
||||
|
||||
def member_date_subject
|
||||
def author_date_subject
|
||||
# slugs are created before created_at is set
|
||||
time = created_at || Time.now
|
||||
"#{member.login_name} #{time.strftime("%Y%m%d")} #{subject}"
|
||||
"#{author.login_name} #{time.strftime("%Y%m%d")} #{subject}"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
%li= msg
|
||||
|
||||
.field
|
||||
= f.label :member_id
|
||||
= f.number_field :member_id
|
||||
= f.label :author_id
|
||||
= f.number_field :author_id
|
||||
.field
|
||||
= f.label :subject
|
||||
= f.text_field :subject
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
.post
|
||||
.row
|
||||
.span1
|
||||
= render :partial => "shared/avatar", :locals => { :member => post.member }
|
||||
= render :partial => "shared/avatar", :locals => { :member => post.author }
|
||||
.span7
|
||||
- if subject
|
||||
%h3= link_to strip_tags(post.subject), post
|
||||
|
||||
.post-meta
|
||||
Posted by
|
||||
= link_to post.member.login_name, member_path(post.member)
|
||||
= link_to post.author.login_name, member_path(post.author)
|
||||
at
|
||||
= post.created_at
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
:markdown
|
||||
#{ strip_tags post.body }
|
||||
|
||||
- if current_member == post.member
|
||||
- if current_member == post.author
|
||||
.post-actions
|
||||
= link_to 'Edit', edit_post_path(post), :class => 'btn'
|
||||
= link_to 'Delete', post, method: :delete, |
|
||||
|
||||
@@ -6,7 +6,7 @@ xml.rss :version => "2.0" do
|
||||
|
||||
for post in @recent_posts
|
||||
xml.item do
|
||||
xml.author post.member.login_name
|
||||
xml.author post.author.login_name
|
||||
xml.title post.subject
|
||||
xml.description post.body
|
||||
xml.pubDate post.created_at.to_s(:rfc822)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
= content_for :title, "Post an post"
|
||||
= content_for :title, "Post a post"
|
||||
|
||||
- if member_signed_in?
|
||||
= form_for @post, :url => { :action => "create" } do |f|
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
class RenamePostMemberToAuthor < ActiveRecord::Migration
|
||||
def change
|
||||
rename_column :posts, :member_id, :author_id
|
||||
end
|
||||
end
|
||||
@@ -11,7 +11,7 @@
|
||||
#
|
||||
# It's strongly recommended to check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(:version => 20130113060852) do
|
||||
ActiveRecord::Schema.define(:version => 20130113081521) do
|
||||
|
||||
create_table "crops", :force => true do |t|
|
||||
t.string "system_name", :null => false
|
||||
@@ -77,7 +77,7 @@ ActiveRecord::Schema.define(:version => 20130113060852) do
|
||||
end
|
||||
|
||||
create_table "posts", :force => true do |t|
|
||||
t.integer "member_id", :null => false
|
||||
t.integer "author_id", :null => false
|
||||
t.string "subject", :null => false
|
||||
t.text "body", :null => false
|
||||
t.datetime "created_at", :null => false
|
||||
@@ -85,7 +85,7 @@ ActiveRecord::Schema.define(:version => 20130113060852) do
|
||||
t.string "slug"
|
||||
end
|
||||
|
||||
add_index "posts", ["created_at", "member_id"], :name => "index_updates_on_created_at_and_user_id"
|
||||
add_index "posts", ["created_at", "author_id"], :name => "index_updates_on_created_at_and_user_id"
|
||||
add_index "posts", ["slug"], :name => "index_updates_on_slug", :unique => true
|
||||
|
||||
create_table "scientific_names", :force => true do |t|
|
||||
|
||||
@@ -5,7 +5,7 @@ describe MembersController do
|
||||
before :each do
|
||||
@member1 = FactoryGirl.create(:member, :login_name => 'fred')
|
||||
@member2 = FactoryGirl.create(:unconfirmed_member, :login_name => 'bob')
|
||||
@posts = [ FactoryGirl.create(:post, :member => @member1) ]
|
||||
@posts = [ FactoryGirl.create(:post, :author => @member1) ]
|
||||
end
|
||||
|
||||
describe "GET index" do
|
||||
|
||||
@@ -8,7 +8,7 @@ describe PostsController do
|
||||
# Post. As you add validations to Post, be sure to
|
||||
# update the return value of this method accordingly.
|
||||
def valid_attributes
|
||||
{ :member_id => 1, :subject => "blah", :body => "blah blah" }
|
||||
{ :author_id => 1, :subject => "blah", :body => "blah blah" }
|
||||
end
|
||||
|
||||
# The parameters required to be passed to a Web request.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
FactoryGirl.define do
|
||||
|
||||
factory :member do
|
||||
factory :member, aliases: [:author] do
|
||||
login_name 'member1'
|
||||
password 'password1'
|
||||
email 'member1@example.com'
|
||||
|
||||
@@ -3,7 +3,7 @@ FactoryGirl.define do
|
||||
factory :post do
|
||||
subject "A Post"
|
||||
body "This is some text."
|
||||
member
|
||||
author
|
||||
created_at Time.now
|
||||
|
||||
# Markdown is allowed in posts
|
||||
|
||||
@@ -29,6 +29,11 @@ describe 'member' do
|
||||
@member.to_s.should == 'member1'
|
||||
"#{@member}".should == 'member1'
|
||||
end
|
||||
|
||||
it 'should be able to fetch posts' do
|
||||
@post = FactoryGirl.create(:post, :author => @member)
|
||||
@member.posts.should eq [@post]
|
||||
end
|
||||
end
|
||||
|
||||
context 'no TOS agreement' do
|
||||
|
||||
@@ -6,13 +6,13 @@ describe Post do
|
||||
end
|
||||
|
||||
it "should be sorted in reverse order" do
|
||||
FactoryGirl.create(:post, :subject => 'first entry', :member => @member)
|
||||
FactoryGirl.create(:post, :subject => 'second entry', :member => @member)
|
||||
FactoryGirl.create(:post, :subject => 'first entry', :author => @member)
|
||||
FactoryGirl.create(:post, :subject => 'second entry', :author => @member)
|
||||
Post.first.subject.should == "second entry"
|
||||
end
|
||||
|
||||
it "should have a slug" do
|
||||
@post = FactoryGirl.create(:post, :member => @member)
|
||||
@post = FactoryGirl.create(:post, :author => @member)
|
||||
@time = @post.created_at
|
||||
@datestr = @time.strftime("%Y%m%d")
|
||||
# 2 digit day and month, full-length years
|
||||
|
||||
@@ -4,8 +4,8 @@ describe 'members/show.rss.builder', :type => "view" do
|
||||
before(:each) do
|
||||
@member = assign(:member, FactoryGirl.create(:member))
|
||||
assign(:posts, [
|
||||
FactoryGirl.build(:post, :id => 1, :member => @member),
|
||||
FactoryGirl.build(:post, :id => 2, :member => @member)
|
||||
FactoryGirl.build(:post, :id => 1, :author => @member),
|
||||
FactoryGirl.build(:post, :id => 2, :author => @member)
|
||||
])
|
||||
render
|
||||
end
|
||||
|
||||
@@ -2,8 +2,8 @@ require 'spec_helper'
|
||||
|
||||
describe "posts/edit" do
|
||||
before(:each) do
|
||||
@member = FactoryGirl.create(:member)
|
||||
@post = assign(:post, FactoryGirl.create(:post, :member => @member))
|
||||
@author = FactoryGirl.create(:member)
|
||||
@post = assign(:post, FactoryGirl.create(:post, :author => @author))
|
||||
end
|
||||
|
||||
context "logged out" do
|
||||
@@ -15,7 +15,7 @@ describe "posts/edit" do
|
||||
|
||||
context "logged in" do
|
||||
before(:each) do
|
||||
sign_in @member
|
||||
sign_in @author
|
||||
render
|
||||
end
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@ require 'spec_helper'
|
||||
|
||||
describe "posts/index" do
|
||||
before(:each) do
|
||||
@member = FactoryGirl.create(:member)
|
||||
@post1 = FactoryGirl.build(:post, :member => @member)
|
||||
@post2 = FactoryGirl.build(:post, :member => @member)
|
||||
@author = FactoryGirl.create(:member)
|
||||
@post1 = FactoryGirl.build(:post, :author => @author)
|
||||
@post2 = FactoryGirl.build(:post, :author => @author)
|
||||
assign(:posts, [@post1, @post2])
|
||||
render
|
||||
end
|
||||
|
||||
@@ -2,10 +2,10 @@ require 'spec_helper'
|
||||
|
||||
describe 'posts/index.rss.builder', :type => "view" do
|
||||
before(:each) do
|
||||
@member = FactoryGirl.create(:member)
|
||||
@author = FactoryGirl.create(:member)
|
||||
assign(:recent_posts, [
|
||||
FactoryGirl.build(:post, :id => 1, :member => @member),
|
||||
FactoryGirl.build(:post, :id => 2, :member => @member)
|
||||
FactoryGirl.build(:post, :id => 1, :author => @author),
|
||||
FactoryGirl.build(:post, :id => 2, :author => @author)
|
||||
])
|
||||
render
|
||||
end
|
||||
|
||||
@@ -2,8 +2,8 @@ require 'spec_helper'
|
||||
|
||||
describe "posts/new" do
|
||||
before(:each) do
|
||||
@member = FactoryGirl.create(:member)
|
||||
assign(:post, FactoryGirl.create(:post, :member => @member))
|
||||
@author = FactoryGirl.create(:member)
|
||||
assign(:post, FactoryGirl.create(:post, :author => @author))
|
||||
end
|
||||
|
||||
context "logged out" do
|
||||
@@ -15,7 +15,7 @@ describe "posts/new" do
|
||||
|
||||
context "logged in" do
|
||||
before(:each) do
|
||||
sign_in @member
|
||||
sign_in @author
|
||||
render
|
||||
end
|
||||
|
||||
|
||||
@@ -2,12 +2,12 @@ require 'spec_helper'
|
||||
|
||||
describe "posts/show" do
|
||||
before(:each) do
|
||||
@member = FactoryGirl.create(:member)
|
||||
@author = FactoryGirl.create(:member)
|
||||
end
|
||||
|
||||
it "renders the post" do
|
||||
@post = assign(:post,
|
||||
FactoryGirl.create(:post, :member => @member))
|
||||
FactoryGirl.create(:post, :author => @author))
|
||||
render
|
||||
# show the name of the member who posted the post
|
||||
rendered.should match(/member1/)
|
||||
@@ -20,14 +20,14 @@ describe "posts/show" do
|
||||
|
||||
it "should parse markdown into html" do
|
||||
@post = assign(:post,
|
||||
FactoryGirl.create(:markdown_post, :member => @member))
|
||||
FactoryGirl.create(:markdown_post, :author => @author))
|
||||
render
|
||||
assert_select "strong", "strong"
|
||||
end
|
||||
|
||||
it "shouldn't let html through in body" do
|
||||
@post = assign(:post,
|
||||
FactoryGirl.create(:html_post, :member => @member))
|
||||
FactoryGirl.create(:html_post, :author => @author))
|
||||
render
|
||||
rendered.should match(/EVIL/)
|
||||
rendered.should_not match(/a href="http:\/\/evil.com"/)
|
||||
|
||||
Reference in New Issue
Block a user