commit: 496ba5a82637b8f023846f53d6c219d3e18259ad
Author: Alex Legler <alex <AT> a3li <DOT> li>
AuthorDate: Mon Feb 23 20:58:52 2015 +0000
Commit: Alex Legler <a3li <AT> gentoo <DOT> org>
CommitDate: Mon Feb 23 20:58:52 2015 +0000
URL:
http://sources.gentoo.org/gitweb/?p=proj/ag-web.git;a=commit;h=496ba5a8
Various UI bit fixes for new storage format
---
lib/helpers.rb | 26 +++++++++++++-------------
public/css/main.css | 7 +++++--
views/layout.erb | 3 ++-
views/listmonth.erb | 2 +-
views/message.erb | 10 +++++-----
views/report.erb | 6 +++---
6 files changed, 29 insertions(+), 25 deletions(-)
diff --git a/lib/helpers.rb b/lib/helpers.rb
index 525dd93..5b4d2e3 100644
--- a/lib/helpers.rb
+++ b/lib/helpers.rb
@@ -42,8 +42,9 @@ helpers do
ERB::Util::url_encode(text)
end
- def strip_email_domain(str)
- str.split(/,\s*/).map do |email|
+ # This method strips domains from header fields.
+ def strip_email_headers(ary)
+ [ary].flatten.map do |email|
email.gsub(/@(.*?)(>|$)/) do |s|
if $1 == 'gentoo.org'
"@g.o#{$2}"
@@ -53,21 +54,20 @@ helpers do
"@#{'×' * $1.length}#{$2}"
end
end
- end.join(', ')
+ end
end
+ # This method is meant to strip emails from free text, not header fields
def strip_email(str)
- str.split(/,\s*/).map do |email|
- email.gsub(/([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+)\.([a-zA-Z]{2,10})/) do
|s|
- if $2 == 'gentoo' and $3 == 'org'
- "#{$1}@g.o"
- elsif $2 == 'lists.gentoo' and $3 == 'org'
- "#{$1}@l.g.o"
- else
- "#{$1}@#{'×' * $2.length}.#{$3}"
- end
+ str.gsub(/([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+)\.([a-zA-Z]{2,10})/) do |s|
+ if $2 == 'gentoo' and $3 == 'org'
+ "#{$1}@g.o"
+ elsif $2 == 'lists.gentoo' and $3 == 'org'
+ "#{$1}@l.g.o"
+ else
+ "#{$1}@#{'×' * $2.length}.#{$3}"
end
- end.join(', ')
+ end
end
def linkize(str)
diff --git a/public/css/main.css b/public/css/main.css
index c6ffc94..449d356 100644
--- a/public/css/main.css
+++ b/public/css/main.css
@@ -21,11 +21,11 @@
}
.ag-message-table-date {
- width: 22%;
+ width: 18%;
}
.ag-message-table-from {
- width: 18%;
+ width: 22%;
}
.ag-mostrecent-table-author {
@@ -91,4 +91,7 @@
.ag-view-selection {
margin-bottom: .5em;
+}
+
+.ag-date {
}
\ No newline at end of file
diff --git a/views/layout.erb b/views/layout.erb
index 67a7e8b..e3bb34c 100644
--- a/views/layout.erb
+++ b/views/layout.erb
@@ -93,7 +93,8 @@
<div class="row">
<div class="col-xs-12 col-md-offset-2 col-md-7">
<p class="spacer">
- All contents reflect the opinion of the author, not the Gentoo
project or the Gentoo Foundation.
+ All times displayed are UTC (GMT+0).<br>
+ Contents reflect the opinion of the author, not the Gentoo
project or the Gentoo Foundation.
</p>
</div>
<div class="col-xs-12 col-md-3">
diff --git a/views/listmonth.erb b/views/listmonth.erb
index 485df49..76a2244 100644
--- a/views/listmonth.erb
+++ b/views/listmonth.erb
@@ -23,7 +23,7 @@
<tr>
<td><a href="../../message/<%= message['_id'] %>"><%= h
message['_source']['subject'] %></a></td>
<td><%= h message['_source']['from_realname'] %></td>
- <td><%= date_format message['_source']['date'] %></td>
+ <td><span class="ag-date"><%= date_format message['_source']['date']
%></span></td>
</tr>
<% end %>
</table>
diff --git a/views/message.erb b/views/message.erb
index 78823c2..ee700fd 100644
--- a/views/message.erb
+++ b/views/message.erb
@@ -4,16 +4,16 @@
<table class="table table-condensed ag-header-table">
<tr>
<th class="ag-header-name-col">From:</th>
- <td><%= h strip_email_domain(message['_source']['from']) %></td>
+ <td><%= h strip_email_headers(message['_source']['from']).first %></td>
</tr>
<tr>
<th>To:</th>
- <td><%= h strip_email_domain(message['_source']['to']) %></td>
+ <td><%= h strip_email_headers(message['_source']['to']).join ', ' %></td>
</tr>
- <% unless message['_source']['cc'] == nil or message['_source']['cc'] ==
'' %>
+ <% unless message['_source']['cc'] == nil or message['_source']['cc'] ==
[] %>
<tr>
<th>Cc:</th>
- <td><%= h strip_email_domain(message['_source']['cc']) %></td>
+ <td><%= h strip_email_headers(message['_source']['cc']).join ', ' %></td>
</tr>
<% end %>
<tr>
@@ -72,7 +72,7 @@
<% children.each do |child| %>
<tr>
<td><a href="<%= child['_id'] %>"><%= h child['_source']['subject']
%></a></td>
- <td><%= h strip_email_domain(child['_source']['from']) %></td>
+ <td><%= h strip_email_headers(child['_source']['from']).first %></td>
</tr>
<% end %>
</table>
diff --git a/views/report.erb b/views/report.erb
index 559dc23..13a8cf4 100644
--- a/views/report.erb
+++ b/views/report.erb
@@ -11,15 +11,15 @@
</tr>
<tr>
<th class="ag-header-name-col">From:</th>
- <td><%= h strip_email_domain(message['_source']['from']) %></td>
+ <td><%= h strip_email_headers(message['_source']['from']).first %></td>
</tr>
<tr>
<th>To:</th>
- <td><%= h strip_email_domain(message['_source']['to']) %></td>
+ <td><%= h strip_email_headers(message['_source']['to']).join ', ' %></td>
</tr>
<tr>
<th>Cc:</th>
- <td><%= h strip_email_domain(message['_source']['cc']) %></td>
+ <td><%= h strip_email_headers(message['_source']['cc']).join ', ' %></td>
</tr>
<tr>
<th>Subject:</th>