demo site plugin
This commit is contained in:
		
							parent
							
								
									fb3364b28e
								
							
						
					
					
						commit
						a4c94c4404
					
				|  | @ -4,7 +4,7 @@ | |||
| 
 | ||||
| 			<div class="modal-header"> | ||||
|                 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> | ||||
|                 <h3 id="myModalLabe1"><%= (@set_paper_type.new_record? ? 'Add 論文型態' : 'Edit 論文型態') %></h3> | ||||
|                 <h3 id="myModalLabe1"><%= (@set_paper_type.new_record? ? 'Add 類別' : 'Edit 類別') %></h3> | ||||
|             </div> | ||||
|             <div class="modal-body"> | ||||
| 			 | ||||
|  | @ -13,12 +13,17 @@ | |||
| 				<div class="controls"> | ||||
| 				<%= f.text_field :key %> | ||||
| 			</div> | ||||
| 			 | ||||
| 			<div class="control-group"> | ||||
| 				<label for="http" class="control-label">Title</label> | ||||
| 				<div class="controls"> | ||||
| 				<%= f.text_field :title %> | ||||
|             </div> | ||||
| 
 | ||||
| 			<%= f.fields_for :title_translations do |f| %> | ||||
| 				<% @site_valid_locales.each do |locale| %> | ||||
| 					<div class="control-group"> | ||||
| 						<%= label_tag "link-#{locale}", "Name-#{I18nVariable.from_locale(locale)}", :class => 'control-label' %> | ||||
| 						<div class="controls"> | ||||
| 							<%= f.text_field locale, :class => 'control-label', :value => (@set_author_type.title_translations[locale] rescue nil) %> | ||||
| 						</div> | ||||
| 					</div> | ||||
| 				<% end %> | ||||
| 			<% end %> | ||||
| 			 | ||||
|             <div class="modal-footer"> | ||||
| 				<%= hidden_field_tag 'writing_book_category[paper_type]', @set_paper_type.id %> | ||||
|  |  | |||
							
								
								
									
										55
									
								
								vendor/built_in_modules/personal_book/app/views/panel/personal_book/plugin/_profile.html.erb
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										55
									
								
								vendor/built_in_modules/personal_book/app/views/panel/personal_book/plugin/_profile.html.erb
								
								
								
									vendored
								
								
									Normal file
								
							|  | @ -0,0 +1,55 @@ | |||
| <% | ||||
|   @filter = params[:filter] | ||||
|   new_filter = params[:new_filter] | ||||
|    | ||||
|   if @filter && params[:clear] | ||||
|     @filter.delete(params[:type]) | ||||
|   elsif @filter && new_filter | ||||
|     if @filter.has_key?(new_filter[:type]) && @filter[new_filter[:type]].include?(new_filter[:id].to_s) | ||||
|       @filter[new_filter[:type]].delete(new_filter[:id].to_s) | ||||
|     elsif @filter.has_key?(new_filter[:type]) | ||||
|       @filter[new_filter[:type]] << new_filter[:id].to_s | ||||
|     else | ||||
|       @filter.merge!({new_filter[:type] => [new_filter[:id].to_s]}) | ||||
|     end | ||||
|   elsif new_filter | ||||
|     @filter = {new_filter[:type] => [new_filter[:id].to_s]} | ||||
|   end | ||||
| 
 | ||||
| 
 | ||||
|   @writing_books = WritingBook.where(:create_user_id => @user.id).page(params[:page]).per(10) | ||||
| 
 | ||||
| 
 | ||||
| %> | ||||
| 
 | ||||
| <table class="table main-list"> | ||||
| 	<thead> | ||||
| 		<tr> | ||||
| 			<th class="span1"><%= t('writing_book.year') %></th> | ||||
| 			<th class="span3"><%= t('writing_book.title') %></th> | ||||
| 		</tr> | ||||
| 	</thead> | ||||
| 	<tbody id="tbody_writing_books" class="sort-holder"> | ||||
| 		 | ||||
| 		 | ||||
| 	<% @writing_books.each do |writing_book| %>	 | ||||
| 			 | ||||
| 	<tr id="<%= dom_id writing_book %>" class="with_action"> | ||||
| 		<td><%= writing_book.year %></td> | ||||
| 		<td> | ||||
| 		<%= link_to writing_book.create_link, panel_personal_book_front_end_writing_book_path(writing_book) %> | ||||
| 		</td> | ||||
| 	</tr>		 | ||||
| 		 | ||||
| 	<% end %>	 | ||||
| 		 | ||||
| 		 | ||||
| 	</tbody> | ||||
| </table> | ||||
| 
 | ||||
| <div class="form-actions form-fixed pagination-right"> | ||||
| 	<%= link_to content_tag(:i, nil, :class => 'icon-plus icon-white') + t('announcement.add_new'), new_panel_personal_book_plugin_writing_book_path, :class => 'btn btn-primary pull-right' %> | ||||
| 	<div id="writing_book_pagination" class="paginationFixed"> | ||||
| 	<%= paginate @writing_books, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %> | ||||
| 	</div> | ||||
| </div> | ||||
|  | @ -0,0 +1,25 @@ | |||
| module PersonalBook | ||||
|   OrbitApp.registration "Book",:type=> 'ModuleApp' do | ||||
| 
 | ||||
|     base_url File.expand_path File.dirname(__FILE__)     | ||||
|     personal_plugin :enable => true,:path=>"panel/personal_book/plugin/profile" | ||||
|      | ||||
| 
 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| 
 | ||||
| 
 | ||||
| # OrbitApp.backend_side_bar 'News' do | ||||
|    | ||||
| #   block :available_for =>  [:admin,:guest,:manager,:sub_manager], | ||||
| #             :active_for_controllers=> ['news_bulletins', '/panel/news/back_end/tags', 'news_bulletin_categorys', 'news_approvals'], | ||||
| #             :active_for_ob_auths_object => ['NewsBulletinCategory'], | ||||
| #             :head_link => panel_news_back_end_news_bulletins_path  , | ||||
| #             :head_label=> I18n.t('admin.news') | ||||
| 
 | ||||
| #   context_link :link=>new_panel_news_back_end_news_bulletin_path , | ||||
| #                       :priority=>1,:label=>I18n.t('announcement.add_new'), | ||||
| #                       :active_for_action=>{:news_bulletins=>:new} | ||||
| 
 | ||||
| # end | ||||
|  | @ -0,0 +1,6 @@ | |||
| .bundle/ | ||||
| log/*.log | ||||
| pkg/ | ||||
| test/dummy/db/*.sqlite3 | ||||
| test/dummy/log/*.log | ||||
| test/dummy/tmp/ | ||||
|  | @ -0,0 +1,17 @@ | |||
| source "http://rubygems.org" | ||||
| 
 | ||||
| # Declare your gem's dependencies in personal_diploma.gemspec. | ||||
| # Bundler will treat runtime dependencies like base dependencies, and | ||||
| # development dependencies will be added by default to the :development group. | ||||
| gemspec | ||||
| 
 | ||||
| # jquery-rails is used by the dummy application | ||||
| gem "jquery-rails" | ||||
| 
 | ||||
| # Declare any dependencies that are still in development here instead of in | ||||
| # your gemspec. These might include edge Rails or gems from your path or | ||||
| # Git. Remember to move these dependencies to your gemspec before releasing | ||||
| # your gem to rubygems.org. | ||||
| 
 | ||||
| # To use debugger | ||||
| # gem 'ruby-debug19', :require => 'ruby-debug' | ||||
|  | @ -0,0 +1,20 @@ | |||
| Copyright 2012 YOURNAME | ||||
| 
 | ||||
| Permission is hereby granted, free of charge, to any person obtaining | ||||
| a copy of this software and associated documentation files (the | ||||
| "Software"), to deal in the Software without restriction, including | ||||
| without limitation the rights to use, copy, modify, merge, publish, | ||||
| distribute, sublicense, and/or sell copies of the Software, and to | ||||
| permit persons to whom the Software is furnished to do so, subject to | ||||
| the following conditions: | ||||
| 
 | ||||
| The above copyright notice and this permission notice shall be | ||||
| included in all copies or substantial portions of the Software. | ||||
| 
 | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||
| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||||
| MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||||
| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | ||||
| LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||||
| OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||||
| WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
|  | @ -0,0 +1,3 @@ | |||
| = PersonalDiploma | ||||
| 
 | ||||
| This project rocks and uses MIT-LICENSE. | ||||
|  | @ -0,0 +1,39 @@ | |||
| #!/usr/bin/env rake | ||||
| begin | ||||
|   require 'bundler/setup' | ||||
| rescue LoadError | ||||
|   puts 'You must `gem install bundler` and `bundle install` to run rake tasks' | ||||
| end | ||||
| begin | ||||
|   require 'rdoc/task' | ||||
| rescue LoadError | ||||
|   require 'rdoc/rdoc' | ||||
|   require 'rake/rdoctask' | ||||
|   RDoc::Task = Rake::RDocTask | ||||
| end | ||||
| 
 | ||||
| RDoc::Task.new(:rdoc) do |rdoc| | ||||
|   rdoc.rdoc_dir = 'rdoc' | ||||
|   rdoc.title    = 'PersonalDiploma' | ||||
|   rdoc.options << '--line-numbers' | ||||
|   rdoc.rdoc_files.include('README.rdoc') | ||||
|   rdoc.rdoc_files.include('lib/**/*.rb') | ||||
| end | ||||
| 
 | ||||
| APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__) | ||||
| load 'rails/tasks/engine.rake' | ||||
| 
 | ||||
| 
 | ||||
| Bundler::GemHelper.install_tasks | ||||
| 
 | ||||
| require 'rake/testtask' | ||||
| 
 | ||||
| Rake::TestTask.new(:test) do |t| | ||||
|   t.libs << 'lib' | ||||
|   t.libs << 'test' | ||||
|   t.pattern = 'test/**/*_test.rb' | ||||
|   t.verbose = false | ||||
| end | ||||
| 
 | ||||
| 
 | ||||
| task :default => :test | ||||
							
								
								
									
										0
									
								
								vendor/built_in_modules/personal_diploma/app/assets/stylesheets/personal_diploma/.gitkeep
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										0
									
								
								vendor/built_in_modules/personal_diploma/app/assets/stylesheets/personal_diploma/.gitkeep
								
								
								
									vendored
								
								
									Normal file
								
							
							
								
								
									
										23
									
								
								vendor/built_in_modules/personal_diploma/app/controllers/application_controller.rb
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										23
									
								
								vendor/built_in_modules/personal_diploma/app/controllers/application_controller.rb
								
								
								
									vendored
								
								
									Normal file
								
							|  | @ -0,0 +1,23 @@ | |||
| class ApplicationController < ActionController::Base | ||||
|   protect_from_forgery | ||||
|   before_filter :set_locale | ||||
|    | ||||
|   # Set I18n.locale | ||||
|   def set_locale | ||||
|     # update session if passed | ||||
|     session[:locale] = params[:locale] if params[:locale] | ||||
| 
 | ||||
|     # set locale based on session or default | ||||
|     begin | ||||
|       # check if locale is valid for non site pages | ||||
|       if !VALID_LOCALES.include?(session[:locale]) | ||||
|         I18n.locale = I18n.default_locale | ||||
|       else | ||||
|         I18n.locale = session[:locale] | ||||
|       end | ||||
|      rescue | ||||
|        I18n.locale = I18n.default_locale | ||||
|      end     | ||||
|   end | ||||
|    | ||||
| end | ||||
|  | @ -0,0 +1,174 @@ | |||
| class Panel::PersonalDiploma::BackEnd::DiplomasController < OrbitBackendController | ||||
|   include AdminHelper | ||||
|   include OrbitControllerLib::DivisionForDisable | ||||
|    | ||||
|   before_filter :authenticate_user! | ||||
|   before_filter :force_order_for_visitor,:only=>[:index,:show] | ||||
|   before_filter :force_order_for_user,:except => [:index,:show] | ||||
|   # before_filter :for_app_manager,:except => [:index,:show]  | ||||
|    | ||||
|   def index | ||||
|    | ||||
|   @filter = params[:filter] | ||||
|   new_filter = params[:new_filter] | ||||
| 
 | ||||
|   if @filter && params[:clear] | ||||
|     @filter.delete(params[:type]) | ||||
|   elsif @filter && new_filter | ||||
|     if @filter.has_key?(new_filter[:type]) && @filter[new_filter[:type]].include?(new_filter[:id].to_s) | ||||
|       @filter[new_filter[:type]].delete(new_filter[:id].to_s) | ||||
|     elsif @filter.has_key?(new_filter[:type]) | ||||
|       @filter[new_filter[:type]] << new_filter[:id].to_s | ||||
|     else | ||||
|       @filter.merge!({new_filter[:type] => [new_filter[:id].to_s]}) | ||||
|     end | ||||
|   elsif new_filter | ||||
|     @filter = {new_filter[:type] => [new_filter[:id].to_s]} | ||||
|   end | ||||
|    | ||||
|    | ||||
|   @diplomas = (params[:sort] || @filter) ? get_sorted_and_filtered("diploma") : get_viewable("diploma") | ||||
| 
 | ||||
|   get_tags | ||||
| 
 | ||||
|     respond_to do |format| | ||||
|       format.html # index.html.erb | ||||
|       format.xml  { render :xml => @diplomas } | ||||
|       format.js | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def diploma_setting | ||||
|   	 | ||||
|     get_tags | ||||
| 	 | ||||
|   end | ||||
| 
 | ||||
|   # GET /diplomas/1 | ||||
|   # GET /diplomas/1.xml | ||||
|   def show | ||||
|     @diploma = Diploma.find(params[:id]) | ||||
|     respond_to do |format| | ||||
|       format.html # show.html.erb | ||||
|       format.xml  { render :xml => @diploma } | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   # GET /diplomas/new | ||||
|   # GET /diplomas/new.xml | ||||
|   def new | ||||
|    | ||||
|     @diploma = Diploma.new  | ||||
| 	 | ||||
|     get_tags | ||||
| 
 | ||||
|     respond_to do |format| | ||||
|       format.html # new.html.erb | ||||
|       format.xml  { render :xml => @diploma } | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   # GET /diplomas/1/edit | ||||
|   def edit | ||||
|     @diploma = Diploma.find(params[:id])  | ||||
| 	 | ||||
|     get_tags | ||||
|   end | ||||
| 
 | ||||
|   # POST /diplomas | ||||
|   # POST /diplomas.xml | ||||
|   def create | ||||
|    | ||||
| 	get_tags | ||||
|    | ||||
|     @diploma = Diploma.new(params[:diploma]) | ||||
| 	 | ||||
|     @diploma.create_user_id = current_user.id | ||||
|     @diploma.update_user_id = current_user.id | ||||
| 
 | ||||
|     respond_to do |format| | ||||
|       if @diploma.save | ||||
|         format.html { redirect_to(panel_personal_diploma_back_end_diplomas_url) } | ||||
|         format.xml  { render :xml => @diploma, :status => :created, :location => @diploma } | ||||
|       else | ||||
|         format.html { render :action => "new" } | ||||
|         format.xml  { render :xml => @diploma.errors, :status => :unprocessable_entity } | ||||
|       end | ||||
|     end | ||||
|   end | ||||
|    | ||||
|   # PUT /diplomas/1 | ||||
|   # PUT /diplomas/1.xml | ||||
|   def update | ||||
|    | ||||
|     @diploma = Diploma.find(params[:id]) | ||||
| 	 | ||||
|     @diploma.update_user_id = current_user.id | ||||
| 	 | ||||
| 	params[:diploma][:tag_ids] ||=[] | ||||
| 
 | ||||
|     respond_to do |format| | ||||
|       if @diploma.update_attributes(params[:diploma]) | ||||
|         format.html { redirect_to(panel_personal_diploma_back_end_diplomas_url) } | ||||
| 		# format.js  { render 'toggle_enable' } | ||||
|         format.xml  { head :ok } | ||||
|       else | ||||
|         format.html { render :action => "edit" } | ||||
|         format.xml  { render :xml => @diploma.errors, :status => :unprocessable_entity } | ||||
|       end | ||||
|     end | ||||
|   end | ||||
|    | ||||
|   # DELETE /diplomas/1 | ||||
|   # DELETE /diplomas/1.xml | ||||
|   def destroy | ||||
|     @diploma = Diploma.find(params[:id]) | ||||
|     @diploma.destroy | ||||
| 
 | ||||
|     respond_to do |format| | ||||
|       format.html { redirect_to(panel_personal_diploma_back_end_diplomas_url) } | ||||
|       # format.xml  { head :ok } | ||||
|       format.js | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def delete | ||||
|     if params[:ids] | ||||
|       diplomas = Diploma.any_in(:_id => params[:ids]).delete_all | ||||
|     end | ||||
|     redirect_to panel_personal_diploma_back_end_diplomas_url(:direction => params[:direction], :sort => params[:sort], :sort_options => params[:sort_options]) | ||||
|   end | ||||
|    | ||||
|   protected | ||||
|   | ||||
| 
 | ||||
|   # def get_index_categories(id = nil) | ||||
|   #   @bulletin_categorys = [] | ||||
|   #   if(is_manager? || is_admin?) | ||||
|   #     @bulletin_categorys = (id ? BulletinCategory.admin_manager_all.find(id).to_a : BulletinCategory.admin_manager_all) | ||||
|   #   elsif is_sub_manager? | ||||
|   #     @bulletin_categorys = BulletinCategory.all | ||||
|   #   end | ||||
|   #   @bulletin_categorys | ||||
|   # end | ||||
| 
 | ||||
| 
 | ||||
|   # def get_categorys(id = nil) | ||||
|   #   @diploma_categorys = [] | ||||
|   #   if(is_manager? || is_admin?) | ||||
|   #     @diploma_categorys = (id ? DiplomaCategory.admin_manager_all.find(id).to_a : DiplomaCategory.admin_manager_all)) | ||||
|   #   elsif is_sub_manager? | ||||
|   #     @diploma_categorys = DiplomaCategory.all.authed_for_user(current_user,'edit') | ||||
|   #   end | ||||
|   #   if @diploma_categorys.empty? && params[:action] != "index" | ||||
|   #       flash[:alert] = t("announcement.error.no_avilb_cate_for_posting") | ||||
|   #       redirect_to :action => :index | ||||
|   #   end | ||||
|   # end | ||||
|    | ||||
|   def get_tags | ||||
|   	module_app = ModuleApp.first(:conditions => {:key => 'personal_diploma'}) | ||||
|   	@tags = Tag.all(:conditions => {:module_app_id => module_app.id}) | ||||
|   end | ||||
|    | ||||
| end | ||||
|  | @ -0,0 +1,8 @@ | |||
| class Panel::PersonalDiploma::BackEnd::TagsController < Admin::TagsController | ||||
| 
 | ||||
|   def initialize | ||||
|     super | ||||
|     @app_title = 'personal_diploma' | ||||
|   end | ||||
|    | ||||
| end | ||||
|  | @ -0,0 +1,172 @@ | |||
| class Panel::PersonalDiploma::Plugin::DiplomasController < OrbitBackendController | ||||
|   include AdminHelper | ||||
|   include OrbitControllerLib::DivisionForDisable | ||||
|    | ||||
|   before_filter :authenticate_user! | ||||
|   before_filter :force_order_for_visitor,:only=>[:index,:show] | ||||
|   before_filter :force_order_for_user,:except => [:index,:show] | ||||
|   # before_filter :for_app_manager,:except => [:index,:show]  | ||||
|    | ||||
|   def index | ||||
|    | ||||
|   @filter = params[:filter] | ||||
|   new_filter = params[:new_filter] | ||||
| 
 | ||||
|   if @filter && params[:clear] | ||||
|     @filter.delete(params[:type]) | ||||
|   elsif @filter && new_filter | ||||
|     if @filter.has_key?(new_filter[:type]) && @filter[new_filter[:type]].include?(new_filter[:id].to_s) | ||||
|       @filter[new_filter[:type]].delete(new_filter[:id].to_s) | ||||
|     elsif @filter.has_key?(new_filter[:type]) | ||||
|       @filter[new_filter[:type]] << new_filter[:id].to_s | ||||
|     else | ||||
|       @filter.merge!({new_filter[:type] => [new_filter[:id].to_s]}) | ||||
|     end | ||||
|   elsif new_filter | ||||
|     @filter = {new_filter[:type] => [new_filter[:id].to_s]} | ||||
|   end | ||||
|    | ||||
|   @diplomas = (params[:sort] || @filter) ? get_sorted_and_filtered("diploma",:create_user_id => current_user.id) : get_viewable("diploma", :create_user_id => current_user.id) | ||||
|   get_tags | ||||
| 
 | ||||
|     respond_to do |format| | ||||
|       format.html # index.html.erb | ||||
|       format.xml  { render :xml => @diplomas } | ||||
|       format.js | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def diploma_setting | ||||
|   	 | ||||
|     get_tags | ||||
| 	 | ||||
|   end | ||||
| 
 | ||||
|   # GET /diplomas/1 | ||||
|   # GET /diplomas/1.xml | ||||
|   def show | ||||
|     @diploma = Diploma.find(params[:id]) | ||||
|     respond_to do |format| | ||||
|       format.html # show.html.erb | ||||
|       format.xml  { render :xml => @diploma } | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   # GET /diplomas/new | ||||
|   # GET /diplomas/new.xml | ||||
|   def new | ||||
|    | ||||
|     @diploma = Diploma.new  | ||||
| 	 | ||||
|     get_tags | ||||
| 
 | ||||
|     respond_to do |format| | ||||
|       format.html # new.html.erb | ||||
|       format.xml  { render :xml => @diploma } | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   # GET /diplomas/1/edit | ||||
|   def edit | ||||
|     @diploma = Diploma.find(params[:id])  | ||||
| 	 | ||||
|     get_tags | ||||
|   end | ||||
| 
 | ||||
|   # POST /diplomas | ||||
|   # POST /diplomas.xml | ||||
|   def create | ||||
|    | ||||
| 	get_tags | ||||
|    | ||||
|     @diploma = Diploma.new(params[:diploma]) | ||||
| 	 | ||||
|     @diploma.create_user_id = current_user.id | ||||
|     @diploma.update_user_id = current_user.id | ||||
| 
 | ||||
|     respond_to do |format| | ||||
|       if @diploma.save | ||||
|         format.html { redirect_to(panel_personal_diploma_plugin_diplomas_url) } | ||||
|         format.xml  { render :xml => @diploma, :status => :created, :location => @diploma } | ||||
|       else | ||||
|         format.html { render :action => "new" } | ||||
|         format.xml  { render :xml => @diploma.errors, :status => :unprocessable_entity } | ||||
|       end | ||||
|     end | ||||
|   end | ||||
|    | ||||
|   # PUT /diplomas/1 | ||||
|   # PUT /diplomas/1.xml | ||||
|   def update | ||||
|    | ||||
|     @diploma = Diploma.find(params[:id]) | ||||
| 	 | ||||
|     @diploma.update_user_id = current_user.id | ||||
| 	 | ||||
| 	params[:diploma][:tag_ids] ||=[] | ||||
| 
 | ||||
|     respond_to do |format| | ||||
|       if @diploma.update_attributes(params[:diploma]) | ||||
|         format.html { redirect_to(panel_personal_diploma_plugin_diplomas_url) } | ||||
| 		# format.js  { render 'toggle_enable' } | ||||
|         format.xml  { head :ok } | ||||
|       else | ||||
|         format.html { render :action => "edit" } | ||||
|         format.xml  { render :xml => @diploma.errors, :status => :unprocessable_entity } | ||||
|       end | ||||
|     end | ||||
|   end | ||||
|    | ||||
|   # DELETE /diplomas/1 | ||||
|   # DELETE /diplomas/1.xml | ||||
|   def destroy | ||||
|     @diploma = Diploma.find(params[:id]) | ||||
|     @diploma.destroy | ||||
| 
 | ||||
|     respond_to do |format| | ||||
|       format.html { redirect_to(panel_personal_diploma_plugin_diplomas_url) } | ||||
|       # format.xml  { head :ok } | ||||
|       format.js | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def delete | ||||
|     if params[:ids] | ||||
|       diplomas = Diploma.any_in(:_id => params[:ids]).delete_all | ||||
|     end | ||||
|     redirect_to panel_personal_diploma_plugin_diplomas_url(:direction => params[:direction], :sort => params[:sort], :sort_options => params[:sort_options]) | ||||
|   end | ||||
|    | ||||
|   protected | ||||
|   | ||||
| 
 | ||||
|   # def get_index_categories(id = nil) | ||||
|   #   @bulletin_categorys = [] | ||||
|   #   if(is_manager? || is_admin?) | ||||
|   #     @bulletin_categorys = (id ? BulletinCategory.admin_manager_all.find(id).to_a : BulletinCategory.admin_manager_all) | ||||
|   #   elsif is_sub_manager? | ||||
|   #     @bulletin_categorys = BulletinCategory.all | ||||
|   #   end | ||||
|   #   @bulletin_categorys | ||||
|   # end | ||||
| 
 | ||||
| 
 | ||||
|   # def get_categorys(id = nil) | ||||
|   #   @diploma_categorys = [] | ||||
|   #   if(is_manager? || is_admin?) | ||||
|   #     @diploma_categorys = (id ? DiplomaCategory.admin_manager_all.find(id).to_a : DiplomaCategory.admin_manager_all)) | ||||
|   #   elsif is_sub_manager? | ||||
|   #     @diploma_categorys = DiplomaCategory.all.authed_for_user(current_user,'edit') | ||||
|   #   end | ||||
|   #   if @diploma_categorys.empty? && params[:action] != "index" | ||||
|   #       flash[:alert] = t("announcement.error.no_avilb_cate_for_posting") | ||||
|   #       redirect_to :action => :index | ||||
|   #   end | ||||
|   # end | ||||
|    | ||||
|   def get_tags | ||||
|   	module_app = ModuleApp.first(:conditions => {:key => 'personal_diploma'}) | ||||
|   	@tags = Tag.all(:conditions => {:module_app_id => module_app.id}) | ||||
|   end | ||||
|    | ||||
| end | ||||
|  | @ -0,0 +1,80 @@ | |||
| # encoding: utf-8 | ||||
| 
 | ||||
| class Diploma | ||||
|   include Mongoid::Document | ||||
|   include Mongoid::Timestamps | ||||
|   include Mongoid::MultiParameterAttributes | ||||
|    | ||||
|   # scope :available_for_lang, ->(locale){ where("available_for_#{locale}".to_sym => true) } | ||||
|    | ||||
|   LANGUAGE_TYPES = [ "English", "Chinese" ] | ||||
| 
 | ||||
| 
 | ||||
|   field :school_name, localize: true | ||||
|   field :country, localize: true | ||||
|   field :department, localize: true | ||||
|   field :degree, localize: true | ||||
|    | ||||
|   has_and_belongs_to_many :tags, :class_name => "PersonalDiplomaTag" | ||||
|    | ||||
|   field :year | ||||
|   field :language | ||||
|   field :keywords | ||||
|   field :start_date , :type => Date | ||||
|   field :end_date , :type => Date | ||||
|   field :url | ||||
|   field :note | ||||
|   field :create_user_id | ||||
|   field :update_user_id | ||||
|    | ||||
|   # field :is_top, :type => Boolean, :default => false  | ||||
|   # field :is_hot, :type => Boolean, :default => false  | ||||
|   # field :is_hidden, :type => Boolean, :default => false  | ||||
|    | ||||
|    | ||||
|   # before_save :update_avliable_language, :clean_checkboxs | ||||
| 
 | ||||
|   validates :school_name, :at_least_one => true | ||||
| 
 | ||||
|   before_validation :add_http | ||||
|      | ||||
|   validates :url, :format => /^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$/ix, :unless => Proc.new{self.url.blank?} | ||||
| 
 | ||||
| 
 | ||||
|   def self.widget_datas | ||||
|    | ||||
| 	where( :is_hidden => false ).desc(:is_top, :created_at) | ||||
| 
 | ||||
|   end | ||||
| 
 | ||||
|   def is_top? | ||||
|     self.is_top | ||||
|   end  | ||||
| 
 | ||||
|   def sorted_tags | ||||
|     tags.order_by(I18n.locale, :asc) | ||||
|   end | ||||
|    | ||||
|   def update_avliable_language | ||||
|     VALID_LOCALES.each  do |locale| | ||||
|       if (title_translations[locale].blank? rescue true) | ||||
|         self["available_for_#{locale}".to_sym] = false  | ||||
|       else | ||||
|         self["available_for_#{locale}".to_sym] = true | ||||
|       end | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   protected | ||||
| 
 | ||||
|   def add_http | ||||
|     unless self.url.blank? || self.url[/^http:\/\//] || self.url[/^https:\/\//] | ||||
|       self.url = 'http://' + self.url | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def clean_checkboxs | ||||
|     self.tag_ids.delete('') | ||||
|   end | ||||
|    | ||||
| end | ||||
|  | @ -0,0 +1,9 @@ | |||
| class PersonalDiplomaTag < Tag | ||||
|    | ||||
|   has_and_belongs_to_many :diplomas | ||||
|    | ||||
|   def get_visible_links(sort = :title) | ||||
| 	  self.diplomas.where(:is_hidden => false).desc(:is_top, sort) | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | @ -0,0 +1,21 @@ | |||
| <tr id="<%= dom_id diploma %>" class="with_action"> | ||||
| 	<td> | ||||
| 		<% if (diploma.create_user_id ==  current_user.id) || is_manager? %> | ||||
| 			<%= check_box_tag 'to_delete[]', diploma.id, false, :class => "checkbox_in_list" %> | ||||
| 		<% end -%> | ||||
| 	</td> | ||||
| 	<td><%= diploma.start_date.strftime("%Y.%m") %> ~ <%= diploma.end_date.strftime("%Y.%m") %></td> | ||||
| 	<td> | ||||
| 	<%= link_to diploma.school_name, panel_personal_diploma_front_end_diploma_path(diploma) %> | ||||
| 	<div class="quick-edit"> | ||||
| 		<ul class="nav nav-pills hide"> | ||||
| 			<%if at_least_module_manager || diploma.diploma_category.cur_user_is_sub_manager_of(:edit)%> | ||||
| 			<li><%= link_to t('edit'), edit_panel_personal_diploma_back_end_diploma_path(diploma) %></li> | ||||
| 			<li><%= link_to t('delete'), panel_personal_diploma_back_end_diploma_path(diploma), :confirm => t('sure?'), :method => :delete, :remote => true %></li> | ||||
| 			<% end -%> | ||||
| 		</ul> | ||||
| 	</div> | ||||
| 	</td> | ||||
| 	<td><%= User.from_id(diploma.create_user_id).name rescue ''%></td> | ||||
| </tr> | ||||
| 
 | ||||
|  | @ -0,0 +1,126 @@ | |||
| <% # encoding: utf-8 %> | ||||
| 
 | ||||
|   <%= f.error_messages %> | ||||
| 
 | ||||
| 	<!--Widget start--> | ||||
| 	 | ||||
| 	<div id="sub-wiget"> | ||||
| 
 | ||||
| 		<div id="widget-tags" class="widget-box widget-size-300"> | ||||
| 			<div class="widget-action clear"> | ||||
| 				<a class="action"><i title="Setting" class="icon-cog icon-white tip"></i></a> | ||||
| 			</div> | ||||
| 			<h3 class="widget-title"><i class="icons-tag icons-white"></i>Tags</h3> | ||||
| 			<div class="widget-content clear form-horizontal"> | ||||
| 				<% @tags.each do |tag| %> | ||||
| 					<%= content_tag :label,:class => "checkbox inline" do -%> | ||||
| 						<%= check_box_tag 'diploma[tag_ids][]', tag.id, @diploma.tag_ids.include?(tag.id)%> | ||||
| 						<%= tag[I18n.locale] %> | ||||
|             <%= hidden_field_tag 'diploma[tag_ids][]', '' %> | ||||
| 					<% end %> | ||||
| 				<% end %> | ||||
| 			</div> | ||||
| 		</div>   | ||||
|    | ||||
| 	</div> | ||||
|    | ||||
|    | ||||
| <!--Wiget End--> | ||||
| <!--Post Start--> | ||||
| 
 | ||||
| 	<div id="post-body"> | ||||
| 		<div id="post-body-content" class="clear"> | ||||
| 		 | ||||
| 			<div class="title"> | ||||
| 				<%= f.label :start_date ,t("personal_diploma.start_date")%> | ||||
| 				<%= f.date_select :start_date, {:use_month_numbers => true, :start_year => Time.now.year, :end_year => 1890, :order => [:year, :month], :discard_day => true }, {:class => 'span1'} %> | ||||
| 			</div> | ||||
| 		 | ||||
| 			<div class="title"> | ||||
| 				<%= f.label :end_date ,t("personal_diploma.end_date")%> | ||||
| 				<%= f.date_select :end_date, {:use_month_numbers => true, :start_year => Time.now.year, :end_year => 1890, :order => [:year, :month], :discard_day => true }, {:class => 'span1'} %> | ||||
| 			</div> | ||||
| 			 | ||||
| 			<ul class="nav nav-tabs"> | ||||
| 				<% @site_valid_locales.each_with_index do |locale, i| %> | ||||
| 			    <li <%= ( i == 0 ) ? " class='active'" : '' %>><a data-toggle="tab" href=".<%= locale %>"><%= I18nVariable.from_locale(locale) %></a></li> | ||||
| 				<% end %> | ||||
| 			</ul> | ||||
| 			 | ||||
| 			<div class="tab-content"> | ||||
| 			 | ||||
| 				<% @site_valid_locales.each_with_index do |locale, i| %> | ||||
| 				 | ||||
| 				<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>"> | ||||
| 					 | ||||
| 					<div class="title"> | ||||
| 						<%= f.label :school_name ,t("personal_diploma.school_name")%> | ||||
| 						<%= f.fields_for :school_name_translations do |f| %> | ||||
| 							<%= I18nVariable.from_locale(locale) %> | ||||
| 							<%= f.text_field locale, :class=>'post-title', :value => (@diploma.school_name_translations[locale] rescue nil) %> | ||||
| 						<% end %> | ||||
| 					</div> | ||||
| 					 | ||||
| 					<div class="title"> | ||||
| 						<%= f.label :country ,t("personal_diploma.country")%> | ||||
| 						<%= f.fields_for :country_translations do |f| %> | ||||
| 							<%= I18nVariable.from_locale(locale) %> | ||||
| 							<%= f.text_field locale, :class=>'post-title', :value => (@diploma.country_translations[locale] rescue nil) %> | ||||
| 						<% end %> | ||||
| 					</div> | ||||
| 					 | ||||
| 					<div class="title"> | ||||
| 						<%= f.label :department ,t("personal_diploma.department")%> | ||||
| 						<%= f.fields_for :department_translations do |f| %> | ||||
| 							<%= I18nVariable.from_locale(locale) %> | ||||
| 							<%= f.text_field locale, :class=>'post-title', :value => (@diploma.department_translations[locale] rescue nil) %> | ||||
| 						<% end %> | ||||
| 					</div> | ||||
| 					 | ||||
| 					<div class="title"> | ||||
| 						<%= f.label :degree ,t("personal_diploma.degree")%> | ||||
| 						<%= f.fields_for :degree_translations do |f| %> | ||||
| 							<%= I18nVariable.from_locale(locale) %> | ||||
| 							<%= f.text_field locale, :class=>'post-title', :value => (@diploma.degree_translations[locale] rescue nil) %> | ||||
| 						<% end %> | ||||
| 					</div> | ||||
| 					 | ||||
| 				</div> | ||||
| 
 | ||||
| 				<% end %> | ||||
| 				 | ||||
| 			</div> | ||||
| 
 | ||||
| 			<div class="title"> | ||||
| 				<%= f.label :url, t("personal_diploma.url") %> | ||||
| 				<%= f.text_field :url %> | ||||
| 			</div> | ||||
| 			 | ||||
| 			<div class="title"> | ||||
| 				<%= f.label :keywords, t("personal_diploma.keywords") %> | ||||
| 				<%= f.text_field :keywords %> | ||||
| 			</div> | ||||
| 	 | ||||
| 			<div id="title"> | ||||
| 				<%= f.label :language, t("personal_diploma.language") %> | ||||
| 				<%= f.radio_button :language, "Chinese" %> <%= t("personal_diploma.Chinese") %> | ||||
| 				<%= f.radio_button :language, "English" %> <%= t("personal_diploma.English") %>  | ||||
| 			</div> | ||||
| 
 | ||||
| 			<div class="title"> | ||||
| 				<%= f.label :note, t("personal_diploma.note") %> | ||||
| 				<%= f.text_area :note, :size => "60x3" %> | ||||
| 			</div> | ||||
| 			 | ||||
| 		</div> | ||||
| 		 | ||||
| 		 | ||||
| 	</div> | ||||
| 	 | ||||
| <!--Post End--> | ||||
| 
 | ||||
|    | ||||
| 	<div class="form-actions"> | ||||
| 	<%= f.submit t('submit'), :class=>'btn btn-primary' %> | ||||
| 	<%= link_to t('cancel'), get_go_back, :class=>"btn" %>  | ||||
| 	</div>  | ||||
|  | @ -0,0 +1,4 @@ | |||
| <%= render_sort_bar(true, delete_panel_personal_diploma_back_end_diplomas_path(:direction => params[:direction], :sort => params[:sort], :sort_options => params[:sort_options]), | ||||
| 	['date', 'date', 'span1', 'diploma.date'], | ||||
| 	['school_name', 'school_name', 'span3', 'diploma.school_name'], | ||||
| 	['create_modified', 'create_user_id','span1-3', 'diploma.create_modified']).html_safe %> | ||||
|  | @ -0,0 +1,5 @@ | |||
| 
 | ||||
| <% if !@diploma_category.blank? %> | ||||
| $("#myModal1").modal('hide'); | ||||
| $('<%= j render :partial => 'list_patent_type', :collection => [@diploma_category] %>').appendTo('#diploma_categorys').hide().fadeIn(); | ||||
| <% end %> | ||||
|  | @ -0,0 +1 @@ | |||
| $("#<%= dom_id @diploma %>").remove(); | ||||
|  | @ -0,0 +1,81 @@ | |||
| <% # encoding: utf-8 %> | ||||
| 
 | ||||
| 
 | ||||
| <div id="isotope"> | ||||
| 			 | ||||
|             <div class="item element"> | ||||
|                 <div class="detail w-a h-a"> | ||||
|                     <p class="totle">                         | ||||
|                         <button class="btn btn-small btn-primary pull-right" type="button" data-toggle="modal" data-target="#myModal4"><i class="icon-plus"></i> 新增</button> | ||||
|                         <span>領域</span> | ||||
|                     </p> | ||||
|                     <ul class="nav nav-tabs"> | ||||
|                         <li class="active"><a href="#">中文</a></li> | ||||
|                         <li><a href="#">English</a></li> | ||||
|                     </ul> | ||||
|                     <div class="detal-list my_scroll"> | ||||
|                         <div class="scrollbar"> | ||||
|                             <div class="track"> | ||||
|                                 <div class="thumb"> | ||||
|                                     <div class="end"></div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="viewport"> | ||||
|                             <div class="overview"> | ||||
|                                 <table class="table table-striped"> | ||||
|                                     <tbody> | ||||
|                                         <tr> | ||||
|                                             <td>Corresponding Author</td> | ||||
|                                             <td>編輯 刪除</td> | ||||
|                                         </tr> | ||||
|                                         <tr> | ||||
|                                             <td>First Author, Co- Authors</td> | ||||
|                                             <td>編輯 刪除</td> | ||||
|                                         </tr> | ||||
|                                     </tbody> | ||||
|                                 </table> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </div> | ||||
|         </div> | ||||
|         <div class="form-actions form-fixed pagination-right"> | ||||
|             <a class="btn btn-primary pull-right" href><i class="icon-plus icon-white"></i> 匯出</a>  | ||||
|             <a class="btn btn-primary pull-right" href><i class="icon-plus icon-white"></i> 匯入</a>  | ||||
|             <a class="btn btn-primary pull-right" href><i class="icon-plus icon-white"></i> 新增</a>  | ||||
|             <a class="btn btn-primary pull-right" href><i class="icon-plus icon-white"></i> 設定</a>  | ||||
|         </div> | ||||
| 		 | ||||
|         <div style="display:none;" class="modal" id="myModal4" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> | ||||
|             <div class="modal-header"> | ||||
|                 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> | ||||
|                 <h3 id="myModalLabel">領域</h3> | ||||
|             </div> | ||||
|             <ul class="nav nav-tabs"> | ||||
|                 <li class="active"><a href="#">中文</a></li> | ||||
|                 <li><a href="#">English</a></li> | ||||
|             </ul> | ||||
|             <div class="modal-body"> | ||||
|                 <form class="form-horizontal"> | ||||
|                     <div class="control-group"> | ||||
|                         <label class="control-label" for="inputvalue">名稱</label> | ||||
|                         <div class="controls"> | ||||
|                             <input type="text" id="inputvalue" placeholder="Value"> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </form> | ||||
|             </div> | ||||
|             <div class="modal-footer"> | ||||
|                 <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button> | ||||
|                 <button class="btn btn-primary">Save changes</button> | ||||
|             </div> | ||||
|         </div> | ||||
| 		 | ||||
| 		 | ||||
| 		 | ||||
| 
 | ||||
| <% content_for :page_specific_css do %> | ||||
| 	<%= stylesheet_link_tag "item" %> | ||||
| <% end %> | ||||
|  | @ -0,0 +1,5 @@ | |||
| <h1><%= t('personal_diploma.editing_personal_diploma') %></h1> | ||||
| 
 | ||||
| <%= form_for @diploma, :url => panel_personal_diploma_back_end_diploma_path(@diploma), :html => {:class => 'clear'} do |f| %> | ||||
| 	<%= render :partial => 'form', :locals => {:f => f} %> | ||||
| <% end %> | ||||
|  | @ -0,0 +1,22 @@ | |||
| <%= render 'filter' %> | ||||
| <table class="table main-list"> | ||||
| 	<thead> | ||||
| 		<tr> | ||||
| 			<th class="span1"></th> | ||||
| 			<th class="span1"></th> | ||||
| 			<th class="span2"></th> | ||||
| 			<th class="span3"></th> | ||||
| 			<th class="span2"></th> | ||||
| 		</tr> | ||||
| 	</thead> | ||||
| 	<tbody id="tbody_diplomas" class="sort-holder"> | ||||
| 		<%= render :partial => 'diploma', :collection => @diplomas %> | ||||
| 	</tbody> | ||||
| </table> | ||||
| 
 | ||||
| <div class="form-actions form-fixed pagination-right"> | ||||
| 	<%= link_to content_tag(:i, nil, :class => 'icon-plus icon-white') + t('announcement.add_new'), new_panel_personal_diploma_back_end_diploma_path, :class => 'btn btn-primary pull-right' %> | ||||
| 	<div id="diploma_pagination" class="paginationFixed"> | ||||
| 	<%= paginate @diplomas, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %> | ||||
| 	</div> | ||||
| </div> | ||||
|  | @ -0,0 +1,3 @@ | |||
| $("#sort_headers").html("<%= j render 'sort_headers' %>"); | ||||
| $("#tbody_diplomas").html("<%= j render :partial => 'diploma', :collection => @diplomas %>"); | ||||
| $("#diploma_pagination").html("<%= j paginate @diplomas, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %>"); | ||||
|  | @ -0,0 +1,10 @@ | |||
| 
 | ||||
| <%= flash_messages %> | ||||
| <div id="poststuff"> | ||||
| <h1><%= t('diploma.new_personal_diploma') %></h1> | ||||
| <%= form_for @diploma, :url => panel_personal_diploma_back_end_diplomas_path, :html => {:class => 'clear'} do |f| %> | ||||
| 	<%= render :partial => 'form', :locals => {:f => f} %> | ||||
| <% end %> | ||||
| </div> | ||||
| <%#= link_back %> | ||||
| 
 | ||||
|  | @ -0,0 +1,6 @@ | |||
| 
 | ||||
| <% if !@diploma_category.blank? %> | ||||
| $("#myModal1").modal('hide'); | ||||
| $("#<%= dom_id @diploma_category %>").replaceWith("<%= j render :partial => 'list_patent_type', :collection => [@diploma_category] %>"); | ||||
| <% end %> | ||||
| 
 | ||||
|  | @ -0,0 +1,55 @@ | |||
| <% | ||||
|   @filter = params[:filter] | ||||
|   new_filter = params[:new_filter] | ||||
|    | ||||
|   if @filter && params[:clear] | ||||
|     @filter.delete(params[:type]) | ||||
|   elsif @filter && new_filter | ||||
|     if @filter.has_key?(new_filter[:type]) && @filter[new_filter[:type]].include?(new_filter[:id].to_s) | ||||
|       @filter[new_filter[:type]].delete(new_filter[:id].to_s) | ||||
|     elsif @filter.has_key?(new_filter[:type]) | ||||
|       @filter[new_filter[:type]] << new_filter[:id].to_s | ||||
|     else | ||||
|       @filter.merge!({new_filter[:type] => [new_filter[:id].to_s]}) | ||||
|     end | ||||
|   elsif new_filter | ||||
|     @filter = {new_filter[:type] => [new_filter[:id].to_s]} | ||||
|   end | ||||
| 
 | ||||
| 
 | ||||
|   @diplomas = Diploma.where(:create_user_id => @user.id).page(params[:page]).per(10) | ||||
| 
 | ||||
| 
 | ||||
| %> | ||||
| 
 | ||||
| <table class="table main-list"> | ||||
| 	<thead> | ||||
| 		<tr> | ||||
| 			<th class="span1"><%= t('diploma.date') %></th> | ||||
| 			<th class="span3"><%= t('diploma.school_name') %></th> | ||||
| 		</tr> | ||||
| 	</thead> | ||||
| 	<tbody id="tbody_diplomas" class="sort-holder"> | ||||
| 		 | ||||
| 		 | ||||
| 	<% @diplomas.each do |diploma| %>	 | ||||
| 			 | ||||
| 	<tr id="<%= dom_id diploma %>" class="with_action"> | ||||
| 		<td><%= diploma.start_date.strftime("%Y.%m") %> ~ <%= diploma.end_date.strftime("%Y.%m") %></td> | ||||
| 		<td> | ||||
| 		<%= link_to diploma.school_name, panel_personal_diploma_front_end_diploma_path(diploma) %> | ||||
| 		</td> | ||||
| 	</tr>		 | ||||
| 		 | ||||
| 	<% end %>	 | ||||
| 		 | ||||
| 		 | ||||
| 	</tbody> | ||||
| </table> | ||||
| 
 | ||||
| <div class="form-actions form-fixed pagination-right"> | ||||
| 	<%= link_to content_tag(:i, nil, :class => 'icon-plus icon-white') + t('announcement.add_new'), new_panel_personal_diploma_plugin_diploma_path, :class => 'btn btn-primary pull-right' %> | ||||
| 	<div id="diploma_pagination" class="paginationFixed"> | ||||
| 	<%= paginate @diplomas, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %> | ||||
| 	</div> | ||||
| </div> | ||||
|  | @ -0,0 +1,20 @@ | |||
| <tr id="<%= dom_id diploma %>" class="with_action"> | ||||
| 	<td> | ||||
| 		<% if (diploma.create_user_id ==  current_user.id) || is_manager? %> | ||||
| 			<%= check_box_tag 'to_delete[]', diploma.id, false, :class => "checkbox_in_list" %> | ||||
| 		<% end -%> | ||||
| 	</td> | ||||
| 	<td><%= diploma.start_date.strftime("%Y.%m") %> ~ <%= diploma.end_date.strftime("%Y.%m") %></td> | ||||
| 	<td> | ||||
| 	<%= link_to diploma.school_name, panel_personal_diploma_front_end_diploma_path(diploma) %> | ||||
| 	<div class="quick-edit"> | ||||
| 		<ul class="nav nav-pills hide"> | ||||
| 			<%if at_least_module_manager || diploma.diploma_category.cur_user_is_sub_manager_of(:edit)%> | ||||
| 			<li><%= link_to t('edit'), edit_panel_personal_diploma_plugin_diploma_path(diploma) %></li> | ||||
| 			<li><%= link_to t('delete'), panel_personal_diploma_plugin_diploma_path(diploma), :confirm => t('sure?'), :method => :delete, :remote => true %></li> | ||||
| 			<% end -%> | ||||
| 		</ul> | ||||
| 	</div> | ||||
| 	</td> | ||||
| </tr> | ||||
| 
 | ||||
|  | @ -0,0 +1,126 @@ | |||
| <% # encoding: utf-8 %> | ||||
| 
 | ||||
|   <%= f.error_messages %> | ||||
| 
 | ||||
| 	<!--Widget start--> | ||||
| 	 | ||||
| 	<div id="sub-wiget"> | ||||
| 
 | ||||
| 		<div id="widget-tags" class="widget-box widget-size-300"> | ||||
| 			<div class="widget-action clear"> | ||||
| 				<a class="action"><i title="Setting" class="icon-cog icon-white tip"></i></a> | ||||
| 			</div> | ||||
| 			<h3 class="widget-title"><i class="icons-tag icons-white"></i>Tags</h3> | ||||
| 			<div class="widget-content clear form-horizontal"> | ||||
| 				<% @tags.each do |tag| %> | ||||
| 					<%= content_tag :label,:class => "checkbox inline" do -%> | ||||
| 						<%= check_box_tag 'diploma[tag_ids][]', tag.id, @diploma.tag_ids.include?(tag.id)%> | ||||
| 						<%= tag[I18n.locale] %> | ||||
|             <%= hidden_field_tag 'diploma[tag_ids][]', '' %> | ||||
| 					<% end %> | ||||
| 				<% end %> | ||||
| 			</div> | ||||
| 		</div>   | ||||
|    | ||||
| 	</div> | ||||
|    | ||||
|    | ||||
| <!--Wiget End--> | ||||
| <!--Post Start--> | ||||
| 
 | ||||
| 	<div id="post-body"> | ||||
| 		<div id="post-body-content" class="clear"> | ||||
| 		 | ||||
| 			<div class="title"> | ||||
| 				<%= f.label :start_date ,t("personal_diploma.start_date")%> | ||||
| 				<%= f.date_select :start_date, {:use_month_numbers => true, :start_year => Time.now.year, :end_year => 1890, :order => [:year, :month], :discard_day => true }, {:class => 'span1'} %> | ||||
| 			</div> | ||||
| 		 | ||||
| 			<div class="title"> | ||||
| 				<%= f.label :end_date ,t("personal_diploma.end_date")%> | ||||
| 				<%= f.date_select :end_date, {:use_month_numbers => true, :start_year => Time.now.year, :end_year => 1890, :order => [:year, :month], :discard_day => true }, {:class => 'span1'} %> | ||||
| 			</div> | ||||
| 			 | ||||
| 			<ul class="nav nav-tabs"> | ||||
| 				<% @site_valid_locales.each_with_index do |locale, i| %> | ||||
| 			    <li <%= ( i == 0 ) ? " class='active'" : '' %>><a data-toggle="tab" href=".<%= locale %>"><%= I18nVariable.from_locale(locale) %></a></li> | ||||
| 				<% end %> | ||||
| 			</ul> | ||||
| 			 | ||||
| 			<div class="tab-content"> | ||||
| 			 | ||||
| 				<% @site_valid_locales.each_with_index do |locale, i| %> | ||||
| 				 | ||||
| 				<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>"> | ||||
| 					 | ||||
| 					<div class="title"> | ||||
| 						<%= f.label :school_name ,t("personal_diploma.school_name")%> | ||||
| 						<%= f.fields_for :school_name_translations do |f| %> | ||||
| 							<%= I18nVariable.from_locale(locale) %> | ||||
| 							<%= f.text_field locale, :class=>'post-title', :value => (@diploma.school_name_translations[locale] rescue nil) %> | ||||
| 						<% end %> | ||||
| 					</div> | ||||
| 					 | ||||
| 					<div class="title"> | ||||
| 						<%= f.label :country ,t("personal_diploma.country")%> | ||||
| 						<%= f.fields_for :country_translations do |f| %> | ||||
| 							<%= I18nVariable.from_locale(locale) %> | ||||
| 							<%= f.text_field locale, :class=>'post-title', :value => (@diploma.country_translations[locale] rescue nil) %> | ||||
| 						<% end %> | ||||
| 					</div> | ||||
| 					 | ||||
| 					<div class="title"> | ||||
| 						<%= f.label :department ,t("personal_diploma.department")%> | ||||
| 						<%= f.fields_for :department_translations do |f| %> | ||||
| 							<%= I18nVariable.from_locale(locale) %> | ||||
| 							<%= f.text_field locale, :class=>'post-title', :value => (@diploma.department_translations[locale] rescue nil) %> | ||||
| 						<% end %> | ||||
| 					</div> | ||||
| 					 | ||||
| 					<div class="title"> | ||||
| 						<%= f.label :degree ,t("personal_diploma.degree")%> | ||||
| 						<%= f.fields_for :degree_translations do |f| %> | ||||
| 							<%= I18nVariable.from_locale(locale) %> | ||||
| 							<%= f.text_field locale, :class=>'post-title', :value => (@diploma.degree_translations[locale] rescue nil) %> | ||||
| 						<% end %> | ||||
| 					</div> | ||||
| 					 | ||||
| 				</div> | ||||
| 
 | ||||
| 				<% end %> | ||||
| 				 | ||||
| 			</div> | ||||
| 
 | ||||
| 			<div class="title"> | ||||
| 				<%= f.label :url, t("personal_diploma.url") %> | ||||
| 				<%= f.text_field :url %> | ||||
| 			</div> | ||||
| 			 | ||||
| 			<div class="title"> | ||||
| 				<%= f.label :keywords, t("personal_diploma.keywords") %> | ||||
| 				<%= f.text_field :keywords %> | ||||
| 			</div> | ||||
| 	 | ||||
| 			<div id="title"> | ||||
| 				<%= f.label :language, t("personal_diploma.language") %> | ||||
| 				<%= f.radio_button :language, "Chinese" %> <%= t("personal_diploma.Chinese") %> | ||||
| 				<%= f.radio_button :language, "English" %> <%= t("personal_diploma.English") %>  | ||||
| 			</div> | ||||
| 
 | ||||
| 			<div class="title"> | ||||
| 				<%= f.label :note, t("personal_diploma.note") %> | ||||
| 				<%= f.text_area :note, :size => "60x3" %> | ||||
| 			</div> | ||||
| 			 | ||||
| 		</div> | ||||
| 		 | ||||
| 		 | ||||
| 	</div> | ||||
| 	 | ||||
| <!--Post End--> | ||||
| 
 | ||||
|    | ||||
| 	<div class="form-actions"> | ||||
| 	<%= f.submit t('submit'), :class=>'btn btn-primary' %> | ||||
| 	<%= link_to t('cancel'), get_go_back, :class=>"btn" %>  | ||||
| 	</div>  | ||||
|  | @ -0,0 +1,3 @@ | |||
| <%= render_sort_bar(true, delete_panel_personal_diploma_back_end_diplomas_path(:direction => params[:direction], :sort => params[:sort], :sort_options => params[:sort_options]), | ||||
| 	['date', 'date', 'span1', 'diploma.date'], | ||||
| 	['school_name', 'school_name', 'span3', 'diploma.school_name']).html_safe %> | ||||
|  | @ -0,0 +1 @@ | |||
| $("#<%= dom_id @diploma %>").remove(); | ||||
|  | @ -0,0 +1,5 @@ | |||
| <h1><%= t('personal_diploma.editing_personal_diploma') %></h1> | ||||
| 
 | ||||
| <%= form_for @diploma, :url => panel_personal_diploma_plugin_diploma_path(@diploma), :html => {:class => 'clear'} do |f| %> | ||||
| 	<%= render :partial => 'form', :locals => {:f => f} %> | ||||
| <% end %> | ||||
|  | @ -0,0 +1,22 @@ | |||
| <%= render 'filter' %> | ||||
| <table class="table main-list"> | ||||
| 	<thead> | ||||
| 		<tr> | ||||
| 			<th class="span1"></th> | ||||
| 			<th class="span1"></th> | ||||
| 			<th class="span2"></th> | ||||
| 			<th class="span3"></th> | ||||
| 			<th class="span2"></th> | ||||
| 		</tr> | ||||
| 	</thead> | ||||
| 	<tbody id="tbody_diplomas" class="sort-holder"> | ||||
| 		<%= render :partial => 'diploma', :collection => @diplomas %> | ||||
| 	</tbody> | ||||
| </table> | ||||
| 
 | ||||
| <div class="form-actions form-fixed pagination-right"> | ||||
| 	<%= link_to content_tag(:i, nil, :class => 'icon-plus icon-white') + t('announcement.add_new'), new_panel_personal_diploma_plugin_diploma_path, :class => 'btn btn-primary pull-right' %> | ||||
| 	<div id="diploma_pagination" class="paginationFixed"> | ||||
| 	<%= paginate @diplomas, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %> | ||||
| 	</div> | ||||
| </div> | ||||
|  | @ -0,0 +1,3 @@ | |||
| $("#sort_headers").html("<%= j render 'sort_headers' %>"); | ||||
| $("#tbody_diplomas").html("<%= j render :partial => 'diploma', :collection => @diplomas %>"); | ||||
| $("#diploma_pagination").html("<%= j paginate @diplomas, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %>"); | ||||
|  | @ -0,0 +1,10 @@ | |||
| 
 | ||||
| <%= flash_messages %> | ||||
| <div id="poststuff"> | ||||
| <h1><%= t('diploma.new_personal_diploma') %></h1> | ||||
| <%= form_for @diploma, :url => panel_personal_diploma_plugin_diplomas_path, :html => {:class => 'clear'} do |f| %> | ||||
| 	<%= render :partial => 'form', :locals => {:f => f} %> | ||||
| <% end %> | ||||
| </div> | ||||
| <%#= link_back %> | ||||
| 
 | ||||
|  | @ -0,0 +1,135 @@ | |||
| # Sample localization file for English. Add more files in this directory for other locales. | ||||
| # See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points. | ||||
| 
 | ||||
| en: | ||||
|    | ||||
|   _locale: English | ||||
|    | ||||
|   add: Add | ||||
|   back: Back | ||||
|   create: Create | ||||
|   delete: Delete | ||||
|   disable: Disable | ||||
|   downloaded: Downloaded | ||||
|   download: Download | ||||
|   edit: Edit | ||||
|   enable: Enable | ||||
|   hide: Hide | ||||
|   homepage: Homepage | ||||
|   no_: "No" | ||||
|   nothing: Nothing | ||||
|   show: Show | ||||
|   sure?: Are you sure? | ||||
|   update: Update | ||||
|   yes_: "Yes" | ||||
|    | ||||
|   announcement: | ||||
|       sure?: Sure? | ||||
| 
 | ||||
| 
 | ||||
|   web_resource: | ||||
|     list_lower: list | ||||
|     list_link: Links list | ||||
| 
 | ||||
|    | ||||
|   # admin: | ||||
|   #     action: Action | ||||
|   #     add_language: Add language | ||||
|   #     admin: Admin | ||||
|   #     action: Action | ||||
|   #     announcement: Announcement | ||||
|   #     asset: Asset | ||||
|   #     attributes: Attributes | ||||
|   #     cant_delete_self: You can not delete yourself. | ||||
|   #     cant_revoke_self_admin: You can not revoke your admin role yourself. | ||||
|   #     class: Class | ||||
|   #     content: Content | ||||
|   #     create_error_link: Error when creating link. | ||||
|   #     create_error_page: Error when creating page. | ||||
|   #     create_success_home: Homepage was successfully created. | ||||
|   #     create_success_layout: Layout was successfully created. | ||||
|   #     create_success_link: Link was successfully created. | ||||
|   #     create_success_page: Page was successfully created. | ||||
|   #     create_success_snippet: Snippet was successfully created. | ||||
|   #     create_success_user: User was successfully created. | ||||
|   #     data: Data | ||||
|   #     delete_language: Delete language | ||||
|   #     description: Description | ||||
|   #     design: Design | ||||
|   #     disable_language: Disable language | ||||
|   #     editing_home: Editing homepage | ||||
|   #     editing_layout: Editing layout | ||||
|   #     editing_link: Editing link | ||||
|   #     editing_page: Editing page | ||||
|   #     editing_snippet: Editing snippet | ||||
|   #     editing_user_info: Editing user information | ||||
|   #     editing_user_role: Editing user role | ||||
|   #     email: Email | ||||
|   #     enable_language: Enable language | ||||
|   #     file_name: Filename | ||||
|   #     file_size: File size | ||||
|   #     format: Format | ||||
|   #     home: Home | ||||
|   #     id: ID | ||||
|   #     info: Information | ||||
|   #     is_published: Is published | ||||
|   #     item: Item | ||||
|   #     key: Key | ||||
|   #     language: Language | ||||
|   #     layout: Layout | ||||
|   #     layout_name: Layout name | ||||
|   #     list_assets: Assets list | ||||
|   #     list_designs: Designs list | ||||
|   #     list_items: Items list | ||||
|   #     list_puchases: Purchases list | ||||
|   #     list_snippets: Snippets list | ||||
|   #     list_users: Users list | ||||
|   #     list_user_infos: User information list | ||||
|   #     list_user_roles: User roles list | ||||
|   #     member: Member | ||||
|   #     move_down: Move down | ||||
|   #     move_up: Move up | ||||
|   #     multilingual: Multilingual | ||||
|   #     my_avatar: My Avatar | ||||
|   #     no_home_page: You don't have a homepage | ||||
|   #     no_layout: You don't have a layout | ||||
|   #     name: Name | ||||
|   #     new_asset: New asset | ||||
|   #     new_component: New component | ||||
|   #     new_home: New homepage | ||||
|   #     new_layout: New layout | ||||
|   #     new_link: New link | ||||
|   #     new_page: New page | ||||
|   #     new_snippet: New snippet | ||||
|   #     new_user: New user | ||||
|   #     new_user_info: New user information | ||||
|   #     new_user_role: New user role | ||||
|   #     non_multilingual: Non multilingual | ||||
|   #     options: Options | ||||
|   #     orig_upload_file: Original filename | ||||
|   #     position: Position | ||||
|   #     published?: Published? | ||||
|   #     purchase: Purchase | ||||
|   #     registered: Registered | ||||
|   #     role: Role | ||||
|   #     roles: Roles | ||||
|   #     title: Title | ||||
|   #     translation: Translation | ||||
|   #     type: Type | ||||
|   #     up_to_date: Up-to-date | ||||
|   #     update_error_link: Error when updating link. | ||||
|   #     update_error_page: Error when updating page. | ||||
|   #     update_success_content: Content was successfully updated. | ||||
|   #     update_success_home: Homepage was successfully updated. | ||||
|   #     update_success_layout: Layout was successfully updated. | ||||
|   #     update_success_link: Link was successfully updated. | ||||
|   #     update_success_page: Page was successfully updated. | ||||
|   #     update_success_snippet: Snippet was successfully updated. | ||||
|   #     update_success_user: User was successfully updated. | ||||
|   #     url: URL | ||||
|   #     user: User | ||||
|   #     user_info: User information | ||||
|   #     user_panel: User panel | ||||
|   #     user_role: User role | ||||
|      | ||||
|   panel: | ||||
|  | @ -0,0 +1,243 @@ | |||
| zh_tw: | ||||
|    | ||||
|   _locale: 中文 | ||||
|    | ||||
|   add: 新增 | ||||
|   back: 回去 | ||||
|   create: 創造 | ||||
|   delete: 刪除 | ||||
|   disable: 禁用 | ||||
|   edit: 編輯 | ||||
|   enable: 啟用 | ||||
|   hide: 隱藏 | ||||
|   homepage: 首頁 | ||||
|   no_: "No" | ||||
|   nothing: 無 | ||||
|   show: 顯示 | ||||
|   sure?: 您肯定嗎? | ||||
|   update: 更新 | ||||
|   yes_: "Yes" | ||||
|    | ||||
|   web_resource: | ||||
|     list_lower: 列表 | ||||
|     list_link: 鏈接列表 | ||||
|     category: 分類 | ||||
|     name: 名稱 | ||||
|     describe: 描述 | ||||
|     url: 路徑 | ||||
|     edit: 編輯 | ||||
|     delete: 刪除 | ||||
|     cate_auth: 分類授權 | ||||
|      | ||||
|      | ||||
| # Chinese (Taiwan) translations for Ruby on Rails | ||||
| # by tsechingho (http://github.com/tsechingho) | ||||
|   date: | ||||
|     formats: | ||||
|       default: "%Y-%m-%d" | ||||
|       short: "%b%d日" | ||||
|       long: "%Y年%b%d日" | ||||
|     day_names: [星期日, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六] | ||||
|     abbr_day_names: [日, 一, 二, 三, 四, 五, 六] | ||||
|     month_names: [~, 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月] | ||||
|     abbr_month_names: [~, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月] | ||||
|     order: [ :year, :month, :day ] | ||||
| 
 | ||||
|   time: | ||||
|     formats: | ||||
|       default: "%Y年%b%d日 %A %H:%M:%S %Z" | ||||
|       short: "%b%d日 %H:%M" | ||||
|       long: "%Y年%b%d日 %H:%M" | ||||
|     am: "上午" | ||||
|     pm: "下午" | ||||
| 
 | ||||
|   datetime: | ||||
|     distance_in_words: | ||||
|       half_a_minute: "半分鐘" | ||||
|       less_than_x_seconds: | ||||
|         one: "不到一秒" | ||||
|         other: "不到 %{count} 秒" | ||||
|       x_seconds: | ||||
|         one: "一秒" | ||||
|         other: "%{count} 秒" | ||||
|       less_than_x_minutes: | ||||
|         one: "不到一分鐘" | ||||
|         other: "不到 %{count} 分鐘" | ||||
|       x_minutes: | ||||
|         one: "一分鐘" | ||||
|         other: "%{count} 分鐘" | ||||
|       about_x_hours: | ||||
|         one: "大約一小時" | ||||
|         other: "大約 %{count} 小時" | ||||
|       x_days: | ||||
|         one: "一天" | ||||
|         other: "%{count} 天" | ||||
|       about_x_months: | ||||
|         one: "大約一個月" | ||||
|         other: "大約 %{count} 個月" | ||||
|       x_months: | ||||
|         one: "一個月" | ||||
|         other: "%{count} 個月" | ||||
|       about_x_years: | ||||
|         one: "大約一年" | ||||
|         other: "大約 %{count} 年" | ||||
|       over_x_years: | ||||
|         one: "一年多" | ||||
|         other: "%{count} 年多" | ||||
|       almost_x_years: | ||||
|         one:   "接近一年" | ||||
|         other: "接近 %{count} 年" | ||||
|     prompts: | ||||
|       year:   "年" | ||||
|       month:  "月" | ||||
|       day:    "日" | ||||
|       hour:   "時" | ||||
|       minute: "分" | ||||
|       second: "秒" | ||||
| 
 | ||||
|   number: | ||||
|     format: | ||||
|       separator: "." | ||||
|       delimiter: "," | ||||
|       precision: 3 | ||||
|       significant: false | ||||
|       strip_insignificant_zeros: false | ||||
|     currency: | ||||
|       format: | ||||
|         format: "%u %n" | ||||
|         unit: "NT$" | ||||
|         separator: "." | ||||
|         delimiter: "," | ||||
|         precision: 2 | ||||
|         significant: false | ||||
|         strip_insignificant_zeros: false | ||||
|     percentage: | ||||
|       format: | ||||
|         delimiter: "" | ||||
|     precision: | ||||
|       format: | ||||
|         delimiter: "" | ||||
|     human: | ||||
|       format: | ||||
|         delimiter: "" | ||||
|         precision: 1 | ||||
|         significant: false | ||||
|         strip_insignificant_zeros: false | ||||
|       storage_units: | ||||
|         format: "%n %u" | ||||
|         units: | ||||
|           byte: | ||||
|             one: "Byte" | ||||
|             other: "Bytes" | ||||
|           kb: "KB" | ||||
|           mb: "MB" | ||||
|           gb: "GB" | ||||
|           tb: "TB" | ||||
|       decimal_units: | ||||
|         format: "%n %u" | ||||
|         units: | ||||
|           # 10^-21 zepto, 10^-24 yocto | ||||
|           atto: "渺"  # 10^-18 | ||||
|           femto: "飛" # 10^-15 毫微微 | ||||
|           pico: "漠"  # 10^-12 微微 | ||||
|           nano: "奈"  # 10^-9 毫微 | ||||
|           micro: "微" # 10^-6 | ||||
|           mili: "毫"  # 10^-3 milli | ||||
|           centi: "厘" # 10^-2 | ||||
|           deci: "分"  # 10^-1 | ||||
|           unit: "" | ||||
|           ten: | ||||
|             one: "十" | ||||
|             other: "十"  # 10^1 | ||||
|           hundred: "百"  # 10^2 | ||||
|           thousand: "千" # 10^3 kilo | ||||
|           million: "百萬" # 10^6 mega | ||||
|           billion: "十億" # 10^9 giga | ||||
|           trillion: "兆" # 10^12 tera | ||||
|           quadrillion: "千兆" # 10^15 peta | ||||
|           # 10^18 exa, 10^21 zetta, 10^24 yotta | ||||
| 
 | ||||
|   support: | ||||
|     array: | ||||
|       words_connector: ", " | ||||
|       two_words_connector: " 和 " | ||||
|       last_word_connector: ", 和 " | ||||
|     select: | ||||
|       prompt: "請選擇" | ||||
| 
 | ||||
|   activerecord: | ||||
|     errors: | ||||
|       template: # ~ 2.3.5 backward compatible | ||||
|         header: | ||||
|           one: "有 1 個錯誤發生使得「%{model}」無法被儲存。" | ||||
|           other: "有 %{count} 個錯誤發生使得「%{model}」無法被儲存。" | ||||
|         body: "以下欄位發生問題:" | ||||
|       full_messages: | ||||
|         format: "%{attribute} %{message}" | ||||
|       messages: | ||||
|         inclusion: "沒有包含在列表中" | ||||
|         exclusion: "是被保留的關鍵字" | ||||
|         invalid: "是無效的" | ||||
|         confirmation: "不符合確認值" | ||||
|         accepted: "必須是可被接受的" | ||||
|         empty: "不能留空" | ||||
|         blank: "不能是空白字元" | ||||
|         too_long: "過長(最長是 %{count} 個字)" | ||||
|         too_short: "過短(最短是 %{count} 個字)" | ||||
|         wrong_length: "字數錯誤(必須是 %{count} 個字)" | ||||
|         not_a_number: "不是數字" | ||||
|         not_an_integer: "必須是整數" | ||||
|         greater_than: "必須大於 %{count}" | ||||
|         greater_than_or_equal_to: "必須大於或等於 %{count}" | ||||
|         equal_to: "必須等於 %{count}" | ||||
|         less_than: "必須小於 %{count}" | ||||
|         less_than_or_equal_to: "必須小於或等於 %{count}" | ||||
|         odd: "必須是奇數" | ||||
|         even: "必須是偶數" | ||||
|         taken: "已經被使用" | ||||
|         record_invalid: "校驗失敗: %{errors}" | ||||
| 
 | ||||
|   activemodel: | ||||
|     errors: | ||||
|       template: | ||||
|         header: | ||||
|           one: "有 1 個錯誤發生使得「%{model}」無法被儲存。" | ||||
|           other: "有 %{count} 個錯誤發生使得「%{model}」無法被儲存。" | ||||
|         body: "以下欄位發生問題:" | ||||
| 
 | ||||
|   errors: | ||||
|     format: "%{attribute} %{message}" | ||||
|     messages: | ||||
|       inclusion: "沒有包含在列表中" | ||||
|       exclusion: "是被保留的關鍵字" | ||||
|       invalid: "是無效的" | ||||
|       confirmation: "不符合確認值" | ||||
|       accepted: "必須是可被接受的" | ||||
|       empty: "不能留空" | ||||
|       blank: "不能是空白字元" | ||||
|       too_long: "過長(最長是 %{count} 個字)" | ||||
|       too_short: "過短(最短是 %{count} 個字)" | ||||
|       wrong_length: "字數錯誤(必須是 %{count} 個字)" | ||||
|       not_a_number: "不是數字" | ||||
|       not_an_integer: "必須是整數" | ||||
|       greater_than: "必須大於 %{count}" | ||||
|       greater_than_or_equal_to: "必須大於或等於 %{count}" | ||||
|       equal_to: "必須等於 %{count}" | ||||
|       less_than: "必須小於 %{count}" | ||||
|       less_than_or_equal_to: "必須小於或等於 %{count}" | ||||
|       odd: "必須是奇數" | ||||
|       even: "必須是偶數" | ||||
|     template: | ||||
|         header: | ||||
|           one: "有 1 個錯誤發生使得「%{model}」無法被儲存。" | ||||
|           other: "有 %{count} 個錯誤發生使得「%{model}」無法被儲存。" | ||||
|         body: "以下欄位發生問題:" | ||||
| 
 | ||||
|   helpers: | ||||
|     select: | ||||
|       prompt: "請選擇" | ||||
|     submit: | ||||
|       create: "新增%{model}" | ||||
|       update: "更新%{model}" | ||||
|       submit: "儲存%{model}" | ||||
|   | ||||
|  | @ -0,0 +1,32 @@ | |||
| Rails.application.routes.draw do | ||||
|    | ||||
|   namespace :panel do | ||||
|     namespace :personal_diploma do | ||||
|       namespace :back_end do | ||||
| 	   | ||||
|         match 'diploma_setting' => "diplomas#diploma_setting" ,:as => :diploma_setting | ||||
| 		  		 | ||||
|         resources :diplomas do | ||||
|           collection do | ||||
|             get 'delete' | ||||
|           end | ||||
|         end | ||||
| 		 | ||||
|         resources :tags | ||||
|       end | ||||
|       namespace :front_end do | ||||
|         resources :diplomas | ||||
|       end | ||||
|       namespace :plugin do | ||||
|         resources :diplomas | ||||
|       end | ||||
|       namespace :widget do | ||||
|         match "diplomas" => "diplomas#index" | ||||
|         match "home_list" => "diplomas#home_list" | ||||
|         match "reload_diplomas" => "diplomas#reload_diplomas" | ||||
|       end | ||||
|     end | ||||
|   end | ||||
|  match "/appfront/*path" => redirect("/panel/*path") | ||||
|   | ||||
| end | ||||
|  | @ -0,0 +1,25 @@ | |||
| module PersonalDiploma | ||||
|   OrbitApp.registration "Diploma",:type=> 'ModuleApp' do | ||||
| 
 | ||||
|     base_url File.expand_path File.dirname(__FILE__)     | ||||
|     personal_plugin :enable => true,:path=>"panel/personal_diploma/plugin/profile" | ||||
|      | ||||
| 
 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| 
 | ||||
| 
 | ||||
| # OrbitApp.backend_side_bar 'News' do | ||||
|    | ||||
| #   block :available_for =>  [:admin,:guest,:manager,:sub_manager], | ||||
| #             :active_for_controllers=> ['news_bulletins', '/panel/news/back_end/tags', 'news_bulletin_categorys', 'news_approvals'], | ||||
| #             :active_for_ob_auths_object => ['NewsBulletinCategory'], | ||||
| #             :head_link => panel_news_back_end_news_bulletins_path  , | ||||
| #             :head_label=> I18n.t('admin.news') | ||||
| 
 | ||||
| #   context_link :link=>new_panel_news_back_end_news_bulletin_path , | ||||
| #                       :priority=>1,:label=>I18n.t('announcement.add_new'), | ||||
| #                       :active_for_action=>{:news_bulletins=>:new} | ||||
| 
 | ||||
| # end | ||||
|  | @ -0,0 +1,4 @@ | |||
| require "personal_diploma/engine" | ||||
| 
 | ||||
| module PersonalDiploma | ||||
| end | ||||
|  | @ -0,0 +1,4 @@ | |||
| module PersonalDiploma | ||||
|   class Engine < Rails::Engine | ||||
|   end | ||||
| end | ||||
|  | @ -0,0 +1,3 @@ | |||
| module PersonalDiploma | ||||
|   VERSION = "0.0.1" | ||||
| end | ||||
							
								
								
									
										4
									
								
								vendor/built_in_modules/personal_diploma/lib/tasks/personal_diploma_tasks.rake
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										4
									
								
								vendor/built_in_modules/personal_diploma/lib/tasks/personal_diploma_tasks.rake
								
								
								
									vendored
								
								
									Normal file
								
							|  | @ -0,0 +1,4 @@ | |||
| # desc "Explaining what the task does" | ||||
| # task :personal_diploma do | ||||
| #   # Task goes here | ||||
| # end | ||||
|  | @ -0,0 +1,23 @@ | |||
| $:.push File.expand_path("../lib", __FILE__) | ||||
| 
 | ||||
| # Maintain your gem's version: | ||||
| require "personal_diploma/version" | ||||
| 
 | ||||
| # Describe your gem and declare its dependencies: | ||||
| Gem::Specification.new do |s| | ||||
|   s.name        = "personal_diploma" | ||||
|   s.version     = PersonalDiploma::VERSION | ||||
|   s.authors     = ["TODO: Your name"] | ||||
|   s.email       = ["TODO: Your email"] | ||||
|   s.homepage    = "TODO" | ||||
|   s.summary     = "TODO: Summary of PersonalDiploma." | ||||
|   s.description = "TODO: Description of PersonalDiploma." | ||||
| 
 | ||||
|   s.files = Dir["{app,config,db,lib}/**/*"] + ["MIT-LICENSE", "Rakefile", "README.rdoc"] | ||||
|   s.test_files = Dir["test/**/*"] | ||||
| 
 | ||||
|   s.add_dependency "rails", "~> 3.1.8" | ||||
|   # s.add_dependency "jquery-rails" | ||||
| 
 | ||||
|   s.add_development_dependency "sqlite3" | ||||
| end | ||||
|  | @ -0,0 +1,12 @@ | |||
| { | ||||
|   "title": "personal_diploma", | ||||
|   "object": "diploma", | ||||
|   "version": "0.1", | ||||
|   "organization": "Rulingcom", | ||||
|   "author": "RD dep", | ||||
|   "intro": "A simple blog……", | ||||
|   "update_info": "Some info", | ||||
|   "create_date": "09-08-2012", | ||||
|   "enable_frontend": true, | ||||
|   "has_plugin": true | ||||
| } | ||||
|  | @ -0,0 +1,6 @@ | |||
| #!/usr/bin/env ruby.exe | ||||
| #!/usr/bin/env ruby | ||||
| # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. | ||||
| 
 | ||||
| ENGINE_PATH = File.expand_path('../..',  __FILE__) | ||||
| load File.expand_path('../../test/dummy/script/rails',  __FILE__) | ||||
|  | @ -0,0 +1,7 @@ | |||
| #!/usr/bin/env rake | ||||
| # Add your own tasks in files placed in lib/tasks ending in .rake, | ||||
| # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. | ||||
| 
 | ||||
| require File.expand_path('../config/application', __FILE__) | ||||
| 
 | ||||
| Dummy::Application.load_tasks | ||||
							
								
								
									
										9
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/app/assets/javascripts/application.js
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										9
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/app/assets/javascripts/application.js
								
								
								
									vendored
								
								
									Normal file
								
							|  | @ -0,0 +1,9 @@ | |||
| // This is a manifest file that'll be compiled into including all the files listed below.
 | ||||
| // Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
 | ||||
| // be included in the compiled file accessible from http://example.com/assets/application.js
 | ||||
| // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
 | ||||
| // the compiled file.
 | ||||
| //
 | ||||
| //= require jquery
 | ||||
| //= require jquery_ujs
 | ||||
| //= require_tree .
 | ||||
							
								
								
									
										7
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/app/assets/stylesheets/application.css
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										7
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/app/assets/stylesheets/application.css
								
								
								
									vendored
								
								
									Normal file
								
							|  | @ -0,0 +1,7 @@ | |||
| /* | ||||
|  * This is a manifest file that'll automatically include all the stylesheets available in this directory | ||||
|  * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at | ||||
|  * the top of the compiled file, but it's generally better to create a new file per style scope. | ||||
|  *= require_self | ||||
|  *= require_tree .  | ||||
| */ | ||||
|  | @ -0,0 +1,3 @@ | |||
| class ApplicationController < ActionController::Base | ||||
|   protect_from_forgery | ||||
| end | ||||
							
								
								
									
										2
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/app/helpers/application_helper.rb
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										2
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/app/helpers/application_helper.rb
								
								
								
									vendored
								
								
									Normal file
								
							|  | @ -0,0 +1,2 @@ | |||
| module ApplicationHelper | ||||
| end | ||||
							
								
								
									
										14
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/app/views/layouts/application.html.erb
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										14
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/app/views/layouts/application.html.erb
								
								
								
									vendored
								
								
									Normal file
								
							|  | @ -0,0 +1,14 @@ | |||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
|   <title>Dummy</title> | ||||
|   <%= stylesheet_link_tag    "application" %> | ||||
|   <%= javascript_include_tag "application" %> | ||||
|   <%= csrf_meta_tags %> | ||||
| </head> | ||||
| <body> | ||||
| 
 | ||||
| <%= yield %> | ||||
| 
 | ||||
| </body> | ||||
| </html> | ||||
|  | @ -0,0 +1,4 @@ | |||
| # This file is used by Rack-based servers to start the application. | ||||
| 
 | ||||
| require ::File.expand_path('../config/environment',  __FILE__) | ||||
| run Dummy::Application | ||||
|  | @ -0,0 +1,45 @@ | |||
| require File.expand_path('../boot', __FILE__) | ||||
| 
 | ||||
| require 'rails/all' | ||||
| 
 | ||||
| Bundler.require | ||||
| require "personal_diploma" | ||||
| 
 | ||||
| module Dummy | ||||
|   class Application < Rails::Application | ||||
|     # Settings in config/environments/* take precedence over those specified here. | ||||
|     # Application configuration should go into files in config/initializers | ||||
|     # -- all .rb files in that directory are automatically loaded. | ||||
| 
 | ||||
|     # Custom directories with classes and modules you want to be autoloadable. | ||||
|     # config.autoload_paths += %W(#{config.root}/extras) | ||||
| 
 | ||||
|     # Only load the plugins named here, in the order given (default is alphabetical). | ||||
|     # :all can be used as a placeholder for all plugins not explicitly named. | ||||
|     # config.plugins = [ :exception_notification, :ssl_requirement, :all ] | ||||
| 
 | ||||
|     # Activate observers that should always be running. | ||||
|     # config.active_record.observers = :cacher, :garbage_collector, :forum_observer | ||||
| 
 | ||||
|     # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. | ||||
|     # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. | ||||
|     # config.time_zone = 'Central Time (US & Canada)' | ||||
| 
 | ||||
|     # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. | ||||
|     # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] | ||||
|     # config.i18n.default_locale = :de | ||||
| 
 | ||||
|     # Configure the default encoding used in templates for Ruby 1.9. | ||||
|     config.encoding = "utf-8" | ||||
| 
 | ||||
|     # Configure sensitive parameters which will be filtered from the log file. | ||||
|     config.filter_parameters += [:password] | ||||
| 
 | ||||
|     # Enable the asset pipeline | ||||
|     config.assets.enabled = true | ||||
| 
 | ||||
|     # Version of your assets, change this if you want to expire all your assets | ||||
|     config.assets.version = '1.0' | ||||
|   end | ||||
| end | ||||
| 
 | ||||
|  | @ -0,0 +1,10 @@ | |||
| require 'rubygems' | ||||
| gemfile = File.expand_path('../../../../Gemfile', __FILE__) | ||||
| 
 | ||||
| if File.exist?(gemfile) | ||||
|   ENV['BUNDLE_GEMFILE'] = gemfile | ||||
|   require 'bundler' | ||||
|   Bundler.setup | ||||
| end | ||||
| 
 | ||||
| $:.unshift File.expand_path('../../../../lib', __FILE__) | ||||
|  | @ -0,0 +1,25 @@ | |||
| # SQLite version 3.x | ||||
| #   gem install sqlite3 | ||||
| # | ||||
| #   Ensure the SQLite 3 gem is defined in your Gemfile | ||||
| #   gem 'sqlite3' | ||||
| development: | ||||
|   adapter: sqlite3 | ||||
|   database: db/development.sqlite3 | ||||
|   pool: 5 | ||||
|   timeout: 5000 | ||||
| 
 | ||||
| # Warning: The database defined as "test" will be erased and | ||||
| # re-generated from your development database when you run "rake". | ||||
| # Do not set this db to the same as development or production. | ||||
| test: | ||||
|   adapter: sqlite3 | ||||
|   database: db/test.sqlite3 | ||||
|   pool: 5 | ||||
|   timeout: 5000 | ||||
| 
 | ||||
| production: | ||||
|   adapter: sqlite3 | ||||
|   database: db/production.sqlite3 | ||||
|   pool: 5 | ||||
|   timeout: 5000 | ||||
|  | @ -0,0 +1,5 @@ | |||
| # Load the rails application | ||||
| require File.expand_path('../application', __FILE__) | ||||
| 
 | ||||
| # Initialize the rails application | ||||
| Dummy::Application.initialize! | ||||
							
								
								
									
										30
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/config/environments/development.rb
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										30
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/config/environments/development.rb
								
								
								
									vendored
								
								
									Normal file
								
							|  | @ -0,0 +1,30 @@ | |||
| Dummy::Application.configure do | ||||
|   # Settings specified here will take precedence over those in config/application.rb | ||||
| 
 | ||||
|   # In the development environment your application's code is reloaded on | ||||
|   # every request.  This slows down response time but is perfect for development | ||||
|   # since you don't have to restart the web server when you make code changes. | ||||
|   config.cache_classes = false | ||||
| 
 | ||||
|   # Log error messages when you accidentally call methods on nil. | ||||
|   config.whiny_nils = true | ||||
| 
 | ||||
|   # Show full error reports and disable caching | ||||
|   config.consider_all_requests_local       = true | ||||
|   config.action_controller.perform_caching = false | ||||
| 
 | ||||
|   # Don't care if the mailer can't send | ||||
|   config.action_mailer.raise_delivery_errors = false | ||||
| 
 | ||||
|   # Print deprecation notices to the Rails logger | ||||
|   config.active_support.deprecation = :log | ||||
| 
 | ||||
|   # Only use best-standards-support built into browsers | ||||
|   config.action_dispatch.best_standards_support = :builtin | ||||
| 
 | ||||
|   # Do not compress assets | ||||
|   config.assets.compress = false | ||||
| 
 | ||||
|   # Expands the lines which load the assets | ||||
|   config.assets.debug = true | ||||
| end | ||||
							
								
								
									
										60
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/config/environments/production.rb
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										60
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/config/environments/production.rb
								
								
								
									vendored
								
								
									Normal file
								
							|  | @ -0,0 +1,60 @@ | |||
| Dummy::Application.configure do | ||||
|   # Settings specified here will take precedence over those in config/application.rb | ||||
| 
 | ||||
|   # Code is not reloaded between requests | ||||
|   config.cache_classes = true | ||||
| 
 | ||||
|   # Full error reports are disabled and caching is turned on | ||||
|   config.consider_all_requests_local       = false | ||||
|   config.action_controller.perform_caching = true | ||||
| 
 | ||||
|   # Disable Rails's static asset server (Apache or nginx will already do this) | ||||
|   config.serve_static_assets = false | ||||
| 
 | ||||
|   # Compress JavaScripts and CSS | ||||
|   config.assets.compress = true | ||||
| 
 | ||||
|   # Don't fallback to assets pipeline if a precompiled asset is missed | ||||
|   config.assets.compile = false | ||||
| 
 | ||||
|   # Generate digests for assets URLs | ||||
|   config.assets.digest = true | ||||
| 
 | ||||
|   # Defaults to Rails.root.join("public/assets") | ||||
|   # config.assets.manifest = YOUR_PATH | ||||
| 
 | ||||
|   # Specifies the header that your server uses for sending files | ||||
|   # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache | ||||
|   # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx | ||||
| 
 | ||||
|   # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. | ||||
|   # config.force_ssl = true | ||||
| 
 | ||||
|   # See everything in the log (default is :info) | ||||
|   # config.log_level = :debug | ||||
| 
 | ||||
|   # Use a different logger for distributed setups | ||||
|   # config.logger = SyslogLogger.new | ||||
| 
 | ||||
|   # Use a different cache store in production | ||||
|   # config.cache_store = :mem_cache_store | ||||
| 
 | ||||
|   # Enable serving of images, stylesheets, and JavaScripts from an asset server | ||||
|   # config.action_controller.asset_host = "http://assets.example.com" | ||||
| 
 | ||||
|   # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added) | ||||
|   # config.assets.precompile += %w( search.js ) | ||||
| 
 | ||||
|   # Disable delivery errors, bad email addresses will be ignored | ||||
|   # config.action_mailer.raise_delivery_errors = false | ||||
| 
 | ||||
|   # Enable threaded mode | ||||
|   # config.threadsafe! | ||||
| 
 | ||||
|   # Enable locale fallbacks for I18n (makes lookups for any locale fall back to | ||||
|   # the I18n.default_locale when a translation can not be found) | ||||
|   config.i18n.fallbacks = true | ||||
| 
 | ||||
|   # Send deprecation notices to registered listeners | ||||
|   config.active_support.deprecation = :notify | ||||
| end | ||||
							
								
								
									
										39
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/config/environments/test.rb
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										39
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/config/environments/test.rb
								
								
								
									vendored
								
								
									Normal file
								
							|  | @ -0,0 +1,39 @@ | |||
| Dummy::Application.configure do | ||||
|   # Settings specified here will take precedence over those in config/application.rb | ||||
| 
 | ||||
|   # The test environment is used exclusively to run your application's | ||||
|   # test suite.  You never need to work with it otherwise.  Remember that | ||||
|   # your test database is "scratch space" for the test suite and is wiped | ||||
|   # and recreated between test runs.  Don't rely on the data there! | ||||
|   config.cache_classes = true | ||||
| 
 | ||||
|   # Configure static asset server for tests with Cache-Control for performance | ||||
|   config.serve_static_assets = true | ||||
|   config.static_cache_control = "public, max-age=3600" | ||||
| 
 | ||||
|   # Log error messages when you accidentally call methods on nil | ||||
|   config.whiny_nils = true | ||||
| 
 | ||||
|   # Show full error reports and disable caching | ||||
|   config.consider_all_requests_local       = true | ||||
|   config.action_controller.perform_caching = false | ||||
| 
 | ||||
|   # Raise exceptions instead of rendering exception templates | ||||
|   config.action_dispatch.show_exceptions = false | ||||
| 
 | ||||
|   # Disable request forgery protection in test environment | ||||
|   config.action_controller.allow_forgery_protection    = false | ||||
| 
 | ||||
|   # Tell Action Mailer not to deliver emails to the real world. | ||||
|   # The :test delivery method accumulates sent emails in the | ||||
|   # ActionMailer::Base.deliveries array. | ||||
|   config.action_mailer.delivery_method = :test | ||||
| 
 | ||||
|   # Use SQL instead of Active Record's schema dumper when creating the test database. | ||||
|   # This is necessary if your schema can't be completely dumped by the schema dumper, | ||||
|   # like if you have constraints or database-specific column types | ||||
|   # config.active_record.schema_format = :sql | ||||
| 
 | ||||
|   # Print deprecation notices to the stderr | ||||
|   config.active_support.deprecation = :stderr | ||||
| end | ||||
|  | @ -0,0 +1,7 @@ | |||
| # Be sure to restart your server when you modify this file. | ||||
| 
 | ||||
| # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. | ||||
| # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } | ||||
| 
 | ||||
| # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. | ||||
| # Rails.backtrace_cleaner.remove_silencers! | ||||
							
								
								
									
										10
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/inflections.rb
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										10
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/inflections.rb
								
								
								
									vendored
								
								
									Normal file
								
							|  | @ -0,0 +1,10 @@ | |||
| # Be sure to restart your server when you modify this file. | ||||
| 
 | ||||
| # Add new inflection rules using the following format | ||||
| # (all these examples are active by default): | ||||
| # ActiveSupport::Inflector.inflections do |inflect| | ||||
| #   inflect.plural /^(ox)$/i, '\1en' | ||||
| #   inflect.singular /^(ox)en/i, '\1' | ||||
| #   inflect.irregular 'person', 'people' | ||||
| #   inflect.uncountable %w( fish sheep ) | ||||
| # end | ||||
							
								
								
									
										5
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/mime_types.rb
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										5
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/mime_types.rb
								
								
								
									vendored
								
								
									Normal file
								
							|  | @ -0,0 +1,5 @@ | |||
| # Be sure to restart your server when you modify this file. | ||||
| 
 | ||||
| # Add new mime types for use in respond_to blocks: | ||||
| # Mime::Type.register "text/richtext", :rtf | ||||
| # Mime::Type.register_alias "text/html", :iphone | ||||
							
								
								
									
										7
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/secret_token.rb
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										7
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/secret_token.rb
								
								
								
									vendored
								
								
									Normal file
								
							|  | @ -0,0 +1,7 @@ | |||
| # Be sure to restart your server when you modify this file. | ||||
| 
 | ||||
| # Your secret key for verifying the integrity of signed cookies. | ||||
| # If you change this key, all old signed cookies will become invalid! | ||||
| # Make sure the secret is at least 30 characters and all random, | ||||
| # no regular words or you'll be exposed to dictionary attacks. | ||||
| Dummy::Application.config.secret_token = '0d28ef022526f9ee2f67ce40acaea04041141e051d4f344fb516738e64bb8ab6efe5f73e223b787fd8f0fbb8b20414c59a493f50619949df35fb397bdd316ac2' | ||||
							
								
								
									
										8
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/session_store.rb
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										8
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/session_store.rb
								
								
								
									vendored
								
								
									Normal file
								
							|  | @ -0,0 +1,8 @@ | |||
| # Be sure to restart your server when you modify this file. | ||||
| 
 | ||||
| Dummy::Application.config.session_store :cookie_store, key: '_dummy_session' | ||||
| 
 | ||||
| # Use the database for sessions instead of the cookie-based default, | ||||
| # which shouldn't be used to store highly confidential information | ||||
| # (create the session table with "rails generate session_migration") | ||||
| # Dummy::Application.config.session_store :active_record_store | ||||
							
								
								
									
										14
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/wrap_parameters.rb
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										14
									
								
								vendor/built_in_modules/personal_diploma/test/dummy/config/initializers/wrap_parameters.rb
								
								
								
									vendored
								
								
									Normal file
								
							|  | @ -0,0 +1,14 @@ | |||
| # Be sure to restart your server when you modify this file. | ||||
| # | ||||
| # This file contains settings for ActionController::ParamsWrapper which | ||||
| # is enabled by default. | ||||
| 
 | ||||
| # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. | ||||
| ActiveSupport.on_load(:action_controller) do | ||||
|   wrap_parameters format: [:json] | ||||
| end | ||||
| 
 | ||||
| # Disable root element in JSON by default. | ||||
| ActiveSupport.on_load(:active_record) do | ||||
|   self.include_root_in_json = false | ||||
| end | ||||
|  | @ -0,0 +1,5 @@ | |||
| # Sample localization file for English. Add more files in this directory for other locales. | ||||
| # See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points. | ||||
| 
 | ||||
| en: | ||||
|   hello: "Hello world" | ||||
|  | @ -0,0 +1,58 @@ | |||
| Dummy::Application.routes.draw do | ||||
|   # The priority is based upon order of creation: | ||||
|   # first created -> highest priority. | ||||
| 
 | ||||
|   # Sample of regular route: | ||||
|   #   match 'products/:id' => 'catalog#view' | ||||
|   # Keep in mind you can assign values other than :controller and :action | ||||
| 
 | ||||
|   # Sample of named route: | ||||
|   #   match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase | ||||
|   # This route can be invoked with purchase_url(:id => product.id) | ||||
| 
 | ||||
|   # Sample resource route (maps HTTP verbs to controller actions automatically): | ||||
|   #   resources :products | ||||
| 
 | ||||
|   # Sample resource route with options: | ||||
|   #   resources :products do | ||||
|   #     member do | ||||
|   #       get 'short' | ||||
|   #       post 'toggle' | ||||
|   #     end | ||||
|   # | ||||
|   #     collection do | ||||
|   #       get 'sold' | ||||
|   #     end | ||||
|   #   end | ||||
| 
 | ||||
|   # Sample resource route with sub-resources: | ||||
|   #   resources :products do | ||||
|   #     resources :comments, :sales | ||||
|   #     resource :seller | ||||
|   #   end | ||||
| 
 | ||||
|   # Sample resource route with more complex sub-resources | ||||
|   #   resources :products do | ||||
|   #     resources :comments | ||||
|   #     resources :sales do | ||||
|   #       get 'recent', :on => :collection | ||||
|   #     end | ||||
|   #   end | ||||
| 
 | ||||
|   # Sample resource route within a namespace: | ||||
|   #   namespace :admin do | ||||
|   #     # Directs /admin/products/* to Admin::ProductsController | ||||
|   #     # (app/controllers/admin/products_controller.rb) | ||||
|   #     resources :products | ||||
|   #   end | ||||
| 
 | ||||
|   # You can have the root of your site routed with "root" | ||||
|   # just remember to delete public/index.html. | ||||
|   # root :to => 'welcome#index' | ||||
| 
 | ||||
|   # See how all your routes lay out with "rake routes" | ||||
| 
 | ||||
|   # This is a legacy wild controller route that's not recommended for RESTful applications. | ||||
|   # Note: This route will make all actions in every controller accessible via GET requests. | ||||
|   # match ':controller(/:action(/:id(.:format)))' | ||||
| end | ||||
|  | @ -0,0 +1,26 @@ | |||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
|   <title>The page you were looking for doesn't exist (404)</title> | ||||
|   <style type="text/css"> | ||||
|     body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; } | ||||
|     div.dialog { | ||||
|       width: 25em; | ||||
|       padding: 0 4em; | ||||
|       margin: 4em auto 0 auto; | ||||
|       border: 1px solid #ccc; | ||||
|       border-right-color: #999; | ||||
|       border-bottom-color: #999; | ||||
|     } | ||||
|     h1 { font-size: 100%; color: #f00; line-height: 1.5em; } | ||||
|   </style> | ||||
| </head> | ||||
| 
 | ||||
| <body> | ||||
|   <!-- This file lives in public/404.html --> | ||||
|   <div class="dialog"> | ||||
|     <h1>The page you were looking for doesn't exist.</h1> | ||||
|     <p>You may have mistyped the address or the page may have moved.</p> | ||||
|   </div> | ||||
| </body> | ||||
| </html> | ||||
|  | @ -0,0 +1,26 @@ | |||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
|   <title>The change you wanted was rejected (422)</title> | ||||
|   <style type="text/css"> | ||||
|     body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; } | ||||
|     div.dialog { | ||||
|       width: 25em; | ||||
|       padding: 0 4em; | ||||
|       margin: 4em auto 0 auto; | ||||
|       border: 1px solid #ccc; | ||||
|       border-right-color: #999; | ||||
|       border-bottom-color: #999; | ||||
|     } | ||||
|     h1 { font-size: 100%; color: #f00; line-height: 1.5em; } | ||||
|   </style> | ||||
| </head> | ||||
| 
 | ||||
| <body> | ||||
|   <!-- This file lives in public/422.html --> | ||||
|   <div class="dialog"> | ||||
|     <h1>The change you wanted was rejected.</h1> | ||||
|     <p>Maybe you tried to change something you didn't have access to.</p> | ||||
|   </div> | ||||
| </body> | ||||
| </html> | ||||
|  | @ -0,0 +1,26 @@ | |||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
|   <title>We're sorry, but something went wrong (500)</title> | ||||
|   <style type="text/css"> | ||||
|     body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; } | ||||
|     div.dialog { | ||||
|       width: 25em; | ||||
|       padding: 0 4em; | ||||
|       margin: 4em auto 0 auto; | ||||
|       border: 1px solid #ccc; | ||||
|       border-right-color: #999; | ||||
|       border-bottom-color: #999; | ||||
|     } | ||||
|     h1 { font-size: 100%; color: #f00; line-height: 1.5em; } | ||||
|   </style> | ||||
| </head> | ||||
| 
 | ||||
| <body> | ||||
|   <!-- This file lives in public/500.html --> | ||||
|   <div class="dialog"> | ||||
|     <h1>We're sorry, but something went wrong.</h1> | ||||
|     <p>We've been notified about this issue and we'll take a look at it shortly.</p> | ||||
|   </div> | ||||
| </body> | ||||
| </html> | ||||
|  | @ -0,0 +1,6 @@ | |||
| #!/usr/bin/env ruby.exe | ||||
| # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. | ||||
| 
 | ||||
| APP_PATH = File.expand_path('../../config/application',  __FILE__) | ||||
| require File.expand_path('../../config/boot',  __FILE__) | ||||
| require 'rails/commands' | ||||
							
								
								
									
										10
									
								
								vendor/built_in_modules/personal_diploma/test/integration/navigation_test.rb
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										10
									
								
								vendor/built_in_modules/personal_diploma/test/integration/navigation_test.rb
								
								
								
									vendored
								
								
									Normal file
								
							|  | @ -0,0 +1,10 @@ | |||
| require 'test_helper' | ||||
| 
 | ||||
| class NavigationTest < ActionDispatch::IntegrationTest | ||||
|   fixtures :all | ||||
| 
 | ||||
|   # test "the truth" do | ||||
|   #   assert true | ||||
|   # end | ||||
| end | ||||
| 
 | ||||
|  | @ -0,0 +1,7 @@ | |||
| require 'test_helper' | ||||
| 
 | ||||
| class PersonalDiplomaTest < ActiveSupport::TestCase | ||||
|   test "truth" do | ||||
|     assert_kind_of Module, PersonalDiploma | ||||
|   end | ||||
| end | ||||
|  | @ -0,0 +1,10 @@ | |||
| # Configure Rails Environment | ||||
| ENV["RAILS_ENV"] = "test" | ||||
| 
 | ||||
| require File.expand_path("../dummy/config/environment.rb",  __FILE__) | ||||
| require "rails/test_help" | ||||
| 
 | ||||
| Rails.backtrace_cleaner.remove_silencers! | ||||
| 
 | ||||
| # Load support files | ||||
| Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f } | ||||
|  | @ -0,0 +1,6 @@ | |||
| .bundle/ | ||||
| log/*.log | ||||
| pkg/ | ||||
| test/dummy/db/*.sqlite3 | ||||
| test/dummy/log/*.log | ||||
| test/dummy/tmp/ | ||||
|  | @ -0,0 +1,17 @@ | |||
| source "http://rubygems.org" | ||||
| 
 | ||||
| # Declare your gem's dependencies in personal_experience.gemspec. | ||||
| # Bundler will treat runtime dependencies like base dependencies, and | ||||
| # development dependencies will be added by default to the :development group. | ||||
| gemspec | ||||
| 
 | ||||
| # jquery-rails is used by the dummy application | ||||
| gem "jquery-rails" | ||||
| 
 | ||||
| # Declare any dependencies that are still in development here instead of in | ||||
| # your gemspec. These might include edge Rails or gems from your path or | ||||
| # Git. Remember to move these dependencies to your gemspec before releasing | ||||
| # your gem to rubygems.org. | ||||
| 
 | ||||
| # To use debugger | ||||
| # gem 'ruby-debug19', :require => 'ruby-debug' | ||||
|  | @ -0,0 +1,20 @@ | |||
| Copyright 2012 YOURNAME | ||||
| 
 | ||||
| Permission is hereby granted, free of charge, to any person obtaining | ||||
| a copy of this software and associated documentation files (the | ||||
| "Software"), to deal in the Software without restriction, including | ||||
| without limitation the rights to use, copy, modify, merge, publish, | ||||
| distribute, sublicense, and/or sell copies of the Software, and to | ||||
| permit persons to whom the Software is furnished to do so, subject to | ||||
| the following conditions: | ||||
| 
 | ||||
| The above copyright notice and this permission notice shall be | ||||
| included in all copies or substantial portions of the Software. | ||||
| 
 | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||
| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||||
| MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||||
| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | ||||
| LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||||
| OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||||
| WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
|  | @ -0,0 +1,3 @@ | |||
| = PersonalExperience | ||||
| 
 | ||||
| This project rocks and uses MIT-LICENSE. | ||||
|  | @ -0,0 +1,39 @@ | |||
| #!/usr/bin/env rake | ||||
| begin | ||||
|   require 'bundler/setup' | ||||
| rescue LoadError | ||||
|   puts 'You must `gem install bundler` and `bundle install` to run rake tasks' | ||||
| end | ||||
| begin | ||||
|   require 'rdoc/task' | ||||
| rescue LoadError | ||||
|   require 'rdoc/rdoc' | ||||
|   require 'rake/rdoctask' | ||||
|   RDoc::Task = Rake::RDocTask | ||||
| end | ||||
| 
 | ||||
| RDoc::Task.new(:rdoc) do |rdoc| | ||||
|   rdoc.rdoc_dir = 'rdoc' | ||||
|   rdoc.title    = 'PersonalExperience' | ||||
|   rdoc.options << '--line-numbers' | ||||
|   rdoc.rdoc_files.include('README.rdoc') | ||||
|   rdoc.rdoc_files.include('lib/**/*.rb') | ||||
| end | ||||
| 
 | ||||
| APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__) | ||||
| load 'rails/tasks/engine.rake' | ||||
| 
 | ||||
| 
 | ||||
| Bundler::GemHelper.install_tasks | ||||
| 
 | ||||
| require 'rake/testtask' | ||||
| 
 | ||||
| Rake::TestTask.new(:test) do |t| | ||||
|   t.libs << 'lib' | ||||
|   t.libs << 'test' | ||||
|   t.pattern = 'test/**/*_test.rb' | ||||
|   t.verbose = false | ||||
| end | ||||
| 
 | ||||
| 
 | ||||
| task :default => :test | ||||
							
								
								
									
										0
									
								
								vendor/built_in_modules/personal_experience/app/assets/images/personal_experience/.gitkeep
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										0
									
								
								vendor/built_in_modules/personal_experience/app/assets/images/personal_experience/.gitkeep
								
								
								
									vendored
								
								
									Normal file
								
							Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
		Reference in New Issue