Fix page: take category and tag at the same time
With news and announcement views
This commit is contained in:
		
							parent
							
								
									4127d7f2eb
								
							
						
					
					
						commit
						2d2e01115b
					
				|  | @ -64,6 +64,7 @@ class PagesController < ApplicationController | ||||||
|       module_app = ModuleApp.first(:conditions => {:key => params[:app_name]}) |       module_app = ModuleApp.first(:conditions => {:key => params[:app_name]}) | ||||||
|       if !params[:category_id].blank? && !params[:tag_id].blank? |       if !params[:category_id].blank? && !params[:tag_id].blank? | ||||||
|         @item = Item.first(:conditions => {:module_app_id => module_app.id, :app_frontend_url => params[:app_action], :category => params[:category_id], :tag => params[:tag_id]}) |         @item = Item.first(:conditions => {:module_app_id => module_app.id, :app_frontend_url => params[:app_action], :category => params[:category_id], :tag => params[:tag_id]}) | ||||||
|  |         @item = Item.first(:conditions => {:module_app_id => module_app.id, :app_frontend_url => params[:app_action], :category => params[:category_id]}) unless @item | ||||||
|       elsif !params[:category_id].blank? |       elsif !params[:category_id].blank? | ||||||
|         @item = Item.first(:conditions => {:module_app_id => module_app.id, :app_frontend_url => params[:app_action], :category => params[:category_id]}) |         @item = Item.first(:conditions => {:module_app_id => module_app.id, :app_frontend_url => params[:app_action], :category => params[:category_id]}) | ||||||
|       elsif !params[:tag_id].blank? |       elsif !params[:tag_id].blank? | ||||||
|  |  | ||||||
|  | @ -18,7 +18,12 @@ class Panel::Announcement::FrontEnd::BulletinsController < OrbitWidgetController | ||||||
|       @bulletins = Bulletin.all.available_for_lang(I18n.locale).can_display.any_in(_id:search_result).page( params[:page_main]).per(15) |       @bulletins = Bulletin.all.available_for_lang(I18n.locale).can_display.any_in(_id:search_result).page( params[:page_main]).per(15) | ||||||
|     else |     else | ||||||
|       date_now = Time.now |       date_now = Time.now | ||||||
|       if !params[:category_id].blank? |       if !params[:category_id].blank? && !params[:tag_id].blank? | ||||||
|  |         @tag = AnnouncementTag.find(params[:tag_id]) rescue nil | ||||||
|  |         @tag = AnnouncementTag.where(key: params[:tag_id])[0] unless @tag | ||||||
|  |         @bulletins = @tag.bulletins.available_for_lang(I18n.locale).can_display.where(:bulletin_category_id => params[:category_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(15) | ||||||
|  |         @current_category = BulletinCategory.from_id(params[:category_id]) rescue nil | ||||||
|  |       elsif !params[:category_id].blank? | ||||||
|         @bulletins = Bulletin.all.available_for_lang(I18n.locale).can_display.where(:bulletin_category_id => params[:category_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(15) |         @bulletins = Bulletin.all.available_for_lang(I18n.locale).can_display.where(:bulletin_category_id => params[:category_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(15) | ||||||
|         @current_category = BulletinCategory.from_id(params[:category_id]) rescue nil |         @current_category = BulletinCategory.from_id(params[:category_id]) rescue nil | ||||||
|       elsif !params[:tag_id].blank? |       elsif !params[:tag_id].blank? | ||||||
|  | @ -28,6 +33,7 @@ class Panel::Announcement::FrontEnd::BulletinsController < OrbitWidgetController | ||||||
|       else |       else | ||||||
|         @bulletins = Bulletin.all.available_for_lang(I18n.locale).can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(15) |         @bulletins = Bulletin.all.available_for_lang(I18n.locale).can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(15) | ||||||
|       end |       end | ||||||
|  |       impressionist(@tag) if @tag | ||||||
|     end |     end | ||||||
| 	   | 	   | ||||||
|   end |   end | ||||||
|  |  | ||||||
|  | @ -17,24 +17,23 @@ class Panel::News::FrontEnd::NewsBulletinsController < OrbitWidgetController | ||||||
|       @news_bulletins = NewsBulletin.all.available_for_lang(I18n.locale).can_display.any_in(_id:search_result).page( params[:page_main]).per(10) |       @news_bulletins = NewsBulletin.all.available_for_lang(I18n.locale).can_display.any_in(_id:search_result).page( params[:page_main]).per(10) | ||||||
|     else |     else | ||||||
|       date_now = Time.now |       date_now = Time.now | ||||||
|     if !params[:tag_id].blank? |       if !params[:category_id].blank? && !params[:tag_id].blank? | ||||||
|         tmp = NewsTag.find(params[:tag_id]) rescue nil |         @tag = NewsTag.find(params[:tag_id]) rescue nil | ||||||
|         tmp = NewsTag.where(key: params[:tag_id])[0] unless tmp |         @tag = NewsTag.where(key: params[:tag_id])[0] unless @tag | ||||||
|         impressionist(@tag) |         @news_bulletins = @tag.news_bulletins.available_for_lang(I18n.locale).can_display.where(:news_bulletin_category_id => params[:category_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(15) | ||||||
|     end |  | ||||||
| 
 |  | ||||||
|       if !params[:category_id].blank? |  | ||||||
|        @news_bulletins = NewsBulletin.all.available_for_lang(I18n.locale).can_display.where(:news_bulletin_category_id => params[:category_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(10) |  | ||||||
|       elsif !params[:tag_id].blank? |  | ||||||
|        @news_bulletins = tmp.news_bulletins.available_for_lang(I18n.locale).can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(10) rescue nil |  | ||||||
|       else |  | ||||||
|         @news_bulletins = NewsBulletin.all.available_for_lang(I18n.locale).can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(10) |  | ||||||
|       end |  | ||||||
|     end |  | ||||||
| 	  get_categorys |  | ||||||
| 	   |  | ||||||
|         @current_category = NewsBulletinCategory.from_id(params[:category_id]) rescue nil |         @current_category = NewsBulletinCategory.from_id(params[:category_id]) rescue nil | ||||||
| 
 |       elsif !params[:category_id].blank? | ||||||
|  |         @news_bulletins = Bulletin.all.available_for_lang(I18n.locale).can_display.where(:news_bulletin_category_id => params[:category_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(15) | ||||||
|  |         @current_category = NewsBulletinCategory.from_id(params[:category_id]) rescue nil | ||||||
|  |       elsif !params[:tag_id].blank? | ||||||
|  |         @tag = NewsTag.find(params[:tag_id]) rescue nil | ||||||
|  |         @tag = NewsTag.where(key: params[:tag_id])[0] unless @tag | ||||||
|  |         @news_bulletins = @tag.news_bulletins.available_for_lang(I18n.locale).can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(15) | ||||||
|  |       else | ||||||
|  |         @news_bulletins = Bulletin.all.available_for_lang(I18n.locale).can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(15) | ||||||
|  |       end | ||||||
|  |       impressionist(@tag) if @tag | ||||||
|  |     end | ||||||
|   end |   end | ||||||
|    |    | ||||||
|   def show |   def show | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue