diff --git a/app/controllers/artist_versions_controller.rb b/app/controllers/artist_versions_controller.rb index 2f92c4022..d57879ca8 100644 --- a/app/controllers/artist_versions_controller.rb +++ b/app/controllers/artist_versions_controller.rb @@ -2,8 +2,8 @@ class ArtistVersionsController < ApplicationController respond_to :html, :xml, :json def index - @artist = Artist.find(params[:artist_id]) - @artist_versions = ArtistVersion.paginate :order => "version desc", :per_page => 25, :page => params[:page], :conditions => ["artist_id = ?", @artist.id] + @search = Artist.search(params[:search]) + @artist_versions = @search.paginate :order => "version desc", :per_page => 25, :page => params[:page] respond_with(@artist_versions) end end diff --git a/app/controllers/bans_controller.rb b/app/controllers/bans_controller.rb index 4c78af68e..bd48a0cfb 100644 --- a/app/controllers/bans_controller.rb +++ b/app/controllers/bans_controller.rb @@ -1,19 +1,36 @@ class BansController < ApplicationController def new + @ban = Ban.new end def edit + @ban = Ban.find(params[:id]) end def index + @search = Ban.search(params[:search]) + @bans = @search.paginate(:page => params[:page]) end def show + @ban = Ban.find(params[:id]) end def create + @ban = Ban.new(params[:ban]) + if @ban.save + redirect_to ban_path(@ban) + else + render :action => "new" + end end def update + @ban = Ban.find(params[:id]) + if @ban.update_attributes(params[:ban]) + redirect_to ban_path(@ban) + else + render :action => "edit" + end end end diff --git a/app/controllers/forum_posts_controller.rb b/app/controllers/forum_posts_controller.rb index 8770ed1b9..ad23443c9 100644 --- a/app/controllers/forum_posts_controller.rb +++ b/app/controllers/forum_posts_controller.rb @@ -1,19 +1,37 @@ class ForumPostsController < ApplicationController def new + @forum_post = ForumPost.new(:topic_id => params[:topic_id]) end def edit + @forum_post = ForumPost.find(params[:id]) end def show + @forum_post = ForumPost.find(params[:id]) end def create + @forum_post = ForumPost.new(params[:forum_post]) + if @forum_post.save + redirect_to forum_post_path(@forum_post) + else + render :action => "new" + end end def update + @forum_post = ForumPost.find(params[:id]) + if @forum_post.update_attributes(params[:forum_post]) + redirect_to forum_post_path(@forum_post) + else + render :action => "edit" + end end def destroy + @forum_post = ForumPost.find(params[:id]) + @forum_post.destroy + redirect_to forum_topic_path(@forum_post.topic_id) end end diff --git a/app/controllers/forum_topics_controller.rb b/app/controllers/forum_topics_controller.rb index 39c7ce7cf..25b87e4f0 100644 --- a/app/controllers/forum_topics_controller.rb +++ b/app/controllers/forum_topics_controller.rb @@ -1,22 +1,42 @@ class ForumTopicsController < ApplicationController def new + @forum_topic = ForumTopic.new end def edit + @forum_topic = ForumTopic.find(params[:id]) end def index + @search = ForumTopic.search(params[:search]) + @forum_topics = @search.paginate(:page => params[:page], :order => "updated_at DESC") end def show + @forum_topic = ForumTopic.find(params[:id]) end def create + @forum_topic = ForumTopic.new(params[:forum_topic]) + if @forum_topic.save + redirect_to forum_topic_path(@forum_topic) + else + render :action => "new" + end end def update + @forum_topic = ForumTopic.find(params[:id]) + if @forum_topic.update_attributes(params[:forum_topic]) + redirect_to forum_topic_path(@forum_topic) + else + render :action => "edit" + end end def destroy + @forum_topic = ForumTopic.find(params[:id]) + @forum_topic.destroy + redirect_to forum_topics_path end end diff --git a/app/models/forum_topic.rb b/app/models/forum_topic.rb index f1e45aa14..53dea54a0 100644 --- a/app/models/forum_topic.rb +++ b/app/models/forum_topic.rb @@ -4,4 +4,5 @@ class ForumTopic < ActiveRecord::Base has_many :posts, :class_name => "ForumPost", :order => "forum_posts.id asc" validates_presence_of :title, :creator_id scope :search_title, lambda {|title| where(["text_index @@ plainto_tsquery(?)", title])} + accepts_nested_attributes_for :forum_posts end diff --git a/app/views/artist_versions/index.html.erb b/app/views/artist_versions/index.html.erb index eb710542a..dbc545abf 100644 --- a/app/views/artist_versions/index.html.erb +++ b/app/views/artist_versions/index.html.erb @@ -1,4 +1,4 @@ -
| <%= link_to h(artist_version.name), artist_versions_path(:artist_id => @artist.id) %> | +<%= link_to h(artist_version.name), artist_versions_path(:artist_id => artist_version.artist_id) %> | <%= h artist_version.other_names %> | <%= h artist_version.group_name %> | <%= time_ago_in_words artist_version.created_at %> ago | @@ -33,14 +33,5 @@ <%= will_paginate(@artist_versions) %> -<% content_for("footer") do %> -