From 76a7594a97e1d34746f4efe5f97cc6185c3470b5 Mon Sep 17 00:00:00 2001 From: albert Date: Mon, 7 Feb 2011 18:57:33 -0500 Subject: [PATCH] implemented favorites on post/show page --- app/controllers/favorites_controller.rb | 10 +-- app/models/post.rb | 2 +- app/models/upload.rb | 7 +- .../comments/partials/new/_form.html.erb | 15 ++-- app/views/layouts/default.html.erb | 4 +- app/views/posts/index.html.erb | 2 +- .../posts/partials/show/_options.html.erb | 4 +- app/views/posts/show.html.erb | 3 +- app/views/sessions/new.html.erb | 6 +- app/views/uploads/update.js.erb | 1 + app/views/uploads/update.js.rjs | 1 - public/images/wait.gif | Bin 0 -> 2586 bytes public/javascripts/compiled/default.js | 70 +++++++++++++++++- public/javascripts/src/app/comments.js | 1 - public/javascripts/src/app/favorites.js | 69 +++++++++++++++++ script/custom/compile_javascripts | 1 + 16 files changed, 164 insertions(+), 32 deletions(-) create mode 100644 app/views/uploads/update.js.erb delete mode 100644 app/views/uploads/update.js.rjs create mode 100644 public/images/wait.gif create mode 100644 public/javascripts/src/app/favorites.js diff --git a/app/controllers/favorites_controller.rb b/app/controllers/favorites_controller.rb index d315237f1..8a155f5a2 100644 --- a/app/controllers/favorites_controller.rb +++ b/app/controllers/favorites_controller.rb @@ -8,18 +8,12 @@ class FavoritesController < ApplicationController end def create - @favorite = Favorite.create( - :user_id => CurrentUser.id, - :post_id => params[:id] - ) + Post.find(params[:id]).add_favorite(CurrentUser.user) render :nothing => true end def destroy - Favorite.destroy( - :user_id => CurrentUser.id, - :post_id => params[:id] - ) + Post.find(params[:id]).remove_favorite(CurrentUser.user) render :nothing => true end end diff --git a/app/models/post.rb b/app/models/post.rb index 2a61fe666..77a15b021 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -30,7 +30,7 @@ class Post < ActiveRecord::Base scope :commented_before, lambda {|date| where("last_commented_at < ?", date).order("last_commented_at DESC")} scope :available_for_moderation, lambda {where(["id NOT IN (SELECT pd.post_id FROM post_disapprovals pd WHERE pd.user_id = ?)", CurrentUser.id])} scope :hidden_from_moderation, lambda {where(["id IN (SELECT pd.post_id FROM post_disapprovals pd WHERE pd.user_id = ?)", CurrentUser.id])} - scope :before_id, lambda {|id| where(["posts.id < ?", id])} + scope :before_id, lambda {|id| id.present? ? where(["posts.id < ?", id]) : where("TRUE")} scope :tag_match, lambda {|query| Post.tag_match_helper(query)} module FileMethods diff --git a/app/models/upload.rb b/app/models/upload.rb index 4bf28a256..7b2ccce4e 100644 --- a/app/models/upload.rb +++ b/app/models/upload.rb @@ -96,11 +96,8 @@ class Upload < ActiveRecord::Base def merge_tags(post) post.tag_string += " #{tag_string}" - post.updater_id = uploader_id - post.updater_ip_addr = uploader_ip_addr post.save update_attribute(:status, "duplicate: #{post.id}") - raise end end @@ -259,8 +256,8 @@ class Upload < ActiveRecord::Base self.file_path = temp_file_path - if file.local_path - FileUtils.cp(file.local_path, file_path) + if file.tempfile + FileUtils.cp(file.tempfile.path, file_path) else File.open(file_path, 'wb') do |out| out.write(file.read) diff --git a/app/views/comments/partials/new/_form.html.erb b/app/views/comments/partials/new/_form.html.erb index 776b24c3b..8a1188a24 100644 --- a/app/views/comments/partials/new/_form.html.erb +++ b/app/views/comments/partials/new/_form.html.erb @@ -1,9 +1,10 @@
- <%= form_tag(comments_path, :remote => true) do %> - <%= hidden_field "comment", "post_id", :value => post.id %> - <%= text_area "comment", "body", :size => "60x7" %> -
- <%= submit_tag "Post" %> - <%= submit_tag "Preview" %> - <% end %>
+ +<%= form_tag(comments_path) do %> + <%= hidden_field "comment", "post_id", :value => post.id %> + <%= text_area "comment", "body", :size => "60x7" %> +
+ <%= submit_tag "Post" %> + <%= submit_tag "Preview" %> +<% end %> diff --git a/app/views/layouts/default.html.erb b/app/views/layouts/default.html.erb index d1ab79d21..5b3d94866 100644 --- a/app/views/layouts/default.html.erb +++ b/app/views/layouts/default.html.erb @@ -1,10 +1,12 @@ - <%= @page_title %> + <%= yield :page_title %> <%= csrf_meta_tag %> + + <% unless CurrentUser.user.blacklisted_tags.blank? %> <% end %> diff --git a/app/views/posts/index.html.erb b/app/views/posts/index.html.erb index 969d83622..0bfc23295 100644 --- a/app/views/posts/index.html.erb +++ b/app/views/posts/index.html.erb @@ -62,7 +62,7 @@ <% content_for(:page_title) do %> - / <%= @post_set.tags %> + /<%= @post_set.tags %> <% end %> <%= render :partial => "posts/partials/common/secondary_links" %> diff --git a/app/views/posts/partials/show/_options.html.erb b/app/views/posts/partials/show/_options.html.erb index 8d3b3642d..aa304e004 100644 --- a/app/views/posts/partials/show/_options.html.erb +++ b/app/views/posts/partials/show/_options.html.erb @@ -1,7 +1,7 @@