Refactored messages modul, but refactoring is still neccessary.
This commit is contained in:
parent
6ac04d5e19
commit
d5552059ce
13 changed files with 81 additions and 146 deletions
|
|
@ -1,76 +1,29 @@
|
|||
class MessagesController < ApplicationController
|
||||
|
||||
|
||||
# Renders the "inbox" action.
|
||||
def index
|
||||
@messages = Message.public.paginate :page => params[:page], :per_page => 20, :order => 'created_at DESC'
|
||||
end
|
||||
|
||||
|
||||
# Creates a new message object.
|
||||
def new
|
||||
@message = Message.new
|
||||
@message = Message.new(params[:message])
|
||||
end
|
||||
|
||||
|
||||
# Creates a new message.
|
||||
def create
|
||||
@message = @current_user.send_messages.new(params[:message])
|
||||
if @message.save
|
||||
#FIXME: Send Mails wit ID instead of using message.state ...
|
||||
call_rake :send_emails
|
||||
flash[:notice] = "Nachricht ist gespeichert und wird versendet."
|
||||
redirect_to messages_path
|
||||
redirect_to messages_url, :notice => "Nachricht ist gespeichert und wird versendet."
|
||||
else
|
||||
render :action => 'new'
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
# Shows a single message.
|
||||
def show
|
||||
@message = Message.find(params[:id])
|
||||
end
|
||||
|
||||
# Replys to the message specified through :id.
|
||||
def reply
|
||||
message = Message.find(params[:id])
|
||||
@message = Message.new(:recipient => message.sender, :subject => "Re: #{message.subject}")
|
||||
@message.body = "#{message.sender.nick} schrieb am #{I18n.l(message.created_at.to_date)} um #{I18n.l(message.created_at, :format => :time)}:\n"
|
||||
message.body.each_line{|l| @message.body += "> #{l}"}
|
||||
render :action => 'new'
|
||||
end
|
||||
|
||||
# Shows new-message form with the recipient user specified through :id.
|
||||
def user
|
||||
if (recipient = User.find(params[:id]))
|
||||
@message = Message.new(:recipient => recipient)
|
||||
render :action => 'new'
|
||||
else
|
||||
flash[:error] = 'Unbekannte_r EmpfängerIn.'
|
||||
redirect_to :action=> 'index'
|
||||
end
|
||||
end
|
||||
|
||||
# Shows new-message form with the recipient user specified through :id.
|
||||
def group
|
||||
group = Group.find(params[:id], :include => :memberships)
|
||||
if (group && !group.memberships.empty?)
|
||||
@message = Message.new(:group_id => group.id)
|
||||
render :action => 'new'
|
||||
else
|
||||
flash[:error] = 'Empfängergruppe ist unbekannt oder hat keine Mitglieder.'
|
||||
redirect_to :action=> 'index'
|
||||
end
|
||||
end
|
||||
|
||||
# Auto-complete for recipient user list.
|
||||
def auto_complete_for_message_recipients_nicks
|
||||
@users = User.find(:all,
|
||||
:conditions => ['LOWER(nick) LIKE ?', '%' + params[:message][:recipients_nicks].downcase + '%'],
|
||||
:order => :nick, :limit => 8)
|
||||
render :partial => '/shared/auto_complete_users'
|
||||
end
|
||||
|
||||
# Returns list of all users as auto-completion hint.
|
||||
def user_list
|
||||
@users = User.find(:all, :order => :nick)
|
||||
render :partial => '/shared/auto_complete_users'
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue