Merge branch 'nccu_0509' of https://github.com/Rulingcom/orbit into nccu_0509
This commit is contained in:
		
						commit
						1d9fc7eb75
					
				|  | @ -62,14 +62,16 @@ function myFileBrowser(field_name, url, type, win) { | ||||||
|     tinyMCE.activeEditor.windowManager.open({ |     tinyMCE.activeEditor.windowManager.open({ | ||||||
|         file : cmsURL, |         file : cmsURL, | ||||||
|         title : 'File Browser', |         title : 'File Browser', | ||||||
|         width : 850,  // Your dimensions may differ - toy around with them! |         width : 530,  // Your dimensions may differ - toy around with them! | ||||||
|         height : 455, |         height : 350, | ||||||
|         resizable : "no", |         resizable : "no", | ||||||
|         inline : "no",  // This parameter only has an effect if you use the inlinepopups plugin! |         inline : "no",  // This parameter only has an effect if you use the inlinepopups plugin! | ||||||
|         close_previous : "no" |         close_previous : "no" | ||||||
|     }, { |     }, { | ||||||
|         window : win, |         window : win, | ||||||
|         input : field_name, |         input : field_name, | ||||||
|  |         alt : "alt", | ||||||
|  |         title : "title" | ||||||
|     }); |     }); | ||||||
|     return false; |     return false; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| /*message*/ | /*message*/ | ||||||
| 
 | 
 | ||||||
| .error{ | .error{ | ||||||
|   color:red; |   color: #B94A48; | ||||||
|   } |   } | ||||||
| 	 | 	 | ||||||
| .notice, .message{ | .notice, .message{ | ||||||
|  |  | ||||||
|  | @ -30,7 +30,7 @@ class Admin::AssetsController < OrbitBackendController | ||||||
|    |    | ||||||
|   def create   |   def create   | ||||||
|     @asset = Asset.new(params[:asset]) |     @asset = Asset.new(params[:asset]) | ||||||
|     @asset.filename = @asset.i18n_variable[I18n.locale] rescue nil |     @asset.filename = @asset.title[I18n.locale] rescue nil | ||||||
|     if @asset.filename && @asset.save |     if @asset.filename && @asset.save | ||||||
|       respond_to do |format| |       respond_to do |format| | ||||||
|         format.js { |         format.js { | ||||||
|  |  | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | module Admin::AssetHelper | ||||||
|  | 
 | ||||||
|  |   def show_all_fields(asset, field) | ||||||
|  |     a = [] | ||||||
|  |     @site_valid_locales.each do |locale| | ||||||
|  |       a << asset.send(field)[locale] rescue nil | ||||||
|  |     end  | ||||||
|  |     a.join(' - ') | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  | end | ||||||
|  | @ -3,21 +3,43 @@ class Asset | ||||||
|   include Mongoid::Document |   include Mongoid::Document | ||||||
|   include Mongoid::Timestamps |   include Mongoid::Timestamps | ||||||
| 
 | 
 | ||||||
|   mount_uploader :data, AssetUploader |   mount_uploader :data, FileAssetUploader | ||||||
| 
 | 
 | ||||||
|   field :filename |   field :filename | ||||||
|   field :description |   field :description | ||||||
|  | 
 | ||||||
|  |   has_one :title, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy | ||||||
|  |   has_one :description, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy | ||||||
|    |    | ||||||
|   has_one :i18n_variable, :as => :language_value, :autosave => true, :dependent => :destroy |   validates_presence_of :title, :data, :description | ||||||
|    |  | ||||||
|   validates_presence_of :filename, :data |  | ||||||
| 
 | 
 | ||||||
|   belongs_to :asset_category |   belongs_to :asset_category | ||||||
|   belongs_to :assetable, polymorphic: true |   belongs_to :assetable, polymorphic: true | ||||||
|   has_and_belongs_to_many :tags, :class_name => "AssetTag" |   has_and_belongs_to_many :tags, :class_name => "AssetTag" | ||||||
| 
 | 
 | ||||||
|  |   before_save :set_key | ||||||
|  | 
 | ||||||
|  |   def title | ||||||
|  |     @title ||= I18nVariable.first(:conditions => {:key => 'title', :language_value_id => self.id, :language_value_type => self.class}) rescue nil | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def description | ||||||
|  |     @description ||= I18nVariable.first(:conditions => {:key => 'description', :language_value_id => self.id, :language_value_type => self.class}) rescue nil | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|   def sorted_tags |   def sorted_tags | ||||||
|     tags.order_by(I18n.locale, :asc) |     tags.order_by(I18n.locale, :asc) | ||||||
|   end |   end | ||||||
|  | 
 | ||||||
|  |   protected | ||||||
|  |    | ||||||
|  |   def set_key | ||||||
|  |     if title.new_record? | ||||||
|  |       title.key = 'title' | ||||||
|  |     end | ||||||
|  |     if description.new_record? | ||||||
|  |       description.key = 'description' | ||||||
|  |     end | ||||||
|  |   end | ||||||
|    |    | ||||||
| end | end | ||||||
|  |  | ||||||
|  | @ -48,8 +48,8 @@ class AssetUploader < CarrierWave::Uploader::Base | ||||||
|   # end |   # end | ||||||
| 
 | 
 | ||||||
|   # Override the filename of the uploaded files: |   # Override the filename of the uploaded files: | ||||||
|   def filename |   # def filename | ||||||
|     model.filename |   #   model.filename | ||||||
|   end |   # end | ||||||
| 
 | 
 | ||||||
| end | end | ||||||
|  |  | ||||||
|  | @ -0,0 +1,55 @@ | ||||||
|  | # encoding: utf-8 | ||||||
|  | 
 | ||||||
|  | class FileAssetUploader < CarrierWave::Uploader::Base | ||||||
|  |   require 'mime/types' | ||||||
|  |    | ||||||
|  |   process :set_content_type | ||||||
|  | 
 | ||||||
|  |   def set_content_type(*args) | ||||||
|  |     content_type = file.content_type == ('binary/octet-stream' || 'application/octet-stream') || file.content_type.blank? ? MIME::Types.type_for(original_filename).first.to_s : file.content_type | ||||||
|  |     self.file.instance_variable_set(:@content_type, content_type) | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   # Include RMagick or ImageScience support: | ||||||
|  |   # include CarrierWave::RMagick | ||||||
|  |   # include CarrierWave::ImageScience | ||||||
|  | 
 | ||||||
|  |   # Choose what kind of storage to use for this uploader: | ||||||
|  |   # storage :file | ||||||
|  |   # storage :s3 | ||||||
|  | 
 | ||||||
|  |   # Override the directory where uploaded files will be stored. | ||||||
|  |   # This is a sensible default for uploaders that are meant to be mounted: | ||||||
|  |   def store_dir | ||||||
|  |     "assets/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   # Provide a default URL as a default if there hasn't been a file uploaded: | ||||||
|  |   # def default_url | ||||||
|  |   #   "/images/fallback/" + [version_name, "default.png"].compact.join('_') | ||||||
|  |   # end | ||||||
|  | 
 | ||||||
|  |   # Process files as they are uploaded: | ||||||
|  |   # process :scale => [200, 300] | ||||||
|  |   # | ||||||
|  |   # def scale(width, height) | ||||||
|  |   #   # do something | ||||||
|  |   # end | ||||||
|  | 
 | ||||||
|  |   # Create different versions of your uploaded files: | ||||||
|  |   # version :thumb do | ||||||
|  |   #   process :scale => [50, 50] | ||||||
|  |   # end | ||||||
|  | 
 | ||||||
|  |   # Add a white list of extensions which are allowed to be uploaded. | ||||||
|  |   # For images you might use something like this: | ||||||
|  |   # def extension_white_list | ||||||
|  |   #   %w(jpg jpeg gif png) | ||||||
|  |   # end | ||||||
|  | 
 | ||||||
|  |   # Override the filename of the uploaded files: | ||||||
|  |   # def filename | ||||||
|  |   #   model.filename.force_encoding("UTF-8") | ||||||
|  |   # end | ||||||
|  | 
 | ||||||
|  | end | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| <tr id="asset_<%= asset.id %>" class="with_action"> | <tr id="asset_<%= asset.id %>" class="with_action"> | ||||||
| 	<td><%= check_box_tag 'to_delete[]', asset.id, false, :class => "checkbox_in_list" %></td> | 	<td><%= check_box_tag 'to_delete[]', asset.id, false, :class => "checkbox_in_list" %></td> | ||||||
| 	<td><%= asset.i18n_variable[I18n.locale] rescue nil %></td> | 	<td><%= asset.title.i18n_variable[I18n.locale] rescue nil %></td> | ||||||
| 	<td> | 	<td> | ||||||
| 		<i class="icons-picture img-peview" rel="popover" data-content="<img src='<%= asset.data.url %>' />" data-original-title="<%= asset.data.filename %>"></i> | 		<i class="icons-picture img-peview" rel="popover" data-content="<img src='<%= asset.data.url %>' />" data-original-title="<%= asset.data.filename %>"></i> | ||||||
| 		<div class="quick-edit"> | 		<div class="quick-edit"> | ||||||
|  | @ -12,7 +12,7 @@ | ||||||
| 	</td> | 	</td> | ||||||
| 	<td><%= asset.data.file.content_type %></td> | 	<td><%= asset.data.file.content_type %></td> | ||||||
| 	<td><%= number_to_human_size(asset.data.file.file_length) %></td> | 	<td><%= number_to_human_size(asset.data.file.file_length) %></td> | ||||||
| 	<td><%= asset.category.i18n_variable[I18n.locale] rescue nil %></td> | 	<td><%= asset.description.i18n_variable[I18n.locale] rescue nil %></td> | ||||||
| 	<td> | 	<td> | ||||||
| 		<div class="label-group"> | 		<div class="label-group"> | ||||||
| 			<div class="label-td"> | 			<div class="label-td"> | ||||||
|  |  | ||||||
|  | @ -2,5 +2,5 @@ | ||||||
| 													['description', 'description', 'span1-2', 'admin.data'], | 													['description', 'description', 'span1-2', 'admin.data'], | ||||||
| 													['intro', 'intro', 'span1-2', 'admin.file_type'], | 													['intro', 'intro', 'span1-2', 'admin.file_type'], | ||||||
| 													['intro', 'intro', 'span1-2', 'admin.file_length'], | 													['intro', 'intro', 'span1-2', 'admin.file_length'], | ||||||
| 													['intro', 'intro', 'span1-2', 'admin.category'], | 													['intro', 'intro', 'span1-2', 'admin.description'], | ||||||
| 													['intro', 'intro', 'span1-2', 'admin.tags']).html_safe %> | 													['intro', 'intro', 'span1-2', 'admin.tags']).html_safe %> | ||||||
|  |  | ||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							|  | @ -9,39 +9,41 @@ | ||||||
|     </div> |     </div> | ||||||
|     <div class="modal-body form-horizontal"> |     <div class="modal-body form-horizontal"> | ||||||
|         <div class="control-group"> |         <div class="control-group"> | ||||||
|             <label for="title" class="control-label"><%= t 'admin.title' %></label> |             <label for="title" class="control-label error"><%= t 'admin.title' %></label> | ||||||
|             <div class="controls"> |             <div class="controls"> | ||||||
|                 <%= f.fields_for :i18n_variable, (@asset.new_record? ? @asset.build_i18n_variable : @asset.i18n_variable) do |f| %> |                 <%= f.fields_for :title, (@asset.new_record? ? @asset.build_title : @asset.title) do |f| %> | ||||||
|                   <% @site_valid_locales.each do |locale| %> |                     <div> | ||||||
|                     <%= content_tag :label do -%> |                     <% @site_valid_locales.each do |locale| %> | ||||||
|                         <div> |                         <%= content_tag :label do -%> | ||||||
|                             <%= I18nVariable.from_locale(locale) %> |                             <div> | ||||||
|                             <%= f.text_field locale, :class => "input-large" %> |                                 <%= I18nVariable.from_locale(locale) %> | ||||||
|                         </div> |                                 <%= f.text_field locale, :class => "input-large" %> | ||||||
|                     <% end %> |                             </div> | ||||||
|                   <% end %> |                         <% end %> | ||||||
|  |                       <% end %> | ||||||
|  |                     </div> | ||||||
|                 <% end %> |                 <% end %> | ||||||
|             </div> |             </div> | ||||||
|         </div> |         </div> | ||||||
|         <div class="control-group"> |         <div class="control-group"> | ||||||
|             <label class="control-label"><%= f.label :category, t('admin.category') %></label> |             <label for="description" class="control-label error"><%= t 'admin.description' %></label> | ||||||
|             <div class="controls"> |             <div class="controls"> | ||||||
|                 <%= f.select :asset_category_id, @asset_categories.collect{|t| [ t.i18n_variable[I18n.locale], t.id ]}, {}, :class => "input-large" %> |                 <%= f.fields_for :description, (@asset.new_record? ? @asset.build_description : @asset.description) do |f| %> | ||||||
|             </div> |                     <div> | ||||||
|         </div> |                     <% @site_valid_locales.each do |locale| %> | ||||||
|         <div class="control-group"> |                         <%= content_tag :label do -%> | ||||||
|             <label class="control-label"><%= t 'admin.tags' %></label> |                             <div> | ||||||
|             <div class="controls"> |                                 <%= I18nVariable.from_locale(locale) %> | ||||||
|                 <% @tags.each do |tag| %> |                                 <%= f.text_field locale, :class => "input-large" %> | ||||||
|                     <%= content_tag :label, :class => "checkbox inline" do -%> |                             </div> | ||||||
|                         <%= check_box_tag 'asset[tag_ids][]', tag.id, @asset.tag_ids.include?(tag.id) %> |                         <% end %> | ||||||
|                         <%= tag[I18n.locale] %> |                       <% end %> | ||||||
|                     <% end %> |                     </div> | ||||||
|                 <% end %> |                 <% end %> | ||||||
|             </div> |             </div> | ||||||
|         </div> |         </div> | ||||||
|         <div class="control-group"> |         <div class="control-group"> | ||||||
|             <label class="control-label"><%= f.label :data, t('admin.data') %></label> |             <%= f.label :data, t('admin.data'), :class => "control-label" %> | ||||||
|             <div class="controls"> |             <div class="controls"> | ||||||
|                 <%= f.file_field :data, :class => 'upload' %> |                 <%= f.file_field :data, :class => 'upload' %> | ||||||
|             </div> |             </div> | ||||||
|  |  | ||||||
|  | @ -71,11 +71,11 @@ | ||||||
| 	<% end -%> | 	<% end -%> | ||||||
| <% end -%> | <% end -%> | ||||||
| 
 | 
 | ||||||
| <%= content_tag :li, :class => active_for_controllers('assets', '/admin/asset_tags', 'asset_categories') do -%> | <%#= content_tag :li, :class => active_for_controllers('assets', '/admin/asset_tags', 'asset_categories') do -%> | ||||||
| 	<%= link_to content_tag(:i, nil, :class => 'icons-link') + t('admin.asset'), admin_assets_path %> | 	<%#= link_to content_tag(:i, nil, :class => 'icons-link') + t('admin.asset'), admin_assets_path %> | ||||||
| 	<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('assets', '/admin/asset_tags', 'asset_categories')) do -%> | 	<%#= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('assets', '/admin/asset_tags', 'asset_categories')) do -%> | ||||||
| 		<%= content_tag :li, link_to(t('admin.all_assets'), admin_assets_path), :class => active_for_action('assets', 'index') %> | 		<%#= content_tag :li, link_to(t('admin.all_assets'), admin_assets_path), :class => active_for_action('assets', 'index') %> | ||||||
| 		<%= content_tag :li, link_to(t('admin.categories'), admin_asset_categories_path), :class => active_for_action('asset_categories', 'index') %> | 		<%#= content_tag :li, link_to(t('admin.categories'), admin_asset_categories_path), :class => active_for_action('asset_categories', 'index') %> | ||||||
| 		<%= content_tag :li, link_to(t('admin.tags'), admin_asset_tags_path), :class => active_for_action('/admin/asset_tags', 'index') %> | 		<%#= content_tag :li, link_to(t('admin.tags'), admin_asset_tags_path), :class => active_for_action('/admin/asset_tags', 'index') %> | ||||||
| 	<% end -%> | 	<%# end -%> | ||||||
| <% end -%> | <%# end -%> | ||||||
|  |  | ||||||
|  | @ -13,8 +13,8 @@ class Bulletin | ||||||
|   has_one :text, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy |   has_one :text, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy | ||||||
|   has_and_belongs_to_many :tags, :class_name => "AnnouncementTag" |   has_and_belongs_to_many :tags, :class_name => "AnnouncementTag" | ||||||
| 
 | 
 | ||||||
|   field :postdate , :type => Date |   field :postdate , :type => DateTime | ||||||
|   field :deadline , :type => Date |   field :deadline , :type => DateTime | ||||||
|   # field :url |   # field :url | ||||||
|   field :create_user_id |   field :create_user_id | ||||||
|   field :update_user_id, :class_name => "User" |   field :update_user_id, :class_name => "User" | ||||||
|  |  | ||||||
|  | @ -13,8 +13,8 @@ class NewsBulletin | ||||||
|   has_one :text, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy |   has_one :text, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy | ||||||
|   has_and_belongs_to_many :tags, :class_name => "NewsTag" |   has_and_belongs_to_many :tags, :class_name => "NewsTag" | ||||||
| 
 | 
 | ||||||
|   field :postdate , :type => Date |   field :postdate , :type => DateTime | ||||||
|   field :deadline , :type => Date |   field :deadline , :type => DateTime | ||||||
|   # field :url |   # field :url | ||||||
|   field :create_user_id |   field :create_user_id | ||||||
|   field :update_user_id, :class_name => "User" |   field :update_user_id, :class_name => "User" | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue