Merge commit '43ecebf93482cf94c73b78564509d1a352c2bcd2' into app_config
This commit is contained in:
		
						commit
						2321116597
					
				|  | @ -17,3 +17,6 @@ config/application.rb | ||||||
| .rvmrc | .rvmrc | ||||||
| 
 | 
 | ||||||
| app/assets/javascripts/.DS_Store | app/assets/javascripts/.DS_Store | ||||||
|  | 
 | ||||||
|  | solr | ||||||
|  | Gemfile.lock | ||||||
|  |  | ||||||
							
								
								
									
										18
									
								
								Gemfile
								
								
								
								
							
							
						
						
									
										18
									
								
								Gemfile
								
								
								
								
							|  | @ -12,14 +12,13 @@ gem 'exception_notification' # Send error trace | ||||||
| gem 'execjs' | gem 'execjs' | ||||||
| gem 'jquery-rails' | gem 'jquery-rails' | ||||||
| gem 'jquery-ui-rails' | gem 'jquery-ui-rails' | ||||||
| 
 |  | ||||||
| gem 'kaminari', :git => 'git://github.com/amatsuda/kaminari.git' | gem 'kaminari', :git => 'git://github.com/amatsuda/kaminari.git' | ||||||
| 
 | 
 | ||||||
| # gem "memcached", "~> 1.4.3" | # gem "memcached", "~> 1.4.3" | ||||||
| # gem "memcache-client" | # gem "memcache-client" | ||||||
| 
 | 
 | ||||||
| gem 'mini_magick' | gem 'mini_magick' | ||||||
| gem 'mongoid' | gem 'mongoid', '> 2.1', '< 3.0.0' | ||||||
| gem 'mongoid-tree', :require => 'mongoid/tree' | gem 'mongoid-tree', :require => 'mongoid/tree' | ||||||
| gem "mongo_session_store-rails3" | gem "mongo_session_store-rails3" | ||||||
| gem 'mysql2' | gem 'mysql2' | ||||||
|  | @ -27,11 +26,11 @@ gem 'nokogiri' | ||||||
| gem 'radius' | gem 'radius' | ||||||
| gem 'rake' | gem 'rake' | ||||||
| # gem 'remotipart' | # gem 'remotipart' | ||||||
| gem 'resque' # background jobs | gem 'resque', :require => 'resque/server' # background jobs | ||||||
| gem 'resque-scheduler' # job scheduling | gem 'resque-scheduler' # job scheduling | ||||||
| gem 'resque-restriction' | gem 'resque-restriction' | ||||||
| #gem 'rb-readline' | #gem 'rb-readline' | ||||||
| gem 'ruby-debug19' | # gem 'ruby-debug19' | ||||||
| gem 'rubyzip' | gem 'rubyzip' | ||||||
| 
 | 
 | ||||||
| gem 'sunspot_mongo' | gem 'sunspot_mongo' | ||||||
|  | @ -50,13 +49,15 @@ gem 'rb-readline' if RUBY_PLATFORM.downcase.include?("linux") | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| gem "impressionist", :git => 'git://github.com/charlotte-ruby/impressionist.git' | gem "impressionist", :git => 'git://github.com/charlotte-ruby/impressionist.git' | ||||||
|  | #gem 'contacts' | ||||||
|  | #gem 'event-calendar', :require => 'event_calendar'#, :git => 'git://github.com/elevation/event_calendar.git' | ||||||
| 
 | 
 | ||||||
| gem 'redis','>= 2.1.1' | gem 'redis','>= 2.1.1' | ||||||
| gem 'chinese_pinyin', '0.4.1' | gem 'chinese_pinyin', '0.4.1' | ||||||
| # add rmmseg if you need search by segment words | # add rmmseg if you need search by segment words | ||||||
| gem 'rmmseg-cpp-huacnlee', '0.2.9' | gem 'rmmseg-cpp-huacnlee', '0.2.9' | ||||||
| gem 'redis-namespace','~> 1.0.2' | gem 'redis-namespace' | ||||||
| gem 'redis-search', '0.7.1' | gem 'redis-search' | ||||||
| 
 | 
 | ||||||
| # Gems used only for assets and not required | # Gems used only for assets and not required | ||||||
| # in production environments by default. | # in production environments by default. | ||||||
|  | @ -68,6 +69,11 @@ end | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| group :test, :development do | group :test, :development do | ||||||
|  |   gem 'pry' | ||||||
|  |   gem 'pry-remote' | ||||||
|  |   gem 'pry-stack_explorer' | ||||||
|  |   gem 'pry-debugger' | ||||||
|  |    | ||||||
|   gem "sunspot-rails-tester" |   gem "sunspot-rails-tester" | ||||||
|   gem 'spork' |   gem 'spork' | ||||||
|   gem 'database_cleaner'  #Strategies for cleaning databases. Can be used to ensure a clean state for testing. |   gem 'database_cleaner'  #Strategies for cleaning databases. Can be used to ensure a clean state for testing. | ||||||
|  |  | ||||||
							
								
								
									
										360
									
								
								Gemfile.lock
								
								
								
								
							
							
						
						
									
										360
									
								
								Gemfile.lock
								
								
								
								
							|  | @ -1,360 +0,0 @@ | ||||||
| GIT |  | ||||||
|   remote: git://github.com/amatsuda/kaminari.git |  | ||||||
|   revision: 82a38e07db1ca1598c8daf073a8f6be22ae714d6 |  | ||||||
|   specs: |  | ||||||
|     kaminari (0.13.0) |  | ||||||
|       actionpack (>= 3.0.0) |  | ||||||
|       activesupport (>= 3.0.0) |  | ||||||
| 
 |  | ||||||
| GIT |  | ||||||
|   remote: git://github.com/charlotte-ruby/impressionist.git |  | ||||||
|   revision: 7a93fff25568cd3edcc63c1a3c4b60dc6b81d2b7 |  | ||||||
|   specs: |  | ||||||
|     impressionist (1.1.1) |  | ||||||
|       httpclient (~> 2.2) |  | ||||||
|       nokogiri (~> 1.5) |  | ||||||
| 
 |  | ||||||
| GEM |  | ||||||
|   remote: http://rubygems.org/ |  | ||||||
|   specs: |  | ||||||
|     actionmailer (3.1.4) |  | ||||||
|       actionpack (= 3.1.4) |  | ||||||
|       mail (~> 2.3.0) |  | ||||||
|     actionpack (3.1.4) |  | ||||||
|       activemodel (= 3.1.4) |  | ||||||
|       activesupport (= 3.1.4) |  | ||||||
|       builder (~> 3.0.0) |  | ||||||
|       erubis (~> 2.7.0) |  | ||||||
|       i18n (~> 0.6) |  | ||||||
|       rack (~> 1.3.6) |  | ||||||
|       rack-cache (~> 1.1) |  | ||||||
|       rack-mount (~> 0.8.2) |  | ||||||
|       rack-test (~> 0.6.1) |  | ||||||
|       sprockets (~> 2.0.3) |  | ||||||
|     activemodel (3.1.4) |  | ||||||
|       activesupport (= 3.1.4) |  | ||||||
|       builder (~> 3.0.0) |  | ||||||
|       i18n (~> 0.6) |  | ||||||
|     activerecord (3.1.4) |  | ||||||
|       activemodel (= 3.1.4) |  | ||||||
|       activesupport (= 3.1.4) |  | ||||||
|       arel (~> 2.2.3) |  | ||||||
|       tzinfo (~> 0.3.29) |  | ||||||
|     activeresource (3.1.4) |  | ||||||
|       activemodel (= 3.1.4) |  | ||||||
|       activesupport (= 3.1.4) |  | ||||||
|     activesupport (3.1.4) |  | ||||||
|       multi_json (~> 1.0) |  | ||||||
|     archive-tar-minitar (0.5.2) |  | ||||||
|     arel (2.2.3) |  | ||||||
|     bcrypt-ruby (3.0.1) |  | ||||||
|     bcrypt-ruby (3.0.1-x86-mingw32) |  | ||||||
|     brakeman (1.5.1) |  | ||||||
|       activesupport |  | ||||||
|       erubis (~> 2.6) |  | ||||||
|       haml (~> 3.0) |  | ||||||
|       i18n |  | ||||||
|       ruby2ruby (~> 1.2) |  | ||||||
|       ruport (~> 1.6) |  | ||||||
|       sass (~> 3.0) |  | ||||||
|     bson (1.6.1) |  | ||||||
|     bson_ext (1.6.1) |  | ||||||
|       bson (~> 1.6.1) |  | ||||||
|     builder (3.0.0) |  | ||||||
|     carrierwave (0.5.8) |  | ||||||
|       activesupport (~> 3.0) |  | ||||||
|     carrierwave-mongoid (0.1.3) |  | ||||||
|       carrierwave (>= 0.5.6) |  | ||||||
|       mongoid (~> 2.1) |  | ||||||
|     chinese_pinyin (0.4.1) |  | ||||||
|     chronic (0.6.7) |  | ||||||
|     coffee-rails (3.1.1) |  | ||||||
|       coffee-script (>= 2.2.0) |  | ||||||
|       railties (~> 3.1.0) |  | ||||||
|     coffee-script (2.2.0) |  | ||||||
|       coffee-script-source |  | ||||||
|       execjs |  | ||||||
|     coffee-script-source (1.2.0) |  | ||||||
|     color (1.4.1) |  | ||||||
|     columnize (0.3.6) |  | ||||||
|     database_cleaner (0.7.1) |  | ||||||
|     delorean (1.2.0) |  | ||||||
|       chronic |  | ||||||
|     devise (1.5.3) |  | ||||||
|       bcrypt-ruby (~> 3.0) |  | ||||||
|       orm_adapter (~> 0.0.3) |  | ||||||
|       warden (~> 1.1) |  | ||||||
|     diff-lcs (1.1.3) |  | ||||||
|     encrypted_strings (0.3.3) |  | ||||||
|     erubis (2.7.0) |  | ||||||
|     exception_notification (2.5.2) |  | ||||||
|       actionmailer (>= 3.0.4) |  | ||||||
|     execjs (1.3.0) |  | ||||||
|       multi_json (~> 1.0) |  | ||||||
|     factory_girl (2.6.3) |  | ||||||
|       activesupport (>= 2.3.9) |  | ||||||
|     factory_girl_rails (1.7.0) |  | ||||||
|       factory_girl (~> 2.6.0) |  | ||||||
|       railties (>= 3.0.0) |  | ||||||
|     fastercsv (1.5.4) |  | ||||||
|     fattr (2.2.1) |  | ||||||
|     haml (3.1.4) |  | ||||||
|     highline (1.6.13) |  | ||||||
|     hike (1.2.1) |  | ||||||
|     hoe (2.16.1) |  | ||||||
|       rake (~> 0.8) |  | ||||||
|     httpclient (2.2.5) |  | ||||||
|     i18n (0.6.0) |  | ||||||
|     jquery-rails (1.0.19) |  | ||||||
|       railties (~> 3.0) |  | ||||||
|       thor (~> 0.14) |  | ||||||
|     jquery-ui-rails (0.4.0) |  | ||||||
|       jquery-rails |  | ||||||
|       railties (>= 3.1.0) |  | ||||||
|     json (1.6.5) |  | ||||||
|     linecache19 (0.5.12) |  | ||||||
|       ruby_core_source (>= 0.1.4) |  | ||||||
|     mail (2.3.3) |  | ||||||
|       i18n (>= 0.4.0) |  | ||||||
|       mime-types (~> 1.16) |  | ||||||
|       treetop (~> 1.4.8) |  | ||||||
|     mime-types (1.17.2) |  | ||||||
|     mini_magick (3.4) |  | ||||||
|       subexec (~> 0.2.1) |  | ||||||
|     mongo (1.6.1) |  | ||||||
|       bson (~> 1.6.1) |  | ||||||
|     mongo_session_store-rails3 (3.0.5) |  | ||||||
|       actionpack (>= 3.0) |  | ||||||
|       mongo |  | ||||||
|     mongoid (2.4.6) |  | ||||||
|       activemodel (~> 3.1) |  | ||||||
|       mongo (~> 1.3) |  | ||||||
|       tzinfo (~> 0.3.22) |  | ||||||
|     mongoid-encryptor (0.0.5) |  | ||||||
|       activesupport (~> 3.0) |  | ||||||
|       encrypted_strings (~> 0.3.3) |  | ||||||
|       mongoid (~> 2) |  | ||||||
|     mongoid-tree (0.7.0) |  | ||||||
|       mongoid (~> 2.0) |  | ||||||
|     multi_json (1.1.0) |  | ||||||
|     mysql2 (0.3.11) |  | ||||||
|     mysql2 (0.3.11-x86-mingw32) |  | ||||||
|     net-ldap (0.3.1) |  | ||||||
|     nokogiri (1.5.2) |  | ||||||
|     nokogiri (1.5.2-x86-mingw32) |  | ||||||
|     options (2.3.0) |  | ||||||
|       fattr |  | ||||||
|     orm_adapter (0.0.6) |  | ||||||
|     pdf-writer (1.1.8) |  | ||||||
|       color (>= 1.4.0) |  | ||||||
|       transaction-simple (~> 1.3) |  | ||||||
|     polyglot (0.3.3) |  | ||||||
|     pr_geohash (1.0.0) |  | ||||||
|     progress_bar (0.4.0) |  | ||||||
|       highline (~> 1.6.1) |  | ||||||
|       options (~> 2.3.0) |  | ||||||
|     rack (1.3.6) |  | ||||||
|     rack-cache (1.2) |  | ||||||
|       rack (>= 0.4) |  | ||||||
|     rack-mount (0.8.3) |  | ||||||
|       rack (>= 1.0.0) |  | ||||||
|     rack-protection (1.2.0) |  | ||||||
|       rack |  | ||||||
|     rack-ssl (1.3.2) |  | ||||||
|       rack |  | ||||||
|     rack-test (0.6.1) |  | ||||||
|       rack (>= 1.0) |  | ||||||
|     radius (0.7.3) |  | ||||||
|     rails (3.1.4) |  | ||||||
|       actionmailer (= 3.1.4) |  | ||||||
|       actionpack (= 3.1.4) |  | ||||||
|       activerecord (= 3.1.4) |  | ||||||
|       activeresource (= 3.1.4) |  | ||||||
|       activesupport (= 3.1.4) |  | ||||||
|       bundler (~> 1.0) |  | ||||||
|       railties (= 3.1.4) |  | ||||||
|     railties (3.1.4) |  | ||||||
|       actionpack (= 3.1.4) |  | ||||||
|       activesupport (= 3.1.4) |  | ||||||
|       rack-ssl (~> 1.3.2) |  | ||||||
|       rake (>= 0.8.7) |  | ||||||
|       rdoc (~> 3.4) |  | ||||||
|       thor (~> 0.14.6) |  | ||||||
|     rake (0.9.2.2) |  | ||||||
|     rdoc (3.12) |  | ||||||
|       json (~> 1.4) |  | ||||||
|     redis (2.2.2) |  | ||||||
|     redis-namespace (1.0.3) |  | ||||||
|       redis (< 3.0.0) |  | ||||||
|     redis-search (0.7.1) |  | ||||||
|       chinese_pinyin (>= 0.3.0) |  | ||||||
|       redis (>= 2.1.1) |  | ||||||
|       redis-namespace (~> 1.0.2) |  | ||||||
|     resque (1.20.0) |  | ||||||
|       multi_json (~> 1.0) |  | ||||||
|       redis-namespace (~> 1.0.2) |  | ||||||
|       sinatra (>= 0.9.2) |  | ||||||
|       vegas (~> 0.1.2) |  | ||||||
|     resque-restriction (0.3.0) |  | ||||||
|       resque (>= 1.7.0) |  | ||||||
|     resque-scheduler (1.9.9) |  | ||||||
|       redis (>= 2.0.1) |  | ||||||
|       resque (>= 1.8.0) |  | ||||||
|       rufus-scheduler |  | ||||||
|     rmmseg-cpp-huacnlee (0.2.9) |  | ||||||
|     rsolr (1.0.8) |  | ||||||
|       builder (>= 2.1.2) |  | ||||||
|     rspec (2.8.0) |  | ||||||
|       rspec-core (~> 2.8.0) |  | ||||||
|       rspec-expectations (~> 2.8.0) |  | ||||||
|       rspec-mocks (~> 2.8.0) |  | ||||||
|     rspec-core (2.8.0) |  | ||||||
|     rspec-expectations (2.8.0) |  | ||||||
|       diff-lcs (~> 1.1.2) |  | ||||||
|     rspec-mocks (2.8.0) |  | ||||||
|     rspec-rails (2.8.1) |  | ||||||
|       actionpack (>= 3.0) |  | ||||||
|       activesupport (>= 3.0) |  | ||||||
|       railties (>= 3.0) |  | ||||||
|       rspec (~> 2.8.0) |  | ||||||
|     ruby-debug-base19 (0.11.25) |  | ||||||
|       columnize (>= 0.3.1) |  | ||||||
|       linecache19 (>= 0.5.11) |  | ||||||
|       ruby_core_source (>= 0.1.4) |  | ||||||
|     ruby-debug19 (0.11.6) |  | ||||||
|       columnize (>= 0.3.1) |  | ||||||
|       linecache19 (>= 0.5.11) |  | ||||||
|       ruby-debug-base19 (>= 0.11.19) |  | ||||||
|     ruby2ruby (1.3.1) |  | ||||||
|       ruby_parser (~> 2.0) |  | ||||||
|       sexp_processor (~> 3.0) |  | ||||||
|     ruby_core_source (0.1.5) |  | ||||||
|       archive-tar-minitar (>= 0.5.2) |  | ||||||
|     ruby_parser (2.3.1) |  | ||||||
|       sexp_processor (~> 3.0) |  | ||||||
|     rubyzip (0.9.6.1) |  | ||||||
|     rufus-scheduler (2.0.16) |  | ||||||
|       tzinfo (>= 0.3.23) |  | ||||||
|     ruport (1.6.3) |  | ||||||
|       fastercsv |  | ||||||
|       pdf-writer (= 1.1.8) |  | ||||||
|     sass (3.1.15) |  | ||||||
|     sass-rails (3.1.5) |  | ||||||
|       actionpack (~> 3.1.0) |  | ||||||
|       railties (~> 3.1.0) |  | ||||||
|       sass (~> 3.1.10) |  | ||||||
|       tilt (~> 1.3.2) |  | ||||||
|     sexp_processor (3.1.0) |  | ||||||
|     shoulda-matchers (1.0.0) |  | ||||||
|     simplecov (0.6.1) |  | ||||||
|       multi_json (~> 1.0) |  | ||||||
|       simplecov-html (~> 0.5.3) |  | ||||||
|     simplecov-html (0.5.3) |  | ||||||
|     sinatra (1.3.2) |  | ||||||
|       rack (~> 1.3, >= 1.3.6) |  | ||||||
|       rack-protection (~> 1.2) |  | ||||||
|       tilt (~> 1.3, >= 1.3.3) |  | ||||||
|     social-share-button (0.0.6) |  | ||||||
|     spork (0.9.0) |  | ||||||
|     spork (0.9.0-x86-mingw32) |  | ||||||
|       win32-process |  | ||||||
|     sprockets (2.0.3) |  | ||||||
|       hike (~> 1.2) |  | ||||||
|       rack (~> 1.0) |  | ||||||
|       tilt (~> 1.1, != 1.3.0) |  | ||||||
|     subexec (0.2.1) |  | ||||||
|     sunspot (1.3.3) |  | ||||||
|       pr_geohash (~> 1.0) |  | ||||||
|       rsolr (~> 1.0.7) |  | ||||||
|     sunspot-rails-tester (0.0.4) |  | ||||||
|       sunspot_rails (~> 1.2) |  | ||||||
|     sunspot_mongo (1.0.1) |  | ||||||
|       sunspot_rails |  | ||||||
|     sunspot_rails (1.3.3) |  | ||||||
|       nokogiri |  | ||||||
|       sunspot (= 1.3.3) |  | ||||||
|     sunspot_solr (1.3.3) |  | ||||||
|     thor (0.14.6) |  | ||||||
|     tilt (1.3.3) |  | ||||||
|     tinymce-rails (3.4.8) |  | ||||||
|       railties (>= 3.1) |  | ||||||
|     transaction-simple (1.4.0) |  | ||||||
|       hoe (>= 1.1.7) |  | ||||||
|     treetop (1.4.10) |  | ||||||
|       polyglot |  | ||||||
|       polyglot (>= 0.3.1) |  | ||||||
|     tzinfo (0.3.32) |  | ||||||
|     uglifier (1.2.3) |  | ||||||
|       execjs (>= 0.3.0) |  | ||||||
|       multi_json (>= 1.0.2) |  | ||||||
|     vegas (0.1.11) |  | ||||||
|       rack (>= 1.0.0) |  | ||||||
|     warden (1.1.1) |  | ||||||
|       rack (>= 1.0) |  | ||||||
|     watchr (0.7) |  | ||||||
|     win32-api (1.4.8-x86-mingw32) |  | ||||||
|     win32-process (0.6.5) |  | ||||||
|       windows-pr (>= 1.1.2) |  | ||||||
|     windows-api (0.4.1) |  | ||||||
|       win32-api (>= 1.4.5) |  | ||||||
|     windows-pr (1.2.1) |  | ||||||
|       win32-api (>= 1.4.5) |  | ||||||
|       windows-api (>= 0.3.0) |  | ||||||
| 
 |  | ||||||
| PLATFORMS |  | ||||||
|   ruby |  | ||||||
|   x86-mingw32 |  | ||||||
| 
 |  | ||||||
| DEPENDENCIES |  | ||||||
|   brakeman |  | ||||||
|   bson_ext |  | ||||||
|   carrierwave |  | ||||||
|   carrierwave-mongoid |  | ||||||
|   chinese_pinyin (= 0.4.1) |  | ||||||
|   coffee-rails |  | ||||||
|   database_cleaner |  | ||||||
|   delorean |  | ||||||
|   devise (= 1.5.3) |  | ||||||
|   exception_notification |  | ||||||
|   execjs |  | ||||||
|   factory_girl_rails |  | ||||||
|   impressionist! |  | ||||||
|   jquery-rails |  | ||||||
|   jquery-ui-rails |  | ||||||
|   kaminari! |  | ||||||
|   mini_magick |  | ||||||
|   mongo_session_store-rails3 |  | ||||||
|   mongoid |  | ||||||
|   mongoid-encryptor |  | ||||||
|   mongoid-tree |  | ||||||
|   mysql2 |  | ||||||
|   net-ldap (~> 0.3.1) |  | ||||||
|   nokogiri |  | ||||||
|   progress_bar |  | ||||||
|   radius |  | ||||||
|   rails (>= 3.1.0, < 3.2.0) |  | ||||||
|   rake |  | ||||||
|   redis (>= 2.1.1) |  | ||||||
|   redis-namespace (~> 1.0.2) |  | ||||||
|   redis-search (= 0.7.1) |  | ||||||
|   resque |  | ||||||
|   resque-restriction |  | ||||||
|   resque-scheduler |  | ||||||
|   rmmseg-cpp-huacnlee (= 0.2.9) |  | ||||||
|   rspec (~> 2.0) |  | ||||||
|   rspec-rails (~> 2.0) |  | ||||||
|   ruby-debug19 |  | ||||||
|   rubyzip |  | ||||||
|   sass-rails |  | ||||||
|   shoulda-matchers |  | ||||||
|   simplecov |  | ||||||
|   sinatra |  | ||||||
|   social-share-button |  | ||||||
|   spork |  | ||||||
|   sprockets |  | ||||||
|   sunspot-rails-tester |  | ||||||
|   sunspot_mongo |  | ||||||
|   sunspot_solr |  | ||||||
|   tinymce-rails |  | ||||||
|   uglifier |  | ||||||
|   watchr |  | ||||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 1.1 KiB | 
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 18 KiB | 
|  | @ -0,0 +1,9 @@ | ||||||
|  | $('.plugin_files_block a.delete').live('click', function(){ | ||||||
|  |   $(this).parents('.list_item').remove(); | ||||||
|  | }); | ||||||
|  | 
 | ||||||
|  | $(document).on('click', '.action a.remove_existing_record', function(){ | ||||||
|  |   $(this).next('.should_destroy').attr('value', 1); | ||||||
|  |   $("tr#plugin_file_" + $(this).prev().attr('value')).hide(); | ||||||
|  | }); | ||||||
|  | 
 | ||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							|  | @ -3,7 +3,8 @@ | ||||||
| 		function w(a){ | 		function w(a){ | ||||||
| 			if(!(g.ratio>=1)){ | 			if(!(g.ratio>=1)){ | ||||||
| 				o.now=Math.min(i[c.axis]-j[c.axis],Math.max(0,o.start+((k?a.pageX:a.pageY)-p.start))); | 				o.now=Math.min(i[c.axis]-j[c.axis],Math.max(0,o.start+((k?a.pageX:a.pageY)-p.start))); | ||||||
| 				n=o.now*h.ratio;g.obj.css(l,-n); | 				n=o.now*h.ratio; | ||||||
|  | 				g.obj.css(l,-n); | ||||||
| 				j.obj.css(l,o.now) | 				j.obj.css(l,o.now) | ||||||
| 			} | 			} | ||||||
| 			return false | 			return false | ||||||
|  | @ -41,8 +42,7 @@ | ||||||
| 			j.obj[0].ontouchend=document.ontouchend=function(b){ | 			j.obj[0].ontouchend=document.ontouchend=function(b){ | ||||||
| 				a(document).unbind("mouseup"); | 				a(document).unbind("mouseup"); | ||||||
| 				j.obj.unbind("mouseup"); | 				j.obj.unbind("mouseup"); | ||||||
| 				v(b.touches[0]) | 				v(b.touches[0])}; | ||||||
| 			}; |  | ||||||
| 				return false | 				return false | ||||||
| 			} | 			} | ||||||
| 			function s(){ | 			function s(){ | ||||||
|  | @ -103,7 +103,15 @@ | ||||||
| 			return q() | 			return q() | ||||||
| 		} | 		} | ||||||
| 		a.tiny=a.tiny||{}; | 		a.tiny=a.tiny||{}; | ||||||
| 	a.tiny.scrollbar={options:{axis:"y",wheel:40,scroll:true,size:"auto",sizethumb:"auto"}}; | 		a.tiny.scrollbar={ | ||||||
|  | 			options:{ | ||||||
|  | 				axis:"y", | ||||||
|  | 				wheel:40, | ||||||
|  | 				scroll:true, | ||||||
|  | 				size:"auto", | ||||||
|  | 				sizethumb:"auto" | ||||||
|  | 			} | ||||||
|  | 		}; | ||||||
| 		a.fn.tinyscrollbar=function(c){ | 		a.fn.tinyscrollbar=function(c){ | ||||||
| 			var c=a.extend({},a.tiny.scrollbar.options,c); | 			var c=a.extend({},a.tiny.scrollbar.options,c); | ||||||
| 			this.each(function(){ | 			this.each(function(){ | ||||||
|  | @ -114,5 +122,5 @@ | ||||||
| 		a.fn.tinyscrollbar_update=function(b){ | 		a.fn.tinyscrollbar_update=function(b){ | ||||||
| 			return a(this).data("tsb").update(b) | 			return a(this).data("tsb").update(b) | ||||||
| 		}; | 		}; | ||||||
| }) | 	}) | ||||||
| (jQuery) | (jQuery) | ||||||
|  | @ -8,12 +8,14 @@ | ||||||
| //= require jquery_ujs
 | //= require jquery_ujs
 | ||||||
| //= require jquery.form
 | //= require jquery.form
 | ||||||
| //= require bootstrap
 | //= require bootstrap
 | ||||||
|  | //= require jquery.masonry.min
 | ||||||
| //= require jquery.isotope.min
 | //= require jquery.isotope.min
 | ||||||
| //= require jquery.tinyscrollbar.min
 | //= require jquery.tinyscrollbar.min
 | ||||||
| //= require orbit-1.0
 | //= require orbit-1.0
 | ||||||
| //= require tinymce-jquery
 | //= require tinymce-jquery
 | ||||||
| //= require tinymce_orbit
 | //= require tinymce_orbit
 | ||||||
| //= require orbit-bar-search
 | //= require orbit-bar-search
 | ||||||
|  | //= require orbit-bar-member
 | ||||||
| //= require side_bar_history
 | //= require side_bar_history
 | ||||||
| //= require rss
 | //= require rss
 | ||||||
| //= require ajax_form
 | //= require ajax_form
 | ||||||
|  |  | ||||||
|  | @ -14,7 +14,6 @@ $(document).ready(function(){ | ||||||
| 		placement: "left" | 		placement: "left" | ||||||
| 	}); | 	}); | ||||||
| 	 | 	 | ||||||
| 	 |  | ||||||
| 	$(document).on('click', '.privacy', function() { | 	$(document).on('click', '.privacy', function() { | ||||||
| 
 | 
 | ||||||
| 		switch ($(this).val()) { | 		switch ($(this).val()) { | ||||||
|  | @ -47,64 +46,158 @@ $(document).ready(function(){ | ||||||
| 
 | 
 | ||||||
| 	/*tinyscrollbar&windows-Size*/ | 	/*tinyscrollbar&windows-Size*/ | ||||||
| 	resize(); | 	resize(); | ||||||
| 	var $mainWrapMarginLeft = parseInt($('#main-wrap').css("margin-left"))-2, | 	mainResize() | ||||||
| 		$subWiget = $('#sub-wiget').width()+18; |  | ||||||
| 		$orbitBar = $('#orbit-bar').height(), |  | ||||||
| 		$mainSidebar = $('#main-sidebar').width()+5, |  | ||||||
| 		$formActionPadding = parseInt($('.form-fixed').css("padding-left"))+parseInt($('.form-fixed').css("padding-right")); |  | ||||||
| 	$('#main-sidebar').css("height", viewportheight-$orbitBar); |  | ||||||
| 	$('#main-sidebar .viewport').css("height", viewportheight-$orbitBar); |  | ||||||
| 	$('#post-body').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget); |  | ||||||
| 	$('.post-title').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget-16); |  | ||||||
| 	$('#main-wrap .subnav').css("width", viewportwidth-$mainWrapMarginLeft); |  | ||||||
| 	$('.form-fixed').css("width", viewportwidth-$mainWrapMarginLeft-$formActionPadding); |  | ||||||
| 	$('#main-sidebar').tinyscrollbar({size:(viewportheight-$orbitBar-4)}); |  | ||||||
| 	$('.detal-list').tinyscrollbar(); |  | ||||||
| 	mainTablePosition(); | 	mainTablePosition(); | ||||||
|  | 	itemPosition() | ||||||
|  | 	$('#collapse-menu').on({ | ||||||
|  | 		click: function(){ | ||||||
|  | 			$('body').toggleClass("folded"); | ||||||
|  | 			if($('#collapse-menu > i').attr("class")=="icon-chevron-right"){ | ||||||
|  | 				$('#collapse-menu > i').removeClass('icon-chevron-right'); | ||||||
|  | 				$('#collapse-menu > i').addClass('icon-chevron-left'); | ||||||
|  | 			} else if($('#collapse-menu > i').attr("class")=="icon-chevron-left"){ | ||||||
|  | 				$('#collapse-menu > i').removeClass('icon-chevron-left'); | ||||||
|  | 				$('#collapse-menu > i').addClass('icon-chevron-right'); | ||||||
|  | 			} | ||||||
|  | 			resize(); | ||||||
|  | 			mainResize(); | ||||||
|  | 			mainTablePosition(); | ||||||
|  | 			itemPosition() | ||||||
|  | 		} | ||||||
|  | 	}) | ||||||
| 
 | 
 | ||||||
| 	/*isotope*/ | 	$('.with_action').on({ | ||||||
|   var $container = $('#isotope'); | 		mouseleave: function(){ | ||||||
|   $container.isotope({ | 			$('.quick-edit').find('.dropdown').removeClass("open"); | ||||||
|       itemSelector : '.item', | 		} | ||||||
|       layoutMode : 'masonry', | 	}) | ||||||
|  | 
 | ||||||
|  | 	$(window).resize(function(){ | ||||||
|  | 		resize(); | ||||||
|  | 		mainResize(); | ||||||
|  | 		mainTablePosition(); | ||||||
|  | 		itemPosition() | ||||||
| 	}); | 	}); | ||||||
| 	 | 	 | ||||||
| 	 |  | ||||||
| }); |  | ||||||
| $(window).resize(function(){ |  | ||||||
| 	resize(); |  | ||||||
| 	var $mainWrapMarginLeft = parseInt($('#main-wrap').css("margin-left"))-2, |  | ||||||
| 		$subWiget = $('#sub-wiget').width()+18; |  | ||||||
| 		$orbitBar = $('#orbit-bar').height(), |  | ||||||
| 		$mainSidebar = $('#main-sidebar').width()+5, |  | ||||||
| 		$formActionPadding = parseInt($('.form-fixed').css("padding-left"))+parseInt($('.form-fixed').css("padding-right")); |  | ||||||
| 	$('#main-sidebar').css("height", viewportheight-$orbitBar); |  | ||||||
| 	$('#main-sidebar .viewport').css("height", viewportheight-$orbitBar); |  | ||||||
| 	$('#post-body').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget); |  | ||||||
| 	$('.post-title').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget-16); |  | ||||||
| 	$('#main-wrap .subnav').css("width", viewportwidth-$mainWrapMarginLeft); |  | ||||||
| 	$('.form-fixed').css("width", viewportwidth-$mainWrapMarginLeft-$formActionPadding); |  | ||||||
| 	$('#main-sidebar').tinyscrollbar({size:(viewportheight-$orbitBar-4)}); |  | ||||||
| 	mainTablePosition(); |  | ||||||
| }); | }); | ||||||
| /*main-table position*/ | /*main-table position*/ | ||||||
| function mainTablePosition() { | function mainTablePosition() { | ||||||
| 	var $height = $('#main-wrap .subnav').length && $('#main-wrap .subnav').height(); | 	var $height = $('#main-wrap .subnav').length && $('#main-wrap .subnav').height(); | ||||||
| 	var $table = $('.main-list').length && $('.main-list:last'); | 	var $table = $('.main-list').length && $('.main-list:last'); | ||||||
| 	if($table && $table==0){ | 	if($table && $table==0){ | ||||||
| 		$table.css({marginTop:$height}); | 		// $table.css({marginTop:$height});
 | ||||||
|  | 		$table.stop().animate({marginTop:$height}, 500) | ||||||
| 	} | 	} | ||||||
| 	else if($table){ | 	else if($table){ | ||||||
| 		if($height>0){ | 		if($height>0){ | ||||||
| 			$height = $height-17; | 			$height = $height-18; | ||||||
| 		} | 		} | ||||||
| 		$table.stop().animate({marginTop:$height},500); | 		$table.stop().animate({marginTop:$height}, 500, function(){ | ||||||
|  | 		    resize(); | ||||||
|  | 		    mainResize(); | ||||||
|  | 		}); | ||||||
| 	} | 	} | ||||||
| 	else if($('#main-wrap .subnav')){ | 	else if($('#main-wrap .subnav')){ | ||||||
| 		var $object = $('#main-wrap .subnav').next(); | 		var $object = $('#main-wrap .subnav').next(); | ||||||
| 		$object.css({marginTop:$height}); | 		// $object.css({marginTop:$height});
 | ||||||
|  | 		$object.stop().animate({marginTop:$height}, 500) | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
|  | 
 | ||||||
|  | function moduleNav() { | ||||||
|  | 	var $moduleNav = $('#module-nav'), | ||||||
|  | 		$userDataW = $('.user-data').width(); | ||||||
|  | 	$moduleNav.css("width", $userDataW); | ||||||
|  | } | ||||||
|  | function itemPosition() { | ||||||
|  | 	moduleNav(); | ||||||
|  | 	if($('#isotope').length>0 && $('.user-info').length>0){ | ||||||
|  | 		if(viewportwidth<=1200){ | ||||||
|  | 			if($('body').attr("class")=="folded"){ | ||||||
|  | 				$('#isotope').find('.detail').css("width", 550); | ||||||
|  | 		        $('#isotope').masonry({ | ||||||
|  | 		            itemSelector: '.item', | ||||||
|  | 		            isAnimated: true | ||||||
|  | 		        }); | ||||||
|  | 			}else{ | ||||||
|  | 				$('#isotope').find('.detail').css("width", 435); | ||||||
|  | 		        $('#isotope').masonry({ | ||||||
|  | 		            itemSelector: '.item', | ||||||
|  | 		            isAnimated: true | ||||||
|  | 		        }); | ||||||
|  | 			} | ||||||
|  | 		}else if(viewportwidth>=1201 && viewportwidth<=1280){ | ||||||
|  | 			if($('body').attr("class")=="folded"){ | ||||||
|  | 				$('#isotope').find('.detail').css("width", 385); | ||||||
|  | 		        $('#isotope').masonry({ | ||||||
|  | 		            itemSelector: '.item', | ||||||
|  | 		            isAnimated: true | ||||||
|  | 		        }); | ||||||
|  | 			}else{ | ||||||
|  | 				$('#isotope').find('.detail').css("width", 325); | ||||||
|  | 		        $('#isotope').masonry({ | ||||||
|  | 		            itemSelector: '.item', | ||||||
|  | 		            isAnimated: true | ||||||
|  | 		        }); | ||||||
|  | 			} | ||||||
|  | 		}else if(viewportwidth>=1281 && viewportwidth<=1440){ | ||||||
|  | 			if($('body').attr("class")=="folded"){ | ||||||
|  | 				$('#isotope').find('.detail').css("width", 470); | ||||||
|  | 		        $('#isotope').masonry({ | ||||||
|  | 		            itemSelector: '.item', | ||||||
|  | 		            isAnimated: true | ||||||
|  | 		        }); | ||||||
|  | 			}else{ | ||||||
|  | 				$('#isotope').find('.detail').css("width", 410); | ||||||
|  | 		        $('#isotope').masonry({ | ||||||
|  | 		            itemSelector: '.item', | ||||||
|  | 		            isAnimated: true | ||||||
|  | 		        }); | ||||||
|  | 			} | ||||||
|  | 		}else if(viewportwidth>=1441){ | ||||||
|  | 			if($('#isotope').length>0){ | ||||||
|  | 				$('#isotope').find('.detail').css("width", 500); | ||||||
|  | 		        $('#isotope').masonry({ | ||||||
|  | 		            itemSelector: '.item', | ||||||
|  | 		            isAnimated: true | ||||||
|  | 		        }); | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	}else if($('#isotope').length>0){ | ||||||
|  | 	    $('#isotope').masonry({ | ||||||
|  | 	        itemSelector: '.item', | ||||||
|  | 	        isAnimated: true | ||||||
|  | 	    }); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | function mainResize() { | ||||||
|  | 	var $mainWrapMarginLeft = parseInt($('#main-wrap').css("margin-left"))-2, | ||||||
|  | 		$subWiget = $('#sub-wiget').width()+18; | ||||||
|  | 		$orbitBar = $('#orbit-bar').height(), | ||||||
|  | 		$brand = $('#brand').height(), | ||||||
|  | 		$collapseMenu = $('#collapse-menu').height()+$('#position').height()+1, | ||||||
|  | 		$mainSidebar = $('#main-sidebar').width()+5, | ||||||
|  | 		$formActionPadding = parseInt($('.form-fixed').css("padding-left"))+parseInt($('.form-fixed').css("padding-right")), | ||||||
|  | 		$scrollContent = $('#main-sidebar .nav-list').height(); | ||||||
|  | 	$('#main-sidebar').css("height", viewportheight-$orbitBar); | ||||||
|  | 	$('#main-sidebar .viewport').css("height", viewportheight-$orbitBar-$collapseMenu); | ||||||
|  | 	$('.user-roles .viewport').css("height", viewportheight-$orbitBar-$brand-30); | ||||||
|  | 	$('#main-sidebar .viewport').css("top", $collapseMenu); | ||||||
|  | 	$('#main-sidebar .scrollbar').css("top", $collapseMenu); | ||||||
|  | 	$('#post-body').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget); | ||||||
|  | 	$('.post-title').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget-20); | ||||||
|  | 	$('#main-wrap .subnav').css("width", viewportwidth-$mainWrapMarginLeft); | ||||||
|  | 	$('#main-wrap .table-label').css("width", viewportwidth-$mainWrapMarginLeft); | ||||||
|  | 	$('.form-fixed').css("width", viewportwidth-$mainWrapMarginLeft-$formActionPadding); | ||||||
|  | 	$('.user-info').css("height", viewportheight-$orbitBar-30); | ||||||
|  | 	$('#main-sidebar').tinyscrollbar(); | ||||||
|  | 	$('.detal-list').tinyscrollbar(); | ||||||
|  | 	$('.user-roles').tinyscrollbar(); | ||||||
|  | 	if((viewportheight-$orbitBar-$collapseMenu)>=$scrollContent){ | ||||||
|  | 		$('#main-sidebar .overview').css("top", '0px'); | ||||||
|  | 	} | ||||||
|  | }; | ||||||
| $(window).scroll(function () { | $(window).scroll(function () { | ||||||
| 	//var $mainWrapMarginLeft = parseInt($('#main-wrap').css("margin-left"))-1;
 | 	//var $mainWrapMarginLeft = parseInt($('#main-wrap').css("margin-left"))-1;
 | ||||||
| 	//var $subnavWidth = parseInt($('#main-wrap > .subnav').css("width"));
 | 	//var $subnavWidth = parseInt($('#main-wrap > .subnav').css("width"));
 | ||||||
|  |  | ||||||
|  | @ -0,0 +1,115 @@ | ||||||
|  | var viewportwidth, | ||||||
|  | 	viewportheight; | ||||||
|  | function resize() { | ||||||
|  | 	viewportheight=$(window).height(); | ||||||
|  | 	viewportwidth=$(window).width(); | ||||||
|  | 	if(window.navigator.userAgent.indexOf("MSIE")>0){ | ||||||
|  | 		windH=document.clientHeight; | ||||||
|  | 		windW=document.clientWidht; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | $(document).ready(function(){ | ||||||
|  | 	 | ||||||
|  | 	$('.tip').tooltip({ | ||||||
|  | 		placement: "left" | ||||||
|  | 	}); | ||||||
|  | 	 | ||||||
|  | 	 | ||||||
|  | 	$(document).on('click', '.privacy', function() { | ||||||
|  | 
 | ||||||
|  | 		switch ($(this).val()) { | ||||||
|  | 			case 'true': | ||||||
|  | 			$(this).parents('.controls').children('.select-role').slideUp(300); | ||||||
|  | 			break; | ||||||
|  | 			case 'false': | ||||||
|  | 			$(this).parents('.controls').children('.select-role').slideDown(300); | ||||||
|  | 			break; | ||||||
|  | 		} | ||||||
|  | 	}); | ||||||
|  | 	 | ||||||
|  | 	var $role = $('.select-role'); | ||||||
|  | 	var method =$('.privacy:eq(1)').attr('checked'); | ||||||
|  | 	if(method == 'checked'){ | ||||||
|  | 		$role.slideDown(0); | ||||||
|  | 	} | ||||||
|  | 	$('.privacy').each(function($i) { | ||||||
|  | 		$(this).click(function() { | ||||||
|  | 			switch ($i) { | ||||||
|  | 				case 0: | ||||||
|  | 				$role.slideUp(300); | ||||||
|  | 				break; | ||||||
|  | 				case 1: | ||||||
|  | 				$role.slideDown(300); | ||||||
|  | 				break; | ||||||
|  | 			} | ||||||
|  | 		}); | ||||||
|  | 	}); | ||||||
|  | 
 | ||||||
|  | 	/*tinyscrollbar&windows-Size*/ | ||||||
|  | 	resize(); | ||||||
|  | 	var $mainWrapMarginLeft = parseInt($('#main-wrap').css("margin-left"))-2, | ||||||
|  | 		$subWiget = $('#sub-wiget').width()+18; | ||||||
|  | 		$orbitBar = $('#orbit-bar').height(), | ||||||
|  | 		$mainSidebar = $('#main-sidebar').width()+5, | ||||||
|  | 		$formActionPadding = parseInt($('.form-fixed').css("padding-left"))+parseInt($('.form-fixed').css("padding-right")); | ||||||
|  | 	$('#main-sidebar').css("height", viewportheight-$orbitBar); | ||||||
|  | 	$('#main-sidebar .viewport').css("height", viewportheight-$orbitBar); | ||||||
|  | 	$('#post-body').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget); | ||||||
|  | 	$('.post-title').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget-16); | ||||||
|  | 	$('#main-wrap .subnav').css("width", viewportwidth-$mainWrapMarginLeft); | ||||||
|  | 	$('.form-fixed').css("width", viewportwidth-$mainWrapMarginLeft-$formActionPadding); | ||||||
|  | 	$('#main-sidebar').tinyscrollbar({size:(viewportheight-$orbitBar-4)}); | ||||||
|  | 	$('.detal-list').tinyscrollbar(); | ||||||
|  | 	mainTablePosition(); | ||||||
|  | 
 | ||||||
|  | 	/*isotope*/ | ||||||
|  |   var $container = $('#isotope'); | ||||||
|  |   $container.isotope({ | ||||||
|  |       itemSelector : '.item', | ||||||
|  |       layoutMode : 'masonry', | ||||||
|  |   }); | ||||||
|  | 	 | ||||||
|  | 	 | ||||||
|  | }); | ||||||
|  | $(window).resize(function(){ | ||||||
|  | 	resize(); | ||||||
|  | 	var $mainWrapMarginLeft = parseInt($('#main-wrap').css("margin-left"))-2, | ||||||
|  | 		$subWiget = $('#sub-wiget').width()+18; | ||||||
|  | 		$orbitBar = $('#orbit-bar').height(), | ||||||
|  | 		$mainSidebar = $('#main-sidebar').width()+5, | ||||||
|  | 		$formActionPadding = parseInt($('.form-fixed').css("padding-left"))+parseInt($('.form-fixed').css("padding-right")); | ||||||
|  | 	$('#main-sidebar').css("height", viewportheight-$orbitBar); | ||||||
|  | 	$('#main-sidebar .viewport').css("height", viewportheight-$orbitBar); | ||||||
|  | 	$('#post-body').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget); | ||||||
|  | 	$('.post-title').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget-16); | ||||||
|  | 	$('#main-wrap .subnav').css("width", viewportwidth-$mainWrapMarginLeft); | ||||||
|  | 	$('.form-fixed').css("width", viewportwidth-$mainWrapMarginLeft-$formActionPadding); | ||||||
|  | 	$('#main-sidebar').tinyscrollbar({size:(viewportheight-$orbitBar-4)}); | ||||||
|  | 	mainTablePosition(); | ||||||
|  | }); | ||||||
|  | /*main-table position*/ | ||||||
|  | function mainTablePosition() { | ||||||
|  | 	var $height = $('#main-wrap .subnav').length && $('#main-wrap .subnav').height(); | ||||||
|  | 	var $table = $('.main-list').length && $('.main-list:last'); | ||||||
|  | 	if($table && $table==0){ | ||||||
|  | 		$table.css({marginTop:$height}); | ||||||
|  | 	} | ||||||
|  | 	else if($table){ | ||||||
|  | 		if($height>0){ | ||||||
|  | 			$height = $height-17; | ||||||
|  | 		} | ||||||
|  | 		$table.stop().animate({marginTop:$height},500); | ||||||
|  | 	} | ||||||
|  | 	else if($('#main-wrap .subnav')){ | ||||||
|  | 		var $object = $('#main-wrap .subnav').next(); | ||||||
|  | 		$object.css({marginTop:$height}); | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  | $(window).scroll(function () { | ||||||
|  | 	//var $mainWrapMarginLeft = parseInt($('#main-wrap').css("margin-left"))-1; | ||||||
|  | 	//var $subnavWidth = parseInt($('#main-wrap > .subnav').css("width")); | ||||||
|  | 	var $winLeft = $(window).scrollLeft() | ||||||
|  | 	$(".table-label").css({left:$winLeft*-1} ); | ||||||
|  | 	//$(".table-label").css({left:$mainWrapMarginLeft+($winLeft*-1)} ); | ||||||
|  | 	//$("#main-wrap > .subnav").css({width:$subnavWidth+($winLeft)} ); | ||||||
|  | }); | ||||||
|  | @ -1,14 +1,12 @@ | ||||||
| 
 |  | ||||||
| $(document).ready(function(){ |  | ||||||
| 	$('.search').tooltip({ |  | ||||||
| 			placement: "bottom" |  | ||||||
| 	}); |  | ||||||
| }); |  | ||||||
| $(document).on('click', '.orbit-bar-search', function (){ | $(document).on('click', '.orbit-bar-search', function (){ | ||||||
| 	if ($(this).parents('.search').hasClass('visible')){ | 	if ($(this).parents('.search').hasClass('visible')){ | ||||||
| 		$(this).parents('.search').stop().animate({ | 		$(this).parents('.search').stop().animate({ | ||||||
| 			'width':'28px', | 			'width':'28px', | ||||||
| 		}); | 		},500); | ||||||
|  | 		$('.navbar-search').stop().animate({ | ||||||
|  | 			'left':'30px', | ||||||
|  | 			'opacity':'0', | ||||||
|  | 		},200); | ||||||
| 		$(this).parents('.search').css({ | 		$(this).parents('.search').css({ | ||||||
| 			'background-color': 'transparent', | 			'background-color': 'transparent', | ||||||
| 		});	 | 		});	 | ||||||
|  | @ -17,7 +15,11 @@ $(document).on('click', '.orbit-bar-search', function (){ | ||||||
| 	else{ | 	else{ | ||||||
| 		$(this).parents('.search').stop().animate({ | 		$(this).parents('.search').stop().animate({ | ||||||
| 			'width':'265px', | 			'width':'265px', | ||||||
| 		}); | 		},200); | ||||||
|  | 		$('.navbar-search').stop().animate({ | ||||||
|  | 			'left':'7px', | ||||||
|  | 			'opacity':'1' | ||||||
|  | 		},500); | ||||||
| 		$(this).parents('.search').css({ | 		$(this).parents('.search').css({ | ||||||
| 			'background-color': 'rgba(0, 0, 0, 0.5)', | 			'background-color': 'rgba(0, 0, 0, 0.5)', | ||||||
| 		}); | 		}); | ||||||
|  |  | ||||||
|  | @ -232,4 +232,12 @@ var orbitTimeline = function(dom){ | ||||||
| 			} | 			} | ||||||
| 		}) | 		}) | ||||||
| 	} | 	} | ||||||
|  | 	this.ajaxEventPull = function(){ | ||||||
|  | 		if(!t.update){ | ||||||
|  | 			t.update = true; | ||||||
|  | 		 	$.getJSON("desktop_orbit/ajaxeventpull",{"from":t.fromdate},function(){ | ||||||
|  | 
 | ||||||
|  | 		 	}) | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
| } | } | ||||||
|  | @ -44,24 +44,14 @@ h1, h2, h3, h4, h5, h6 { | ||||||
| .subnav { | .subnav { | ||||||
| 	width: 100%; | 	width: 100%; | ||||||
| 	height: 36px; | 	height: 36px; | ||||||
| 	background-color: #eeeeee; /* Old browsers */ | 	/*border-top: 1px solid #e5e5e5;*/ | ||||||
| 	background-repeat: repeat-x; /* Repeat the gradient */ | 	background-color: #ffffff; | ||||||
| 	background-image: -moz-linear-gradient(top, #f5f5f5 0%, #eeeeee 100%); /* FF3.6+ */ |  | ||||||
| 	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #eeeeee)); /* Chrome,Safari4+ */ |  | ||||||
| 	background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #eeeeee 100%); /* Chrome 10+,Safari 5.1+ */ |  | ||||||
| 	background-image: -ms-linear-gradient(top, #f5f5f5 0%, #eeeeee 100%); /* IE10+ */ |  | ||||||
| 	background-image: -o-linear-gradient(top, #f5f5f5 0%, #eeeeee 100%); /* Opera 11.10+ */ |  | ||||||
|  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#eeeeee', GradientType=0 ); /* IE6-9 */ |  | ||||||
| 	background-image: linear-gradient(top, #f5f5f5 0%, #eeeeee 100%); /* W3C */ |  | ||||||
| 	border: 1px solid #e5e5e5; |  | ||||||
| 	-webkit-border-radius: 4px; |  | ||||||
| 	-moz-border-radius: 4px; |  | ||||||
| 	border-radius: 4px; |  | ||||||
| } | } | ||||||
| .subnav .nav { | .subnav .filter { | ||||||
| 	margin-bottom: 0; | 	margin-bottom: 0; | ||||||
|  | 	border-bottom: 1px solid #e5e5e5; | ||||||
| } | } | ||||||
| .subnav .nav > li > a { | .subnav .filter > li > a { | ||||||
| 	margin: 0; | 	margin: 0; | ||||||
| 	padding-top:    11px; | 	padding-top:    11px; | ||||||
| 	padding-bottom: 11px; | 	padding-bottom: 11px; | ||||||
|  | @ -71,7 +61,7 @@ h1, h2, h3, h4, h5, h6 { | ||||||
| 	-moz-border-radius: 0; | 	-moz-border-radius: 0; | ||||||
| 	border-radius: 0; | 	border-radius: 0; | ||||||
| } | } | ||||||
| .subnav .nav > .active > a, .subnav .nav > .active > a:hover { | .subnav .filter > .active > a, .subnav .filter > .active > a:hover { | ||||||
| 	padding-left: 13px; | 	padding-left: 13px; | ||||||
| 	color: #777; | 	color: #777; | ||||||
| 	background-color: #e9e9e9; | 	background-color: #e9e9e9; | ||||||
|  | @ -81,17 +71,17 @@ h1, h2, h3, h4, h5, h6 { | ||||||
| 	-moz-box-shadow: inset 0 3px 5px rgba(0,0,0,.05); | 	-moz-box-shadow: inset 0 3px 5px rgba(0,0,0,.05); | ||||||
| 	box-shadow: inset 0 3px 5px rgba(0,0,0,.05); | 	box-shadow: inset 0 3px 5px rgba(0,0,0,.05); | ||||||
| } | } | ||||||
| .subnav .nav > .active > a .caret, .subnav .nav > .active > a:hover .caret { | .subnav .filter > .active > a .caret, .subnav .filter > .active > a:hover .caret { | ||||||
| 	border-top-color: #777; | 	border-top-color: #777; | ||||||
| } | } | ||||||
| .subnav .nav > li:first-child > a, .subnav .nav > li:first-child > a:hover { | .subnav .filter > li:first-child > a, .subnav .filter > li:first-child > a:hover { | ||||||
| 	border-left: 0; | 	border-left: 0; | ||||||
| 	padding-left: 12px; | 	padding-left: 12px; | ||||||
| 	-webkit-border-radius: 4px 0 0 4px; | 	-webkit-border-radius: 4px 0 0 4px; | ||||||
| 	-moz-border-radius: 4px 0 0 4px; | 	-moz-border-radius: 4px 0 0 4px; | ||||||
| 	border-radius: 4px 0 0 4px; | 	border-radius: 4px 0 0 4px; | ||||||
| } | } | ||||||
| .subnav .nav > li:last-child > a { | .subnav .filter > li:last-child > a { | ||||||
| 	border-right: 0; | 	border-right: 0; | ||||||
| } | } | ||||||
| .subnav .dropdown-menu { | .subnav .dropdown-menu { | ||||||
|  |  | ||||||
|  | @ -0,0 +1,438 @@ | ||||||
|  | /*! | ||||||
|  |  * Bootstrap Responsive v2.1.1 | ||||||
|  |  * | ||||||
|  |  * Copyright 2012 Twitter, Inc | ||||||
|  |  * Licensed under the Apache License v2.0 | ||||||
|  |  * http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  |  * | ||||||
|  |  * Designed and built with all the love in the world @twitter by @mdo and @fat. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | .clearfix { | ||||||
|  |   *zoom: 1; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .clearfix:before, | ||||||
|  | .clearfix:after { | ||||||
|  |   display: table; | ||||||
|  |   line-height: 0; | ||||||
|  |   content: ""; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .clearfix:after { | ||||||
|  |   clear: both; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .hide-text { | ||||||
|  |   font: 0/0 a; | ||||||
|  |   color: transparent; | ||||||
|  |   text-shadow: none; | ||||||
|  |   background-color: transparent; | ||||||
|  |   border: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .input-block-level { | ||||||
|  |   display: block; | ||||||
|  |   width: 100%; | ||||||
|  |   min-height: 30px; | ||||||
|  |   -webkit-box-sizing: border-box; | ||||||
|  |      -moz-box-sizing: border-box; | ||||||
|  |           box-sizing: border-box; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .hidden { | ||||||
|  |   display: none; | ||||||
|  |   visibility: hidden; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .visible-phone { | ||||||
|  |   display: none !important; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .visible-tablet { | ||||||
|  |   display: none !important; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .hidden-desktop { | ||||||
|  |   display: none !important; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .visible-desktop { | ||||||
|  |   display: inherit !important; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media (min-width: 768px) and (max-width: 979px) { | ||||||
|  |   .hidden-desktop { | ||||||
|  |     display: inherit !important; | ||||||
|  |   } | ||||||
|  |   .visible-desktop { | ||||||
|  |     display: none !important ; | ||||||
|  |   } | ||||||
|  |   .visible-tablet { | ||||||
|  |     display: inherit !important; | ||||||
|  |   } | ||||||
|  |   .hidden-tablet { | ||||||
|  |     display: none !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media (max-width: 767px) { | ||||||
|  |   .hidden-desktop { | ||||||
|  |     display: inherit !important; | ||||||
|  |   } | ||||||
|  |   .visible-desktop { | ||||||
|  |     display: none !important; | ||||||
|  |   } | ||||||
|  |   .visible-phone { | ||||||
|  |     display: inherit !important; | ||||||
|  |   } | ||||||
|  |   .hidden-phone { | ||||||
|  |     display: none !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .row { | ||||||
|  |   margin-left: -30px; | ||||||
|  |   *zoom: 1; | ||||||
|  | } | ||||||
|  | .row:before, | ||||||
|  | .row:after { | ||||||
|  |   display: table; | ||||||
|  |   line-height: 0; | ||||||
|  |   content: ""; | ||||||
|  | } | ||||||
|  | .row:after { | ||||||
|  |   clear: both; | ||||||
|  | } | ||||||
|  | [class*="span"] { | ||||||
|  |   float: left; | ||||||
|  |   min-height: 1px; | ||||||
|  |   margin-left: 30px; | ||||||
|  | } | ||||||
|  | .container, | ||||||
|  | .navbar-static-top .container, | ||||||
|  | .navbar-fixed-top .container, | ||||||
|  | .navbar-fixed-bottom .container { | ||||||
|  |   width: 1170px; | ||||||
|  | } | ||||||
|  | .span12 { | ||||||
|  |   width: 1170px; | ||||||
|  | } | ||||||
|  | .span11 { | ||||||
|  |   width: 1070px; | ||||||
|  | } | ||||||
|  | .span10 { | ||||||
|  |   width: 970px; | ||||||
|  | } | ||||||
|  | .span9 { | ||||||
|  |   width: 870px; | ||||||
|  | } | ||||||
|  | .span8 { | ||||||
|  |   width: 770px; | ||||||
|  | } | ||||||
|  | .span7 { | ||||||
|  |   width: 670px; | ||||||
|  | } | ||||||
|  | .span6 { | ||||||
|  |   width: 570px; | ||||||
|  | } | ||||||
|  | .span5 { | ||||||
|  |   width: 470px; | ||||||
|  | } | ||||||
|  | .span4 { | ||||||
|  |   width: 370px; | ||||||
|  | } | ||||||
|  | .span3 { | ||||||
|  |   width: 270px; | ||||||
|  | } | ||||||
|  | .span2 { | ||||||
|  |   width: 170px; | ||||||
|  | } | ||||||
|  | .span1 { | ||||||
|  |   width: 70px; | ||||||
|  | } | ||||||
|  | .offset12 { | ||||||
|  |   margin-left: 1230px; | ||||||
|  | } | ||||||
|  | .offset11 { | ||||||
|  |   margin-left: 1130px; | ||||||
|  | } | ||||||
|  | .offset10 { | ||||||
|  |   margin-left: 1030px; | ||||||
|  | } | ||||||
|  | .offset9 { | ||||||
|  |   margin-left: 930px; | ||||||
|  | } | ||||||
|  | .offset8 { | ||||||
|  |   margin-left: 830px; | ||||||
|  | } | ||||||
|  | .offset7 { | ||||||
|  |   margin-left: 730px; | ||||||
|  | } | ||||||
|  | .offset6 { | ||||||
|  |   margin-left: 630px; | ||||||
|  | } | ||||||
|  | .offset5 { | ||||||
|  |   margin-left: 530px; | ||||||
|  | } | ||||||
|  | .offset4 { | ||||||
|  |   margin-left: 430px; | ||||||
|  | } | ||||||
|  | .offset3 { | ||||||
|  |   margin-left: 330px; | ||||||
|  | } | ||||||
|  | .offset2 { | ||||||
|  |   margin-left: 230px; | ||||||
|  | } | ||||||
|  | .offset1 { | ||||||
|  |   margin-left: 130px; | ||||||
|  | } | ||||||
|  | .row-fluid { | ||||||
|  |   width: 100%; | ||||||
|  |   *zoom: 1; | ||||||
|  | } | ||||||
|  | .row-fluid:before, | ||||||
|  | .row-fluid:after { | ||||||
|  |   display: table; | ||||||
|  |   line-height: 0; | ||||||
|  |   content: ""; | ||||||
|  | } | ||||||
|  | .row-fluid:after { | ||||||
|  |   clear: both; | ||||||
|  | } | ||||||
|  | .row-fluid [class*="span"] { | ||||||
|  |   display: block; | ||||||
|  |   float: left; | ||||||
|  |   width: 100%; | ||||||
|  |   min-height: 30px; | ||||||
|  |   margin-left: 2.564102564102564%; | ||||||
|  |   *margin-left: 2.5109110747408616%; | ||||||
|  |   -webkit-box-sizing: border-box; | ||||||
|  |      -moz-box-sizing: border-box; | ||||||
|  |           box-sizing: border-box; | ||||||
|  | } | ||||||
|  | .row-fluid [class*="span"]:first-child { | ||||||
|  |   margin-left: 0; | ||||||
|  | } | ||||||
|  | .row-fluid .span12 { | ||||||
|  |   width: 100%; | ||||||
|  |   *width: 99.94680851063829%; | ||||||
|  | } | ||||||
|  | .row-fluid .span11 { | ||||||
|  |   width: 91.45299145299145%; | ||||||
|  |   *width: 91.39979996362975%; | ||||||
|  | } | ||||||
|  | .row-fluid .span10 { | ||||||
|  |   width: 82.90598290598291%; | ||||||
|  |   *width: 82.8527914166212%; | ||||||
|  | } | ||||||
|  | .row-fluid .span9 { | ||||||
|  |   width: 74.35897435897436%; | ||||||
|  |   *width: 74.30578286961266%; | ||||||
|  | } | ||||||
|  | .row-fluid .span8 { | ||||||
|  |   width: 65.81196581196582%; | ||||||
|  |   *width: 65.75877432260411%; | ||||||
|  | } | ||||||
|  | .row-fluid .span7 { | ||||||
|  |   width: 57.26495726495726%; | ||||||
|  |   *width: 57.21176577559556%; | ||||||
|  | } | ||||||
|  | .row-fluid .span6 { | ||||||
|  |   width: 48.717948717948715%; | ||||||
|  |   *width: 48.664757228587014%; | ||||||
|  | } | ||||||
|  | .row-fluid .span5 { | ||||||
|  |   width: 40.17094017094017%; | ||||||
|  |   *width: 40.11774868157847%; | ||||||
|  | } | ||||||
|  | .row-fluid .span4 { | ||||||
|  |   width: 31.623931623931625%; | ||||||
|  |   *width: 31.570740134569924%; | ||||||
|  | } | ||||||
|  | .row-fluid .span3 { | ||||||
|  |   width: 23.076923076923077%; | ||||||
|  |   *width: 23.023731587561375%; | ||||||
|  | } | ||||||
|  | .row-fluid .span2 { | ||||||
|  |   width: 14.52991452991453%; | ||||||
|  |   *width: 14.476723040552828%; | ||||||
|  | } | ||||||
|  | .row-fluid .span1 { | ||||||
|  |   width: 5.982905982905983%; | ||||||
|  |   *width: 5.929714493544281%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset12 { | ||||||
|  |   margin-left: 105.12820512820512%; | ||||||
|  |   *margin-left: 105.02182214948171%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset12:first-child { | ||||||
|  |   margin-left: 102.56410256410257%; | ||||||
|  |   *margin-left: 102.45771958537915%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset11 { | ||||||
|  |   margin-left: 96.58119658119658%; | ||||||
|  |   *margin-left: 96.47481360247316%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset11:first-child { | ||||||
|  |   margin-left: 94.01709401709402%; | ||||||
|  |   *margin-left: 93.91071103837061%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset10 { | ||||||
|  |   margin-left: 88.03418803418803%; | ||||||
|  |   *margin-left: 87.92780505546462%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset10:first-child { | ||||||
|  |   margin-left: 85.47008547008548%; | ||||||
|  |   *margin-left: 85.36370249136206%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset9 { | ||||||
|  |   margin-left: 79.48717948717949%; | ||||||
|  |   *margin-left: 79.38079650845607%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset9:first-child { | ||||||
|  |   margin-left: 76.92307692307693%; | ||||||
|  |   *margin-left: 76.81669394435352%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset8 { | ||||||
|  |   margin-left: 70.94017094017094%; | ||||||
|  |   *margin-left: 70.83378796144753%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset8:first-child { | ||||||
|  |   margin-left: 68.37606837606839%; | ||||||
|  |   *margin-left: 68.26968539734497%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset7 { | ||||||
|  |   margin-left: 62.393162393162385%; | ||||||
|  |   *margin-left: 62.28677941443899%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset7:first-child { | ||||||
|  |   margin-left: 59.82905982905982%; | ||||||
|  |   *margin-left: 59.72267685033642%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset6 { | ||||||
|  |   margin-left: 53.84615384615384%; | ||||||
|  |   *margin-left: 53.739770867430444%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset6:first-child { | ||||||
|  |   margin-left: 51.28205128205128%; | ||||||
|  |   *margin-left: 51.175668303327875%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset5 { | ||||||
|  |   margin-left: 45.299145299145295%; | ||||||
|  |   *margin-left: 45.1927623204219%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset5:first-child { | ||||||
|  |   margin-left: 42.73504273504273%; | ||||||
|  |   *margin-left: 42.62865975631933%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset4 { | ||||||
|  |   margin-left: 36.75213675213675%; | ||||||
|  |   *margin-left: 36.645753773413354%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset4:first-child { | ||||||
|  |   margin-left: 34.18803418803419%; | ||||||
|  |   *margin-left: 34.081651209310785%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset3 { | ||||||
|  |   margin-left: 28.205128205128204%; | ||||||
|  |   *margin-left: 28.0987452264048%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset3:first-child { | ||||||
|  |   margin-left: 25.641025641025642%; | ||||||
|  |   *margin-left: 25.53464266230224%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset2 { | ||||||
|  |   margin-left: 19.65811965811966%; | ||||||
|  |   *margin-left: 19.551736679396257%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset2:first-child { | ||||||
|  |   margin-left: 17.094017094017094%; | ||||||
|  |   *margin-left: 16.98763411529369%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset1 { | ||||||
|  |   margin-left: 11.11111111111111%; | ||||||
|  |   *margin-left: 11.004728132387708%; | ||||||
|  | } | ||||||
|  | .row-fluid .offset1:first-child { | ||||||
|  |   margin-left: 8.547008547008547%; | ||||||
|  |   *margin-left: 8.440625568285142%; | ||||||
|  | } | ||||||
|  | input, | ||||||
|  | textarea, | ||||||
|  | .uneditable-input { | ||||||
|  |   margin-left: 0; | ||||||
|  | } | ||||||
|  | .controls-row [class*="span"] + [class*="span"] { | ||||||
|  |   margin-left: 30px; | ||||||
|  | } | ||||||
|  | input.span12, | ||||||
|  | textarea.span12, | ||||||
|  | .uneditable-input.span12 { | ||||||
|  |   width: 1156px; | ||||||
|  | } | ||||||
|  | input.span11, | ||||||
|  | textarea.span11, | ||||||
|  | .uneditable-input.span11 { | ||||||
|  |   width: 1056px; | ||||||
|  | } | ||||||
|  | input.span10, | ||||||
|  | textarea.span10, | ||||||
|  | .uneditable-input.span10 { | ||||||
|  |   width: 956px; | ||||||
|  | } | ||||||
|  | input.span9, | ||||||
|  | textarea.span9, | ||||||
|  | .uneditable-input.span9 { | ||||||
|  |   width: 856px; | ||||||
|  | } | ||||||
|  | input.span8, | ||||||
|  | textarea.span8, | ||||||
|  | .uneditable-input.span8 { | ||||||
|  |   width: 756px; | ||||||
|  | } | ||||||
|  | input.span7, | ||||||
|  | textarea.span7, | ||||||
|  | .uneditable-input.span7 { | ||||||
|  |   width: 656px; | ||||||
|  | } | ||||||
|  | input.span6, | ||||||
|  | textarea.span6, | ||||||
|  | .uneditable-input.span6 { | ||||||
|  |   width: 556px; | ||||||
|  | } | ||||||
|  | input.span5, | ||||||
|  | textarea.span5, | ||||||
|  | .uneditable-input.span5 { | ||||||
|  |   width: 456px; | ||||||
|  | } | ||||||
|  | input.span4, | ||||||
|  | textarea.span4, | ||||||
|  | .uneditable-input.span4 { | ||||||
|  |   width: 356px; | ||||||
|  | } | ||||||
|  | input.span3, | ||||||
|  | textarea.span3, | ||||||
|  | .uneditable-input.span3 { | ||||||
|  |   width: 256px; | ||||||
|  | } | ||||||
|  | input.span2, | ||||||
|  | textarea.span2, | ||||||
|  | .uneditable-input.span2 { | ||||||
|  |   width: 156px; | ||||||
|  | } | ||||||
|  | input.span1, | ||||||
|  | textarea.span1, | ||||||
|  | .uneditable-input.span1 { | ||||||
|  |   width: 56px; | ||||||
|  | } | ||||||
|  | .thumbnails { | ||||||
|  |   margin-left: -30px; | ||||||
|  | } | ||||||
|  | .thumbnails > li { | ||||||
|  |   margin-left: 30px; | ||||||
|  | } | ||||||
|  | .row-fluid .thumbnails { | ||||||
|  |   margin-left: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -277,7 +277,7 @@ a:hover { | ||||||
| } | } | ||||||
| p { | p { | ||||||
|   margin: 0 0 9px; |   margin: 0 0 9px; | ||||||
|   font-family: Helvetica, Arial, sans-serif; |   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | ||||||
|   font-size: 13px; |   font-size: 13px; | ||||||
|   line-height: 18px; |   line-height: 18px; | ||||||
| } | } | ||||||
|  | @ -522,7 +522,7 @@ input, | ||||||
| button, | button, | ||||||
| select, | select, | ||||||
| textarea { | textarea { | ||||||
|   font-family: Helvetica, Arial, sans-serif; |   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | ||||||
|   font-size: 13px; |   font-size: 13px; | ||||||
|   font-weight: normal; |   font-weight: normal; | ||||||
|   line-height: 18px; |   line-height: 18px; | ||||||
|  | @ -540,7 +540,7 @@ select, | ||||||
|   width: 210px; |   width: 210px; | ||||||
|   height: 18px; |   height: 18px; | ||||||
|   padding: 4px; |   padding: 4px; | ||||||
|   /*margin-bottom: 9px;*/ |   margin-bottom: 9px; | ||||||
|   font-size: 13px; |   font-size: 13px; | ||||||
|   line-height: 18px; |   line-height: 18px; | ||||||
|   color: #555555; |   color: #555555; | ||||||
|  | @ -3039,7 +3039,7 @@ button.btn.small, input[type="submit"].btn.small { | ||||||
| } | } | ||||||
| .navbar-search .search-query { | .navbar-search .search-query { | ||||||
|   padding: 4px 9px; |   padding: 4px 9px; | ||||||
|   font-family: Helvetica, Arial, sans-serif; |   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | ||||||
|   font-size: 13px; |   font-size: 13px; | ||||||
|   font-weight: normal; |   font-weight: normal; | ||||||
|   line-height: 1; |   line-height: 1; | ||||||
|  | @ -3274,7 +3274,7 @@ button.btn.small, input[type="submit"].btn.small { | ||||||
|   background-color: #FFFFFF; |   background-color: #FFFFFF; | ||||||
| } | } | ||||||
| .pagination a:hover, .pagination .active a { | .pagination a:hover, .pagination .active a { | ||||||
|   background-color: #e8e8e8; |   background-color: #f5f5f5; | ||||||
| } | } | ||||||
| .pagination .active a { | .pagination .active a { | ||||||
|   color: #999999; |   color: #999999; | ||||||
|  | @ -10,4 +10,5 @@ | ||||||
|  *= require desktopmain |  *= require desktopmain | ||||||
|  *= require desktopmedia |  *= require desktopmedia | ||||||
|  *= require orbitTimeline |  *= require orbitTimeline | ||||||
|  |  *= require orbit-bar | ||||||
| */ | */ | ||||||
|  | @ -23,8 +23,8 @@ | ||||||
|     */ |     */ | ||||||
| @font-face { | @font-face { | ||||||
|   font-family: "FontAwesome"; |   font-family: "FontAwesome"; | ||||||
|   src: url(<%= asset_path "desktop/fontawesome-webfont.eot" %>); |   src: url(<%= asset_path 'fontawesome-webfont.eot' %>); | ||||||
|   src: url(<%= asset_path "desktop/fontawesome-webfont.eot?#iefix" %>) format('eot'), url(<%= asset_path "desktop/fontawesome-webfont.woff" %>) format('woff'), url(<%= asset_path "desktop/fontawesome-webfont.ttf" %>) format('truetype'), url(<%= asset_path "desktop/fontawesome-webfont.svg#FontAwesome" %>) format('svg'); |   src: url(<%= asset_path 'fontawesome-webfont.eot?#iefix' %>) format('eot'), url(<%= asset_path 'fontawesome-webfont.woff' %>) format('woff'), url(<%= asset_path 'fontawesome-webfont.ttf' %>) format('truetype'), url(<%= asset_path 'fontawesome-webfont.svg#FontAwesome' %>) format('svg'); | ||||||
|   font-weight: normal; |   font-weight: normal; | ||||||
|   font-style: normal; |   font-style: normal; | ||||||
| } | } | ||||||
|  | @ -38,12 +38,6 @@ | ||||||
|   display: inline-block; |   display: inline-block; | ||||||
|   text-decoration: inherit; |   text-decoration: inherit; | ||||||
| } | } | ||||||
| [class^="icon-"], [class*=" icon-"] { |  | ||||||
|   background: none; |  | ||||||
|   width: auto; |  | ||||||
|   height: auto; |  | ||||||
|   vertical-align: baseline; |  | ||||||
| } |  | ||||||
| a [class^="icon-"], a [class*=" icon-"] { | a [class^="icon-"], a [class*=" icon-"] { | ||||||
|   display: inline-block; |   display: inline-block; | ||||||
|   text-decoration: inherit; |   text-decoration: inherit; | ||||||
|  |  | ||||||
|  | @ -1,11 +1,15 @@ | ||||||
| /*isotope*/ |  | ||||||
| 
 |  | ||||||
| #isotope { | #isotope { | ||||||
|   margin-top: 2px; |   margin-top: 2px; | ||||||
| } | } | ||||||
| .isotope-item { | .isotope-item { | ||||||
|   z-index: 2; |   z-index: 2; | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | .isotope-hidden.isotope-item { | ||||||
|  |   pointer-events: none; | ||||||
|  |   z-index: 1; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| /**** Isotope CSS3 transitions ****/ | /**** Isotope CSS3 transitions ****/ | ||||||
| 
 | 
 | ||||||
| .isotope, | .isotope, | ||||||
|  | @ -40,103 +44,3 @@ | ||||||
|        -o-transition-duration: 0s; |        -o-transition-duration: 0s; | ||||||
|           transition-duration: 0s; |           transition-duration: 0s; | ||||||
| } | } | ||||||
| .w-a { |  | ||||||
|     width: 398px; |  | ||||||
| } |  | ||||||
| .w-b { |  | ||||||
|     width: 812px; |  | ||||||
| } |  | ||||||
| .h-a { |  | ||||||
|   height: 315px; |  | ||||||
| } |  | ||||||
| .h-b { |  | ||||||
|   height: 703px; |  | ||||||
| } |  | ||||||
| .item { |  | ||||||
|   margin: 5px 0 15px 15px; |  | ||||||
| } |  | ||||||
| .item h3 { |  | ||||||
|   margin: 20px 0 5px; |  | ||||||
| } |  | ||||||
| .item h3 [class^="icons-"] { |  | ||||||
|   margin: 1px 5px 0 3px; |  | ||||||
| } |  | ||||||
| .item .detail { |  | ||||||
|   border: 1px solid rgba(0, 0, 0, 0.1); |  | ||||||
|   background-color: #FFFFFF; |  | ||||||
|   border-radius: 5px; |  | ||||||
|   -webkit-border-radius: 5px; |  | ||||||
|   -moz-border-radius: 5px; |  | ||||||
|   box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1); |  | ||||||
|   -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1); |  | ||||||
| } |  | ||||||
| .item .detail .totle { |  | ||||||
|   font-size: 50px; |  | ||||||
|   padding:10px 5px 30px 0; |  | ||||||
|   margin: 0; |  | ||||||
|   text-align: right; |  | ||||||
|   border-bottom:1px solid #d9d9d9; |  | ||||||
| } |  | ||||||
| .item .detail .totle span { |  | ||||||
|   display: block; |  | ||||||
|   font-size:18px; |  | ||||||
|   color: #333; |  | ||||||
|   padding-left: 5px; |  | ||||||
|   text-align:left; |  | ||||||
|   margin-bottom: -7px; |  | ||||||
| } |  | ||||||
| .item .detail .table { |  | ||||||
|   margin-bottom: 0; |  | ||||||
| } |  | ||||||
| .item .detail .table th, .item .detail .table td { |  | ||||||
|   border-top: none; |  | ||||||
|   border-bottom: 1px solid #DDDDDD; |  | ||||||
| } |  | ||||||
| .item .detail .table tr th { |  | ||||||
|   background-color: #F2F2F2; |  | ||||||
|   border-bottom: 1px solid #AAAAAA; |  | ||||||
| } |  | ||||||
| .item .detail .table tr td:first-child { |  | ||||||
|   color: #666;; |  | ||||||
| } |  | ||||||
| .item .detail .table tr td:last-child, .item .detail .table tr th:last-child { |  | ||||||
|   text-align:right; |  | ||||||
|   padding-right: 15px; |  | ||||||
| } |  | ||||||
| .item .h-a .my_scroll .viewport { |  | ||||||
|   height: 210px; |  | ||||||
| } |  | ||||||
| .item .h-b .my_scroll .viewport { |  | ||||||
|   height: 594px; |  | ||||||
| } |  | ||||||
| .item .isotope-hidden.isotope-item { |  | ||||||
|   pointer-events: none; |  | ||||||
|   z-index: 1; |  | ||||||
| } |  | ||||||
| .item .my_scroll { |  | ||||||
|   position: relative; |  | ||||||
| } |  | ||||||
| .item .my_scroll .scrollbar { |  | ||||||
|   right: 3px; |  | ||||||
|   top: 0; |  | ||||||
|   position: absolute; |  | ||||||
|   z-index: 10; |  | ||||||
| } |  | ||||||
| .item .my_scroll .track { |  | ||||||
|   background-color: transparent; |  | ||||||
| } |  | ||||||
| .detail.noStatistics { |  | ||||||
|   overflow: hidden; |  | ||||||
| } |  | ||||||
| .detail.noStatistics.h-a { |  | ||||||
|   height: 315px; |  | ||||||
| } |  | ||||||
| .detail.noStatistics.h-a .my_scroll .viewport { |  | ||||||
|   height: 280px; |  | ||||||
| } |  | ||||||
| .detail.noStatistics.h-b { |  | ||||||
|   height: 704px; |  | ||||||
| } |  | ||||||
| .detail.noStatistics.h-b .my_scroll .viewport { |  | ||||||
|   height: 670px; |  | ||||||
| } |  | ||||||
|  | @ -0,0 +1,79 @@ | ||||||
|  | .w-a { | ||||||
|  |     width: 388px; | ||||||
|  | } | ||||||
|  | .w-b { | ||||||
|  |     width: 802px; | ||||||
|  | } | ||||||
|  | .h-a { | ||||||
|  |   height: 315px; | ||||||
|  | } | ||||||
|  | .h-b { | ||||||
|  |   height: 699px; | ||||||
|  | } | ||||||
|  | .item { | ||||||
|  |   margin: 5px 0 15px 15px; | ||||||
|  | } | ||||||
|  | .item h3 { | ||||||
|  |   margin: 5px 0; | ||||||
|  | } | ||||||
|  | .item h3 [class^="icons-"] { | ||||||
|  |   margin: 3px 5px 0 3px; | ||||||
|  | } | ||||||
|  | .item .detail { | ||||||
|  |   border: 1px solid rgba(0, 0, 0, 0.1); | ||||||
|  |   background-color: #FFFFFF; | ||||||
|  |   border-radius: 5px; | ||||||
|  |   -webkit-border-radius: 5px; | ||||||
|  |   -moz-border-radius: 5px; | ||||||
|  |   box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1); | ||||||
|  |   -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1); | ||||||
|  |   -moz-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1); | ||||||
|  | } | ||||||
|  | .item .detail .totle { | ||||||
|  |   font-size: 50px; | ||||||
|  |   padding:10px 5px 20px 0; | ||||||
|  |   margin: 0px; | ||||||
|  |   text-align: right; | ||||||
|  |   border-bottom:1px solid #d9d9d9; | ||||||
|  |   line-height: 18px; | ||||||
|  | } | ||||||
|  | .item .detail .totle span { | ||||||
|  |   display: block; | ||||||
|  |   font-size:18px; | ||||||
|  |   color: #333; | ||||||
|  |   padding-left: 5px; | ||||||
|  |   text-align:left; | ||||||
|  | } | ||||||
|  | .item .detail .table { | ||||||
|  |   margin-bottom: 0; | ||||||
|  | } | ||||||
|  | .item .detail .table tr th { | ||||||
|  |   background-color: #F2F2F2; | ||||||
|  |   border-bottom: 1px solid #AAA; | ||||||
|  | } | ||||||
|  | .item .detail .table th, .item .detail .table td { | ||||||
|  |   border-top: none; | ||||||
|  |   border-bottom: 1px solid #DDDDDD; | ||||||
|  | } | ||||||
|  | .item .detail .table tr td:first-child { | ||||||
|  |   color: #666;; | ||||||
|  | } | ||||||
|  | .item .detail .table tr td:last-child, .item .detail .table tr th:last-child { | ||||||
|  |   text-align:right; | ||||||
|  | } | ||||||
|  | .item .h-a .my_scroll .viewport { | ||||||
|  |   height: 248px; | ||||||
|  | } | ||||||
|  | .item .h-b .my_scroll .viewport { | ||||||
|  |   height: 632px; | ||||||
|  | } | ||||||
|  | .item .my_scroll .track { | ||||||
|  |   opacity: 0.7; | ||||||
|  |   -moz-opacity: 0.7; | ||||||
|  |   filter:alpha(opacity=7); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /*user-data*/ | ||||||
|  | .user-data .item { | ||||||
|  |   margin: 5px 8px 15px; | ||||||
|  | } | ||||||
|  | @ -1,7 +1,13 @@ | ||||||
| /*list*/ | /*list*/ | ||||||
| 
 | 
 | ||||||
| .table th.select { | .table th.select>span { | ||||||
| 	border-bottom:2px solid #0088CC; | 	border-bottom:2px solid #0088CC; | ||||||
|  | 	display: block; | ||||||
|  | 	margin: 0 -8px; | ||||||
|  | 	padding: 0 8px; | ||||||
|  | } | ||||||
|  | #check_all { | ||||||
|  | 	margin-top: -20px; | ||||||
| } | } | ||||||
| .main-list { | .main-list { | ||||||
| 	margin-bottom: 0; | 	margin-bottom: 0; | ||||||
|  | @ -11,7 +17,7 @@ | ||||||
| 	border-right: medium none; | 	border-right: medium none; | ||||||
| } | } | ||||||
| .main-list thead th:last-child { | .main-list thead th:last-child { | ||||||
| 	border-right: none;  | 	border-right: none !important;  | ||||||
| } | } | ||||||
| .main-list .span1 { | .main-list .span1 { | ||||||
| 	min-width: 32px; | 	min-width: 32px; | ||||||
|  | @ -33,14 +39,21 @@ | ||||||
| 	width: 350px; | 	width: 350px; | ||||||
| 	left: -8px; | 	left: -8px; | ||||||
| } | } | ||||||
|  | .main-list tbody .quick-edit .nav .dropdown-menu { | ||||||
|  | 	margin: 0; | ||||||
|  | } | ||||||
| .main-list tr:first-child td { | .main-list tr:first-child td { | ||||||
| 	border-top: 1px solid #DDDDDD; | 	border-top: 1px solid #DDDDDD; | ||||||
| } | } | ||||||
| .main-list td { | .main-list td { | ||||||
| 	background-color: #FFFFFF; | 	background-color: #FFFFFF; | ||||||
| 	border-bottom: 1px solid #DDDDDD; | 	border-bottom: 1px solid #DDDDDD; | ||||||
|  | 	border-right: 1px solid #FFFFFF; | ||||||
| 	border-top: medium none; | 	border-top: medium none; | ||||||
| } | } | ||||||
|  | .main-list td:last-child { | ||||||
|  | 	border-right: none; | ||||||
|  | } | ||||||
| .main-list .nav { | .main-list .nav { | ||||||
|     margin-top: 0; |     margin-top: 0; | ||||||
|     margin-bottom: 3px; |     margin-bottom: 3px; | ||||||
|  | @ -51,10 +64,14 @@ | ||||||
| } | } | ||||||
| .main-list tr.with_action:hover>td { | .main-list tr.with_action:hover>td { | ||||||
| 	color: #333333; | 	color: #333333; | ||||||
|  | 	border-right: 1px solid #E6E6E6; | ||||||
| 	background-color: #E6E6E6; | 	background-color: #E6E6E6; | ||||||
| 	-webkit-transition: all 0.2s linear; | 	-webkit-transition: all 0.2s linear; | ||||||
| 	-moz-transition: all 0.2s linear; | 	-moz-transition: all 0.2s linear; | ||||||
| } | } | ||||||
|  | .main-list tr.with_action:hover>td:last-child { | ||||||
|  | 	border-right: none; | ||||||
|  | } | ||||||
| .main-list tr.with_action:hover .hide { | .main-list tr.with_action:hover .hide { | ||||||
| 	display:block !important; | 	display:block !important; | ||||||
| } | } | ||||||
|  | @ -95,11 +112,11 @@ | ||||||
| .table-label { | .table-label { | ||||||
|     background-color: #F2F2F2; |     background-color: #F2F2F2; | ||||||
|     position: relative; |     position: relative; | ||||||
|  | 	border-bottom: 1px solid #e5e5e5; | ||||||
| } | } | ||||||
| .table-label .main-list thead th { | .table-label .main-list thead th { | ||||||
|     background-color: #F2F2F2; |     background-color: #FFFFFF; | ||||||
|     border-right: 1px solid #DDDDDD; |     border-right: 1px solid #e5e5e5; | ||||||
|     border-top: 1px solid #DDDDDD !important; |  | ||||||
| 	line-height: 20px; | 	line-height: 20px; | ||||||
| } | } | ||||||
| .route-group .route { | .route-group .route { | ||||||
|  | @ -150,7 +167,7 @@ legend { | ||||||
| 	top: 30px; | 	top: 30px; | ||||||
| 	z-index: 50; | 	z-index: 50; | ||||||
| } | } | ||||||
| .subnav .nav > li:first-child > a, .subnav .nav > li:first-child > a:hover { | .subnav .filter > li:first-child > a, .subnav .filter > li:first-child > a:hover { | ||||||
| 	-moz-border-radius: 0; | 	-moz-border-radius: 0; | ||||||
| 	-webkit-border-radius: 0; | 	-webkit-border-radius: 0; | ||||||
|     border-radius: 0; |     border-radius: 0; | ||||||
|  | @ -204,10 +221,11 @@ legend { | ||||||
| 	margin: 0; | 	margin: 0; | ||||||
| 	padding: 10px; | 	padding: 10px; | ||||||
| 	bottom: 0; | 	bottom: 0; | ||||||
| 	z-index: 2; | 	z-index: 10; | ||||||
| } | } | ||||||
| .form-fixed .btn { | .form-fixed .btn { | ||||||
| 	margin-top: 4px; | 	margin-top: 4px; | ||||||
|  | 	margin-left: 5px; | ||||||
| } | } | ||||||
| .paginationFixed { | .paginationFixed { | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -0,0 +1,237 @@ | ||||||
|  | /*list*/ | ||||||
|  | 
 | ||||||
|  | .table th.select>span { | ||||||
|  | 	border-bottom:2px solid #0088CC; | ||||||
|  | 	display: block; | ||||||
|  | 	margin: 0 -8px -8px; | ||||||
|  | 	padding: 0 8px 6px; | ||||||
|  | } | ||||||
|  | .main-list { | ||||||
|  | 	margin-bottom: 0; | ||||||
|  | } | ||||||
|  | .main-wrap>.main-list thead th { | ||||||
|  | 	background-color: transparent; | ||||||
|  | 	border-right: medium none; | ||||||
|  | } | ||||||
|  | .main-list thead th:last-child { | ||||||
|  | 	border-right: none !important;  | ||||||
|  | } | ||||||
|  | .main-list .span1 { | ||||||
|  | 	min-width: 32px; | ||||||
|  | } | ||||||
|  | .main-list .span7 { | ||||||
|  |     min-width: 300px; | ||||||
|  | } | ||||||
|  | .main-list .nav-pills > li > a { | ||||||
|  | 	border-radius: 5px 5px 5px 5px; | ||||||
|  | 	margin: 2px; | ||||||
|  | 	padding:5px; | ||||||
|  | } | ||||||
|  | .main-list tbody .quick-edit { | ||||||
|  | 	position:relative; | ||||||
|  | 	height:20px; | ||||||
|  | } | ||||||
|  | .main-list tbody .quick-edit .nav { | ||||||
|  | 	position: absolute; | ||||||
|  | 	width: 350px; | ||||||
|  | 	left: -8px; | ||||||
|  | } | ||||||
|  | .main-list tbody .quick-edit .nav .dropdown-menu { | ||||||
|  | 	margin: 0; | ||||||
|  | } | ||||||
|  | .main-list tr:first-child td { | ||||||
|  | 	border-top: 1px solid #DDDDDD; | ||||||
|  | } | ||||||
|  | .main-list td { | ||||||
|  | 	background-color: #FFFFFF; | ||||||
|  | 	border-bottom: 1px solid #DDDDDD; | ||||||
|  | 	border-right: 1px solid #FFFFFF; | ||||||
|  | 	border-top: medium none; | ||||||
|  | } | ||||||
|  | .main-list td:last-child { | ||||||
|  | 	border-right: none; | ||||||
|  | } | ||||||
|  | .main-list .nav { | ||||||
|  |     margin-top: 0; | ||||||
|  |     margin-bottom: 3px; | ||||||
|  | } | ||||||
|  | .main-list tr.with_action>td { | ||||||
|  | 	-webkit-transition: all 0.1s linear; | ||||||
|  | 	-moz-transition: all 0.1s linear; | ||||||
|  | } | ||||||
|  | .main-list tr.with_action:hover>td { | ||||||
|  | 	color: #333333; | ||||||
|  | 	border-right: 1px solid #E6E6E6; | ||||||
|  | 	background-color: #E6E6E6; | ||||||
|  | 	-webkit-transition: all 0.2s linear; | ||||||
|  | 	-moz-transition: all 0.2s linear; | ||||||
|  | } | ||||||
|  | .main-list tr.with_action:hover>td:last-child { | ||||||
|  | 	border-right: none; | ||||||
|  | } | ||||||
|  | .main-list tr.with_action:hover .hide { | ||||||
|  | 	display:block !important; | ||||||
|  | } | ||||||
|  | .main-list .label-group { | ||||||
|  | 	position: relative; | ||||||
|  | 	height: 40px; | ||||||
|  | } | ||||||
|  | .main-list .label-group .label { | ||||||
|  | 	margin-bottom: 1px; | ||||||
|  | 	display: inline-block; | ||||||
|  | 	padding: 0 3px; | ||||||
|  | } | ||||||
|  | .main-list .label-td { | ||||||
|  |     height: 40px; | ||||||
|  |     overflow: hidden; | ||||||
|  |     position: absolute; | ||||||
|  |     width: 100%; | ||||||
|  | 	left: 0; | ||||||
|  | 	z-index: 1;	 | ||||||
|  | } | ||||||
|  | .main-list .label-td:hover { | ||||||
|  |     background-color: #fff; | ||||||
|  | 	height: auto; | ||||||
|  |     padding: 7px; | ||||||
|  | 	left: -55px; | ||||||
|  | 	top: -8px; | ||||||
|  | 	border: 1px solid #333; | ||||||
|  | 	border-radius: 3px; | ||||||
|  | 	-webkit-border-radius: 3px; | ||||||
|  | 	-moz-border-radius: 3px; | ||||||
|  | 	z-index: 5; | ||||||
|  | 	width: 160px; | ||||||
|  | 	min-height: 40px; | ||||||
|  | } | ||||||
|  | .qe-edit-div .table-condensed { | ||||||
|  | 	background-color: #F2F2F2; | ||||||
|  | } | ||||||
|  | .table-label { | ||||||
|  |     background-color: #F2F2F2; | ||||||
|  |     position: relative; | ||||||
|  | 	border-bottom: 1px solid #e5e5e5; | ||||||
|  | } | ||||||
|  | .table-label .main-list thead th { | ||||||
|  |     background-color: #FFFFFF; | ||||||
|  |     border-right: 1px solid #e5e5e5; | ||||||
|  | 	line-height: 20px; | ||||||
|  | } | ||||||
|  | .route-group .route { | ||||||
|  | 	padding: 0; | ||||||
|  | } | ||||||
|  | .route-group .route .breadcrumb { | ||||||
|  | 	border-width: 0!important; | ||||||
|  | } | ||||||
|  | .qe-block td { | ||||||
|  | 	height:auto; | ||||||
|  | 	padding: 0; | ||||||
|  | 	/*background-color: #dedede;*/ | ||||||
|  | } | ||||||
|  | .qe-block legend { | ||||||
|  | 	padding-left: 8px; | ||||||
|  | 	margin-bottom: 0; | ||||||
|  | 	padding-bottom: 0; | ||||||
|  | } | ||||||
|  | .qe-block .control-group { | ||||||
|  | 	margin-bottom: 0; | ||||||
|  | } | ||||||
|  | .qe-block .controls, .qe-block .control-label { | ||||||
|  | 	margin-top: 10px; | ||||||
|  | 	margin-bottom: 10px; | ||||||
|  | } | ||||||
|  | .qe-block .table td, .qe-block .table th { | ||||||
|  | 	padding: 8px; | ||||||
|  | } | ||||||
|  | .qe-block .form-horizontal { | ||||||
|  | 	margin-bottom: 0; | ||||||
|  | } | ||||||
|  | .qe-block .form-actions { | ||||||
|  | 	margin-bottom: 0; | ||||||
|  | } | ||||||
|  | legend { | ||||||
|  |   font-size: 15px; | ||||||
|  |   line-height: 30px; | ||||||
|  |   margin-bottom: 15px; | ||||||
|  |   padding-bottom: 5px; | ||||||
|  | } | ||||||
|  | .subnav { | ||||||
|  | 	-moz-border-radius: 0; | ||||||
|  | 	-webkit-border-radius: 0; | ||||||
|  |     border-radius: 0; | ||||||
|  | 	border-left: none; | ||||||
|  | 	border-right: none; | ||||||
|  | 	position: fixed; | ||||||
|  | 	top: 30px; | ||||||
|  | 	z-index: 50; | ||||||
|  | } | ||||||
|  | .subnav .filter > li:first-child > a, .subnav .filter > li:first-child > a:hover { | ||||||
|  | 	-moz-border-radius: 0; | ||||||
|  | 	-webkit-border-radius: 0; | ||||||
|  |     border-radius: 0; | ||||||
|  | } | ||||||
|  | .dropdown-menu.tags { | ||||||
|  | 	max-width: none; | ||||||
|  | } | ||||||
|  | .dropdown-menu.tags .tags-cloud { | ||||||
|  | 	width: 300px; | ||||||
|  | 	padding:10px; | ||||||
|  | } | ||||||
|  | .dropdown-menu.tags .tags-cloud .active { | ||||||
|  | 	background-color: #0088CC; | ||||||
|  | 	color: #FFFFFF; | ||||||
|  | } | ||||||
|  | .dropdown-menu.tags .tags-cloud a { | ||||||
|  |     display: inline-block; | ||||||
|  | 	margin-bottom: 3px; | ||||||
|  | } | ||||||
|  | .dropdown-menu.tags li:last-child  a { | ||||||
|  |     display: block; | ||||||
|  | 	text-align:center; | ||||||
|  | } | ||||||
|  | .sort-header th { | ||||||
|  | 	padding: 0 8px; | ||||||
|  | 	vertical-align: inherit; | ||||||
|  | 	position: relative; | ||||||
|  | } | ||||||
|  | .sort-header th a { | ||||||
|  | 	display: block; | ||||||
|  | 	padding: 10px 0; | ||||||
|  | 	white-space: nowrap; | ||||||
|  | } | ||||||
|  | .sort-header th a:hover { | ||||||
|  | 	text-decoration: none; | ||||||
|  | } | ||||||
|  | .list-remove { | ||||||
|  | 	position: absolute; | ||||||
|  | 	top: 0; | ||||||
|  | 	padding-top: 11px !important; | ||||||
|  | 	left: 25px; | ||||||
|  | 	font-size: 19px; | ||||||
|  | 	color: #333; | ||||||
|  | } | ||||||
|  | .list-remove:hover { | ||||||
|  | 	color: #333; | ||||||
|  | 	text-decoration: none; | ||||||
|  | } | ||||||
|  | .form-fixed { | ||||||
|  | 	position: fixed; | ||||||
|  | 	margin: 0; | ||||||
|  | 	padding: 10px; | ||||||
|  | 	bottom: 0; | ||||||
|  | 	z-index: 10; | ||||||
|  | } | ||||||
|  | .form-fixed .btn { | ||||||
|  | 	margin-top: 4px; | ||||||
|  | 	margin-left: 5px; | ||||||
|  | } | ||||||
|  | .paginationFixed { | ||||||
|  | } | ||||||
|  | .paginationFixed .pagination { | ||||||
|  | 	margin-top: 0 !important; | ||||||
|  | } | ||||||
|  | .member-list td:last-child { | ||||||
|  | 	position: relative; | ||||||
|  | } | ||||||
|  | .member-list td:last-child .gender { | ||||||
|  | 	border-radius: 0; | ||||||
|  | } | ||||||
|  | @ -0,0 +1,275 @@ | ||||||
|  | .gender { | ||||||
|  | 	position: absolute; | ||||||
|  | 	border-radius: 0 0 5px 0; | ||||||
|  | 	border-width: .5em; | ||||||
|  | 	margin: 0; | ||||||
|  | 	border-style: solid; | ||||||
|  | 	z-index: 10; | ||||||
|  | 	bottom: 0; | ||||||
|  | 	right: 0; | ||||||
|  | } | ||||||
|  | .gender.male { | ||||||
|  | 	border-color: transparent #41B1D5 #41B1D5 transparent; | ||||||
|  | } | ||||||
|  | .gender.female { | ||||||
|  | 	border-color: transparent #DB186E #DB186E transparent; | ||||||
|  | } | ||||||
|  | .user-info { | ||||||
|  | 	background-color: #FFFFFF; | ||||||
|  | 	padding: 30px 10px 0 20px; | ||||||
|  | 	top: 31px; | ||||||
|  | 	position: relative; | ||||||
|  | 	border-right: 1px solid #b8b8b8; | ||||||
|  | 	width: 330px; | ||||||
|  | 	position: fixed; | ||||||
|  | 	z-index: 1; | ||||||
|  | 	-webkit-box-shadow: 5px 0px 10px rgba(0,0,0,.15); | ||||||
|  | 	   -moz-box-shadow: 5px 0px 10px rgba(0,0,0,.15); | ||||||
|  | 	        box-shadow: 5px 0px 10px rgba(0,0,0,.15); | ||||||
|  | } | ||||||
|  | .user-info .gender { | ||||||
|  | 	border-color: #41B1D5 transparent transparent #41B1D5; | ||||||
|  | 	border-radius: 5px 0 0 0; | ||||||
|  | 	bottom: auto; | ||||||
|  | 	right: auto; | ||||||
|  | } | ||||||
|  | .user-info .brand { | ||||||
|  | } | ||||||
|  | .user-info .scrollbar { | ||||||
|  | 	right: -9px; | ||||||
|  | } | ||||||
|  | .user-info .brand .user-avatar { | ||||||
|  | 	margin-bottom: 10px; | ||||||
|  | 	margin-right: 10px; | ||||||
|  | } | ||||||
|  | .user-roles { | ||||||
|  | 	clear: both; | ||||||
|  | } | ||||||
|  | .user-roles .roles .table tr:first-child td { | ||||||
|  | 	border-top: none; | ||||||
|  | } | ||||||
|  | .user-roles .roles .table td:first-child { | ||||||
|  | 	text-align: right; | ||||||
|  | } | ||||||
|  | .user-roles .label-line { | ||||||
|  | 	position: relative; | ||||||
|  | 	text-align: center; | ||||||
|  | } | ||||||
|  | .user-roles .label-line hr { | ||||||
|  | 	position: absolute; | ||||||
|  | 	top: 50%; | ||||||
|  | 	width: 100%; | ||||||
|  | 	height: 4px; | ||||||
|  | 	border: none; | ||||||
|  | 	margin: -2px 0 0; | ||||||
|  | } | ||||||
|  | .user-roles .label-line span { | ||||||
|  | 	color: #343434; | ||||||
|  | 	font-size: 1.2em; | ||||||
|  | 	padding: 0 5px; | ||||||
|  | 	background-color: #FFF; | ||||||
|  | 	display: inline-block; | ||||||
|  | 	position: relative; | ||||||
|  | } | ||||||
|  | .user-roles .basic .label-line hr { | ||||||
|  | 	background-color: #e0e0e0; | ||||||
|  | } | ||||||
|  | .user-roles .teacher .label-line hr { | ||||||
|  | 	background-color: #186AB6; | ||||||
|  | } | ||||||
|  | .user-roles .student .label-line hr { | ||||||
|  | 	background-color: #F38C08; | ||||||
|  | } | ||||||
|  | .user-roles .staff .label-line hr { | ||||||
|  | 	background-color: #139E2F; | ||||||
|  | } | ||||||
|  | .user-avatar { | ||||||
|  | 	overflow: hidden; | ||||||
|  | 	width: 80px; | ||||||
|  | 	height: 80px; | ||||||
|  | 	border-radius: 5px; | ||||||
|  | 	box-shadow: 0 1px 3px rgba(0,0,0,.8); | ||||||
|  | 	margin-right: 10px; | ||||||
|  | 	margin-bottom: 10px; | ||||||
|  | } | ||||||
|  | .user-avatar .reflective { | ||||||
|  | 	background-image: url(img/reflective.png); | ||||||
|  | 	background-repeat: no-repeat; | ||||||
|  | 	background-position: 0; | ||||||
|  | 	height: 80px; | ||||||
|  | 	width: 80px; | ||||||
|  | 	position: absolute; | ||||||
|  | } | ||||||
|  | .user .user-avatar .reflective { | ||||||
|  | 	background-image: url(img/reflective.png); | ||||||
|  | 	background-repeat: no-repeat; | ||||||
|  | 	background-position: 0 -20px; | ||||||
|  | 	height: 80px; | ||||||
|  | 	width: 80px; | ||||||
|  | 	position: absolute; | ||||||
|  | 	top: 10px; | ||||||
|  | 	left: 10px; | ||||||
|  | 	opacity: 0; | ||||||
|  | 	-moz-opacity: 0; | ||||||
|  | 	filter:alpha(opacity=0); | ||||||
|  | } | ||||||
|  | .user:hover .user-avatar .reflective { | ||||||
|  | 	background-position: 0 0; | ||||||
|  | 	opacity: 1; | ||||||
|  | 	-moz-opacity: 1; | ||||||
|  | 	filter:alpha(opacity=10); | ||||||
|  | } | ||||||
|  | .user-name { | ||||||
|  | 	font-size: 1.5em; | ||||||
|  | 	color: #2d2d2d; | ||||||
|  | 	margin: 0 0 3px; | ||||||
|  | 	font-family: Helvetica, "微軟正黑體"; | ||||||
|  | } | ||||||
|  | .user-mail { | ||||||
|  | 	font-size: 1em; | ||||||
|  | 	color: #A2A2A2; | ||||||
|  | 	margin: 0 0 3px; | ||||||
|  | } | ||||||
|  | .user-data { | ||||||
|  | 	padding: 70px 20px 0; | ||||||
|  | 	margin: 20px 0 0 360px; | ||||||
|  | } | ||||||
|  | .user-data #module-nav { | ||||||
|  | 	margin-left: -20px; | ||||||
|  | 	position: fixed; | ||||||
|  | 	z-index: 1; | ||||||
|  | 	background-color: #FFFFFF; | ||||||
|  | 	top: 31px; | ||||||
|  | 	padding: 10px 20px 0; | ||||||
|  | 	-webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, .16); | ||||||
|  | 	   -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, .16); | ||||||
|  | 	        box-shadow: 0px 5px 10px rgba(0, 0, 0, .16); | ||||||
|  | } | ||||||
|  | .user-data #module-nav ul { | ||||||
|  | 	margin-bottom: 10px; | ||||||
|  | } | ||||||
|  | .member-abstract, .member-large { | ||||||
|  | 	padding: 15px; | ||||||
|  | } | ||||||
|  | .member-abstract ul, .member-large ul { | ||||||
|  | 	margin: 0; | ||||||
|  | 	padding: 0; | ||||||
|  | 	list-style: none; | ||||||
|  | } | ||||||
|  | .member-abstract>ul>li, .member-large>ul>li { | ||||||
|  | 	margin: 5px; | ||||||
|  | 	overflow: hidden; | ||||||
|  | 	border-radius: 5px; | ||||||
|  | 	box-shadow: 0 1px 3px rgba(0,0,0,.3); | ||||||
|  | } | ||||||
|  | .member-abstract .user *, .member-large .user * { | ||||||
|  | 	-webkit-transition: all .3s ease; | ||||||
|  | 	   -moz-transition: all .3s ease; | ||||||
|  | 	     -o-transition: all .3s ease; | ||||||
|  | 	        transition: all .3s ease; | ||||||
|  | } | ||||||
|  | .member-abstract .user, .member-large .user { | ||||||
|  | 	background-color: #EDEDED; | ||||||
|  | 	padding: 10px; | ||||||
|  | 	position: relative; | ||||||
|  | 	border-radius: 0 0 5px 5px; | ||||||
|  | 	width: 360px; | ||||||
|  | 	-webkit-transition: all .3s ease; | ||||||
|  | 	   -moz-transition: all .3s ease; | ||||||
|  | 	     -o-transition: all .3s ease; | ||||||
|  | 	        transition: all .3s ease; | ||||||
|  | } | ||||||
|  | .member-abstract .user:hover, .member-large .user:hover { | ||||||
|  | 	background-color: #333333; | ||||||
|  | } | ||||||
|  | .member-abstract .user:hover .user-name, .member-large .user:hover .user-name { | ||||||
|  | 	color: #DDD; | ||||||
|  | } | ||||||
|  | .member-abstract .user .user-meta { | ||||||
|  | 	margin-left: 90px; | ||||||
|  | } | ||||||
|  | .member-abstract .user .user-title span { | ||||||
|  | 	color: #5e5e5e; | ||||||
|  | 	font-size: 1.3em; | ||||||
|  | 	padding-right: 10px; | ||||||
|  | } | ||||||
|  | .member-abstract .user:hover .user-title span { | ||||||
|  | 	color: #AAA; | ||||||
|  | } | ||||||
|  | .member-abstract .user ul.user-itemborder { | ||||||
|  | 	margin-top: 8px; | ||||||
|  | 	border-top: 1px solid #D5D5D5; | ||||||
|  | 	padding: 4px 0 0; | ||||||
|  | } | ||||||
|  | .member-abstract .user ul.user-itemborder li, .member-abstract .user ul.user-itemborder li span { | ||||||
|  | 	color: #333; | ||||||
|  | } | ||||||
|  | .member-abstract .user:hover ul.user-itemborder { | ||||||
|  | 	color: #EDEDED; | ||||||
|  | 	border-top: 1px solid #666; | ||||||
|  | } | ||||||
|  | .member-abstract .user:hover ul.user-itemborder li, .member-abstract .user:hover ul.user-itemborder li span { | ||||||
|  | 	color: #EDEDED; | ||||||
|  | } | ||||||
|  | .member-abstract .user ul.user-itemborder li { | ||||||
|  | 	width: 33%; | ||||||
|  | 	font-size: 1.1em; | ||||||
|  | 	text-align: center; | ||||||
|  | } | ||||||
|  | .member-abstract .user ul.user-itemborder li span { | ||||||
|  | 	font-size: 13px; | ||||||
|  | 	font-weight: bold; | ||||||
|  | 	padding-right: 5px; | ||||||
|  | } | ||||||
|  | .member-large .user { | ||||||
|  | 	width: 80px; | ||||||
|  | 	min-height: 125px; | ||||||
|  | } | ||||||
|  | .member-large .user-avatar { | ||||||
|  | 	margin-right: 0; | ||||||
|  | } | ||||||
|  | .member-large .user-name { | ||||||
|  | 	font-weight: bold; | ||||||
|  | 	font-size: 1.1em; | ||||||
|  | 	width: 80px; | ||||||
|  | 	line-height: 18px; | ||||||
|  | 	padding-top: 5px; | ||||||
|  | 	text-align: center; | ||||||
|  | } | ||||||
|  | .rolesTag { | ||||||
|  | 	width: 100%; | ||||||
|  | } | ||||||
|  | .rolesTag td { | ||||||
|  | 	height: 6px; | ||||||
|  | 	background-color: #333; | ||||||
|  | } | ||||||
|  | .rolesTag td.teacher { | ||||||
|  | 	background-color: #186AB6; | ||||||
|  | } | ||||||
|  | .rolesTag td.student { | ||||||
|  | 	background-color: #F38C08; | ||||||
|  | } | ||||||
|  | .rolesTag td.staff { | ||||||
|  | 	background-color: #139E2F; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .modal.alert-error { | ||||||
|  | 	color: #B94A48; | ||||||
|  | 	background-color: #F2DEDE; | ||||||
|  | 	border-color: #EED3D7; | ||||||
|  | } | ||||||
|  | .news_paragraph p { | ||||||
|  |     line-height: 20px; | ||||||
|  | } | ||||||
|  | .nav-tabs>li>.edit, .nav-tabs>li>.edit:hover { | ||||||
|  | 	background-color: #333; | ||||||
|  | 	color: #FFF; | ||||||
|  | 	padding-right: 12px; | ||||||
|  | } | ||||||
|  | .nav-tabs li .icons-pencil { | ||||||
|  | 	float: right; | ||||||
|  | 	margin-top: 8px; | ||||||
|  | } | ||||||
|  | .nav-tabs li a { | ||||||
|  | 	padding-right: 32px; | ||||||
|  | } | ||||||
|  | @ -7,6 +7,8 @@ | ||||||
|  *= require message |  *= require message | ||||||
|  *= require bootstrap |  *= require bootstrap | ||||||
|  *= require style |  *= require style | ||||||
|  |  *= require font-awesome | ||||||
|  |  *= require orbit-bar | ||||||
|  *= require bootstrap-orbit |  *= require bootstrap-orbit | ||||||
|  *= require list |  *= require list | ||||||
|  *= require widgets |  *= require widgets | ||||||
|  |  | ||||||
|  | @ -0,0 +1,228 @@ | ||||||
|  | 
 | ||||||
|  | #orbit-bar { | ||||||
|  | 	margin-bottom: 0; | ||||||
|  | 	position:fixed; | ||||||
|  | 	width:100%; | ||||||
|  | 	z-index: 99; | ||||||
|  | 	top: 0; | ||||||
|  | 	left: 0; | ||||||
|  | } | ||||||
|  | #orbit-bar .navbar-inner { | ||||||
|  | 	min-height: 28px; | ||||||
|  | 	height: 28px; | ||||||
|  | 	border: none; | ||||||
|  | 	-moz-border-radius: 0px; | ||||||
|  | 	-webkit-border-radius: 0px; | ||||||
|  | 	border-radius: 0px; | ||||||
|  | 	padding-top: 2px; | ||||||
|  | 	padding-bottom: 1px; | ||||||
|  | 	-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(127, 149, 165, 1), 0 -1px 0 rgba(31, 32, 36, 1) inset; | ||||||
|  | 	   -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(127, 149, 165, 1), 0 -1px 0 rgba(31, 32, 36, 1) inset; | ||||||
|  | 	        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(127, 149, 165, 1), 0 -1px 0 rgba(31, 32, 36, 1) inset; | ||||||
|  | 	background-image: -moz-linear-gradient(top, #545b60, #191a1c); | ||||||
|  | 	background-image: -ms-linear-gradient(top, #545b60, #191a1c); | ||||||
|  | 	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#545b60), to(#191a1c)); | ||||||
|  | 	background-image: -webkit-linear-gradient(top, #545b60, #191a1c); | ||||||
|  | 	background-image: -o-linear-gradient(top, #545b60, #191a1c); | ||||||
|  | 	background-image: linear-gradient(top, #545b60, #191a1c); | ||||||
|  | 	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#545b60', endColorstr='#191a1c', GradientType=0); | ||||||
|  | } | ||||||
|  | #orbit-bar .navbar-search { | ||||||
|  | 	left: 30px; | ||||||
|  | 	margin: 0; | ||||||
|  | 	position: absolute; | ||||||
|  | 	text-align: right; | ||||||
|  | 	top: -1px; | ||||||
|  | 	z-index: 0; | ||||||
|  | 	opacity: 0; | ||||||
|  | 	-moz-opacity: 0; | ||||||
|  | 	filter:alpha(opacity=0); | ||||||
|  | } | ||||||
|  | #orbit-bar .nav.pull-right { | ||||||
|  | 	margin-right: -20px; | ||||||
|  | } | ||||||
|  | #orbit-bar .search-query { | ||||||
|  | 	padding: 7px 9px 5px; | ||||||
|  | 	height: 12px; | ||||||
|  | 	margin-top: 3px; | ||||||
|  | 	border: none; | ||||||
|  | 	line-height: 14px; | ||||||
|  | 	border-radius: 3px; | ||||||
|  | } | ||||||
|  | #orbit-bar .search-query:focus { | ||||||
|  | 	background-position: 5px 2px; | ||||||
|  | } | ||||||
|  | #orbit-bar .container { | ||||||
|  | 	width:100%; | ||||||
|  | } | ||||||
|  | #orbit-bar .orbit-logo .brand { | ||||||
|  | 	background: url(<%= asset_path 'orbit-bar.png' %>) no-repeat -162px -5px; | ||||||
|  | 	text-indent:-9999px; | ||||||
|  | 	padding: 5px 20px 4px; | ||||||
|  | } | ||||||
|  | #orbit-bar .orbit-logo .brand:hover { | ||||||
|  | 	background-color: rgba(0,157,220,1); | ||||||
|  | } | ||||||
|  | #orbit-bar .orbit-logo.open .brand { | ||||||
|  | 	background-color: rgba(0,157,220,1); | ||||||
|  | } | ||||||
|  | #orbit-bar .orbit-logo .dropdown-menu { | ||||||
|  | 	left: -15px; | ||||||
|  | } | ||||||
|  | #orbit-bar .nav > li { | ||||||
|  | 	height: 28px; | ||||||
|  | } | ||||||
|  | #orbit-bar .nav > li > a:hover { | ||||||
|  | 	background-color: rgba(0,157,220,1); | ||||||
|  | } | ||||||
|  | #orbit-bar .nav > li > a { | ||||||
|  | 	background-image: url(<%= asset_path 'orbit-bar.png' %>); | ||||||
|  | 	background-repeat:no-repeat; | ||||||
|  | 	display: inline-block; | ||||||
|  | 	width: 16px; | ||||||
|  | 	height: 16px; | ||||||
|  | 	text-indent: -9999px; | ||||||
|  | 	padding:6px; | ||||||
|  | } | ||||||
|  | #orbit-bar .nav > li.search { | ||||||
|  | 	overflow: hidden; | ||||||
|  | 	width: 28px; | ||||||
|  | 	position: relative; | ||||||
|  | } | ||||||
|  | #orbit-bar .nav > li > a.orbit-bar-home { | ||||||
|  | 	background-position: -10px -10px; | ||||||
|  | } | ||||||
|  | #orbit-bar .nav > li > a.orbit-bar-desktop { | ||||||
|  | 	background-position: -106px -9px; | ||||||
|  | } | ||||||
|  | #orbit-bar .nav > li > a.orbit-bar-member { | ||||||
|  | 	background-position: -4px -37px; | ||||||
|  | } | ||||||
|  | #orbit-bar .nav > li > a.orbit-bar-member { | ||||||
|  | 	background-position: -10px -43px; | ||||||
|  | } | ||||||
|  | #orbit-bar .nav > li > a.orbit-bar-language { | ||||||
|  | 	background-position: -42px -42px; | ||||||
|  | } | ||||||
|  | #orbit-bar .nav > li > a.orbit-bar-search { | ||||||
|  | 	background-position: -75px -10px; | ||||||
|  | 	overflow: hidden; | ||||||
|  | 	position: absolute; | ||||||
|  | 	right: 0; | ||||||
|  | 	z-index: 1; | ||||||
|  | } | ||||||
|  | #orbit-bar .nav > li.language.open > a.orbit-bar-language { | ||||||
|  | 	background-color: rgba(0,157,220,1); | ||||||
|  | } | ||||||
|  | .language-menu .active { | ||||||
|  |   color: #ffffff; | ||||||
|  |   text-decoration: none; | ||||||
|  |   background-color: #0088cc; | ||||||
|  | } | ||||||
|  | #orbit-bar .nav > li > a.orbit-bar-account { | ||||||
|  | 	background-image: none; | ||||||
|  | 	height: 22px; | ||||||
|  | 	padding: 3px; | ||||||
|  | 	text-indent: inherit; | ||||||
|  | 	min-width: 110px; | ||||||
|  | 	width: auto !important; | ||||||
|  | 	text-align: left; | ||||||
|  | 	color: #FFFFFF; | ||||||
|  | 	text-shadow: none; | ||||||
|  | 	background-color: rgba(0, 0, 0, 0.5); | ||||||
|  | } | ||||||
|  | #orbit-bar .nav > li > a.orbit-bar-account:hover { | ||||||
|  | 	background-color: #08C; | ||||||
|  | } | ||||||
|  | #orbit-bar .nav span.member-name { | ||||||
|  | 	display: inline-block; | ||||||
|  | 	line-height: 22px; | ||||||
|  | 	padding: 0 10px; | ||||||
|  | } | ||||||
|  | #orbit-bar .nav img.member-img { | ||||||
|  | 	display: inline-block; | ||||||
|  | 	max-width: 24px; | ||||||
|  | 	margin-top: -2px; | ||||||
|  | } | ||||||
|  | #orbit-bar .clear { | ||||||
|  | 	clear: none; | ||||||
|  | } | ||||||
|  | #orbit-bar .account-menu { | ||||||
|  | 	right: 5px; | ||||||
|  | } | ||||||
|  | #orbit-bar .bar-login { | ||||||
|  | 	 | ||||||
|  | } | ||||||
|  | #orbit-bar .bar-login .open, #orbit-bar .open .orbit-bar-account { | ||||||
|  | 	background-color: #009DDC; | ||||||
|  | } | ||||||
|  | #orbit-bar .bar-login .dropdown-menu { | ||||||
|  | 	padding: 0 0 10px; | ||||||
|  | 	max-width: 260px; | ||||||
|  | } | ||||||
|  | #orbit-bar .bar-login .dropdown-menu .log { | ||||||
|  | 	margin: 10px 15px 0; | ||||||
|  | 	list-style: none outside none; | ||||||
|  | } | ||||||
|  | #orbit-bar .bar-login .dropdown-menu .log .title { | ||||||
|  | 	background: url(<%= asset_path 'sign-in-logo2.png' %>) no-repeat center center; | ||||||
|  | 	height: 70px; | ||||||
|  | } | ||||||
|  | #orbit-bar .bar-login .dropdown-menu .log form { | ||||||
|  | 	margin: 0 0 8px; | ||||||
|  | } | ||||||
|  | #orbit-bar .bar-login .dropdown-menu .log input { | ||||||
|  | 	display: inline-block; | ||||||
|  | 	margin: 0; | ||||||
|  | } | ||||||
|  | #orbit-bar .bar-login .dropdown-menu .log .span2 { | ||||||
|  | 	width: 182px; | ||||||
|  | } | ||||||
|  | #orbit-bar .bar-login .dropdown-menu .log .forgot { | ||||||
|  | 	margin-bottom: 20px; | ||||||
|  | 	padding: 3px 0 0; | ||||||
|  | 	float: right; | ||||||
|  | 	display: inline-block; | ||||||
|  | 	color: #0088CC; | ||||||
|  | } | ||||||
|  | #orbit-bar .bar-login .dropdown-menu .log .input-prepend { | ||||||
|  | 	margin-top: 20px; | ||||||
|  | } | ||||||
|  | #orbit-bar .bar-login .dropdown-menu .log .remember { | ||||||
|  | 	margin-top: 5px; | ||||||
|  | } | ||||||
|  | #orbit-bar .bar-login .dropdown-menu .log .forgot:hover { | ||||||
|  | 	padding: 3px 0 0; | ||||||
|  | 	float: right; | ||||||
|  | 	display: inline-block; | ||||||
|  | 	color: #005580; | ||||||
|  | 	text-decoration: underline; | ||||||
|  | 	background-color: transparent; | ||||||
|  | } | ||||||
|  | #orbit-bar .bar-login .dropdown-menu .log .btn { | ||||||
|  | 	width: 220px; | ||||||
|  | } | ||||||
|  | #orbit-bar .bar-login .dropdown-menu .log .divider { | ||||||
|  | 	position:relative; | ||||||
|  | 	overflow: inherit; | ||||||
|  | 	margin: 20px 0; | ||||||
|  | } | ||||||
|  | #orbit-bar .bar-login .dropdown-menu .log .divider span { | ||||||
|  | 	position: absolute; | ||||||
|  | 	width: 20px; | ||||||
|  | 	height: 20px; | ||||||
|  | 	background-color: #FFF; | ||||||
|  | 	color: #666; | ||||||
|  | 	top: -9px; | ||||||
|  | 	left: 100px; | ||||||
|  | 	font-size: 1.4em; | ||||||
|  | 	text-align: center; | ||||||
|  | } | ||||||
|  | #orbit-bar .bar-login .dropdown-menu .register { | ||||||
|  | 	color: #FFFFFF; | ||||||
|  | 	margin: 0 15px; | ||||||
|  | 	width: 188px; | ||||||
|  | } | ||||||
|  | #orbit-bar .add-on i { | ||||||
|  | 	font-size: 12px; | ||||||
|  | } | ||||||
|  | @ -0,0 +1,68 @@ | ||||||
|  | .t_scale{ | ||||||
|  | 	height:516px; | ||||||
|  | 	bottom:0; | ||||||
|  | } | ||||||
|  | #timline_marker{ | ||||||
|  | 	width:100px; | ||||||
|  | 	height:140px; | ||||||
|  | 	opacity:0.4; | ||||||
|  | 	cursor: move; | ||||||
|  | 	border-style:solid; | ||||||
|  | 	border-width:5px; | ||||||
|  | 	border-radius:5px; | ||||||
|  | } | ||||||
|  | .t_scale{ | ||||||
|  | 	 border-style:solid; | ||||||
|  | 	 border-width:2px; | ||||||
|  | 	 border-radius:5px; | ||||||
|  | } | ||||||
|  | #t_container{ | ||||||
|  | 	height:366px; | ||||||
|  | } | ||||||
|  | .scale_region{ | ||||||
|  | 	height:516px; | ||||||
|  | 	border-style:solid; | ||||||
|  | 	border-width:0 2px 0 2px; | ||||||
|  | 	float: left; | ||||||
|  | 	margin-right:1px; | ||||||
|  | 	font-size:20px; | ||||||
|  | 	padding:5px; | ||||||
|  | } | ||||||
|  | .scale_region span{ | ||||||
|  | 	display: block; | ||||||
|  | } | ||||||
|  | .month{ | ||||||
|  | 	 | ||||||
|  | } | ||||||
|  | .year{ | ||||||
|  | 	background-color: #c0bebe; | ||||||
|  | 	width:30px; | ||||||
|  | } | ||||||
|  | .bubble{ | ||||||
|  | 	cursor: pointer; | ||||||
|  | 	width:300px; | ||||||
|  | 	height:30px; | ||||||
|  | 	border-style:solid; | ||||||
|  | 	border-width:5px; | ||||||
|  | 	float: left; | ||||||
|  | 	border-radius:5px; | ||||||
|  | 	margin-top: 10px; | ||||||
|  | 	margin-bottom:10px; | ||||||
|  | 	font-size:15px; | ||||||
|  | 	padding:5px; | ||||||
|  | 	text-align:justify; | ||||||
|  | 	display: none; | ||||||
|  | } | ||||||
|  | .month_heading{ | ||||||
|  | 	text-align: center; | ||||||
|  | 	margin-bottom: 10px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .bubble_list ul{ | ||||||
|  | 	width:350px; | ||||||
|  | 	float:left; | ||||||
|  | } | ||||||
|  | .bubble_list ul li span.date{ | ||||||
|  | 	font-weight:bolder; | ||||||
|  | 	float:right;  | ||||||
|  | } | ||||||
|  | @ -1,15 +1,14 @@ | ||||||
| /*scroll_style*/ |  | ||||||
| 
 |  | ||||||
| @charset "UTF-8"; | @charset "UTF-8"; | ||||||
| /* CSS Document */ | /* CSS Document */ | ||||||
| .my_scroll { | .my_scroll { | ||||||
|  | 	position: relative; | ||||||
| 	width: 100%; | 	width: 100%; | ||||||
| 	clear: both; | 	clear: both; | ||||||
| } | } | ||||||
| .my_scroll .viewport { | .my_scroll .viewport { | ||||||
| 	width: 1005; |  | ||||||
| 	overflow: hidden; | 	overflow: hidden; | ||||||
| 	position: relative; | 	position: relative; | ||||||
|  | 	top: 0px; | ||||||
| } | } | ||||||
| .my_scroll .overview { | .my_scroll .overview { | ||||||
| 	list-style: none; | 	list-style: none; | ||||||
|  | @ -22,14 +21,15 @@ | ||||||
| 	background-color: #000000; | 	background-color: #000000; | ||||||
| } | } | ||||||
| .my_scroll .scrollbar { | .my_scroll .scrollbar { | ||||||
| 	position: relative; | 	position: absolute; | ||||||
| 	float: right; | 	float: right; | ||||||
| 	width: 8px; | 	width: 8px; | ||||||
| 	top:2px; | 	top: 0px; | ||||||
| 	right:-2px; | 	right: 2px; | ||||||
|  | 	z-index: 1; | ||||||
| } | } | ||||||
| .my_scroll .track { | .my_scroll .track { | ||||||
| 	background-color: #CFCFCF; | 	/*background-color: #CFCFCF;*/ | ||||||
| 	height: 100%; | 	height: 100%; | ||||||
| 	width:7px; | 	width:7px; | ||||||
| 	position: relative; | 	position: relative; | ||||||
|  |  | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -0,0 +1,153 @@ | ||||||
|  | .widget-size-300 { | ||||||
|  | 	width:298px; | ||||||
|  | } | ||||||
|  | .widget-box { | ||||||
|  | 	background-color: #FFF; | ||||||
|  | 	overflow: hidden; | ||||||
|  | 	min-width: 300px; | ||||||
|  | 	margin: 0 0 5px 5px; | ||||||
|  | 	position:relative; | ||||||
|  | } | ||||||
|  | .widget-box .widget-title { | ||||||
|  | 	margin: 0; | ||||||
|  | 	font-size: 1.5em; | ||||||
|  | 	line-height: 1.5em; | ||||||
|  | 	color: #FFF; | ||||||
|  | 	padding-left: 5px; | ||||||
|  | 	border-radius: 5px 5px 0 0; | ||||||
|  | 	-moz-border-radius: 5px 5px 0 0; | ||||||
|  | 	-webkit-border-radius: 5px 5px 0 0; | ||||||
|  | 	background-image: -moz-linear-gradient(top, #B7B7B7, #9d9d9d); | ||||||
|  | 	background-image: -ms-linear-gradient(top, #B7B7B7, #9d9d9d); | ||||||
|  | 	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#B7B7B7), to(#9d9d9d)); | ||||||
|  | 	background-image: -webkit-linear-gradient(top, #B7B7B7, #9d9d9d); | ||||||
|  | 	background-image: -o-linear-gradient(top, #B7B7B7, #9d9d9d); | ||||||
|  | 	background-image: linear-gradient(top, #B7B7B7, #9d9d9d); | ||||||
|  | 	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#B7B7B7', endColorstr='#9d9d9d', GradientType=0); | ||||||
|  | } | ||||||
|  | .widget-box .widget-title [class^="icons-"] { | ||||||
|  | 	margin: 3px 5px 0 2px; | ||||||
|  | } | ||||||
|  | .widget-box .widget-content { | ||||||
|  | 	padding: 10px; | ||||||
|  | 	border-width: 0 1px 1px; | ||||||
|  | 	border-style: solid; | ||||||
|  | 	border-color: #CCCCCC; | ||||||
|  | 	border-radius: 0 0 5px 5px; | ||||||
|  | 	-moz-border-radius: 0 0 5px 5px; | ||||||
|  | 	-webkit-border-radius: 0 0 5px 5px; | ||||||
|  | } | ||||||
|  | .widget-box .form-horizontal .control-group > label { | ||||||
|  |   width: 50px; | ||||||
|  | } | ||||||
|  | .widget-box .form-horizontal .controls { | ||||||
|  |   margin-left: 60px; | ||||||
|  | } | ||||||
|  | .widget-action { | ||||||
|  | 	position:absolute; | ||||||
|  | 	right:1px; | ||||||
|  | 	top:4px; | ||||||
|  | } | ||||||
|  | .action { | ||||||
|  | 	float: left; | ||||||
|  | 	display:inline-block; | ||||||
|  | 	margin-right: 5px; | ||||||
|  | 	opacity: 0.8; | ||||||
|  | 	filter: alpha(opacity:80); | ||||||
|  | 	color: #FFF; | ||||||
|  | } | ||||||
|  | .action:hover { | ||||||
|  | 	opacity: 1; | ||||||
|  | 	filter: alpha(opacity:100); | ||||||
|  | 	cursor: pointer; | ||||||
|  | 	color: #FFF; | ||||||
|  | 	text-decoration: none; | ||||||
|  | } | ||||||
|  | .select-role { | ||||||
|  | 	display:none; | ||||||
|  | 	overflow:hidden; | ||||||
|  | } | ||||||
|  | .file-upload { | ||||||
|  | 	position:relative; | ||||||
|  | 	overflow: hidden; | ||||||
|  | } | ||||||
|  | .file-upload .file-name { | ||||||
|  | 	white-space: nowrap; | ||||||
|  | 	overflow: hidden; | ||||||
|  | 	border-style: solid; | ||||||
|  | 	border-width: 1px 1px 1px 0; | ||||||
|  | 	border-color: #CCC; | ||||||
|  | 	display: inline-block; | ||||||
|  | 	padding: 4px 10px; | ||||||
|  | 	height: 20px; | ||||||
|  | 	line-height: 18px; | ||||||
|  | 	-webkit-border-radius: 0 3px 3px 0; | ||||||
|  | 	-moz-border-radius: 0 3px 3px 0; | ||||||
|  | 	border-radius: 0 3px 3px 0; | ||||||
|  | 	text-align: left; | ||||||
|  | 	margin: 0; | ||||||
|  |     width: 175px; | ||||||
|  | } | ||||||
|  | .file-upload .upload { | ||||||
|  | 	margin:0; | ||||||
|  | 	padding:0; | ||||||
|  | 	position:absolute; | ||||||
|  | 	top: 0; | ||||||
|  | 	left:0; | ||||||
|  | 	opacity:.0; | ||||||
|  |     font-size: 60px; | ||||||
|  |     left: -595px/9; | ||||||
|  | 	filter: alpha(opacity: 0); | ||||||
|  | 	outline: none; | ||||||
|  | } | ||||||
|  | .file-upload .upload:focus { | ||||||
|  | 	position:absolute; | ||||||
|  | } | ||||||
|  | .upload-picture { | ||||||
|  | 	margin-bottom: 5px; | ||||||
|  | 	text-align: center; | ||||||
|  | 	width: 276px; | ||||||
|  | 	overflow: hidden; | ||||||
|  | 	height: 90px; | ||||||
|  | } | ||||||
|  | .upload-picture img { | ||||||
|  |     left: 0; | ||||||
|  |     margin-top: -15%; | ||||||
|  |     width: 100%; | ||||||
|  | } | ||||||
|  | .widget-box .widgetInfo { | ||||||
|  |     display: inline-block; | ||||||
|  |     text-align: center; | ||||||
|  |     width: 255px; | ||||||
|  |     margin : 0px 0 5px; | ||||||
|  |     padding: 5px 10px; | ||||||
|  | } | ||||||
|  | .file-upload .input-medium { | ||||||
|  |     border-radius: 3px 3px 3px 3px !important; | ||||||
|  |     width: 263px; | ||||||
|  |     position: relative; | ||||||
|  | 	z-index: 5; | ||||||
|  | } | ||||||
|  | #widget-link table { | ||||||
|  | 	margin-bottom:0 | ||||||
|  | } | ||||||
|  | /*Date*/ | ||||||
|  | .showDate { | ||||||
|  | 	border-style: solid; | ||||||
|  | 	border-width: 1px 0 1px 1px; | ||||||
|  | 	border-color: #CCC; | ||||||
|  | 	display: inline-block; | ||||||
|  | 	float: left; | ||||||
|  | 	padding: 4px 10px; | ||||||
|  | 	height: 18px; | ||||||
|  | 	line-height: 18px; | ||||||
|  | 	-webkit-border-radius: 3px 0 0 3px; | ||||||
|  | 	-moz-border-radius: 3px 0 0 3px; | ||||||
|  | 	border-radius: 3px 0 0 3px; | ||||||
|  | 	text-align: center; | ||||||
|  | } | ||||||
|  | .calendarInput { | ||||||
|  | 	position: absolute; | ||||||
|  | 	visibility: hidden; | ||||||
|  | 	left: 11px; | ||||||
|  | } | ||||||
|  | @ -1,6 +1,3 @@ | ||||||
| /*Widget*/ |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| .widget-size-300 { | .widget-size-300 { | ||||||
| 	width:298px; | 	width:298px; | ||||||
| } | } | ||||||
|  | @ -12,6 +9,9 @@ | ||||||
| 	position:relative; | 	position:relative; | ||||||
| } | } | ||||||
| .widget-box .widget-title { | .widget-box .widget-title { | ||||||
|  | 	margin: 0; | ||||||
|  | 	font-size: 1.5em; | ||||||
|  | 	line-height: 1.5em; | ||||||
| 	color: #FFF; | 	color: #FFF; | ||||||
| 	padding-left: 5px; | 	padding-left: 5px; | ||||||
| 	border-radius: 5px 5px 0 0; | 	border-radius: 5px 5px 0 0; | ||||||
|  | @ -54,11 +54,14 @@ | ||||||
| 	margin-right: 5px; | 	margin-right: 5px; | ||||||
| 	opacity: 0.8; | 	opacity: 0.8; | ||||||
| 	filter: alpha(opacity=80); | 	filter: alpha(opacity=80); | ||||||
|  | 	color: #FFF; | ||||||
| } | } | ||||||
| .action:hover { | .action:hover { | ||||||
| 	opacity: 1; | 	opacity: 1; | ||||||
| 	filter: alpha(opacity=80); | 	filter: alpha(opacity=80); | ||||||
| 	cursor: pointer; | 	cursor: pointer; | ||||||
|  | 	color: #FFF; | ||||||
|  | 	text-decoration: none; | ||||||
| } | } | ||||||
| .select-role { | .select-role { | ||||||
| 	display:none; | 	display:none; | ||||||
|  |  | ||||||
|  | @ -1,8 +1,10 @@ | ||||||
| class Admin::AdBannersController < OrbitBackendController | class Admin::AdBannersController < OrbitBackendController | ||||||
|   layout "new_admin" |   layout "new_admin" | ||||||
|   before_filter :authenticate_user! |   before_filter :force_order_for_visitor,:only=>[:index] | ||||||
|  |   #before_filter :force_order_for_user,:except => [:index] | ||||||
|  |   before_filter :for_app_sub_manager,:except => [:index] | ||||||
|   before_filter :for_app_manager,:except => [:index,:show,:update,:realtime_preview]  |   before_filter :for_app_manager,:except => [:index,:show,:update,:realtime_preview]  | ||||||
|   before_filter :for_app_sub_manager |    | ||||||
| 
 | 
 | ||||||
|   def rename |   def rename | ||||||
|     @ad_banner = AdBanner.find(params[:id]) |     @ad_banner = AdBanner.find(params[:id]) | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| class Admin::DashboardsController < ApplicationController | class Admin::DashboardsController < OrbitBackendController | ||||||
|    |  | ||||||
|   layout "new_admin" |   layout "new_admin" | ||||||
|   before_filter :authenticate_user! |   #before_filter :set_current_user | ||||||
|  |   #before_filter :authenticate_user!, :except => [:index] | ||||||
| #  before_filter :is_admin? | #  before_filter :is_admin? | ||||||
|    |    | ||||||
|   def index |   def index | ||||||
|  |  | ||||||
|  | @ -4,6 +4,7 @@ class Admin::ObjectAuthsNewInterfaceController < OrbitBackendController | ||||||
|    |    | ||||||
|    |    | ||||||
|   def setting |   def setting | ||||||
|  | 
 | ||||||
|     @sys_users = User.all(conditions: {admin: false}).includes(:avatar) |     @sys_users = User.all(conditions: {admin: false}).includes(:avatar) | ||||||
|     @ob_auth = ObjectAuth.find params[:object_auth_id] |     @ob_auth = ObjectAuth.find params[:object_auth_id] | ||||||
|     @options_from_collection_for_select_ob_auth = [@ob_auth].collect{|oa| [oa.auth_obj.pp_object,oa.id] } |     @options_from_collection_for_select_ob_auth = [@ob_auth].collect{|oa| [oa.auth_obj.pp_object,oa.id] } | ||||||
|  |  | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | class Admin::PluginsController < ApplicationController | ||||||
|  |    | ||||||
|  |   layout "new_admin" | ||||||
|  |    | ||||||
|  |   def index | ||||||
|  |    | ||||||
|  |     @module_apps = ModuleApp.excludes(widgets: nil).where(has_plugin: true).order_by(:title, :asc) | ||||||
|  |    | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  | end | ||||||
|  | @ -1,9 +1,13 @@ | ||||||
| class Admin::TagsController < ApplicationController | class Admin::TagsController < OrbitBackendController | ||||||
|  |   before_filter :force_order_for_visitor,:only=>[:index] | ||||||
|  |   before_filter :force_order_for_user,:except => [:index] | ||||||
|  |   before_filter :for_app_sub_manager,:except => [:index] | ||||||
|    |    | ||||||
|   layout 'new_admin' | 
 | ||||||
|   before_filter :authenticate_user! |   # layout 'new_admin' | ||||||
|   before_filter :is_admin? |   # before_filter :authenticate_user! | ||||||
|   before_filter :set_module_app |   # before_filter :is_admin? | ||||||
|  |   # before_filter :set_module_app | ||||||
|     |     | ||||||
|   def index |   def index | ||||||
|     get_tags |     get_tags | ||||||
|  |  | ||||||
|  | @ -5,20 +5,63 @@ class Admin::UsersNewInterfaceController < ApplicationController | ||||||
|   before_filter :set_attribute, :only => [:index, :show, :new, :edit] |   before_filter :set_attribute, :only => [:index, :show, :new, :edit] | ||||||
|    |    | ||||||
|   def index |   def index | ||||||
|     @users = User.all.entries |     get_tags | ||||||
|  |     get_sub_roles | ||||||
|  | 
 | ||||||
|  |     page_num = params[:page] || 1 | ||||||
|  |     @users = [] | ||||||
|      |      | ||||||
|     render case params[:at] |     render case params[:at] | ||||||
|       when 'summary' |       when 'summary' | ||||||
|  |         @users=User.page(page_num).per(12).includes('avatar') | ||||||
|         "index_summary" |         "index_summary" | ||||||
|       when 'thumbnail' |       when 'thumbnail' | ||||||
|  |         @users=User.page(page_num).per(36).includes('avatar') | ||||||
|         "index_thumbnail" |         "index_thumbnail" | ||||||
|       else |       else | ||||||
|  |         @users=User.page(page_num).per(10).includes('avatar') | ||||||
|         "index" |         "index" | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
|    |    | ||||||
|   def show |   def show | ||||||
|     @user = User.find(params[:id]) |     @user = User.find(params[:id]) | ||||||
|  |     @profile_data = [] | ||||||
|  |     @teacher_data = [] | ||||||
|  |     @student_data = [] | ||||||
|  |     @staff_data = [] | ||||||
|  | 
 | ||||||
|  |     @user.attribute_values.each{|att_val| | ||||||
|  |       @profile_data.push({:name => att_val.attribute_field.title,:value =>att_val[I18n.locale]}) if att_val.attribute_field.attribute.key=="profile" rescue false | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     @user.attribute_values.each{|att_val| | ||||||
|  |       @teacher_data.push({:name => att_val.attribute_field.title,:value => eval("att_val.#{att_val.key}")}) if att_val.attribute_field.role.key=="teacher"rescue false | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @user.attribute_values.each{|att_val| | ||||||
|  |       @student_data.push({:name => att_val.attribute_field.title,:value =>eval("att_val.#{att_val.key}")}) if att_val.attribute_field.role.key=="student"rescue false | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @user.attribute_values.each{|att_val| | ||||||
|  |       @staff_data.push({:name => att_val.attribute_field.title,:value =>eval("att_val.#{att_val.key}")}) if att_val.attribute_field.role.key=="staff_data"rescue false | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     # binding.pry | ||||||
|  |     # @user.attribute_values.each{|att_val| | ||||||
|  |     #   @teacher_data.push({:name => att_val.attribute_field.title,:value =>att_val[I18n.locale]}) | ||||||
|  |     # } | ||||||
|  | 
 | ||||||
|  |     # @user.attribute_values.each{|att_val| | ||||||
|  |     #   @student_data.push({:name => att_val.attribute_field.title,:value =>att_val[I18n.locale]}) | ||||||
|  |     # } | ||||||
|  | 
 | ||||||
|  |     # @user.attribute_values.each{|att_val| | ||||||
|  |     #   @staff_data.push({:name => att_val.attribute_field.title,:value =>att_val[I18n.locale]}) | ||||||
|  |     # } | ||||||
|  | 
 | ||||||
|  |      # [ {:name=> "1",:value =>"Matt"},{:name=> "2",:value =>"Mark"},{:name=> "3",:value =>"Luke"},{:name=> "4",:value =>"John"} ] | ||||||
|  |      | ||||||
|     get_info_and_roles |     get_info_and_roles | ||||||
|   end |   end | ||||||
|    |    | ||||||
|  | @ -74,6 +117,13 @@ class Admin::UsersNewInterfaceController < ApplicationController | ||||||
|   end |   end | ||||||
|    |    | ||||||
|   protected |   protected | ||||||
|  |   def get_tags | ||||||
|  |     @sub_role_tags = SubRoleTag.all | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def get_sub_roles | ||||||
|  |     @sub_roles = SubRole.all | ||||||
|  |   end | ||||||
| 
 | 
 | ||||||
|   def get_info_and_roles |   def get_info_and_roles | ||||||
|     @infos = Info.excludes('disabled' => true) |     @infos = Info.excludes('disabled' => true) | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| class ApplicationController < ActionController::Base | class ApplicationController < ActionController::Base | ||||||
|   protect_from_forgery |   protect_from_forgery | ||||||
| 
 | 
 | ||||||
|   include ParserFrontEnd, ParserBackEnd,ApplicationHelper |   include ParserFrontEnd, ParserBackEnd, ApplicationHelper | ||||||
|    |    | ||||||
|   layout :layout_by_resource |   layout :layout_by_resource | ||||||
|    |    | ||||||
|  | @ -9,7 +9,7 @@ class ApplicationController < ActionController::Base | ||||||
|   before_filter :set_locale, :set_site |   before_filter :set_locale, :set_site | ||||||
| 
 | 
 | ||||||
|   def set_current_user |   def set_current_user | ||||||
|     User.current = current_user |     User.current = current_or_guest_user | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def front_end_available(module_app_title='') |   def front_end_available(module_app_title='') | ||||||
|  | @ -48,14 +48,29 @@ class ApplicationController < ActionController::Base | ||||||
|      redirect_to root_path |      redirect_to root_path | ||||||
|   end |   end | ||||||
|    |    | ||||||
|   # Check if the current_user is admin |   # Check if the current_user is admin,if not redirect | ||||||
|   def is_admin? |   def is_admin? | ||||||
|     current_user.admin? ? true : auth_failed_in_backend |     current_or_guest_user.admin? ? true : auth_failed_in_backend | ||||||
|   end |   end | ||||||
|    |    | ||||||
|   def is_manager? |   # def is_manager? | ||||||
|      @module_app.managing_users.include?(current_user) || is_admin? |   #    @module_app.is_manager?(current_or_guest_user) || is_admin? | ||||||
|   end |   # end | ||||||
|  |    | ||||||
|  |   # # Check if the current_user is admin | ||||||
|  |   # def is_member? | ||||||
|  |   #   if (current_user rescue false) | ||||||
|  |   #     return true | ||||||
|  |   #   end | ||||||
|  |   #   return false | ||||||
|  |   # end | ||||||
|  |    | ||||||
|  |   # def is_guest? | ||||||
|  |   #   if session[:guest_user_id] | ||||||
|  |   #     return true | ||||||
|  |   #   end | ||||||
|  |   #   return false | ||||||
|  |   # end | ||||||
|    |    | ||||||
|   def for_admin_only |   def for_admin_only | ||||||
|     if is_admin? |     if is_admin? | ||||||
|  | @ -76,7 +91,7 @@ class ApplicationController < ActionController::Base | ||||||
|   end |   end | ||||||
|    |    | ||||||
|   def for_app_sub_manager |   def for_app_sub_manager | ||||||
|     if (@module_app.sub_managing_users.include?(current_user) || is_manager?) |     if (@module_app.sub_managing_users.include?(current_or_guest_user) || is_manager?) | ||||||
|       true |       true | ||||||
|     else |     else | ||||||
|       flash[:error] = t("admin.access.denied.app.not_sub_manager") |       flash[:error] = t("admin.access.denied.app.not_sub_manager") | ||||||
|  | @ -85,7 +100,7 @@ class ApplicationController < ActionController::Base | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def for_app_user |   def for_app_user | ||||||
|     if (@module_app.app_auth.auth_users.include?(current_user) || for_app_sub_manager ) |     if (@module_app.app_auth.auth_users.include?(current_or_guest_user) || for_app_sub_manager ) | ||||||
|       true |       true | ||||||
|     else |     else | ||||||
|       flash[:error] = t("admin.access.denied.app.not_authed_user") |       flash[:error] = t("admin.access.denied.app.not_authed_user") | ||||||
|  | @ -95,7 +110,7 @@ class ApplicationController < ActionController::Base | ||||||
| 
 | 
 | ||||||
|   def check_object_premission(obj,title) |   def check_object_premission(obj,title) | ||||||
|     flash[:error] = t("admin.access.denied.object") |     flash[:error] = t("admin.access.denied.object") | ||||||
|     auth_failed_in_backend unless (obj.get_object_auth_by_title(title).auth_users.include?(current_user) || is_manager? || is_admin? ) |     auth_failed_in_backend unless (obj.get_object_auth_by_title(title).auth_users.include?(current_or_guest_user) || is_manager? || is_admin? ) | ||||||
|   end |   end | ||||||
|    |    | ||||||
|   # Render the page |   # Render the page | ||||||
|  | @ -189,6 +204,17 @@ class ApplicationController < ActionController::Base | ||||||
|       [shift_out] + a |       [shift_out] + a | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
|  |     # called (once) when the user logs in, insert any code your application needs | ||||||
|  |     # to hand off from guest_user to current_user. | ||||||
|  |     def logging_in | ||||||
|  |       # For example: | ||||||
|  |       # guest_comments = guest_user.comments.all | ||||||
|  |       # guest_comments.each do |comment| | ||||||
|  |         # comment.user_id = current_user.id | ||||||
|  |         # comment.save | ||||||
|  |       # end | ||||||
|  |     end | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
|   def render_main_rss |   def render_main_rss | ||||||
|     ret = '' |     ret = '' | ||||||
|  |  | ||||||
|  | @ -43,10 +43,10 @@ class DesktopOrbitController< ApplicationController | ||||||
| 			if(@fromdate[1] == 0) | 			if(@fromdate[1] == 0) | ||||||
| 				@fromdate[1] = 12 | 				@fromdate[1] = 12 | ||||||
| 				@fromdate[0] = @fromdate[0] - 1  | 				@fromdate[0] = @fromdate[0] - 1  | ||||||
|  | 
 | ||||||
| 			end | 			end | ||||||
| 			 | 			 | ||||||
| 		end | 		end | ||||||
| 		render :json=>@data.to_json | 		render :json=>@data.to_json | ||||||
| 	end | 	end | ||||||
| 
 |  | ||||||
| end | end | ||||||
|  | @ -67,6 +67,7 @@ class DesktopPublicationsController< ApplicationController | ||||||
|         paper.update_attributes(:user_id => current_user.id) |         paper.update_attributes(:user_id => current_user.id) | ||||||
|       end |       end | ||||||
|        b = Array.new |        b = Array.new | ||||||
|  | 
 | ||||||
|       b << {"success"=>"true"} |       b << {"success"=>"true"} | ||||||
|       render :json=>b.to_json |       render :json=>b.to_json | ||||||
|     end |     end | ||||||
|  |  | ||||||
|  | @ -1,12 +1,12 @@ | ||||||
| class OrbitBackendController< ApplicationController | class OrbitBackendController< ApplicationController | ||||||
|   before_filter :force_order,:except => [:public] |   #before_filter :setup_vars | ||||||
|   before_filter :setup_vars |   #before_filter :set_current_user | ||||||
|   before_filter :set_current_user |  | ||||||
| 
 | 
 | ||||||
|  # before_filter {|c| c.front_end_available(@app_title)} |  # before_filter {|c| c.front_end_available(@app_title)} | ||||||
|   # before_filter :check_user_can_use |   # before_filter :check_user_can_use | ||||||
|   include OrbitCoreLib::PermissionUnility |   include OrbitCoreLib::PermissionUnility | ||||||
|   include AdminHelper |   include AdminHelper | ||||||
|  |   include ApplicationHelper | ||||||
|    |    | ||||||
|   layout 'new_admin' |   layout 'new_admin' | ||||||
|    |    | ||||||
|  | @ -19,7 +19,15 @@ class OrbitBackendController< ApplicationController | ||||||
| 
 | 
 | ||||||
|   private |   private | ||||||
| 
 | 
 | ||||||
|   def force_order |   def force_order_for_visitor | ||||||
|  |       setup_vars | ||||||
|  |       set_current_user | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   def force_order_for_user | ||||||
|  |     setup_vars | ||||||
|  |     set_current_user     | ||||||
|     authenticate_user! |     authenticate_user! | ||||||
|     check_user_can_use |     check_user_can_use | ||||||
|   end |   end | ||||||
|  |  | ||||||
|  | @ -37,7 +37,7 @@ class PagesController < ApplicationController | ||||||
|    def index_from_link |    def index_from_link | ||||||
|       url = "/#{@item.path}" |       url = "/#{@item.path}" | ||||||
|       options = '' |       options = '' | ||||||
|       options << "?page_main=#{params[:page_main]}" unless params[:page_main].blank? |       options << "#{options.blank? ? '?' : '&'}page_main=#{params[:page_main]}" unless params[:page_main].blank? | ||||||
|       options << "#{options.blank? ? '?' : '&'}category_id=#{params[:category_id]}" unless params[:category_id].blank? |       options << "#{options.blank? ? '?' : '&'}category_id=#{params[:category_id]}" unless params[:category_id].blank? | ||||||
|       options << "#{options.blank? ? '?' : '&'}tag_id=#{params[:tag_id]}" unless params[:tag_id].blank? |       options << "#{options.blank? ? '?' : '&'}tag_id=#{params[:tag_id]}" unless params[:tag_id].blank? | ||||||
|       options << "#{options.blank? ? '?' : '&'}search_query=#{params[:search_query]}" unless params[:search_query].blank? |       options << "#{options.blank? ? '?' : '&'}search_query=#{params[:search_query]}" unless params[:search_query].blank? | ||||||
|  | @ -48,11 +48,13 @@ class PagesController < ApplicationController | ||||||
|    end |    end | ||||||
|     |     | ||||||
|    def show_from_link |    def show_from_link | ||||||
|       url = "/#{@item.path}?id=#{params[:id]}" |       url = "/#{@item.path}" | ||||||
|       options = '' |       options = '' | ||||||
|  |       options << "#{options.blank? ? '?' : '&'}id=#{params[:id]}" unless params[:id].blank? | ||||||
|       options << "#{options.blank? ? '?' : '&'}category_id=#{params[:category_id]}" unless params[:category_id].blank? |       options << "#{options.blank? ? '?' : '&'}category_id=#{params[:category_id]}" unless params[:category_id].blank? | ||||||
|       options << "#{options.blank? ? '?' : '&'}tag_id=#{params[:tag_id]}" unless params[:tag_id].blank? |       options << "#{options.blank? ? '?' : '&'}tag_id=#{params[:tag_id]}" unless params[:tag_id].blank? | ||||||
|       options << "&preview=#{params[:preview]}" unless params[:preview].blank? |       options << "#{options.blank? ? '?' : '&'}preview=#{params[:preview]}" unless params[:preview].blank? | ||||||
|  |       options << "#{options.blank? ? '?' : '&'}controller_action=#{params[:controller_action]}" unless params[:controller_action].blank? | ||||||
|       redirect_to(url + options) unless save_from_no_lang_for_page |       redirect_to(url + options) unless save_from_no_lang_for_page | ||||||
|    end |    end | ||||||
|     |     | ||||||
|  |  | ||||||
|  | @ -7,15 +7,31 @@ module AdminHelper | ||||||
|    |    | ||||||
|   # Check if the current_user is manager in current module app |   # Check if the current_user is manager in current module app | ||||||
|   def is_manager? |   def is_manager? | ||||||
|     @module_app.is_manager?(current_user) || is_admin? |     @module_app.is_manager?(current_or_guest_user) || is_admin? | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   # Check if the current_user is sub manager in current module app |   # Check if the current_user is sub manager in current module app | ||||||
|   def is_sub_manager? |   def is_sub_manager? | ||||||
|     @module_app.is_sub_manager?(current_user)|| is_admin? |     @module_app.is_sub_manager?(current_or_guest_user)|| is_admin? | ||||||
|   end |   end | ||||||
|    |    | ||||||
|   def is_admin? |   def is_admin? | ||||||
|     current_user.admin? |     current_or_guest_user.admin? | ||||||
|   end |   end | ||||||
|  | 
 | ||||||
|  |   def is_member? | ||||||
|  |     if (current_user rescue false) | ||||||
|  |       return true | ||||||
|  |     end | ||||||
|  |     return false | ||||||
|  |   end | ||||||
|  |    | ||||||
|  | 
 | ||||||
|  |   def is_guest? | ||||||
|  |     if session[:guest_user_id] | ||||||
|  |       return true | ||||||
|  |     end | ||||||
|  |     return false | ||||||
|  |   end | ||||||
|  | 
 | ||||||
| end | end | ||||||
|  | @ -2,6 +2,36 @@ module ApplicationHelper | ||||||
| 
 | 
 | ||||||
|   FLASH_NOTICE_KEYS = [:error, :notice, :warning] |   FLASH_NOTICE_KEYS = [:error, :notice, :warning] | ||||||
| 
 | 
 | ||||||
|  |   def create_guest_user | ||||||
|  |     u = User.create(:name => "guest", :email => "guest_#{Time.now.to_i}#{rand(99)}@example.com") | ||||||
|  |     u.admin = false | ||||||
|  |     u.save(:validate => false) | ||||||
|  |     u | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |     # if user is logged in, return current_user, else return guest_user | ||||||
|  |   def current_or_guest_user | ||||||
|  |     if current_user | ||||||
|  |       if session[:guest_user_id] | ||||||
|  |         guest_user.destroy | ||||||
|  |         session[:guest_user_id] = nil | ||||||
|  |       end | ||||||
|  |       current_user | ||||||
|  |     else | ||||||
|  |       guest_user | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   # find guest_user object associated with the current session, | ||||||
|  |   # creating one as needed | ||||||
|  |   def guest_user | ||||||
|  |     User.find(session[:guest_user_id].nil? ? session[:guest_user_id] = create_guest_user.id : session[:guest_user_id]) | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|   def colorize_in_use_locale(locale) |   def colorize_in_use_locale(locale) | ||||||
|     @site_in_use_locales.include?(locale)? 'green' : 'red' |     @site_in_use_locales.include?(locale)? 'green' : 'red' | ||||||
|   end |   end | ||||||
|  | @ -136,12 +166,14 @@ module ApplicationHelper | ||||||
|   def page_stylesheets(page, edit=nil) |   def page_stylesheets(page, edit=nil) | ||||||
|     stylesheets = '' |     stylesheets = '' | ||||||
|     unless edit  |     unless edit  | ||||||
|       stylesheets << "<link href='/assets/bootstrap.css' rel='stylesheet' type='text/css' />\n"  |  | ||||||
|       stylesheets << "<link href='/assets/bootstrap-orbit.css' rel='stylesheet' type='text/css' />\n" |       stylesheets << "<link href='/assets/bootstrap-orbit.css' rel='stylesheet' type='text/css' />\n" | ||||||
|       stylesheets << "<link href='/assets/style.css' rel='stylesheet' type='text/css' />\n" |       stylesheets << "<link href='/assets/style.css' rel='stylesheet' type='text/css' />\n" | ||||||
|     end |     end | ||||||
|     stylesheets << "<link href='/assets/social-share-button.css' rel='stylesheet' type='text/css' />\n"  |  | ||||||
|     stylesheets << "<link href='#{page.design.reset_css.file.url}' rel='stylesheet' type='text/css' />\n" if page.design.reset_css |     stylesheets << "<link href='#{page.design.reset_css.file.url}' rel='stylesheet' type='text/css' />\n" if page.design.reset_css | ||||||
|  |     stylesheets << "<link href='/assets/bootstrap.css' rel='stylesheet' type='text/css' />\n" | ||||||
|  |     stylesheets << "<link href='/assets/font-awesome.css' rel='stylesheet' type='text/css' />\n" | ||||||
|  |     stylesheets << "<link href='/assets/orbit-bar.css' rel='stylesheet' type='text/css' />\n" | ||||||
|  |     stylesheets << "<link href='/assets/social-share-button.css' rel='stylesheet' type='text/css' />\n"  | ||||||
|     stylesheets << "<link href='#{asset_path 'banner_nav.css'}' rel='stylesheet' type='text/css' />\n"  |     stylesheets << "<link href='#{asset_path 'banner_nav.css'}' rel='stylesheet' type='text/css' />\n"  | ||||||
|     stylesheets << "<link href='#{page.design.default_css.file.url}' rel='stylesheet' type='text/css' />\n" if page.design.default_css |     stylesheets << "<link href='#{page.design.default_css.file.url}' rel='stylesheet' type='text/css' />\n" if page.design.default_css | ||||||
|     theme = page.design.themes.detect{ |d| d.id == page.theme_id } |     theme = page.design.themes.detect{ |d| d.id == page.theme_id } | ||||||
|  | @ -204,10 +236,6 @@ module ApplicationHelper | ||||||
|     display_visitors(created_at: {'$gte' => Date.today.beginning_of_year, '$lte' => Date.today.end_of_year}) |     display_visitors(created_at: {'$gte' => Date.today.beginning_of_year, '$lte' => Date.today.end_of_year}) | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def at_least_module_manager |  | ||||||
|     is_manager? || is_admin?  |  | ||||||
|   end |  | ||||||
| 
 |  | ||||||
|   def display_date_time(object) |   def display_date_time(object) | ||||||
|     object.strftime("%Y-%m-%d %H:%M") |     object.strftime("%Y-%m-%d %H:%M") | ||||||
|   end |   end | ||||||
|  | @ -232,4 +260,13 @@ module ApplicationHelper | ||||||
|     wrap_mark = options[:wrap_mark] || "<br />" |     wrap_mark = options[:wrap_mark] || "<br />" | ||||||
|     str.scan((/.{0,#{line_width}}/)).join(wrap_mark) |     str.scan((/.{0,#{line_width}}/)).join(wrap_mark) | ||||||
|   end |   end | ||||||
|  | 
 | ||||||
|  |   def show_avatar(user) | ||||||
|  |     if (user.avatar? rescue false) | ||||||
|  |       image_tag(user.avatar.thumb.url) | ||||||
|  |     else | ||||||
|  |       image_tag "person.png" | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
| end | end | ||||||
|  |  | ||||||
|  | @ -0,0 +1,24 @@ | ||||||
|  | module CalendarHelper | ||||||
|  |   def month_link(month_date) | ||||||
|  |     link_to(I18n.localize(month_date, :format => "%B"), {:month => month_date.month, :year => month_date.year}) | ||||||
|  |   end | ||||||
|  |    | ||||||
|  |   # custom options for this calendar | ||||||
|  |   def event_calendar_opts | ||||||
|  |     {  | ||||||
|  |       :year => @year, | ||||||
|  |       :month => @month, | ||||||
|  |       :event_strips => @event_strips, | ||||||
|  |       :month_name_text => I18n.localize(@shown_month, :format => "%B %Y"), | ||||||
|  |       :previous_month_text => "<< " + month_link(@shown_month.prev_month), | ||||||
|  |       :next_month_text => month_link(@shown_month.next_month) + " >>"    } | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def event_calendar | ||||||
|  |     # args is an argument hash containing :event, :day, and :options | ||||||
|  |     calendar event_calendar_opts do |args| | ||||||
|  |       event = args[:event] | ||||||
|  |       %(<a href="/events/#{event.id}" title="#{h(event.name)}">#{h(event.name)}</a>) | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | end | ||||||
|  | @ -38,9 +38,11 @@ module OrbitBackendHelper | ||||||
| 
 | 
 | ||||||
|   def render_title(title, fields, span, translation) |   def render_title(title, fields, span, translation) | ||||||
|     content_tag :th, :class => "sort #{span} #{is_sort_active?(title)}" do |     content_tag :th, :class => "sort #{span} #{is_sort_active?(title)}" do | ||||||
|  |       content_tag :span do | ||||||
|         link_to (t(translation) + content_tag(:b, nil, :class => is_sort?(title))).html_safe, url_for({:filter => @filter}.merge(sortable(title).merge(:sort_options => fields))), :class => 'js_history' |         link_to (t(translation) + content_tag(:b, nil, :class => is_sort?(title))).html_safe, url_for({:filter => @filter}.merge(sortable(title).merge(:sort_options => fields))), :class => 'js_history' | ||||||
|       end |       end | ||||||
|     end |     end | ||||||
|  |   end | ||||||
| 
 | 
 | ||||||
|   def show_toggle_archive_btn(object) |   def show_toggle_archive_btn(object) | ||||||
|     object.disable ?   t("object_disable.change_to_false") : t("object_disable.change_to_true")  |     object.disable ?   t("object_disable.change_to_false") : t("object_disable.change_to_true")  | ||||||
|  |  | ||||||
|  | @ -9,7 +9,4 @@ class Paper | ||||||
|  	field :coauthors, default: "Allen, Shelly, Eric, Manson, Chris, Clara, Anna, Albee, Vincent, Devin, Chunchi, Ika, Jaoshua, Ray, Matt, Lin, Spen" |  	field :coauthors, default: "Allen, Shelly, Eric, Manson, Chris, Clara, Anna, Albee, Vincent, Devin, Chunchi, Ika, Jaoshua, Ray, Matt, Lin, Spen" | ||||||
|  	field :created_at, type: Date |  	field :created_at, type: Date | ||||||
|  	belongs_to :journal |  	belongs_to :journal | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|  end |  end | ||||||
|  | @ -0,0 +1,40 @@ | ||||||
|  | class ProtoTag | ||||||
|  |   include Mongoid::Document | ||||||
|  |   include Mongoid::Timestamps | ||||||
|  |   include Impressionist::Impressionable | ||||||
|  |    | ||||||
|  |   is_impressionable :counter_cache => { :column_name => :view_count } | ||||||
|  |    | ||||||
|  |   field :key | ||||||
|  |   field :view_count, :type => Integer, :default => 0 | ||||||
|  |   #field :cloud_amper,:type: Integer,:default=> 0  | ||||||
|  | 
 | ||||||
|  |   def self.sorted_for_cloud | ||||||
|  |     tags = {} | ||||||
|  |     self.all.each{ |tag| | ||||||
|  |       tags.merge!({tag => self.get_impressionist(tag)}) | ||||||
|  |     } | ||||||
|  |     if !tags.blank? | ||||||
|  |       sorted_tags = tags.sort{|a,b| a[1]<=>b[1]}.reverse | ||||||
|  |       sorted_tags[0][1] = :hot1 | ||||||
|  |       offset = (sorted_tags.size - 1) / 3 | ||||||
|  |       i = 1 | ||||||
|  |       class_i = 2 | ||||||
|  |       sorted_tags[1..-1].collect!{ |x| | ||||||
|  |         x[1] = "hot#{class_i}" | ||||||
|  |         i == offset ? i = 1 : i += 1 if class_i < 4 | ||||||
|  |         class_i += 1 if i == offset && class_i < 4 | ||||||
|  |       } | ||||||
|  |       sorted_tags | ||||||
|  |     else | ||||||
|  |       [] | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   protected | ||||||
|  |    | ||||||
|  |   def self.get_impressionist(item_tag = self) | ||||||
|  |     item_tag.impressions.where(:created_at.gte=> 14.days.ago,:created_at.lte => Time.now).count | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  | end | ||||||
|  | @ -12,7 +12,7 @@ class Site | ||||||
|   field :private_key, :type => Binary |   field :private_key, :type => Binary | ||||||
|   field :public_key, :type => Binary |   field :public_key, :type => Binary | ||||||
|   field :title_always_on, :type => Boolean, :default => false |   field :title_always_on, :type => Boolean, :default => false | ||||||
| 
 |   field :dashbroad_allow_visitor, :type => Boolean, :default => false | ||||||
|   field :mail_settings, :type => Hash |   field :mail_settings, :type => Hash | ||||||
|    |    | ||||||
|   field :school |   field :school | ||||||
|  |  | ||||||
|  | @ -0,0 +1,4 @@ | ||||||
|  | class SubRoleTag < ProtoTag | ||||||
|  |   has_and_belongs_to_many :sub_roles | ||||||
|  | 
 | ||||||
|  | end | ||||||
|  | @ -1,41 +1,4 @@ | ||||||
| class Tag | class Tag < ProtoTag | ||||||
|   include Mongoid::Document |  | ||||||
|   include Mongoid::Timestamps |  | ||||||
|   include Impressionist::Impressionable |  | ||||||
|    |  | ||||||
|   is_impressionable :counter_cache => { :column_name => :view_count } |  | ||||||
|    |  | ||||||
|   field :key |  | ||||||
|   field :view_count, :type => Integer, :default => 0 |  | ||||||
|   #field :cloud_amper,:type: Integer,:default=> 0  |  | ||||||
|   belongs_to :module_app |   belongs_to :module_app | ||||||
| 
 | 
 | ||||||
|   def self.sorted_for_cloud |  | ||||||
|     tags = {} |  | ||||||
|     self.all.each{ |tag| |  | ||||||
|       tags.merge!({tag => self.get_impressionist(tag)}) |  | ||||||
|     } |  | ||||||
|     if !tags.blank? |  | ||||||
|       sorted_tags = tags.sort{|a,b| a[1]<=>b[1]}.reverse |  | ||||||
|       sorted_tags[0][1] = :hot1 |  | ||||||
|       offset = (sorted_tags.size - 1) / 3 |  | ||||||
|       i = 1 |  | ||||||
|       class_i = 2 |  | ||||||
|       sorted_tags[1..-1].collect!{ |x| |  | ||||||
|         x[1] = "hot#{class_i}" |  | ||||||
|         i == offset ? i = 1 : i += 1 if class_i < 4 |  | ||||||
|         class_i += 1 if i == offset && class_i < 4 |  | ||||||
|       } |  | ||||||
|       sorted_tags |  | ||||||
|     else |  | ||||||
|       [] |  | ||||||
|     end |  | ||||||
|   end |  | ||||||
| 
 |  | ||||||
|   protected |  | ||||||
|    |  | ||||||
|   def self.get_impressionist(item_tag = self) |  | ||||||
|     item_tag.impressions.where(:created_at.gte=> 14.days.ago,:created_at.lte => Time.now).count |  | ||||||
|   end |  | ||||||
| 
 |  | ||||||
| end | end | ||||||
|  |  | ||||||
|  | @ -4,17 +4,55 @@ class AttributeField | ||||||
|   include Mongoid::Timestamps |   include Mongoid::Timestamps | ||||||
|    |    | ||||||
|   field :key |   field :key | ||||||
|   field :markup |   field :markup #[select,text_field,email,date,addr] | ||||||
|   field :locale, :type => Boolean, :default => true |   field :locale, :type => Boolean, :default => true | ||||||
|   field :list_options, :type => Array |   field :list_options, :type => Array | ||||||
|   field :built_in, :type => Boolean, :default => false |   field :built_in, :type => Boolean, :default => false | ||||||
|   field :disabled, :type => Boolean, :default => false |   field :disabled, :type => Boolean, :default => false | ||||||
|   field :title, localize: true |   #field :title, localize: true | ||||||
|  | 
 | ||||||
|  |   field :locale_title, localize: true | ||||||
|  |   field :neutral_title | ||||||
| 
 | 
 | ||||||
|   belongs_to :attribute |   belongs_to :attribute | ||||||
|  |   # belongs_to :role | ||||||
|   has_many :attribute_values |   has_many :attribute_values | ||||||
|    |    | ||||||
|   # validates_uniqueness_of :key |   # validates_uniqueness_of :key | ||||||
|  |   def role | ||||||
|  |     self.attribute.role | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def title_translations | ||||||
|  |     if locale | ||||||
|  |       return locale_title_translations | ||||||
|  |     else | ||||||
|  |       return Hash[VALID_LOCALES.map{|d| [d,neutral_title]}] | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def title_translations=(var) | ||||||
|  |      if locale | ||||||
|  |       self.locale_title_translations = var | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def title | ||||||
|  |     if locale | ||||||
|  |       return self.locale_title | ||||||
|  |     else | ||||||
|  |       return self.neutral_title | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  |    | ||||||
|  |   def title=(var) | ||||||
|  |     binding.pry | ||||||
|  |      if locale  | ||||||
|  |       self.locale_title = var | ||||||
|  |     else | ||||||
|  |       self.neutral_title = var | ||||||
|  |     end | ||||||
|  |   end | ||||||
| 
 | 
 | ||||||
|   # Convert the string list_options into an array |   # Convert the string list_options into an array | ||||||
|   def select_list_options=(var) |   def select_list_options=(var) | ||||||
|  |  | ||||||
|  | @ -10,6 +10,8 @@ class Role | ||||||
|    |    | ||||||
|   has_many :sub_roles, :autosave => true, :dependent => :destroy |   has_many :sub_roles, :autosave => true, :dependent => :destroy | ||||||
|   has_many :users |   has_many :users | ||||||
|  |   has_many :statuses, :autosave => true, :dependent => :destroy | ||||||
|  |   has_many :attribute_fields, :autosave => true, :dependent => :destroy | ||||||
|   accepts_nested_attributes_for :sub_roles, :allow_destroy => true |   accepts_nested_attributes_for :sub_roles, :allow_destroy => true | ||||||
|    |    | ||||||
|   def is_built_in? |   def is_built_in? | ||||||
|  |  | ||||||
|  | @ -0,0 +1,14 @@ | ||||||
|  | class Status | ||||||
|  |    | ||||||
|  |   include Mongoid::Document | ||||||
|  |   include Mongoid::Timestamps | ||||||
|  | 
 | ||||||
|  |   has_and_belongs_to_many :users | ||||||
|  | 
 | ||||||
|  |    | ||||||
|  |   belongs_to :role | ||||||
|  |   # has_and_belongs_to_many :sub_roles   | ||||||
|  | 
 | ||||||
|  |   field :title, localize: true | ||||||
|  |    | ||||||
|  | end | ||||||
|  | @ -2,6 +2,8 @@ class SubRole < Attribute | ||||||
|    |    | ||||||
|   belongs_to :role |   belongs_to :role | ||||||
|   has_and_belongs_to_many :users |   has_and_belongs_to_many :users | ||||||
|  |   #has_and_belongs_to_many :statuses, :autosave => true, :dependent => :destroy | ||||||
|  |   has_and_belongs_to_many :tags, :class_name => "SubRoleTag", :autosave => true | ||||||
| 
 | 
 | ||||||
|   # Get an sub_role from key |   # Get an sub_role from key | ||||||
|   def self.get_sub_role_from_key(key) |   def self.get_sub_role_from_key(key) | ||||||
|  |  | ||||||
|  | @ -14,6 +14,7 @@ class User | ||||||
|   # field :cache_dept |   # field :cache_dept | ||||||
|   # has_one :cache_dept, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy |   # has_one :cache_dept, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy | ||||||
|   field :cache_dept,type: Hash |   field :cache_dept,type: Hash | ||||||
|  |   field :status_record,type: Hash | ||||||
| 
 | 
 | ||||||
|   has_many :attribute_values, :autosave => true, :dependent => :destroy |   has_many :attribute_values, :autosave => true, :dependent => :destroy | ||||||
|   has_many :app_auths,as: :privilege_apps,:inverse_of => :privilege_lists |   has_many :app_auths,as: :privilege_apps,:inverse_of => :privilege_lists | ||||||
|  | @ -25,8 +26,9 @@ class User | ||||||
|   has_many :other_accounts, :autosave => true, :dependent => :destroy |   has_many :other_accounts, :autosave => true, :dependent => :destroy | ||||||
|   has_many :journals, :autosave => true, :dependent => :destroy |   has_many :journals, :autosave => true, :dependent => :destroy | ||||||
|   has_many :papers, :autosave => true, :dependent => :destroy |   has_many :papers, :autosave => true, :dependent => :destroy | ||||||
|  |   has_and_belongs_to_many :sub_role_tags | ||||||
| 
 | 
 | ||||||
|   belongs_to :role |   has_and_belongs_to_many :statuses | ||||||
|   has_and_belongs_to_many :roles |   has_and_belongs_to_many :roles | ||||||
|   has_and_belongs_to_many :sub_roles |   has_and_belongs_to_many :sub_roles | ||||||
|   accepts_nested_attributes_for :attribute_values, :allow_destroy => true  |   accepts_nested_attributes_for :attribute_values, :allow_destroy => true  | ||||||
|  |  | ||||||
|  | @ -1,4 +1,19 @@ | ||||||
| # encoding: utf-8 | # encoding: utf-8 | ||||||
|  | module CarrierWave | ||||||
|  |   module Uploader | ||||||
|  |     module Versions | ||||||
|  |       def recreate_version!(version) | ||||||
|  |         already_cached = cached? | ||||||
|  |         cache_stored_file! if !already_cached | ||||||
|  |         send(version).store! | ||||||
|  |         if !already_cached && @cache_id | ||||||
|  |           tmp_dir = File.expand_path(File.join(cache_dir, cache_id), CarrierWave.root) | ||||||
|  |           FileUtils.rm_rf(tmp_dir) | ||||||
|  |         end | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | end | ||||||
| 
 | 
 | ||||||
| class GalleryUploader < CarrierWave::Uploader::Base | class GalleryUploader < CarrierWave::Uploader::Base | ||||||
| 
 | 
 | ||||||
|  | @ -35,7 +50,7 @@ class GalleryUploader < CarrierWave::Uploader::Base | ||||||
|   # end |   # end | ||||||
|    |    | ||||||
|   version :thumb do |   version :thumb do | ||||||
|     process :resize_to_fill => [120, 90] |     process :resize_to_fill => [150, 120] | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   # Add a white list of extensions which are allowed to be uploaded. |   # Add a white list of extensions which are allowed to be uploaded. | ||||||
|  | @ -60,3 +75,4 @@ class GalleryUploader < CarrierWave::Uploader::Base | ||||||
| #  end | #  end | ||||||
| 
 | 
 | ||||||
| end | end | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -10,8 +10,8 @@ | ||||||
| 			</ul> | 			</ul> | ||||||
| 		</div> | 		</div> | ||||||
| 	</td> | 	</td> | ||||||
| 	<td><%= asset.data.file.content_type %></td> | 	<td><%= asset.data.file.content_type rescue nil %></td> | ||||||
| 	<td><%= number_to_human_size(asset.data.file.file_length) %></td> | 	<td><%= number_to_human_size(asset.data.file.file_length) rescue nil %></td> | ||||||
| 	<td><%= asset.description rescue nil %></td> | 	<td><%= asset.description rescue nil %></td> | ||||||
| 	<td> | 	<td> | ||||||
| 		<div class="label-group"> | 		<div class="label-group"> | ||||||
|  |  | ||||||
|  | @ -9,10 +9,13 @@ | ||||||
| 	  <% end %> | 	  <% end %> | ||||||
| 	<% end %> | 	<% end %> | ||||||
|   <td class='select_type'> |   <td class='select_type'> | ||||||
|  | 
 | ||||||
|     <%= f.select :markup, LIST[:markups], {}, {:style => "width:90px"} %> |     <%= f.select :markup, LIST[:markups], {}, {:style => "width:90px"} %> | ||||||
|     <div <%= attribute_field[:markup].eql?('select') ? nil : "style='display:none'"%>> |     <div <%= attribute_field[:markup].eql?('select') ? nil : "style='display:none'"%>> | ||||||
|       <%= t('admin.options') %>: |       <%= t('admin.options') %>: | ||||||
|       <%= f.select "select_list_options", attribute_field.select_list_options, :style => "width:130px" %> |       <%= f.select "select_list_options", {'1'=>"A",'2'=>"B",'3'=>"C"}, :style => "width:130px" %> | ||||||
|  |       <%#= collection_select(:select_list_options, method, collection, value_method, text_method, options = {}, html_options = {}) %> | ||||||
|  | 
 | ||||||
|     </div> |     </div> | ||||||
|   </td> |   </td> | ||||||
|   <td class="action"> |   <td class="action"> | ||||||
|  |  | ||||||
|  | @ -1,3 +1,6 @@ | ||||||
|  | <% content_for :page_specific_css do -%> | ||||||
|  |     <%= stylesheet_link_tag "item" %> | ||||||
|  | <% end -%> | ||||||
| <div id="isotope"> | <div id="isotope"> | ||||||
|     <div class="item element"> |     <div class="item element"> | ||||||
|         <h3><i class="icons-content"></i><%= t(:content) %></h3> |         <h3><i class="icons-content"></i><%= t(:content) %></h3> | ||||||
|  |  | ||||||
|  | @ -0,0 +1,27 @@ | ||||||
|  | 
 | ||||||
|  |             <div id="module-nav"> | ||||||
|  |                 <div class="arrow_next pull-right"><i class="icon-chevron-right"></i></div> | ||||||
|  |                 <div class="arrow_prev pull-left"><i class="icon-chevron-left"></i></div> | ||||||
|  |                 <div class="module-nav-view"> | ||||||
|  |                     <ul class="nav nav-pills"> | ||||||
|  |                         <li class="active"> | ||||||
|  |                             <a href="#">All</a> | ||||||
|  |                         </li> | ||||||
|  |                         <li><a href="#">學歷</a></li> | ||||||
|  |                         <li><a href="#">經歷</a></li> | ||||||
|  |                         <li><a href="#">研究計畫</a></li> | ||||||
|  |                         <li><a href="#">期刊論文</a></li> | ||||||
|  |                         <li><a href="#">學歷</a></li> | ||||||
|  |                         <li><a href="#">經歷</a></li> | ||||||
|  |                         <li><a href="#">研究計畫</a></li> | ||||||
|  |                         <li><a href="#">期刊論文</a></li> | ||||||
|  |                         <li><a href="#">學歷</a></li> | ||||||
|  |                         <li><a href="#">經歷</a></li> | ||||||
|  |                         <li><a href="#">研究計畫</a></li> | ||||||
|  |                         <li><a href="#">期刊論文</a></li> | ||||||
|  |                         <li><a href="#">學歷</a></li> | ||||||
|  |                         <li><a href="#">經歷</a></li> | ||||||
|  |                         <li><a href="#">期刊論文</a></li> | ||||||
|  |                     </ul> | ||||||
|  |                 </div> | ||||||
|  |             </div> | ||||||
|  | @ -0,0 +1,4 @@ | ||||||
|  | 
 | ||||||
|  |         <div class="subnav"> | ||||||
|  | 			<%= render :partial => 'plugin', :collection => @plugins %> | ||||||
|  |         </div> | ||||||
|  | @ -0,0 +1,16 @@ | ||||||
|  |   <div class="quick-edit"> | ||||||
|  |                             <ul class="nav nav-pills hide"> | ||||||
|  |                                 <li><a href="#"><%= t("admin.new_admin.action.edit")%> </a></li> | ||||||
|  |                                 <li class="dropdown"> | ||||||
|  |                                     <a href="#" data-toggle="dropdown" class="dropdown-toggle"><%= t("admin.new_admin.action.quick_edit")%><b class="caret"></b></a> | ||||||
|  |                                     <ul class="dropdown-menu" id="menu1"> | ||||||
|  |                                         <li><a href="#"># TODO:Basic</a></li> | ||||||
|  |                                         <li><a href="#"># TODO:Picture</a></li> | ||||||
|  |                                         <li><a href="#"># TODO:Tags</a></li> | ||||||
|  |                                         <li><a href="#"># TODO:Link</a></li> | ||||||
|  |                                         <li><a href="#"># TODO:File</a></li> | ||||||
|  |                                     </ul> | ||||||
|  |                                 </li> | ||||||
|  |                                 <li><a href="#"><%= t("admin.new_admin.action.delete")%></a></li> | ||||||
|  |                             </ul> | ||||||
|  |                         </div> | ||||||
|  | @ -37,8 +37,9 @@ | ||||||
|                 </div> |                 </div> | ||||||
|                 <div class="accordion-body collapse" id="collapse-category"> |                 <div class="accordion-body collapse" id="collapse-category"> | ||||||
|                     <div class="accordion-inner" data-toggle="buttons-checkbox"> |                     <div class="accordion-inner" data-toggle="buttons-checkbox"> | ||||||
|                         <a href="#" class="btn">Category1</a> |                         <% @sub_roles.each do |sr|%> | ||||||
|                         <a href="#" class="btn">Category2</a> |                             <a href="#" class="btn"><%= sr.title%></a> | ||||||
|  |                         <% end -%> | ||||||
|                     </div> |                     </div> | ||||||
|                     <div class="filter-clear"> |                     <div class="filter-clear"> | ||||||
|                         <a href="#" class="btn"><i class="icons-brush-large"></i><%= t("admin.new_admin.table_header.clear_filter")%></a> |                         <a href="#" class="btn"><i class="icons-brush-large"></i><%= t("admin.new_admin.table_header.clear_filter")%></a> | ||||||
|  | @ -46,26 +47,9 @@ | ||||||
|                 </div> |                 </div> | ||||||
|                 <div class="accordion-body collapse" id="collapse-tags"> |                 <div class="accordion-body collapse" id="collapse-tags"> | ||||||
|                     <div class="accordion-inner" data-toggle="buttons-checkbox"> |                     <div class="accordion-inner" data-toggle="buttons-checkbox"> | ||||||
|                         <a href="#" class="btn">Tag1</a> |                         <% @sub_role_tags.each do |sr_tag|%> | ||||||
|                         <a href="#" class="btn">Tag2</a> |                             <a href="#" class="btn"><%= sr_tag[I18n.locale] %></a> | ||||||
|                         <a href="#" class="btn">Tag3</a> |                         <% end -%> | ||||||
|                         <a href="#" class="btn">Tag4</a> |  | ||||||
|                         <a href="#" class="btn">Tag5</a> |  | ||||||
|                         <a href="#" class="btn">Tag6</a> |  | ||||||
|                         <a href="#" class="btn">Tag7</a> |  | ||||||
|                         <a href="#" class="btn">Tag8</a> |  | ||||||
|                         <a href="#" class="btn">Tag9</a> |  | ||||||
|                         <a href="#" class="btn">Tag10</a> |  | ||||||
|                         <a href="#" class="btn">Tag11</a> |  | ||||||
|                         <a href="#" class="btn">Tag12</a> |  | ||||||
|                         <a href="#" class="btn">Tag13</a> |  | ||||||
|                         <a href="#" class="btn">Tag14</a> |  | ||||||
|                         <a href="#" class="btn">Tag15</a> |  | ||||||
|                         <a href="#" class="btn">Tag16</a> |  | ||||||
|                         <a href="#" class="btn">Tag17</a> |  | ||||||
|                         <a href="#" class="btn">Tag18</a> |  | ||||||
|                         <a href="#" class="btn">Tag19</a> |  | ||||||
|                         <a href="#" class="btn">Tag20</a> |  | ||||||
|                     </div> |                     </div> | ||||||
|                     <div class="filter-clear"> |                     <div class="filter-clear"> | ||||||
|                         <a href="#" class="btn"><i class="icons-brush-large"></i><%= t("admin.new_admin.table_header.clear_filter")%></a> |                         <a href="#" class="btn"><i class="icons-brush-large"></i><%= t("admin.new_admin.table_header.clear_filter")%></a> | ||||||
|  |  | ||||||
|  | @ -2,16 +2,7 @@ | ||||||
|             <%= link_to(new_admin_users_new_interface_path,:class=> "btn btn-primary pull-right") do%> |             <%= link_to(new_admin_users_new_interface_path,:class=> "btn btn-primary pull-right") do%> | ||||||
|                 <i class="icon-plus icon-white"></i><%= t("admin.new_admin.action.add")%> |                 <i class="icon-plus icon-white"></i><%= t("admin.new_admin.action.add")%> | ||||||
|             <% end -%> |             <% end -%> | ||||||
|             <div class="paginationFixed"> |             <div class="paginationFixed" id="user_pagination"> | ||||||
|                 <div class="pagination"> |                <%= paginate @users, :params => {:inner => false}%> | ||||||
|                     <ul> |  | ||||||
|                         <li><a href="#"><%= t("admin.new_admin.action.prev")%></a></li> |  | ||||||
|                         <li class="active"><a href="#">1</a></li> |  | ||||||
|                         <li><a href="#">2</a></li> |  | ||||||
|                         <li><a href="#">3</a></li> |  | ||||||
|                         <li><a href="#">4</a></li> |  | ||||||
|                         <li><a href="#"><%= t("admin.new_admin.action.next")%></a></li> |  | ||||||
|                     </ul> |  | ||||||
|                 </div> |  | ||||||
|             </div> |             </div> | ||||||
|         </div> |         </div> | ||||||
|  |  | ||||||
|  | @ -0,0 +1,7 @@ | ||||||
|  | <% content_for :page_specific_css do -%> | ||||||
|  |     <%= stylesheet_link_tag "member" %> | ||||||
|  |     <%= stylesheet_link_tag "item"%> | ||||||
|  | <% end -%> | ||||||
|  | <% content_for :page_specific_javascript do -%> | ||||||
|  |     <%#= javascript_include_tag "/static/jquery.cycle.all.latest.js" %> | ||||||
|  | <% end -%> | ||||||
|  | @ -0,0 +1,46 @@ | ||||||
|  |                 <div class="item element"> | ||||||
|  |                     <h3><i class="icons-content"></i>Module Name</h3> | ||||||
|  |                     <div class="detail w-a h-a"> | ||||||
|  |                         <table class="table table-striped"> | ||||||
|  |                             <thead> | ||||||
|  |                                 <tr> | ||||||
|  |                                     <th>模組</th> | ||||||
|  |                                     <th class="span2">數量</th> | ||||||
|  |                                 </tr> | ||||||
|  |                             </thead> | ||||||
|  |                         </table> | ||||||
|  |                         <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>University</td> | ||||||
|  |                                                 <td class="span2">2,304</td> | ||||||
|  |                                             </tr> | ||||||
|  |                                             <tr> | ||||||
|  |                                                 <td>Master</td> | ||||||
|  |                                                 <td class="span2">783</td> | ||||||
|  |                                             </tr> | ||||||
|  |                                             <tr> | ||||||
|  |                                                 <td>Doctor</td> | ||||||
|  |                                                 <td class="span2">45</td> | ||||||
|  |                                             </tr> | ||||||
|  |                                             <tr> | ||||||
|  |                                                 <td>Staff</td> | ||||||
|  |                                                 <td class="span2">62</td> | ||||||
|  |                                             </tr> | ||||||
|  |                                         </tbody> | ||||||
|  |                                     </table> | ||||||
|  |                                 </div> | ||||||
|  |                             </div> | ||||||
|  |                         </div> | ||||||
|  |                     </div> | ||||||
|  |                 </div> | ||||||
|  | @ -0,0 +1,7 @@ | ||||||
|  | <%#= render_sort_bar(true, delete_admin_assets_path(:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil, :sort_options => params[:sort_options]), | ||||||
|  |  ['title', 'title','span4', 'admin.title'], | ||||||
|  |                           ['description', 'description', 'span1-2', 'admin.data'], | ||||||
|  |                           ['intro', 'intro', 'span1-2', 'admin.file_type'], | ||||||
|  |                           ['intro', 'intro', 'span1-2', 'admin.file_length'], | ||||||
|  |                           ['intro', 'intro', 'span1-2', 'admin.description'], | ||||||
|  |                           ['intro', 'intro', 'span1-2', 'admin.tags']).html_safe %> | ||||||
|  | @ -2,36 +2,21 @@ | ||||||
|                     <td class="span1"><input type="checkbox"></td> |                     <td class="span1"><input type="checkbox"></td> | ||||||
|                     <td class="span3"> |                     <td class="span3"> | ||||||
|                         <div class="label-group"> |                         <div class="label-group"> | ||||||
|                             <div class="label-td"> |                             <div class="label-td"><!--  | ||||||
|                                 <span class="label label-teacher"># TODO:Teacher</span> |                                 <span class="label label-teacher"># TODO:Teacher</span> | ||||||
|                                 <span class="label label-student"># TODO:Student</span> |                                 <span class="label label-student"># TODO:Student</span> | ||||||
|                                 <span class="label label-staff"># TODO:Staff</span> |                                 <span class="label label-staff"># TODO:Staff</span> --> | ||||||
|                             </div> |                             </div> | ||||||
|                         </div> |                         </div> | ||||||
|                     </td> |                     </td> | ||||||
|                     <td class="span1-2"> |                     <td class="span1-2"> | ||||||
|                         <%= user_for_listing.name %> |                         <%= link_to user_for_listing.name,admin_users_new_interface_path(user_for_listing) %> | ||||||
|                         <div class="quick-edit"> |                         <%#= render "deled_quick_edit"%> | ||||||
|                             <ul class="nav nav-pills hide"> |  | ||||||
|                                 <li><a href="#"><%= t("admin.new_admin.action.edit")%> </a></li> |  | ||||||
|                                 <li class="dropdown"> |  | ||||||
|                                     <a href="#" data-toggle="dropdown" class="dropdown-toggle"><%= t("admin.new_admin.action.quick_edit")%><b class="caret"></b></a> |  | ||||||
|                                     <ul class="dropdown-menu" id="menu1"> |  | ||||||
|                                         <li><a href="#"># TODO:Basic</a></li> |  | ||||||
|                                         <li><a href="#"># TODO:Picture</a></li> |  | ||||||
|                                         <li><a href="#"># TODO:Tags</a></li> |  | ||||||
|                                         <li><a href="#"># TODO:Link</a></li> |  | ||||||
|                                         <li><a href="#"># TODO:File</a></li> |  | ||||||
|                                     </ul> |  | ||||||
|                                 </li> |  | ||||||
|                                 <li><a href="#"><%= t("admin.new_admin.action.delete")%></a></li> |  | ||||||
|                             </ul> |  | ||||||
|                         </div> |  | ||||||
|                     </td> |                     </td> | ||||||
|                     <td class="span2"># TODO</td> |                     <td class="span2"><%= Random.rand(1000)%></td> | ||||||
|                     <td class="span2"># TODO</td> |                     <td class="span2"><%= Random.rand(10)%></td> | ||||||
|                     <td class="span2"> |                     <td class="span2"> | ||||||
|                         10,597 |                         <%= Random.rand(10000)%> | ||||||
|                         <p class="gender male"></p> |                         <p class="gender male"></p> | ||||||
|                     </td> |                     </td> | ||||||
|                 </tr> |                 </tr> | ||||||
|  | @ -11,11 +11,11 @@ | ||||||
|                         <p class="gender male"></p> |                         <p class="gender male"></p> | ||||||
|                         <div class="user-avatar pull-left"> |                         <div class="user-avatar pull-left"> | ||||||
|                             <p class="reflective"></p> |                             <p class="reflective"></p> | ||||||
|                             <%= image_tag(user_for_summary.avatar.thumb.url) %> |                             <%= show_avatar(user_for_summary) %> | ||||||
|                         </div> |                         </div> | ||||||
|                         <div class="user-meta"> |                         <div class="user-meta"> | ||||||
|                             <p class="user-name"> |                             <p class="user-name"> | ||||||
|                                 <%= user_for_summary.name%> |                                 <%= link_to user_for_summary.name,admin_users_new_interface_path(user_for_summary)%> | ||||||
|                             </p> |                             </p> | ||||||
|                             <div class="user-title"> |                             <div class="user-title"> | ||||||
|                                 <span>#TODO 教授兼系主任</span><span>#TODO 大學部校友</span> |                                 <span>#TODO 教授兼系主任</span><span>#TODO 大學部校友</span> | ||||||
|  |  | ||||||
|  | @ -11,11 +11,11 @@ | ||||||
|                         <p class="gender male"></p> |                         <p class="gender male"></p> | ||||||
|                         <div class="user-avatar"> |                         <div class="user-avatar"> | ||||||
|                             <p class="reflective"></p> |                             <p class="reflective"></p> | ||||||
|                             <%= image_tag(user_for_thumbnail.avatar.thumb.url) %> |                             <%= show_avatar(user_for_thumbnail) %> | ||||||
|                         </div> |                         </div> | ||||||
|                         <div class="user-meta"> |                         <div class="user-meta"> | ||||||
|                             <p class="user-name"> |                             <p class="user-name"> | ||||||
|                                 <%= user_for_thumbnail.name%> |                                 <%= link_to user_for_thumbnail.name,admin_users_new_interface_path(user_for_thumbnail)%> | ||||||
|                             </p> |                             </p> | ||||||
|                         </div> |                         </div> | ||||||
|                     </div> |                     </div> | ||||||
|  |  | ||||||
|  | @ -0,0 +1,16 @@ | ||||||
|  |                         <div class="roles <%= role_class %>"> | ||||||
|  |                             <div class="label-line"> | ||||||
|  |                                 <hr /> | ||||||
|  |                                 <span><%= t(i18n)%></span> | ||||||
|  |                             </div> | ||||||
|  |                             <table class="table"> | ||||||
|  |                                 <tbody> | ||||||
|  |                                     <% items.each do |item| %> | ||||||
|  |                                         <tr> | ||||||
|  |                                             <td class="span1"><%= item[:name] %></td> | ||||||
|  |                                             <td><%= item[:value] %></td> | ||||||
|  |                                         </tr> | ||||||
|  |                                     <% end -%> | ||||||
|  |                                 </tbody> | ||||||
|  |                             </table> | ||||||
|  |                         </div> | ||||||
|  | @ -1,4 +1,6 @@ | ||||||
|     <%= render :partial => "filter"%> | <%= render :partial => "js_and_css"%> | ||||||
|  | 
 | ||||||
|  | <%= render :partial => "filter"%> | ||||||
|     <table class="table main-list member-list"> |     <table class="table main-list member-list"> | ||||||
|         <thead> |         <thead> | ||||||
|             <tr> |             <tr> | ||||||
|  | @ -10,9 +12,9 @@ | ||||||
|                 <th class="span2"></th> |                 <th class="span2"></th> | ||||||
|             </tr> |             </tr> | ||||||
|         </thead> |         </thead> | ||||||
|             <tbody> |         <tbody id="tbody_users"> | ||||||
|             <%= render :partial => "user_for_listing",:collection=> [@users.first]%> |         <%= render :partial => "user_for_listing",:collection=> @users%> | ||||||
|         </tbody> |         </tbody> | ||||||
|     </table> |     </table> | ||||||
| 
 | 
 | ||||||
|     <%= render :partial=> "index_paginator" %> | <%= render :partial=> "index_paginator" %> | ||||||
|  |  | ||||||
|  | @ -0,0 +1,3 @@ | ||||||
|  | $("#sort_headers").html("<%= j render 'sort_headers' %>"); | ||||||
|  | $("#tbody_users").html("<%= j render :partial => 'user_for_listing', :collection => @users %>"); | ||||||
|  | $("#user_pagination").html("<%= j paginate @users, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %>"); | ||||||
|  | @ -1,9 +1,9 @@ | ||||||
|     <%= render :partial => "filter"%> | <%= render :partial => "js_and_css"%> | ||||||
|  | 
 | ||||||
|  | <%= render :partial => "filter"%> | ||||||
|     <div class="member-abstract"> |     <div class="member-abstract"> | ||||||
|             <ul class="clear"> |         <ul class="clear" id="summary_block_users"> | ||||||
|                 <% 5.times do %> |                 <%= render :partial=>"user_for_summary",:collection=> @users%> | ||||||
|                     <%= render :partial=>"user_for_summary",:collection=> [@users.first]%> |  | ||||||
|                 <% end -%> |  | ||||||
|         </ul> |         </ul> | ||||||
|     </div> |     </div> | ||||||
|     <%= render :partial=> "index_paginator" %> | <%= render :partial=> "index_paginator" %> | ||||||
|  | @ -0,0 +1,3 @@ | ||||||
|  | $("#sort_headers").html("<%= j render 'sort_headers' %>"); | ||||||
|  | $("#summary_block_users").html("<%= j render :partial => 'user_for_summary', :collection => @users %>"); | ||||||
|  | $("#user_pagination").html("<%= j paginate @users, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %>"); | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
|     <%= render :partial => "filter"%> | <%= render :partial => "js_and_css"%> | ||||||
|  | 
 | ||||||
|  | <%= render :partial => "filter"%> | ||||||
|     <div class="member-large"> |     <div class="member-large"> | ||||||
|             <ul class="clear"> |         <ul class="clear" id="thumbnail_block_users"> | ||||||
|                 <% 5.times do %> |             <%= render :partial=>"user_for_thumbnail",:collection=> @users%> | ||||||
|                     <%= render :partial=>"user_for_thumbnail",:collection=> [@users.first]%> |  | ||||||
|                 <% end -%> |  | ||||||
|         </div> |         </div> | ||||||
|     <%= render :partial=> "index_paginator" %> | <%= render :partial=> "index_paginator" %> | ||||||
|  | @ -0,0 +1,3 @@ | ||||||
|  | $("#sort_headers").html("<%= j render 'sort_headers' %>"); | ||||||
|  | $("#thumbnail_block_users").html("<%= j render :partial => 'user_for_thumbnail', :collection => @users %>"); | ||||||
|  | $("#user_pagination").html("<%= j paginate @users, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %>"); | ||||||
|  | @ -1,135 +1,59 @@ | ||||||
|         <div class="user-info clear"> | <%= render :partial => "js_and_css"%> | ||||||
|  | 
 | ||||||
|  |         <div id="isotope" class="user-data"> | ||||||
|  |             <div id="module-nav"> | ||||||
|  |                 <div class="arrow_next pull-right"><i class="icon-chevron-right"></i></div> | ||||||
|  |                 <div class="arrow_prev pull-left"><i class="icon-chevron-left"></i></div> | ||||||
|  |                 <div class="module-nav-view"> | ||||||
|  |                     <ul class="nav nav-pills"> | ||||||
|  |                         <li class="active"> | ||||||
|  |                             <a href="#"><%= t("admin.new_admin.users.all_plugin_summary")%></a> | ||||||
|  |                         </li> | ||||||
|  |                         <li><a href="#">學歷</a></li> | ||||||
|  |                         <li><a href="#">學歷</a></li> | ||||||
|  |                         <li><a href="#">學歷</a></li> | ||||||
|  |                         <li><a href="#">學歷</a></li> | ||||||
|  | 
 | ||||||
|  |                     </ul> | ||||||
|  |                 </div> | ||||||
|  |             </div> | ||||||
|  |             <div class="member-plugin"> | ||||||
|  |                 <% #binding.pry%> | ||||||
|  |                 <%= render :partial=> 'plugin_summary'%> | ||||||
|  |                 <%= render :partial=> 'plugin_summary'%> | ||||||
|  |                 <%= render :partial=> 'plugin_summary'%> | ||||||
|  |             </div> | ||||||
|  |         </div> | ||||||
|  |         <div class="user-info"> | ||||||
|  |             <div id="brand" class="clear"> | ||||||
|  |                 <p class="gender male"></p> | ||||||
|                 <div class="user-avatar pull-left"> |                 <div class="user-avatar pull-left"> | ||||||
|                     <p class="reflective"></p> |                     <p class="reflective"></p> | ||||||
|                 <%= image_tag(@user.avatar.url) %> |                    <%= show_avatar(@user) %> | ||||||
|                 </div> |                 </div> | ||||||
|             <div class="user-info-basic clear"> |  | ||||||
|                 <p class="gender male"></p> |  | ||||||
|                 <a class="btn pull-right" href="#"><i class="icon-edit"></i> <%= t("admin.new_admin.action.edit")%></a> |  | ||||||
|                 <p class="user-name"> |                 <p class="user-name"> | ||||||
|                     <%= @user.name %> |                     <%= @user.name%> | ||||||
|                 </p> |                 </p> | ||||||
|                 <p class="user-mail"> |                 <p class="user-mail"> | ||||||
|                     <%= @user.email %> |                     <%= @user.email %> | ||||||
|                 </p> |                 </p> | ||||||
|                 <hr /> |                 <button class="btn btn-small"><i class="icon-pencil"></i> <%= t("admin.edit")%></button> | ||||||
|             </div> |             </div> | ||||||
|         </div> |             <div class="user-roles my_scroll"> | ||||||
|         <div class="user-data"> |                 <div class="scrollbar"> | ||||||
|             <ul class="roles-nav"> |                     <div class="track"> | ||||||
|                 <li class="teacher active"> |                         <div class="thumb"> | ||||||
|                     <a href="#teacher" data-toggle="tab"> |                             <div class="end"></div> | ||||||
|                         Teacher |  | ||||||
|                     </a> |  | ||||||
|                 </li> |  | ||||||
|                 <li class="student"> |  | ||||||
|                     <a href="#student" data-toggle="tab"> |  | ||||||
|                         Student |  | ||||||
|                     </a> |  | ||||||
|                 </li> |  | ||||||
|                 <li class="staff"> |  | ||||||
|                     <a href="#staff" data-toggle="tab"> |  | ||||||
|                         Staff |  | ||||||
|                     </a> |  | ||||||
|                 </li> |  | ||||||
|                 <li class="data"> |  | ||||||
|                     <a href="#data" data-toggle="tab"> |  | ||||||
|                         Data |  | ||||||
|                     </a> |  | ||||||
|                 </li> |  | ||||||
|             </ul> |  | ||||||
|             <div class="tab-content user-info-roles"> |  | ||||||
|                 <div class="tab-pane fade in active teacher" id="teacher"> |  | ||||||
|                     <p>講師</p> |  | ||||||
|                 </div> |  | ||||||
|                 <div class="tab-pane fade staff" id="staff"> |  | ||||||
|                     staff |  | ||||||
|                 </div> |  | ||||||
|                 <div class="tab-pane fade student" id="student"> |  | ||||||
|                     student |  | ||||||
|                 </div> |  | ||||||
|                 <div class="tab-pane fade data" id="data"> |  | ||||||
|                     <div class="data-block information"> |  | ||||||
|                         <h2>Information</h2> |  | ||||||
|                         <hr> |  | ||||||
|                         <div class="info_input"> |  | ||||||
|                             <table> |  | ||||||
|                                 <thead class="list_head"> |  | ||||||
|                                   <tr> |  | ||||||
|                                     <td>Key</td> |  | ||||||
|                                     <td>English</td> |  | ||||||
|                                     <td>Chinese</td> |  | ||||||
|                                   </tr> |  | ||||||
|                                 </thead> |  | ||||||
|                                 <tbody> |  | ||||||
|                                   <tr class="list_item"> |  | ||||||
|                                     <td>Last Name</td> |  | ||||||
|                                     <td>Last Name</td> |  | ||||||
|                                     <td>姓</td> |  | ||||||
|                                   </tr> |  | ||||||
|                                   <tr class="list_item"> |  | ||||||
|                                     <td>First Name</td> |  | ||||||
|                                     <td>First Name</td> |  | ||||||
|                                     <td>名</td> |  | ||||||
|                                   </tr> |  | ||||||
|                                 </tbody> |  | ||||||
|                             </table> |  | ||||||
|                         </div> |  | ||||||
|                     </div> |  | ||||||
|                     <div class="data-block teacher"> |  | ||||||
|                         <h2>Teacher</h2> |  | ||||||
|                         <hr> |  | ||||||
|                         <div class="info_input"> |  | ||||||
|                             <table> |  | ||||||
|                                 <thead class="list_head"> |  | ||||||
|                                   <tr> |  | ||||||
|                                     <td>Key</td> |  | ||||||
|                                     <td>English</td> |  | ||||||
|                                     <td>Chinese</td> |  | ||||||
|                                   </tr> |  | ||||||
|                                 </thead> |  | ||||||
|                                 <tbody> |  | ||||||
|                                   <tr class="list_item"> |  | ||||||
|                                     <td>Last Name</td> |  | ||||||
|                                     <td>Last Name</td> |  | ||||||
|                                     <td>姓</td> |  | ||||||
|                                   </tr> |  | ||||||
|                                   <tr class="list_item"> |  | ||||||
|                                     <td>First Name</td> |  | ||||||
|                                     <td>First Name</td> |  | ||||||
|                                     <td>名</td> |  | ||||||
|                                   </tr> |  | ||||||
|                                 </tbody> |  | ||||||
|                             </table> |  | ||||||
|                         </div> |  | ||||||
|                     </div> |  | ||||||
|                     <div class="data-block student"> |  | ||||||
|                         <h2>Student</h2> |  | ||||||
|                         <hr> |  | ||||||
|                         <div class="info_input"> |  | ||||||
|                             <table> |  | ||||||
|                                 <thead class="list_head"> |  | ||||||
|                                   <tr> |  | ||||||
|                                     <td>Key</td> |  | ||||||
|                                     <td>English</td> |  | ||||||
|                                     <td>Chinese</td> |  | ||||||
|                                   </tr> |  | ||||||
|                                 </thead> |  | ||||||
|                                 <tbody> |  | ||||||
|                                   <tr class="list_item"> |  | ||||||
|                                     <td>Last Name</td> |  | ||||||
|                                     <td>Last Name</td> |  | ||||||
|                                     <td>姓</td> |  | ||||||
|                                   </tr> |  | ||||||
|                                   <tr class="list_item"> |  | ||||||
|                                     <td>First Name</td> |  | ||||||
|                                     <td>First Name</td> |  | ||||||
|                                     <td>名</td> |  | ||||||
|                                   </tr> |  | ||||||
|                                 </tbody> |  | ||||||
|                             </table> |  | ||||||
|                         </div> |                         </div> | ||||||
|                     </div> |                     </div> | ||||||
|                 </div> |                 </div> | ||||||
|  |                 <div class="viewport"> | ||||||
|  |                     <div class="overview"> | ||||||
|  |                         <%= render :partial=> "user_role",:locals=>{:role_class=>"basic",:i18n=>"admin.new_admin.users.profile",:items=>@profile_data} %> | ||||||
|  |                         <%= render :partial=> "user_role",:locals=>{:role_class=>"teacher",:i18n=>"admin.new_admin.users.roles.teacher",:items=>@teacher_data} %> | ||||||
|  |                         <%= render :partial=> "user_role",:locals=>{:role_class=>"student",:i18n=>"admin.new_admin.users.roles.student",:items=>@student_data}%> | ||||||
|  |                         <%= render :partial=> "user_role",:locals=>{:role_class=>"staff",:i18n=>"admin.new_admin.users.roles.staff",:items=>@staff_data} %> | ||||||
|  |                     </div> | ||||||
|  |                 <div> | ||||||
|             </div> |             </div> | ||||||
|         </div> |         </div> | ||||||
|  | @ -6,12 +6,16 @@ | ||||||
| 			    <a class="brand dropdown-toggle" data-toggle="dropdown" href="#">Orbit</a> | 			    <a class="brand dropdown-toggle" data-toggle="dropdown" href="#">Orbit</a> | ||||||
| 			    <ul class="dropdown-menu"> | 			    <ul class="dropdown-menu"> | ||||||
| 							<li><%= link_to content_tag(:i, nil, :class => 'icons-dashboard') + t('admin.dashboard'), admin_dashboards_path %></li> | 							<li><%= link_to content_tag(:i, nil, :class => 'icons-dashboard') + t('admin.dashboard'), admin_dashboards_path %></li> | ||||||
|  | 							<li><%= link_to content_tag(:i, nil, :class => 'icons-member') + t('admin.new_admin.user'), admin_users_new_interface_index_path %></li> | ||||||
|  | 
 | ||||||
| 			        <li><%#= link_to content_tag(:i, nil, :class => 'icons-content') + t('admin.content') %></li> | 			        <li><%#= link_to content_tag(:i, nil, :class => 'icons-content') + t('admin.content') %></li> | ||||||
| 							<li><%#= link_to content_tag(:i, nil, :class => 'icons-member') + t('admin.member'), admin_users_path %></li> | 							<li><%#= link_to content_tag(:i, nil, :class => 'icons-member') + t('admin.member'), admin_users_path %></li> | ||||||
| 							<li><%#= link_to content_tag(:i, nil, :class => 'icons-asset') + t('admin.asset'), admin_assets_path %></li> | 							<li><%#= link_to content_tag(:i, nil, :class => 'icons-asset') + t('admin.asset'), admin_assets_path %></li> | ||||||
|  | 							<%if (is_admin? rescue false)%> | ||||||
| 			        <li class="divider"></li> | 			        <li class="divider"></li> | ||||||
| 							<li><%= link_to content_tag(:i, nil, :class => 'icons-structure') + t('admin.structure'), admin_items_path %></li> | 							<li><%= link_to content_tag(:i, nil, :class => 'icons-structure') + t('admin.structure'), admin_items_path %></li> | ||||||
| 							<li><%= link_to content_tag(:i, nil, :class => 'icons-cog') + t('admin.site_settings'), admin_site_site_info_path(@site) %></li> | 							<li><%= link_to content_tag(:i, nil, :class => 'icons-cog') + t('admin.site_settings'), admin_site_site_info_path(@site) %></li> | ||||||
|  | 							<% end -%> | ||||||
| 			        <li><%#= link_to content_tag(:i, nil, :class => 'icons-plus-cube') + t('admin.add_item') %></li> | 			        <li><%#= link_to content_tag(:i, nil, :class => 'icons-plus-cube') + t('admin.add_item') %></li> | ||||||
| 			    </ul> | 			    </ul> | ||||||
| 			    <% else %> | 			    <% else %> | ||||||
|  |  | ||||||
|  | @ -6,28 +6,28 @@ | ||||||
| <% end %> | <% end %> | ||||||
| 
 | 
 | ||||||
| <%= content_tag :li, :class => (active_for_controllers('bulletins', '/panel/announcement/back_end/tags', 'bulletin_categorys', 'approvals') ||  active_for_app_auth('Announcement') || active_for_ob_auths_object("BulletinCategory") ) do -%> | <%= content_tag :li, :class => (active_for_controllers('bulletins', '/panel/announcement/back_end/tags', 'bulletin_categorys', 'approvals') ||  active_for_app_auth('Announcement') || active_for_ob_auths_object("BulletinCategory") ) do -%> | ||||||
| 	<%= link_to content_tag(:i, nil, :class => 'icons-announcement') + t('admin.announcement'), panel_announcement_back_end_bulletins_path %> | 	<%= link_to content_tag(:i, nil, :class => 'icons-announcement') + content_tag(:span, t('admin.announcement')), panel_announcement_back_end_bulletins_path %> | ||||||
| 	<%= content_tag :ul, :class => ("nav nav-list " + (visible_for_controllers('bulletins', '/panel/announcement/back_end/tags', 'bulletin_categorys', 'approvals')||active_for_ob_auths_object("BulletinCategory"))) do -%> | 	<%= content_tag :ul, :class => ("nav nav-list " + (visible_for_controllers('bulletins', '/panel/announcement/back_end/tags', 'bulletin_categorys', 'approvals')||active_for_ob_auths_object("BulletinCategory"))) do -%> | ||||||
| 		<%= content_tag :li, link_to(t('announcement.all_articles'), panel_announcement_back_end_bulletins_path), :class => active_for_action('bulletins', 'index') %> | 		<%= content_tag :li, link_to((t('announcement.all_articles') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_announcement_back_end_bulletins_path), :class => active_for_action('bulletins', 'index') %> | ||||||
| 		<%= content_tag :li, link_to(t('announcement.add_new'), new_panel_announcement_back_end_bulletin_path), :class => active_for_action('bulletins', 'new') %> | 		<%= content_tag :li, link_to((t('announcement.add_new') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, new_panel_announcement_back_end_bulletin_path), :class => active_for_action('bulletins', 'new') if (is_manager? rescue nil) %> | ||||||
| 		<%= content_tag :li, link_to(t('announcement.categories'), panel_announcement_back_end_bulletin_categorys_path), :class =>( active_for_action('bulletin_categorys', 'index') || active_for_ob_auths_object("BulletinCategory") ) %> | 		<%= content_tag :li, link_to((t('announcement.categories') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_announcement_back_end_bulletin_categorys_path), :class =>( active_for_action('bulletin_categorys', 'index') || active_for_ob_auths_object("BulletinCategory") )if (is_manager? rescue nil) %> | ||||||
| 		<%= content_tag :li, link_to(t('announcement.tags'), panel_announcement_back_end_tags_path), :class => active_for_action('/panel/announcement/back_end/tags', 'index') %> | 		<%= content_tag :li, link_to((t('announcement.tags') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_announcement_back_end_tags_path), :class => active_for_action('/panel/announcement/back_end/tags', 'index')if (is_manager? rescue nil) %> | ||||||
| 		<%= content_tag :li, link_to(t('announcement.bulletin.approval_setting'), panel_announcement_back_end_approval_setting_path), :class => active_for_action('approvals', 'setting')  if (is_manager? rescue true) %> | 		<%= content_tag :li, link_to((t('announcement.bulletin.approval_setting') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_announcement_back_end_approval_setting_path), :class => active_for_action('approvals', 'setting')  if (is_manager? rescue nil) %> | ||||||
| 		<%= content_tag :li, link_to(t('admin.module.authorization'),admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {title: "Announcement"}))), :class => active_for_app_auth('Announcement') if (is_admin? rescue nil) %> | 		<%= content_tag :li, link_to((t('admin.module.authorization') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe,admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {title: "Announcement"}))), :class => active_for_app_auth('Announcement') if (is_admin? rescue nil) %> | ||||||
| 
 | 
 | ||||||
| 	<% end -%> | 	<% end -%> | ||||||
| 
 | 
 | ||||||
| <% end -%> | <% end -%> | ||||||
| 
 | 
 | ||||||
| <%= content_tag :li, :class =>( active_for_controllers('news_bulletins', '/panel/news/back_end/tags', 'news_bulletin_categorys', 'news_approvals')||  active_for_app_auth('news') || active_for_ob_auths_object("NewsBulletinCategory")) do -%> | <%= content_tag :li, :class =>( active_for_controllers('news_bulletins', '/panel/news/back_end/tags', 'news_bulletin_categorys', 'news_approvals')||  active_for_app_auth('news') || active_for_ob_auths_object("NewsBulletinCategory")) do -%> | ||||||
| 	<%= link_to content_tag(:i, nil, :class => 'icons-announcement') + t('admin.news'), panel_news_back_end_news_bulletins_path %> | 	<%= link_to content_tag(:i, nil, :class => 'icons-announcement') + content_tag(:span, t('admin.news')), panel_news_back_end_news_bulletins_path %> | ||||||
| 	<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('news_bulletins', '/panel/news/back_end/tags', 'news_bulletin_categorys', 'news_approvals')) do -%> | 	<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('news_bulletins', '/panel/news/back_end/tags', 'news_bulletin_categorys', 'news_approvals')) do -%> | ||||||
| 		<%= content_tag :li, link_to(t('announcement.all_articles'), panel_news_back_end_news_bulletins_path), :class => active_for_action('news_bulletins', 'index') %> | 		<%= content_tag :li, link_to((t('announcement.all_articles') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_news_back_end_news_bulletins_path), :class => active_for_action('news_bulletins', 'index') %> | ||||||
| 		<%= content_tag :li, link_to(t('announcement.add_new'), new_panel_news_back_end_news_bulletin_path), :class => active_for_action('news_bulletins', 'new') %> | 		<%= content_tag :li, link_to((t('announcement.add_new') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, new_panel_news_back_end_news_bulletin_path), :class => active_for_action('news_bulletins', 'new') if (is_manager? rescue nil) %> | ||||||
| 		<%= content_tag :li, link_to(t('announcement.categories'), panel_news_back_end_news_bulletin_categorys_path), :class => active_for_action('news_bulletin_categorys', 'index') || active_for_ob_auths_object("NewsBulletinCategory") %> | 		<%= content_tag :li, link_to((t('announcement.categories') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_news_back_end_news_bulletin_categorys_path), :class => active_for_action('news_bulletin_categorys', 'index') || active_for_ob_auths_object("NewsBulletinCategory") if (is_manager? rescue nil) %> | ||||||
| 		<%= content_tag :li, link_to(t('announcement.tags'), panel_news_back_end_tags_path), :class => active_for_action('/panel/news/back_end/tags', 'index') %> | 		<%= content_tag :li, link_to((t('announcement.tags') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_news_back_end_tags_path), :class => active_for_action('/panel/news/back_end/tags', 'index') if (is_manager? rescue nil)%> | ||||||
| 		<%= content_tag :li, link_to(t('announcement.bulletin.approval_setting'), panel_news_back_end_approval_setting_path), :class => active_for_action('news_approvals', 'setting')  if (is_manager? rescue true) %> | 		<%= content_tag :li, link_to((t('announcement.bulletin.approval_setting') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_news_back_end_approval_setting_path), :class => active_for_action('news_approvals', 'setting')  if (is_manager? rescue nil) %> | ||||||
| 		<%= content_tag :li, link_to(t('admin.module.authorization'),admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {key: "news"}))), :class => active_for_app_auth('news') if (is_admin? rescue nil) %> | 		<%= content_tag :li, link_to((t('admin.module.authorization') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe,admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {key: "news"}))), :class => active_for_app_auth('news') if (is_admin? rescue nil) %> | ||||||
| 	<% end -%> | 	<% end -%> | ||||||
| 
 | 
 | ||||||
| <% end -%> | <% end -%> | ||||||
|  | @ -37,14 +37,13 @@ | ||||||
| <%# end -%> | <%# end -%> | ||||||
| 
 | 
 | ||||||
| <%= content_tag :li, :class => active_for_controllers('users_new_interface')  do -%> | <%= content_tag :li, :class => active_for_controllers('users_new_interface')  do -%> | ||||||
| 	<%= link_to content_tag(:i, nil, :class => 'icons-page') + t('admin.new_admin.user'), admin_users_new_interface_index_path %> | 	<%= link_to content_tag(:i, nil, :class => 'icons-page')+ content_tag(:span, t('admin.new_admin.user')), admin_users_new_interface_index_path %> | ||||||
| 		<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('users_new_interface')) do -%> | 		<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('users_new_interface')) do -%> | ||||||
| 			<%= content_tag :li, link_to(t('admin.new_admin.side_bar.all_user'), ), :class => active_for_action('users_new_interface', 'index') %> | 
 | ||||||
| 			<%= content_tag :li, link_to("#TODO Role1", ), :class => active_for_action('users_new_interface', 'index') %> | 		  <%= content_tag :li, link_to((t('admin.new_admin.side_bar.all_user') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, admin_users_new_interface_index_path), :class => active_for_action('users_new_interface', 'index') %> | ||||||
| 			<%= content_tag :li, link_to(t("#TODO Role2"), ), :class => active_for_action('users_new_interface', 'index') %> | 		  <%= content_tag :li, link_to((t('admin.new_admin.side_bar.add_user') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, ), :class => active_for_action('users_new_interfacexx', 'index') %> | ||||||
| 			<%= content_tag :li, link_to(t('admin.new_admin.side_bar.add_user')) %> | 		  <%= content_tag :li, link_to((t('admin.new_admin.side_bar.user_roles') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, ), :class => active_for_action('users_new_interfacexx', 'index') %> | ||||||
| 			<%= content_tag :li, link_to(t('admin.new_admin.side_bar.user_roles')) %> | 		  <%= content_tag :li, link_to((t('admin.new_admin.side_bar.user_info') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, ), :class => active_for_action('users_new_interfacexx', 'index') %> | ||||||
| 			<%= content_tag :li, link_to(t('admin.new_admin.side_bar.user_info')) %> |  | ||||||
| 		<% end -%> | 		<% end -%> | ||||||
| 
 | 
 | ||||||
| <% end -%> | <% end -%> | ||||||
|  | @ -53,68 +52,109 @@ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| <%= content_tag :li, :class => active_for_controllers('page_contexts') || active_for_app_auth('page_content') || active_for_ob_auths_object("PageContext")  do -%> | <%= content_tag :li, :class => active_for_controllers('page_contexts') || active_for_app_auth('page_content') || active_for_ob_auths_object("PageContext")  do -%> | ||||||
| 	<%= link_to content_tag(:i, nil, :class => 'icons-page') + t('admin.page'), panel_page_content_back_end_page_contexts_path %> | 	<%= link_to content_tag(:i, nil, :class => 'icons-page') + content_tag(:span, t('admin.page')), panel_page_content_back_end_page_contexts_path %> | ||||||
| 		<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('page_contexts')) do -%> | 		<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('page_contexts')) do -%> | ||||||
| 			<%#= content_tag :li, link_to(t('admin.all_articles'), panel_page_content_back_end_page_contexts_path), :class => active_for_action('page_context', 'index') %> | 			<%#= content_tag :li, link_to(t('admin.all_articles'), panel_page_content_back_end_page_contexts_path), :class => active_for_action('page_context', 'index') %> | ||||||
| 			<%= content_tag :li, link_to(t('admin.module.authorization'),admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {title: "page_content"}))), :class => active_for_app_auth('page_content')  if (is_admin? rescue nil) %> | 			<%= content_tag :li, link_to((t('admin.module.authorization') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe,admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {key: "page_content"}))), :class => active_for_app_auth('page_content')  if (is_admin? rescue nil) %> | ||||||
| 		<% end -%> | 		<% end -%> | ||||||
| 
 | 
 | ||||||
| <% end -%> | <% end -%> | ||||||
| 
 | 
 | ||||||
| <%= content_tag :li, :class => active_for_controllers('ad_banners', 'ad_images') ||active_for_ob_auths_object("AdBanner") ||active_for_app_auth('ad_banners') do -%> | <%= content_tag :li, :class => active_for_controllers('ad_banners', 'ad_images') ||active_for_ob_auths_object("AdBanner") ||active_for_app_auth('ad_banners') do -%> | ||||||
| 	<%= link_to content_tag(:i, nil, :class => 'icons-link') + t('admin.ad_banner'), admin_ad_banners_path %> | 	<%= link_to content_tag(:i, nil, :class => 'icons-link') + content_tag(:span, t('admin.ad_banner')), admin_ad_banners_path %> | ||||||
| 
 | 
 | ||||||
| 	<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('ad_banners', 'ad_images') ) do -%> | 	<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('ad_banners', 'ad_images') ) do -%> | ||||||
| 		<%#= content_tag :li, link_to(t('admin.ad.all_banners'), admin_ad_banners_path), :class => active_for_action('ad_banners', 'index') %> | 		<%#= content_tag :li, link_to(t('admin.ad.all_banners'), admin_ad_banners_path), :class => active_for_action('ad_banners', 'index') %> | ||||||
| 		<%#= content_tag :li, link_to(t('admin.ad.new_banner'), new_admin_ad_banner_path), :class => active_for_action('ad_banners', 'new') %> | 		<%#= content_tag :li, link_to(t('admin.ad.new_banner'), new_admin_ad_banner_path), :class => active_for_action('ad_banners', 'new') %> | ||||||
| 		<%#= content_tag :li, link_to(t('admin.ad.new_image'), new_ad_image_admin_ad_banners_path), :class => active_for_action('ad_images', 'new') %> | 		<%#= content_tag :li, link_to(t('admin.ad.new_image'), new_ad_image_admin_ad_banners_path), :class => active_for_action('ad_images', 'new') %> | ||||||
| 	<%= content_tag :li, link_to(t('admin.module.authorization'),admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {title: "ad_banners"}))), :class => active_for_app_auth('ad_banners')  if (is_admin? rescue nil) %> | 	<%= content_tag :li, link_to((t('admin.module.authorization') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe,admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {key: "ad_banners"}))), :class => active_for_app_auth('ad_banners')  if (is_admin? rescue nil) %> | ||||||
| 	<% end -%> | 	<% end -%> | ||||||
| <% end %> | <% end %> | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| <%= content_tag :li, :class => active_for_controllers('web_links', '/panel/web_resource/back_end/tags', 'web_link_categorys') || active_for_app_auth('web_resource')  || active_for_ob_auths_object("WebLinkCategory")  do -%> | <%= content_tag :li, :class => active_for_controllers('web_links', '/panel/web_resource/back_end/tags', 'web_link_categorys') || active_for_app_auth('web_resource')  || active_for_ob_auths_object("WebLinkCategory")  do -%> | ||||||
| 	<%= link_to content_tag(:i, nil, :class => 'icons-link') + t('admin.link'), panel_web_resource_back_end_web_links_path %> | 	<%= link_to content_tag(:i, nil, :class => 'icons-link') + content_tag(:span, t('admin.link')), panel_web_resource_back_end_web_links_path %> | ||||||
| 	<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('web_links', '/panel/web_resource/back_end/tags', 'web_link_categorys')) do -%> | 	<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('web_links', '/panel/web_resource/back_end/tags', 'web_link_categorys')) do -%> | ||||||
| 		<%= content_tag :li, link_to(t('admin.all_articles'), panel_web_resource_back_end_web_links_path), :class => active_for_action('web_links', 'index') %> | 		<%= content_tag :li, link_to((t('admin.all_articles') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_web_resource_back_end_web_links_path), :class => active_for_action('web_links', 'index') %> | ||||||
| 		<%= content_tag :li, link_to(t('announcement.add_new'), new_panel_web_resource_back_end_web_link_path), :class => active_for_action('web_links', 'new') %> | 		<%= content_tag :li, link_to((t('announcement.add_new') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, new_panel_web_resource_back_end_web_link_path), :class => active_for_action('web_links', 'new') if (is_manager? rescue nil)%> | ||||||
| 		<%= content_tag :li, link_to(t('announcement.categories'), panel_web_resource_back_end_web_link_categorys_path), :class => (active_for_action('web_link_categorys', 'index') || active_for_ob_auths_object("WebLinkCategory")) %> | 		<%= content_tag :li, link_to((t('announcement.categories') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_web_resource_back_end_web_link_categorys_path), :class => (active_for_action('web_link_categorys', 'index') || active_for_ob_auths_object("WebLinkCategory")) if (is_manager? rescue nil)%> | ||||||
| 		<%= content_tag :li, link_to(t('announcement.tags'), panel_web_resource_back_end_tags_path), :class => active_for_action('/panel/web_resource/back_end/tags', 'index') %> | 		<%= content_tag :li, link_to((t('announcement.tags') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_web_resource_back_end_tags_path), :class => active_for_action('/panel/web_resource/back_end/tags', 'index') if (is_manager? rescue nil)%> | ||||||
| 		<%= content_tag :li, link_to(t('admin.module.authorization'),admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {title: "web_resource"}))), :class => active_for_app_auth('web_resource')  if (is_admin? rescue nil) %> | 		<%= content_tag :li, link_to((t('admin.module.authorization') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe,admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {title: "web_resource"}))), :class => active_for_app_auth('web_resource')  if (is_admin? rescue nil) %> | ||||||
| 	<% end -%> | 	<% end -%> | ||||||
| <% end -%> | <% end -%> | ||||||
| <%= content_tag :li, :class => active_for_controllers('orbit_galleries','/panel/gallery/back_end/tags') || active_for_app_auth("gallery") do -%> | 
 | ||||||
| 	<%#= link_to content_tag(:i, nil, :class => 'icons-picture') + t('admin.orbit_gallery'), panel_gallery_back_end_orbit_gallery_path %> | <%= content_tag :li, :class => active_for_controllers('albums','album_images','gallery_categories','/panel/gallery/back_end/tags') || active_for_app_auth("gallery") do -%> | ||||||
| 	<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('orbit_galleries') ) do -%> | 	<%= link_to content_tag(:i, nil, :class => 'icons-picture') + content_tag(:span, t('admin.orbit_gallery')), panel_gallery_back_end_albums_path %> | ||||||
|  | 	<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('albums') ) do -%> | ||||||
| 		<%#= content_tag :li, link_to(t('admin.ad.all_banners'), admin_ad_banners_path), :class => active_for_action('ad_banners', 'index') %> | 		<%#= content_tag :li, link_to(t('admin.ad.all_banners'), admin_ad_banners_path), :class => active_for_action('ad_banners', 'index') %> | ||||||
| 		<%#= content_tag :li, link_to(t('admin.ad.new_banner'), new_admin_ad_banner_path), :class => active_for_action('ad_banners', 'new') %> | 		<%#= content_tag :li, link_to(t('admin.ad.new_banner'), new_admin_ad_banner_path), :class => active_for_action('ad_banners', 'new') %> | ||||||
| 		<%#= content_tag :li, link_to(t('admin.ad.new_image'), new_ad_image_admin_ad_banners_path), :class => active_for_action('ad_images', 'new') %> | 		<%#= content_tag :li, link_to(t('admin.ad.new_image'), new_ad_image_admin_ad_banners_path), :class => active_for_action('ad_images', 'new') %> | ||||||
| 	<%#= content_tag :li, link_to(t('gallery.categories'), panel_gallery_back_end_categorylist_path), :class => active_for_action('/panel/gallery/back_end/categorylist','categorylist') %> | 	<%= content_tag :li, link_to((t('gallery.categories') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_gallery_back_end_gallery_categories_path), :class => active_for_action('gallery_categories','index') %> | ||||||
| 	<%#= content_tag :li, link_to(t('gallery.tags'), panel_gallery_back_end_tags_path), :class => active_for_action('/panel/gallery/back_end/tags', 'index') %> | 	<%= content_tag :li, link_to((t('gallery.tags') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_gallery_back_end_tags_path), :class => active_for_action('/panel/gallery/back_end/tags', 'index') %> | ||||||
| 	<%= content_tag :li, link_to(t('admin.module.authorization'),admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {title: "gallery"}))), :class => active_for_app_auth('orbit_gallery')  if (is_admin? rescue nil) %> | 	<%= content_tag :li, link_to((t('admin.module.authorization') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe,admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {key: "gallery"}))), :class => active_for_app_auth('gallery')  if (is_admin? rescue nil) %> | ||||||
| 	<% end -%> | 	<% end -%> | ||||||
| <% end %> | <% end %> | ||||||
| <%#= content_tag :li, :class => active_for_controllers('assets', '/admin/asset_tags', 'asset_categories') do -%> |  | ||||||
| 	<%#= link_to content_tag(:i, nil, :class => 'icons-link') + t('admin.asset'), admin_assets_path %> |  | ||||||
| 	<%#= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('assets', '/admin/asset_tags', 'asset_categories')) do -%> |  | ||||||
| 		<%#= content_tag :li, link_to(t('admin.all_assets'), admin_assets_path), :class => active_for_action('assets', 'index') %> |  | ||||||
| 		<%#= content_tag :li, link_to(t('admin.categories'), admin_asset_categories_path), :class => active_for_action('asset_categories', 'index') %> |  | ||||||
| 		<%#= content_tag :li, link_to(t('admin.tags'), admin_asset_tags_path), :class => active_for_action('/admin/asset_tags', 'index') %> |  | ||||||
| 	<%# end -%> |  | ||||||
| <%# end -%> |  | ||||||
| 
 | 
 | ||||||
| <%= content_tag :li, :class => active_for_controllers('archive_files', 'tags', 'archive_file_categorys') do -%> | <%= content_tag :li, :class => active_for_controllers('archive_files', 'tags', 'archive_file_categorys') do -%> | ||||||
| 	<%= link_to content_tag(:i, nil, :class => 'icons-asset') + t('admin.archive'), panel_archive_back_end_archive_files_path %> | 	<%= link_to content_tag(:i, nil, :class => 'icons-asset') + content_tag(:span, t('admin.archive')), panel_archive_back_end_archive_files_path %> | ||||||
| 	  <%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('archive_files', 'tags', 'archive_file_categorys')) do -%> | 	  <%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('archive_files', 'tags', 'archive_file_categorys')) do -%> | ||||||
| 		<%= content_tag :li, link_to(t('admin.all_articles'), panel_archive_back_end_archive_files_path), :class => active_for_action('archive_file', 'index') %> | 		<%= content_tag :li, link_to((t('admin.all_articles') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_archive_back_end_archive_files_path), :class => active_for_action('archive_file', 'index') %> | ||||||
| 		<%= content_tag :li, link_to(t('admin.add_new'), new_panel_archive_back_end_archive_file_path), :class => active_for_action('archive_file', 'new') %> | 		<%= content_tag :li, link_to((t('admin.add_new') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, new_panel_archive_back_end_archive_file_path), :class => active_for_action('archive_file', 'new') %> | ||||||
| 		<%= content_tag :li, link_to(t('admin.categories'), panel_archive_back_end_archive_file_categorys_path), :class => active_for_action('archive_file_categorys', 'index') %> | 		<%= content_tag :li, link_to((t('admin.categories') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_archive_back_end_archive_file_categorys_path), :class => active_for_action('archive_file_categorys', 'index') %> | ||||||
| 		<%= content_tag :li, link_to(t('admin.tags'), panel_archive_back_end_tags_path), :class => active_for_action('tags', 'index') %> | 		<%= content_tag :li, link_to((t('admin.tags') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_archive_back_end_tags_path), :class => active_for_action('tags', 'index') %> | ||||||
| 	<% end -%> | 	<% end -%> | ||||||
| <% end -%> | <% end -%> | ||||||
| 
 | 
 | ||||||
| <%= content_tag :li, :class => active_for_controllers(nil) do -%> | <%= content_tag :li, :class => active_for_controllers('cals','calendar_categories') || active_for_app_auth("calendar") do -%> | ||||||
| 	<%= link_to content_tag(:i, nil, :class => 'icons-cog') + t('admin.site_settings'), nil %> | 	<%= link_to content_tag(:i, nil, :class => 'icons-calendar') + content_tag(:span, t('admin.calendar')), panel_calendar_back_end_cals_path %> | ||||||
|  | 	<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('cals','calendar_categories') ) do -%> | ||||||
|  | 		<%#= content_tag :li, link_to(t('admin.ad.all_banners'), admin_ad_banners_path), :class => active_for_action('ad_banners', 'index') %> | ||||||
|  | 		<%#= content_tag :li, link_to(t('admin.ad.new_banner'), new_admin_ad_banner_path), :class => active_for_action('ad_banners', 'new') %> | ||||||
|  | 		<%#= content_tag :li, link_to(t('admin.ad.new_image'), new_ad_image_admin_ad_banners_path), :class => active_for_action('ad_images', 'new') %> | ||||||
|  | 	<%= content_tag :li, link_to((t('calendar.calendars') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, new_panel_calendar_back_end_cal_path), :class => active_for_action('cals','new') %> | ||||||
|  | 	<%#= content_tag :li, link_to(t('gallery.tags'), panel_gallery_back_end_tags_path), :class => active_for_action('/panel/gallery/back_end/tags', 'index') %> | ||||||
|  | 	<%#= content_tag :li, link_to(t('admin.module.authorization'),admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {key: "gallery"}))), :class => active_for_app_auth('gallery')  if (is_admin? rescue nil) %> | ||||||
|  | 	<% end -%> | ||||||
|  | <% end %> | ||||||
|  | 
 | ||||||
|  | <%= content_tag :li, :class => (active_for_controllers('writing_journals', '/panel/personal_journal/back_end/tags', 'writing_journal_categorys', 'approvals') ||  active_for_app_auth('PersonalJournal') ) do -%> | ||||||
|  | 	<%= link_to content_tag(:i, nil, :class => 'icons-personal_journal') + t('admin.personal_journal'), panel_personal_journal_back_end_writing_journals_path %> | ||||||
|  | 	<%= content_tag :ul, :class => ("nav nav-list " + (visible_for_controllers('writing_journals', '/panel/personal_journal/back_end/tags', 'writing_journal_categorys', 'approvals'))) do -%> | ||||||
|  | 		<%= content_tag :li, link_to(t('personal_journal.all_articles'), panel_personal_journal_back_end_writing_journals_path), :class => active_for_action('writing_journals', 'index') %> | ||||||
|  | 		<%= content_tag :li, link_to(t('personal_journal.setting'), panel_personal_journal_back_end_writing_journal_setting_path), :class => active_for_action('writing_journal_setting', 'index') %> | ||||||
|  | 		<%= content_tag :li, link_to(t('personal_journal.paper_type'), panel_personal_journal_back_end_journal_paper_types_path), :class => active_for_action('paper_types', 'index') %> | ||||||
|  | 		<%= content_tag :li, link_to(t('personal_journal.author_type'), panel_personal_journal_back_end_journal_author_types_path), :class => active_for_action('author_types', 'index') %> | ||||||
|  | 		<%= content_tag :li, link_to(t('personal_journal.level_type'), panel_personal_journal_back_end_journal_level_types_path), :class => active_for_action('level_types', 'index') %> | ||||||
|  | 		<%= content_tag :li, link_to(t('personal_journal.tags'), panel_personal_journal_back_end_tags_path), :class => active_for_action('/panel/personal_journal/back_end/tags', 'index') %> | ||||||
|  | 
 | ||||||
|  | 	<% end -%> | ||||||
|  | 
 | ||||||
|  | <% end -%> | ||||||
|  | 
 | ||||||
|  | <%= content_tag :li, :class => (active_for_controllers('writing_seminars', '/panel/personal_seminar/back_end/tags', 'writing_seminar_categorys', 'approvals') ||  active_for_app_auth('PersonalJournal') ) do -%> | ||||||
|  | 	<%= link_to content_tag(:i, nil, :class => 'icons-personal_seminar') + t('admin.personal_seminar'), panel_personal_seminar_back_end_writing_seminars_path %> | ||||||
|  | 	<%= content_tag :ul, :class => ("nav nav-list " + (visible_for_controllers('writing_seminars', '/panel/personal_seminar/back_end/tags', 'writing_seminar_categorys', 'approvals'))) do -%> | ||||||
|  | 		<%= content_tag :li, link_to(t('personal_seminar.all_articles'), panel_personal_seminar_back_end_writing_seminars_path), :class => active_for_action('writing_seminars', 'index') %> | ||||||
|  | 		<%= content_tag :li, link_to(t('personal_seminar.setting'), panel_personal_seminar_back_end_writing_seminar_setting_path), :class => active_for_action('writing_seminar_setting', 'index') %> | ||||||
|  | 		<%= content_tag :li, link_to(t('personal_seminar.paper_type'), panel_personal_seminar_back_end_seminar_paper_types_path), :class => active_for_action('paper_types', 'index') %> | ||||||
|  | 		<%= content_tag :li, link_to(t('personal_seminar.author_type'), panel_personal_seminar_back_end_seminar_author_types_path), :class => active_for_action('author_types', 'index') %> | ||||||
|  | 		<%= content_tag :li, link_to(t('personal_seminar.tags'), panel_personal_seminar_back_end_tags_path), :class => active_for_action('/panel/personal_seminar/back_end/tags', 'index') %> | ||||||
|  | 
 | ||||||
|  | 	<% end -%> | ||||||
|  | 
 | ||||||
|  | <% end -%> | ||||||
|  | 
 | ||||||
|  | <%= content_tag :li, :class => (active_for_controllers('writing_books', '/panel/personal_book/back_end/tags', 'writing_book_categorys', 'approvals') ||  active_for_app_auth('PersonalJournal') ) do -%> | ||||||
|  | 	<%= link_to content_tag(:i, nil, :class => 'icons-personal_book') + t('admin.personal_book'), panel_personal_book_back_end_writing_books_path %> | ||||||
|  | 	<%= content_tag :ul, :class => ("nav nav-list " + (visible_for_controllers('writing_books', '/panel/personal_book/back_end/tags', 'writing_book_categorys', 'approvals'))) do -%> | ||||||
|  | 		<%= content_tag :li, link_to(t('personal_book.all_articles'), panel_personal_book_back_end_writing_books_path), :class => active_for_action('writing_books', 'index') %> | ||||||
|  | 		<%= content_tag :li, link_to(t('personal_book.setting'), panel_personal_book_back_end_writing_book_setting_path), :class => active_for_action('writing_book_setting', 'index') %> | ||||||
|  | 		<%= content_tag :li, link_to(t('personal_book.paper_type'), panel_personal_book_back_end_book_paper_types_path), :class => active_for_action('paper_types', 'index') %> | ||||||
|  | 		<%= content_tag :li, link_to(t('personal_book.author_type'), panel_personal_book_back_end_book_author_types_path), :class => active_for_action('author_types', 'index') %> | ||||||
|  | 		<%= content_tag :li, link_to(t('personal_book.tags'), panel_personal_book_back_end_tags_path), :class => active_for_action('/panel/personal_book/back_end/tags', 'index') %> | ||||||
|  | 
 | ||||||
|  | 	<% end -%> | ||||||
|  | 
 | ||||||
| <% end -%> | <% end -%> | ||||||
| 
 | 
 | ||||||
| <div class="content"> | <div class="content"> | ||||||
|  |  | ||||||
|  | @ -13,9 +13,13 @@ | ||||||
| 	<%= yield :page_specific_javascript %> | 	<%= yield :page_specific_javascript %> | ||||||
| 	<%= csrf_meta_tag %> | 	<%= csrf_meta_tag %> | ||||||
| </head> | </head> | ||||||
| <body> | <body class="folded"> | ||||||
| 	<%= render 'layouts/orbit_bar' %> | 	<%= render 'layouts/orbit_bar' %> | ||||||
| 	<div id="main-sidebar" class="my_scroll"> | 	<div id="main-sidebar" class="my_scroll"> | ||||||
|  |         <div id="position"> | ||||||
|  |             <a href="#"><i class="icons-dashboard"></i><span>Dashboard</span></a> | ||||||
|  |             <div id="collapse-menu"><i class="icon-chevron-right"></i><i class="icon-chevron-right"></i></div> | ||||||
|  |         </div> | ||||||
| 		<div class="scrollbar"> | 		<div class="scrollbar"> | ||||||
| 			<div class="track"> | 			<div class="track"> | ||||||
| 				<div class="thumb"> | 				<div class="thumb"> | ||||||
|  |  | ||||||
|  | @ -95,6 +95,7 @@ en: | ||||||
|     action: Action |     action: Action | ||||||
|     ad_banner: AD Banner |     ad_banner: AD Banner | ||||||
|     orbit_gallery: Gallery |     orbit_gallery: Gallery | ||||||
|  |     calendar: Calendar | ||||||
|     ad: |     ad: | ||||||
|       sec_place_holder: Enter 3 if 3 sec |       sec_place_holder: Enter 3 if 3 sec | ||||||
|       ab_fx: FX |       ab_fx: FX | ||||||
|  |  | ||||||
|  | @ -217,6 +217,13 @@ zh_tw: | ||||||
|         user_roles: 角色 |         user_roles: 角色 | ||||||
|         user_info: 使用者資訊 |         user_info: 使用者資訊 | ||||||
|       user: 會員 |       user: 會員 | ||||||
|  |       users: | ||||||
|  |         all_plugin_summary: 全部 | ||||||
|  |         profile: 基本資料 | ||||||
|  |         roles: | ||||||
|  |           staff: 職員資料 | ||||||
|  |           student: 學生資料 | ||||||
|  |           teacher: 教師資料 | ||||||
|       action: |       action: | ||||||
|         add: 新增 |         add: 新增 | ||||||
|         edit: 編輯 |         edit: 編輯 | ||||||
|  |  | ||||||
|  | @ -8,10 +8,10 @@ defaults: &defaults | ||||||
| 
 | 
 | ||||||
| development: | development: | ||||||
|   <<: *defaults |   <<: *defaults | ||||||
|   database: prototype_r4_development |   database: demo_site_development | ||||||
| test: | test: | ||||||
|   <<: *defaults |   <<: *defaults | ||||||
|   database: prototype_r4_test |   database: demo_site_test | ||||||
| 
 | 
 | ||||||
| # set these environment variables on your prod server | # set these environment variables on your prod server | ||||||
| production: | production: | ||||||
|  | @ -21,5 +21,4 @@ production: | ||||||
|   # password: <%= ENV['MONGOID_PASSWORD'] %> |   # password: <%= ENV['MONGOID_PASSWORD'] %> | ||||||
|   # database: <%= ENV['MONGOID_DATABASE'] %> |   # database: <%= ENV['MONGOID_DATABASE'] %> | ||||||
|   <<: *defaults |   <<: *defaults | ||||||
|   database: prototype_r4_ldap0229 |   database: demo_site_production | ||||||
|   slave_ok: true |  | ||||||
|  |  | ||||||
|  | @ -217,6 +217,7 @@ Orbit::Application.routes.draw do | ||||||
|   match '/desktop_appstore/widgets_settings'=>'desktop_appstore#widgets_settings' |   match '/desktop_appstore/widgets_settings'=>'desktop_appstore#widgets_settings' | ||||||
| 
 | 
 | ||||||
|   match '/desktop_orbit/orbit' => 'desktop_orbit#orbit' |   match '/desktop_orbit/orbit' => 'desktop_orbit#orbit' | ||||||
|  | 
 | ||||||
|   match '/desktop_orbit/eventajaxload'=> 'desktop_orbit#eventajaxload' |   match '/desktop_orbit/eventajaxload'=> 'desktop_orbit#eventajaxload' | ||||||
|   match '/desktop_orbit/gettimelinespan' => 'desktop_orbit#gettimelinespan' |   match '/desktop_orbit/gettimelinespan' => 'desktop_orbit#gettimelinespan' | ||||||
| 
 | 
 | ||||||
|  | @ -227,7 +228,7 @@ Orbit::Application.routes.draw do | ||||||
| 
 | 
 | ||||||
|   match '/desktop/temp_func/'=>'desktop#temp_func' |   match '/desktop/temp_func/'=>'desktop#temp_func' | ||||||
|    |    | ||||||
|   match '/panel/:app_name/front_end/:app_action/:id' => 'pages#show_from_link', :constraints => lambda { |request| |   match '/panel/:app_name/front_end/:app_action/:id(/:controller_action)' => 'pages#show_from_link', :constraints => lambda { |request| | ||||||
|     !request.query_string.include?("inner=true") |     !request.query_string.include?("inner=true") | ||||||
|   } |   } | ||||||
|    |    | ||||||
|  |  | ||||||
|  | @ -135,19 +135,18 @@ module  OrbitCoreLib | ||||||
|   module PermissionUnility |   module PermissionUnility | ||||||
|   private |   private | ||||||
|     def check_permission(type = :use) |     def check_permission(type = :use) | ||||||
|       setup_vars |       permission_grant =  current_or_guest_user.admin?? true : false | ||||||
|       permission_grant =  current_user.admin?? true : false |  | ||||||
|       module_app = @module_app.nil?? find_module_app_by_token(params[:token]) : @module_app |       module_app = @module_app.nil?? find_module_app_by_token(params[:token]) : @module_app | ||||||
|       unless permission_grant |       unless permission_grant | ||||||
|         permission_grant = case type |         permission_grant = case type | ||||||
|         when :use |         when :use | ||||||
|           users_ary = module_app.app_auth.auth_users rescue nil |           users_ary = module_app.app_auth.auth_users rescue nil | ||||||
|           users_ary = [] if users_ary.nil? |           users_ary = [] if users_ary.nil? | ||||||
|           (users_ary.include?(current_user) || module_app.is_manager?(current_user) || module_app.is_sub_manager?(current_user)) |           (users_ary.include?(current_or_guest_user) || module_app.is_manager?(current_or_guest_user) || module_app.is_sub_manager?(current_or_guest_user)) | ||||||
|         when :manager |         when :manager | ||||||
|           module_app.is_manager?(current_user) |           module_app.is_manager?(current_or_guest_user) | ||||||
|         when :sub_manager   |         when :sub_manager   | ||||||
|           module_app.is_manager?(current_user) || module_app.is_sub_manager?(current_user) |           module_app.is_manager?(current_or_guest_user) || module_app.is_sub_manager?(current_or_guest_user) | ||||||
|         end   |         end   | ||||||
|       end |       end | ||||||
|       permission_grant |       permission_grant | ||||||
|  |  | ||||||
|  | @ -189,6 +189,7 @@ module ParserCommon | ||||||
|       if (content["main"] == "true" && !page.module_app.nil?) |       if (content["main"] == "true" && !page.module_app.nil?) | ||||||
|         ret << "<div id='appfrontend' class='dymanic_load' path='/panel/#{page.module_app.key}/front_end/#{page.app_frontend_url}" |         ret << "<div id='appfrontend' class='dymanic_load' path='/panel/#{page.module_app.key}/front_end/#{page.app_frontend_url}" | ||||||
|         ret << "/#{params[:id]}" if params[:id] && !params[:id].eql?(page.id.to_s) |         ret << "/#{params[:id]}" if params[:id] && !params[:id].eql?(page.id.to_s) | ||||||
|  |         ret << "/#{params[:controller_action]}" if params[:controller_action] && params[:id] | ||||||
|         ret << "?inner=true&page_id=#{page.id}&category_id=#{category}&tag_id=#{tag}&preview=#{params[:preview]}&page_main=#{params[:page_main]}&search_query=#{params[:search_query]}&name=#{params[:name]}" |         ret << "?inner=true&page_id=#{page.id}&category_id=#{category}&tag_id=#{tag}&preview=#{params[:preview]}&page_main=#{params[:page_main]}&search_query=#{params[:search_query]}&name=#{params[:name]}" | ||||||
|         ret << "'></div>" |         ret << "'></div>" | ||||||
|       else |       else | ||||||
|  |  | ||||||
|  | @ -0,0 +1,240 @@ | ||||||
|  | # encoding: utf-8  | ||||||
|  | 
 | ||||||
|  | namespace :build_new_member do | ||||||
|  |   task :sub_role_tags_generate => :environment do | ||||||
|  |     SubRoleTag.destroy_all | ||||||
|  |     role_keys = %w{teacher staff student} | ||||||
|  |     role_keys.each do |role_key| | ||||||
|  |       role = Role.first({conditions:{key: role_key}}) | ||||||
|  |       puts "Starting with Role with key: #{role_key}"  | ||||||
|  |       role.sub_roles.each do |sr| | ||||||
|  |         puts "Role : #{role_key} => #{sr.title}" | ||||||
|  |         for i in 1..7  | ||||||
|  |           sr.tags.build(:en =>  "Students-#{sr.title_translations['en']}_#{i}" , :zh_tw =>  "在校學生-#{sr.title_translations['zh_tw']}_#{i}" , :key =>  "#{role_key}_#{sr.title_translations['en'].parameterize}_#{i}" ) | ||||||
|  |         end | ||||||
|  |         sr.save | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   task :fields_for_teacher => :environment do | ||||||
|  |     sub_role_attribute_fields_template = [ | ||||||
|  |       {key: 'status', markup: "text_field", locale: true, list_options: nil, built_in: true, disabled: false, locale_title_translations: {"zh_tw"=>"狀態", "en"=>"Status"}, neutral_title: nil }, | ||||||
|  |       {key: 'other_position', markup: "text_field", locale: true, list_options: nil, built_in: true, disabled: false, locale_title_translations: {"zh_tw"=>"其他職位", "en"=>"Other Position"}, neutral_title: nil }, | ||||||
|  |       {key: 'research_domain', markup: "text_field", locale: true, list_options: nil, built_in: true, disabled: false, locale_title_translations: {"zh_tw"=>"研究領域", "en"=>"Research Domain"}, neutral_title: nil }, | ||||||
|  |       {key: 'teaching_domain', markup: "text_field", locale: true, list_options: nil, built_in: true, disabled: false, locale_title_translations: {"zh_tw"=>"授課領域", "en"=>"Teaching Domain"}, neutral_title: nil } | ||||||
|  |     ] | ||||||
|  |     role = Role.first({conditions:{key: 'teacher'}}) | ||||||
|  |     role.sub_roles.each{|sb| | ||||||
|  |       sb.attribute_fields.destroy_all | ||||||
|  |       sub_role_attribute_fields_template.each{|att_f| | ||||||
|  |         sb.attribute_fields.build att_f  | ||||||
|  |       } | ||||||
|  |      sb.save  | ||||||
|  |     } | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   task :fields_for_student => :environment do | ||||||
|  |     sub_role_attribute_fields_template = [ | ||||||
|  |       {key: 'status', markup: "text_field", locale: true, list_options: nil, built_in: true, disabled: false, locale_title_translations: {"zh_tw"=>"狀態", "en"=>"Status"}, neutral_title: nil }, | ||||||
|  |       {key: 'entrance_year', markup: "text_field", locale: true, list_options: nil, built_in: true, disabled: false, locale_title_translations: {"zh_tw"=>"入學年", "en"=>"Entrance Year"}, neutral_title: nil }, | ||||||
|  |       {key: 'graduation_date', markup: "text_field", locale: true, list_options: nil, built_in: true, disabled: false, locale_title_translations: {"zh_tw"=>"屆別", "en"=>"Graduation Date"}, neutral_title: nil }, | ||||||
|  |       {key: 'actual_graduation', markup: "text_field", locale: true, list_options: nil, built_in: true, disabled: false, locale_title_translations: {"zh_tw"=>"實際畢業年", "en"=>"Actual Graduation"}, neutral_title: nil } | ||||||
|  |     ] | ||||||
|  |     role = Role.first({conditions:{key: 'student'}}) | ||||||
|  |     role.sub_roles.each{|sb| | ||||||
|  |       sb.attribute_fields.destroy_all | ||||||
|  |       sub_role_attribute_fields_template.each{|att_f| | ||||||
|  |         sb.attribute_fields.build att_f  | ||||||
|  |       } | ||||||
|  |      sb.save  | ||||||
|  |     } | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   task :fields_for_staff => :environment do | ||||||
|  |     sub_role_attribute_fields_template = [ | ||||||
|  |       {key: 'status', markup: "text_field", locale: true, list_options: nil, built_in: true, disabled: false, locale_title_translations: {"zh_tw"=>"狀態", "en"=>"Status"}, neutral_title: nil }, | ||||||
|  |       {key: 'responsibilities', markup: "text_field", locale: true, list_options: nil, built_in: true, disabled: false, locale_title_translations: {"zh_tw"=>"負責業務", "en"=>"Responsibilities"}, neutral_title: nil } | ||||||
|  |     ] | ||||||
|  |     role = Role.first({conditions:{key: 'staff'}}) | ||||||
|  |     role = Role.create!({key: "staff", built_in: true, disabled: false, title_translations: {"en"=>"Staff", "zh_tw"=>"行政人員"}}) if role.nil? | ||||||
|  |     role.sub_roles.each{|sb| | ||||||
|  |       sb.attribute_fields.destroy_all | ||||||
|  |       sub_role_attribute_fields_template.each{|att_f| | ||||||
|  |         sb.attribute_fields.build att_f  | ||||||
|  |       } | ||||||
|  |      sb.save  | ||||||
|  |     } | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   task :matt_data => :environment do | ||||||
|  |     b = User.first({conditions:{email: 'matt@rulingcom.com'}}) | ||||||
|  |     b.attribute_values.destroy_all | ||||||
|  | 
 | ||||||
|  |     data = [{:key=> 'last_name',:en=>'Fu',:zh_tw=>'傅'}, | ||||||
|  |     {:key=> 'first_name',:en=>'Matt',:zh_tw=>'儒淵'}, | ||||||
|  |     {:key=> 'nick_name',:en=> 'Matt K.',:zh_tw=> 'Matt K.'}, | ||||||
|  |     {:key=> 'addr',:en=>'Earth',:zh_tw=>'302新竹縣竹北市嘉豐南路二段101號'}, | ||||||
|  |     {:key=> 'phone',:en=>'035508881',:zh_tw=>'035508881'}, | ||||||
|  |     {:key=> 'gender',:en=>'Male',:zh_tw=>'男'}, | ||||||
|  |     {:key=> 'birthday',:en=>'1986',:zh_tw=>'1986'}, | ||||||
|  |     {:key=> 'email',:en=>'matt@rulingcom.com',:zh_tw=>'matt@rulingcom.com'}] | ||||||
|  | 
 | ||||||
|  |     data_hash = Hash[data.map{|t| [t[:key],t] }] | ||||||
|  |     Info.first.attribute_fields.each do |profile_field| | ||||||
|  |        b.attribute_values.build(data_hash.fetch(profile_field.key).merge({:attribute_field_id=>profile_field.id})) | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|  |     #================================================================== | ||||||
|  |     b.roles = [] | ||||||
|  |     b.roles <<  Role.first({conditions:{key: 'teacher'}}) | ||||||
|  |     b.roles <<  Role.first({conditions:{key: 'student'}}) | ||||||
|  |     #================================================================== | ||||||
|  |     b.sub_roles = [] | ||||||
|  |     sr_1 = b.roles.first.sub_roles.last | ||||||
|  |     sr_2 = b.roles.last.sub_roles.last | ||||||
|  |     b.sub_roles << sr_1 #use teacher data | ||||||
|  |     b.sub_roles << sr_2 #use student data | ||||||
|  |     #================================================================== | ||||||
|  |     # to get field for fast fill up:   sr_2.attribute_fields.map{|t| Hash[t.key,nil]}  | ||||||
|  |     {"status"=>"兼職","research_domain"=>"神經網絡","teaching_domain"=>"平行運算"}.each do |key, value| | ||||||
|  |       field = sr_1.attribute_fields.where({key: key}).first | ||||||
|  |       b.attribute_values.build({key=>value}.merge({:key=>field.key,:attribute_field_id=>field.id})) | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|  |     {"status"=>"在學中","entrance_year"=>2010}.each do |key, value| | ||||||
|  |       field = sr_2.attribute_fields.where({key: key}).first | ||||||
|  |       b.attribute_values.build({key=>value}.merge({:key=>field.key,:attribute_field_id=>field.id})) | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|  |     # b.attribute_values.build :key=> 'last_name',:en=>'Fu',:zh_tw=>'傅' | ||||||
|  |     # b.attribute_values.build :key=> 'first_name',:en=>'Matt',:zh_tw=>'儒淵' | ||||||
|  |     # b.attribute_values.build :key=> 'nick_name',:en=> 'Matt K.',:zh_tw=> 'Matt K.' | ||||||
|  |     # b.attribute_values.build :key=> 'addr',:en=>'Earth',:zh_tw=>'302新竹縣竹北市嘉豐南路二段101號' | ||||||
|  |     # b.attribute_values.build :key=> 'phone',:en=>'035508881',:zh_tw=>'035508881' | ||||||
|  |     # b.attribute_values.build :key=> 'gender',:en=>'Male',:zh_tw=>'男' | ||||||
|  |     # b.attribute_values.build :key=> 'birthday',:en=>'1986',:zh_tw=>'1986' | ||||||
|  |     # b.attribute_values.build :key=> 'email',:en=>'matt@rulingcom.com',:zh_tw=>'matt@rulingcom.com' | ||||||
|  |     b.save | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   task :chris_data => :environment do | ||||||
|  |     b = User.first({conditions:{email: 'chris@rulingcom.com'}}) | ||||||
|  |     b.attribute_values.destroy_all | ||||||
|  |     b.attribute_values.build :key=> 'last_name',:en=>'Vilayphiou',:zh_tw=>'林' | ||||||
|  |     b.attribute_values.build :key=> 'first_name',:en=>'Christophe',:zh_tw=>'順發' | ||||||
|  |     b.attribute_values.build :key=> 'nick_name',:en=> 'Chris',:zh_tw=> 'Chris' | ||||||
|  |     b.attribute_values.build :key=> 'addr',:en=>'asdsaddasdasd',:zh_tw=>'302新竹縣竹北市嘉豐南路二段101號' | ||||||
|  |     b.attribute_values.build :key=> 'phone',:en=>'035508881',:zh_tw=>'035508881' | ||||||
|  |     b.attribute_values.build :key=> 'gender',:en=>'Male',:zh_tw=>'男' | ||||||
|  |     b.attribute_values.build :key=> 'birthday',:en=>'1990',:zh_tw=>'1990' | ||||||
|  |     b.attribute_values.build :key=> 'email',:en=>'chris@rulingcom.com',:zh_tw=>'chris@rulingcom.com' | ||||||
|  |     b.save | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   task :module_app => :environment do | ||||||
|  |     ModuleApp.create!(:key=>"new_member", | ||||||
|  |                               :title=>"new_member", | ||||||
|  |                               :version=> "0.1",  | ||||||
|  |                               :organization => "Rulingcom", | ||||||
|  |                               :author => "RD dep",  | ||||||
|  |                               :intro => "New interface for member menagement",  | ||||||
|  |                               :enable_frontend => true) | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   task :sub_role => :environment do | ||||||
|  |     teacher_role = Role.first({conditions:{key: 'teacher'}}) | ||||||
|  |     teacher_role.sub_roles.destroy_all | ||||||
|  |     teacher_sub_roles ={ | ||||||
|  |       :professor => {"zh_tw"=>"教授", "en"=>"Professor"},  | ||||||
|  |       :lecturer => {"zh_tw"=>"講師", "en"=>"Lecturer"},  | ||||||
|  |       :associate_professor => {"zh_tw"=>"副教授", "en"=>"Associate Professor"},  | ||||||
|  |       :assistant_professor => {"zh_tw"=>"助理教授", "en"=>"Assistant Professor"} | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     teacher_sub_roles.each do |key,title| | ||||||
|  |       teacher_role.sub_roles.build :key=>key,:title_translations=>title,:built_in=>true | ||||||
|  |       puts "=SubRole key:#{key}\t Title:#{title}" | ||||||
|  |     end | ||||||
|  |     teacher_role.save | ||||||
|  |     p "==Finished building sub_roles for Teachers" | ||||||
|  | 
 | ||||||
|  |     student_role = Role.first({conditions:{key: 'student'}}) | ||||||
|  |     student_role.sub_roles.destroy_all | ||||||
|  |     student_sub_roles ={ | ||||||
|  |       :ph_d => {"zh_tw"=>"博士班", "en"=>"Ph.D"},  | ||||||
|  |       :master => {"zh_tw"=>"碩士班", "en"=>"Master"},  | ||||||
|  |       :bachelor => {"zh_tw"=>"學士班", "en"=>"Bachelor"},  | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     student_sub_roles.each do |key,title| | ||||||
|  |       student_role.sub_roles.build :key=>key,:title_translations=>title,:built_in=>true | ||||||
|  |       puts "=SubRole key:#{key}\t Title:#{title}" | ||||||
|  |     end | ||||||
|  |     student_role.save | ||||||
|  |     p "==Finished building sub_roles for Students" | ||||||
|  | 
 | ||||||
|  |     staff_role = Role.first({conditions:{key: 'staff'}}) | ||||||
|  |     staff_role.sub_roles.destroy_all | ||||||
|  |     staff_sub_roles ={ | ||||||
|  |       :general => {"zh_tw"=>"一般", "en"=>"General"} | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     staff_sub_roles.each do |key,title| | ||||||
|  |       staff_role.sub_roles.build :key=>key,:title_translations=>title,:built_in=>true | ||||||
|  |       puts "=SubRole key:#{key}\t Title:#{title}" | ||||||
|  |     end | ||||||
|  |     staff_role.save | ||||||
|  |     p "==Finished building sub_roles for Staff" | ||||||
|  | 
 | ||||||
|  |     staff_role = Role.first({conditions:{key: 'staff'}}) | ||||||
|  |     staff_role.sub_roles.destroy_all | ||||||
|  |     staff_sub_roles ={ | ||||||
|  |       :general => {"zh_tw"=>"一般", "en"=>"General"} | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     staff_sub_roles.each do |key,title| | ||||||
|  |       staff_role.sub_roles.build :key=>key,:title_translations=>title,:built_in=>true | ||||||
|  |       puts "=SubRole key:#{key}\t Title:#{title}" | ||||||
|  |     end | ||||||
|  |     staff_role.save | ||||||
|  |     p "==Finished building sub_roles for Staff" | ||||||
|  | 
 | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   # task :status => :environment do | ||||||
|  |   #   teacher_role = Role.first({conditions:{key: 'teacher'}}) | ||||||
|  |   #   teacher_role.statuses.destroy_all | ||||||
|  |   #   teacher_status ={ | ||||||
|  |   #     :fulltime => {"en"=>"Full Time", "zh_tw"=>"全職"}, | ||||||
|  |   #     :adjunct => {"en"=>"Adjunct", "zh_tw"=>"兼職"}, | ||||||
|  |   #     :co_hiring => {"en"=>"Co Hiring", "zh_tw"=>"合聘"}, | ||||||
|  |   #     :distinguished => {"en"=>"Distinguished", "zh_tw"=>"特聘"} | ||||||
|  |   #   } | ||||||
|  |   #   teacher_status.each do |key,title| | ||||||
|  |   #     teacher_role.statuses.build :key=>key,:title_translations=>title | ||||||
|  |   #     puts "=Status key:#{key}\t Title:#{title}" | ||||||
|  |   #   end | ||||||
|  |   #   teacher_role.save | ||||||
|  | 
 | ||||||
|  |   #   p "==Finished building status for Teachers" | ||||||
|  | 
 | ||||||
|  |   #   student_role = Role.first({conditions:{key: 'student'}}) | ||||||
|  |   #   student_status.statuses.destroy_all | ||||||
|  |   #   student_status ={ | ||||||
|  |   #     :studying => {"en"=>"Studying", "zh_tw"=>"在學"}, | ||||||
|  |   #     :drop_out => {"en"=>"Drop-out", "zh_tw"=>"休學"}, | ||||||
|  |   #     :alumi => {"en"=>"Alumi", "zh_tw"=>"校友"}, | ||||||
|  |   #     :suspended => {"en"=>"Suspended", "zh_tw"=>"未完成"} | ||||||
|  |   #   } | ||||||
|  |   #   student_status.each do |key,title| | ||||||
|  |   #     student_role.statuses.build :key=>key,:title_translations=>title | ||||||
|  |   #     puts "=Status key:#{key}\t Title:#{title}" | ||||||
|  |   #   end | ||||||
|  |   #   student_role.save | ||||||
|  | 
 | ||||||
|  |   #   p "==Finished building status for Students" | ||||||
|  | 
 | ||||||
|  |   # end | ||||||
|  | end | ||||||
|  | @ -96,4 +96,8 @@ namespace :data_migration do | ||||||
|     app.save! |     app.save! | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|  |   task :rename_attribute_field => :environment do | ||||||
|  |      AttributeField.collection.update({},{'$rename' => {'title' => 'locale_title'}}, multi: true, safe: true)  | ||||||
|  |   end | ||||||
|  | 
 | ||||||
| end | end | ||||||
|  | @ -0,0 +1,37 @@ | ||||||
|  | /* | ||||||
|  |  * Smart event highlighting | ||||||
|  |  * Handles when events span rows, or don't have a background color | ||||||
|  |  */ | ||||||
|  | jQuery(document).ready(function($) { | ||||||
|  |   var highlight_color = "#2EAC6A"; | ||||||
|  |    | ||||||
|  |   // highlight events that have a background color
 | ||||||
|  |   $(".ec-event-bg").live("mouseover", function() { | ||||||
|  |     event_id = $(this).attr("data-event-id"); | ||||||
|  | 		event_class_name = $(this).attr("data-event-class"); | ||||||
|  |     $(".ec-"+event_class_name+"-"+event_id).css("background-color", highlight_color); | ||||||
|  |   }); | ||||||
|  |   $(".ec-event-bg").live("mouseout", function() { | ||||||
|  |     event_id = $(this).attr("data-event-id"); | ||||||
|  | 		event_class_name = $(this).attr("data-event-class"); | ||||||
|  |     event_color = $(this).attr("data-color"); | ||||||
|  |     $(".ec-"+event_class_name+"-"+event_id).css("background-color", event_color); | ||||||
|  |   }); | ||||||
|  |    | ||||||
|  |   // highlight events that don't have a background color
 | ||||||
|  |   $(".ec-event-no-bg").live("mouseover", function() { | ||||||
|  |     ele = $(this); | ||||||
|  |     ele.css("color", "white"); | ||||||
|  |     ele.find("a").css("color", "white"); | ||||||
|  |     ele.find(".ec-bullet").css("background-color", "white"); | ||||||
|  |     ele.css("background-color", highlight_color); | ||||||
|  |   }); | ||||||
|  |   $(".ec-event-no-bg").live("mouseout", function() { | ||||||
|  |     ele = $(this); | ||||||
|  |     event_color = $(this).attr("data-color"); | ||||||
|  |     ele.css("color", event_color); | ||||||
|  |     ele.find("a").css("color", event_color); | ||||||
|  |     ele.find(".ec-bullet").css("background-color", event_color); | ||||||
|  |     ele.css("background-color", "transparent"); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
|  | @ -0,0 +1,237 @@ | ||||||
|  | /*  | ||||||
|  |   Event Calendar stylesheet | ||||||
|  |    | ||||||
|  |   Colors: | ||||||
|  |   #d5d5d5 - border (gray) | ||||||
|  |   #303030 - day names bg (gray) | ||||||
|  |   #444 - number (gray) | ||||||
|  |   #ecede2 - day header bg (light tan) | ||||||
|  |   ##d7d7ba - today header bg (tan) | ||||||
|  |   #ffffdd - today bg light (yellow) | ||||||
|  |   #777 - other month number (gray) | ||||||
|  |   #efefef - other month day header (gray) | ||||||
|  |   #2eac6a - hover (green) | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | /* Outer most container */ | ||||||
|  | .ec-calendar { | ||||||
|  |   font-family: verdana, arial, helvetica, sans-serif; | ||||||
|  |   font-size: 11px; | ||||||
|  |   line-height: 14px; | ||||||
|  |   margin: 0; | ||||||
|  |   padding: 0; | ||||||
|  |   border-bottom: 1px solid #d5d5d5; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* Month name header & links */ | ||||||
|  | .ec-calendar-header { | ||||||
|  |   padding: 5px 0; | ||||||
|  |   width: 100%; | ||||||
|  |   table-layout: fixed; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-month-name { | ||||||
|  |   font-size: 16px; | ||||||
|  |   font-weight: bold; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-month-nav { | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* Containers */ | ||||||
|  | .ec-body { | ||||||
|  |   position: relative; | ||||||
|  |   border-right: 1px solid #303030; | ||||||
|  |   white-space: nowrap; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* Day names */ | ||||||
|  | .ec-day-names { | ||||||
|  |   position: absolute; | ||||||
|  |   top: 0; | ||||||
|  |   left: 0; | ||||||
|  |   width: 100%; | ||||||
|  |   table-layout: fixed; | ||||||
|  |   padding: 2px 0; | ||||||
|  |   background: #303030; | ||||||
|  |   color: white; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-day-name { | ||||||
|  |   font-weight: normal; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* Rows container and Row */ | ||||||
|  | .ec-rows { | ||||||
|  |   position: absolute; | ||||||
|  |   left: 0; | ||||||
|  |   bottom: 0; | ||||||
|  |   width: 100%; | ||||||
|  |   background: white; | ||||||
|  |   overflow: hidden; | ||||||
|  |   border-right: 1px solid #d5d5d5; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-row { | ||||||
|  |   position: absolute; | ||||||
|  |   left: 0; | ||||||
|  |   width: 100%; | ||||||
|  |   overflow: hidden; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* Background */ | ||||||
|  | .ec-row-bg { | ||||||
|  |   position: absolute; | ||||||
|  |   top: 0; | ||||||
|  |   left: 0; | ||||||
|  |   height: 100%; | ||||||
|  |   width: 100%; | ||||||
|  |   table-layout: fixed; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-day-bg { | ||||||
|  |   border-left: 1px solid #d5d5d5; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-today-bg { | ||||||
|  |   background-color: #ffffdd; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-row-table { | ||||||
|  |   position: relative; | ||||||
|  |   width: 100%; | ||||||
|  |   table-layout: fixed; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* Day header */ | ||||||
|  | .ec-day-header { | ||||||
|  |   color: #444; | ||||||
|  |   text-align: right; | ||||||
|  |   padding: 0 5px; | ||||||
|  |   line-height: 16px; | ||||||
|  |   border-top: 1px solid #d5d5d5; | ||||||
|  |   border-left: 1px solid #d5d5d5; | ||||||
|  |   border-bottom: 1px dotted #bbbbbb; | ||||||
|  |   background-color: #ecede2; | ||||||
|  |   overflow: hidden; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | a.ec-day-link { | ||||||
|  |   color: #444; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-today-header { | ||||||
|  |   background-color: #d7d7ba; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-weekend-day-header { | ||||||
|  |    | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-other-month-header { | ||||||
|  |   background-color: #efefef; | ||||||
|  |   color: #777; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-other-month-bg { | ||||||
|  |    | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /* Event cell and container */ | ||||||
|  | .ec-event-cell { | ||||||
|  |   cursor: pointer; | ||||||
|  |   vertical-align: top; | ||||||
|  |   padding-right: 1px; | ||||||
|  |   padding-left: 2px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-event-cell a { | ||||||
|  |   text-decoration: none; | ||||||
|  |   display: block; | ||||||
|  |   width: 100%; | ||||||
|  |   height: 100%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-no-event-cell { | ||||||
|  |   cursor: default; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-event { | ||||||
|  |   color: white; | ||||||
|  |   padding-right: 1px; | ||||||
|  |   padding-left: 11px; | ||||||
|  |   -webkit-border-radius: 3px; | ||||||
|  |   -khtml-border-radius: 3px; | ||||||
|  |   -moz-border-radius: 3px; | ||||||
|  |   overflow: hidden; | ||||||
|  |   white-space: nowrap; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-event :hover { | ||||||
|  |   /* doesn't look as good as js highlighting */ | ||||||
|  |   /* background-color: #2eac6a; */ | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-event-bg a { | ||||||
|  |   color: white; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* used to distinguish non-all_day events */ | ||||||
|  | .ec-event-no-bg { | ||||||
|  |   position: relative; | ||||||
|  |   /* padding-left: 5px; */ | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-event-no-bg a { | ||||||
|  |   /* isn't implemented in all browsers */ | ||||||
|  |   color: inherit; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-event-time { | ||||||
|  |   font-size: 85%; | ||||||
|  |   font-weight: bold; | ||||||
|  |   padding-right: 3px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /* Left and right arrows */ | ||||||
|  | /* Doesn't work in IE6, use bg images instead */ | ||||||
|  | .ec-left-arrow, .ec-right-arrow { | ||||||
|  |   position: relative; | ||||||
|  |   top: 3px; | ||||||
|  |   width: 0; | ||||||
|  |   height: 0; | ||||||
|  |   font-size: 0; | ||||||
|  |   line-height: 0; | ||||||
|  |   margin-bottom: -8px; | ||||||
|  |   border-top: 4px solid transparent; | ||||||
|  |   border-bottom: 4px solid transparent; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-left-arrow { | ||||||
|  |   margin-left: -7px; | ||||||
|  |   margin-right: auto; | ||||||
|  |   border-right: 4px solid white; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ec-right-arrow { | ||||||
|  |   margin-left: auto; | ||||||
|  |   margin-right: 3px; | ||||||
|  |   border-left: 4px solid white; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* remove this to not have a bullet */ | ||||||
|  | /* don't look as good in ie */ | ||||||
|  | .ec-bullet { | ||||||
|  |   position: absolute; | ||||||
|  |   top: 7px; | ||||||
|  |   width: 4px; | ||||||
|  |   height: 4px; | ||||||
|  |   margin-left: -7px; | ||||||
|  |   margin-right: auto; | ||||||
|  |   -webkit-border-radius: 2px; | ||||||
|  |   -khtml-border-radius: 2px; | ||||||
|  |   -moz-border-radius: 2px; | ||||||
|  | } | ||||||
|  | @ -2,15 +2,16 @@ class Panel::Announcement::BackEnd::BulletinsController < OrbitBackendController | ||||||
|   include AdminHelper |   include AdminHelper | ||||||
|   include OrbitControllerLib::DivisionForDisable |   include OrbitControllerLib::DivisionForDisable | ||||||
| 
 | 
 | ||||||
|   layout 'new_admin' | #  before_filter :for_admin_only,:only => [:] | ||||||
|    | #  before_filter :for_app_manager,:only => [:index,:show,]  | ||||||
|   before_filter :authenticate_user! |   before_filter :force_order_for_visitor,:only=>[:index,:show,:get_sorted_and_filtered_bulletins] | ||||||
|  |   before_filter :force_order_for_user,:except => [:index,:show,:get_sorted_and_filtered_bulletins] | ||||||
|  |   before_filter :for_app_sub_manager,:except => [:index,:show,:get_sorted_and_filtered_bulletins] | ||||||
|   before_filter :only => [ :new,:create,:edit,:update,:create] do |controller| |   before_filter :only => [ :new,:create,:edit,:update,:create] do |controller| | ||||||
|     controller.get_categorys('BulletinCategory') |     controller.get_categorys('BulletinCategory') | ||||||
|   end |   end | ||||||
| #  before_filter :for_admin_only,:only => [:] | 
 | ||||||
| #  before_filter :for_app_manager,:only => [:index,:show,]  | 
 | ||||||
|   before_filter :for_app_sub_manager,:except => [:index,:show,:get_sorted_and_filtered_bulletins] |  | ||||||
|   def index |   def index | ||||||
|     # @bulletins = Bulletin.all |     # @bulletins = Bulletin.all | ||||||
|     # @bulletins = Bulletin.desc("postdate desc") |     # @bulletins = Bulletin.desc("postdate desc") | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| <tr id="<%= dom_id bulletin %>" class="with_action"> | <tr id="<%= dom_id bulletin %>" class="with_action"> | ||||||
| 	<td> | 	<td> | ||||||
| 		<% if (bulletin.create_user_id ==  current_user.id) || is_manager? %> | 		<% if (bulletin.create_user_id ==  current_or_guest_user.id) || is_manager? %> | ||||||
| 			<%= check_box_tag 'to_delete[]', bulletin.id, false, :class => "checkbox_in_list" %> | 			<%= check_box_tag 'to_delete[]', bulletin.id, false, :class => "checkbox_in_list" %> | ||||||
| 		<% end -%> | 		<% end -%> | ||||||
| 	</td> | 	</td> | ||||||
|  | @ -33,9 +33,9 @@ | ||||||
| 		<%= show_bulletin_title_at_index bulletin%> | 		<%= show_bulletin_title_at_index bulletin%> | ||||||
| 		<div class="quick-edit"> | 		<div class="quick-edit"> | ||||||
| 			<ul class="nav nav-pills hide"> | 			<ul class="nav nav-pills hide"> | ||||||
| 				<% if (bulletin.create_user_id ==  current_user.id) || is_manager? %> | 				<% if (bulletin.create_user_id ==  current_or_guest_user.id) || is_manager? %> | ||||||
| 				 | 				 | ||||||
| 					<% if current_user.admin? || (!bulletin.is_rejected? && !bulletin.is_checked?) %> | 					<% if current_or_guest_user.admin? || (!bulletin.is_rejected? && !bulletin.is_checked?) %> | ||||||
| 						<li><%= link_to t('bulletin.edit'), edit_panel_announcement_back_end_bulletin_path(bulletin) %></li> | 						<li><%= link_to t('bulletin.edit'), edit_panel_announcement_back_end_bulletin_path(bulletin) %></li> | ||||||
| 						<li class="dropdown"> | 						<li class="dropdown"> | ||||||
| 							<a href="#" data-toggle="dropdown" class="dropdown-toggle"><%= t(:quick_edit) %><b class="caret"></b></a> | 							<a href="#" data-toggle="dropdown" class="dropdown-toggle"><%= t(:quick_edit) %><b class="caret"></b></a> | ||||||
|  | @ -43,7 +43,7 @@ | ||||||
| 								<li><%= link_to t(:basic), load_quick_edit_panel_announcement_back_end_bulletin_path(bulletin, :type => 'basic'), :remote => true %></li> | 								<li><%= link_to t(:basic), load_quick_edit_panel_announcement_back_end_bulletin_path(bulletin, :type => 'basic'), :remote => true %></li> | ||||||
| 								<li><%#= link_to t(:picture), load_quick_edit_panel_announcement_back_end_bulletin_path(bulletin, :type => 'picture'), :remote => true %></li> | 								<li><%#= link_to t(:picture), load_quick_edit_panel_announcement_back_end_bulletin_path(bulletin, :type => 'picture'), :remote => true %></li> | ||||||
| 								<li><%= link_to t(:tags), load_quick_edit_panel_announcement_back_end_bulletin_path(bulletin, :type => 'tags'), :remote => true %></li> | 								<li><%= link_to t(:tags), load_quick_edit_panel_announcement_back_end_bulletin_path(bulletin, :type => 'tags'), :remote => true %></li> | ||||||
| 								<li><%#= link_to t(:link), load_quick_edit_panel_announcement_back_end_bulletin_path(bulletin, :type => 'links'), :remote => true %></li> | 								<li><%= link_to t(:link), load_quick_edit_panel_announcement_back_end_bulletin_path(bulletin, :type => 'links'), :remote => true %></li> | ||||||
| 								<li><%#= link_to t(:file), load_quick_edit_panel_announcement_back_end_bulletin_path(bulletin, :type => 'files'), :remote => true %></li> | 								<li><%#= link_to t(:file), load_quick_edit_panel_announcement_back_end_bulletin_path(bulletin, :type => 'files'), :remote => true %></li> | ||||||
| 							</ul> | 							</ul> | ||||||
| 						</li> | 						</li> | ||||||
|  |  | ||||||
|  | @ -1,3 +1,3 @@ | ||||||
| <div class="filter-clear"> | <div class="filter-clear"> | ||||||
| 	<%= link_to content_tag(:i, nil, :class => 'icons-brush-large') + t(:clear), panel_announcement_back_end_bulletins_path(:filter => @filter, :sort => params[:sort], :direction => params[:direction], :clear => true, :type => type), :class => "btn js_history" %> | 	<%= link_to content_tag(:i, nil, :class => 'icons-brush-large') + t(:clear), panel_announcement_back_end_bulletins_path(:filter => @filter, :sort => params[:sort], :direction => params[:direction], :clear => true, :type => type), :class => "btn btn-small js_history" %> | ||||||
| </div> | </div> | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| <div class="accordion-inner" data-toggle="buttons-checkbox"> | <div class="accordion-inner" data-toggle="buttons-checkbox"> | ||||||
| 	<% @bulletin_categories.each do |category| -%> | 	<% @bulletin_categories.each do |category| -%> | ||||||
| 		<%= link_to category.title, panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'categories', :id => category.id}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn js_history#{is_filter_active?('categories', category.id)}" %> | 		<%= link_to category.title, panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'categories', :id => category.id}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('categories', category.id)}" %> | ||||||
| 	<% end -%>  | 	<% end -%>  | ||||||
| </div> | </div> | ||||||
| <%= render :partial => 'clear_filters', :locals => {:type => 'categories'} %> | <%= render :partial => 'clear_filters', :locals => {:type => 'categories'} %> | ||||||
|  | @ -1,9 +1,9 @@ | ||||||
| <div class="accordion-inner" data-toggle="buttons-checkbox"> | <div class="accordion-inner" data-toggle="buttons-checkbox"> | ||||||
| 	<%= link_to t(:top), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_top'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn js_history#{is_filter_active?('status', 'is_top')}" %> | 	<%= link_to t(:top), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_top'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_top')}" %> | ||||||
| 	<%= link_to t(:hot), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_hot'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn js_history#{is_filter_active?('status', 'is_hot')}" %> | 	<%= link_to t(:hot), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_hot'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_hot')}" %> | ||||||
| 	<%= link_to t(:hidden), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_hidden'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn js_history#{is_filter_active?('status', 'is_hidden')}" %> | 	<%= link_to t(:hidden), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_hidden'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_hidden')}" unless(is_guest?)%> | ||||||
| 	<%= link_to t(:pending), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_pending'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn js_history#{is_filter_active?('status', 'is_pending')}" %> | 	<%= link_to t(:pending), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_pending'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_pending')}"  if(is_manager?)%> | ||||||
| 	<%= link_to t(:passed), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_checked'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn js_history#{is_filter_active?('status', 'is_checked')}" %> | 	<%= link_to t(:passed), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_checked'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_checked')}" if(is_manager?)%> | ||||||
| 	<%= link_to t(:rejected), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_rejected'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn js_history#{is_filter_active?('status', 'is_rejected')}" %> | 	<%= link_to t(:rejected), panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'status', :id => 'is_rejected'}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('status', 'is_rejected')}" if(is_manager?)%> | ||||||
| </div> | </div> | ||||||
| <%= render :partial => 'clear_filters', :locals => {:type => 'status'} %> | <%= render :partial => 'clear_filters', :locals => {:type => 'status'} %> | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| <div class="accordion-inner" data-toggle="buttons-checkbox"> | <div class="accordion-inner" data-toggle="buttons-checkbox"> | ||||||
| 	<% @tags.each do |tag| -%> | 	<% @tags.each do |tag| -%> | ||||||
| 		<%= link_to tag[I18n.locale], panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'tags', :id => tag.id}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn js_history#{is_filter_active?('tags', tag.id)}" %> | 		<%= link_to tag[I18n.locale], panel_announcement_back_end_bulletins_path(:filter => @filter, :new_filter => {:type => 'tags', :id => tag.id}, :sort => params[:sort], :direction => params[:direction], :sort_options => params[:sort_options]), :class => "btn btn-small js_history#{is_filter_active?('tags', tag.id)}" %> | ||||||
| 	<% end -%>  | 	<% end -%>  | ||||||
| </div> | </div> | ||||||
| <%= render :partial => 'clear_filters', :locals => {:type => 'tags'} %> | <%= render :partial => 'clear_filters', :locals => {:type => 'tags'} %> | ||||||
|  | @ -211,18 +211,57 @@ | ||||||
| 										<a class="add"><span class="btn btn-primary btn-small"><i class="icon-plus icon-white"></i><%= t(:add) %></span></a> | 										<a class="add"><span class="btn btn-primary btn-small"><i class="icon-plus icon-white"></i><%= t(:add) %></span></a> | ||||||
| 										<p><%= t("sys.limit_of_upload_file_size",:best_size => '3MB') %></p> | 										<p><%= t("sys.limit_of_upload_file_size",:best_size => '3MB') %></p> | ||||||
| 										<p><%= t("sys.preview_only_for_img") %></p> | 										<p><%= t("sys.preview_only_for_img") %></p> | ||||||
|  | 									</div> | ||||||
|  | 									<fieldset> | ||||||
|  |                         <input type="hidden" id="MAX_FILE_SIZE" name="MAX_FILE_SIZE" value="300000" /> | ||||||
|  |                         <div id="filedrag"> | ||||||
|  |                             <div class="point">Drop files here | ||||||
|  |                                 <span>or</span> | ||||||
|  |                                 <label class="file-select" for="fileselect">select from a folder | ||||||
|  |                                     <!-- <input type="file" class="upload" id="fileselect" name="fileselect[]" multiple="multiple" /> --> | ||||||
|  |                                     <%= f.fields_for @bulletin.bulletin_files.build, do |f| %> | ||||||
|  | 	                               			<%= f.file_field :file, :multiple => true, :class => 'upload', :id => 'fileselect' %> | ||||||
|  | 																		<% end %> | ||||||
|  |                                 </label> | ||||||
|  |                             </div> | ||||||
|  |                         </div> | ||||||
|  |                         <div id="submitbutton"> | ||||||
|  |                             <button type="submit">Upload Files</button> | ||||||
|  |                         </div> | ||||||
|  |                     </fieldset> | ||||||
|  |                     <div> | ||||||
|  |                         <table class="table table-condensed"> | ||||||
|  |                             <thead> | ||||||
|  |                                 <tr> | ||||||
|  |                                     <th>File Name</th> | ||||||
|  |                                     <th class="span2">Chinese</th> | ||||||
|  |                                     <th class="span2">English</th> | ||||||
|  |                                     <th class="span1"></th> | ||||||
|  |                                 </tr> | ||||||
|  |                             </thead> | ||||||
|  |                             <tfoot> | ||||||
|  |                                 <tr> | ||||||
|  |                                     <td>File Name</td> | ||||||
|  |                                     <td><input type="checkbox" id="optionsCheckbox" value="true" disabled /></td> | ||||||
|  |                                     <td><input type="checkbox" id="optionsCheckbox" value="true" disabled checked /></td> | ||||||
|  |                                     <td><a class="action" data-toggle="modal" href="#modal-link"><i class="icon-pencil"></i></a><a class="action" href=""><i class="icon-remove"></i></a></td> | ||||||
|  |                                 </tr> | ||||||
|  |                             </tfoot> | ||||||
|  |                             <tbody id="messages"> | ||||||
|  |                             </tbody> | ||||||
|  |                         </table> | ||||||
|                     </div> |                     </div> | ||||||
| 								</td> | 								</td> | ||||||
| 							</tr> | 							</tr> | ||||||
| 						</tfoot> | 						</tfoot> | ||||||
| 						<tbody> | 						<tbody> | ||||||
| 							 | 							 | ||||||
| 								<% @bulletin.bulletin_files.each_with_index do |bulletin_file, i| %> | 								<%# @bulletin.bulletin_files.each_with_index do |bulletin_file, i| %> | ||||||
| 									<%#= fields_for "bulletin[bulletin_files][]", bulletin_file do |f| %> | 									<%#= fields_for "bulletin[bulletin_files][]", bulletin_file do |f| %> | ||||||
| 									<%= f.fields_for :bulletin_files, bulletin_file do |f| %> | 									<%#= f.fields_for :bulletin_files do |f| %> | ||||||
| 										<%= render :partial => 'form_bulletin_file', :object => bulletin_file, :locals => {:f => f, :i => i} %> | 										<%#= render :partial => 'form_bulletin_file', :object => bulletin_file, :locals => {:f => f, :i => i} %> | ||||||
| 									<% end %> | 									<%# end %> | ||||||
| 								<% end %>	 | 								<%# end %>	 | ||||||
| 							 | 							 | ||||||
| 						</tbody> | 						</tbody> | ||||||
| 					</table> | 					</table> | ||||||
|  |  | ||||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
		Reference in New Issue