Fix sorting in annoucement
This commit is contained in:
		
							parent
							
								
									503f71e554
								
							
						
					
					
						commit
						9c1c70b598
					
				|  | @ -314,8 +314,8 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController | |||
|           nil | ||||
|         end | ||||
|       when 'title' | ||||
|         h = Hash.new  | ||||
|         bulletins.each { |bulletin| h[bulletin.title[I18n.locale]] = bulletin } | ||||
|         h = Array.new  | ||||
|         bulletins.each { |bulletin| h << [bulletin.title[I18n.locale].downcase, bulletin] } | ||||
|         sorted = params[:direction].eql?('asc') ? h.sort : h.sort.reverse! | ||||
|         sorted_titles = sorted.collect {|a| a[1] } | ||||
|         Kaminari.paginate_array(sorted_titles).page(params[:page]).per(10) | ||||
|  | @ -325,8 +325,8 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController | |||
|         user_ids = bulletins.distinct(:update_user_id) | ||||
|         users = User.find(user_ids) rescue nil | ||||
|         if users | ||||
|           h = Hash.new  | ||||
|           users.each { |user| h[user.name] = user.id } | ||||
|           h = Array.new  | ||||
|           users.each { |user| h << [user.name, user.id] } | ||||
|           sorted = params[:direction].eql?('asc') ? h.sort : h.sort.reverse! | ||||
|           sorted_users = sorted.collect {|a| bulletins.where(:update_user_id => a[1]).entries } | ||||
|           sorted_users.flatten! | ||||
|  | @ -339,6 +339,12 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController | |||
|         AnnouncementTag.all.order_by(I18n.locale, params[:direction]).each { |tag| a << tag.bulletins } | ||||
|         a.flatten! | ||||
|         a.uniq! | ||||
|         tmp = Array.new  | ||||
|         bulletins.where(:tag_ids => []).each { |bulletin| tmp << [bulletin.title[I18n.locale].downcase, bulletin] } | ||||
|         sorted = params[:direction].eql?('asc') ? tmp.sort : tmp.sort.reverse! | ||||
|         sorted_titles = sorted.collect {|a| a[1] } | ||||
|         a = params[:direction].eql?('asc') ? (sorted_titles + a) : (a + sorted_titles) | ||||
|         a.flatten! | ||||
|         Kaminari.paginate_array(a).page(params[:page]).per(10) | ||||
|      end | ||||
|   end | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue