Merge branch 'design_team' of github.com:Rulingcom/orbit into design_team
This commit is contained in:
		
						commit
						d2e07f537a
					
				
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 1.1 KiB | 
|  | @ -18,6 +18,7 @@ class Site | |||
| 
 | ||||
|   has_one :title, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy | ||||
|   has_one :footer, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy | ||||
|   has_one :sub_menu, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy | ||||
|   has_many :site_metas, :autosave => true, :dependent => :destroy | ||||
|    | ||||
|   before_save :set_key | ||||
|  | @ -33,7 +34,6 @@ class Site | |||
|   end | ||||
|    | ||||
|   def up_to_date? | ||||
|     p res = %x(git remote show origin) | ||||
|     res = res.split('rails_3_1').pop.gsub('(', '').gsub(')','').strip rescue nil | ||||
|     res.eql?('local out of date') ? false : true | ||||
|   end | ||||
|  | @ -46,6 +46,10 @@ class Site | |||
|     @footer ||= I18nVariable.first(:conditions => {:key => 'footer', :language_value_id => self.id, :language_value_type => self.class}) rescue nil | ||||
|   end | ||||
| 
 | ||||
|   def sub_menu | ||||
|     @sub_menu ||= I18nVariable.first(:conditions => {:key => 'sub_menu', :language_value_id => self.id, :language_value_type => self.class}) rescue nil | ||||
|   end | ||||
| 
 | ||||
|   METAS.each do |meta| | ||||
|     define_method meta do | ||||
|       fetch_meta = self.site_metas.where(key: meta).limit(1) | ||||
|  | @ -66,6 +70,7 @@ class Site | |||
|   def set_key | ||||
|     title.key = 'title' if title && (title.key.blank? rescue true) | ||||
|     footer.key = 'footer' if footer && (footer.key.blank? rescue true) | ||||
|     sub_menu.key = 'sub_menu' if sub_menu && (sub_menu.key.blank? rescue true) | ||||
|   end | ||||
|    | ||||
| end | ||||
|  |  | |||
|  | @ -3,6 +3,8 @@ class Tag | |||
|   include Mongoid::Document | ||||
|   include Mongoid::Timestamps | ||||
|    | ||||
|   field :key | ||||
| 
 | ||||
|   belongs_to :module_app | ||||
|    | ||||
| end | ||||
|  |  | |||
|  | @ -57,6 +57,14 @@ | |||
| 								<% end %> | ||||
| 							</div> | ||||
| 						</div> | ||||
| 						<div class="control-group"> | ||||
| 							<label class="control-label"><%= t 'admin.site_sub_menu' %></label> | ||||
| 							<div class="controls"> | ||||
| 								<%= f.fields_for :sub_menu, @site.sub_menu do |f| %> | ||||
| 									<%= f.text_area locale, :class => "tinymce_textarea input-xxlarge" %> | ||||
| 								<% end %> | ||||
| 							</div> | ||||
| 						</div> | ||||
| 					<% end %> | ||||
| 				<% end %> | ||||
| 			</div> | ||||
|  |  | |||
|  | @ -27,6 +27,7 @@ | |||
| 		<%= content_tag :li, link_to(t('announcement.categories'), panel_news_back_end_news_bulletin_categorys_path), :class => active_for_action('news_bulletin_categorys', 'index') %> | ||||
| 		<%= content_tag :li, link_to(t('announcement.tags'), panel_news_back_end_tags_path), :class => active_for_action('/panel/news/back_end/tags', 'index') %> | ||||
| 		<%= content_tag :li, link_to(t('announcement.news_bulletin.approval_setting'), panel_news_back_end_news_approval_setting_path), :class => active_for_action('news_approvals', 'setting')  if (is_manager? rescue nil) %> | ||||
| 		<%= content_tag :li, link_to(t('admin.module.authorization'),edit_admin_module_app_path(ModuleApp.first(conditions: {key: "news"}))), :class => active_sys_call_for_app('module_apps','edit','news') if (is_admin? rescue nil) %> | ||||
| 	<% end -%> | ||||
| 
 | ||||
| <% end -%> | ||||
|  |  | |||
|  | @ -3,6 +3,7 @@ | |||
| <head> | ||||
| <meta charset="utf-8"> | ||||
| 	<title><%= @title || APP_CONFIG['orbit'] %></title> | ||||
| 	<link rel="shortcut icon" href="<%= asset_path "ncculogo.ico" %>"> | ||||
| 	<!--[if lt IE 9]> | ||||
| 	   <%= javascript_include_tag "html5" %> | ||||
| 	<![endif]--> | ||||
|  |  | |||
|  | @ -3,6 +3,7 @@ | |||
| <head> | ||||
| <meta charset="utf-8"> | ||||
| 	<%= page_title(@item).html_safe %> | ||||
| 	<link rel="shortcut icon" href="<%= asset_path "ncculogo.ico" %>"> | ||||
| 	<%= page_metas(@item).html_safe %> | ||||
| 	<!--[if lt IE 9]> | ||||
| 	   <%= javascript_include_tag "html5" %> | ||||
|  |  | |||
|  | @ -205,6 +205,7 @@ en: | |||
|     site_description: Site description | ||||
|     site_footer: Site footer | ||||
|     site_settings: Site Setting | ||||
|     site_sub_menu: Site sub-menu | ||||
|     site_title: Site title | ||||
|     super_pages: Super pages | ||||
|     structure: Structure | ||||
|  |  | |||
|  | @ -195,6 +195,7 @@ zh_tw: | |||
|     site_description: 網站描述 | ||||
|     site_footer: 網站頁尾 | ||||
|     site_settings: 基本設定 | ||||
|     site_sub_menu: 網站次選單 | ||||
|     site_title: 網站標題 | ||||
|     setup_member: 成員設置 | ||||
|     setup_translations: 語系設定 | ||||
|  |  | |||
|  | @ -29,6 +29,7 @@ module ParserBackEnd | |||
|     public_r_tags = parse_content_edits(body, page, id) | ||||
|     parse_images(body, page) | ||||
|     parse_footer(body, page, true) | ||||
|     parse_sub_menu(body, page, true) | ||||
| 
 | ||||
|     public_r_tags.each do |tag| | ||||
|       send("parse_#{tag}s", body, page,id) | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ module ParserCommon | |||
| 
 | ||||
|   def menu_level(page, current, menu, edit = false) | ||||
|     res = '' | ||||
|     if page.children.size > 0 | ||||
|     if page.ordered_and_visible_children.size > 0 | ||||
|       res << "<ul class='" | ||||
|       res << menu.values["class_#{current}"] rescue nil | ||||
|       res << "'>" | ||||
|  | @ -127,14 +127,32 @@ module ParserCommon | |||
|     end | ||||
|   end | ||||
| 
 | ||||
|   # page_menu | ||||
|   # page_footer | ||||
|   def parse_footer(body, page, edit=nil) | ||||
|     page_footer = body.css('.page_footer').first | ||||
|     res = "<div, id='footer', class='footer'>" | ||||
|     res << @site.footer[I18n.locale] | ||||
|     res << "</div>" | ||||
|     fragment = Nokogiri::HTML::DocumentFragment.new(body ,res) | ||||
|     page_footer.swap(fragment) rescue nil | ||||
|     if page_footer | ||||
|       res = "<div id='#{page_footer['id']}', class='#{page_footer['class']}'>" | ||||
|       res << @site.footer[I18n.locale] rescue nil | ||||
|       res << "</div>" | ||||
|       fragment = Nokogiri::HTML::DocumentFragment.new(body ,res) | ||||
|       page_footer.swap(fragment) rescue nil | ||||
|     else | ||||
|       '' | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   # page_sub_menu | ||||
|   def parse_sub_menu(body, page, edit=nil) | ||||
|     page_sub_menu = body.css('.page_sub_menu').first | ||||
|     if page_sub_menu | ||||
|       res = "<div id='#{page_sub_menu['id']}', class='#{page_sub_menu['class']}'>" | ||||
|       res << @site.sub_menu[I18n.locale] rescue nil | ||||
|       res << "</div>" | ||||
|       fragment = Nokogiri::HTML::DocumentFragment.new(body ,res) | ||||
|       page_sub_menu.swap(fragment) rescue nil | ||||
|     else | ||||
|       '' | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  |  | |||
|  | @ -26,7 +26,8 @@ module ParserFrontEnd | |||
|     parse_menu(body, page) | ||||
|     public_r_tags = parse_contents(body, page, id,params[:preview]) | ||||
|     parse_images(body, page) | ||||
|     parse_footer(body, page, true) | ||||
|     parse_footer(body, page) | ||||
|     parse_sub_menu(body, page) | ||||
| 
 | ||||
|     public_r_tags.each do |tag| | ||||
|       send("parse_#{tag}s", body, page,id) | ||||
|  |  | |||
|  | @ -14,7 +14,9 @@ class Panel::Announcement::FrontEnd::BulletinsController < OrbitWidgetController | |||
|     if !params[:category_id].blank? | ||||
|       @bulletins = Bulletin.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]).per(10) | ||||
|     elsif !params[:tag_id].blank? | ||||
|       @bulletins = AnnouncementTag.find(params[:tag_id]).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]).per(10) | ||||
|       tmp = NewsTag.find(params[:tag_id]) rescue nil | ||||
|       tmp = NewsTag.where(key: params[:tag_id])[0] unless tmp | ||||
|       @bulletins = tmp.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]).per(10) rescue nil | ||||
|     else | ||||
|       @bulletins = Bulletin.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]).per(10) | ||||
|     end | ||||
|  |  | |||
|  | @ -26,7 +26,7 @@ class Panel::Announcement::Widget::BulletinsController < OrbitWidgetController | |||
|   end | ||||
|    | ||||
|   def bulletins_and_web_links | ||||
|     @tags = AnnouncementTag.all | ||||
|     @tags = AnnouncementTag.any_in(key: ['students', 'alumni', 'employee', 'guest']) | ||||
|     @selected_tag = AnnouncementTag.find(params[:id]) rescue @tags[0] | ||||
|     @bulletins = @selected_tag.get_visible_bulletins.can_display.page(params[:page]).per(5) rescue nil | ||||
|     @web_links = WebResourceTag.first(:conditions => {:en => @selected_tag[:en]}).get_visible_links.page(params[:page]).per(5) rescue nil | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ | |||
| 				<% sys_user.sub_roles.each do |sr| %> | ||||
| 					<div class="for_unit" style="display:none;"> <%= sr.key %></div> | ||||
| 				<% end %> | ||||
| 				<%= content_tag :div,:data=>{'original-title'=>t('announcement.bulletin.approval_setting_window_title'),:content => "#{sys_user.sub_roles.collect{|sr| sr.key}.join(',')}"},:class=>"checkbox clear" do %> | ||||
| 				<%= content_tag :div,:data=>{'original-title'=>t('announcement.bulletin.approval_setting_window_title'),:content => "#{sys_user.sub_roles.collect{|sr| sr.i18n_variable[I18n.locale]}.join(',')}"},:class=>"checkbox clear" do %> | ||||
| 					<div class="check-icon"> | ||||
| 					</div> | ||||
| 					<div class='member-avatar'> | ||||
|  |  | |||
|  | @ -14,58 +14,21 @@ | |||
| <div class="news_paragraph"> | ||||
| 	<%= @bulletin.text[I18n.locale].html_safe %> | ||||
| </div> | ||||
| 
 | ||||
| <% if @bulletin.bulletin_links.size > 0 %> | ||||
| 	<b><%= t('announcement.link') %></b> | ||||
| 	<% @bulletin.bulletin_links.each do | blink | %> | ||||
| 	  <%= link_to blink.i18n_variable[I18n.locale], blink.url, :target => '_blank' %> | ||||
| 	<% end %> | ||||
| <% end %> | ||||
| 
 | ||||
| <% if @bulletin.bulletin_files.size > 0 %> | ||||
| 	<b><%= t('announcement.file') %></b> | ||||
| 	<% @bulletin.bulletin_files.each do | bfile | %> | ||||
| 	<%= link_to bfile.filetitle[I18n.locale], bfile.file.url, {:target => '_blank', :title => bfile.description} if bfile.file.file %> | ||||
| 	<% end %> | ||||
| <% end %> | ||||
| 
 | ||||
| <div class="fb"> | ||||
| 	<iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.nccu.edu.tw&send=false&layout=standard&width=450&show_faces=false&action=like&colorscheme=light&font&height=35&appId=263319013700607" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe> | ||||
| </div> | ||||
| <!-- | ||||
| <p id="notice"><%= flash_messages %></p> | ||||
| 
 | ||||
| <ul> | ||||
| 	<li> | ||||
|   <b><%= t('announcement.category') %></b> | ||||
|   <%= @bulletin.bulletin_category.i18n_variable[I18n.locale] %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('announcement.postdate') %></b> | ||||
|   <%= @bulletin.postdate %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('announcement.title') %></b> | ||||
|   <%= @bulletin.title[I18n.locale] %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <%#= image_tag(@bulletin.image.url, :size => "320x240") if @bulletin.image.file %> | ||||
|   <%= link_to image_tag(@bulletin.image.url, :size => "320x240"), @bulletin.image.url, {:target => '_blank', :title => @bulletin.image_identifier} if @bulletin.image.file %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('announcement.subtitle') %></b> | ||||
|   <%= @bulletin.subtitle[I18n.locale].html_safe %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('announcement.text') %></b> | ||||
|   <%= @bulletin.text[I18n.locale].html_safe %> | ||||
| 	</li> | ||||
| 	<li> | ||||
| 	<li> | ||||
| 	<b><%= t('announcement.link') %></b> | ||||
| 	<% @bulletin.bulletin_links.each do | blink | %> | ||||
|     <%= link_to blink.name, blink.url, :target => '_blank' %> | ||||
| 	<% end %> | ||||
| 	</li> | ||||
| 	<li> | ||||
| 	<b><%= t('announcement.file') %></b> | ||||
| 	<% @bulletin.bulletin_files.each do | bfile | %> | ||||
| 	<%= link_to bfile.filetitle, bfile.file.url, {:target => '_blank', :title => bfile.description} if bfile.file.file %> | ||||
| 	<% end %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('announcement.張貼者') %></b> | ||||
|   <%= User.find(@bulletin.create_user_id).name %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('announcement.最後修改時間') %></b> | ||||
|   <%= @bulletin.updated_at.strftime("%Y-%m-%d %H:%I:%S") %> | ||||
| 	</li> | ||||
| --> | ||||
| 
 | ||||
| <%#= link_back %> | ||||
|  |  | |||
|  | @ -13,7 +13,9 @@ class Panel::News::FrontEnd::NewsBulletinsController < OrbitWidgetController | |||
|     if !params[:category_id].blank? | ||||
|       @news_bulletins = NewsBulletin.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]).per(10) | ||||
|     elsif !params[:tag_id].blank? | ||||
|       @news_bulletins = NewsTag.find(params[:tag_id]).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]).per(10) | ||||
|       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]).per(10) rescue nil | ||||
|     else | ||||
|       @news_bulletins = NewsBulletin.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]).per(10) | ||||
|     end | ||||
|  |  | |||
|  | @ -8,25 +8,24 @@ | |||
| 	<h1 class="h1"><%= t('news.list_news') %></h1> | ||||
| <% end %> | ||||
| 
 | ||||
| 
 | ||||
| <table class="table table-bordered"> | ||||
|   <tr> | ||||
| 	<th><%= t('news.news_bulletin.category') %></th> | ||||
| 	<th><%= t('news.news_bulletin.title') %></th> | ||||
| 	<th><%= t('news.news_bulletin.postdate') %></th> | ||||
|   </tr> | ||||
| 
 | ||||
| <% @news_bulletins.each do |post| %> | ||||
|   <tr> | ||||
| 	<td><%= post.news_bulletin_category.i18n_variable[I18n.locale] %></td> | ||||
| 	<td><%= link_to post.title[I18n.locale], panel_news_front_end_news_bulletin_path(post) %> | ||||
| 	<%#= link_to post.title, panel_news_back_end_news_bulletin_path(post) %> | ||||
| 	</td> | ||||
| 	<td><%= post.postdate %></td> | ||||
|   </tr> | ||||
|    | ||||
| <% end %> | ||||
| 
 | ||||
|   <tbody> | ||||
|   	<tr> | ||||
|   		<th><%= t('news.news_bulletin.image') %></th> | ||||
| 			<th><%= t('news.news_bulletin.title') %></th> | ||||
| 			<th><%= t('news.news_bulletin.postdate') %></th> | ||||
| 	  </tr> | ||||
| 	  <% @news_bulletins.each do |post| %> | ||||
| 		  <tr> | ||||
| 		  	<td><%= image_tag post.image %></td> | ||||
| 				<td> | ||||
| 					<%= link_to post.title[I18n.locale], panel_news_front_end_news_bulletin_path(post) %> | ||||
| 					<%= post.subtitle[I18n.locale].html_safe %> | ||||
| 				</td> | ||||
| 				<td><%= post.postdate %></td> | ||||
| 		  </tr> | ||||
| 		<% end %>  | ||||
| 	</tbody> | ||||
| </table> | ||||
| 
 | ||||
| <%= paginate @news_bulletins, :params => {:inner => 'false'} %> | ||||
|  |  | |||
|  | @ -14,58 +14,21 @@ | |||
| <div class="news_paragraph"> | ||||
| 	<%= @news_bulletin.text[I18n.locale].html_safe %> | ||||
| </div> | ||||
| 
 | ||||
| <% if @news_bulletin.news_bulletin_links.size > 0 %> | ||||
| 	<b><%= t('announcement.link') %></b> | ||||
| 	<% @news_bulletin.news_bulletin_links.each do | blink | %> | ||||
| 	  <%= link_to blink.i18n_variable[I18n.locale], blink.url, :target => '_blank' %> | ||||
| 	<% end %> | ||||
| <% end %> | ||||
| 
 | ||||
| <% if @news_bulletin.news_bulletin_files.size > 0 %> | ||||
| 	<b><%= t('announcement.file') %></b> | ||||
| 	<% @news_bulletin.news_bulletin_files.each do | bfile | %> | ||||
| 	<%= link_to bfile.filetitle[I18n.locale], bfile.file.url, {:target => '_blank', :title => bfile.description} if bfile.file.file %> | ||||
| 	<% end %> | ||||
| <% end %> | ||||
| 
 | ||||
| <div class="fb"> | ||||
| 	<iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.nccu.edu.tw&send=false&layout=standard&width=450&show_faces=false&action=like&colorscheme=light&font&height=35&appId=263319013700607" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe> | ||||
| </div> | ||||
| <!-- | ||||
| <p id="notice"><%= flash_messages %></p> | ||||
| 
 | ||||
| <ul> | ||||
| 	<li> | ||||
|   <b><%= t('news.category') %></b> | ||||
|   <%= @news_bulletin.news_bulletin_category.i18n_variable[I18n.locale] %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('news.postdate') %></b> | ||||
|   <%= @news_bulletin.postdate %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('news.title') %></b> | ||||
|   <%= @news_bulletin.title[I18n.locale] %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <%#= image_tag(@news_bulletin.image.url, :size => "320x240") if @news_bulletin.image.file %> | ||||
|   <%= link_to image_tag(@news_bulletin.image.url, :size => "320x240"), @news_bulletin.image.url, {:target => '_blank', :title => @news_bulletin.image_identifier} if @news_bulletin.image.file %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('news.subtitle') %></b> | ||||
|   <%= @news_bulletin.subtitle[I18n.locale].html_safe %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('news.text') %></b> | ||||
|   <%= @news_bulletin.text[I18n.locale].html_safe %> | ||||
| 	</li> | ||||
| 	<li> | ||||
| 	<li> | ||||
| 	<b><%= t('news.link') %></b> | ||||
| 	<% @news_bulletin.news_bulletin_links.each do | blink | %> | ||||
|     <%= link_to blink.name, blink.url, :target => '_blank' %> | ||||
| 	<% end %> | ||||
| 	</li> | ||||
| 	<li> | ||||
| 	<b><%= t('news.file') %></b> | ||||
| 	<% @news_bulletin.news_bulletin_files.each do | bfile | %> | ||||
| 	<%= link_to bfile.filetitle, bfile.file.url, {:target => '_blank', :title => bfile.description} if bfile.file.file %> | ||||
| 	<% end %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('news.張貼者') %></b> | ||||
|   <%= User.find(@news_bulletin.create_user_id).name %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('news.最後修改時間') %></b> | ||||
|   <%= @news_bulletin.updated_at.strftime("%Y-%m-%d %H:%I:%S") %> | ||||
| 	</li> | ||||
| --> | ||||
| 
 | ||||
| <%#= link_back %> | ||||
|  |  | |||
		Reference in New Issue