summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Legler <alex@a3li.li>2015-02-23 21:58:52 +0100
committerAlex Legler <alex@a3li.li>2015-02-23 21:58:52 +0100
commit496ba5a82637b8f023846f53d6c219d3e18259ad (patch)
treefef8a7a46c25cda84df262beec5880e529a1f0f3
parentAll dates are UTC now, strip timezone (diff)
downloadfrontend-496ba5a82637b8f023846f53d6c219d3e18259ad.tar.gz
frontend-496ba5a82637b8f023846f53d6c219d3e18259ad.tar.bz2
frontend-496ba5a82637b8f023846f53d6c219d3e18259ad.zip
Various UI bit fixes for new storage format
-rw-r--r--lib/helpers.rb26
-rw-r--r--public/css/main.css7
-rw-r--r--views/layout.erb3
-rw-r--r--views/listmonth.erb2
-rw-r--r--views/message.erb10
-rw-r--r--views/report.erb6
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>