Remove i18n_variable for web_resource
This commit is contained in:
		
							parent
							
								
									3466a19362
								
							
						
					
					
						commit
						a1cf0a3eb6
					
				|  | @ -156,6 +156,23 @@ namespace :migrate do | |||
|     end | ||||
|     p 'End PageContext' | ||||
| 
 | ||||
|     p '=====================================================' | ||||
|     p '=====================================================' | ||||
| 
 | ||||
|     p 'Start WebLink' | ||||
|     links = WebLink.admin_manager_all | ||||
|     i = 1 | ||||
|     links.each do |link| | ||||
|       p "#{i}/#{links.size} - #{link.id}" | ||||
|       name = I18nVariable.first(:conditions => {:key => 'name', :language_value_id => link.id, :language_value_type => link.class}) | ||||
|       link.name_translations = {'en' => name['en'], 'zh_tw' => name['zh_tw']} if name | ||||
|       context = I18nVariable.first(:conditions => {:key => 'context', :language_value_id => link.id, :language_value_type => link.class}) | ||||
|       link.context_translations = {'en' => context['en'], 'zh_tw' => context['zh_tw']} if context | ||||
|       link.save(:validate => false) | ||||
|       i += 1 | ||||
|     end | ||||
|     p 'End WebLink' | ||||
| 
 | ||||
|   end | ||||
|    | ||||
| end | ||||
|  |  | |||
|  | @ -161,75 +161,5 @@ class Panel::WebResource::BackEnd::WebLinksController < OrbitBackendController | |||
|   	module_app = ModuleApp.first(:conditions => {:key => 'web_resource'}) | ||||
|   	@tags = Tag.all(:conditions => {:module_app_id => module_app.id}) | ||||
|   end | ||||
| 
 | ||||
|   def get_sorted_and_filtered_web_links | ||||
|     web_links = WebLink.all | ||||
|     case params[:sort] | ||||
|       when 'category' | ||||
|         category_ids = web_links.distinct(:web_link_category_id) | ||||
|         categories = WebLinkCategory.find(category_ids) rescue nil | ||||
|         if categories | ||||
|           h = Hash.new  | ||||
|           categories.each { |category| h[category.i18n_variable[I18n.locale]] = category.id } | ||||
|           sorted = params[:direction].eql?('asc') ? h.sort : h.sort.reverse! | ||||
|           sorted_categorys = sorted.collect {|a| web_links.where(:web_link_category_id => a[1]).entries } | ||||
|           web_links = sorted_categorys.flatten! | ||||
|         end | ||||
|       when 'name' | ||||
|         h = Array.new  | ||||
|         web_links.each { |web_link| h << [web_link.name[I18n.locale].downcase, web_link] } | ||||
|         sorted = params[:direction].eql?('asc') ? h.sort : h.sort.reverse! | ||||
|         web_links = sorted.collect {|a| a[1] } | ||||
|       when 'status' | ||||
|         web_links = web_links.order_by(:is_top, params[:direction]).order_by(:is_hot, params[:direction]).order_by(:is_hidden, params[:direction]).order_by(:is_pending, params[:direction]).order_by(:is_checked, params[:direction]).order_by(:is_rejected, params[:direction]) | ||||
|       when 'tags' | ||||
|         a = Array.new | ||||
|         WebResourceTag.all.order_by(I18n.locale, params[:direction]).each { |tag| a << tag.web_links } | ||||
|         a.flatten! | ||||
|         a.uniq! | ||||
|         tmp = Array.new  | ||||
|         web_links.where(:tag_ids => []).each { |web_link| tmp << [web_link.name[I18n.locale].downcase, web_link] } | ||||
|         sorted = params[:direction].eql?('asc') ? tmp.sort : tmp.sort.reverse! | ||||
|         sorted_names = sorted.collect {|a| a[1] } | ||||
|         a = params[:direction].eql?('asc') ? (sorted_names + a) : (a + sorted_names) | ||||
|         web_links = a.flatten | ||||
|     end | ||||
|     # if @filter | ||||
|     #   @filter.each do |key, value| | ||||
|     #     case key | ||||
|     #       when 'status' | ||||
|     #         a = Array.new | ||||
|     #         web_links.each do |web_link| | ||||
|     #           value.each do |v| | ||||
|     #             case v | ||||
|     #               when 'pending' | ||||
|     #                 a << web_link if web_link.is_checked.nil? | ||||
|     #               when 'rejected' | ||||
|     #                 a << web_link if web_link.is_checked.eql?(false) | ||||
|     #               else | ||||
|     #                 a << web_link if web_link[v] | ||||
|     #             end | ||||
|     #           end | ||||
|     #         end | ||||
|     #         web_links = a.uniq | ||||
|     #       when 'categories' | ||||
|     #         a = Array.new | ||||
|     #         web_links.each do |web_link| | ||||
|     #           a << web_link if value.include?(web_link.web_link_category.id.to_s) | ||||
|     #         end | ||||
|     #         web_links = a.uniq | ||||
|     #       when 'tags' | ||||
|     #         a = Array.new | ||||
|     #         web_links.each do |web_link| | ||||
|     #           web_link.tags.each do |tag| | ||||
|     #             a << web_link if value.include?(tag.id.to_s) | ||||
|     #           end | ||||
|     #         end | ||||
|     #         web_links = a.uniq | ||||
|     #     end if value.size > 0 | ||||
|     #   end | ||||
|     # end | ||||
|     Kaminari.paginate_array(web_links).page(params[:page]).per(10) | ||||
|   end | ||||
|    | ||||
| end | ||||
|  |  | |||
|  | @ -12,7 +12,7 @@ class Panel::WebResource::FrontEnd::WebLinksController < OrbitWidgetController | |||
|    | ||||
| 	date_now = Time.now | ||||
| 	 | ||||
| 	@web_links = WebLink.where( :is_hidden => false ).desc(:is_top, :name).page(params[:page]).per(10) | ||||
| 	@web_links = WebLink.where( :is_hidden => false ).desc(:is_top, :title).page(params[:page]).per(10) | ||||
| 
 | ||||
| 	get_categorys | ||||
|   end | ||||
|  |  | |||
|  | @ -28,7 +28,7 @@ class Panel::WebResource::Widget::WebLinksController < OrbitWidgetController | |||
| 	 | ||||
| 	# deadline | ||||
|    | ||||
|     # @web_link = WebLink.where( :is_hidden => false ).desc(:is_top, :name).first | ||||
|     # @web_link = WebLink.where( :is_hidden => false ).desc(:is_top, :title).first | ||||
| 
 | ||||
|     @web_links = WebLink.widget_datas.page(params[:page]).per(5) | ||||
| 	 | ||||
|  |  | |||
|  | @ -6,8 +6,8 @@ class WebLink | |||
|   include Mongoid::MultiParameterAttributes | ||||
|    | ||||
|    | ||||
|   has_one :name, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy | ||||
|   has_one :context, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy | ||||
|   field :title, localize: true | ||||
|   field :context, localize: true | ||||
|    | ||||
|   has_and_belongs_to_many :tags, :class_name => "WebResourceTag" | ||||
|    | ||||
|  | @ -21,19 +21,17 @@ class WebLink | |||
|    | ||||
|   belongs_to :web_link_category | ||||
|    | ||||
|   validates_presence_of :name | ||||
|    | ||||
|   before_save :set_key | ||||
|   validates_presence_of :title | ||||
| 
 | ||||
|   def self.search( category_id = nil ) | ||||
|    | ||||
| 	if category_id.to_s.size > 0 | ||||
| 	 | ||||
| 	  find(:all, :conditions => {web_link_category_id: category_id}).desc( :is_top, :name ) | ||||
| 	  find(:all, :conditions => {web_link_category_id: category_id}).desc( :is_top, :title ) | ||||
| 
 | ||||
| 	else | ||||
| 	   | ||||
| 	  find(:all).desc( :is_top, :name) | ||||
| 	  find(:all).desc( :is_top, :title) | ||||
| 	   | ||||
| 	end | ||||
| 	 | ||||
|  | @ -42,39 +40,16 @@ class WebLink | |||
| 
 | ||||
|   def self.widget_datas | ||||
|    | ||||
| 	where( :is_hidden => false ).desc(:is_top, :name) | ||||
| 	where( :is_hidden => false ).desc(:is_top, :title) | ||||
| 
 | ||||
|   end | ||||
| 
 | ||||
|   def is_top? | ||||
|     self.is_top | ||||
|   end | ||||
|    | ||||
|   def name | ||||
|     @name ||= I18nVariable.first(:conditions => {:key => 'name', :language_value_id => self.id, :language_value_type => self.class}) rescue nil | ||||
|   end | ||||
|    | ||||
|   def context | ||||
|     @context ||= I18nVariable.first(:conditions => {:key => 'context', :language_value_id => self.id, :language_value_type => self.class}) rescue nil | ||||
|   end | ||||
|    | ||||
|   def text | ||||
|     @text ||= I18nVariable.first(:conditions => {:key => 'text', :language_value_id => self.id, :language_value_type => self.class}) rescue nil | ||||
|   end   | ||||
|   end  | ||||
| 
 | ||||
|   def sorted_tags | ||||
|     tags.order_by(I18n.locale, :asc) | ||||
|   end | ||||
|    | ||||
|   protected | ||||
|    | ||||
|   def set_key | ||||
|     if name && name.new_record? | ||||
|       name.key = 'name' | ||||
|     end | ||||
|     if context && context.new_record? | ||||
|       context.key = 'context' | ||||
|     end | ||||
|   end | ||||
|    | ||||
| end | ||||
|  | @ -12,12 +12,12 @@ class WebLinkCategory | |||
| 
 | ||||
|   field :key | ||||
|    | ||||
|   has_one :i18n_variable, :as => :language_value, :autosave => true, :dependent => :destroy | ||||
|   field :title, localize: true | ||||
|    | ||||
|   has_many :web_links | ||||
|    | ||||
|   def pp_object | ||||
|     i18n_variable[I18n.locale] | ||||
|     title | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | @ -3,7 +3,7 @@ class WebResourceTag < Tag | |||
|   has_and_belongs_to_many :web_links | ||||
|    | ||||
|    | ||||
|   def get_visible_links(sort = :name) | ||||
|   def get_visible_links(sort = :title) | ||||
| 	  self.web_links.where(:is_hidden => false).desc(:is_top, sort) | ||||
|   end | ||||
| 
 | ||||
|  |  | |||
|  | @ -10,12 +10,12 @@ | |||
| 	</div> | ||||
| 	 | ||||
| 	<div id="widget-title"> | ||||
| 		<%= f.fields_for :i18n_variable, (@web_link_category.new_record? ? @web_link_category.build_i18n_variable : @web_link_category.i18n_variable) do |f| %> | ||||
| 		<%= f.fields_for :title_translations do |f| %> | ||||
| 		  <% @site_valid_locales.each do |locale| %> | ||||
| 				<div class="control-group"> | ||||
| 					<%= label_tag "name-#{locale}", "Name-#{I18nVariable.from_locale(locale)}", :class => 'control-label' %> | ||||
| 					<div class="controls"> | ||||
| 						<%= f.text_field locale, :class => 'input-xxlarge' %> | ||||
| 						<%= f.text_field locale, :class => 'input-xxlarge', :value => (@web_link_category.title_translations[locale] rescue nil) %> | ||||
| 					</div> | ||||
| 				</div> | ||||
| 		  <% end %> | ||||
|  |  | |||
|  | @ -14,6 +14,6 @@ | |||
| 			<% end -%> | ||||
| 		</td> | ||||
| 		<% @site_valid_locales.each do |locale| %> | ||||
| 		<td><%= web_link_category.i18n_variable[locale] rescue nil %></td> | ||||
| 		<td><%= web_link_category.title_translations[locale] rescue nil %></td> | ||||
| 		<% end %> | ||||
| 	</tr> | ||||
|  | @ -69,17 +69,17 @@ | |||
| 				<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>"> | ||||
| 					<div class="title"> | ||||
| 						<%= f.label :name ,t("web_resource.name")%> | ||||
| 						<%= f.fields_for :name, (@web_link.new_record? ? @web_link.build_name : @web_link.name ) do |f| %> | ||||
| 						<%= f.fields_for :title_translations do |f| %> | ||||
| 							<%= I18nVariable.from_locale(locale) %> | ||||
| 							<%= f.text_field locale, :class=>'post-title' %> | ||||
| 							<%= f.text_field locale, :class=>'post-title', :value => (@web_link.title_translations[locale] rescue nil) %> | ||||
| 						<% end %> | ||||
| 					</div> | ||||
| 
 | ||||
| 					<div class="title"> | ||||
| 						<%= f.label :describe,t("web_resource.describe") %> | ||||
| 						<%= f.fields_for :context, (@web_link.new_record? ? @web_link.build_context : @web_link.context ) do |f| %> | ||||
| 						<%= f.fields_for :context_translations do |f| %> | ||||
| 								<%= I18nVariable.from_locale(locale) %> | ||||
| 								<%= f.text_area locale, :style=>"width:100%" %> | ||||
| 								<%= f.text_area locale, :style=>"width:100%", :value => (@web_link.context_translations[locale] rescue nil) %> | ||||
| 						<% end %> | ||||
| 					</div> | ||||
| 					 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| <%= render_sort_bar(true, ['status', ['is_top', 'is_hot', 'is_hidden', 'is_pending', 'is_checked', 'is_rejected'], 'span1', 'bulletin.status'], | ||||
| 													['category', 'bulletin_category', 'span2', 'bulletin.category'], | ||||
| 													['name', 'name','span3', 'bulletin.title'], | ||||
| 													['title', 'title','span3', 'bulletin.title'], | ||||
| 													['tags', 'tags', 'span2', 'bulletin.tags']).html_safe %> | ||||
|  | @ -19,9 +19,9 @@ | |||
| 			</div> | ||||
| 		</div> | ||||
| 	</td> | ||||
| 	<td><%= web_link.web_link_category.i18n_variable[I18n.locale] rescue nil %></td> | ||||
| 	<td><%= web_link.web_link_category.title rescue nil %></td> | ||||
| 	<td> | ||||
| 	<%= link_to web_link.name[I18n.locale], panel_web_resource_back_end_web_link_path(web_link) %> | ||||
| 	<%= link_to web_link.title, panel_web_resource_back_end_web_link_path(web_link) %> | ||||
| 	<div class="quick-edit"> | ||||
| 		<ul class="nav nav-pills hide"> | ||||
| 			<%if at_least_module_manager || web_link.web_link_category.cur_user_is_sub_manager_of(:edit)%> | ||||
|  |  | |||
|  | @ -1,57 +0,0 @@ | |||
| <% # encoding: utf-8 %> | ||||
| 
 | ||||
| <br /> | ||||
| <br /> | ||||
| <br /> | ||||
| 
 | ||||
| <p id="notice"><%= flash_messages %></p> | ||||
| 
 | ||||
| <ul> | ||||
| 	<li> | ||||
|   <b><%= t('announcement.category') %></b> | ||||
|   <%= @bulletin.bulletin_category.i18n_variable[I18n.locale] rescue nil %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('announcement.postdate') %></b> | ||||
|   <%= display_date(@bulletin.postdate) %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('announcement.title') %></b> | ||||
|   <%= @bulletin.title %> | ||||
| 	</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 %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('announcement.text') %></b> | ||||
|   <%= @bulletin.text %> | ||||
| 	</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> | ||||
|   <%= display_date(@bulletin.updated_at) %> | ||||
| 	</li> | ||||
| 
 | ||||
| 
 | ||||
| <%= link_back %> | ||||
|  | @ -15,10 +15,10 @@ | |||
| 
 | ||||
| 	<% @web_links.each do |post| %> | ||||
| 	  <tr> | ||||
| 		<td><%= post.web_link_category.i18n_variable[I18n.locale] rescue nil %></td> | ||||
| 		<td><%= post.web_link_category.title rescue nil %></td> | ||||
| 		<td> | ||||
| 		<%#= link_to post.name[I18n.locale], panel_web_resource_front_end_web_link_path(post) %> | ||||
| 		<%= link_to post.name[I18n.locale], post.url, {:target => '_blank', :title => post.name[I18n.locale]} %> | ||||
| 		<%#= link_to post.title, panel_web_resource_front_end_web_link_path(post) %> | ||||
| 		<%= link_to post.title, post.url, {:target => '_blank', :title => post.title} %> | ||||
| 		</td> | ||||
| 	  </tr> | ||||
| 	   | ||||
|  |  | |||
|  | @ -1,57 +0,0 @@ | |||
| <% # encoding: utf-8 %> | ||||
| 
 | ||||
| <br /> | ||||
| <br /> | ||||
| <br /> | ||||
| 
 | ||||
| <p id="notice"><%= flash_messages %></p> | ||||
| 
 | ||||
| <ul> | ||||
| 	<li> | ||||
|   <b><%= t('announcement.category') %></b> | ||||
|   <%= @bulletin.bulletin_category.i18n_variable[I18n.locale] rescue nil %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('announcement.postdate') %></b> | ||||
|   <%= display_date(@bulletin.postdate) %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('announcement.title') %></b> | ||||
|   <%= @bulletin.title %> | ||||
| 	</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 %> | ||||
| 	</li> | ||||
| 	<li> | ||||
|   <b><%= t('announcement.text') %></b> | ||||
|   <%= @bulletin.text %> | ||||
| 	</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> | ||||
|   <%= display_date_time(@bulletin.updated_at) %> | ||||
| 	</li> | ||||
| 
 | ||||
| 
 | ||||
| <%#= link_back %> | ||||
|  | @ -1,6 +1,6 @@ | |||
| <ul> | ||||
| 	<% @web_links.each do |widget| -%> | ||||
| 		<li><%= link_to widget.name[I18n.locale], widget.url, {:target => '_blank', :title => widget.name[I18n.locale]} %></li> | ||||
| 		<li><%= link_to widget.title, widget.url, {:target => '_blank', :title => widget.title} %></li> | ||||
| 	<% end -%>		 | ||||
| </ul> | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <% if @current_category %> | ||||
| 	<h1 class="h1"><%= @current_category.i18n_variable[I18n.locale] + " " + t('web_resource.list_lower') %></h1> | ||||
| 	<h1 class="h1"><%= @current_category.title + " " + t('web_resource.list_lower') %></h1> | ||||
| <% elsif @tag %> | ||||
| 	<h1 class="h1"><%= @tag[I18n.locale] + " " + t('web_resource.list_lower') %></h1> | ||||
| <% else %> | ||||
|  | @ -14,9 +14,9 @@ | |||
| 	  </tr> | ||||
| 		<% @web_links.each do |post| %> | ||||
| 		  <tr> | ||||
| 				<td><%= post.web_link_category.i18n_variable[I18n.locale] rescue nil %></td> | ||||
| 				<td><%= post.web_link_category.title rescue nil %></td> | ||||
| 				<td> | ||||
| 					<%= link_to post.name[I18n.locale], post.url, {:target => '_blank', :title => post.name[I18n.locale]} %> | ||||
| 					<%= link_to post.title, post.url, {:target => '_blank', :title => post.title} %> | ||||
| 				</td> | ||||
| 		  </tr> | ||||
| 		<% end %> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue