84 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
		
		
			
		
	
	
			84 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
| 
								 | 
							
								diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb
							 | 
						||
| 
								 | 
							
								index a6535c5..a89f60e 100644
							 | 
						||
| 
								 | 
							
								--- a/app/controllers/pages_controller.rb
							 | 
						||
| 
								 | 
							
								+++ b/app/controllers/pages_controller.rb
							 | 
						||
| 
								 | 
							
								@@ -7,7 +7,7 @@ class PagesController < ApplicationController
							 | 
						||
| 
								 | 
							
								     @item = Page.find_by_name('home')
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								     if @item
							 | 
						||
| 
								 | 
							
								-      impressionist(@item)
							 | 
						||
| 
								 | 
							
								+      delayed_impressionist(@item)
							 | 
						||
| 
								 | 
							
								       render_page 
							 | 
						||
| 
								 | 
							
								     else
							 | 
						||
| 
								 | 
							
								       render :text => t(:need_home)
							 | 
						||
| 
								 | 
							
								@@ -18,7 +18,7 @@ class PagesController < ApplicationController
							 | 
						||
| 
								 | 
							
								     #begin  
							 | 
						||
| 
								 | 
							
								       @item = Item.first(:conditions => {:path => params[:page_name]})
							 | 
						||
| 
								 | 
							
								       if @item && @item.is_published && (@item.enabled_for.nil? ? true : @item.enabled_for.include?(I18n.locale.to_s))
							 | 
						||
| 
								 | 
							
								-        impressionist(@item)
							 | 
						||
| 
								 | 
							
								+        delayed_impressionist(@item)
							 | 
						||
| 
								 | 
							
								         case @item.class.to_s
							 | 
						||
| 
								 | 
							
								           when 'Page'
							 | 
						||
| 
								 | 
							
								             render_page unless save_from_no_lang_for_page
							 | 
						||
| 
								 | 
							
								diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
							 | 
						||
| 
								 | 
							
								index e20a0c2..b4aa12b 100644
							 | 
						||
| 
								 | 
							
								--- a/app/helpers/application_helper.rb
							 | 
						||
| 
								 | 
							
								+++ b/app/helpers/application_helper.rb
							 | 
						||
| 
								 | 
							
								@@ -278,4 +278,8 @@ module ApplicationHelper
							 | 
						||
| 
								 | 
							
								     end
							 | 
						||
| 
								 | 
							
								   end
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								+  def delayed_impressionist(object)
							 | 
						||
| 
								 | 
							
								+    Resque.enqueue_at(1.minute.from_now,DelayedImpressionist,object)
							 | 
						||
| 
								 | 
							
								+  end
							 | 
						||
| 
								 | 
							
								+
							 | 
						||
| 
								 | 
							
								 end
							 | 
						||
| 
								 | 
							
								diff --git a/app/jobs/delayed_impressionist.rb b/app/jobs/delayed_impressionist.rb
							 | 
						||
| 
								 | 
							
								new file mode 100644
							 | 
						||
| 
								 | 
							
								index 0000000..65a4a6d
							 | 
						||
| 
								 | 
							
								--- /dev/null
							 | 
						||
| 
								 | 
							
								+++ b/app/jobs/delayed_impressionist.rb
							 | 
						||
| 
								 | 
							
								@@ -0,0 +1,7 @@
							 | 
						||
| 
								 | 
							
								+class DelayedImpressionist 
							 | 
						||
| 
								 | 
							
								+	@queue = :low
							 | 
						||
| 
								 | 
							
								+	def self.perform(object)	
							 | 
						||
| 
								 | 
							
								+		impressionist(object)
							 | 
						||
| 
								 | 
							
								+    true
							 | 
						||
| 
								 | 
							
								+	end
							 | 
						||
| 
								 | 
							
								+end
							 | 
						||
| 
								 | 
							
								diff --git a/vendor/built_in_modules/announcement/app/controllers/panel/announcement/front_end/bulletins_controller.rb b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/front_end/bulletins_controller.rb
							 | 
						||
| 
								 | 
							
								index 2fe0f71..72fe43b 100644
							 | 
						||
| 
								 | 
							
								--- a/vendor/built_in_modules/announcement/app/controllers/panel/announcement/front_end/bulletins_controller.rb
							 | 
						||
| 
								 | 
							
								+++ b/vendor/built_in_modules/announcement/app/controllers/panel/announcement/front_end/bulletins_controller.rb
							 | 
						||
| 
								 | 
							
								@@ -53,7 +53,7 @@ class Panel::Announcement::FrontEnd::BulletinsController < OrbitWidgetController
							 | 
						||
| 
								 | 
							
								       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(@page_num)
							 | 
						||
| 
								 | 
							
								       end
							 | 
						||
| 
								 | 
							
								-      impressionist(@tag) if @tag
							 | 
						||
| 
								 | 
							
								+      delayed_impressionist(@tag) if @tag
							 | 
						||
| 
								 | 
							
								     end
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								   end
							 | 
						||
| 
								 | 
							
								@@ -66,7 +66,7 @@ class Panel::Announcement::FrontEnd::BulletinsController < OrbitWidgetController
							 | 
						||
| 
								 | 
							
								       @bulletin = Bulletin.all.can_display.where(_id: params[:id]).first
							 | 
						||
| 
								 | 
							
								       if @bulletin and !@bulletin.disable? and !@bulletin.is_rejected
							 | 
						||
| 
								 | 
							
								         if @bulletin.enabled_for_lang(I18n.locale.to_s)
							 | 
						||
| 
								 | 
							
								-          impressionist(@bulletin)
							 | 
						||
| 
								 | 
							
								+          delayed_impressionist(@bulletin)
							 | 
						||
| 
								 | 
							
								           get_categorys 
							 | 
						||
| 
								 | 
							
								         else
							 | 
						||
| 
								 | 
							
								           render :text => "<div class='alert alert-error'>#{t('sys.can_not_display_due_to_no_context')}</div>".html_safe 
							 | 
						||
| 
								 | 
							
								diff --git a/vendor/built_in_modules/page_content/app/controllers/panel/page_content/front_end/page_contexts_controller.rb b/vendor/built_in_modules/page_content/app/controllers/panel/page_content/front_end/page_contexts_controller.rb
							 | 
						||
| 
								 | 
							
								index e1e98c7..90a079e 100644
							 | 
						||
| 
								 | 
							
								--- a/vendor/built_in_modules/page_content/app/controllers/panel/page_content/front_end/page_contexts_controller.rb
							 | 
						||
| 
								 | 
							
								+++ b/vendor/built_in_modules/page_content/app/controllers/panel/page_content/front_end/page_contexts_controller.rb
							 | 
						||
| 
								 | 
							
								@@ -8,7 +8,7 @@ class Panel::PageContent::FrontEnd::PageContextsController < OrbitWidgetControll
							 | 
						||
| 
								 | 
							
								   def index
							 | 
						||
| 
								 | 
							
								     # @page_context = PageContext.where("page_id" => params[:page_id], :archived => false)
							 | 
						||
| 
								 | 
							
								     @page_context = PageContext.first(conditions: { page_id: params[:page_id], :archived => false })
							 | 
						||
| 
								 | 
							
								-    impressionist(@page_context)
							 | 
						||
| 
								 | 
							
								+    delayed_impressionist(@page_context)
							 | 
						||
| 
								 | 
							
								     
							 | 
						||
| 
								 | 
							
								     respond_to do |format|
							 | 
						||
| 
								 | 
							
								       format.html # index.html.erb
							 |