* Refactored routes some
* Fixed some major bugs with pools and pool versioning
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
class AdvertisementHitsController < ApplicationController
|
||||
def create
|
||||
advertisement = Advertisement.find(params[:id])
|
||||
advertisement = Advertisement.find(params[:advertisement_id])
|
||||
advertisement.hits.create(:ip_addr => request.remote_ip)
|
||||
redirect_to advertisement.referral_url
|
||||
end
|
||||
|
||||
@@ -4,15 +4,15 @@ class PoolsPostsController < ApplicationController
|
||||
|
||||
def create
|
||||
@pool = Pool.find(params[:pool_id])
|
||||
@post = Post.find(params[:post_id])
|
||||
@post = Post.find(params[:id])
|
||||
@pool.add_post!(@post)
|
||||
respond_with(@pool)
|
||||
respond_with(@pool, :location => pool_path(@pool))
|
||||
end
|
||||
|
||||
def destroy
|
||||
@pool = Pool.find(params[:pool_id])
|
||||
@post = Post.find(params[:post_id])
|
||||
@post = Post.find(params[:id])
|
||||
@pool.remove_post!(@post)
|
||||
respond_with(@pool)
|
||||
respond_with(@pool, :location => pool_path(@pool))
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
class PostModerationDetailsController < ApplicationController
|
||||
def index
|
||||
class PostModerationController < ApplicationController
|
||||
def show
|
||||
end
|
||||
|
||||
def create
|
||||
@@ -1,12 +1,11 @@
|
||||
class Pool < ActiveRecord::Base
|
||||
attr_accessor :updater_id, :updater_ip_addr
|
||||
validates_uniqueness_of :name
|
||||
validates_presence_of :name, :updater_id, :updater_ip_addr
|
||||
validates_format_of :name, :with => /\A[^\s;,]+\Z/, :on => :create, :message => "cannot have whitespace, commas, or semicolons"
|
||||
belongs_to :creator, :class_name => "User"
|
||||
belongs_to :updater, :class_name => "User"
|
||||
has_many :versions, :class_name => "PoolVersion", :dependent => :destroy
|
||||
before_save :normalize_name
|
||||
before_validation :normalize_name
|
||||
before_validation :initialize_creator, :on => :create
|
||||
after_save :create_version
|
||||
attr_accessible :name, :description, :post_ids, :is_active
|
||||
|
||||
@@ -18,14 +17,16 @@ class Pool < ActiveRecord::Base
|
||||
Pool.new do |pool|
|
||||
pool.name = "TEMP:#{Time.now.to_f}.#{rand(1_000_000)}"
|
||||
pool.creator = creator
|
||||
pool.updater_id = creator.id
|
||||
pool.updater_ip_addr = creator_ip_addr
|
||||
pool.save
|
||||
pool.name = "anonymous:#{pool.id}"
|
||||
pool.save
|
||||
end
|
||||
end
|
||||
|
||||
def initialize_creator
|
||||
self.creator_id = CurrentUser.id
|
||||
end
|
||||
|
||||
def normalize_name
|
||||
self.name = name.downcase
|
||||
end
|
||||
@@ -39,13 +40,13 @@ class Pool < ActiveRecord::Base
|
||||
return if post_ids =~ /(?:\A| )#{post.id}(?:\Z| )/
|
||||
|
||||
self.post_ids += " #{post.id}"
|
||||
self.post_ids.strip!
|
||||
self.post_ids = post_ids.strip
|
||||
save
|
||||
end
|
||||
|
||||
def remove_post!(post)
|
||||
post_ids.gsub!(/(?:\A| )#{post.id}(?:\Z| )/, " ")
|
||||
post_ids.strip!
|
||||
self.post_ids = post_ids.gsub(/(?:\A| )#{post.id}(?:\Z| )/, " ")
|
||||
self.post_ids = post_ids.strip
|
||||
save
|
||||
end
|
||||
|
||||
@@ -81,14 +82,10 @@ class Pool < ActiveRecord::Base
|
||||
def create_version
|
||||
last_version = versions.last
|
||||
|
||||
if last_version && updater_ip_addr == last_version.updater_ip_addr && updater_id == last_version.updater_id
|
||||
if last_version && CurrentUser.ip_addr == last_version.updater_ip_addr && CurrentUser.id == last_version.updater_id
|
||||
last_version.update_attribute(:post_ids, post_ids)
|
||||
else
|
||||
versions.create(
|
||||
:post_ids => post_ids,
|
||||
:updater_id => updater_id,
|
||||
:updater_ip_addr => updater_ip_addr
|
||||
)
|
||||
versions.create(:post_ids => post_ids)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -3,4 +3,10 @@ class PoolVersion < ActiveRecord::Base
|
||||
|
||||
validates_presence_of :updater_id, :updater_ip_addr
|
||||
belongs_to :pool
|
||||
before_validation :initialize_updater
|
||||
|
||||
def initialize_updater
|
||||
self.updater_id = CurrentUser.id
|
||||
self.updater_ip_addr = CurrentUser.ip_addr
|
||||
end
|
||||
end
|
||||
|
||||
0
app/views/pools_posts/new.html.erb
Normal file
0
app/views/pools_posts/new.html.erb
Normal file
Reference in New Issue
Block a user