Merge branch 'changing_tag'
Conflicts: vendor/built_in_modules/news/app/models/news_tag.rb
This commit is contained in:
		
						commit
						4e1a91ed90
					
				| 
						 | 
					@ -1,10 +1,28 @@
 | 
				
			||||||
class Tag
 | 
					class Tag
 | 
				
			||||||
  
 | 
					 | 
				
			||||||
  include Mongoid::Document
 | 
					  include Mongoid::Document
 | 
				
			||||||
  include Mongoid::Timestamps
 | 
					  include Mongoid::Timestamps
 | 
				
			||||||
 | 
					  include Impressionist::Impressionable
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  is_impressionable :counter_cache => { :column_name => :view_count }
 | 
				
			||||||
  field :key
 | 
					  field :key
 | 
				
			||||||
 | 
					  #field :cloud_amper,:type: Integer,:default=> 0 
 | 
				
			||||||
  belongs_to :module_app
 | 
					  belongs_to :module_app
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  def cloud_amper
 | 
				
			||||||
 | 
					    for_now = {:start_at=>20.days.ago,:end_at=>Time.now}
 | 
				
			||||||
 | 
					    for_yesterday = {:start_at=>19.days.ago,:end_at=>1.days.ago}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    range = self.class.all.collect{ |tag|
 | 
				
			||||||
 | 
					      get_impressionist_diff(tag)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    (get_impressionist_diff - range.min).abs
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					protected
 | 
				
			||||||
 | 
					  def get_impressionist_diff(item_tag = self)
 | 
				
			||||||
 | 
					      for_now = item_tag.impressionist_count(:start_date=>20.days.ago,:end_date=>Time.now)
 | 
				
			||||||
 | 
					      for_yesterday = item_tag.impressionist_count(:start_date=>21.days.ago,:end_date=>1.days.ago)
 | 
				
			||||||
 | 
					      for_now - for_yesterday
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,7 +13,7 @@
 | 
				
			||||||
	<h3 class="h3"><%= t('announcement.tag_cloud') %></h3> 								
 | 
						<h3 class="h3"><%= t('announcement.tag_cloud') %></h3> 								
 | 
				
			||||||
	<div class="cloud"> 		
 | 
						<div class="cloud"> 		
 | 
				
			||||||
		<% @tags.each do |tag| %>	
 | 
							<% @tags.each do |tag| %>	
 | 
				
			||||||
			<%= link_to tag[I18n.locale], panel_announcement_front_end_bulletins_path(:tag_id => tag.id), :class => "hot#{rand(4) + 1} #{(tag.id.to_s.eql?(params[:tag_id]) || tag.key.eql?(params[:tag_id])) ? 'active' : nil}" %>
 | 
								<%= link_to tag[I18n.locale], panel_announcement_front_end_bulletins_path(:tag_id => tag.id),:style=>"font-size: #{100+ tag.cloud_amper * 10}%", :class => "hot#{rand(4) + 1} #{(tag.id.to_s.eql?(params[:tag_id]) || tag.key.eql?(params[:tag_id])) ? 'active' : nil}" %>
 | 
				
			||||||
		<% end %>
 | 
							<% end %>
 | 
				
			||||||
	</div> 							
 | 
						</div> 							
 | 
				
			||||||
</div> 							
 | 
					</div> 							
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,11 +17,15 @@ class Panel::News::FrontEnd::NewsBulletinsController < OrbitWidgetController
 | 
				
			||||||
      @news_bulletins = NewsBulletin.all.can_display.any_in(_id:search_result).page( params[:page_main]).per(10)
 | 
					      @news_bulletins = NewsBulletin.all.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?
 | 
				
			||||||
 | 
					        tmp = NewsTag.find(params[:tag_id]) rescue nil
 | 
				
			||||||
 | 
					        tmp = NewsTag.where(key: params[:tag_id])[0] unless tmp
 | 
				
			||||||
 | 
					        impressionist(@tag)
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if !params[:category_id].blank?
 | 
					      if !params[:category_id].blank?
 | 
				
			||||||
       @news_bulletins = NewsBulletin.all.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)
 | 
					       @news_bulletins = NewsBulletin.all.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?
 | 
					      elsif !params[:tag_id].blank?
 | 
				
			||||||
        tmp = NewsTag.find(params[:tag_id]) rescue nil
 | 
					 | 
				
			||||||
        tmp = NewsTag.where(key: params[:tag_id])[0] unless tmp
 | 
					 | 
				
			||||||
       @news_bulletins = tmp.news_bulletins.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
 | 
					       @news_bulletins = tmp.news_bulletins.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
 | 
					      else
 | 
				
			||||||
        @news_bulletins = NewsBulletin.all.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)
 | 
					        @news_bulletins = NewsBulletin.all.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)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,8 +1,6 @@
 | 
				
			||||||
class NewsTag < Tag
 | 
					class NewsTag < Tag
 | 
				
			||||||
  
 | 
					 | 
				
			||||||
  has_and_belongs_to_many :news_bulletins
 | 
					  has_and_belongs_to_many :news_bulletins
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
  
 | 
					 | 
				
			||||||
  def get_visible_news_bulletins(sort = :title)
 | 
					  def get_visible_news_bulletins(sort = :title)
 | 
				
			||||||
    date_now = Time.now
 | 
					    date_now = Time.now
 | 
				
			||||||
	  self.news_bulletins.where(:is_hidden => false).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc(:is_top, sort)
 | 
						  self.news_bulletins.where(:is_hidden => false).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc(:is_top, sort)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,7 +13,7 @@
 | 
				
			||||||
	<h3 class="h3"><%= t('announcement.tag_cloud') %></h3> 								
 | 
						<h3 class="h3"><%= t('announcement.tag_cloud') %></h3> 								
 | 
				
			||||||
	<div class="cloud"> 		
 | 
						<div class="cloud"> 		
 | 
				
			||||||
		<% @tags.each do |tag| %>	
 | 
							<% @tags.each do |tag| %>	
 | 
				
			||||||
			<%= link_to tag[I18n.locale], panel_news_front_end_news_bulletins_path(:tag_id => tag.id), :class => "hot#{rand(4) + 1} #{(tag.id.to_s.eql?(params[:tag_id]) || tag.key.eql?(params[:tag_id])) ? 'active' : nil}" %>
 | 
								<%= link_to tag[I18n.locale], panel_news_front_end_news_bulletins_path(:tag_id => tag.id), :style => "font-size: #{100+ tag.cloud_amper * 10}%",:class => "hot#{rand(4) + 1} #{(tag.id.to_s.eql?(params[:tag_id]) || tag.key.eql?(params[:tag_id])) ? 'active' : nil}" %>
 | 
				
			||||||
		<% end %>	
 | 
							<% end %>	
 | 
				
			||||||
	</div> 							
 | 
						</div> 							
 | 
				
			||||||
</div> 							
 | 
					</div> 							
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue