Hi, I have attached an image file with this port. Here, Currently I am sorting (order) users depending on email id. I would like to sort the users depending on checkbox status so that selected (checked) users will be listed first and then other emails will be listed in the order of email. <% User.all( :order => :email, :conditions => ( @current_user.excelfore? ? [] : ["role != ''excelfore''"] ) ).each_with_index do |u,i| %> <tr<%= '' class="even_row"'' if i.even? %>> <td class="checkbox"> <input id="checkbox_<%= i %>" type="checkbox" <%''checked="checked"'' if @group.users.include?( u ) %> onchange="if ( this.checked ) { <%= remote_function( :url => { :action => :add_user, :id => @group.id, :user => u.id }, :before => "checkbox_onchange_before( #{ i } )", :success => "checkbox_onchange_success( #{ i }, ''user added'' )", :failure => "checkbox_onchange_failure( #{ i }, ''add user'' )", :complete => "checkbox_onchange_complete( #{ i } )" ) %>; } else { <%= remote_function( :url => { :action => :remove_user, :id => @group.id, :user => u.id }, :before => "checkbox_onchange_before( #{ i } )", :success => "checkbox_onchange_success( #{ i }, ''user removed'' )", :failure => "checkbox_onchange_failure( #{ i }, ''remove user'' )", :complete => "checkbox_onchange_complete( #{ i } )" ) %>; }" /> </td> <td><span class="checkbox_label" onclick="checkbox_click( <%= i %> )"><%= u.email %></span></td> <td> <% if u.name.present? %> <span class="checkbox_info" onclick="checkbox_click( <%= i %> )"><%= u.name %></span> <% end %> </td> <td id="status_<%= i %>" class="checkbox_status"></td> </tr> <% end %> Attachments: ruby-forum.com/attachment/7369/sortingofusers.jpg -- Posted via ruby-forum.com. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at groups.google.com/group/rubyonrails-talk?hl=en.
On 9 May 2012 07:34, Ajit Teli <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> Currently I am > sorting (order) users depending on email id. I would like to sort the > users depending on checkbox status so that selected (checked) users will > be listed first and then other emails will be listed in the order of > email.The first step is to get that finder out of the view, and move it into the User model. Then you can call it on the @current_user instance and do all of your sorting and shuffling in one place: Class User < AR::Base def accessible_users return [] unless role == "excelfore" User.all( :order => :email, :conditions => ( ["role !''excelfore''"] ) ).sort_by { |u| u.receiving_group_email? } end def receiving_group_email? # some calculation here that returns whether or not users are at the top of the list - or even better, move it into the conditions of the finder... end end # in the view <% @current_user.accessible_users.each_with_index do |u,i| %> .... etc -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at groups.google.com/group/rubyonrails-talk?hl=en.
Michael Pavling wrote in post #1060114:> On 9 May 2012 07:34, Ajit Teli <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote: >> Currently I am >> sorting (order) users depending on email id. I would like to sort the >> users depending on checkbox status so that selected (checked) users will >> be listed first and then other emails will be listed in the order of >> email. > > The first step is to get that finder out of the view, and move it into > the User model. Then you can call it on the @current_user instance and > do all of your sorting and shuffling in one place: > > Class User < AR::Base > def accessible_users > return [] unless role == "excelfore" > User.all( :order => :email, :conditions => ( ["role !> ''excelfore''"] ) ).sort_by { |u| u.receiving_group_email? } > end > > def receiving_group_email? > # some calculation here that returns whether or not users are at > the top of the list - or even better, move it into the conditions of > the finder... > end > end > > # in the view > <% @current_user.accessible_users.each_with_index do |u,i| %> .... etcHi Michael, Thanks for your reply... Can I do it by using sorttable.js ? I have included table headers, sorttable.js. And also I have changed the table class to class="sortable". But it is not working. Do I need to give any link to the column headers? <script src="sorttable.js" type="text/javascript"></script> <table class="sortable" border="0" cellpadding="2" cellspacing="0"> <thead> <tr> <th><%= "Select"%></th> <th><%= "Email" %></th> <th><%= "Name" %></th> </tr> </thead> Thank you, Ajit -- Posted via ruby-forum.com. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at groups.google.com/group/rubyonrails-talk?hl=en.
On 9 May 2012 11:51, Ajit Teli <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> Can I do it by using sorttable.js ? I have included table headers, > sorttable.js. And also I have changed the table class to > class="sortable". But it is not working.No idea - that''s nothing to do with Rails AFAIK - it''s all front-end stuff; JS manipulation of data that''s been sent to the browser. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at groups.google.com/group/rubyonrails-talk?hl=en.