summaryrefslogtreecommitdiff
path: root/app/views/pms
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/pms')
-rw-r--r--app/views/pms/_form.html.erb16
-rw-r--r--app/views/pms/index.html.erb173
-rw-r--r--app/views/pms/show.html.erb86
3 files changed, 216 insertions, 59 deletions
diff --git a/app/views/pms/_form.html.erb b/app/views/pms/_form.html.erb
index 80781a5..b329e24 100644
--- a/app/views/pms/_form.html.erb
+++ b/app/views/pms/_form.html.erb
@@ -12,24 +12,16 @@
<% end %>
<div class="field">
- <%= f.label :author_id %><br>
- <%= f.text_field :author_id %>
- </div>
- <div class="field">
<%= f.label :recipient_id %><br>
<%= f.text_field :recipient_id %>
</div>
- <div class="field">
- <%= f.label :message %><br>
- <%= f.text_area :message %>
- </div>
- <div class="field">
+ <div class="field">
<%= f.label :subject %><br>
- <%= f.text_area :subject %>
+ <%= f.text_field :subject %>
</div>
<div class="field">
- <%= f.label :conversation_id %><br>
- <%= f.text_field :conversation_id %>
+ <%= f.label :message %><br>
+ <%= f.text_area :message %>
</div>
<div class="actions">
<%= f.submit %>
diff --git a/app/views/pms/index.html.erb b/app/views/pms/index.html.erb
index b5169f5..159b3f9 100644
--- a/app/views/pms/index.html.erb
+++ b/app/views/pms/index.html.erb
@@ -1,35 +1,160 @@
-<h1>Listing pms</h1>
+<%
+# Copyright (C) 2014 Andrew Murrell
+# Copyright (C) 2014 Davis Webb
+# Copyright (C) 2014 Guntas Grewal
+# Copyright (C) 2014 Luke Shumaker
+# Copyright (C) 2014 Nathaniel Foy
+# Copyright (C) 2014 Tomer Kimia
+#
+# This file is part of Leaguer.
+#
+# Leaguer is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Leaguer is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the Affero GNU General Public License
+# along with Leaguer. If not, see <http://www.gnu.org/licenses/>.
+%>
+<h1> Your Conversations </h1>
+
+<%= link_to 'Start a new conversation', new_pm_path %>
+<br>
+
+<h3>Unread Conversations</h3>
+<% conversations = current_user.mailbox.conversations %>
<table>
- <thead>
- <tr>
- <th>Author</th>
- <th>Recipient</th>
- <th>Message</th>
- <th>Subject</th>
- <th>Conversation</th>
- <th></th>
- <th></th>
- <th></th>
- </tr>
- </thead>
+ <col width="150">
+ <col width="250">
+ <col width="300">
+ <tbody>
+ <%# if conversations.reject { |c| c.is_unread?(current_user) && (c.receipts_for current_user).last.message.sender != current_user }.empty? %>
+ <tr>
+ <tr>
+ <td><b>With</b></td>
+ <td><b>Subject</b></td>
+ <td><b>Body</b></td>
+ </tr>
+ <% conversations.each do |conversation| %>
+ <% receipts = conversation.receipts_for current_user %>
+ <% if conversation.is_unread?(current_user) && receipts.last.message.sender != current_user %>
+ <% message = receipts.last.message %>
+ <tr>
+ <% if conversation.subject == "Pay Attention!" %>
+ <% conversation.mark_as_read(current_user) %>
+ <% end %>
+ <td>
+ <% people = conversation.participants %>
+ <% people.each do |person| %>
+ <% unless person == current_user %>
+ <%= truncate(person.user_name, length: 20) %>
+ <% end %>
+ <% end %>
+ </td>
+ <td><%= truncate(conversation.subject, length: 30) %></td>
+ <td><%= truncate(message.body, length: 42) %></td>
+ <td><%= link_to 'View', @pms.find_by(conversation: conversation) %></td>
+ </tr>
+ <% end %>
+ <% end %>
+ </tr>
+ <%# else %>
+
+ <%# end %>
+ </tbody>
+</table>
+<br>
+<h3>Read Conversations</h3>
+<% conversations = current_user.mailbox.conversations %>
+
+<table>
+ <col width="150">
+ <col width="250">
+ <col width="300">
<tbody>
- <% @pms.each do |pm| %>
+ <%# if conversations.reject { |c| c.is_read?(current_user) || (c.receipts_for current_user).last.message.sender == current_user }.empty? %>
<tr>
- <td><%= pm.author %></td>
- <td><%= pm.recipient %></td>
- <td><%= pm.message %></td>
- <td><%= pm.subject %></td>
- <td><%= pm.conversation %></td>
- <td><%= link_to 'Show', pm %></td>
- <td><%= link_to 'Edit', edit_pm_path(pm) %></td>
- <td><%= link_to 'Destroy', pm, method: :delete, data: { confirm: 'Are you sure?' } %></td>
+ <tr>
+ <td><b>With</b></td>
+ <td><b>Subject</b></td>
+ <td><b>Body</b></td>
+ </tr>
+ <% conversations.each do |conversation| %>
+ <% receipts = conversation.receipts_for current_user %>
+ <% if conversation.is_read?(current_user) || receipts.last.message.sender == current_user %>
+ <% message = receipts.last.message %>
+ <tr>
+ <% if conversation.subject != "Pay Attention!" %>
+ <td>
+ <% people = conversation.participants %>
+ <% people.each do |person| %>
+ <% unless person == current_user %>
+ <%= truncate(person.user_name, length: 20) %>
+ <% end %>
+ <% end %>
+ </td>
+ <td><%= truncate(conversation.subject, length: 30) %></td>
+ <td><%= truncate(message.body, length: 42) %></td>
+ <td><%= link_to 'View', @pms.find_by(conversation: conversation) %></td>
+ <% end %>
+ </tr>
+ <% end %>
+ <% end %>
</tr>
- <% end %>
+ <% #else %>
+
+ <% #end %>
</tbody>
</table>
<br>
+<h3>Alerts</h3>
+<% conversations = current_user.mailbox.conversations %>
-<%= link_to 'New Pm', new_pm_path %>
+<table>
+ <col width="150">
+ <col width="650">
+ <tbody>
+ <%# if conversations.reject { |c| c.is_read?(current_user) || (c.receipts_for current_user).last.message.sender == current_user }.empty? %>
+ <tr>
+ <tr>
+ <td><b>With</b></td>
+ <td><b>Body</b></td>
+ </tr>
+ <% conversations.each do |conversation| %>
+ <% receipts = conversation.receipts_for current_user %>
+ <% if conversation.is_read?(current_user) || receipts.last.message.sender == current_user %>
+ <% message = receipts.last.message %>
+ <tr>
+ <% if conversation.subject == "Pay Attention!" && message.sender != current_user %>
+ <td>
+ <% people = conversation.participants %>
+ <% people.each do |person| %>
+ <% unless person == current_user %>
+ <%= truncate(person.user_name, length: 20) %>
+ <% end %>
+ <% end %>
+ </td>
+ <td><%= truncate(message.body, length: 80) %></td>
+ <td><%= link_to 'View', @pms.find_by(conversation: conversation) %></td>
+ <% end %>
+ </tr>
+ <% end %>
+ <% end %>
+ </tr>
+ <% #else %>
+
+ <% #end %>
+ </tbody>
+</table>
+
+<br>
+<br>
+<br>
diff --git a/app/views/pms/show.html.erb b/app/views/pms/show.html.erb
index 2f3b944..5ef0b41 100644
--- a/app/views/pms/show.html.erb
+++ b/app/views/pms/show.html.erb
@@ -1,29 +1,69 @@
-<p id="notice"><%= notice %></p>
+<%
+# Copyright (C) 2014 Andrew Murrell
+# Copyright (C) 2014 Davis Webb
+# Copyright (C) 2014 Guntas Grewal
+# Copyright (C) 2014 Luke Shumaker
+# Copyright (C) 2014 Nathaniel Foy
+# Copyright (C) 2014 Tomer Kimia
+#
+# This file is part of Leaguer.
+#
+# Leaguer is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Leaguer is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the Affero GNU General Public License
+# along with Leaguer. If not, see <http://www.gnu.org/licenses/>.
+%>
+<%= link_to '« Back to all private messages', pms_path, class: :breadcrumb %>
-<p>
- <strong>Author:</strong>
- <%= @pm.author %>
-</p>
+<div>
+ <p>
+ <strong>Participants:</strong>
+ <% receps = @pm.conversation.participants %>
+ <% receps.each do |recep| %>
+ <% #unless recep == @pm.conversation.last_sender %>
+ <%= recep.user_name %>,
+ <% #end %>
+ <% end %>
+ <%= "and the NSA" %>
+ </p>
-<p>
- <strong>Recipient:</strong>
- <%= @pm.recipient %>
-</p>
+ <p>
+ <strong>Subject:</strong>
+ <%= @pm.conversation.subject %>
+ </p>
+</div>
-<p>
- <strong>Message:</strong>
- <%= @pm.message %>
-</p>
+<% receipts = @pm.conversation.receipts_for current_user %>
+<% receipts.each do |receipt| %>
+ <% message = receipt.message %>
+ <hr>
+ <p>
+ <strong><%= message.sender.user_name %>:</strong>
+ <%= message.body %>
+ </p>
+<% end %>
-<p>
- <strong>Subject:</strong>
- <%= @pm.subject %>
-</p>
+<hr>
-<p>
- <strong>Conversation:</strong>
- <%= @pm.conversation %>
-</p>
+<div>
+ <% @pm.message = "" %>
+ <%= form_for(@pm) do |f| %>
+ <div class="field">
+ <%= f.text_area :message %>
+ </div>
-<%= link_to 'Edit', edit_pm_path(@pm) %> |
-<%= link_to 'Back', pms_path %>
+ <div class="actions">
+ <%= submit_tag("Reply", :class => "signup") %>
+ </div>
+ <% end %>
+</div>
+
+<% @pm.conversation.mark_as_read(current_user) %>