diff --git a/Gemfile b/Gemfile index 2c1f05857..5045cb822 100644 --- a/Gemfile +++ b/Gemfile @@ -18,6 +18,7 @@ gem "builder", "3.0.0" gem 'acts-as-taggable-on', '2.4.1' gem 'spreadsheet' gem 'ruby-ole' +gem 'email_verifier' group :development do gem 'better_errors', path: 'lib/better_errors' @@ -51,10 +52,8 @@ group :development, :test do gem 'ruby-prof', '~> 0.15.1' unless RUBY_PLATFORM =~ /w32/ gem 'pry' gem 'pry-nav' - gem 'rspec-rails' , '2.13.1' gem 'guard-rspec','2.5.0' - end diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb index 6c95294d7..69c2d3002 100644 --- a/app/controllers/account_controller.rb +++ b/app/controllers/account_controller.rb @@ -345,7 +345,10 @@ class AccountController < ApplicationController if user.save and token.save UserStatus.create(:user_id => user.id, :changsets_count => 0, :watchers_count => 0) Mailer.register(token).deliver + + flash[:notice] = l(:notice_account_register_done) + render action: 'email_valid', locals: {:mail => user.mail} else yield if block_given? diff --git a/app/controllers/bids_controller.rb b/app/controllers/bids_controller.rb index ec2fb7d77..7e5894b83 100644 --- a/app/controllers/bids_controller.rb +++ b/app/controllers/bids_controller.rb @@ -9,6 +9,8 @@ class BidsController < ApplicationController menu_item :homework_statistics, :only => :homework_statistics menu_item :edit, :only => :edit + + before_filter :can_show_course,only: [] before_filter :can_show_contest,only: [] #Ended by young diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb index a862753ef..411de1dcf 100644 --- a/app/helpers/courses_helper.rb +++ b/app/helpers/courses_helper.rb @@ -561,12 +561,13 @@ module CoursesHelper def course_in_current_or_next_term course is_current_term = false is_next_term = false - if course.time == Time.now.year && course.term == cur_course_term + year_now = Time.now.month < 3 ? Time.now.year - 1:Time.now.year + if course.time == year_now && course.term == cur_course_term is_current_term = true end - if cur_course_term == "秋季学期" && course.time == (Time.now.year + 1) && course.term == "春季学期" + if cur_course_term == "秋季学期" && course.time == (year_now + 1) && course.term == "春季学期" is_next_term = true - elsif cur_course_term == "春季学期" && course.time == Time.now.year && course.term == "秋季学期" + elsif cur_course_term == "春季学期" && course.time == year_now && course.term == "秋季学期" is_next_term = true end is_current_term || is_next_term diff --git a/app/models/user.rb b/app/models/user.rb index 52619b038..bef65fe54 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -188,7 +188,7 @@ class User < Principal validates_confirmation_of :password, :allow_nil => true validates_inclusion_of :mail_notification, :in => MAIL_NOTIFICATION_OPTIONS.collect(&:first), :allow_blank => true validate :validate_password_length - + validates_email_realness_of :mail before_create :set_mail_notification before_save :update_hashed_password before_destroy :remove_references_before_destroy diff --git a/app/views/courses/_course_form.html.erb b/app/views/courses/_course_form.html.erb index c48d24935..d293f9ed1 100644 --- a/app/views/courses/_course_form.html.erb +++ b/app/views/courses/_course_form.html.erb @@ -127,9 +127,7 @@ <%= l(:label_new_course_description) %> - +
diff --git a/config/application.rb b/config/application.rb index d37a9eae2..716e3875d 100644 --- a/config/application.rb +++ b/config/application.rb @@ -16,6 +16,11 @@ module RedmineApp # Application configuration should go into files in config/initializers # -- all .rb files in that directory are automatically loaded. + # verifier if email is real + EmailVerifier.config do |config| + config.verifier_email = "lizanle521@126.com" + end + # Custom directories with classes and modules you want to be autoloadable. config.autoload_paths += %W(#{config.root}/lib) diff --git a/config/environments/development.rb b/config/environments/development.rb index 9d3cbf244..8bec9789c 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -13,7 +13,7 @@ RedmineApp::Application.configure do config.action_controller.perform_caching = false # Don't care if the mailer can't send - config.action_mailer.raise_delivery_errors = false + config.action_mailer.raise_delivery_errors = true config.active_support.deprecation = :log end diff --git a/config/locales/en.yml b/config/locales/en.yml index dd79a546c..d25ba6ae2 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -71,6 +71,14 @@ en: one: "almost 1 year" other: "almost %{count} years" + errors: + messages: + email_verifier: + email_not_real: must point to a real mail account + out_of_mail_server: appears to point to dead mail server + no_mail_server: appears to point to domain which doesn't handle e-mail + failure: could not be checked if is real + exception: could not be sent number: format: separator: "." @@ -130,6 +138,9 @@ en: circular_dependency: "This relation would create a circular dependency" cant_link_an_issue_with_a_descendant: "An issue cannot be linked to one of its subtasks" + + + actionview_instancetag_blank_option: Please select attachment_all: "All" diff --git a/config/locales/zh.yml b/config/locales/zh.yml index ac7c52fe2..bd6c6dc22 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -2,6 +2,10 @@ # Chinese (China) translations for Ruby on Rails # by tsechingho (http://github.com/tsechingho) zh: + + + + # Text direction: Left-to-Right (ltr) or Right-to-Left (rtl) direction: ltr jquery: @@ -30,6 +34,17 @@ zh: - :month - :day + + errors: + messages: + email_verifier: + email_not_real: 必须指定一个真实的邮箱地址 + out_of_mail_server: 指向了一个已停用的邮箱服务器 + no_mail_server: 域名地址没有邮件功能 + failure: 邮箱地址不能被验证 + exception: 邮箱不能发送成功 + + time: formats: default: "%Y年%b%d日 %A %H:%M:%S" @@ -138,6 +153,8 @@ zh: circular_dependency: "此关联将导致循环依赖" cant_link_an_issue_with_a_descendant: "问题不能关联到它的子任务" + + actionview_instancetag_blank_option: 请选择 attachment_all: "全部" @@ -748,7 +765,7 @@ zh: label_news_view_all: 查看所有新闻 label_news_added: 新闻已添加 label_settings: 配置 - label_overview: 项目动态 + label_overview: 近期动态 label_course_overview: "课程动态" label_question_student: 作业交流 #bai label_homework_commit: 提交作业 #huang @@ -2110,7 +2127,7 @@ zh: excel_homework_list: 作品列表 excel_been_rated: 已评 excel_not_rated: 未评 - label_export_excel: 导出Excel + label_export_excel: 导出列表 label_softapplication: 应用软件 label_attending_contest: 参加竞赛 diff --git a/public/stylesheets/course_group.css b/public/stylesheets/course_group.css index 71f870a9a..b6c7f4f8c 100644 --- a/public/stylesheets/course_group.css +++ b/public/stylesheets/course_group.css @@ -41,8 +41,9 @@ input.f_2 { .st_search{ margin:10px 0;} .st_search span{ font-size:14px; font-weight:bold; color:#606060; margin-right:35px;} .st_search input{ border:1px solid #1c9ec7; height:20px; width:200px;} - a:hover.xls{ background: url('../images/icon_excel.gif') no-repeat scroll 1px 50% transparent !important; - padding: 2px 0px 3px 16px; + a:hover.xls{ /*background: url('../images/icon_excel.gif') no-repeat scroll 1px 50% transparent !important;*/ + /*padding: 2px 0px 3px 16px;*/ + background:#ffffff !important; font-family:微软雅黑 !important; font-size: 12px !important; color: #136b3b !important;