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
|