Skip to content

Commit 71b488f

Browse files
committed
Merge pull request #121 from kiela/master
Fix paginating
2 parents 481e089 + 55e640f commit 71b488f

File tree

4 files changed

+33
-19
lines changed

4 files changed

+33
-19
lines changed

lib/resque/server/views/status.erb

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
<%= status_view :status_styles, :layout => false %>
22

3-
<h1 class='wi'>Statuses: <%= @status.uuid %>/<%= @status.name %></h1>
3+
<h1 class='wi'>Status <%= @status.uuid %></h1>
44
<p class='intro'>Viewing a specific job created with Resque::Plugins::Status. <a href="<%= u(:statuses) %>">Return to the list of statuses</a></p>
55

66
<div class="status-holder" rel="<%= @status.status %>" id="status_<%= @status.uuid %>">
7+
<h2>Overview</h2>
78
<div class="status-progress">
89
<div class="status-progress-bar status-<%= @status.status %>" style="width: <%= @status.pct_complete %>%;"></div>
910
<p><%= @status.pct_complete %>%</p>
1011
</div>
1112
<div class="status-message"><%= @status.message %></div>
1213
<div class="status-time"><%= @status.time? ? @status.time : 'Not started' %></div>
14+
1315
<h2>Details</h2>
1416
<div class="status-details">
15-
<table>
17+
<table class="vertically-top">
1618
<thead>
1719
<tr>
1820
<th>Key</th>
@@ -81,7 +83,7 @@
8183
time.setTime(value * 1000);
8284
return time.toUTCString();
8385
} else {
84-
return JSON.stringify(value);
86+
return JSON.stringify(value, null, " ");
8587
}
8688
}
8789

lib/resque/server/views/status_styles.erb

+6
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@
2626
z-index: 10;
2727
color: #333;
2828
}
29+
table.vertically-top td {
30+
vertical-align: text-top;
31+
}
32+
table.vertically-top tr {
33+
border: 1px solid #ccc;
34+
}
2935

3036
.status-holder {
3137
background: #F7F7F7;

lib/resque/server/views/statuses.erb

+13-11
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
<%= status_view :status_styles, :layout => false %>
22

33
<h1 class='wi'>Statuses</h1>
4+
45
<%unless @statuses.empty?%>
5-
<form method="POST" action="<%= u(:statuses) %>/clear" class='clear-failed'>
6-
<input type='submit' name='' value='Clear Statuses' onclick='return confirm("Are you absolutely sure? This cannot be undone.");' />
7-
</form>
8-
<form method="POST" action="<%= u(:statuses) %>/clear/completed" class='clear-failed'>
9-
<input type='submit' name='' value='Clear Completed Statuses' onclick='return confirm("Are you absolutely sure? This cannot be undone.");' />
10-
</form>
11-
<form method="POST" action="<%= u(:statuses) %>/clear/failed" class='clear-failed'>
12-
<input type='submit' name='' value='Clear Failed Statuses' onclick='return confirm("Are you absolutely sure? This cannot be undone.");' />
13-
</form>
6+
<form method="POST" action="<%= u(:statuses) %>/clear" class='clear-failed'>
7+
<input type='submit' name='' value='Clear Statuses' onclick='return confirm("Are you absolutely sure? This cannot be undone.");' />
8+
</form>
9+
<form method="POST" action="<%= u(:statuses) %>/clear/completed" class='clear-failed'>
10+
<input type='submit' name='' value='Clear Completed Statuses' onclick='return confirm("Are you absolutely sure? This cannot be undone.");' />
11+
</form>
12+
<form method="POST" action="<%= u(:statuses) %>/clear/failed" class='clear-failed'>
13+
<input type='submit' name='' value='Clear Failed Statuses' onclick='return confirm("Are you absolutely sure? This cannot be undone.");' />
14+
</form>
1415
<%end%>
16+
1517
<p class='intro'>These are recent jobs created with the Resque::Plugins::Status class</p>
16-
<table>
18+
<table class="vertically-top">
1719
<tr>
1820
<th>ID</th>
1921
<th>Name</th>
@@ -46,7 +48,7 @@
4648
</table>
4749

4850
<% unless @statuses.empty? %>
49-
<%= partial :next_more, :start => @start, :size => @size %>
51+
<%= partial :next_more, :start => @start, :size => @size, :per_page => per_page %>
5052
<% end %>
5153

5254
<%= status_poll(@start) %>

lib/resque/status_server.rb

+9-5
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@ module Resque
55
module StatusServer
66

77
VIEW_PATH = File.join(File.dirname(__FILE__), 'server', 'views')
8+
PER_PAGE = 50
89

910
def self.registered(app)
1011

1112
app.get '/statuses' do
1213
@start = params[:start].to_i
13-
@end = @start + (params[:per_page] || 50)
14+
@end = @start + (params[:per_page] || per_page) - 1
1415
@statuses = Resque::Plugins::Status::Hash.statuses(@start, @end)
15-
@size = @statuses.size
16+
@size = Resque::Plugins::Status::Hash.count
1617
status_view(:statuses)
1718
end
1819

@@ -52,14 +53,17 @@ def self.registered(app)
5253
@polling = true
5354

5455
@start = params[:start].to_i
55-
@end = @start + (params[:per_page] || 50)
56+
@end = @start + (params[:per_page] || per_page) - 1
5657
@statuses = Resque::Plugins::Status::Hash.statuses(@start, @end)
57-
@size = @statuses.size
58-
58+
@size = Resque::Plugins::Status::Hash.count
5959
status_view(:statuses, {:layout => false})
6060
end
6161

6262
app.helpers do
63+
def per_page
64+
PER_PAGE
65+
end
66+
6367
def status_view(filename, options = {}, locals = {})
6468
erb(File.read(File.join(::Resque::StatusServer::VIEW_PATH, "#{filename}.erb")), options, locals)
6569
end

0 commit comments

Comments
 (0)