78 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
class MobileController < ApplicationController
 | 
						|
  
 | 
						|
  layout 'mobile'
 | 
						|
 | 
						|
  before_filter :no_footer_for_app
 | 
						|
 | 
						|
  def index
 | 
						|
    date_now = Time.now
 | 
						|
    @site = Site.first
 | 
						|
    category = @site.announcement_category
 | 
						|
    @bulletins = Bulletin.where(:category_id.in => category).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)
 | 
						|
    @ad_banner = AdBanner.find(:all, :conditions => {:title => /Home/i})[0]
 | 
						|
    
 | 
						|
  end
 | 
						|
 | 
						|
  def announcement
 | 
						|
    @site = Site.first
 | 
						|
    category = @site.announcement_category
 | 
						|
    @page_title = t('mobile.bulletin')
 | 
						|
    date_now = Time.now
 | 
						|
    @bulletins = Bulletin.where(:category_id.in => category).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
 | 
						|
 | 
						|
  def announcement_content
 | 
						|
    @bulletin = Bulletin.find(params[:id]) rescue nil
 | 
						|
    @page_title = @bulletin.title
 | 
						|
  end
 | 
						|
 | 
						|
  def dialog_contact
 | 
						|
    @site = Site.first
 | 
						|
    @no_menu = @no_footer = true
 | 
						|
    @page_title = t('mobile.contact')
 | 
						|
  end
 | 
						|
 | 
						|
  def dialog_copyright
 | 
						|
    @no_menu = @no_footer = true
 | 
						|
    @page_title = t('mobile.copyright')
 | 
						|
  end
 | 
						|
 | 
						|
  def dialog_language
 | 
						|
    @no_menu = @no_footer = true
 | 
						|
    @page_title = t('mobile.language')
 | 
						|
  end
 | 
						|
 | 
						|
  def map
 | 
						|
    site = Site.first
 | 
						|
    @coordinates = Geocoder.coordinates("#{site.address}")
 | 
						|
    @no_menu = @no_footer = true
 | 
						|
    @page_title = t('mobile.location')
 | 
						|
  end
 | 
						|
 | 
						|
  def page
 | 
						|
    @page_title = t('mobile.page')
 | 
						|
    @page_contexts = get_sorted_page_from_structure
 | 
						|
  end
 | 
						|
 | 
						|
  def page_content
 | 
						|
    @page_context = PageContext.first(conditions: { id: params[:id], :archived => false }) rescue nil
 | 
						|
    @page_title = @page_context.page.title
 | 
						|
  end
 | 
						|
 | 
						|
  protected
 | 
						|
 | 
						|
  def no_footer_for_app
 | 
						|
    @no_footer = true if request.path =~ /app/
 | 
						|
  end
 | 
						|
 | 
						|
  def get_sorted_page_from_structure
 | 
						|
    page_contexts = Item.structure_ordered_items.inject([]){ |pages, page|
 | 
						|
      pages << page.page_contexts.where(archived: false).limit(1)[0] if page.is_a?(Page) && !page.page_contexts.blank?
 | 
						|
      pages
 | 
						|
    }
 | 
						|
    Kaminari.paginate_array(page_contexts).page(params[:page]).per(15)
 | 
						|
  end
 | 
						|
 | 
						|
end
 |