diff --git a/1234567 b/1234567
deleted file mode 100644
index 08de77ab4..000000000
--- a/1234567
+++ /dev/null
@@ -1 +0,0 @@
-{"access_token":"bFlabz0uBcoIBfWL7nBJkgpl26aOWDy-dyCOvH_MjUo_hMOOKG83WV1cCL1MG6H-AE-6eMI0iyLoOoAMv9Y3pFFsLYD-GAGr3UH9fT8OqeHMDlFhXyRTvHv9l2QPHGpcARUcCGANEH","expires_in":7200,"got_token_at":1462934760}
\ No newline at end of file
diff --git a/Gemfile b/Gemfile
index 9f31edad1..a599613ba 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,5 +1,5 @@
source 'https://rubygems.org/'
-### 这里执行bundle config mirror.https://rubygems.org https://gems.ruby-china.org 切换到ruby-china源
+### 锟斤拷锟斤拷执锟斤拷bundle config mirror.https://rubygems.org https://gems.ruby-china.org 锟叫伙拷锟斤拷ruby-china源
unless RUBY_PLATFORM =~ /w32/
# unix-like only
diff --git a/Gemfile.lock~ b/Gemfile.lock~
new file mode 100644
index 000000000..7d6563465
--- /dev/null
+++ b/Gemfile.lock~
@@ -0,0 +1,386 @@
+GIT
+ remote: http://github.com/guange2015/wechat.git
+ revision: a18c3d6603cb1aa7bd1fe887b17f67426be01f35
+ specs:
+ wechat (0.7.1)
+ activerecord (>= 3.2, < 5.1.x)
+ http (~> 1.0, >= 1.0.1)
+ nokogiri (>= 1.6.0)
+ thor
+
+PATH
+ remote: lib/gitlab-cli
+ specs:
+ gitlab (3.2.0)
+ httparty
+ terminal-table
+
+PATH
+ remote: lib/grack
+ specs:
+ grack (2.0.2)
+ rack (~> 1.4.5)
+
+PATH
+ remote: lib/rails_kindeditor
+ specs:
+ rails_kindeditor (0.4.5)
+ carrierwave
+ mini_magick
+
+GEM
+ remote: https://ruby.taobao.org/
+ specs:
+ actionmailer (3.2.22.2)
+ actionpack (= 3.2.22.2)
+ mail (~> 2.5.4)
+ actionpack (3.2.22.2)
+ activemodel (= 3.2.22.2)
+ activesupport (= 3.2.22.2)
+ builder (~> 3.0.0)
+ erubis (~> 2.7.0)
+ journey (~> 1.0.4)
+ rack (~> 1.4.5)
+ rack-cache (~> 1.2)
+ rack-test (~> 0.6.1)
+ sprockets (~> 2.2.1)
+ activemodel (3.2.22.2)
+ activesupport (= 3.2.22.2)
+ builder (~> 3.0.0)
+ activerecord (3.2.22.2)
+ activemodel (= 3.2.22.2)
+ activesupport (= 3.2.22.2)
+ arel (~> 3.0.2)
+ tzinfo (~> 0.3.29)
+ activeresource (3.2.22.2)
+ activemodel (= 3.2.22.2)
+ activesupport (= 3.2.22.2)
+ activesupport (3.2.22.2)
+ i18n (~> 0.6, >= 0.6.4)
+ multi_json (~> 1.0)
+ acts-as-taggable-on (2.4.1)
+ rails (>= 3, < 5)
+ addressable (2.4.0)
+ ansi (1.5.0)
+ arel (3.0.3)
+ axiom-types (0.1.1)
+ descendants_tracker (~> 0.0.4)
+ ice_nine (~> 0.11.0)
+ thread_safe (~> 0.3, >= 0.3.1)
+ better_errors (1.1.0)
+ coderay (>= 1.0.0)
+ erubis (>= 2.6.6)
+ binding_of_caller (0.7.2)
+ debug_inspector (>= 0.0.1)
+ builder (3.0.0)
+ byebug (8.2.2)
+ carrierwave (0.10.0)
+ activemodel (>= 3.2.0)
+ activesupport (>= 3.2.0)
+ json (>= 1.7)
+ mime-types (>= 1.16)
+ chinese_pinyin (1.0.0)
+ climate_control (0.0.3)
+ activesupport (>= 3.0)
+ cocaine (0.5.8)
+ climate_control (>= 0.0.3, < 1.0)
+ coderay (1.1.1)
+ coercible (1.0.0)
+ descendants_tracker (~> 0.0.1)
+ coffee-rails (3.2.2)
+ coffee-script (>= 2.2.0)
+ railties (~> 3.2.0)
+ coffee-script (2.4.1)
+ coffee-script-source
+ execjs
+ coffee-script-source (1.10.0)
+ daemons (1.2.3)
+ debug_inspector (0.0.2)
+ delayed_job (4.1.1)
+ activesupport (>= 3.0, < 5.0)
+ delayed_job_active_record (4.1.0)
+ activerecord (>= 3.0, < 5)
+ delayed_job (>= 3.0, < 5)
+ descendants_tracker (0.0.4)
+ thread_safe (~> 0.3, >= 0.3.1)
+ diff-lcs (1.2.5)
+ domain_name (0.5.20160216)
+ unf (>= 0.0.5, < 1.0.0)
+ elasticsearch (1.0.15)
+ elasticsearch-api (= 1.0.15)
+ elasticsearch-transport (= 1.0.15)
+ elasticsearch-api (1.0.15)
+ multi_json
+ elasticsearch-model (0.1.8)
+ activesupport (> 3)
+ elasticsearch (> 0.4)
+ hashie
+ elasticsearch-rails (0.1.8)
+ elasticsearch-transport (1.0.15)
+ faraday
+ multi_json
+ equalizer (0.0.11)
+ erubis (2.7.0)
+ execjs (2.6.0)
+ factory_girl (4.5.0)
+ activesupport (>= 3.0.0)
+ factory_girl_rails (4.6.0)
+ factory_girl (~> 4.5.0)
+ railties (>= 3.0.0)
+ faraday (0.9.2)
+ multipart-post (>= 1.2, < 3)
+ fastercsv (1.5.5)
+ grape (0.9.0)
+ activesupport
+ builder
+ hashie (>= 2.1.0)
+ multi_json (>= 1.3.2)
+ multi_xml (>= 0.5.2)
+ rack (>= 1.3.0)
+ rack-accept
+ rack-mount
+ virtus (>= 1.0.0)
+ grape-entity (0.4.8)
+ activesupport
+ multi_json (>= 1.3.2)
+ grape-swagger (0.10.4)
+ grape (>= 0.8.0)
+ grape-entity (< 0.5.0)
+ hashie (3.4.3)
+ hike (1.2.3)
+ htmlentities (4.3.4)
+ http (1.0.2)
+ addressable (~> 2.3)
+ http-cookie (~> 1.0)
+ http-form_data (~> 1.0.1)
+ http_parser.rb (~> 0.6.0)
+ http-cookie (1.0.2)
+ domain_name (~> 0.5)
+ http-form_data (1.0.1)
+ http_parser.rb (0.6.0)
+ httparty (0.13.7)
+ json (~> 1.8)
+ multi_xml (>= 0.5.2)
+ i18n (0.6.11)
+ ice_nine (0.11.2)
+ iconv (1.0.4)
+ journey (1.0.4)
+ jquery-rails (2.0.3)
+ railties (>= 3.1.0, < 5.0)
+ thor (~> 0.14)
+ json (1.8.3)
+ kaminari (0.16.3)
+ actionpack (>= 3.0.0)
+ activesupport (>= 3.0.0)
+ libv8 (3.16.14.13)
+ mail (2.5.4)
+ mime-types (~> 1.16)
+ treetop (~> 1.4.8)
+ method_source (0.8.2)
+ mime-types (1.25.1)
+ mini_magick (4.4.0)
+ mini_portile2 (2.0.0)
+ multi_json (1.11.2)
+ multi_xml (0.5.5)
+ multipart-post (2.0.0)
+ mysql2 (0.3.18)
+ net-ldap (0.3.1)
+ netrc (0.11.0)
+ nokogiri (1.6.7.2)
+ mini_portile2 (~> 2.0.0.rc2)
+ paperclip (3.5.4)
+ activemodel (>= 3.0.0)
+ activesupport (>= 3.0.0)
+ cocaine (~> 0.5.3)
+ mime-types
+ polyglot (0.3.5)
+ pry (0.10.3)
+ coderay (~> 1.1.0)
+ method_source (~> 0.8.1)
+ slop (~> 3.4)
+ pry-byebug (3.3.0)
+ byebug (~> 8.0)
+ pry (~> 0.10)
+ pry-rails (0.3.4)
+ pry (>= 0.9.10)
+ pry-stack_explorer (0.4.9.2)
+ binding_of_caller (>= 0.7)
+ pry (>= 0.9.11)
+ rack (1.4.7)
+ rack-accept (0.4.5)
+ rack (>= 0.4)
+ rack-cache (1.6.1)
+ rack (>= 0.4)
+ rack-cors (0.4.0)
+ rack-mount (0.8.3)
+ rack (>= 1.0.0)
+ rack-openid (1.4.2)
+ rack (>= 1.1.0)
+ ruby-openid (>= 2.1.8)
+ rack-raw-upload (1.1.1)
+ multi_json
+ rack-ssl (1.3.4)
+ rack
+ rack-test (0.6.3)
+ rack (>= 1.0)
+ rails (3.2.22.2)
+ actionmailer (= 3.2.22.2)
+ actionpack (= 3.2.22.2)
+ activerecord (= 3.2.22.2)
+ activeresource (= 3.2.22.2)
+ activesupport (= 3.2.22.2)
+ bundler (~> 1.0)
+ railties (= 3.2.22.2)
+ railties (3.2.22.2)
+ actionpack (= 3.2.22.2)
+ activesupport (= 3.2.22.2)
+ rack-ssl (~> 1.3.2)
+ rake (>= 0.8.7)
+ rdoc (~> 3.4)
+ thor (>= 0.14.6, < 2.0)
+ rake (10.5.0)
+ rdoc (3.12.2)
+ json (~> 1.4)
+ redis (3.2.2)
+ redis-actionpack (3.2.4)
+ actionpack (~> 3.2.0)
+ redis-rack (~> 1.4.4)
+ redis-store (~> 1.1.4)
+ redis-activesupport (3.2.5)
+ activesupport (~> 3.2.0)
+ redis-store (~> 1.1.0)
+ redis-rack (1.4.4)
+ rack (~> 1.4.0)
+ redis-store (~> 1.1.4)
+ redis-rails (3.2.4)
+ redis-actionpack (~> 3.2.4)
+ redis-activesupport (~> 3.2.4)
+ redis-store (~> 1.1.4)
+ redis-store (1.1.7)
+ redis (>= 2.2)
+ ref (2.0.0)
+ rest-client (1.8.0)
+ http-cookie (>= 1.0.2, < 2.0)
+ mime-types (>= 1.16, < 3.0)
+ netrc (~> 0.7)
+ rich (1.4.6)
+ jquery-rails
+ kaminari
+ mime-types
+ paperclip
+ rack-raw-upload
+ rails (>= 3.2.0)
+ sass-rails
+ rspec-core (3.4.3)
+ rspec-support (~> 3.4.0)
+ rspec-expectations (3.4.0)
+ diff-lcs (>= 1.2.0, < 2.0)
+ rspec-support (~> 3.4.0)
+ rspec-mocks (3.4.1)
+ diff-lcs (>= 1.2.0, < 2.0)
+ rspec-support (~> 3.4.0)
+ rspec-rails (3.4.2)
+ actionpack (>= 3.0, < 4.3)
+ activesupport (>= 3.0, < 4.3)
+ railties (>= 3.0, < 4.3)
+ rspec-core (~> 3.4.0)
+ rspec-expectations (~> 3.4.0)
+ rspec-mocks (~> 3.4.0)
+ rspec-support (~> 3.4.0)
+ rspec-support (3.4.1)
+ ruby-ole (1.2.12)
+ ruby-openid (2.1.8)
+ rubyzip (1.2.0)
+ sass (3.4.21)
+ sass-rails (3.2.6)
+ railties (~> 3.2.0)
+ sass (>= 3.1.10)
+ tilt (~> 1.3)
+ seems_rateable (1.0.13)
+ jquery-rails
+ rails
+ slop (3.6.0)
+ spreadsheet (1.1.1)
+ ruby-ole (>= 1.0)
+ sprockets (2.2.3)
+ hike (~> 1.2)
+ multi_json (~> 1.0)
+ rack (~> 1.0)
+ tilt (~> 1.1, != 1.3.0)
+ terminal-table (1.5.2)
+ therubyracer (0.12.2)
+ libv8 (~> 3.16.14.0)
+ ref
+ thor (0.19.1)
+ thread_safe (0.3.5)
+ tilt (1.4.1)
+ treetop (1.4.15)
+ polyglot
+ polyglot (>= 0.3.1)
+ tzinfo (0.3.46)
+ uglifier (2.7.2)
+ execjs (>= 0.3.0)
+ json (>= 1.8.0)
+ unf (0.1.4)
+ unf_ext
+ unf_ext (0.0.7.2)
+ virtus (1.0.5)
+ axiom-types (~> 0.1)
+ coercible (~> 1.0)
+ descendants_tracker (~> 0.0, >= 0.0.3)
+ equalizer (~> 0.0, >= 0.0.9)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ acts-as-taggable-on (= 2.4.1)
+ ansi
+ better_errors (~> 1.1.0)
+ binding_of_caller
+ builder (= 3.0.0)
+ chinese_pinyin
+ coderay (~> 1.1.0)
+ coffee-rails (~> 3.2.1)
+ daemons
+ delayed_job_active_record
+ elasticsearch-model
+ elasticsearch-rails
+ factory_girl_rails
+ fastercsv (~> 1.5.0)
+ gitlab!
+ grack!
+ grape (~> 0.9.0)
+ grape-entity
+ grape-swagger
+ htmlentities
+ i18n (~> 0.6.0)
+ iconv
+ jquery-rails (~> 2.0.2)
+ kaminari
+ mysql2 (= 0.3.18)
+ net-ldap (~> 0.3.1)
+ paperclip (~> 3.5.4)
+ pry-byebug
+ pry-rails
+ pry-stack_explorer
+ rack-cors
+ rack-openid
+ rails (~> 3.2)
+ rails_kindeditor!
+ redis-rails
+ rest-client
+ rich (= 1.4.6)
+ rspec-rails (~> 3.0)
+ ruby-ole
+ ruby-openid (~> 2.1.4)
+ rubyzip
+ sass-rails (~> 3.2.3)
+ seems_rateable (~> 1.0.13)
+ spreadsheet
+ therubyracer
+ uglifier (>= 1.0.3)
+ wechat!
+
+BUNDLED WITH
+ 1.10.6
diff --git a/Gemfile~ b/Gemfile~
new file mode 100644
index 000000000..24869e72b
--- /dev/null
+++ b/Gemfile~
@@ -0,0 +1,112 @@
+source 'http://rubygems.org/'
+### 这里执行bundle config mirror.https://rubygems.org https://gems.ruby-china.org 切换到ruby-china源
+
+unless RUBY_PLATFORM =~ /w32/
+ # unix-like only
+ gem 'iconv'
+end
+
+gem 'certified'
+
+gem 'wechat',path: 'lib/wechat'
+gem 'grack', path:'lib/grack'
+gem 'gitlab', path: 'lib/gitlab-cli'
+gem 'rest-client'
+gem "mysql2", "= 0.3.18"
+gem 'redis-rails'
+gem 'rubyzip'
+gem 'delayed_job_active_record'#, :group => :production
+gem 'daemons'
+gem 'grape', '~> 0.9.0'
+gem 'grape-entity'
+gem 'rack-cors', :require => 'rack/cors'
+gem 'seems_rateable', '~> 1.0.13'
+gem 'rails', '~> 3.2'
+gem "jquery-rails", "~> 2.0.2"
+gem "i18n", "~> 0.6.0"
+gem 'coderay', '~> 1.1.0'
+gem "fastercsv", "~> 1.5.0", :platforms => [:mri_18, :mingw_18, :jruby]
+gem "builder", "3.0.0"
+gem 'acts-as-taggable-on', '2.4.1'
+gem 'spreadsheet'
+gem 'ruby-ole'
+gem 'rails_kindeditor',path:'lib/rails_kindeditor'
+#gem "rmagick", ">= 2.0.0"
+gem 'binding_of_caller'
+gem 'chinese_pinyin'
+# gem 'sunspot_rails', '~> 1.3.3'
+# gem 'sunspot_solr'
+# gem 'sunspot'
+# gem 'progress_bar'
+gem 'ansi'
+
+gem 'kaminari'
+gem 'elasticsearch-model'
+gem 'elasticsearch-rails'
+
+
+### profile
+#gem 'oneapm_rpm'
+
+group :development do
+ gem 'grape-swagger'
+ gem 'better_errors', '~> 1.1.0'
+ # gem "query_reviewer"
+ # gem 'rack-mini-profiler', '~> 0.9.3'
+ if RUBY_PLATFORM =~ /w32/
+ gem 'win32console'
+ end
+end
+
+group :development, :test do
+ unless RUBY_PLATFORM =~ /w32/
+ gem 'pry-rails'
+ if RUBY_VERSION >= '2.0.0'
+ gem 'pry-byebug'
+ end
+ gem 'pry-stack_explorer'
+ if RUBY_PLATFORM =~ /darwin/
+ gem 'puma'
+ end
+ end
+
+ gem 'rspec-rails', '~> 3.0'
+ gem 'factory_girl_rails'
+end
+
+# Gems used only for assets and not required
+# in production environments by default.
+group :assets do
+ gem 'sass-rails', '~> 3.2.3'
+ gem 'coffee-rails', '~> 3.2.1'
+
+ # See https://github.com/sstephenson/execjs#readme for more supported runtimes
+ gem 'therubyracer', :platforms => :ruby
+
+ gem 'uglifier', '>= 1.0.3'
+end
+
+# Optional gem for LDAP authentication
+group :ldap do
+ gem "net-ldap", "~> 0.3.1"
+end
+
+
+# Optional gem for OpenID authentication
+group :openid do
+ gem "ruby-openid", "~> 2.1.4", :require => "openid"
+ gem "rack-openid"
+end
+
+
+database_file = File.join(File.dirname(__FILE__), "config/database.yml")
+if File.exist?(database_file)
+else
+ warn("Please configure your config/database.yml first")
+end
+
+# Load plugins' Gemfiles
+Dir.glob File.expand_path("../plugins/*/Gemfile", __FILE__) do |file|
+ puts "Loading #{file} ..." if $DEBUG # `ruby -d` or `bundle -v`
+ instance_eval File.read(file)
+end
diff --git a/app/api/mobile/apis/activities.rb b/app/api/mobile/apis/activities.rb
index 94ee14a56..cbd43bb79 100644
--- a/app/api/mobile/apis/activities.rb
+++ b/app/api/mobile/apis/activities.rb
@@ -33,10 +33,10 @@ module Mobile
shield_project_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{user.id} and shield_type='Project'").map(&:shield_id)
shield_course_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{user.id} and shield_type='Course'").map(&:shield_id)
page = params[:page] ? params[:page] : 0
- user_project_ids = (user.projects.map{|project| project.id}-shield_project_ids).empty? ? "(-1)" : "(" + (user.projects.map{|project| project.id}-shield_project_ids).join(",") + ")"
- user_course_ids = (user.courses.map{|course| course.id}-shield_course_ids).empty? ? "(-1)" : "(" + (user.courses.map{|course| course.id}-shield_course_ids).join(",") + ")"
+ user_project_ids = (user.projects.visible.map{|project| project.id}-shield_project_ids).empty? ? "(-1)" : "(" + (user.projects.map{|project| project.id}-shield_project_ids).join(",") + ")"
+ user_course_ids = (user.courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).empty? ? "(-1)" : "(" + (user.courses.map{|course| course.id}-shield_course_ids).join(",") + ")"
course_types = "('Message','News','HomeworkCommon','Poll','Course')"
- project_types = "('Message','Issue','ProjectCreateInfo')"
+ project_types = "('Message','Issue','Project')"
principal_types = "JournalsForMessage"
watched_user_ids = User.watched_by(user.id).count == 0 ? " " : ("," + User.watched_by(user.id).map{|u| u.id.to_s }.join(','))
user_ids = "(" + user.id.to_s + watched_user_ids + ")"
diff --git a/app/api/mobile/entities/activity.rb b/app/api/mobile/entities/activity.rb
index 20876bf69..3ba82bcb9 100644
--- a/app/api/mobile/entities/activity.rb
+++ b/app/api/mobile/entities/activity.rb
@@ -14,7 +14,7 @@ module Mobile
else
case f
when :user_act
- if ac.act_type == "ProjectCreateInfo"
+ if ac.act_type == "Project"
ac unless ac.nil?
else
ac.act unless ac.nil? || ac.act.nil?
@@ -84,10 +84,10 @@ module Mobile
elsif ac.container_type == "Project"
case ac.act_type
when "Issue"
- "椤圭洰缂洪櫡"
+ "椤圭洰闂"
when "Message"
"椤圭洰璁ㄨ鍖"
- when "ProjectCreateInfo"
+ when "Project"
"椤圭洰"
end
end
@@ -101,7 +101,7 @@ module Mobile
expose :container_type #璇剧▼/椤圭洰/鍗氬/涓汉
expose :author, using: Mobile::Entities::User do |a, opt| #鐢ㄦ埛淇℃伅
if a.is_a? ::UserActivity
- if a.act_type == "ProjectCreateInfo"
+ if a.act_type == "Project"
get_user(get_project(a.act_id).user_id)
elsif !a.act.nil?
if a.act_type == 'Issue' || a.act_type == 'News' || a.act_type == 'Message' || a.act_type == 'BlogComment'
diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb
index 0fd4cc2c9..1478bceae 100644
--- a/app/controllers/courses_controller.rb
+++ b/app/controllers/courses_controller.rb
@@ -162,6 +162,7 @@ class CoursesController < ApplicationController
@subPage_title = l :label_student_list
@canShowCode = User.current.allowed_to?(:as_teacher,@course) && params[:role] != '1'
# @is_remote = true
+ @sort_type = 'score'
@score_sort_by = "desc"
q = "#{params[:name].strip}"
if params[:incourse]
@@ -185,9 +186,11 @@ class CoursesController < ApplicationController
group.course_id = @course.id
group.save
end
+ @sort_type = 'score'
+ @score_sort_by = "desc"
@canShowCode = User.current.allowed_to?(:as_teacher,@course) && params[:role] != '1'
@is_remote = true
- @members = student_homework_score(0,0, 10,"desc")
+ @members = student_homework_score(0,0, 10,@score_sort_by)
@course_groups = @course.course_groups
end
@@ -196,7 +199,9 @@ class CoursesController < ApplicationController
@subPage_title = l :label_student_list
@canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1'
@is_remote = true
-
+ @sort_type = 'score'
+ @score_sort_by = "desc"
+ @members = student_homework_score(0,0, 10,@score_sort_by)
@course_groups = @course.course_groups
end
@@ -281,6 +286,7 @@ class CoursesController < ApplicationController
@render_file = 'new_member_list'
@canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1'
@is_remote = true
+ @sort_type = 'score'
@score_sort_by = "desc"
if params[:group_id] && params[:group_id] != "0"
@group = CourseGroup.find(params[:group_id])
@@ -298,6 +304,7 @@ class CoursesController < ApplicationController
@render_file = 'new_member_list'
@score_sort_by = "desc"
+ @sort_type = "score"
@canShowCode = User.current.allowed_to?(:as_teacher,@course) && params[:role] != '1'
@role = params[:role].nil? ? '2':params[:role]
@is_remote = true
@@ -312,7 +319,7 @@ class CoursesController < ApplicationController
if @course.open_student == 1 || User.current.member_of_course?(@course)
@subPage_title = l :label_student_list
page = params[:page].nil? ? 0 : (params['page'].to_i - 1)
- @all_members = student_homework_score(0,page, 10,"desc")
+ @all_members = student_homework_score(0,page, 10,@score_sort_by)
@members = @all_members
else
render_403
@@ -350,28 +357,29 @@ class CoursesController < ApplicationController
@subPage_title = l :label_student_list
@render_file = 'new_member_list'
@is_remote = true
+ @sort_type = params[:sort_type] if params[:sort_type]
@score_sort_by = params[:sort_by] if params[:sort_by]
@search_name = params[:search_name] if params[:search_name]
group_id = params[:group_id]
if !@search_name.nil?
if group_id == '0'
page = params[:page].nil? ? 0 : (params['page'].to_i - 1)
- @results = searchmember_by_name(student_homework_score(0,0,0,@score_sort_by), @search_name)
+ @results = searchmember_by_name(student_homework_score(0,0,0,@score_sort_by,@sort_type), @search_name)
@result_count = @results.count
# @results = paginateHelper @results, 10
else
@group = CourseGroup.find(group_id)
- @results = searchmember_by_name(student_homework_score(group_id, 0, 0,@score_sort_by),@search_name)
+ @results = searchmember_by_name(student_homework_score(group_id, 0, 0,@score_sort_by,@sort_type),@search_name)
@result_count = @results.count
# @results = paginateHelper @results, 10
end
else
if group_id == '0'
page = params[:page].nil? ? 0 : (params['page'].to_i - 1)
- @results = student_homework_score(0,page, 10,@score_sort_by)
+ @results = student_homework_score(0,page, 10,@score_sort_by,@sort_type)
else
@group = CourseGroup.find(group_id)
- @results = student_homework_score(group_id, 0, 0,@score_sort_by)
+ @results = student_homework_score(group_id, 0, 0,@score_sort_by,@sort_type)
end
end
end
@@ -384,6 +392,15 @@ class CoursesController < ApplicationController
end
end
+ # 鏄剧ず姣忎釜瀛︾敓鐨勪綔涓氳瘎鍒嗚鎯
+ def show_member_act_score
+ @member = Member.find(params[:member_id]) if params[:member_id]
+ respond_to do |format|
+ format.html {render :layout => 'course_base'}
+ format.js
+ end
+ end
+
def handle_course courses, activities
course_activity_count_array=activities.values()
course_array=[]
@@ -1149,7 +1166,7 @@ class CoursesController < ApplicationController
end
end
- def student_homework_score(groupid,start_from, nums, score_sort_by)
+ def student_homework_score(groupid,start_from, nums, score_sort_by, sort_type = 'score')
start_from = start_from * nums
sql_select = ""
if groupid == 0
@@ -1159,11 +1176,13 @@ class CoursesController < ApplicationController
WHERE student_works.homework_common_id = homework_commons.id
AND homework_commons.course_id = #{@course.id}
AND student_works.user_id = members.user_id
- ) AS score
+ ) AS score,(SELECT (message_num*2 + message_reply_num*1 + news_reply_num*1 + news_num*1 +
+ resource_num*5 + journal_num*1 + homework_journal_num*1 ) FROM `course_contributor_scores` AS ccs WHERE ccs.course_id = 577 AND ccs.user_id = members.user_id
+ ) AS act_score
FROM members
JOIN students_for_courses
ON students_for_courses.student_id = members.user_id AND students_for_courses.course_id = members.course_id
- WHERE members.course_id = #{@course.id} ORDER BY score #{score_sort_by}"
+ WHERE members.course_id = #{@course.id} ORDER BY #{sort_type} #{score_sort_by}"
else
sql_select = "SELECT members.*,(
SELECT SUM(student_works.work_score)
@@ -1171,11 +1190,13 @@ class CoursesController < ApplicationController
WHERE student_works.homework_common_id = homework_commons.id
AND homework_commons.course_id = #{@course.id}
AND student_works.user_id = members.user_id
- ) AS score
+ ) AS score,(SELECT (message_num*2 + message_reply_num*1 + news_reply_num*1 + news_num*1 +
+ resource_num*5 + journal_num*1 + homework_journal_num*1 ) FROM `course_contributor_scores` AS ccs WHERE ccs.course_id = 577 AND ccs.user_id = members.user_id
+ ) AS act_score
FROM members
JOIN students_for_courses
ON students_for_courses.student_id = members.user_id AND students_for_courses.course_id = members.course_id
- WHERE members.course_id = #{@course.id} AND members.course_group_id = #{groupid} ORDER BY score #{score_sort_by}"
+ WHERE members.course_id = #{@course.id} AND members.course_group_id = #{groupid} ORDER BY #{sort_type} #{score_sort_by}"
end
sql = ActiveRecord::Base.connection()
homework_scores = Member.find_by_sql(sql_select)
@@ -1225,8 +1246,7 @@ class CoursesController < ApplicationController
sheet1[5,i+4] = "绗"+(i+1).to_s+"娆"
end
sheet1[5,homeworks.count+4] = "鎬绘垚缁"
- sheet1[5,0] = "鎺掑悕"
- sheet1[5,0] = "鎺掑悕"
+ sheet1[5,homeworks.count+5] = "娲昏穬搴"
count_row = 6
members.each_with_index do |member, i|
sheet1[count_row,0]= i+1
@@ -1236,14 +1256,15 @@ class CoursesController < ApplicationController
homeworks.each_with_index do |homework, j|
student_works = homework.student_works.where("user_id = #{member.user.id}")
if student_works.empty?
- sheet1[count_row,j+4] = format("%0.2f",0)
+ sheet1[count_row,j+4] = 0
else
final_score = student_works.first.final_score.nil? ? 0 : student_works.first.final_score
score = final_score - student_works.first.absence_penalty - student_works.first.late_penalty
- sheet1[count_row,j+4] = format("%0.2f",score <0 ? 0:score)
+ sheet1[count_row,j+4] = score <0 ? 0:score.round(2)
end
end
- sheet1[count_row,homeworks.count+4] = format("%0.2f",member.score.nil? ? 0:member.score.to_s)
+ sheet1[count_row,homeworks.count+4] = member.score.nil? ? 0:member.score.round(2)
+ sheet1[count_row,homeworks.count+5] = member.act_score.nil? ? 0:member.act_score
count_row += 1
end
diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb
index 689ef2bd7..9da4b90b9 100644
--- a/app/controllers/homework_common_controller.rb
+++ b/app/controllers/homework_common_controller.rb
@@ -20,15 +20,16 @@ class HomeworkCommonController < ApplicationController
@page = params[:page] ? params[:page].to_i + 1 : 0
@is_teacher = User.current.logged? && (User.current.admin? || User.current.allowed_to?(:as_teacher,@course))
if @is_teacher
- @homeworks = @course.homework_commons.order("updated_at desc").limit(10).offset(@page * 10)
+ #@homeworks = @course.homework_commons.order("created_at desc").limit(10).offset(@page * 10)
@homework_commons = @course.homework_commons.order("created_at desc")
else
- @homeworks = @course.homework_commons.where("publish_time <= '#{Date.today}'").order("updated_at desc").limit(10).offset(@page * 10)
+ #@homeworks = @course.homework_commons.where("publish_time <= '#{Date.today}'").order("created_at desc").limit(10).offset(@page * 10)
@homework_commons = @course.homework_commons.where("publish_time <= '#{Date.today}'").order("created_at desc")
end
@is_student = User.current.logged? && (User.current.admin? || (User.current.member_of_course?(@course) && !@is_teacher))
@is_new = params[:is_new]
+ @homeworks = paginateHelper @homework_commons,10
#璁剧疆at宸茶
@homeworks.each do |homework|
homework.journals_for_messages.each do |j|
@@ -291,9 +292,9 @@ class HomeworkCommonController < ApplicationController
def open_student_works
if @homework.is_open == 0
- @homework.update_attribute(:is_open, 1)
+ @homework.update_column('is_open', 1)
else
- @homework.update_attribute(:is_open, 0)
+ @homework.update_column('is_open', 0)
end
@user_activity_id = params[:user_activity_id]
@is_in_course = params[:is_in_course] if params[:is_in_course]
@@ -440,7 +441,7 @@ class HomeworkCommonController < ApplicationController
puts time
s_time = time
if format_time(time) > format_time(h.updated_at)
- h.update_attribute(:updated_at, s_time)
+ h.update_column('updated_at', s_time)
end
end
end
diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb
index c94f734e1..1946378ef 100644
--- a/app/controllers/organizations_controller.rb
+++ b/app/controllers/organizations_controller.rb
@@ -127,7 +127,7 @@ class OrganizationsController < ApplicationController
case params[:type]
when nil
@org_activities = OrgActivity.where("(container_id =? and container_type =?) " +
- "or (container_type ='Project' and org_act_type in ('Issue','Message','ProjectCreateInfo') and container_id in (#{project_ids.join(',')})) "+
+ "or (container_type ='Project' and org_act_type in ('Issue','Message','Project') and container_id in (#{project_ids.join(',')})) "+
"or (container_type ='Course' and org_act_type in #{course_types} and container_id in (#{course_ids.join(',')}))",
@organization.id, 'Organization').order('updated_at desc').page(params[:page] || 1).per(10)
when 'project_issue'
diff --git a/app/controllers/ssos_controller.rb b/app/controllers/ssos_controller.rb
index 1e1bd932b..9a5042c50 100644
--- a/app/controllers/ssos_controller.rb
+++ b/app/controllers/ssos_controller.rb
@@ -27,8 +27,10 @@ class SsosController < ApplicationController
## 鍔犲叆缁勭粐
@organization = Organization.find(82)
unless @organization.org_members.exists?(user_id: sso.user_id)
- member = OrgMember.new(:user_id => sso.user_id)
+ member = OrgMember.create(:user_id => sso.user_id, :created_at => Time.now)
+ # member = OrgMember.new(:user_id => sso.user_id)
@organization.org_members << member
+ OrgMemberRole.create(:org_member_id => member.id, :role_id => 12)
end
## 閫夋嫨鎬ц烦杞
@@ -55,10 +57,7 @@ class SsosController < ApplicationController
end
def parse(auth)
- crypted_str = Base64.decode64(base64_safe(auth))
- pkey = OpenSSL::PKey::RSA.new(File.new(File.join(Rails.root,"config/private.key")))
- content = pkey.private_decrypt(crypted_str,OpenSSL::PKey::RSA::PKCS1_PADDING)
- # content = pkey.private_decrypt(crypted_str)
+ content = decrypt(auth)
ActiveSupport::JSON.decode(content)
end
@@ -68,4 +67,20 @@ class SsosController < ApplicationController
sso
end
+ def decrypt(auth)
+ crypted_str = Base64.decode64(base64_safe(auth))
+ pkey = OpenSSL::PKey::RSA.new(File.new(File.join(Rails.root,"config/private.key")))
+
+ #to large
+ max_dec_len = 1024/8
+ size = (crypted_str.size + max_dec_len-1) / max_dec_len
+
+ content = ''
+ size.times do |time|
+ tmps = crypted_str[time*max_dec_len, max_dec_len]
+ content += pkey.private_decrypt(tmps,OpenSSL::PKey::RSA::PKCS1_PADDING)
+ end
+ content
+ end
+
end
diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb
index b71c5a6e3..7da42bd24 100644
--- a/app/controllers/student_work_controller.rb
+++ b/app/controllers/student_work_controller.rb
@@ -832,7 +832,7 @@ class StudentWorkController < ApplicationController
stu_score = StudentWorksScore.find_by_sql("SELECT AVG(score) AS score FROM (SELECT * FROM (SELECT * FROM student_works_scores WHERE student_work_id = #{@work.id} AND reviewer_role = 3 ORDER BY created_at DESC) AS t GROUP BY user_id) AS a")
@work.student_score = stu_score.first.score.try(:round, 2).to_f
end
- @homework.update_attributes(:updated_at => Time.now)
+ @homework.update_column('updated_at', Time.now)
update_course_activity(@homework.class,@homework.id)
update_user_activity(@homework.class,@homework.id)
update_org_activity(@homework.class,@homework.id)
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index a81ade3fa..f3e0908ba 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -589,7 +589,7 @@ class UsersController < ApplicationController
new_homework.homework_detail_programing.save if new_homework.homework_detail_programing
new_homework.homework_detail_group.save if new_homework.homework_detail_group
end
- homework.update_attribute(:quotes, homework.quotes+1)
+ homework.update_column(:quotes, homework.quotes+1)
end
@homework = homework
respond_to do |format|
@@ -862,7 +862,7 @@ class UsersController < ApplicationController
student_work.save
send_message_to_teacher(student_work)
- homework.update_attributes(:updated_at => Time.now)
+ homework.update_column(:updated_at, Time.now)
update_course_activity(homework.class,homework.id)
update_user_activity(homework.class,homework.id)
update_org_activity(homework.class,homework.id)
@@ -950,7 +950,7 @@ class UsersController < ApplicationController
homework_detail_group.save if homework_detail_group
if params[:quotes] && !params[:quotes].blank?
quotes_homework = HomeworkCommon.find params[:quotes].to_i
- quotes_homework.update_attribute(:quotes, quotes_homework.quotes+1)
+ quotes_homework.update_column(:quotes, quotes_homework.quotes+1)
end
if params[:is_in_course] == "1"
redirect_to homework_common_index_path(:course => homework.course_id)
@@ -1373,7 +1373,7 @@ class UsersController < ApplicationController
user_project_ids = (@user.projects.visible.map{|project| project.id}-shield_project_ids).empty? ? "(-1)" : "(" + (@user.projects.visible.map{|project| project.id}-shield_project_ids).join(",") + ")"
user_course_ids = (@user.courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).empty? ? "(-1)" : "(" + (@user.courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).join(",") + ")"
course_types = "('Message','News','HomeworkCommon','Poll','Course','JournalsForMessage')"
- project_types = "('Message','Issue','ProjectCreateInfo')"
+ project_types = "('Message','Issue','Project')"
principal_types = "JournalsForMessage"
if params[:type].present?
case params[:type]
@@ -2618,9 +2618,6 @@ class UsersController < ApplicationController
# 鑾峰彇鎴戠殑璧勬簮
def get_my_resources author_id, user_course_ids, user_project_ids, order, score
- unless author_id.to_i.to_s == author_id
- author_id = User.find_by_login(author_id).id
- end
attachments = Attachment.where("(author_id = #{author_id} and is_publish = 1 and container_id is not null and container_type in('OrgSubfield','Principal','Issue','Document','Message','News','StudentWorkScore','HomewCommon')) "+
"or (container_type = 'Course' and container_id in (#{user_course_ids.empty? ? '0': user_course_ids.join(',')}) and is_publish = 1 and container_id is not null)" +
"or (container_type = 'Project' and container_id in (#{user_project_ids.empty? ? '0': user_project_ids.join(',')}) and is_publish = 1 and container_id is not null)" ).order("#{order.nil? ? 'created_on' : order} #{score}")
@@ -2628,7 +2625,6 @@ class UsersController < ApplicationController
# 鑾峰彇鎴戠殑璧勬簮鏌ヨ缁撴灉
def get_my_resources_search (author_id, user_course_ids, user_project_ids, order, score, search)
- author_id = User.find_by_login(author_id).id
@attachments = Attachment.where("((author_id = #{author_id} and is_publish = 1 and container_id is not null and container_type in('Project','OrgSubfield','Principal','Course','Issue','Document','Message','News','StudentWorkScore','HomewCommon')) "+
"or (container_type = 'Course' and container_id in (#{user_course_ids.empty? ? '0': user_course_ids.join(',')}) and is_publish = 1 and container_id is not null)" +
"or (container_type = 'Project' and container_id in (#{user_project_ids.empty? ? '0': user_project_ids.join(',')}) and is_publish = 1 and container_id is not null)) and (filename like :p)" ,:p => search).order("#{order.nil? ? 'created_on' : order} #{score}")
@@ -2636,7 +2632,6 @@ class UsersController < ApplicationController
# 鑾峰彇鎴戠殑璇剧▼璧勬簮
def get_course_resources author_id, user_course_ids, order, score
- author_id = User.find_by_login(author_id).id
attchments = Attachment.where("(author_id = #{author_id} and is_publish = 1 and container_id is not null and container_type = 'Course')"+
"or (container_type = 'Course' and container_id in (#{user_course_ids.empty? ? '0': user_course_ids.join(',')})
and is_publish = 1 and container_id is not null)" ).order("#{order.nil? ? 'created_on' : order} #{score}")
@@ -2644,7 +2639,6 @@ class UsersController < ApplicationController
# 鑾峰彇鎴戠殑璇剧▼璧勬簮涓悳绱㈢粨鏋
def get_course_resources_search author_id, user_course_ids, order, score, search
- author_id = User.find_by_login(author_id).id
attchments = Attachment.where("((author_id = #{author_id} and is_publish = 1 and container_id is not null and container_type = 'Course')"+
"or (container_type = 'Course' and container_id in (#{user_course_ids.empty? ? '0': user_course_ids.join(',')})
and is_publish = 1 and container_id is not null)) and (filename like :p)", :p => search ).order("#{order.nil? ? 'created_on' : order} #{score}")
@@ -2662,7 +2656,6 @@ class UsersController < ApplicationController
# 鑾峰彇鎴戠殑椤圭洰璧勬簮
def get_project_resources author_id, user_project_ids, order, score
- author_id = User.find_by_login(author_id).id
attchments = Attachment.where("(author_id = #{author_id} and is_publish = 1 and container_id is not null and container_type = 'Project') "+
"or (container_type = 'Project' and container_id in (#{user_project_ids.empty? ? '0': user_project_ids.join(',')})
and is_publish = 1 and container_id is not null)").order("#{order.nil? ? 'created_on' : order} #{score}")
@@ -2670,7 +2663,6 @@ class UsersController < ApplicationController
# 鑾峰彇鎴戠殑椤圭洰璧勬簮鎼滅储
def get_project_resources_search author_id, user_project_ids, order, score, search
- author_id = User.find_by_login(author_id).id
attchments = Attachment.where("((author_id = #{author_id} and is_publish = 1 and container_id is not null and container_type = 'Project') "+
"or (container_type = 'Project' and container_id in (#{user_project_ids.empty? ? '0': user_project_ids.join(',')})
and is_publish = 1 and container_id is not null)) and (filename like :p)", :p => search ).order("#{order.nil? ? 'created_on' : order} #{score}")
@@ -2688,14 +2680,12 @@ class UsersController < ApplicationController
# 鑾峰彇鎴戜笂浼犵殑闄勪欢
def get_attch_resources author_id, order, score
- author_id = User.find_by_login(author_id).id
attchments = Attachment.where("(author_id = #{author_id} and is_publish = 1 and container_id is not null and container_type in('Project','OrgSubfield','Principal','Course','Issue',
'Document','Message','News','StudentWorkScore','HomewCommon'))").order("#{order.nil? ? 'created_on' : order} #{score}")
end
# 鑾峰彇鎴戜笂浼犵殑闄勪欢鎼滅储缁撴灉
def get_attch_resources_search author_id, order, score, search
- author_id = User.find_by_login(author_id).id
attchments = Attachment.where("(author_id = #{author_id} and is_publish = 1 and container_id is not null and container_type in('Project','OrgSubfield','Principal','Course','Issue',
'Document','Message','News','StudentWorkScore','HomewCommon')) and (filename like :p)", :p => search ).order("#{order.nil? ? 'created_on' : order} #{score}")
end
@@ -2714,13 +2704,11 @@ class UsersController < ApplicationController
# 鑾峰彇鎴戠殑鐢ㄦ埛绫诲瀷璧勬簮
def get_principal_resources author_id, order, score
- author_id = User.find_by_login(author_id).id
attchments = Attachment.where("author_id = #{author_id} and is_publish = 1 and container_id is not null and container_type = 'Principal'").order("#{order.nil? ? 'created_on' : order} #{score}")
end
# 鑾峰彇鎴戠殑鐢ㄦ埛绫诲瀷璧勬簮鎼滅储
def get_principal_resources_search author_id, order, score, search
- author_id = User.find_by_login(author_id).id
attchments = Attachment.where("(author_id = #{author_id} and is_publish = 1 and container_id is not null and container_type = 'Principal') and (filename like :p)", :p => search).order("#{order.nil? ? 'created_on' : order} #{score}")
end
diff --git a/app/controllers/wechats_controller.rb b/app/controllers/wechats_controller.rb
index 0d75636f7..39be9cef3 100644
--- a/app/controllers/wechats_controller.rb
+++ b/app/controllers/wechats_controller.rb
@@ -166,7 +166,7 @@ class WechatsController < ActionController::Base
raise "闈炴硶鎿嶄綔, code涓嶅瓨鍦" unless params[:code]
openid = get_openid_from_code(params[:code])
raise "鏃犳硶鑾峰彇鍒皁penid" unless openid
- raise "姝ゅ井淇″彿宸茬粦瀹氱敤鎴, 涓嶈兘寰楀缁戝畾" if user_binded?(openid)
+ raise "姝ゅ井淇″彿宸茬粦瀹氱敤鎴, 涓嶈兘閲嶅缁戝畾" if user_binded?(openid)
user, last_login_on = User.try_to_login(params[:username], params[:password])
raise "鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒,璇烽噸鏂扮櫥褰" unless user
@@ -211,7 +211,7 @@ class WechatsController < ActionController::Base
user_project_ids = (@user.projects.visible.map{|project| project.id}-shield_project_ids).empty? ? "(-1)" : "(" + (@user.projects.visible.map{|project| project.id}-shield_project_ids).join(",") + ")"
user_course_ids = (@user.courses.visible.map{|course| course.id}-shield_course_ids).empty? ? "(-1)" : "(" + (@user.courses.visible.map{|course| course.id}-shield_course_ids).join(",") + ")"
course_types = "('Message','News','HomeworkCommon','Poll','Course')"
- project_types = "('Message','Issue','ProjectCreateInfo')"
+ project_types = "('Message','Issue','Project')"
principal_types = "JournalsForMessage"
blog_ids = "("+@user.blog.id.to_s+","+((User.watched_by(@user.id).count == 0 )? '0' :User.watched_by(@user.id).map{|u| u.blog.id}.join(','))+")"
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 229aceb1c..c8a3bca0c 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -34,13 +34,6 @@ module ApplicationHelper
def_delegators :wiki_helper, :wikitoolbar_for, :heads_for_wiki_formatter
- def user_path(resource, parameters = {})
- if Fixnum === resource
- resource = User.find(resource)
- end
- super
- end
-
# def user_blogs_path(resource,parameters={})
# super
# end
@@ -95,11 +88,13 @@ module ApplicationHelper
# 鑾峰彇缁勭粐鎴愬憳涓枃鍚嶅瓧
def get_org_member_role_name member
- case member.roles[0].name
- when 'orgManager'
- '绠$悊浜哄憳'
- when 'orgMember'
- '缁勭粐鎴愬憳'
+ unless member.roles[0].nil?
+ case member.roles[0].name
+ when 'orgManager'
+ '绠$悊浜哄憳'
+ when 'orgMember'
+ '缁勭粐鎴愬憳'
+ end
end
end
@@ -3094,6 +3089,10 @@ def host_with_protocol
return Setting.protocol + "://" + Setting.host_name
end
+def secdomain_with_protocol secdomain
+ return Setting.protocol + "://" + secdomain + ".trustie.net"
+end
+
#鑾峰彇鍥炲鐨勬墍鏈夌埗鑺傜偣
def get_reply_parents parents_rely, comment
@@ -3248,3 +3247,14 @@ def strip_html(text,len=0,endss="...")
end
return ss
end
+
+def get_hw_index(hw,is_teacher)
+ if is_teacher
+ homeworks = hw.course.homework_commons.order("created_at asc")
+ else
+ homeworks = hw.course.homework_commons.where("publish_time <= '#{Date.today}'").order("created_at asc")
+ end
+ hw_ids = homeworks.map{|hw| hw.id} if !homeworks.empty?
+ index = hw_ids.index(hw.id)
+ return index
+end
diff --git a/app/models/course_activity.rb b/app/models/course_activity.rb
index 96ec6e355..2aae45d0a 100644
--- a/app/models/course_activity.rb
+++ b/app/models/course_activity.rb
@@ -5,8 +5,7 @@ class CourseActivity < ActiveRecord::Base
belongs_to :course
belongs_to :user
has_many :user_acts, :class_name => 'UserAcivity',:as =>:act
- after_save :add_user_activity, :add_org_activity
- after_create :add_course_lead
+ after_create :add_course_lead,:add_user_activity, :add_org_activity
before_destroy :destroy_user_activity, :destroy_org_activity
#鍦ㄤ釜浜哄姩鎬侀噷闈㈠鍔犲綋鍓嶅姩鎬
diff --git a/app/models/forge_activity.rb b/app/models/forge_activity.rb
index c044392a0..44b13b315 100644
--- a/app/models/forge_activity.rb
+++ b/app/models/forge_activity.rb
@@ -20,7 +20,7 @@ class ForgeActivity < ActiveRecord::Base
validates :forge_act_id,presence: true
validates :forge_act_type, presence: true
has_many :user_acts, :class_name => 'UserAcivity',:as =>:act
- after_save :add_user_activity, :add_org_activity
+ after_create :add_user_activity, :add_org_activity
before_destroy :destroy_user_activity, :destroy_org_activity
#鍦ㄤ釜浜哄姩鎬侀噷闈㈠鍔犲綋鍓嶅姩鎬
diff --git a/app/models/homework_common.rb b/app/models/homework_common.rb
index 998ace441..e4426e78f 100644
--- a/app/models/homework_common.rb
+++ b/app/models/homework_common.rb
@@ -29,7 +29,7 @@ class HomeworkCommon < ActiveRecord::Base
:description => :description,
:author => :author,
:url => Proc.new {|o| {:controller => 'student_work', :action => 'index', :homework => o.id}}
- after_create :act_as_activity, :send_mail, :act_as_course_message
+ after_create :act_as_activity, :send_mail,:act_as_course_message
after_update :update_activity, :wechat_message
after_save :act_as_course_activity
after_destroy :delete_kindeditor_assets
@@ -59,7 +59,7 @@ class HomeworkCommon < ActiveRecord::Base
else
self.course.members.each do |m|
# if m.user_id != self.user_id
- self.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => self.course_id, :viewed => false)
+ #self.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => self.course_id, :viewed => false)
count = ShieldWechatMessage.where("container_type='User' and container_id=#{m.user_id} and shield_type='Course' and shield_id=#{self.course_id}").count
if count == 0
ws = WechatService.new
diff --git a/app/models/issue.rb b/app/models/issue.rb
index d5d148117..b5e87feea 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -164,7 +164,20 @@ class Issue < ActiveRecord::Base
count = ShieldWechatMessage.where("container_type='User' and container_id=#{m.user_id} and shield_type='Project' and shield_id=#{self.project_id}").count
if m.user_id != self.author_id && count == 0
ws = WechatService.new
- content = strip_html self.project.name + " 鏈夋柊缂洪櫡浜嗭細" + self.subject.html_safe, 200
+ str = " 鏈夋柊缂洪櫡浜嗭細 "
+ case self.tracker_id
+ when 1
+ str = " 鏈夋柊缂洪櫡浜嗭細 "
+ when 2
+ str = " 鏈夋柊鍔熻兘浜嗭細 "
+ when 3
+ str = " 鏈夋柊鏀寔浜嗭細 "
+ when 4
+ str = " 鏈夋柊浠诲姟浜嗭細 "
+ when 5
+ str = " 鏈夋柊鍛ㄦ姤浜嗭細 "
+ end
+ content = strip_html self.project.name + str + self.subject.html_safe, 200
ws.message_update_template m.user_id, "issues", self.id, "#{l(:label_new_issue_template)}", content, format_time(self.created_on)
end
end
diff --git a/app/models/journals_for_message.rb b/app/models/journals_for_message.rb
index 4b5ac227f..68b747ab9 100644
--- a/app/models/journals_for_message.rb
+++ b/app/models/journals_for_message.rb
@@ -260,6 +260,10 @@ class JournalsForMessage < ActiveRecord::Base
if self.user_id != self.jour.user_id
self.course_messages << CourseMessage.new(:user_id => self.jour.user_id,:course_id => self.jour.course.id, :viewed => false)
end
+ else
+ if self.user_id != self.parent.user_id
+ self.course_messages << CourseMessage.new(:user_id => self.parent.user_id,:course_id => self.jour.course.id, :viewed => false)
+ end
end
count = ShieldWechatMessage.where("container_type='User' and container_id=#{self.jour.user_id} and shield_type='Course' and shield_id=#{self.jour.course_id}").count
if count == 0
diff --git a/app/models/message.rb b/app/models/message.rb
index 7bfb9d80e..fdc3c6bdc 100644
--- a/app/models/message.rb
+++ b/app/models/message.rb
@@ -274,7 +274,7 @@ class Message < ActiveRecord::Base
else # 鍥炲笘
parent_author_id = Message.find(self.parent_id).author_id
if parent_author_id != self.author_id # 鍙拡瀵逛富璐村洖澶嶏紝鍥炲鑷繁鐨勫笘瀛愪笉鍙戞秷鎭
- #self.course_messages << CourseMessage.new(:user_id => parent_author_id, :course_id => self.board.course_id, :viewed => false)
+ self.course_messages << CourseMessage.new(:user_id => parent_author_id, :course_id => self.board.course_id, :viewed => false)
count = ShieldWechatMessage.where("container_type='User' and container_id=#{parent_author_id} and shield_type='Course' and shield_id=#{self.board.course_id}").count
if count == 0
content = strip_html self.content.html_safe, 200
@@ -297,7 +297,7 @@ class Message < ActiveRecord::Base
else # 鍥炲笘
parent_author_id = Message.find(self.parent_id).author_id
if parent_author_id != self.author_id # 鍙拡瀵逛富璐村洖澶嶏紝鍥炲鑷繁鐨勫笘瀛愪笉鍙戞秷鎭
- #self.forge_messages << ForgeMessage.new(:user_id => parent_author_id, :project_id => self.board.project_id, :viewed => false)
+ self.forge_messages << ForgeMessage.new(:user_id => parent_author_id, :project_id => self.board.project_id, :viewed => false)
count = ShieldWechatMessage.where("container_type='User' and container_id=#{parent_author_id} and shield_type='Project' and shield_id=#{self.board.project_id}").count
if count == 0
content = strip_html self.content.html_safe, 200
diff --git a/app/models/news.rb b/app/models/news.rb
index f0457dc81..1544faf61 100644
--- a/app/models/news.rb
+++ b/app/models/news.rb
@@ -62,7 +62,7 @@ class News < ActiveRecord::Base
:author_key => :author_id
acts_as_watchable
- after_create :act_as_activity,:act_as_forge_activity, :act_as_course_activity, :add_author_as_watcher, :send_mail, :add_news_count, :act_as_student_score
+ after_create :act_as_activity,:act_as_forge_activity, :act_as_course_activity, :add_author_as_watcher, :send_mail, :add_news_count, :act_as_student_score, :act_as_system_message
after_update :update_activity
after_destroy :delete_kindeditor_assets, :decrease_news_count, :delete_org_activities, :down_course_score
@@ -169,7 +169,7 @@ class News < ActiveRecord::Base
if self.course
self.course.members.each do |m|
if m.user_id != self.author_id
- self.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => self.course_id, :viewed => false)
+ #self.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => self.course_id, :viewed => false)
count = ShieldWechatMessage.where("container_type='User' and container_id=#{m.user_id} and shield_type='Course' and shield_id=#{self.course_id}").count
if count == 0
ws = WechatService.new
diff --git a/app/models/organization.rb b/app/models/organization.rb
index 311a37bf8..c35d0591d 100644
--- a/app/models/organization.rb
+++ b/app/models/organization.rb
@@ -30,4 +30,8 @@ class Organization < ActiveRecord::Base
def allow_set_teachers
self.allow_teacher.to_i == 1 ? true : false
end
+
+ def secdomain_name
+ Secdomain.where("sub_type=2 and pid=?", self.id).first.try(:subname)
+ end
end
diff --git a/app/models/sso.rb b/app/models/sso.rb
index c6b57cd2d..c987ff933 100644
--- a/app/models/sso.rb
+++ b/app/models/sso.rb
@@ -1,3 +1,7 @@
+#coding=utf-8
+
+require 'base64'
+
class Sso < ActiveRecord::Base
belongs_to :user
attr_accessible :email, :name, :openid, :password, :school, :sex, :user, :user_id
diff --git a/app/models/user.rb b/app/models/user.rb
index 035aff625..3956d936e 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -1103,9 +1103,6 @@ class User < Principal
# super
end
- def to_param
- login
- end
# Salts all existing unsalted passwords
# It changes password storage scheme from SHA1(password) to SHA1(salt + SHA1(password))
# This method is used in the SaltPasswords migration and is to be kept as is
diff --git a/app/views/courses/_courses_jours.html.erb b/app/views/courses/_courses_jours.html.erb
index 4a9b07ec7..1050a59b9 100644
--- a/app/views/courses/_courses_jours.html.erb
+++ b/app/views/courses/_courses_jours.html.erb
@@ -68,16 +68,15 @@
params.submit_btn = $("input[nhname='submit_btn']",params.div_form);
params.cancel_btn = $("input[nhname='cancel_btn']",params.div_form);
params.height = 55;
- if(params.textarea.data('init') == undefined){
- params.editor = init_editor(params);
- init_form(params);
- params.cancel_btn.click(function(){
- nh_reset_form(params);
- });
- params.submit_btn.one('click', function () {
- params.form.submit();
- });
- }
+ params.editor = init_editor(params);
+ init_form(params);
+ params.cancel_btn.click(function(){
+ nh_reset_form(params);
+ });
+ params.submit_btn.one('click', function () {
+ params.form.submit();
+ });
+ params.textarea.data('init',1);
params.cancel_btn.click();
toggleAndSettingWordsVal(params.div_form, params.textarea);
setTimeout(function(){
@@ -87,7 +86,6 @@
params.textarea.hide();
}
},300);
- params.textarea.data('init',1);
});
});
});
diff --git a/app/views/courses/_new_member_list.html.erb b/app/views/courses/_new_member_list.html.erb
index bf69c3a61..ef8a43d5c 100644
--- a/app/views/courses/_new_member_list.html.erb
+++ b/app/views/courses/_new_member_list.html.erb
@@ -24,16 +24,24 @@
濮撳悕
瀛﹀彿
- 鍒嗙彮
-
- <%= link_to '浣滀笟绉垎', member_score_sort_course_path(:sort_by => (@score_sort_by == "desc" ? "asc" : "desc"), :group_id => (@group ? @group.id : 0),:search_name => (@search_name ? @search_name : nil)) ,:result => members,method: 'get', remote: true%>
- <% if @score_sort_by == 'desc' %>
+ 鍒嗙彮
+
+ <%= link_to '浣滀笟绉垎', member_score_sort_course_path(:sort_type => 'score', :sort_by => (@score_sort_by == "desc" ? "asc" : "desc"), :group_id => (@group ? @group.id : 0),:search_name => (@search_name ? @search_name : nil)) ,:result => members,method: 'get', remote: true, :class => 'ml25'%>
+ <% if @sort_type == "score" && @score_sort_by == 'desc' %>
- <% else %>
+ <% elsif @sort_type == "score" && @score_sort_by == 'asc' %>
<% end %>
- 鍔犲叆鏃堕棿
+
+ <%= link_to '娲昏穬搴', member_score_sort_course_path(:sort_type => 'act_score', :sort_by => (@score_sort_by == "desc" ? "asc" : "desc"), :group_id => (@group ? @group.id : 0),:search_name => (@search_name ? @search_name : nil)) ,:result => members,method: 'get', remote: true, :class => 'ml35'%>
+ <% if @sort_type == "act_score" && @score_sort_by == 'desc' %>
+
+ <% elsif @sort_type == "act_score" && @score_sort_by == 'asc' %>
+
+ <% end %>
+
+ 鍔犲叆鏃堕棿
@@ -61,21 +69,21 @@
<% if User.current.allowed_to?(:as_teacher, @course) || User.current.admin? %>
<% if @course.course_groups.nil? || @group %>
-
+
<%=member.course_group_id == 0 ? "鏆傛棤" : member.course_group.name %>
<% else %>
<%= form_tag({:controller => 'courses', :action => 'teacher_assign_group', :id => @course.id,:user_id => member.user_id},:remote=>'true', :method => 'post', :id=>"join_group_form_#{member.id}", :class => 'query_form') do %>
-
<%=member.course_group_id == 0 ? "鏆傛棤" : member.course_group.name %>
+
<%=member.course_group_id == 0 ? "鏆傛棤" : member.course_group.name %>
<%= select( :name,:group_id, course_group_option(@course),
{ :include_blank => false,:selected => member.course_group_id},
- {:onchange=>"join_group_function('#join_group_form_#{member.id}');", :id =>"course_group_id", :name => "course_group_id",:class=>"w125 undis class-edit fl", :style => "margin-left: 105px;"}) %>
+ {:onchange=>"join_group_function('#join_group_form_#{member.id}');", :id =>"course_group_id", :name => "course_group_id",:class=>"w125 undis class-edit fl", :style => "margin-left: 5px;"}) %>
<% end %>
<% end %>
<% else %>
-
+
<%=member.course_group_id == 0 ? "鏆傛棤" : member.course_group.name %>
<% end %>
@@ -83,7 +91,12 @@
:action => 'show_member_score',
:member_id => member.id,
:remote => true},
- :class => 'ml25 c_red' %>
+ :class => 'st_list_score c_red' %>
+ <%= link_to member.act_score.nil? ? 0 : member.act_score.to_s, {
+ :action => 'show_member_act_score',
+ :member_id => member.id,
+ :remote => true},
+ :class => 'st_list_score c_red' %>
<%= format_date(member.created_on)%>
<%= call_hook(:view_projects_settings_members_table_row, { :course => @course, :member => member}) %>
diff --git a/app/views/courses/_show_member_act_score.html.erb b/app/views/courses/_show_member_act_score.html.erb
new file mode 100644
index 000000000..cec17f0b8
--- /dev/null
+++ b/app/views/courses/_show_member_act_score.html.erb
@@ -0,0 +1,38 @@
+
+
+
+
+ <% act_score = CourseContributorScore.where("user_id = ? and course_id = ?", member.user_id, member.course_id).first %>
+
<%= member.user.show_name %> 娲昏穬搴﹁绠
+ <% if act_score.nil? %>
+
+ 璧勬簮鍙戝竷鏁 x 5 = 0 x 5 = 0
+ 闂瓟鍙戝竷鏁 x 2 = 0 x 2 = 0
+ 閫氱煡鍙戝竷鏁 x 1 = 0 x 1 = 0
+ 闂瓟鍥炲笘鏁 x 1 = 0 x 1 = 0
+ 浣滀笟鐣欒█鏁 x 1 = 0 x 1 = 0
+ 閫氱煡鐣欒█鏁 x 1 = 0 x 1 = 0
+ 璇剧▼鐣欒█鏁 x 1 = 0 x 1 = 0
+ 鎬诲緱鍒嗭細0
+
+ <% else %>
+ <% total_score = act_score.resource_num.to_i * 5 + act_score.message_num.to_i * 2 +
+ act_score.message_reply_num.to_i * 1 + act_score.journal_num.to_i * 1 +
+ + act_score.homework_journal_num.to_i * 1 + act_score.news_reply_num.to_i * 1 +
+ act_score.news_num.to_i * 1 %>
+
+ 璧勬簮鍙戝竷鏁 x 5 = <%= act_score.resource_num.to_i %> x 5 = <%= act_score.resource_num.to_i * 5 %>
+ 闂瓟鍙戝竷鏁 x 2 = <%= act_score.message_num.to_i %> x 2 = <%= act_score.message_num.to_i * 2 %>
+ 閫氱煡鍙戝竷鏁 x 1 = <%= act_score.news_num.to_i %> x 1 = <%= act_score.news_num.to_i %>
+ 闂瓟鍥炲笘鏁 x 1 = <%= act_score.message_reply_num.to_i %> x 1 = <%= act_score.message_reply_num.to_i %>
+ 浣滀笟鐣欒█鏁 x 1 = <%= act_score.homework_journal_num.to_i %> x 1 = <%= act_score.homework_journal_num.to_i %>
+ 閫氱煡鐣欒█鏁 x 1 = <%= act_score.news_reply_num.to_i %> x 1 = <%= act_score.news_reply_num.to_i %>
+ 璇剧▼鐣欒█鏁 x 1 = <%= act_score.journal_num.to_i %> x 1 = <%= act_score.journal_num.to_i %>
+ 鎬诲緱鍒嗭細<%=total_score %>
+
+ <% end %>
+
+
diff --git a/app/views/courses/_show_member_score.html.erb b/app/views/courses/_show_member_score.html.erb
index 94d282cec..27b3863b0 100644
--- a/app/views/courses/_show_member_score.html.erb
+++ b/app/views/courses/_show_member_score.html.erb
@@ -28,7 +28,7 @@
<% end %>
-
浣滀笟绉垎锛堟诲垎锛 <%= format("%0.2f",(@member_score.student_work_score_sum).first.score) %>
+
浣滀笟绉垎锛堟诲垎锛 <%= format("%0.2f",(@member_score.student_work_score_sum).first.score.nil? ? 0 : (@member_score.student_work_score_sum).first.score) %>
diff --git a/app/views/courses/deletegroup.js.erb b/app/views/courses/deletegroup.js.erb
index cb7e1fbb1..f0c0f4be3 100644
--- a/app/views/courses/deletegroup.js.erb
+++ b/app/views/courses/deletegroup.js.erb
@@ -1 +1,2 @@
-$("#st_groups").html("<%= escape_javascript( render :partial => 'new_groups_name', locals: {:course_groups => @course_groups})%>");
\ No newline at end of file
+$("#st_groups").html("<%= escape_javascript( render :partial => 'new_groups_name', locals: {:course_groups => @course_groups})%>");
+$("#member_content").html("<%= escape_javascript( render :partial => 'new_member_list', :locals => {:members => @members})%>");
\ No newline at end of file
diff --git a/app/views/courses/show_member_act_score.js.erb b/app/views/courses/show_member_act_score.js.erb
new file mode 100644
index 000000000..c6327d164
--- /dev/null
+++ b/app/views/courses/show_member_act_score.js.erb
@@ -0,0 +1,7 @@
+$('#ajax-modal').html('<%= escape_javascript(render :partial => 'courses/show_member_act_score', :locals => {:member => @member}) %>');
+showModal('ajax-modal', '300px');
+$('#ajax-modal').siblings().remove();
+$('#ajax-modal').before("
" +
+ " ");
+$('#ajax-modal').parent().css("top","30%").css("left","40%").css("position","fixed").css("border","3px solid #269ac9");
+$('#ajax-modal').parent().addClass("new-watcher");
\ No newline at end of file
diff --git a/app/views/files/_org_subfield_list.html.erb b/app/views/files/_org_subfield_list.html.erb
index ad3ce7a3e..66b68e895 100644
--- a/app/views/files/_org_subfield_list.html.erb
+++ b/app/views/files/_org_subfield_list.html.erb
@@ -8,7 +8,7 @@
<%= link_to image_tag(url_to_avatar(file.author), :width => 50, :height => 50), user_path(file.author) %>
-
+
<%# 濡傛灉鏈夊巻鍙茬増鏈垯鎻愪緵鍘嗗彶鐗堟湰涓嬭浇 %>
<% if file.attachment_histories.count == 0 %>
<%= link_to file.is_public? ? truncate(file.filename, length: 45) : truncate(file.filename,length: 35, omission: '...'),
diff --git a/app/views/files/_project_list.html.erb b/app/views/files/_project_list.html.erb
index 2ee726d77..831dc0e68 100644
--- a/app/views/files/_project_list.html.erb
+++ b/app/views/files/_project_list.html.erb
@@ -7,7 +7,7 @@
<%= link_to image_tag(url_to_avatar(file.author), :width => 50, :height => 50), user_path(file.author) %>
-
+
<%# 濡傛灉鏈夊巻鍙茬増鏈垯鎻愪緵鍘嗗彶鐗堟湰涓嬭浇 %>
<% if file.attachment_histories.count == 0 %>
<%= link_to truncate(file.filename,length: 35, omission: '...'),
diff --git a/app/views/files/_resource_detail.html.erb b/app/views/files/_resource_detail.html.erb
index 20ffb1e50..2a03723ca 100644
--- a/app/views/files/_resource_detail.html.erb
+++ b/app/views/files/_resource_detail.html.erb
@@ -5,7 +5,7 @@
<%= link_to image_tag(url_to_avatar(file.author), :width => 50, :height => 50), user_path(file.author) %>
-
+
<%# 濡傛灉鏈夊巻鍙茬増鏈垯鎻愪緵鍘嗗彶鐗堟湰涓嬭浇 %>
<% if file.attachment_histories.count == 0 %>
<%= link_to truncate(file.filename,length: 35, omission: '...'),
diff --git a/app/views/homework_common/index.html.erb b/app/views/homework_common/index.html.erb
index e34cf0736..29cff8933 100644
--- a/app/views/homework_common/index.html.erb
+++ b/app/views/homework_common/index.html.erb
@@ -73,6 +73,12 @@
<% end%>
<%= render :partial => 'users/user_homework_list', :locals => {:homework_commons => @homeworks,:page => 0,:is_in_course => 1,:course_id => @course.id} %>
+
+
+ <%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
+
+
+
diff --git a/app/views/issues/_issue_replies.html.erb b/app/views/issues/_issue_replies.html.erb
index 4c8dfa1d9..aaf9c132f 100644
--- a/app/views/issues/_issue_replies.html.erb
+++ b/app/views/issues/_issue_replies.html.erb
@@ -11,7 +11,7 @@
<%= link_to image_tag(url_to_avatar(reply.user), :width => "33", :height => "33"), user_path(reply.user_id), :alt => "鐢ㄦ埛澶村儚" %>
-
+
<% if reply.try(:user).try(:realname) == ' ' %>
<%= link_to reply.try(:user), user_path(reply.user_id), :class => "newsBlue mr10 f14" %>
<% else %>
diff --git a/app/views/layouts/base_org2.html.erb b/app/views/layouts/base_org2.html.erb
index 9b481fac5..799aaa42b 100644
--- a/app/views/layouts/base_org2.html.erb
+++ b/app/views/layouts/base_org2.html.erb
@@ -46,7 +46,7 @@
scrollPic.speed = 10; //绉诲姩閫熷害(鍗曚綅姣锛岃秺灏忚秺蹇)
scrollPic.space = 10; //姣忔绉诲姩鍍忕礌(鍗曚綅px锛岃秺澶ц秺蹇)
- scrollPic.autoPlay = true; //鑷姩鎾斁
+ scrollPic.autoPlay = false; //鑷姩鎾斁
scrollPic.autoPlayTime = 3; //鑷姩鎾斁闂撮殧鏃堕棿(绉)
scrollPic.initialize(); //鍒濆鍖
@@ -60,13 +60,12 @@
-
+
<% if activity.try(:user).try(:realname) == ' ' %>
<%= link_to activity.try(:user), user_url_in_org(activity.user_id), :class => "newsBlue mr15" %>
<% else %>
@@ -210,9 +210,9 @@
<% if project.is_public || User.current.member_of?(project) || User.current.admin? %>
- <%= link_to image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius"),project_url_in_org(project.id),:id=>"project_img_"+project.id.to_s+"_"+activity.id.to_s,:alt =>"椤圭洰澶村儚" %>
+ <%= link_to image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius relatePImage"),project_url_in_org(project.id),:id=>"project_img_"+project.id.to_s+"_"+activity.id.to_s,:alt =>"椤圭洰澶村儚" %>
<% else %>
- <%= image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius",:id=>"project_img_"+project.id.to_s+"_"+activity.id.to_s,:alt =>"椤圭洰澶村儚") %>
+ <%= image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius relatePImage",:id=>"project_img_"+project.id.to_s+"_"+activity.id.to_s,:alt =>"椤圭洰澶村儚") %>
<% end %>
<% com_time = project.project_score.commit_time %>
<% time=project.updated_on %>
diff --git a/app/views/organizations/_org_course_message.html.erb b/app/views/organizations/_org_course_message.html.erb
index 56dafed08..e0ec8d5fd 100644
--- a/app/views/organizations/_org_course_message.html.erb
+++ b/app/views/organizations/_org_course_message.html.erb
@@ -5,7 +5,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.author} %>
-
+
<% if activity.try(:author).try(:realname) == ' ' %>
<%= link_to activity.try(:author), user_url_in_org(activity.author_id), :class => "newsBlue mr15" %>
<% else %>
@@ -108,7 +108,7 @@
<%= link_to image_tag(url_to_avatar(reply.author), :width => "33", :height => "33"), user_url_in_org(reply.author_id), :alt => "鐢ㄦ埛澶村儚" %>
-
+
<% if reply.try(:author).try(:realname) == ' ' %>
<%= link_to reply.try(:author), user_url_in_org(reply.author_id), :class => "newsBlue mr10 f14" %>
<% else %>
diff --git a/app/views/organizations/_org_course_news.html.erb b/app/views/organizations/_org_course_news.html.erb
index a6183e891..6fa588ec9 100644
--- a/app/views/organizations/_org_course_news.html.erb
+++ b/app/views/organizations/_org_course_news.html.erb
@@ -5,7 +5,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.author} %>
-
+
<% if @ctivity.try(:author).try(:realname) == ' ' %>
<%= link_to activity.try(:author), user_url_in_org(activity.author_id), :class => "newsBlue mr15" %>
<% else %>
@@ -77,7 +77,7 @@
<%= link_to image_tag(url_to_avatar(comment.author), :width => "33", :height => "33"), user_url_in_org(comment.author_id), :alt => "鐢ㄦ埛澶村儚" %>
-
+
<% if comment.try(:author).try(:realname) == ' ' %>
<%= link_to comment.try(:author), user_url_in_org(comment.author_id), :class => "newsBlue mr10 f14" %>
<% else %>
diff --git a/app/views/organizations/_org_course_poll.html.erb b/app/views/organizations/_org_course_poll.html.erb
index cb390f7f5..2958df0ca 100644
--- a/app/views/organizations/_org_course_poll.html.erb
+++ b/app/views/organizations/_org_course_poll.html.erb
@@ -9,7 +9,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.user} %>
-
+
<% if activity.try(:user).try(:realname) == ' ' %>
<%= link_to activity.try(:user), user_url_in_org(activity.user_id), :class => "newsBlue mr15" %>
<% else %>
diff --git a/app/views/organizations/_org_logined_header.html.erb b/app/views/organizations/_org_logined_header.html.erb
index 22cf920e9..74e313f6a 100644
--- a/app/views/organizations/_org_logined_header.html.erb
+++ b/app/views/organizations/_org_logined_header.html.erb
@@ -1,37 +1,31 @@
<% if User.current.logged? %>
-
-
<% else %>
-
-
+
<% end %>
diff --git a/app/views/organizations/_org_project_activities.html.erb b/app/views/organizations/_org_project_activities.html.erb
index b46996661..d27e690c6 100644
--- a/app/views/organizations/_org_project_activities.html.erb
+++ b/app/views/organizations/_org_project_activities.html.erb
@@ -6,7 +6,7 @@
<%= render :partial => 'organizations/org_project_issue', :locals => {:activity => act.forge_act,:user_activity_id =>act.id} %>
<% when 'Message' %>
<%= render :partial => 'organizations/project_message', :locals => {:activity => act.forge_act,:user_activity_id =>act.id} %>
- <% when 'ProjectCreateInfo'%>
+ <% when 'Project'%>
<%= render :partial => 'organizations/project_create', :locals => {:activity => act,:user_activity_id =>act.id} %>
<% end %>
<% end %>
diff --git a/app/views/organizations/_org_project_issue.html.erb b/app/views/organizations/_org_project_issue.html.erb
index 98c1e2df3..d19c2cabe 100644
--- a/app/views/organizations/_org_project_issue.html.erb
+++ b/app/views/organizations/_org_project_issue.html.erb
@@ -5,7 +5,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.author} %>
-
+
<% if activity.try(:author).try(:realname) == ' ' %>
<%= link_to activity.try(:author), user_url_in_org(activity.author_id), :class => "newsBlue mr15" %>
<% else %>
@@ -88,7 +88,7 @@
<%= link_to image_tag(url_to_avatar(reply.user), :width => "33", :height => "33"), user_url_in_org(reply.user_id), :alt => "鐢ㄦ埛澶村儚" %>
-
+
<% if reply.try(:user).try(:realname) == ' ' %>
<%= link_to reply.try(:user), user_url_in_org(reply.user_id), :class => "newsBlue mr10 f14" %>
<% else %>
diff --git a/app/views/organizations/_org_subfield_leftM1.html.erb b/app/views/organizations/_org_subfield_leftM1.html.erb
index e7481ce0a..ed3bcba7e 100644
--- a/app/views/organizations/_org_subfield_leftM1.html.erb
+++ b/app/views/organizations/_org_subfield_leftM1.html.erb
@@ -1,4 +1,3 @@
-
<% if is_default_field?(field) %>
<% case field.name %>
<% when 'course' %>
@@ -26,7 +25,7 @@
<%= activity.description.to_s.html_safe %>
-
<%=link_to "鏌ョ湅鍏ㄦ枃>>", activity.name.to_s, student_work_index_url_in_org(activity.id), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
+
<%=link_to "鏌ョ湅鍏ㄦ枃>>", student_work_index_url_in_org(activity.id), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
<% elsif act.org_act_type == "Message" %>
<% activity = Message.find(act.org_act_id) %>
@@ -44,7 +43,7 @@
<%= activity.content.to_s.html_safe %>
-
<%=link_to "鏌ョ湅鍏ㄦ枃>>", activity.parent_id.nil? ? activity.subject.to_s.html_safe : activity.parent.subject.to_s.html_safe, board_message_url_in_org(activity.board_id, activity.id), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
+
<%=link_to "鏌ョ湅鍏ㄦ枃>>", board_message_url_in_org(activity.board_id, activity.id), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
<% elsif act.org_act_type == "News" %>
<% activity = News.find(act.org_act_id) %>
@@ -63,7 +62,7 @@
<%= activity.description.to_s.html_safe %>
-
<%=link_to "鏌ョ湅鍏ㄦ枃>>", activity.title.to_s, news_url_in_org(activity.id), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
+
<%=link_to "鏌ョ湅鍏ㄦ枃>>", news_url_in_org(activity.id), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
<% elsif act.org_act_type == "Poll" %>
<% activity = Poll.find(act.org_act_id) %>
@@ -88,7 +87,7 @@
<%= activity.polls_description.to_s.html_safe %>
-
<%=link_to "鏌ョ湅鍏ㄦ枃>>", poll_name, Setting.protocol + "://" + Setting.host_name + "/poll/" + activity.id.to_s + "/poll_result", :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
+
<%=link_to "鏌ョ湅鍏ㄦ枃>>", Setting.protocol + "://" + Setting.host_name + "/poll/" + activity.id.to_s + "/poll_result", :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
<% end %>
<% end %>
@@ -119,7 +118,7 @@
<%= activity.description.to_s.html_safe %>
-
<%=link_to "鏌ョ湅鍏ㄦ枃>>", activity.subject.to_s, issue_url_in_org(activity.id), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
+
<%=link_to "鏌ョ湅鍏ㄦ枃>>", issue_url_in_org(activity.id), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
<% elsif act.org_act_type == "Message" %>
<% activity = Message.find(act.org_act_id) %>
@@ -137,7 +136,7 @@
<%= activity.content.to_s.html_safe %>
-
<%=link_to "鏌ョ湅鍏ㄦ枃>>", activity.parent_id.nil? ? activity.subject.to_s.html_safe : activity.parent.subject.to_s.html_safe, board_message_url_in_org(activity.board_id, activity.id), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
+
<%=link_to "鏌ョ湅鍏ㄦ枃>>", board_message_url_in_org(activity.board_id, activity.id), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
<% elsif act.org_act_type == "News" %>
<% activity = News.find(act.org_act_id) %>
@@ -217,7 +216,7 @@
<%= content.to_s.html_safe %>
-
<%=link_to "鏌ョ湅鍏ㄦ枃>>", message.parent_id.nil? ? message.subject.to_s.html_safe : message.parent.subject.to_s.html_safe, board_message_url_in_org(message.board.id,message.id), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
+
<%=link_to "鏌ョ湅鍏ㄦ枃>>", board_message_url_in_org(message.board.id,message.id), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
<% else %>
@@ -239,9 +238,9 @@
<% if message.parent_id.nil? %>
- <%=link_to "鏌ョ湅鍏ㄦ枃>>", message.subject.to_s.html_safe, board_message_path(message.board,message), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
+ <%=link_to "鏌ョ湅鍏ㄦ枃>>", board_message_path(message.board,message), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
<% else %>
- <%=link_to "鏌ョ湅鍏ㄦ枃>>", message.parent.subject.to_s.html_safe, board_message_path(message.board,activity), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
+ <%=link_to "鏌ョ湅鍏ㄦ枃>>", board_message_path(message.board,activity), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
<% end %>
@@ -263,7 +262,7 @@
<%= news.description.to_s.html_safe %>
-
<%=link_to "鏌ョ湅鍏ㄦ枃>>", news.title.to_s, news_path(news), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
+
<%=link_to "鏌ョ湅鍏ㄦ枃>>", news_path(news), :target => "_blank", :class => "sn-link-grey2 sn-fr" %>
<% end %>
<% end %>
diff --git a/app/views/organizations/_org_subfield_message.html.erb b/app/views/organizations/_org_subfield_message.html.erb
index fc6cc6ee0..315b6d8b4 100644
--- a/app/views/organizations/_org_subfield_message.html.erb
+++ b/app/views/organizations/_org_subfield_message.html.erb
@@ -5,7 +5,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.author} %>
-
+
<% if activity.try(:author).try(:realname) == ' ' %>
<%= link_to activity.try(:author), user_url_in_org(activity.author_id), :class => "newsBlue mr15" %>
<% else %>
@@ -113,7 +113,7 @@
<%= link_to image_tag(url_to_avatar(reply.author), :width => "33", :height => "33"), user_url_in_org(reply.author_id), :alt => "鐢ㄦ埛澶村儚" %>
-
+
<% if reply.try(:author).try(:realname) == ' ' %>
<%= link_to reply.try(:author), user_url_in_org(reply.author_id), :class => "newsBlue mr10 f14" %>
<% else %>
diff --git a/app/views/organizations/_org_subfield_news.html.erb b/app/views/organizations/_org_subfield_news.html.erb
index daa81e96c..314380c20 100644
--- a/app/views/organizations/_org_subfield_news.html.erb
+++ b/app/views/organizations/_org_subfield_news.html.erb
@@ -5,7 +5,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.author} %>
-
+
<% if activity.try(:author).try(:realname) == ' ' %>
<%= link_to activity.try(:author), user_url_in_org(activity.author_id), :class => "newsBlue mr15" %>
<% else %>
@@ -97,7 +97,7 @@
<%= link_to image_tag(url_to_avatar(comment.author), :width => "33", :height => "33"), user_url_in_org(comment.author_id), :alt => "鐢ㄦ埛澶村儚" %>
-
+
<% if comment.try(:author).try(:realname) == ' ' %>
<%= link_to comment.try(:author), user_url_in_org(comment.author_id), :class => "newsBlue mr10 f14" %>
<% else %>
diff --git a/app/views/organizations/_project_create.html.erb b/app/views/organizations/_project_create.html.erb
index ef59d154e..9a4f00a9a 100644
--- a/app/views/organizations/_project_create.html.erb
+++ b/app/views/organizations/_project_create.html.erb
@@ -7,7 +7,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => user} %>
-
+
<% if user.try(:realname) == ' ' %>
<%= link_to user, user_url_in_org(user.id), :class => "newsBlue mr15" %>
<% else %>
@@ -41,4 +41,4 @@
$(function(){
user_card_show_hide();
});
-
\ No newline at end of file
+
diff --git a/app/views/organizations/_project_message.html.erb b/app/views/organizations/_project_message.html.erb
index 26cf3b318..63d416f7a 100644
--- a/app/views/organizations/_project_message.html.erb
+++ b/app/views/organizations/_project_message.html.erb
@@ -5,7 +5,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.author} %>
-
+
<% if activity.try(:author).try(:realname) == ' ' %>
<%= link_to activity.try(:author), user_url_in_org(activity.author_id), :class => "newsBlue mr15" %>
<% else %>
@@ -87,7 +87,7 @@
<%= link_to image_tag(url_to_avatar(reply.author), :width => "33", :height => "33"), user_url_in_org(reply.author_id), :alt => "鐢ㄦ埛澶村儚" %>
-
+
<% if reply.try(:author).try(:realname) == ' ' %>
<%= link_to reply.try(:author), user_url_in_org(reply.author_id), :class => "newsBlue mr10 f14" %>
<% else %>
diff --git a/app/views/organizations/setting.html.erb b/app/views/organizations/setting.html.erb
index 2caeee726..0c8af8471 100644
--- a/app/views/organizations/setting.html.erb
+++ b/app/views/organizations/setting.html.erb
@@ -109,9 +109,14 @@
娣诲姞鎴愬憳
- <%= form_tag url_for(:controller => 'org_member',:action => 'create',:org=>@organization),:id=>'org_member_add_form',:remote=>true do |f|%>
+ <%= form_tag url_for(:controller => 'org_member', :action => 'create', :org => @organization),:id=>'org_member_add_form',:remote=>true do |f|%>
- <%= javascript_tag "observeSearchfield('not_org_member_search', null, '#{ escape_javascript host_with_protocol + "/org_member/org_member_autocomplete?" + {:org=> @organization.id}.to_query }')" %>
+ <%# if @organization.secdomain_name.nil? %>
+ <%= javascript_tag "observeSearchfield('not_org_member_search', null, '#{ escape_javascript host_with_protocol + "/org_member/org_member_autocomplete?" + {:org=> @organization.id}.to_query }')" %>
+ <%# else %>
+ <%#= javascript_tag "observeSearchfield('not_org_member_search', null, '#{ escape_javascript secdomain_with_protocol(@organization.secdomain_name) + "/org_member/org_member_autocomplete?" + {:org=> @organization.id}.to_query }')" %>
+ <%# end %>
+
<%= find_user_not_in_current_org_by_name(@project) %>
diff --git a/app/views/projects/_attachment_acts.html.erb b/app/views/projects/_attachment_acts.html.erb
index de0820bff..0ecfa9be7 100644
--- a/app/views/projects/_attachment_acts.html.erb
+++ b/app/views/projects/_attachment_acts.html.erb
@@ -5,7 +5,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.author} %>
-
+
<% if activity.try(:author).try(:realname) == ' ' %>
<%= link_to activity.try(:author), user_path(activity.author_id), :class => "newsBlue mr15" %>
<% else %>
diff --git a/app/views/projects/_project_create.html.erb b/app/views/projects/_project_create.html.erb
index bd118418d..2e7a919d1 100644
--- a/app/views/projects/_project_create.html.erb
+++ b/app/views/projects/_project_create.html.erb
@@ -7,7 +7,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => user} %>
-
+
<% if user.try(:realname) == ' ' %>
<%= link_to user, user_path(user), :class => "newsBlue mr15" %>
<% else %>
@@ -41,4 +41,4 @@
$(function(){
user_card_show_hide();
});
-
\ No newline at end of file
+
diff --git a/app/views/projects/_project_jours.html.erb b/app/views/projects/_project_jours.html.erb
index 6095bac96..eacc2a152 100644
--- a/app/views/projects/_project_jours.html.erb
+++ b/app/views/projects/_project_jours.html.erb
@@ -80,6 +80,9 @@
if(params.content.isEmpty()){
params.contentmsg.html('鍐呭涓嶈兘涓虹┖');
params.contentmsg.css({color:'#ff0000'});
+ params.submit_btn.one('click', function(){
+ params.form.submit();
+ });
}else{
params.contentmsg.html('濉啓姝g‘');
params.contentmsg.css({color:'#008000'});
@@ -124,7 +127,9 @@
issubmit:true,
content:params.editor,
contentmsg:params.contentmsg,
- textarea:params.textarea
+ textarea:params.textarea,
+ submit_btn:params.submit_btn,
+ form:params.form
});
if(is_checked){
if(flag){
@@ -161,13 +166,15 @@
params.contentmsg = $("p[nhname='contentmsg']",params.div_form);
params.toolbar_container = $("div[nhname='toolbar_container']",params.div_form);
params.cancel_btn = $("input[nhname='cancel_btn']",params.div_form);
- if(params.textarea.data('init') == undefined){
- params.editor = init_editor(params);
- init_form(params);
- params.cancel_btn.click(function(){
- nh_reset_form(params);
- });
- }
+ params.submit_btn = $("input[nhname='submit_btn']",params.div_form);
+ params.editor = init_editor(params);
+ init_form(params);
+ params.submit_btn.one('click', function () {
+ params.form.submit();
+ });
+ params.cancel_btn.click(function(){
+ nh_reset_form(params);
+ });
params.cancel_btn.click();
toggleAndSettingWordsVal(params.div_form, params.textarea);
setTimeout(function(){
diff --git a/app/views/projects/_project_news.html.erb b/app/views/projects/_project_news.html.erb
index 8756ff26f..2994d908b 100644
--- a/app/views/projects/_project_news.html.erb
+++ b/app/views/projects/_project_news.html.erb
@@ -5,7 +5,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.author} %>
-
+
<% if activity.try(:author).try(:realname) == ' ' %>
<%= link_to activity.try(:author), user_path(activity.author_id), :class => "newsBlue mr15" %>
<% else %>
@@ -77,7 +77,7 @@
<%= link_to image_tag(url_to_avatar(comment.author), :width => "33", :height => "33"), user_path(comment.author_id), :alt => "鐢ㄦ埛澶村儚" %>
-
+
<% if comment.try(:author).try(:realname) == ' ' %>
<%= link_to comment.try(:author), user_path(comment.author_id), :class => "newsBlue mr10 f14" %>
<% else %>
@@ -125,4 +125,4 @@
$(function(){
user_card_show_hide();
});
-
\ No newline at end of file
+
diff --git a/app/views/users/_apply_homework_course_message.html.erb b/app/views/users/_apply_homework_course_message.html.erb
index cf048bcd6..12bf0f2a4 100644
--- a/app/views/users/_apply_homework_course_message.html.erb
+++ b/app/views/users/_apply_homework_course_message.html.erb
@@ -1,12 +1,12 @@
-
<%= link_to image_tag(url_to_avatar(User.find(ma.apply_user_id)), :width => "30", :height => "30"), user_path(User.find(ma.apply_user_id)) %>
+
<%= link_to image_tag(url_to_avatar(User.find(ma.apply_user_id)), :width => "30", :height => "30"), user_path(User.find(ma.apply_user_id)), :target => '_blank' %>
<%= link_to User.find(ma.apply_user_id).show_name,
- user_path(User.find(ma.apply_user_id)), :class => "newsBlue homepageNewsPublisher" %>
+ user_path(User.find(ma.apply_user_id)), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %>
">鐢宠寮曠敤浣滀笟锛
<% content = ma.content.nil? ? '' : '锛'+ ma.content.to_s %>
- <%= link_to User.find(ma.apply_user_id).show_name+"鐢宠寮曠敤浣滀笟\""+"#{HomeworkCommon.find(ma.course_message_id).name}"+"\"#{content}", student_work_index_path(:homework => ma.course_message.id), :title => User.find(ma.apply_user_id).show_name+"鐢宠寮曠敤浣滀笟\""+"#{HomeworkCommon.find(ma.course_message_id).name}"+"\"#{content}",:class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey "}" %>
+ <%= link_to User.find(ma.apply_user_id).show_name+"鐢宠寮曠敤浣滀笟\""+"#{HomeworkCommon.find(ma.course_message_id).name}"+"\"#{content}", student_work_index_path(:homework => ma.course_message.id), :title => User.find(ma.apply_user_id).show_name+"鐢宠寮曠敤浣滀笟\""+"#{HomeworkCommon.find(ma.course_message_id).name}"+"\"#{content}",:class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey "}", :target => '_blank' %>
diff --git a/app/views/users/_comment_reply.html.erb b/app/views/users/_comment_reply.html.erb
index ddc654463..895eda8a9 100644
--- a/app/views/users/_comment_reply.html.erb
+++ b/app/views/users/_comment_reply.html.erb
@@ -1,6 +1,6 @@
<% unless comment.parent.nil? %>
-
-
+
<% if activity.try(:author).try(:realname) == ' ' %>
<%= link_to activity.try(:author), user_path(activity.author_id), :class => "newsBlue mr15" %>
<% else %>
@@ -43,4 +43,4 @@
$(function(){
user_card_show_hide();
});
-
\ No newline at end of file
+
diff --git a/app/views/users/_course_create.html.erb b/app/views/users/_course_create.html.erb
index 6b2234337..83c703905 100644
--- a/app/views/users/_course_create.html.erb
+++ b/app/views/users/_course_create.html.erb
@@ -5,7 +5,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.teacher} %>
-
+
<% if activity.try(:teacher).try(:realname) == ' ' %>
<%= link_to activity.try(:teacher), user_path(activity.tea_id), :class => "newsBlue mr15" %>
<% else %>
@@ -39,4 +39,4 @@
$(function(){
user_card_show_hide();
});
-
\ No newline at end of file
+
diff --git a/app/views/users/_course_homework.html.erb b/app/views/users/_course_homework.html.erb
index 28f0f99db..fe586b28c 100644
--- a/app/views/users/_course_homework.html.erb
+++ b/app/views/users/_course_homework.html.erb
@@ -6,7 +6,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.user} %>
-
+
<% if activity.try(:user).try(:realname) == ' ' %>
<%= link_to activity.try(:user), user_path(activity.user_id,:host=>Setting.host_user), :class => "newsBlue mr15" %>
<% else %>
@@ -216,9 +216,9 @@
<% if project.is_public || User.current.member_of?(project) || User.current.admin? %>
- <%= link_to image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius"),project_path(project.id,:host=>Setting.host_name),:id=>"project_img_"+project.id.to_s+"_"+activity.id.to_s,:alt =>"椤圭洰澶村儚" %>
+ <%= link_to image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius relatePImage"),project_path(project.id,:host=>Setting.host_name),:id=>"project_img_"+project.id.to_s+"_"+activity.id.to_s,:alt =>"椤圭洰澶村儚" %>
<% else %>
- <%= image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius",:id=>"project_img_"+project.id.to_s+"_"+activity.id.to_s,:alt =>"椤圭洰澶村儚") %>
+ <%= image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius relatePImage",:id=>"project_img_"+project.id.to_s+"_"+activity.id.to_s,:alt =>"椤圭洰澶村儚") %>
<% end %>
<% com_time = project.project_score.commit_time %>
<% time=project.updated_on %>
diff --git a/app/views/users/_course_journalsformessage.html.erb b/app/views/users/_course_journalsformessage.html.erb
index 1d0c4cba5..05e0a67b0 100644
--- a/app/views/users/_course_journalsformessage.html.erb
+++ b/app/views/users/_course_journalsformessage.html.erb
@@ -5,7 +5,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.user} %>
-
+
<% if activity.try(:user).try(:realname) == ' ' %>
<%= link_to activity.try(:user), user_path(activity.user_id), :class => "newsBlue mr15" %>
<% else %>
diff --git a/app/views/users/_course_message.html.erb b/app/views/users/_course_message.html.erb
index 2f790b19b..aa2781b95 100644
--- a/app/views/users/_course_message.html.erb
+++ b/app/views/users/_course_message.html.erb
@@ -5,7 +5,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.author} %>
-
+
<% if activity.try(:author).try(:realname) == ' ' %>
<%= link_to activity.try(:author), user_path(activity.author_id, :host=>Setting.host_user), :class => "newsBlue mr15" %>
<% else %>
@@ -125,7 +125,7 @@
<%= link_to image_tag(url_to_avatar(reply.author), :width => "33", :height => "33"), user_path(reply.author_id,:host=>Setting.host_user), :alt => "鐢ㄦ埛澶村儚" %>
-
+
<% if reply.try(:author).try(:realname) == ' ' %>
<%= link_to reply.try(:author), user_path(reply.author_id,:host=>Setting.host_user), :class => "newsBlue mr10 f14" %>
<% else %>
@@ -179,4 +179,4 @@
$(function(){
user_card_show_hide();
});
-
\ No newline at end of file
+
diff --git a/app/views/users/_course_news.html.erb b/app/views/users/_course_news.html.erb
index 403a922ed..3e4bda9f3 100644
--- a/app/views/users/_course_news.html.erb
+++ b/app/views/users/_course_news.html.erb
@@ -5,7 +5,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.author} %>
-
+
<% if @ctivity.try(:author).try(:realname) == ' ' %>
<%= link_to activity.try(:author), user_path(activity.author_id), :class => "newsBlue mr15" %>
<% else %>
@@ -102,7 +102,7 @@
<%= link_to image_tag(url_to_avatar(comment.author), :width => "33", :height => "33"), user_path(comment.author_id), :alt => "鐢ㄦ埛澶村儚" %>
-
+
<% if comment.try(:author).try(:realname) == ' ' %>
<%= link_to comment.try(:author), user_path(comment.author_id), :class => "newsBlue mr10 f14" %>
<% else %>
diff --git a/app/views/users/_course_poll.html.erb b/app/views/users/_course_poll.html.erb
index dab970cdf..4fbb55321 100644
--- a/app/views/users/_course_poll.html.erb
+++ b/app/views/users/_course_poll.html.erb
@@ -9,7 +9,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.user} %>
-
+
<% if activity.try(:user).try(:realname) == ' ' %>
<%= link_to activity.try(:user), user_path(activity.user_id), :class => "newsBlue mr15" %>
<% else %>
diff --git a/app/views/users/_join_course_course_message.html.erb b/app/views/users/_join_course_course_message.html.erb
index 28675b7eb..01ebb5cf9 100644
--- a/app/views/users/_join_course_course_message.html.erb
+++ b/app/views/users/_join_course_course_message.html.erb
@@ -6,7 +6,7 @@
<%= link_to User.find(ma.course_message_id).name+"鐢宠鎴愪负璇剧▼\""+"#{Course.find(ma.course_id).name}"+"\"鐨"+"#{ma.content == '9' ? "鏁欏笀" : "鏁欒緟"}", user_path(User.find(ma.course_message_id), :course_id => ma.course_id),
- :class => "#{ma.viewed==0 ? "newsBlack" : "newsGrey"}" %>
+ :class => "#{ma.viewed==0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %>
diff --git a/app/views/users/_project_attachment.html.erb b/app/views/users/_project_attachment.html.erb
index 795432008..ed4f8cfb8 100644
--- a/app/views/users/_project_attachment.html.erb
+++ b/app/views/users/_project_attachment.html.erb
@@ -5,7 +5,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.author} %>
-
+
<% if activity.try(:author).try(:realname) == ' ' %>
<%= link_to activity.try(:author), user_path(activity.author_id), :class => "newsBlue mr15" %>
<% else %>
@@ -43,4 +43,4 @@
$(function(){
user_card_show_hide();
});
-
\ No newline at end of file
+
diff --git a/app/views/users/_project_create.html.erb b/app/views/users/_project_create.html.erb
index 83bfe3f04..644918ccc 100644
--- a/app/views/users/_project_create.html.erb
+++ b/app/views/users/_project_create.html.erb
@@ -7,7 +7,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => user} %>
-
+
<% if user.try(:realname) == ' ' %>
<%= link_to user, user_path(user), :class => "newsBlue mr15" %>
<% else %>
@@ -41,4 +41,4 @@
$(function(){
user_card_show_hide();
});
-
\ No newline at end of file
+
diff --git a/app/views/users/_project_document.html.erb b/app/views/users/_project_document.html.erb
index eb3ff2122..5427bd112 100644
--- a/app/views/users/_project_document.html.erb
+++ b/app/views/users/_project_document.html.erb
@@ -3,7 +3,7 @@
-
灏规暀鎺 TO
+
diff --git a/app/views/users/_project_issue.html.erb b/app/views/users/_project_issue.html.erb
index daa7c71c2..4b13850de 100644
--- a/app/views/users/_project_issue.html.erb
+++ b/app/views/users/_project_issue.html.erb
@@ -5,7 +5,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.author} %>
-
+
<% if activity.try(:author).try(:realname) == ' ' %>
<%= link_to activity.try(:author), user_path(activity.author_id), :class => "newsBlue mr15" %>
<% else %>
@@ -100,4 +100,4 @@
$(function(){
user_card_show_hide();
});
-
\ No newline at end of file
+
diff --git a/app/views/users/_project_issue_reply.html.erb b/app/views/users/_project_issue_reply.html.erb
index 5020f67d3..671cbeab9 100644
--- a/app/views/users/_project_issue_reply.html.erb
+++ b/app/views/users/_project_issue_reply.html.erb
@@ -37,7 +37,7 @@
<%= link_to image_tag(url_to_avatar(reply.user), :width => "33", :height => "33"), user_path(reply.user_id), :alt => "鐢ㄦ埛澶村儚" %>
-
+
<% if reply.try(:user).try(:realname) == ' ' %>
<%= link_to reply.try(:user), user_path(reply.user_id), :class => "newsBlue mr10 f14" %>
<% else %>
diff --git a/app/views/users/_project_journal.html.erb b/app/views/users/_project_journal.html.erb
index 7cf487211..1efbf1c7d 100644
--- a/app/views/users/_project_journal.html.erb
+++ b/app/views/users/_project_journal.html.erb
@@ -3,7 +3,7 @@
-
灏规暀鎺 TO
+
diff --git a/app/views/users/_project_message.html.erb b/app/views/users/_project_message.html.erb
index 0a41dbbf5..468ce3a88 100644
--- a/app/views/users/_project_message.html.erb
+++ b/app/views/users/_project_message.html.erb
@@ -5,7 +5,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.author} %>
-
+
<% if activity.try(:author).try(:realname) == ' ' %>
<%= link_to activity.try(:author), user_path(activity.author_id), :class => "newsBlue mr15" %>
<% else %>
@@ -120,7 +120,7 @@
<%= link_to image_tag(url_to_avatar(reply.author), :width => "33", :height => "33"), user_path(reply.author_id), :alt => "鐢ㄦ埛澶村儚" %>
-
+
<% if reply.try(:author).try(:realname) == ' ' %>
<%= link_to reply.try(:author), user_path(reply.author_id), :class => "newsBlue mr10 f14" %>
<% else %>
diff --git a/app/views/users/_project_news.html.erb b/app/views/users/_project_news.html.erb
index 7f5d185e5..681493c44 100644
--- a/app/views/users/_project_news.html.erb
+++ b/app/views/users/_project_news.html.erb
@@ -5,7 +5,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.author} %>
-
+
<% if @ctivity.try(:author).try(:realname) == ' ' %>
<%= link_to activity.try(:author), user_path(activity.author_id), :class => "newsBlue mr15" %>
<% else %>
@@ -99,7 +99,7 @@
<%= link_to image_tag(url_to_avatar(comment.author), :width => "33", :height => "33"), user_path(comment.author_id), :alt => "鐢ㄦ埛澶村儚" %>
-
+
<% if comment.try(:author).try(:realname) == ' ' %>
<%= link_to comment.try(:author), user_path(comment.author_id), :class => "newsBlue mr10 f14" %>
<% else %>
diff --git a/app/views/users/_user_activities.html.erb b/app/views/users/_user_activities.html.erb
index b7df824a4..2fe7315d5 100644
--- a/app/views/users/_user_activities.html.erb
+++ b/app/views/users/_user_activities.html.erb
@@ -54,7 +54,7 @@
sd_create_editor_from_data(<%= user_activity.id %>, null, "100%", "<%= user_activity.class.to_s %>");
});
- <% if user_activity.act_type == "ProjectCreateInfo" %>
+ <% if user_activity.act_type == "Project" %>
<%= render :partial => 'project_create', :locals => {:activity => user_activity,:user_activity_id =>user_activity.id} %>
<% else %>
<% act= user_activity.act %>
@@ -94,7 +94,7 @@
<%# end %>
<% when 'Message' %>
<%= render :partial => 'project_message', :locals => {:activity => act,:user_activity_id =>user_activity.id,:is_course=>0,:is_board=>0} %>
- <% when 'ProjectCreateInfo'%>
+ <% when 'Project'%>
<%# cache (act) do %>
<%= render :partial => 'project_create', :locals => {:activity => act,:user_activity_id =>user_activity.id} %>
<%# end %>
diff --git a/app/views/users/_user_blog.html.erb b/app/views/users/_user_blog.html.erb
index 74f090344..904d573bb 100644
--- a/app/views/users/_user_blog.html.erb
+++ b/app/views/users/_user_blog.html.erb
@@ -5,7 +5,7 @@
<%= render :partial => 'users/show_detail_info', :locals => {:user => activity.author} %>
-
+
<% if @ctivity.try(:author).try(:realname) == ' ' %>
<%= link_to activity.try(:author), user_path(activity.author_id), :class => "newsBlue mr15" %>
<% else %>
@@ -16,13 +16,13 @@
<%= link_to activity.title.to_s, user_blog_blog_comment_path(:user_id=>activity.author_id,:blog_id=>activity.blog_id,:id=>activity.id,:in_act => true), :class => "postGrey" %>
+ <% if activity.locked%>
+
+ <% end%>
+ <% if activity.sticky == 1%>
+ 缃《
+ <% end%>
- <% if activity.sticky == 1%>
-
缃《
- <% end%>
- <% if activity.locked%>
-
- <% end%>
@@ -83,7 +83,7 @@
<%= link_to image_tag(url_to_avatar(comment.author), :width => "33", :height => "33"), user_path(comment.author_id), :alt => "鐢ㄦ埛澶村儚" %>
-
+
<% if comment.try(:author).try(:realname) == ' ' %>
<%= link_to comment.try(:author), user_path(comment.author_id), :class => "newsBlue mr10 f14" %>
<% else %>
diff --git a/app/views/users/_user_homework_detail.html.erb b/app/views/users/_user_homework_detail.html.erb
index b8c5c2017..e561c6363 100644
--- a/app/views/users/_user_homework_detail.html.erb
+++ b/app/views/users/_user_homework_detail.html.erb
@@ -5,13 +5,18 @@
<%=link_to image_tag(url_to_avatar(homework_common.user),width:"50px", height: "50px"), user_activities_path(homework_common.user.id)%>
-
+
<%= link_to homework_common.user.show_name, user_activities_path(homework_common.user_id), :class => "newsBlue mr15"%>
TO
<%= link_to homework_common.course.name, course_path(homework_common.course_id), :class => "newsBlue ml15"%>
- <%= link_to homework_common.name,student_work_index_path(:homework => homework_common.id),:class => "postGrey"%>
+ <% if is_in_course == 1%>
+ <% index = get_hw_index(homework_common, is_teacher) %>
+ <%= link_to "浣滀笟#{index+1}锛 ".html_safe+homework_common.name,student_work_index_path(:homework => homework_common.id),:class => "postGrey"%>
+ <% else %>
+ <%= link_to homework_common.name,student_work_index_path(:homework => homework_common.id),:class => "postGrey"%>
+ <% end %>
<% if homework_common.homework_detail_manual%>
@@ -219,9 +224,9 @@
diff --git a/public/assets/wechat/jour_message_detail.html b/public/assets/wechat/jour_message_detail.html
index 0bc87214b..29660e4fd 100644
--- a/public/assets/wechat/jour_message_detail.html
+++ b/public/assets/wechat/jour_message_detail.html
@@ -36,7 +36,7 @@
-
鍥炲
+
鍥炲
diff --git a/public/assets/wechat/project_discussion.html b/public/assets/wechat/project_discussion.html
index 24ed8c9fc..7968ba5d7 100644
--- a/public/assets/wechat/project_discussion.html
+++ b/public/assets/wechat/project_discussion.html
@@ -44,7 +44,7 @@
-
鍥炲
+
鍥炲
diff --git a/public/javascripts/init_KindEditor.js b/public/javascripts/init_KindEditor.js
index 9d47778b5..0f934e88e 100644
--- a/public/javascripts/init_KindEditor.js
+++ b/public/javascripts/init_KindEditor.js
@@ -1,5 +1,5 @@
function init_editor(params){
- // var minHeight; //鏈灏忛珮搴
+ // var minHeight; //鏈灏忛珮搴
var paramsHeight = params.height; //璁惧畾鐨勯珮搴
var paramsWidth = params.width == undefined ? "100%" : params.width;
@@ -7,7 +7,7 @@ function init_editor(params){
resizeType : 1,minWidth:"1px",width:paramsWidth,
height:"30px",// == undefined ? "30px":paramsHeight+"px",
minHeight:"30px",// == undefined ? "30px":paramsHeight+"px",
- items:['emoticons'],
+ items:['emoticons'],
afterChange:function(){//鎸夐敭浜嬩欢
nh_check_field({content:this,contentmsg:params.contentmsg,textarea:params.textarea});
var edit = this.edit;
diff --git a/public/javascripts/wechat/app.js b/public/javascripts/wechat/app.js
index 16fa8cf03..da314c5f5 100644
--- a/public/javascripts/wechat/app.js
+++ b/public/javascripts/wechat/app.js
@@ -128,12 +128,15 @@ app.factory('common', function($http, auth, $routeParams){
openid: auth.openid()
};
+ data.disabled = true;
+
$http({
method: 'POST',
url: apiUrl+ "new_comment/"+id,
data: userInfo
}).then(function successCallback(response) {
alert("鎻愪氦鎴愬姛");
+ data.disabled = false;
if(typeof cb === 'function'){
cb();
}
@@ -416,7 +419,6 @@ app.directive('textAutoHeight', function($timeout){
$timeout(function(){
var e = element.parent().children().eq(5);
var height = e[0].scrollHeight;
- var offsetHeight = e[0].offsetHeight;
if(height>90){
element.css('display', 'block');
element.on('click', function(){
diff --git a/public/plugin_assets/redmine_code_review/javascripts/code_review.js b/public/plugin_assets/redmine_code_review/javascripts/code_review.js
index 4f4d81691..625f376c9 100644
--- a/public/plugin_assets/redmine_code_review/javascripts/code_review.js
+++ b/public/plugin_assets/redmine_code_review/javascripts/code_review.js
@@ -1,354 +1,354 @@
-/*
-# Code Review plugin for Redmine
-# Copyright (C) 2009-2013 Haruyuki Iida
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-var topZindex = 1000;
-var action_type = '';
-var rev = '';
-var rev_to = '';
-var path = '';
-var urlprefix = '';
-var review_form_dialog = null;
-var add_form_title = null;
-var review_dialog_title = null;
-var repository_id = null;
-var filenames = [];
-
-var ReviewCount = function(total, open, progress){
- this.total = total;
- this.open = open;
- this.closed = total - open;
- this.progress = progress
-};
-
-var CodeReview = function(id) {
- this.id = id;
- this.path = '';
- this.line = 0;
- this.url = '';
- this.is_closed = false;
-};
-
-var review_counts = new Array();
-var code_reviews_map = new Array();
-var code_reviews_dialog_map = new Array();
-
-function UpdateRepositoryView(title) {
- var header = $("table.changesets thead tr:first");
- var th = $('
');
- th.html(title);
- header.append(th);
- $('tr.changeset td.id a').each(function(i){
- var revision = this.getAttribute("href");
- revision = revision.substr(revision.lastIndexOf("/") + 1);
- var review = review_counts['revision_' + revision];
- var td = $('
',{
- 'class':'progress'
- });
- td.html(review.progress);
- $(this.parentNode.parentNode).append(td);
- });
- }
-//add function $.down
-if(! $.fn.down)
-(function($) {
- $.fn.down = function() {
- var el = this[0] && this[0].firstChild;
- while (el && el.nodeType != 1)
- el = el.nextSibling;
- return $(el);
- };
-})(jQuery);
-
-function UpdateRevisionView() {
- $('li.change').each(function(){
- var li = $(this);
- if (li.hasClass('folder')) return;
-
- var a = li.down('a');
- if (a.size() == 0) return;
- var path = a.attr('href').replace(urlprefix, '').replace(/\?.*$/, '');
-
- var reviewlist = code_reviews_map[path];
- if (reviewlist == null) return;
-
- var ul = $('
');
- for (var j = 0; j < reviewlist.length; j++) {
- var review = reviewlist[j];
- var icon = review.is_closed? 'icon-closed-review': 'icon-review';
- var item = $('
', {
- 'class': 'icon ' + icon + ' code_review_summary'
- });
- item.html(review.url);
- ul.append(item);
- }
- li.append(ul);
- });
-}
-
-function setAddReviewButton(url, change_id, image_tag, is_readonly, is_diff, attachment_id){
- var filetables = [];
- var j = 0;
- $('table').each(function(){
- if($(this).hasClass('filecontent')){
- filetables[j++] = this;
- }
- });
- j = 0;
- $('table.filecontent th.filename').each(function(){
- filenames[j] = $.trim($(this).text());
- j++;
- });
- addReviewUrl = url + '?change_id=' + change_id + '&action_type=' + action_type +
- '&rev=' + rev + '&rev_to=' + rev_to +
- '&attachment_id=' + attachment_id + '&repository_id=' + encodeURIComponent(repository_id);
- if (path != null && path.length > 0) {
- addReviewUrl = addReviewUrl + '&path=' + encodeURIComponent(path);
- }
- var num = 0;
- if (is_diff) {
- num = 1;
- }
- var i, l, tl;
- for (i = 0, tl = filetables.length; i < tl; i++) {
- var table = filetables[i];
- var trs = table.getElementsByTagName('tr');
-
- for (j = 0,l = trs.length; j < l; j++) {
- var tr = trs[j];
- var ths = tr.getElementsByTagName('th');
-
- var th = ths[num];
- if (th == null) {
- continue;
- }
-
- var th_html = th.innerHTML;
-
- var line = th_html.match(/[0-9]+/);
- if (line == null) {
- continue;
- }
-
- var span_html = '
';
-
- if (!is_readonly) {
- span_html += image_tag;
- }
- span_html += ' ';
- th.innerHTML = th_html + span_html;
-
- var img = th.getElementsByTagName('img')[0];
- if (img != null ) {
- img.id = 'add_revew_img_' + line + '_' + i;
- $(img).click(clickPencil);
- }
- }
- }
-
-
-}
-
-function clickPencil(e)
-{
-// alert('$(e.target).attr("id") = ' + $(e.target).attr("id"));
- var result = $(e.target).attr("id").match(/([0-9]+)_([0-9]+)/);
- var line = result[1];
- var file_count = eval(result[2]);
- var url = addReviewUrl + '&line=' + line + '&file_count=' + file_count;
-
- if (path == null || path.length == 0) {
- url = url + '&path=' + encodeURIComponent(filenames[file_count]) + '&diff_all=true';
- }
- addReview(url);
- formPopup(e.pageX, e.pageY);
- e.preventDefault();
-}
-var addReviewUrl = null;
-var showReviewUrl = null;
-var showReviewImageTag = null;
-var showClosedReviewImageTag = null;
-
-function setShowReviewButton(line, review_id, is_closed, file_count) {
- //alert('file_count = ' + file_count);
- var span = $('#review_span_' + line + '_' + file_count);
- if (span.size() == 0) {
- return;
- }
- var innerSpan = $('
',{id: 'review_' + review_id});
- span.append(innerSpan);
- innerSpan.html(is_closed? showClosedReviewImageTag : showReviewImageTag);
- var div = $('
', {
- 'class':'draggable',
- id: 'show_review_' + review_id
- });
- $('#code_review').append(div);
- innerSpan.down('img').click(function(e) {
- var review_id = $(e.target).parent().attr('id').match(/[0-9]+/)[0];
- var span = $('#review_' + review_id); // span element of view review button
- var pos = span.offset();
- showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top + 25);
- });
-}
-
-function popupReview(review_id) {
- var span = $('#review_' + review_id); // span element of view review button
- var pos = span.offset();
- $('html,body').animate({ scrollTop: pos.top },
- {duration: 'fast',
- complete: function(){showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top)}});
- // position and show popup dialog
- // create popup dialog
- //var win = showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top);
-// win.toFront();
-}
-
-function showReview(url, review_id, x, y) {
- if (code_reviews_dialog_map[review_id] != null) {
- var cur_win = code_reviews_dialog_map[review_id];
- cur_win.hide();
- code_reviews_dialog_map[review_id] = null;
- }
- $('#show_review_' + review_id).load(url, {review_id: review_id});
- var review = getReviewObjById(review_id);
-
- var win = $('#show_review_' + review_id).dialog({
- show: {effect:'scale'},// ? 'top-left'
- //position: [x, y + 5],
- width:640,
- zIndex: topZindex,
- title: review_dialog_title
- });
-// win.getContent().style.color = "#484848";
-// win.getContent().style.background = "#ffffff";
- topZindex++;
- code_reviews_dialog_map[review_id] = win;
- return win
-}
-
-function getReviewObjById(review_id) {
- for (var reviewlist in code_reviews_map) {
- for (var i = 0; i < reviewlist.length; i++) {
- var review = reviewlist[i];
- if (review.id == review_id) {
- return review;
- }
- }
- }
- return null;
-}
-
-function formPopup(x, y){
- //@see http://docs.jquery.com/UI/Effects/Scale
- var win = $('#review-form-frame').dialog({
- show: {effect:'scale', direction: 'both'},// ? 'top-left'
-// position: [x, y + 5],
- width:640,
- zIndex: topZindex,
- title: add_form_title
- });
-// win.getContent().style.background = "#ffffff";
- if (review_form_dialog != null) {
- review_form_dialog.destroy();
- review_form_dialog = null;
- }
- review_form_dialog = win;
- topZindex += 10;
- return false;
-}
-
-function hideForm() {
- if (review_form_dialog == null) {
- return;
- }
- review_form_dialog.dialog('close');
- review_form_dialog = null;
- $('#review-form').html('');
-}
-function addReview(url) {
- $('#review-form').load(url);
-}
-
-function deleteReview(review_id) {
- $('show_review_' + review_id).remove();
- $('review_' + review_id).remove();
-
-}
-
-function changeImage(review_id, is_closed) {
- var span = $('review_' + review_id);
- var new_image = null;
- var dummy = new Element('span');
- if (is_closed) {
- dummy.insert(showClosedReviewImageTag);
- }
- else {
- dummy.insert(showReviewImageTag);
- }
- new_image = dummy.down().getAttribute('src');
- //alert(new_image);
- span.down('img').setAttribute('src', new_image);
-
-}
-
-function make_addreview_link(project, link) {
- var alist = $('#content p a');
- if (alist == null) {
- return;
- }
- var a = alist[0];
- var p = a.parentNode;
- p.innerHTML = p.innerHTML + " | " + link;
-}
-
-function call_update_revisions(url) {
- var changeset_ids = '';
- var links = $$('table.changesets tbody tr.changeset td.id a');
- for (var i = 0; i < links.length; i++) {
- var link = links[i];
- var href = link.getAttribute('href');
- var id = href.replace(/^.*\/revisions\//, '');
- if (i > 0) {
- changeset_ids += ',';
- }
- changeset_ids += id;
- }
- new Ajax.Updater('code_review_revisions', url,
- {
- evalScripts:true,
- method:'get',
- parameters: 'changeset_ids=' + encodeURI(changeset_ids)
- });
-}
-
-$.fn.serialize2json = function()
-{
- var o = {};
- var a = this.serializeArray();
- $.each(a, function() {
- if (o[this.name]) {
- if (!o[this.name].push) {
- o[this.name] = [o[this.name]];
- }
- o[this.name].push(this.value || '');
- } else {
- o[this.name] = this.value || '';
- }
- });
- return o;
+/*
+# Code Review plugin for Redmine
+# Copyright (C) 2009-2013 Haruyuki Iida
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+var topZindex = 1000;
+var action_type = '';
+var rev = '';
+var rev_to = '';
+var path = '';
+var urlprefix = '';
+var review_form_dialog = null;
+var add_form_title = null;
+var review_dialog_title = null;
+var repository_id = null;
+var filenames = [];
+
+var ReviewCount = function(total, open, progress){
+ this.total = total;
+ this.open = open;
+ this.closed = total - open;
+ this.progress = progress
+};
+
+var CodeReview = function(id) {
+ this.id = id;
+ this.path = '';
+ this.line = 0;
+ this.url = '';
+ this.is_closed = false;
+};
+
+var review_counts = new Array();
+var code_reviews_map = new Array();
+var code_reviews_dialog_map = new Array();
+
+function UpdateRepositoryView(title) {
+ var header = $("table.changesets thead tr:first");
+ var th = $('
');
+ th.html(title);
+ header.append(th);
+ $('tr.changeset td.id a').each(function(i){
+ var revision = this.getAttribute("href");
+ revision = revision.substr(revision.lastIndexOf("/") + 1);
+ var review = review_counts['revision_' + revision];
+ var td = $('
',{
+ 'class':'progress'
+ });
+ td.html(review.progress);
+ $(this.parentNode.parentNode).append(td);
+ });
+ }
+//add function $.down
+if(! $.fn.down)
+(function($) {
+ $.fn.down = function() {
+ var el = this[0] && this[0].firstChild;
+ while (el && el.nodeType != 1)
+ el = el.nextSibling;
+ return $(el);
+ };
+})(jQuery);
+
+function UpdateRevisionView() {
+ $('li.change').each(function(){
+ var li = $(this);
+ if (li.hasClass('folder')) return;
+
+ var a = li.down('a');
+ if (a.size() == 0) return;
+ var path = a.attr('href').replace(urlprefix, '').replace(/\?.*$/, '');
+
+ var reviewlist = code_reviews_map[path];
+ if (reviewlist == null) return;
+
+ var ul = $('
');
+ for (var j = 0; j < reviewlist.length; j++) {
+ var review = reviewlist[j];
+ var icon = review.is_closed? 'icon-closed-review': 'icon-review';
+ var item = $('
', {
+ 'class': 'icon ' + icon + ' code_review_summary'
+ });
+ item.html(review.url);
+ ul.append(item);
+ }
+ li.append(ul);
+ });
+}
+
+function setAddReviewButton(url, change_id, image_tag, is_readonly, is_diff, attachment_id){
+ var filetables = [];
+ var j = 0;
+ $('table').each(function(){
+ if($(this).hasClass('filecontent')){
+ filetables[j++] = this;
+ }
+ });
+ j = 0;
+ $('table.filecontent th.filename').each(function(){
+ filenames[j] = $.trim($(this).text());
+ j++;
+ });
+ addReviewUrl = url + '?change_id=' + change_id + '&action_type=' + action_type +
+ '&rev=' + rev + '&rev_to=' + rev_to +
+ '&attachment_id=' + attachment_id + '&repository_id=' + encodeURIComponent(repository_id);
+ if (path != null && path.length > 0) {
+ addReviewUrl = addReviewUrl + '&path=' + encodeURIComponent(path);
+ }
+ var num = 0;
+ if (is_diff) {
+ num = 1;
+ }
+ var i, l, tl;
+ for (i = 0, tl = filetables.length; i < tl; i++) {
+ var table = filetables[i];
+ var trs = table.getElementsByTagName('tr');
+
+ for (j = 0,l = trs.length; j < l; j++) {
+ var tr = trs[j];
+ var ths = tr.getElementsByTagName('th');
+
+ var th = ths[num];
+ if (th == null) {
+ continue;
+ }
+
+ var th_html = th.innerHTML;
+
+ var line = th_html.match(/[0-9]+/);
+ if (line == null) {
+ continue;
+ }
+
+ var span_html = '
';
+
+ if (!is_readonly) {
+ span_html += image_tag;
+ }
+ span_html += ' ';
+ th.innerHTML = th_html + span_html;
+
+ var img = th.getElementsByTagName('img')[0];
+ if (img != null ) {
+ img.id = 'add_revew_img_' + line + '_' + i;
+ $(img).click(clickPencil);
+ }
+ }
+ }
+
+
+}
+
+function clickPencil(e)
+{
+// alert('$(e.target).attr("id") = ' + $(e.target).attr("id"));
+ var result = $(e.target).attr("id").match(/([0-9]+)_([0-9]+)/);
+ var line = result[1];
+ var file_count = eval(result[2]);
+ var url = addReviewUrl + '&line=' + line + '&file_count=' + file_count;
+
+ if (path == null || path.length == 0) {
+ url = url + '&path=' + encodeURIComponent(filenames[file_count]) + '&diff_all=true';
+ }
+ addReview(url);
+ formPopup(e.pageX, e.pageY);
+ e.preventDefault();
+}
+var addReviewUrl = null;
+var showReviewUrl = null;
+var showReviewImageTag = null;
+var showClosedReviewImageTag = null;
+
+function setShowReviewButton(line, review_id, is_closed, file_count) {
+ //alert('file_count = ' + file_count);
+ var span = $('#review_span_' + line + '_' + file_count);
+ if (span.size() == 0) {
+ return;
+ }
+ var innerSpan = $('
',{id: 'review_' + review_id});
+ span.append(innerSpan);
+ innerSpan.html(is_closed? showClosedReviewImageTag : showReviewImageTag);
+ var div = $('
', {
+ 'class':'draggable',
+ id: 'show_review_' + review_id
+ });
+ $('#code_review').append(div);
+ innerSpan.down('img').click(function(e) {
+ var review_id = $(e.target).parent().attr('id').match(/[0-9]+/)[0];
+ var span = $('#review_' + review_id); // span element of view review button
+ var pos = span.offset();
+ showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top + 25);
+ });
+}
+
+function popupReview(review_id) {
+ var span = $('#review_' + review_id); // span element of view review button
+ var pos = span.offset();
+ $('html,body').animate({ scrollTop: pos.top },
+ {duration: 'fast',
+ complete: function(){showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top)}});
+ // position and show popup dialog
+ // create popup dialog
+ //var win = showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top);
+// win.toFront();
+}
+
+function showReview(url, review_id, x, y) {
+ if (code_reviews_dialog_map[review_id] != null) {
+ var cur_win = code_reviews_dialog_map[review_id];
+ cur_win.hide();
+ code_reviews_dialog_map[review_id] = null;
+ }
+ $('#show_review_' + review_id).load(url, {review_id: review_id});
+ var review = getReviewObjById(review_id);
+
+ var win = $('#show_review_' + review_id).dialog({
+ show: {effect:'scale'},// ? 'top-left'
+ //position: [x, y + 5],
+ width:640,
+ zIndex: topZindex,
+ title: review_dialog_title
+ });
+// win.getContent().style.color = "#484848";
+// win.getContent().style.background = "#ffffff";
+ topZindex++;
+ code_reviews_dialog_map[review_id] = win;
+ return win
+}
+
+function getReviewObjById(review_id) {
+ for (var reviewlist in code_reviews_map) {
+ for (var i = 0; i < reviewlist.length; i++) {
+ var review = reviewlist[i];
+ if (review.id == review_id) {
+ return review;
+ }
+ }
+ }
+ return null;
+}
+
+function formPopup(x, y){
+ //@see http://docs.jquery.com/UI/Effects/Scale
+ var win = $('#review-form-frame').dialog({
+ show: {effect:'scale', direction: 'both'},// ? 'top-left'
+// position: [x, y + 5],
+ width:640,
+ zIndex: topZindex,
+ title: add_form_title
+ });
+// win.getContent().style.background = "#ffffff";
+ if (review_form_dialog != null) {
+ review_form_dialog.destroy();
+ review_form_dialog = null;
+ }
+ review_form_dialog = win;
+ topZindex += 10;
+ return false;
+}
+
+function hideForm() {
+ if (review_form_dialog == null) {
+ return;
+ }
+ review_form_dialog.dialog('close');
+ review_form_dialog = null;
+ $('#review-form').html('');
+}
+function addReview(url) {
+ $('#review-form').load(url);
+}
+
+function deleteReview(review_id) {
+ $('show_review_' + review_id).remove();
+ $('review_' + review_id).remove();
+
+}
+
+function changeImage(review_id, is_closed) {
+ var span = $('review_' + review_id);
+ var new_image = null;
+ var dummy = new Element('span');
+ if (is_closed) {
+ dummy.insert(showClosedReviewImageTag);
+ }
+ else {
+ dummy.insert(showReviewImageTag);
+ }
+ new_image = dummy.down().getAttribute('src');
+ //alert(new_image);
+ span.down('img').setAttribute('src', new_image);
+
+}
+
+function make_addreview_link(project, link) {
+ var alist = $('#content p a');
+ if (alist == null) {
+ return;
+ }
+ var a = alist[0];
+ var p = a.parentNode;
+ p.innerHTML = p.innerHTML + " | " + link;
+}
+
+function call_update_revisions(url) {
+ var changeset_ids = '';
+ var links = $$('table.changesets tbody tr.changeset td.id a');
+ for (var i = 0; i < links.length; i++) {
+ var link = links[i];
+ var href = link.getAttribute('href');
+ var id = href.replace(/^.*\/revisions\//, '');
+ if (i > 0) {
+ changeset_ids += ',';
+ }
+ changeset_ids += id;
+ }
+ new Ajax.Updater('code_review_revisions', url,
+ {
+ evalScripts:true,
+ method:'get',
+ parameters: 'changeset_ids=' + encodeURI(changeset_ids)
+ });
+}
+
+$.fn.serialize2json = function()
+{
+ var o = {};
+ var a = this.serializeArray();
+ $.each(a, function() {
+ if (o[this.name]) {
+ if (!o[this.name].push) {
+ o[this.name] = [o[this.name]];
+ }
+ o[this.name].push(this.value || '');
+ } else {
+ o[this.name] = this.value || '';
+ }
+ });
+ return o;
};
\ No newline at end of file
diff --git a/public/plugin_assets/redmine_code_review/stylesheets/activity.css b/public/plugin_assets/redmine_code_review/stylesheets/activity.css
index 202ed54e3..e3cdc3d55 100644
--- a/public/plugin_assets/redmine_code_review/stylesheets/activity.css
+++ b/public/plugin_assets/redmine_code_review/stylesheets/activity.css
@@ -1,4 +1,4 @@
-
-dt.code_review {
- background-image: url(../images/review.png);
+
+dt.code_review {
+ background-image: url(../images/review.png);
}
\ No newline at end of file
diff --git a/public/plugin_assets/redmine_code_review/stylesheets/code_review.css b/public/plugin_assets/redmine_code_review/stylesheets/code_review.css
index e25dc6d72..11939ae79 100644
--- a/public/plugin_assets/redmine_code_review/stylesheets/code_review.css
+++ b/public/plugin_assets/redmine_code_review/stylesheets/code_review.css
@@ -1,97 +1,97 @@
-/*
-# Code Review plugin for Redmine
-# Copyright (C) 2009 Haruyuki Iida
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-#review-form-frame {
-height: 100%;
-}
-
-.autoscroll table.filecontent th.line-num {
- white-space: nowrap;
- vertical-align: bottom;
- padding-top: 0;
- padding-bottom: 0;
- text-align:left;
-}
-
-table.filecontent th.line-num img{
- padding: 0;
- margin: 0;
- cursor: pointer;
-}
-
-
-.code-review-form-title {
- background-color: #002059;
- color: white;
- padding-left: 2px;
- padding-right: 2px;
- cursor: default;
-}
-
-
-.code_review_viewer {
-
- min-width: 300px;
- /*
- max-width: 60%;
- */
- /* max-height: 400px; */
-}
-
-.code_review_viewer .issue{
-
-}
-
-.code_review_body {
- background-color: white;
-
- padding:2px;
-
-}
-
-#code_review_list table.list td {
- text-align: center;
-}
-
-#code_review_list table.list td.path {
- text-align: left;
-}
-
-#code_review_list table.list td.subject {
- text-align: left;
-}
-
-.icon-review {
- background-image: url(../images/review.png);
- background-repeat: no-repeat;
-}
-
-.icon-closed-review {
- background-image: url(../images/closed_review.png);
- background-repeat: no-repeat;
-}
-
-.icon-settings {
- background-image: url(../../../images/changeset.png);
- background-repeat: no-repeat;
-}
-
-
-li.code_review_summary {
- list-style-type: none;
+/*
+# Code Review plugin for Redmine
+# Copyright (C) 2009 Haruyuki Iida
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*/
+#review-form-frame {
+height: 100%;
+}
+
+.autoscroll table.filecontent th.line-num {
+ white-space: nowrap;
+ vertical-align: bottom;
+ padding-top: 0;
+ padding-bottom: 0;
+ text-align:left;
+}
+
+table.filecontent th.line-num img{
+ padding: 0;
+ margin: 0;
+ cursor: pointer;
+}
+
+
+.code-review-form-title {
+ background-color: #002059;
+ color: white;
+ padding-left: 2px;
+ padding-right: 2px;
+ cursor: default;
+}
+
+
+.code_review_viewer {
+
+ min-width: 300px;
+ /*
+ max-width: 60%;
+ */
+ /* max-height: 400px; */
+}
+
+.code_review_viewer .issue{
+
+}
+
+.code_review_body {
+ background-color: white;
+
+ padding:2px;
+
+}
+
+#code_review_list table.list td {
+ text-align: center;
+}
+
+#code_review_list table.list td.path {
+ text-align: left;
+}
+
+#code_review_list table.list td.subject {
+ text-align: left;
+}
+
+.icon-review {
+ background-image: url(../images/review.png);
+ background-repeat: no-repeat;
+}
+
+.icon-closed-review {
+ background-image: url(../images/closed_review.png);
+ background-repeat: no-repeat;
+}
+
+.icon-settings {
+ background-image: url(../../../images/changeset.png);
+ background-repeat: no-repeat;
+}
+
+
+li.code_review_summary {
+ list-style-type: none;
}
\ No newline at end of file
diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/MIT-LICENSE b/public/plugin_assets/redmine_code_review/stylesheets/window_js/MIT-LICENSE
index 0a7cf9ad1..5bcdad1bd 100644
--- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/MIT-LICENSE
+++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/MIT-LICENSE
@@ -1,19 +1,19 @@
-Copyright (c) 2006 S茅bastien Gruhier (http://xilinus.com, http://itseb.com)
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+Copyright (c) 2006 S茅bastien Gruhier (http://xilinus.com, http://itseb.com)
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert.css
index 4846e6185..432d14e36 100644
--- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert.css
+++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert.css
@@ -1,119 +1,119 @@
-.overlay_alert {
- background-color: #85BBEF;
- filter:alpha(opacity=60);
- -moz-opacity: 0.6;
- opacity: 0.6;
-}
-
-.alert_nw {
- width: 5px;
- height: 5px;
- background: transparent url(alert/top_left.gif) no-repeat bottom left;
-}
-
-.alert_n {
- height: 5px;
- background: transparent url(alert/top.gif) repeat-x bottom left;
-}
-
-.alert_ne {
- width: 5px;
- height: 5px;
- background: transparent url(alert/top_right.gif) no-repeat bottom left
-}
-
-.alert_e {
- width: 5px;
- background: transparent url(alert/right.gif) repeat-y 0 0;
-}
-
-.alert_w {
- width: 5px;
- background: transparent url(alert/left.gif) repeat-y 0 0;
-}
-
-.alert_sw {
- width: 5px;
- height: 5px;
- background: transparent url(alert/bottom_left.gif) no-repeat 0 0;
-}
-
-.alert_s {
- height: 5px;
- background: transparent url(alert/bottom.gif) repeat-x 0 0;
-}
-
-.alert_se, .alert_sizer {
- width: 5px;
- height: 5px;
- background: transparent url(alert/bottom_right.gif) no-repeat 0 0;
-}
-
-.alert_close {
- width:0px;
- height:0px;
- display:none;
-}
-
-.alert_minimize {
- width:0px;
- height:0px;
- display:none;
-}
-
-.alert_maximize {
- width:0px;
- height:0px;
- display:none;
-}
-
-.alert_title {
- float:left;
- height:1px;
- width:100%;
-}
-
-.alert_content {
- overflow:visible;
- color: #000;
- font-family: Tahoma, Arial, sans-serif;
- font: 12px arial;
- background: #FFF;
-}
-
-/* For alert/confirm dialog */
-.alert_window {
- background: #FFF;
- padding:20px;
- margin-left:auto;
- margin-right:auto;
- width:400px;
-}
-
-.alert_message {
- font: 12px arial;
- width:100%;
- color:#F00;
- padding-bottom:10px;
-}
-
-.alert_buttons {
- text-align:center;
- width:100%;
-}
-
-.alert_buttons input {
- width:20%;
- margin:10px;
-}
-
-.alert_progress {
- float:left;
- margin:auto;
- text-align:center;
- width:100%;
- height:16px;
- background: #FFF url('alert/progress.gif') no-repeat center center
-}
-
-
+.overlay_alert {
+ background-color: #85BBEF;
+ filter:alpha(opacity=60);
+ -moz-opacity: 0.6;
+ opacity: 0.6;
+}
+
+.alert_nw {
+ width: 5px;
+ height: 5px;
+ background: transparent url(alert/top_left.gif) no-repeat bottom left;
+}
+
+.alert_n {
+ height: 5px;
+ background: transparent url(alert/top.gif) repeat-x bottom left;
+}
+
+.alert_ne {
+ width: 5px;
+ height: 5px;
+ background: transparent url(alert/top_right.gif) no-repeat bottom left
+}
+
+.alert_e {
+ width: 5px;
+ background: transparent url(alert/right.gif) repeat-y 0 0;
+}
+
+.alert_w {
+ width: 5px;
+ background: transparent url(alert/left.gif) repeat-y 0 0;
+}
+
+.alert_sw {
+ width: 5px;
+ height: 5px;
+ background: transparent url(alert/bottom_left.gif) no-repeat 0 0;
+}
+
+.alert_s {
+ height: 5px;
+ background: transparent url(alert/bottom.gif) repeat-x 0 0;
+}
+
+.alert_se, .alert_sizer {
+ width: 5px;
+ height: 5px;
+ background: transparent url(alert/bottom_right.gif) no-repeat 0 0;
+}
+
+.alert_close {
+ width:0px;
+ height:0px;
+ display:none;
+}
+
+.alert_minimize {
+ width:0px;
+ height:0px;
+ display:none;
+}
+
+.alert_maximize {
+ width:0px;
+ height:0px;
+ display:none;
+}
+
+.alert_title {
+ float:left;
+ height:1px;
+ width:100%;
+}
+
+.alert_content {
+ overflow:visible;
+ color: #000;
+ font-family: Tahoma, Arial, sans-serif;
+ font: 12px arial;
+ background: #FFF;
+}
+
+/* For alert/confirm dialog */
+.alert_window {
+ background: #FFF;
+ padding:20px;
+ margin-left:auto;
+ margin-right:auto;
+ width:400px;
+}
+
+.alert_message {
+ font: 12px arial;
+ width:100%;
+ color:#F00;
+ padding-bottom:10px;
+}
+
+.alert_buttons {
+ text-align:center;
+ width:100%;
+}
+
+.alert_buttons input {
+ width:20%;
+ margin:10px;
+}
+
+.alert_progress {
+ float:left;
+ margin:auto;
+ text-align:center;
+ width:100%;
+ height:16px;
+ background: #FFF url('alert/progress.gif') no-repeat center center
+}
+
+
diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert_lite.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert_lite.css
index a74fc71c3..c2ad538ca 100644
--- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert_lite.css
+++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert_lite.css
@@ -1,88 +1,88 @@
-.overlay_alert_lite {
- background-color: #85BBEF;
- filter:alpha(opacity=60);
- -moz-opacity: 0.6;
- opacity: 0.6;
-}
-
-.alert_lite_sizer {
- width:0px;
- height:0px;
- display:none;
-}
-
-.alert_lite_close {
- width:0px;
- height:0px;
- display:none;
-}
-
-.alert_lite_minimize {
- width:0px;
- height:0px;
- display:none;
-}
-
-.alert_lite_maximize {
- width:0px;
- height:0px;
- display:none;
-}
-
-.alert_lite_title {
- width:0px;
- height:0px;
- display:none;
-}
-
-.alert_lite_content {
- overflow:auto;
- color: #000;
- font-family: Tahoma, Arial, sans-serif;
- font-size: 10px;
- background: #FFF;
-}
-
-
-/* For alert/confirm dialog */
-.alert_lite_window {
- border:1px solid #F00;
- background: #FFF;
- padding:20px;
- margin-left:auto;
- margin-right:auto;
- width:400px;
-}
-
-.alert_lite_message {
- font-size:16px;
- text-align:center;
- width:100%;
- color:#F00;
- padding-bottom:10px;
-}
-
-.alert_lite_buttons {
- text-align:center;
- width:100%;
-}
-
-.alert_lite_buttons input {
- width:20%;
- margin:10px;
-}
-
-.alert_lite_progress {
- float:left;
- margin:auto;
- text-align:center;
- width:100%;
- height:16px;
- background: #FFF url('alert/progress.gif') no-repeat center center
-}
-
-table.alert_lite_header {
- border:1px solid #F00;
- background:#FFF
-}
-
+.overlay_alert_lite {
+ background-color: #85BBEF;
+ filter:alpha(opacity=60);
+ -moz-opacity: 0.6;
+ opacity: 0.6;
+}
+
+.alert_lite_sizer {
+ width:0px;
+ height:0px;
+ display:none;
+}
+
+.alert_lite_close {
+ width:0px;
+ height:0px;
+ display:none;
+}
+
+.alert_lite_minimize {
+ width:0px;
+ height:0px;
+ display:none;
+}
+
+.alert_lite_maximize {
+ width:0px;
+ height:0px;
+ display:none;
+}
+
+.alert_lite_title {
+ width:0px;
+ height:0px;
+ display:none;
+}
+
+.alert_lite_content {
+ overflow:auto;
+ color: #000;
+ font-family: Tahoma, Arial, sans-serif;
+ font-size: 10px;
+ background: #FFF;
+}
+
+
+/* For alert/confirm dialog */
+.alert_lite_window {
+ border:1px solid #F00;
+ background: #FFF;
+ padding:20px;
+ margin-left:auto;
+ margin-right:auto;
+ width:400px;
+}
+
+.alert_lite_message {
+ font-size:16px;
+ text-align:center;
+ width:100%;
+ color:#F00;
+ padding-bottom:10px;
+}
+
+.alert_lite_buttons {
+ text-align:center;
+ width:100%;
+}
+
+.alert_lite_buttons input {
+ width:20%;
+ margin:10px;
+}
+
+.alert_lite_progress {
+ float:left;
+ margin:auto;
+ text-align:center;
+ width:100%;
+ height:16px;
+ background: #FFF url('alert/progress.gif') no-repeat center center
+}
+
+table.alert_lite_header {
+ border:1px solid #F00;
+ background:#FFF
+}
+
diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alphacube.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alphacube.css
index 6d2862c0e..7d2790e75 100644
--- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alphacube.css
+++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alphacube.css
@@ -1,150 +1,150 @@
-.overlay_alphacube {
- background-color: #85BBEF;
- filter:alpha(opacity=60);
- -moz-opacity: 0.6;
- opacity: 0.6;
-}
-
-.alphacube_nw {
- background: transparent url(alphacube/left-top.gif) no-repeat 0 0;
- width:10px;
- height:25px;
-}
-
-.alphacube_n {
- background: transparent url(alphacube/top-middle.gif) repeat-x 0 0;
- height:25px;
-}
-
-.alphacube_ne {
- background: transparent url(alphacube/right-top.gif) no-repeat 0 0;
- width:10px;
- height:25px;
-}
-
-.alphacube_w {
- background: transparent url(alphacube/frame-left.gif) repeat-y top left;
- width:7px;
-}
-
-.alphacube_e {
- background: transparent url(alphacube/frame-right.gif) repeat-y top right;
- width:7px;
-}
-
-.alphacube_sw {
- background: transparent url(alphacube/bottom-left-c.gif) no-repeat 0 0;
- width:7px;
- height:7px;
-}
-
-.alphacube_s {
- background: transparent url(alphacube/bottom-middle.gif) repeat-x 0 0;
- height:7px;
-}
-
-.alphacube_se, .alphacube_sizer {
- background: transparent url(alphacube/bottom-right-c.gif) no-repeat 0 0;
- width:7px;
- height:7px;
-}
-
-.alphacube_sizer {
- cursor:se-resize;
-}
-
-.alphacube_close {
- width: 23px;
- height: 23px;
- background: transparent url(alphacube/button-close-focus.gif) no-repeat 0 0;
- position:absolute;
- top:0px;
- right:11px;
- cursor:pointer;
- z-index:1000;
-}
-
-.alphacube_minimize {
- width: 23px;
- height: 23px;
- background: transparent url(alphacube/button-min-focus.gif) no-repeat 0 0;
- position:absolute;
- top:0px;
- right:55px;
- cursor:pointer;
- z-index:1000;
-}
-
-.alphacube_maximize {
- width: 23px;
- height: 23px;
- background: transparent url(alphacube/button-max-focus.gif) no-repeat 0 0;
- position:absolute;
- top:0px;
- right:33px;
- cursor:pointer;
- z-index:1000;
-}
-
-.alphacube_title {
- float:left;
- height:14px;
- font-size:14px;
- text-align:center;
- margin-top:2px;
- width:100%;
- color:#123456;
-}
-
-.alphacube_content {
- overflow:auto;
- color: #000;
- font-family: Tahoma, Arial, sans-serif;
- font: 12px arial;
- background:#FDFDFD;
-}
-
-/* For alert/confirm dialog */
-.alphacube_window {
- border:1px solid #F00;
- background: #FFF;
- padding:20px;
- margin-left:auto;
- margin-right:auto;
- width:400px;
-}
-
-.alphacube_message {
- font: 12px arial;
- text-align:center;
- width:100%;
- padding-bottom:10px;
-}
-
-.alphacube_buttons {
- text-align:center;
- width:100%;
-}
-
-.alphacube_buttons input {
- width:20%;
- margin:10px;
-}
-
-.alphacube_progress {
- float:left;
- margin:auto;
- text-align:center;
- width:100%;
- height:16px;
- background: #FFF url('alert/progress.gif') no-repeat center center
-}
-
-.alphacube_wired_frame {
- background: #FFF;
- filter:alpha(opacity=60);
- -moz-opacity: 0.6;
- opacity: 0.6;
-}
-
-
+.overlay_alphacube {
+ background-color: #85BBEF;
+ filter:alpha(opacity=60);
+ -moz-opacity: 0.6;
+ opacity: 0.6;
+}
+
+.alphacube_nw {
+ background: transparent url(alphacube/left-top.gif) no-repeat 0 0;
+ width:10px;
+ height:25px;
+}
+
+.alphacube_n {
+ background: transparent url(alphacube/top-middle.gif) repeat-x 0 0;
+ height:25px;
+}
+
+.alphacube_ne {
+ background: transparent url(alphacube/right-top.gif) no-repeat 0 0;
+ width:10px;
+ height:25px;
+}
+
+.alphacube_w {
+ background: transparent url(alphacube/frame-left.gif) repeat-y top left;
+ width:7px;
+}
+
+.alphacube_e {
+ background: transparent url(alphacube/frame-right.gif) repeat-y top right;
+ width:7px;
+}
+
+.alphacube_sw {
+ background: transparent url(alphacube/bottom-left-c.gif) no-repeat 0 0;
+ width:7px;
+ height:7px;
+}
+
+.alphacube_s {
+ background: transparent url(alphacube/bottom-middle.gif) repeat-x 0 0;
+ height:7px;
+}
+
+.alphacube_se, .alphacube_sizer {
+ background: transparent url(alphacube/bottom-right-c.gif) no-repeat 0 0;
+ width:7px;
+ height:7px;
+}
+
+.alphacube_sizer {
+ cursor:se-resize;
+}
+
+.alphacube_close {
+ width: 23px;
+ height: 23px;
+ background: transparent url(alphacube/button-close-focus.gif) no-repeat 0 0;
+ position:absolute;
+ top:0px;
+ right:11px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+.alphacube_minimize {
+ width: 23px;
+ height: 23px;
+ background: transparent url(alphacube/button-min-focus.gif) no-repeat 0 0;
+ position:absolute;
+ top:0px;
+ right:55px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+.alphacube_maximize {
+ width: 23px;
+ height: 23px;
+ background: transparent url(alphacube/button-max-focus.gif) no-repeat 0 0;
+ position:absolute;
+ top:0px;
+ right:33px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+.alphacube_title {
+ float:left;
+ height:14px;
+ font-size:14px;
+ text-align:center;
+ margin-top:2px;
+ width:100%;
+ color:#123456;
+}
+
+.alphacube_content {
+ overflow:auto;
+ color: #000;
+ font-family: Tahoma, Arial, sans-serif;
+ font: 12px arial;
+ background:#FDFDFD;
+}
+
+/* For alert/confirm dialog */
+.alphacube_window {
+ border:1px solid #F00;
+ background: #FFF;
+ padding:20px;
+ margin-left:auto;
+ margin-right:auto;
+ width:400px;
+}
+
+.alphacube_message {
+ font: 12px arial;
+ text-align:center;
+ width:100%;
+ padding-bottom:10px;
+}
+
+.alphacube_buttons {
+ text-align:center;
+ width:100%;
+}
+
+.alphacube_buttons input {
+ width:20%;
+ margin:10px;
+}
+
+.alphacube_progress {
+ float:left;
+ margin:auto;
+ text-align:center;
+ width:100%;
+ height:16px;
+ background: #FFF url('alert/progress.gif') no-repeat center center
+}
+
+.alphacube_wired_frame {
+ background: #FFF;
+ filter:alpha(opacity=60);
+ -moz-opacity: 0.6;
+ opacity: 0.6;
+}
+
+
diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/behavior.htc b/public/plugin_assets/redmine_code_review/stylesheets/window_js/behavior.htc
index e5c6edc1c..437c5ec92 100644
--- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/behavior.htc
+++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/behavior.htc
@@ -1,51 +1,51 @@
-
-
-
+
+
+
\ No newline at end of file
diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/darkX.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/darkX.css
index e3df3e0a4..2f83cfd46 100644
--- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/darkX.css
+++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/darkX.css
@@ -1,121 +1,121 @@
-.overlay_darkX {
- background-color: #85BBEF;
- filter:alpha(opacity=60);
- -moz-opacity: 0.6;
- opacity: 0.6;
-}
-
-.darkX_nw {
- background: transparent url(darkX/titlebar-left-focused.png) no-repeat 0 0;
- width:6px;
- height:21px;
-}
-.darkX_n {
- background: transparent url(darkX/titlebar-mid-focused.png) repeat-x 0 0;
- height:21px;
-}
-.darkX_ne {
- background: transparent url(darkX/titlebar-right-focused.png) no-repeat 0 0;
- width:6px;
- height:21px;
-}
-.darkX_w {
- background: transparent url(darkX/frame-left-focused.png) repeat-y top left;
- width:3px;
-}
-
-.darkX_e {
- background: transparent url(darkX/frame-right-focused.png) repeat-y top right;
- width:3px;
-}
-
-.darkX_sw {
- background: transparent url(darkX/frame-bottom-left-focused.png) no-repeat 0 0;
- width:5px;
- height:3px;
-}
-.darkX_s {
- background: transparent url(darkX/frame-bottom-mid-focused.png) repeat-x 0 0;
- height:3px;
-}
-.darkX_se, .darkX_sizer {
- background: transparent url(darkX/frame-bottom-right-focused.png) no-repeat 0 0;
- width:5px;
- height:3px;
-}
-
-.darkX_sizer {
- cursor:se-resize;
-}
-
-.darkX_close {
- width: 21px;
- height: 21px;
- background: transparent url(darkX/button-close-focused.png) no-repeat 0 0;
- position:absolute;
- top:0px;
- right:5px;
- cursor:pointer;
- z-index:1000;
-}
-
-.darkX_minimize {
- width: 21px;
- height: 21px;
- background: transparent url(darkX/button-minimize-focused.png) no-repeat 0 0;
- position:absolute;
- top:0px;
- right:26px;
- cursor:pointer;
- z-index:1000;
-}
-
-.darkX_maximize {
- width: 21px;
- height: 21px;
- background: transparent url(darkX/button-maximize-focused.png) no-repeat 0 0;
- position:absolute;
- top:0px;
- right:47px;
- cursor:pointer;
- z-index:1000;
-}
-
-
-.darkX_title {
- float:left;
- height:14px;
- font-size:12px;
- text-align:center;
- margin-top:2px;
- width:100%;
- color:#FFF;
-}
-
-.darkX_content {
- overflow:auto;
- color: #E6DF2A;
- font-family: Tahoma, Arial, sans-serif;
- font-size: 14px;
- background:#5E5148;
-}
-
-
-/* FOR IE */
-* html .darkX_minimize {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-minimize-focused.png", sizingMethod="crop");
-}
-
-* html .darkX_maximize {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-maximize-focused.png", sizingMethod="scale");
-}
-
-* html .darkX_close {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-close-focused.png", sizingMethod="crop");
-}
+.overlay_darkX {
+ background-color: #85BBEF;
+ filter:alpha(opacity=60);
+ -moz-opacity: 0.6;
+ opacity: 0.6;
+}
+
+.darkX_nw {
+ background: transparent url(darkX/titlebar-left-focused.png) no-repeat 0 0;
+ width:6px;
+ height:21px;
+}
+.darkX_n {
+ background: transparent url(darkX/titlebar-mid-focused.png) repeat-x 0 0;
+ height:21px;
+}
+.darkX_ne {
+ background: transparent url(darkX/titlebar-right-focused.png) no-repeat 0 0;
+ width:6px;
+ height:21px;
+}
+.darkX_w {
+ background: transparent url(darkX/frame-left-focused.png) repeat-y top left;
+ width:3px;
+}
+
+.darkX_e {
+ background: transparent url(darkX/frame-right-focused.png) repeat-y top right;
+ width:3px;
+}
+
+.darkX_sw {
+ background: transparent url(darkX/frame-bottom-left-focused.png) no-repeat 0 0;
+ width:5px;
+ height:3px;
+}
+.darkX_s {
+ background: transparent url(darkX/frame-bottom-mid-focused.png) repeat-x 0 0;
+ height:3px;
+}
+.darkX_se, .darkX_sizer {
+ background: transparent url(darkX/frame-bottom-right-focused.png) no-repeat 0 0;
+ width:5px;
+ height:3px;
+}
+
+.darkX_sizer {
+ cursor:se-resize;
+}
+
+.darkX_close {
+ width: 21px;
+ height: 21px;
+ background: transparent url(darkX/button-close-focused.png) no-repeat 0 0;
+ position:absolute;
+ top:0px;
+ right:5px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+.darkX_minimize {
+ width: 21px;
+ height: 21px;
+ background: transparent url(darkX/button-minimize-focused.png) no-repeat 0 0;
+ position:absolute;
+ top:0px;
+ right:26px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+.darkX_maximize {
+ width: 21px;
+ height: 21px;
+ background: transparent url(darkX/button-maximize-focused.png) no-repeat 0 0;
+ position:absolute;
+ top:0px;
+ right:47px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+
+.darkX_title {
+ float:left;
+ height:14px;
+ font-size:12px;
+ text-align:center;
+ margin-top:2px;
+ width:100%;
+ color:#FFF;
+}
+
+.darkX_content {
+ overflow:auto;
+ color: #E6DF2A;
+ font-family: Tahoma, Arial, sans-serif;
+ font-size: 14px;
+ background:#5E5148;
+}
+
+
+/* FOR IE */
+* html .darkX_minimize {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-minimize-focused.png", sizingMethod="crop");
+}
+
+* html .darkX_maximize {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-maximize-focused.png", sizingMethod="scale");
+}
+
+* html .darkX_close {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-close-focused.png", sizingMethod="crop");
+}
diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/debug.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/debug.css
index d7981e9ca..69e3b7fc2 100644
--- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/debug.css
+++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/debug.css
@@ -1,25 +1,25 @@
-div.inspector div.inspectable {
- padding: 0.25em 0 0.25em 1em;
- background-color: Gray;
- color: white;
- border: outset 2px white;
- cursor: pointer;
-}
-
-div.inspector div.child {
- margin: 0 0 0 1em;
-}
-
-#debug_window_content { /* DIV container for debug sizing*/
- width:250px;
- height:100px;
- background-color:#000;
-}
-
-#debug { /* DIV container for debug contents*/
- padding:3px;
- color:#0f0;
- font-family:monaco, Tahoma, Verdana, Arial, Helvetica, sans-serif;
- font-size:10px;
-}
-
+div.inspector div.inspectable {
+ padding: 0.25em 0 0.25em 1em;
+ background-color: Gray;
+ color: white;
+ border: outset 2px white;
+ cursor: pointer;
+}
+
+div.inspector div.child {
+ margin: 0 0 0 1em;
+}
+
+#debug_window_content { /* DIV container for debug sizing*/
+ width:250px;
+ height:100px;
+ background-color:#000;
+}
+
+#debug { /* DIV container for debug contents*/
+ padding:3px;
+ color:#0f0;
+ font-family:monaco, Tahoma, Verdana, Arial, Helvetica, sans-serif;
+ font-size:10px;
+}
+
diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/default.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/default.css
index 591451723..6ab13789d 100644
--- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/default.css
+++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/default.css
@@ -1,155 +1,155 @@
-.overlay_dialog {
- background-color: #666666;
- filter:alpha(opacity=60);
- -moz-opacity: 0.6;
- opacity: 0.6;
-}
-
-.overlay___invisible__ {
- background-color: #666666;
- filter:alpha(opacity=0);
- -moz-opacity: 0;
- opacity: 0;
-}
-
-.dialog_nw {
- width: 9px;
- height: 23px;
- background: transparent url(default/top_left.gif) no-repeat 0 0;
-}
-
-.dialog_n {
- background: transparent url(default/top_mid.gif) repeat-x 0 0;
- height: 23px;
-}
-
-.dialog_ne {
- width: 9px;
- height: 23px;
- background: transparent url(default/top_right.gif) no-repeat 0 0;
-}
-
-.dialog_e {
- width: 2px;
- background: transparent url(default/center_right.gif) repeat-y 0 0;
-}
-
-.dialog_w {
- width: 2px;
- background: transparent url(default/center_left.gif) repeat-y 0 0;
-}
-
-.dialog_sw {
- width: 9px;
- height: 19px;
- background: transparent url(default/bottom_left.gif) no-repeat 0 0;
-}
-
-.dialog_s {
- background: transparent url(default/bottom_mid.gif) repeat-x 0 0;
- height: 19px;
-}
-
-.dialog_se {
- width: 9px;
- height: 19px;
- background: transparent url(default/bottom_right.gif) no-repeat 0 0;
-}
-
-.dialog_sizer {
- width: 9px;
- height: 19px;
- background: transparent url(default/sizer.gif) no-repeat 0 0;
- cursor:se-resize;
-}
-
-.dialog_close {
- width: 14px;
- height: 14px;
- background: transparent url(default/close.gif) no-repeat 0 0;
- position:absolute;
- top:5px;
- left:8px;
- cursor:pointer;
- z-index:2000;
-}
-
-.dialog_minimize {
- width: 14px;
- height: 15px;
- background: transparent url(default/minimize.gif) no-repeat 0 0;
- position:absolute;
- top:5px;
- left:28px;
- cursor:pointer;
- z-index:2000;
-}
-
-.dialog_maximize {
- width: 14px;
- height: 15px;
- background: transparent url(default/maximize.gif) no-repeat 0 0;
- position:absolute;
- top:5px;
- left:49px;
- cursor:pointer;
- z-index:2000;
-}
-
-.dialog_title {
- float:left;
- height:14px;
- font-family: Tahoma, Arial, sans-serif;
- font-size:12px;
- text-align:center;
- width:100%;
- color:#000;
-}
-
-.dialog_content {
- overflow:auto;
- color: #DDD;
- font-family: Tahoma, Arial, sans-serif;
- font-size: 10px;
- background-color:#123;
-}
-
-.top_draggable, .bottom_draggable {
- cursor:move;
-}
-
-.status_bar {
- font-size:12px;
-}
-.status_bar input{
- font-size:12px;
-}
-
-.wired_frame {
- display: block;
- position: absolute;
- border: 1px #000 dashed;
-}
-
-/* DO NOT CHANGE THESE VALUES*/
-.dialog {
- display: block;
- position: absolute;
-}
-
-.dialog table.table_window {
- border-collapse: collapse;
- border-spacing: 0;
- width: 100%;
- margin: 0px;
- padding:0px;
-}
-
-.dialog table.table_window td , .dialog table.table_window th {
- padding: 0;
-}
-
-.dialog .title_window {
- -moz-user-select:none;
-}
-
+.overlay_dialog {
+ background-color: #666666;
+ filter:alpha(opacity=60);
+ -moz-opacity: 0.6;
+ opacity: 0.6;
+}
+
+.overlay___invisible__ {
+ background-color: #666666;
+ filter:alpha(opacity=0);
+ -moz-opacity: 0;
+ opacity: 0;
+}
+
+.dialog_nw {
+ width: 9px;
+ height: 23px;
+ background: transparent url(default/top_left.gif) no-repeat 0 0;
+}
+
+.dialog_n {
+ background: transparent url(default/top_mid.gif) repeat-x 0 0;
+ height: 23px;
+}
+
+.dialog_ne {
+ width: 9px;
+ height: 23px;
+ background: transparent url(default/top_right.gif) no-repeat 0 0;
+}
+
+.dialog_e {
+ width: 2px;
+ background: transparent url(default/center_right.gif) repeat-y 0 0;
+}
+
+.dialog_w {
+ width: 2px;
+ background: transparent url(default/center_left.gif) repeat-y 0 0;
+}
+
+.dialog_sw {
+ width: 9px;
+ height: 19px;
+ background: transparent url(default/bottom_left.gif) no-repeat 0 0;
+}
+
+.dialog_s {
+ background: transparent url(default/bottom_mid.gif) repeat-x 0 0;
+ height: 19px;
+}
+
+.dialog_se {
+ width: 9px;
+ height: 19px;
+ background: transparent url(default/bottom_right.gif) no-repeat 0 0;
+}
+
+.dialog_sizer {
+ width: 9px;
+ height: 19px;
+ background: transparent url(default/sizer.gif) no-repeat 0 0;
+ cursor:se-resize;
+}
+
+.dialog_close {
+ width: 14px;
+ height: 14px;
+ background: transparent url(default/close.gif) no-repeat 0 0;
+ position:absolute;
+ top:5px;
+ left:8px;
+ cursor:pointer;
+ z-index:2000;
+}
+
+.dialog_minimize {
+ width: 14px;
+ height: 15px;
+ background: transparent url(default/minimize.gif) no-repeat 0 0;
+ position:absolute;
+ top:5px;
+ left:28px;
+ cursor:pointer;
+ z-index:2000;
+}
+
+.dialog_maximize {
+ width: 14px;
+ height: 15px;
+ background: transparent url(default/maximize.gif) no-repeat 0 0;
+ position:absolute;
+ top:5px;
+ left:49px;
+ cursor:pointer;
+ z-index:2000;
+}
+
+.dialog_title {
+ float:left;
+ height:14px;
+ font-family: Tahoma, Arial, sans-serif;
+ font-size:12px;
+ text-align:center;
+ width:100%;
+ color:#000;
+}
+
+.dialog_content {
+ overflow:auto;
+ color: #DDD;
+ font-family: Tahoma, Arial, sans-serif;
+ font-size: 10px;
+ background-color:#123;
+}
+
+.top_draggable, .bottom_draggable {
+ cursor:move;
+}
+
+.status_bar {
+ font-size:12px;
+}
+.status_bar input{
+ font-size:12px;
+}
+
+.wired_frame {
+ display: block;
+ position: absolute;
+ border: 1px #000 dashed;
+}
+
+/* DO NOT CHANGE THESE VALUES*/
+.dialog {
+ display: block;
+ position: absolute;
+}
+
+.dialog table.table_window {
+ border-collapse: collapse;
+ border-spacing: 0;
+ width: 100%;
+ margin: 0px;
+ padding:0px;
+}
+
+.dialog table.table_window td , .dialog table.table_window th {
+ padding: 0;
+}
+
+.dialog .title_window {
+ -moz-user-select:none;
+}
+
diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.css
index 249388be5..257a1b1e3 100644
--- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.css
+++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.css
@@ -1,3 +1,3 @@
-/* PNG fix for all themes that uses PNG images on IE */
-td, div { behavior: url(../themes/iefix/iepngfix.htc) }
-
+/* PNG fix for all themes that uses PNG images on IE */
+td, div { behavior: url(../themes/iefix/iepngfix.htc) }
+
diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.htc b/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.htc
index 9a13f32bf..a6c683b9f 100644
--- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.htc
+++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.htc
@@ -1,54 +1,54 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting.css
index 0d955c3d7..95ec287a9 100644
--- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting.css
+++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting.css
@@ -1,960 +1,960 @@
-.overlay___invisible__ {
- background-color: #666;
- filter:alpha(opacity=0);
- -moz-opacity: 0;
- opacity: 0;
-}
-
-.top_draggable, .bottom_draggable {
- cursor:move;
-}
-
-.status_bar {
- font-size:12px;
-}
-.status_bar input{
- font-size:12px;
-}
-
-.wired_frame {
- display:block;
- position:absolute;
- border:1px #000 dashed;
-}
-
-
-
-.overlay_bluelighting {
- background-color:#FFF;
- filter:alpha(opacity=60);
- -moz-opacity:0.6;
- opacity:0.6;
-}
-
-.bluelighting_wired_frame {
- background:#FFF;
- filter:alpha(opacity=60);
- -moz-opacity:0.6;
- opacity:0.6;
-}
-
-.bluelighting_nw {
- background:transparent url(lighting/top-left-blue.png) no-repeat 0 0;
- width:9px;
- height:28px;
-}
-
-.bluelighting_n {
- background:transparent url(lighting/top-middle-blue.png) repeat-x 0 0;
- height:28px;
-}
-
-.bluelighting_ne {
- background:transparent url(lighting/top-right-blue.png) no-repeat 0 0;
- width:15px;
- height:28px;
-}
-
-.bluelighting_w {
- background:transparent url(lighting/left-blue.png) repeat-y top left;
- width:9px;
-}
-
-.bluelighting_e {
- background:transparent url(lighting/right-blue.png) repeat-y top right;
- width:15px;
-}
-
-.bluelighting_sw {
- background:transparent url(lighting/bottom-left-blue.png) no-repeat 0 0;
- width:9px;
- height:15px;
-}
-
-.bluelighting_s {
- background:transparent url(lighting/bottom-middle-blue.png) repeat-x 0 0;
- height:15px;
-}
-
-.bluelighting_se, .bluelighting_sizer {
- background:transparent url(lighting/bottom-right-blue.png) no-repeat 0 0;
- width:15px;
- height:15px;
-}
-
-.bluelighting_sizer {
- cursor:se-resize;
-}
-
-.bluelighting_close {
- width:15px;
- height:9px;
- background:transparent url(lighting/button-close-blue.png) no-repeat 0 0;
- position:absolute;
- top:11px;
- right:10px;
- cursor:pointer;
- z-index:1000;
-}
-
-.bluelighting_maximize {
- width:15px;
- height:9px;
- background:transparent url(lighting/button-maximize-blue.png) no-repeat 0 0;
- position:absolute;
- top:11px;
- right:25px;
- cursor:pointer;
- z-index:1000;
-}
-
-.bluelighting_minimize {
- width:15px;
- height:9px;
- background:transparent url(lighting/button-minimize-blue.png) no-repeat 0 0;
- position:absolute;
- top:11px;
- right:40px;
- cursor:pointer;
- z-index:1000;
-}
-
-.bluelighting_title {
- float:left;
- height:14px;
- font-size:14px;
- font-weight:bold;
- font-family:Verdana, Arial, sans-serif;
- text-align:center;
- margin-top:2px;
- width:100%;
- color:#17385B;
-}
-
-.bluelighting_content {
- overflow:auto;
- color:#000;
- font-family:Verdana, Arial, sans-serif;
- font-size:12px;
- background:#BFDBFF;
-}
-
-/* For alert/confirm dialog */
-.bluelighting_window {
- border:1px solid #F00;
- background:#FFF;
- padding:20px;
- margin-left:auto;
- margin-right:auto;
- width:400px;
-}
-
-.bluelighting_message {
- font-size:12px;
- text-align:center;
- width:100%;
- padding-bottom:10px;
-}
-
-.bluelighting_buttons {
- text-align:center;
- width:100%;
-}
-
-.bluelighting_buttons input {
- border:1px solid #999;
- border-top-color:#CCC;
- border-left-color:#CCC;
- padding:2px;
- background-color:#FFF;
- color:#333;
- background-image:url(lighting/background_buttons.gif);
- background-repeat:repeat-x;
- font-family:Verdana, Arial, sans-serif;
- font-size:10px;
- font-weight:bold;
- text-align:center;
-}
-
-.bluelighting_progress {
- float:left;
- margin:auto;
- text-align:center;
- width:100%;
- height:16px;
- background:transparent url('lighting/spinner.gif') no-repeat center center
-}
-
-/* FOR IE */
-* html .bluelighting_nw {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-blue.png", sizingMethod="crop");
-}
-
-* html .bluelighting_n {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-blue.png", sizingMethod="scale");
-}
-
-* html .bluelighting_ne {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-blue.png", sizingMethod="crop");
-}
-
-* html .bluelighting_w {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-blue.png", sizingMethod="scale");
-}
-
-* html .bluelighting_e {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-blue.png", sizingMethod="scale");
-}
-
-* html .bluelighting_sw {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-blue.png", sizingMethod="crop");
-}
-
-* html .bluelighting_s {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-blue.png", sizingMethod="scale");
-}
-
-* html .bluelighting_se, * html .bluelighting_sizer {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-blue.png", sizingMethod="crop");
-}
-
-* html .bluelighting_close {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-blue.png", sizingMethod="crop");
-}
-
-* html .bluelighting_minimize {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-blue.png", sizingMethod="crop");
-}
-
-* html .bluelighting_maximize {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-blue.png", sizingMethod="crop");
-}
-
-* html .bluelighting_content {
- background:#B8D7FF;
-}
-
-
-
-.overlay_greylighting {
- background-color:#FFF;
- filter:alpha(opacity=60);
- -moz-opacity:0.6;
- opacity:0.6;
-}
-
-.greylighting_wired_frame {
- background:#FFF;
- filter:alpha(opacity=60);
- -moz-opacity:0.6;
- opacity:0.6;
-}
-
-.greylighting_nw {
- background:transparent url(lighting/top-left-grey.png) no-repeat 0 0;
- width:9px;
- height:28px;
-}
-
-.greylighting_n {
- background:transparent url(lighting/top-middle-grey.png) repeat-x 0 0;
- height:28px;
-}
-
-.greylighting_ne {
- background:transparent url(lighting/top-right-grey.png) no-repeat 0 0;
- width:15px;
- height:28px;
-}
-
-.greylighting_w {
- background:transparent url(lighting/left-grey.png) repeat-y top left;
- width:9px;
-}
-
-.greylighting_e {
- background:transparent url(lighting/right-grey.png) repeat-y top right;
- width:15px;
-}
-
-.greylighting_sw {
- background:transparent url(lighting/bottom-left-grey.png) no-repeat 0 0;
- width:9px;
- height:15px;
-}
-
-.greylighting_s {
- background:transparent url(lighting/bottom-middle-grey.png) repeat-x 0 0;
- height:15px;
-}
-
-.greylighting_se, .greylighting_sizer {
- background:transparent url(lighting/bottom-right-grey.png) no-repeat 0 0;
- width:15px;
- height:15px;
-}
-
-.greylighting_sizer {
- cursor:se-resize;
-}
-
-.greylighting_close {
- width:15px;
- height:9px;
- background:transparent url(lighting/button-close-grey.png) no-repeat 0 0;
- position:absolute;
- top:11px;
- right:10px;
- cursor:pointer;
- z-index:1000;
-}
-
-.greylighting_maximize {
- width:15px;
- height:9px;
- background:transparent url(lighting/button-maximize-grey.png) no-repeat 0 0;
- position:absolute;
- top:11px;
- right:25px;
- cursor:pointer;
- z-index:1000;
-}
-
-.greylighting_minimize {
- width:15px;
- height:9px;
- background:transparent url(lighting/button-minimize-grey.png) no-repeat 0 0;
- position:absolute;
- top:11px;
- right:40px;
- cursor:pointer;
- z-index:1000;
-}
-
-.greylighting_title {
- float:left;
- height:14px;
- font-size:14px;
- font-weight:bold;
- font-family:Verdana, Arial, sans-serif;
- text-align:center;
- margin-top:2px;
- width:100%;
- color:#525252;
-}
-
-.greylighting_content {
- overflow:auto;
- color:#000;
- font-family:Verdana, Arial, sans-serif;
- font-size:12px;
- background:#CDCDCD;
-}
-
-/* For alert/confirm dialog */
-.greylighting_window {
- border:1px solid #F00;
- background:#FFF;
- padding:20px;
- margin-left:auto;
- margin-right:auto;
- width:400px;
-}
-
-.greylighting_message {
- font-size:12px;
- text-align:center;
- width:100%;
- padding-bottom:10px;
-}
-
-.greylighting_buttons {
- text-align:center;
- width:100%;
-}
-
-.greylighting_buttons input {
- border:1px solid #999;
- border-top-color:#CCC;
- border-left-color:#CCC;
- padding:2px;
- background-color:#FFF;
- color:#333;
- background-image:url(lighting/background_buttons.gif);
- background-repeat:repeat-x;
- font-family:Verdana, Arial, sans-serif;
- font-size:10px;
- font-weight:bold;
- text-align:center;
-}
-
-.greylighting_progress {
- float:left;
- margin:auto;
- text-align:center;
- width:100%;
- height:16px;
- background:transparent url('lighting/spinner.gif') no-repeat center center
-}
-
-/* FOR IE */
-* html .greylighting_nw {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-grey.png", sizingMethod="crop");
-}
-
-* html .greylighting_n {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-grey.png", sizingMethod="scale");
-}
-
-* html .greylighting_ne {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-grey.png", sizingMethod="crop");
-}
-
-* html .greylighting_w {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-grey.png", sizingMethod="scale");
-}
-
-* html .greylighting_e {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-grey.png", sizingMethod="scale");
-}
-
-* html .greylighting_sw {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-grey.png", sizingMethod="crop");
-}
-
-* html .greylighting_s {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-grey.png", sizingMethod="scale");
-}
-
-* html greylighting_se, * html .greylighting_sizer {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-grey.png", sizingMethod="crop");
-}
-
-* html .greylighting_close {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-grey.png", sizingMethod="crop");
-}
-
-* html .greylighting_minimize {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-grey.png", sizingMethod="crop");
-}
-
-* html .greylighting_maximize {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-grey.png", sizingMethod="crop");
-}
-
-* html .greylighting_content {
- background:#C7C7C7;
-}
-
-
-
-.overlay_greenlighting {
- background-color:#FFF;
- filter:alpha(opacity=60);
- -moz-opacity:0.6;
- opacity:0.6;
-}
-
-.greenlighting_wired_frame {
- background:#FFF;
- filter:alpha(opacity=60);
- -moz-opacity:0.6;
- opacity:0.6;
-}
-
-.greenlighting_nw {
- background:transparent url(lighting/top-left-green.png) no-repeat 0 0;
- width:9px;
- height:28px;
-}
-
-.greenlighting_n {
- background:transparent url(lighting/top-middle-green.png) repeat-x 0 0;
- height:28px;
-}
-
-.greenlighting_ne {
- background:transparent url(lighting/top-right-green.png) no-repeat 0 0;
- width:15px;
- height:28px;
-}
-
-.greenlighting_w {
- background:transparent url(lighting/left-green.png) repeat-y top left;
- width:9px;
-}
-
-.greenlighting_e {
- background:transparent url(lighting/right-green.png) repeat-y top right;
- width:15px;
-}
-
-.greenlighting_sw {
- background:transparent url(lighting/bottom-left-green.png) no-repeat 0 0;
- width:9px;
- height:15px;
-}
-
-.greenlighting_s {
- background:transparent url(lighting/bottom-middle-green.png) repeat-x 0 0;
- height:15px;
-}
-
-.greenlighting_se, .greenlighting_sizer {
- background:transparent url(lighting/bottom-right-green.png) no-repeat 0 0;
- width:15px;
- height:15px;
-}
-
-.greenlighting_sizer {
- cursor:se-resize;
-}
-
-.greenlighting_close {
- width:15px;
- height:9px;
- background:transparent url(lighting/button-close-green.png) no-repeat 0 0;
- position:absolute;
- top:11px;
- right:10px;
- cursor:pointer;
- z-index:1000;
-}
-
-.greenlighting_maximize {
- width:15px;
- height:9px;
- background:transparent url(lighting/button-maximize-green.png) no-repeat 0 0;
- position:absolute;
- top:11px;
- right:25px;
- cursor:pointer;
- z-index:1000;
-}
-
-.greenlighting_minimize {
- width:15px;
- height:9px;
- background:transparent url(lighting/button-minimize-green.png) no-repeat 0 0;
- position:absolute;
- top:11px;
- right:40px;
- cursor:pointer;
- z-index:1000;
-}
-
-.greenlighting_title {
- float:left;
- height:14px;
- font-size:14px;
- font-weight:bold;
- font-family:Verdana, Arial, sans-serif;
- text-align:center;
- margin-top:2px;
- width:100%;
- color:#2A6002;
-}
-
-.greenlighting_content {
- overflow:auto;
- color:#000;
- font-family:Verdana, Arial, sans-serif;
- font-size:12px;
- background:#ACFCAF;
-}
-
-/* For alert/confirm dialog */
-.greenlighting_window {
- border:1px solid #F00;
- background:#FFF;
- padding:20px;
- margin-left:auto;
- margin-right:auto;
- width:400px;
-}
-
-.greenlighting_message {
- font-size:12px;
- text-align:center;
- width:100%;
- padding-bottom:10px;
-}
-
-.greenlighting_buttons {
- text-align:center;
- width:100%;
-}
-
-.greenlighting_buttons input {
- border:1px solid #999;
- border-top-color:#CCC;
- border-left-color:#CCC;
- padding:2px;
- background-color:#FFF;
- color:#333;
- background-image:url(lighting/background_buttons.gif);
- background-repeat:repeat-x;
- font-family:Verdana, Arial, sans-serif;
- font-size:10px;
- font-weight:bold;
- text-align:center;
-}
-
-.greenlighting_progress {
- float:left;
- margin:auto;
- text-align:center;
- width:100%;
- height:16px;
- background:transparent url('lighting/spinner.gif') no-repeat center center
-}
-
-/* FOR IE */
-* html .greenlighting_nw {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-green.png", sizingMethod="crop");
-}
-
-* html .greenlighting_n {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-green.png", sizingMethod="scale");
-}
-
-* html .greenlighting_ne {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-green.png", sizingMethod="crop");
-}
-
-* html .greenlighting_w {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-green.png", sizingMethod="scale");
-}
-
-* html .greenlighting_e {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-green.png", sizingMethod="scale");
-}
-
-* html .greenlighting_sw {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-green.png", sizingMethod="crop");
-}
-
-* html .greenlighting_s {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-green.png", sizingMethod="scale");
-}
-
-* html greenlighting_se, * html .greenlighting_sizer {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-green.png", sizingMethod="crop");
-}
-
-* html .greenlighting_close {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-green.png", sizingMethod="crop");
-}
-
-* html .greenlighting_minimize {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-green.png", sizingMethod="crop");
-}
-
-* html .greenlighting_maximize {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-green.png", sizingMethod="crop");
-}
-
-* html .greenlighting_content {
- background:#A4FCA7;
-}
-
-
-
-.overlay_darkbluelighting {
- background-color:#FFF;
- filter:alpha(opacity=60);
- -moz-opacity:0.6;
- opacity:0.6;
-}
-
-.darkbluelighting_wired_frame {
- background:#FFF;
- filter:alpha(opacity=60);
- -moz-opacity:0.6;
- opacity:0.6;
-}
-
-.darkbluelighting_nw {
- background:transparent url(lighting/top-left-darkblue.png) no-repeat 0 0;
- width:9px;
- height:28px;
-}
-
-.darkbluelighting_n {
- background:transparent url(lighting/top-middle-darkblue.png) repeat-x 0 0;
- height:28px;
-}
-
-.darkbluelighting_ne {
- background:transparent url(lighting/top-right-darkblue.png) no-repeat 0 0;
- width:15px;
- height:28px;
-}
-
-.darkbluelighting_w {
- background:transparent url(lighting/left-darkblue.png) repeat-y top left;
- width:9px;
-}
-
-.darkbluelighting_e {
- background:transparent url(lighting/right-darkblue.png) repeat-y top right;
- width:15px;
-}
-
-.darkbluelighting_sw {
- background:transparent url(lighting/bottom-left-darkblue.png) no-repeat 0 0;
- width:9px;
- height:15px;
-}
-
-.darkbluelighting_s {
- background:transparent url(lighting/bottom-middle-darkblue.png) repeat-x 0 0;
- height:15px;
-}
-
-.darkbluelighting_se, .darkbluelighting_sizer {
- background:transparent url(lighting/bottom-right-darkblue.png) no-repeat 0 0;
- width:15px;
- height:15px;
-}
-
-.darkbluelighting_sizer {
- cursor:se-resize;
-}
-
-.darkbluelighting_close {
- width:15px;
- height:9px;
- background:transparent url(lighting/button-close-darkblue.png) no-repeat 0 0;
- position:absolute;
- top:11px;
- right:10px;
- cursor:pointer;
- z-index:1000;
-}
-
-.darkbluelighting_maximize {
- width:15px;
- height:9px;
- background:transparent url(lighting/button-maximize-darkblue.png) no-repeat 0 0;
- position:absolute;
- top:11px;
- right:25px;
- cursor:pointer;
- z-index:1000;
-}
-
-.darkbluelighting_minimize {
- width:15px;
- height:9px;
- background:transparent url(lighting/button-minimize-darkblue.png) no-repeat 0 0;
- position:absolute;
- top:11px;
- right:40px;
- cursor:pointer;
- z-index:1000;
-}
-
-.darkbluelighting_title {
- float:left;
- height:14px;
- font-size:14px;
- font-weight:bold;
- font-family:Verdana, Arial, sans-serif;
- text-align:center;
- margin-top:2px;
- width:100%;
- color:#E4EFFD;
-}
-
-.darkbluelighting_content {
- overflow:auto;
- color:#FFF;
- font-family:Verdana, Arial, sans-serif;
- font-size:12px;
- background:#0413C0;
-}
-
-/* For alert/confirm dialog */
-.darkbluelighting_window {
- border:1px solid #F00;
- background:#FFF;
- padding:20px;
- margin-left:auto;
- margin-right:auto;
- width:400px;
-}
-
-.darkbluelighting_message {
- font-size:12px;
- text-align:center;
- width:100%;
- padding-bottom:10px;
-}
-
-.darkbluelighting_buttons {
- text-align:center;
- width:100%;
-}
-
-.darkbluelighting_buttons input {
- border:1px solid #999;
- border-top-color:#CCC;
- border-left-color:#CCC;
- padding:2px;
- background-color:#FFF;
- color:#333;
- background-image:url(lighting/background_buttons.gif);
- background-repeat:repeat-x;
- font-family:Verdana, Arial, sans-serif;
- font-size:10px;
- font-weight:bold;
- text-align:center;
-}
-
-.darkbluelighting_progress {
- float:left;
- margin:auto;
- text-align:center;
- width:100%;
- height:16px;
- background:transparent url('lighting/spinner.gif') no-repeat center center
-}
-
-/* FOR IE */
-* html .darkbluelighting_nw {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-darkblue.png", sizingMethod="crop");
-}
-
-* html .darkbluelighting_n {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-darkblue.png", sizingMethod="scale");
-}
-
-* html .darkbluelighting_ne {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-darkblue.png", sizingMethod="crop");
-}
-
-* html .darkbluelighting_w {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-darkblue.png", sizingMethod="scale");
-}
-
-* html .darkbluelighting_e {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-darkblue.png", sizingMethod="scale");
-}
-
-* html .darkbluelighting_sw {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-darkblue.png", sizingMethod="crop");
-}
-
-* html .darkbluelighting_s {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-darkblue.png", sizingMethod="scale");
-}
-
-* html darkbluelighting_se, * html .darkbluelighting_sizer {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-darkblue.png", sizingMethod="crop");
-}
-
-* html .darkbluelighting_close {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-darkblue.png", sizingMethod="crop");
-}
-
-* html .darkbluelighting_minimize {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-darkblue.png", sizingMethod="crop");
-}
-
-* html .darkbluelighting_maximize {
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-darkblue.png", sizingMethod="crop");
-}
-
-* html .darkbluelighting_content {
- background:#020EBA;
-}
-
+.overlay___invisible__ {
+ background-color: #666;
+ filter:alpha(opacity=0);
+ -moz-opacity: 0;
+ opacity: 0;
+}
+
+.top_draggable, .bottom_draggable {
+ cursor:move;
+}
+
+.status_bar {
+ font-size:12px;
+}
+.status_bar input{
+ font-size:12px;
+}
+
+.wired_frame {
+ display:block;
+ position:absolute;
+ border:1px #000 dashed;
+}
+
+
+
+.overlay_bluelighting {
+ background-color:#FFF;
+ filter:alpha(opacity=60);
+ -moz-opacity:0.6;
+ opacity:0.6;
+}
+
+.bluelighting_wired_frame {
+ background:#FFF;
+ filter:alpha(opacity=60);
+ -moz-opacity:0.6;
+ opacity:0.6;
+}
+
+.bluelighting_nw {
+ background:transparent url(lighting/top-left-blue.png) no-repeat 0 0;
+ width:9px;
+ height:28px;
+}
+
+.bluelighting_n {
+ background:transparent url(lighting/top-middle-blue.png) repeat-x 0 0;
+ height:28px;
+}
+
+.bluelighting_ne {
+ background:transparent url(lighting/top-right-blue.png) no-repeat 0 0;
+ width:15px;
+ height:28px;
+}
+
+.bluelighting_w {
+ background:transparent url(lighting/left-blue.png) repeat-y top left;
+ width:9px;
+}
+
+.bluelighting_e {
+ background:transparent url(lighting/right-blue.png) repeat-y top right;
+ width:15px;
+}
+
+.bluelighting_sw {
+ background:transparent url(lighting/bottom-left-blue.png) no-repeat 0 0;
+ width:9px;
+ height:15px;
+}
+
+.bluelighting_s {
+ background:transparent url(lighting/bottom-middle-blue.png) repeat-x 0 0;
+ height:15px;
+}
+
+.bluelighting_se, .bluelighting_sizer {
+ background:transparent url(lighting/bottom-right-blue.png) no-repeat 0 0;
+ width:15px;
+ height:15px;
+}
+
+.bluelighting_sizer {
+ cursor:se-resize;
+}
+
+.bluelighting_close {
+ width:15px;
+ height:9px;
+ background:transparent url(lighting/button-close-blue.png) no-repeat 0 0;
+ position:absolute;
+ top:11px;
+ right:10px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+.bluelighting_maximize {
+ width:15px;
+ height:9px;
+ background:transparent url(lighting/button-maximize-blue.png) no-repeat 0 0;
+ position:absolute;
+ top:11px;
+ right:25px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+.bluelighting_minimize {
+ width:15px;
+ height:9px;
+ background:transparent url(lighting/button-minimize-blue.png) no-repeat 0 0;
+ position:absolute;
+ top:11px;
+ right:40px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+.bluelighting_title {
+ float:left;
+ height:14px;
+ font-size:14px;
+ font-weight:bold;
+ font-family:Verdana, Arial, sans-serif;
+ text-align:center;
+ margin-top:2px;
+ width:100%;
+ color:#17385B;
+}
+
+.bluelighting_content {
+ overflow:auto;
+ color:#000;
+ font-family:Verdana, Arial, sans-serif;
+ font-size:12px;
+ background:#BFDBFF;
+}
+
+/* For alert/confirm dialog */
+.bluelighting_window {
+ border:1px solid #F00;
+ background:#FFF;
+ padding:20px;
+ margin-left:auto;
+ margin-right:auto;
+ width:400px;
+}
+
+.bluelighting_message {
+ font-size:12px;
+ text-align:center;
+ width:100%;
+ padding-bottom:10px;
+}
+
+.bluelighting_buttons {
+ text-align:center;
+ width:100%;
+}
+
+.bluelighting_buttons input {
+ border:1px solid #999;
+ border-top-color:#CCC;
+ border-left-color:#CCC;
+ padding:2px;
+ background-color:#FFF;
+ color:#333;
+ background-image:url(lighting/background_buttons.gif);
+ background-repeat:repeat-x;
+ font-family:Verdana, Arial, sans-serif;
+ font-size:10px;
+ font-weight:bold;
+ text-align:center;
+}
+
+.bluelighting_progress {
+ float:left;
+ margin:auto;
+ text-align:center;
+ width:100%;
+ height:16px;
+ background:transparent url('lighting/spinner.gif') no-repeat center center
+}
+
+/* FOR IE */
+* html .bluelighting_nw {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-blue.png", sizingMethod="crop");
+}
+
+* html .bluelighting_n {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-blue.png", sizingMethod="scale");
+}
+
+* html .bluelighting_ne {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-blue.png", sizingMethod="crop");
+}
+
+* html .bluelighting_w {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-blue.png", sizingMethod="scale");
+}
+
+* html .bluelighting_e {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-blue.png", sizingMethod="scale");
+}
+
+* html .bluelighting_sw {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-blue.png", sizingMethod="crop");
+}
+
+* html .bluelighting_s {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-blue.png", sizingMethod="scale");
+}
+
+* html .bluelighting_se, * html .bluelighting_sizer {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-blue.png", sizingMethod="crop");
+}
+
+* html .bluelighting_close {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-blue.png", sizingMethod="crop");
+}
+
+* html .bluelighting_minimize {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-blue.png", sizingMethod="crop");
+}
+
+* html .bluelighting_maximize {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-blue.png", sizingMethod="crop");
+}
+
+* html .bluelighting_content {
+ background:#B8D7FF;
+}
+
+
+
+.overlay_greylighting {
+ background-color:#FFF;
+ filter:alpha(opacity=60);
+ -moz-opacity:0.6;
+ opacity:0.6;
+}
+
+.greylighting_wired_frame {
+ background:#FFF;
+ filter:alpha(opacity=60);
+ -moz-opacity:0.6;
+ opacity:0.6;
+}
+
+.greylighting_nw {
+ background:transparent url(lighting/top-left-grey.png) no-repeat 0 0;
+ width:9px;
+ height:28px;
+}
+
+.greylighting_n {
+ background:transparent url(lighting/top-middle-grey.png) repeat-x 0 0;
+ height:28px;
+}
+
+.greylighting_ne {
+ background:transparent url(lighting/top-right-grey.png) no-repeat 0 0;
+ width:15px;
+ height:28px;
+}
+
+.greylighting_w {
+ background:transparent url(lighting/left-grey.png) repeat-y top left;
+ width:9px;
+}
+
+.greylighting_e {
+ background:transparent url(lighting/right-grey.png) repeat-y top right;
+ width:15px;
+}
+
+.greylighting_sw {
+ background:transparent url(lighting/bottom-left-grey.png) no-repeat 0 0;
+ width:9px;
+ height:15px;
+}
+
+.greylighting_s {
+ background:transparent url(lighting/bottom-middle-grey.png) repeat-x 0 0;
+ height:15px;
+}
+
+.greylighting_se, .greylighting_sizer {
+ background:transparent url(lighting/bottom-right-grey.png) no-repeat 0 0;
+ width:15px;
+ height:15px;
+}
+
+.greylighting_sizer {
+ cursor:se-resize;
+}
+
+.greylighting_close {
+ width:15px;
+ height:9px;
+ background:transparent url(lighting/button-close-grey.png) no-repeat 0 0;
+ position:absolute;
+ top:11px;
+ right:10px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+.greylighting_maximize {
+ width:15px;
+ height:9px;
+ background:transparent url(lighting/button-maximize-grey.png) no-repeat 0 0;
+ position:absolute;
+ top:11px;
+ right:25px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+.greylighting_minimize {
+ width:15px;
+ height:9px;
+ background:transparent url(lighting/button-minimize-grey.png) no-repeat 0 0;
+ position:absolute;
+ top:11px;
+ right:40px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+.greylighting_title {
+ float:left;
+ height:14px;
+ font-size:14px;
+ font-weight:bold;
+ font-family:Verdana, Arial, sans-serif;
+ text-align:center;
+ margin-top:2px;
+ width:100%;
+ color:#525252;
+}
+
+.greylighting_content {
+ overflow:auto;
+ color:#000;
+ font-family:Verdana, Arial, sans-serif;
+ font-size:12px;
+ background:#CDCDCD;
+}
+
+/* For alert/confirm dialog */
+.greylighting_window {
+ border:1px solid #F00;
+ background:#FFF;
+ padding:20px;
+ margin-left:auto;
+ margin-right:auto;
+ width:400px;
+}
+
+.greylighting_message {
+ font-size:12px;
+ text-align:center;
+ width:100%;
+ padding-bottom:10px;
+}
+
+.greylighting_buttons {
+ text-align:center;
+ width:100%;
+}
+
+.greylighting_buttons input {
+ border:1px solid #999;
+ border-top-color:#CCC;
+ border-left-color:#CCC;
+ padding:2px;
+ background-color:#FFF;
+ color:#333;
+ background-image:url(lighting/background_buttons.gif);
+ background-repeat:repeat-x;
+ font-family:Verdana, Arial, sans-serif;
+ font-size:10px;
+ font-weight:bold;
+ text-align:center;
+}
+
+.greylighting_progress {
+ float:left;
+ margin:auto;
+ text-align:center;
+ width:100%;
+ height:16px;
+ background:transparent url('lighting/spinner.gif') no-repeat center center
+}
+
+/* FOR IE */
+* html .greylighting_nw {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-grey.png", sizingMethod="crop");
+}
+
+* html .greylighting_n {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-grey.png", sizingMethod="scale");
+}
+
+* html .greylighting_ne {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-grey.png", sizingMethod="crop");
+}
+
+* html .greylighting_w {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-grey.png", sizingMethod="scale");
+}
+
+* html .greylighting_e {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-grey.png", sizingMethod="scale");
+}
+
+* html .greylighting_sw {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-grey.png", sizingMethod="crop");
+}
+
+* html .greylighting_s {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-grey.png", sizingMethod="scale");
+}
+
+* html greylighting_se, * html .greylighting_sizer {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-grey.png", sizingMethod="crop");
+}
+
+* html .greylighting_close {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-grey.png", sizingMethod="crop");
+}
+
+* html .greylighting_minimize {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-grey.png", sizingMethod="crop");
+}
+
+* html .greylighting_maximize {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-grey.png", sizingMethod="crop");
+}
+
+* html .greylighting_content {
+ background:#C7C7C7;
+}
+
+
+
+.overlay_greenlighting {
+ background-color:#FFF;
+ filter:alpha(opacity=60);
+ -moz-opacity:0.6;
+ opacity:0.6;
+}
+
+.greenlighting_wired_frame {
+ background:#FFF;
+ filter:alpha(opacity=60);
+ -moz-opacity:0.6;
+ opacity:0.6;
+}
+
+.greenlighting_nw {
+ background:transparent url(lighting/top-left-green.png) no-repeat 0 0;
+ width:9px;
+ height:28px;
+}
+
+.greenlighting_n {
+ background:transparent url(lighting/top-middle-green.png) repeat-x 0 0;
+ height:28px;
+}
+
+.greenlighting_ne {
+ background:transparent url(lighting/top-right-green.png) no-repeat 0 0;
+ width:15px;
+ height:28px;
+}
+
+.greenlighting_w {
+ background:transparent url(lighting/left-green.png) repeat-y top left;
+ width:9px;
+}
+
+.greenlighting_e {
+ background:transparent url(lighting/right-green.png) repeat-y top right;
+ width:15px;
+}
+
+.greenlighting_sw {
+ background:transparent url(lighting/bottom-left-green.png) no-repeat 0 0;
+ width:9px;
+ height:15px;
+}
+
+.greenlighting_s {
+ background:transparent url(lighting/bottom-middle-green.png) repeat-x 0 0;
+ height:15px;
+}
+
+.greenlighting_se, .greenlighting_sizer {
+ background:transparent url(lighting/bottom-right-green.png) no-repeat 0 0;
+ width:15px;
+ height:15px;
+}
+
+.greenlighting_sizer {
+ cursor:se-resize;
+}
+
+.greenlighting_close {
+ width:15px;
+ height:9px;
+ background:transparent url(lighting/button-close-green.png) no-repeat 0 0;
+ position:absolute;
+ top:11px;
+ right:10px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+.greenlighting_maximize {
+ width:15px;
+ height:9px;
+ background:transparent url(lighting/button-maximize-green.png) no-repeat 0 0;
+ position:absolute;
+ top:11px;
+ right:25px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+.greenlighting_minimize {
+ width:15px;
+ height:9px;
+ background:transparent url(lighting/button-minimize-green.png) no-repeat 0 0;
+ position:absolute;
+ top:11px;
+ right:40px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+.greenlighting_title {
+ float:left;
+ height:14px;
+ font-size:14px;
+ font-weight:bold;
+ font-family:Verdana, Arial, sans-serif;
+ text-align:center;
+ margin-top:2px;
+ width:100%;
+ color:#2A6002;
+}
+
+.greenlighting_content {
+ overflow:auto;
+ color:#000;
+ font-family:Verdana, Arial, sans-serif;
+ font-size:12px;
+ background:#ACFCAF;
+}
+
+/* For alert/confirm dialog */
+.greenlighting_window {
+ border:1px solid #F00;
+ background:#FFF;
+ padding:20px;
+ margin-left:auto;
+ margin-right:auto;
+ width:400px;
+}
+
+.greenlighting_message {
+ font-size:12px;
+ text-align:center;
+ width:100%;
+ padding-bottom:10px;
+}
+
+.greenlighting_buttons {
+ text-align:center;
+ width:100%;
+}
+
+.greenlighting_buttons input {
+ border:1px solid #999;
+ border-top-color:#CCC;
+ border-left-color:#CCC;
+ padding:2px;
+ background-color:#FFF;
+ color:#333;
+ background-image:url(lighting/background_buttons.gif);
+ background-repeat:repeat-x;
+ font-family:Verdana, Arial, sans-serif;
+ font-size:10px;
+ font-weight:bold;
+ text-align:center;
+}
+
+.greenlighting_progress {
+ float:left;
+ margin:auto;
+ text-align:center;
+ width:100%;
+ height:16px;
+ background:transparent url('lighting/spinner.gif') no-repeat center center
+}
+
+/* FOR IE */
+* html .greenlighting_nw {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-green.png", sizingMethod="crop");
+}
+
+* html .greenlighting_n {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-green.png", sizingMethod="scale");
+}
+
+* html .greenlighting_ne {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-green.png", sizingMethod="crop");
+}
+
+* html .greenlighting_w {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-green.png", sizingMethod="scale");
+}
+
+* html .greenlighting_e {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-green.png", sizingMethod="scale");
+}
+
+* html .greenlighting_sw {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-green.png", sizingMethod="crop");
+}
+
+* html .greenlighting_s {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-green.png", sizingMethod="scale");
+}
+
+* html greenlighting_se, * html .greenlighting_sizer {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-green.png", sizingMethod="crop");
+}
+
+* html .greenlighting_close {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-green.png", sizingMethod="crop");
+}
+
+* html .greenlighting_minimize {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-green.png", sizingMethod="crop");
+}
+
+* html .greenlighting_maximize {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-green.png", sizingMethod="crop");
+}
+
+* html .greenlighting_content {
+ background:#A4FCA7;
+}
+
+
+
+.overlay_darkbluelighting {
+ background-color:#FFF;
+ filter:alpha(opacity=60);
+ -moz-opacity:0.6;
+ opacity:0.6;
+}
+
+.darkbluelighting_wired_frame {
+ background:#FFF;
+ filter:alpha(opacity=60);
+ -moz-opacity:0.6;
+ opacity:0.6;
+}
+
+.darkbluelighting_nw {
+ background:transparent url(lighting/top-left-darkblue.png) no-repeat 0 0;
+ width:9px;
+ height:28px;
+}
+
+.darkbluelighting_n {
+ background:transparent url(lighting/top-middle-darkblue.png) repeat-x 0 0;
+ height:28px;
+}
+
+.darkbluelighting_ne {
+ background:transparent url(lighting/top-right-darkblue.png) no-repeat 0 0;
+ width:15px;
+ height:28px;
+}
+
+.darkbluelighting_w {
+ background:transparent url(lighting/left-darkblue.png) repeat-y top left;
+ width:9px;
+}
+
+.darkbluelighting_e {
+ background:transparent url(lighting/right-darkblue.png) repeat-y top right;
+ width:15px;
+}
+
+.darkbluelighting_sw {
+ background:transparent url(lighting/bottom-left-darkblue.png) no-repeat 0 0;
+ width:9px;
+ height:15px;
+}
+
+.darkbluelighting_s {
+ background:transparent url(lighting/bottom-middle-darkblue.png) repeat-x 0 0;
+ height:15px;
+}
+
+.darkbluelighting_se, .darkbluelighting_sizer {
+ background:transparent url(lighting/bottom-right-darkblue.png) no-repeat 0 0;
+ width:15px;
+ height:15px;
+}
+
+.darkbluelighting_sizer {
+ cursor:se-resize;
+}
+
+.darkbluelighting_close {
+ width:15px;
+ height:9px;
+ background:transparent url(lighting/button-close-darkblue.png) no-repeat 0 0;
+ position:absolute;
+ top:11px;
+ right:10px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+.darkbluelighting_maximize {
+ width:15px;
+ height:9px;
+ background:transparent url(lighting/button-maximize-darkblue.png) no-repeat 0 0;
+ position:absolute;
+ top:11px;
+ right:25px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+.darkbluelighting_minimize {
+ width:15px;
+ height:9px;
+ background:transparent url(lighting/button-minimize-darkblue.png) no-repeat 0 0;
+ position:absolute;
+ top:11px;
+ right:40px;
+ cursor:pointer;
+ z-index:1000;
+}
+
+.darkbluelighting_title {
+ float:left;
+ height:14px;
+ font-size:14px;
+ font-weight:bold;
+ font-family:Verdana, Arial, sans-serif;
+ text-align:center;
+ margin-top:2px;
+ width:100%;
+ color:#E4EFFD;
+}
+
+.darkbluelighting_content {
+ overflow:auto;
+ color:#FFF;
+ font-family:Verdana, Arial, sans-serif;
+ font-size:12px;
+ background:#0413C0;
+}
+
+/* For alert/confirm dialog */
+.darkbluelighting_window {
+ border:1px solid #F00;
+ background:#FFF;
+ padding:20px;
+ margin-left:auto;
+ margin-right:auto;
+ width:400px;
+}
+
+.darkbluelighting_message {
+ font-size:12px;
+ text-align:center;
+ width:100%;
+ padding-bottom:10px;
+}
+
+.darkbluelighting_buttons {
+ text-align:center;
+ width:100%;
+}
+
+.darkbluelighting_buttons input {
+ border:1px solid #999;
+ border-top-color:#CCC;
+ border-left-color:#CCC;
+ padding:2px;
+ background-color:#FFF;
+ color:#333;
+ background-image:url(lighting/background_buttons.gif);
+ background-repeat:repeat-x;
+ font-family:Verdana, Arial, sans-serif;
+ font-size:10px;
+ font-weight:bold;
+ text-align:center;
+}
+
+.darkbluelighting_progress {
+ float:left;
+ margin:auto;
+ text-align:center;
+ width:100%;
+ height:16px;
+ background:transparent url('lighting/spinner.gif') no-repeat center center
+}
+
+/* FOR IE */
+* html .darkbluelighting_nw {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-darkblue.png", sizingMethod="crop");
+}
+
+* html .darkbluelighting_n {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-darkblue.png", sizingMethod="scale");
+}
+
+* html .darkbluelighting_ne {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-darkblue.png", sizingMethod="crop");
+}
+
+* html .darkbluelighting_w {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-darkblue.png", sizingMethod="scale");
+}
+
+* html .darkbluelighting_e {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-darkblue.png", sizingMethod="scale");
+}
+
+* html .darkbluelighting_sw {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-darkblue.png", sizingMethod="crop");
+}
+
+* html .darkbluelighting_s {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-darkblue.png", sizingMethod="scale");
+}
+
+* html darkbluelighting_se, * html .darkbluelighting_sizer {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-darkblue.png", sizingMethod="crop");
+}
+
+* html .darkbluelighting_close {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-darkblue.png", sizingMethod="crop");
+}
+
+* html .darkbluelighting_minimize {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-darkblue.png", sizingMethod="crop");
+}
+
+* html .darkbluelighting_maximize {
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-darkblue.png", sizingMethod="crop");
+}
+
+* html .darkbluelighting_content {
+ background:#020EBA;
+}
+
diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting/pngbehavior.htc b/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting/pngbehavior.htc
index 92248c665..36ea182e7 100644
--- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting/pngbehavior.htc
+++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting/pngbehavior.htc
@@ -1,67 +1,67 @@
-
-
-
-