Skip to content

Commit

Permalink
Merge branch 'master' of git@github.com:tog/tog_mail
Browse files Browse the repository at this point in the history
  • Loading branch information
molpe committed Sep 22, 2008
2 parents 3e2d0d9 + 01fd976 commit 80ef238
Show file tree
Hide file tree
Showing 6 changed files with 129 additions and 99 deletions.
2 changes: 1 addition & 1 deletion app/controllers/member/messages_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ class Member::MessagesController < Member::BaseController
include ActionView::Helpers::SanitizeHelper

def show
@message = current_user.messages.find(params[:id])
@message = current_user.get_message(params[:id])
@message.read!
respond_to do |format|
format.html
Expand Down
9 changes: 7 additions & 2 deletions app/models/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,13 @@ class User < ActiveRecord::Base
has_many :folders
has_many :sent_messages, :class_name => "Message", :foreign_key => "from_user_id"
has_many :received_messages, :class_name => "Message", :foreign_key => "to_user_id"
def messages
sent_messages + received_messages

def get_message(id)
begin
sent_messages.find(id)
rescue
received_messages.find(id)
end
end

end
71 changes: 36 additions & 35 deletions app/views/member/messages/index.html.erb
Original file line number Diff line number Diff line change
@@ -1,43 +1,44 @@
<h2>TogMail</h2>
<h3>
<% for folder in @folder.siblings %>
<%= link_to folder.name, {:controller=>"messages",:action=>"index",:id=>folder.id}, :class=>'maincolor2' -%> |
<%= link_to folder.name, {:controller=>"messages",:action=>"index",:id=>folder.id} -%> |
<% end %>
<%= link_to "Create new message", new_member_message_url, {:class => "button mainaction add", :title => "Compose a new message"} %>
</h3>

<table>
<thead>
<tr>
<th>Subject</th>
<th>From</th>
<th>To</th>
<th>When</th>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="5">
<%= will_paginate @messages %>
</td>
</tr>
</tfoot>
<%# for msg in @folder.messages%>
<% for msg in @messages %>
<tr>
<% cont = link_to msg.subject, member_message_path(:id => msg) %>
<td><%= msg.unread? ? content_tag(:strong, cont) : cont %></td>
<td><%= (msg.from != current_user ) ? msg.from.login : "You" %></td>
<td><%= (msg.to != current_user ) ? msg.to.login : "You" %></td>
<td><%= msg.date %></td>
</tr>
<%end%>
<% if @messages.blank? %>
<tr>
<td>No messages.</td>
<td></td>
<td></td>
</tr>
<% end %>
<table class="tableB">
<thead>
<tr>
<th scope="col">Subject</th>
<th scope="col">From</th>
<th scope="col">To</th>
<th scope="col">When</th>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="4" class="info_results">
<span class="info_items"><%= page_entries_info @messages %></span>
<span class="pages_navigation right">
<%= will_paginate @messages, :container => false %>
</span>
</td>
</tr>
</tfoot>
<tbody>
<% for msg in @messages %>
<tr<%= cycle(' class="pair"','') -%>>
<% cont = link_to msg.subject, member_message_path(:id => msg) %>
<td><%= msg.unread? ? content_tag(:strong, cont) : cont %></td>
<td><%= (msg.from != current_user ) ? msg.from.login : "You" %></td>
<td><%= (msg.to != current_user ) ? msg.to.login : "You" %></td>
<td><%= msg.date %></td>
</tr>
<%end%>
<% if @messages.blank? %>
<tr>
<td colspan="4">No messages.</td>
</tr>
<% end %>
<tbody>
</table>

85 changes: 43 additions & 42 deletions app/views/member/messages/new.html.erb
Original file line number Diff line number Diff line change
@@ -1,45 +1,46 @@
<h2><%= link_to "TogMail", member_messages_path %> / Compose a new message</h2>
<div class="titleB"><%= link_to "TogMail", member_messages_path %> / Compose a new message</div>
<br/>
<%= error_messages_for :message %>
<% form_for :message, :url => member_messages_path do |f| %>
<dl class="cols clearfix">
<dt><label for="from">From</label></dt>
<dd><%= @from.profile.full_name %></dd>

<dt><label for="to">To</label></dt>
<dd>
<% if @to %>
<%= @to.profile.full_name %>
<%= f.hidden_field :to_user_id, :value => @to.id %>
<% else %>
<select name="message[to_user_id]">
<option value="0">
Select...
</option>
<optgroup label="Friends">
<%= options_from_collection_for_select(@from.profile.friends, "id", "full_name") %>
</optgroup>
<optgroup label="Followers">
<%= options_from_collection_for_select(@from.profile.followers, "id", "full_name") %>
</optgroup>
<optgroup label="Followings">
<%= options_from_collection_for_select(@from.profile.followings, "id", "full_name") %>
</optgroup>
</select>
<% end %>
</dd>

<dt><label for="subject">Subject</label></dt>
<dd><%= f.text_field :subject %></dd>

<dt><label for="content">Content</label></dt>
<dd><%= f.text_area :content, :size => '80x10' %></dd>

<dt>&nbsp;</dt>
<dd>
<div class="clearfix">
<%= submit_tag 'Send message', :class => "button mainaction" %>
</div>
</dd>

</dl>
<fieldset>
<div class="fields">
<p>
<label>From</label>
<%= @from.profile.full_name %>
</p>
<p>
<label for="message_to">To</label>
<% if @to %>
<%= @to.profile.full_name %>
<%= f.hidden_field :to_user_id, :value => @to.id %>
<% else %>
<select name="message[to_user_id]" id="message_to" class="fieldbox">
<option value="0">
Select...
</option>
<optgroup label="Friends">
<%= options_from_collection_for_select(@from.profile.friends, "id", "full_name") %>
</optgroup>
<optgroup label="Followers">
<%= options_from_collection_for_select(@from.profile.followers, "id", "full_name") %>
</optgroup>
<optgroup label="Followings">
<%= options_from_collection_for_select(@from.profile.followings, "id", "full_name") %>
</optgroup>
</select>
<% end %>
</p>
<p>
<label for="message_subject">Subject</label>
<%= f.text_field :subject, :class => "fieldbox wide" %>
</p>
<p>
<label for="message_content">Content</label>
<%= f.text_area :content, :size => '80x10', :class => "fieldbox wide" %>
</p>
</div>
</fieldset>
<div class="actions">
<%= submit_tag 'Send message', :class => "button mainaction" %>
</div>
<% end %>
43 changes: 30 additions & 13 deletions app/views/member/messages/reply.html.erb
Original file line number Diff line number Diff line change
@@ -1,19 +1,36 @@
<h2><%= link_to "TogMail", admin_messages_path %> / Reply a message</h2>
<div class="titleB"><%= link_to "TogMail", member_messages_path %> / Reply a message</div>
<br />

<%= error_messages_for :message %>
<% form_for :message, :url => admin_messages_path do |f| %>
<% form_for :message, :url => member_messages_path do |f| %>
<%= f.hidden_field :to_user_id, :value => @reply_to.from.id %>
<fieldset>
<label>From <%= current_user.profile.full_name %></label>
<label>To <%= @reply_to.from.profile.full_name %></label>

<% subject = @reply_to.subject.starts_with?("Re:") ? @reply_to.subject : "Re: #{@reply_to.subject}" %>
<label>Subject <%= f.text_field :subject, :value => subject %></label>

<%= @reply_to.from.profile.full_name %> said:<br/>
<p><%= @reply_to.content %></p>

<label>Content <%= f.text_area :content %></label>
<%= f.submit "Send message" %>
<div class="fields">
<p>
<label>From</label>
<%= current_user.profile.full_name %><br/>
</p>
<p>
<label>To</label>
<%= @reply_to.from.profile.full_name %>
</p>
<p>
<% subject = @reply_to.subject.starts_with?("Re:") ? @reply_to.subject : "Re: #{@reply_to.subject}" %>
<label>Subject</label>
<%= f.text_field :subject, :value => subject, :class=>"fieldbox wide" %>
</p>
<p>
<label><%= @reply_to.from.profile.full_name %> said</label>
<%= @reply_to.content %>
</p>
<p>
<label for="message_content">Content</label>
<%= f.text_area :content, :class=>"fieldbox wide" %>
</p>
</div>
</fieldset>
<div class="actions">
<%= f.submit "Send message", :class=>"button mainaction" %>
</div>

<% end %>
18 changes: 12 additions & 6 deletions app/views/member/messages/show.html.erb
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
<h2><%=h @message.subject %></h2>
<div class="titleB"><%=h @message.subject %></div>
<br />
<p>
<b>From:</b>
<strong>From:</strong>
<%=h @message.from.login %>
<br/>
<strong>To:</strong>
<%=h @message.to.login %>
</p>

<p>
<b>Content:</b>
<strong>Content:</strong>
<%= @message.content %>
</p>

<% form_tag admin_message_path(@message), :method => :delete do -%>
<%= submit_tag "Delete this entry", :disable_with => "Please wait...", :type => "image", :src =>"/images/admin/buttons/delete.png" %>
<%= link_to "Reply", reply_admin_message_path(@message) unless current_user == @message.from %>
<% form_tag member_message_path(@message), :method => :delete do -%>
<div class="actions">
<%= link_to "Reply", reply_member_message_path(@message), :class=>"button mainaction" unless current_user == @message.from %>
<%= submit_tag "Delete this entry ", :disable_with => "Please wait...", :class=>"button delete" %>
</div>
<% end -%>

0 comments on commit 80ef238

Please sign in to comment.