journalduhacker/app/controllers/filters_controller.rb

33 lines
769 B
Ruby
Raw Normal View History

2012-07-04 05:24:18 +02:00
class FiltersController < ApplicationController
before_filter :authenticate_user
2012-07-04 05:24:18 +02:00
def index
@cur_url = "/filters"
@title = "Filtered Tags"
@tags = Tag.all_with_story_counts_for(@user)
if @user
@filtered_tags = @user.tag_filter_tags.to_a
else
@filtered_tags = tags_filtered_by_cookie.to_a
end
2012-07-04 05:24:18 +02:00
end
def update
tags_param = params.permit(:tags => [])[:tags]
new_tags = tags_param.blank? ? [] : Tag.where(:tag => tags_param).to_a
new_tags.keep_if {|t| t.valid_for? @user }
2012-07-04 05:24:18 +02:00
if @user
@user.tag_filter_tags = new_tags
else
cookies.permanent[TAG_FILTER_COOKIE] = new_tags.map(&:tag).join(",")
2012-07-04 05:24:18 +02:00
end
flash[:success] = "Your filters have been updated."
redirect_to filters_path
2012-07-04 05:24:18 +02:00
end
end