2 class LetterController < ApplicationController
8 @letter = Letter.find params[:id]
9 @section_count = SectionLetter.count(:conditions => ['letter_id = ?', @letter.id]).to_i
10 @section_sum = SectionLetter.sum(:count, :conditions => ['letter_id = ?', @letter.id]).to_i
11 @sections = Section.find(:all, :include => :section_letters,
12 :conditions => ['section_letters.letter_id = ?', @letter.id]
19 redirect_to :action => :list
23 @page = params[:page].to_i
24 @page = 1 if @page < 1
25 @search = params[:search]
26 @filter = params[:filter].to_s.to_i
28 @letters = Letter.find(:all, :include => 'hateda_letter',
29 :conditions => ['hateda_letters.upload_at is null or letters.update_at > hateda_letters.upload_at']
33 ['letter = ?', @search]
37 @paginate, @letters = paginate(:letters, :conditions => cond,
38 :order => 'count desc', :per_page => 20
42 render :template => '/hateda/letter_list'
51 verify :method => :post, :only => [ :destroy, :create, :update, :upload_letter, :remove_letter ],
52 :redirect_to => { :action => :list }
55 @letter = Letter.find params[:id]
56 @section_count = SectionLetter.count(:conditions => ['letter_id = ?', @letter.id]).to_i
57 @section_sum = SectionLetter.sum(:count, :conditions => ['letter_id = ?', @letter.id]).to_i
58 @sections = Section.find(:all, :include => :section_letters,
59 :conditions => ['section_letters.letter_id = ?', @letter.id]
61 @letter.detail = @letter.edit_detail
65 @letter = Letter.find(params[:id])
66 if @letter.update_attributes(params[:letter])
68 render :action => 'show', :id => @letter.id
70 render :action => 'edit'
75 @letter = Letter.find params[:id]
76 HatedaLetter.upload_one @user, @pass, @letter.id
78 render :action => :show, :id => @letter.id
82 htn = Hatena.new(@user, @pass)
83 @letter = Letter.find params[:id]
84 HatedaLetter.remove_one htn, @letter.id
86 render :action => :show, :id => @letter.id
92 if (f = params[:browse][:file]).respond_to?(:read)
93 if f.size > 2.megabytes
94 e = 'ファイルサイズが2MBを超えています'
102 flash[:error] = 'インポートできませんでした'
103 flash[:txt_error] = e
104 redirect_to :controller => '/section', :action => :index
106 redirect_to :controller => '/section', :action => :index
111 send_data(Letter.export, :filename => "letter.txt")