Advertisement
Guest User

Untitled

a guest
Jul 31st, 2017
516
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.82 KB | None | 0 0
  1. ## list method in inbox controller
  2. def list
  3.  
  4. @page_title = 'Inbox'
  5. @message = Array.new
  6.  
  7. if params[:id] then @page = params[:id].to_i else @page = 1 end
  8. #let's just set num_to_display manually for now
  9. @emails_per_page = 2
  10. @emails_per_page = (session[:total_messages] - 1) if(@emails_per_page > session[:total_messages])
  11. @first = @emails_per_page * (@page - 1)
  12. @last = @first @emails_per_page - 1
  13. @last = session[:total_messages] - 1 if (@last >= session[:total_messages])
  14. @counter = 0
  15. @first.upto(@last) do |number|
  16. @message[@counter] = session[:inbox].get_header(session[:inbox].emails[number])
  17. @counter = 1
  18. end
  19. render :partial => 'list', :locals => {:first => @first,
  20. :message => @message,
  21. :last => @last} if request.xhr?
  22. end
  23.  
  24. ## list.rhtml
  25. <table width="100%">
  26. <tr><td colspan="3" align="right"><%= button_to 'logout', :action => 'logout' %></td></tr>
  27. <tr>
  28. <td width="88%"></td>
  29. <td align="right" width="6%">
  30. <% if @first > 0 then %>
  31. <% previous_text = '<<== Newer' %>
  32. <%= link_to_remote(previous_text, :update => "message_list",
  33. :url => { :action => 'list', :id => @page-1})%>
  34. <% else %>
  35. <%= '' %>
  36. <% end %>
  37. </td>
  38. <td align="left" width="6%">
  39. <% if @last != (session[:total_messages] - 1) then %>
  40. <% next_text = 'Older ==>>' %>
  41. <%= link_to_remote(next_text, :update => "message_list",
  42. :url => { :action => 'list', :id => @page 1},
  43. :position => "top")%>
  44. <% else %>
  45. <%= '' %>
  46. <% end %>
  47. </td>
  48. </tr>
  49. </table>
  50. <div id="message_list">
  51. <%= render :partial => 'list', :locals => {:first => @first,
  52. :message => @message,
  53. :last => @last} %>
  54.  
  55. ## _list.rhtml
  56.  
  57. <table>
  58. <%counter = 0%>
  59. <% @first.upto(@last) do |number|%>
  60. <tr>
  61. <td><%= message[counter][:from] %></td>
  62. <td><%= message[counter][:subject] %></td>
  63. <td><%= message[counter][:date] %></td>
  64. <%counter = 1%>
  65. </tr>
  66. <% end %>
  67. </table>
  68.  
  69. ## Output in browser after clicking "Older" three times, only the top 2 need to be displayed
  70. Older ==>>
  71. b@gmail.com Testing from b Tue Nov 21 12:34:42 -0500 2006
  72. s@gmail.com Testing from s Tue Nov 21 12:35:29 -0500 2006
  73. b@gmail.com Testing from b Tue Nov 21 12:34:42 -0500 2006
  74. s@gmail.com Testing from s Tue Nov 21 12:35:29 -0500 2006
  75. a@gmail.com Test 1 Sun Nov 19 01:45:13 -0500 2006
  76. a@gmail.com Test 2 Tue Nov 21 12:34:07 -0500 2006
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement