From 7b9d88ecfeefd465be895efb398d961e6782be8b Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Tue, 20 Jan 2015 11:42:28 +0800 Subject: [PATCH 01/14] =?UTF-8?q?=E9=97=AE=E5=8D=B7=E8=B0=83=E6=9F=A5?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=87=8D=E6=96=B0=E5=8F=91=E5=B8=83=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/poll_controller.rb | 20 +++++++++++-- app/views/poll/_poll.html.erb | 43 ++++++++++++++++++++++++++++ app/views/poll/index.html.erb | 39 +------------------------ app/views/poll/republish_poll.js.erb | 1 + config/routes.rb | 1 + 5 files changed, 63 insertions(+), 41 deletions(-) create mode 100644 app/views/poll/_poll.html.erb create mode 100644 app/views/poll/republish_poll.js.erb diff --git a/app/controllers/poll_controller.rb b/app/controllers/poll_controller.rb index 739adfe1c..6890b8dd7 100644 --- a/app/controllers/poll_controller.rb +++ b/app/controllers/poll_controller.rb @@ -1,8 +1,8 @@ class PollController < ApplicationController - before_filter :find_poll_and_course, :only => [:edit,:update,:destroy,:show,:statistics_result,:create_poll_question,:commit_poll,:commit_answer,:publish_poll] + before_filter :find_poll_and_course, :only => [:edit,:update,:destroy,:show,:statistics_result,:create_poll_question,:commit_poll,:commit_answer,:publish_poll,:republish_poll] before_filter :find_container, :only => [:new,:create, :index] before_filter :is_member_of_course, :only => [:index,:show] - before_filter :is_course_teacher, :only => [:new,:create,:edit,:update,:destroy,:publish_poll] + before_filter :is_course_teacher, :only => [:new,:create,:edit,:update,:destroy,:publish_poll,:republish_poll] include PollHelper def index if @course @@ -311,6 +311,19 @@ class PollController < ApplicationController end end + #重新发布问卷 + def republish_poll + @poll.poll_questions.each do |poll_question| + poll_question.poll_votes.destroy_all + end + @poll.poll_users.destroy_all + @poll.polls_status = 1 + @poll.save + respond_to do |format| + format.js + end + end + private def find_poll_and_course @poll = Poll.find params[:id] @@ -337,7 +350,8 @@ class PollController < ApplicationController end def is_course_teacher - render_403 unless(@course && User.current.allowed_to?(:as_teacher,@course)) + @is_teacher = User.current.allowed_to?(:as_teacher,@course) + render_403 unless(@course && @is_teacher) end #获取未完成的题目 diff --git a/app/views/poll/_poll.html.erb b/app/views/poll/_poll.html.erb new file mode 100644 index 000000000..8ae766516 --- /dev/null +++ b/app/views/poll/_poll.html.erb @@ -0,0 +1,43 @@ +
  • + <% if @is_teacher %> + <% if has_commit_poll?(poll.id ,User.current) %> + <%= poll.polls_name %> + <% else %> + <%= link_to poll.polls_name, poll_path(poll.id), :class => "polls_title fl" %> + <% end %> + <% else %> + <% if has_commit_poll?(poll.id ,User.current) && poll.polls_status == 2 %> + + <%= poll.polls_name %> + + <% elsif (!has_commit_poll?(poll.id ,User.current)) && poll.polls_status == 2 %> + <%= link_to poll.polls_name, poll_path(poll.id), :class => "polls_title fl" %> + <% end %> + <% end %> +
  • +
  • + <%if @is_teacher && poll.polls_status == 2%> + <%= link_to l(:label_statistical_results), statistics_result_poll_path(poll.id), :class => "pollsbtn fl ml10"%> + <% end%> +
  • +
  • + <% if @is_teacher %> + + <%= link_to(l(:button_delete), poll, + method: :delete, :confirm => l(:text_are_you_sure), :remote => true, :class => "polls_de fr ml20 mr10") %> + <% end%> +
  • +
  • + <% if @is_teacher && poll.polls_status == 1%> + + <%= link_to l(:button_edit), edit_poll_path(poll.id), :class => "polls_de fr ml20"%> + <% end%> +
  • +
  • + <% if @is_teacher && poll.polls_status == 2%> + <%= link_to "重新发布", republish_poll_poll_path(poll.id), :remote => true, :class => 'polls_de fr ml20' %> + <% end %> +
  • +
  • + <%= format_time poll.created_at%> +
  • \ No newline at end of file diff --git a/app/views/poll/index.html.erb b/app/views/poll/index.html.erb index e57674c7a..fa378fc7b 100644 --- a/app/views/poll/index.html.erb +++ b/app/views/poll/index.html.erb @@ -12,44 +12,7 @@
    <% @polls.each do |poll|%>
    <% end%> diff --git a/app/views/poll/republish_poll.js.erb b/app/views/poll/republish_poll.js.erb new file mode 100644 index 000000000..a7399af5b --- /dev/null +++ b/app/views/poll/republish_poll.js.erb @@ -0,0 +1 @@ +$("#polls_<%= @poll.id %>").html("<%= escape_javascript(render :partial => 'poll',:locals => {:poll => @poll}) %>"); \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index bd1b27dee..67b0118b0 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -65,6 +65,7 @@ RedmineApp::Application.routes.draw do post 'create_poll_question' post 'commit_poll' get 'publish_poll' + get 'republish_poll' end collection do delete 'delete_poll_question' From 40d6c3b19cdb06be75220d60f9669ae592941681 Mon Sep 17 00:00:00 2001 From: alan <547533434@qq.com> Date: Tue, 20 Jan 2015 16:33:59 +0800 Subject: [PATCH 02/14] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E3=80=8A=E9=82=AE?= =?UTF-8?q?=E7=AE=B1=E5=9C=B0=E5=9D=80=E9=AA=8C=E8=AF=81=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E5=AD=98=E5=9C=A8=E5=8F=8A=E5=9B=BD=E9=99=85=E5=8C=96=E7=9A=84?= =?UTF-8?q?=E7=BC=96=E5=86=99=E3=80=8B=E5=8A=9F=E8=83=BD=20Signed-off-by:?= =?UTF-8?q?=20alan=20<547533434@qq.com>?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Gemfile | 4 +++- app/controllers/account_controller.rb | 3 +++ app/models/user.rb | 2 +- config/application.rb | 5 +++++ config/environments/development.rb | 2 +- config/locales/en.yml | 11 +++++++++++ config/locales/zh.yml | 17 +++++++++++++++++ 7 files changed, 41 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 6c2101345..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,7 +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/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/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..ea045f29b 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: "全部" From 77cb2b08934bc5569c0e702db6ab06978665808f Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Tue, 20 Jan 2015 16:50:16 +0800 Subject: [PATCH 03/14] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E5=AD=A6=E7=94=9F?= =?UTF-8?q?=E5=B7=B2=E5=AE=8C=E6=88=90=E7=9A=84=E9=97=AE=E5=8D=B7=E6=A0=87?= =?UTF-8?q?=E9=A2=98=E8=BF=87=E9=95=BF=E6=97=B6=E6=98=BE=E7=A4=BA=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=202.=E5=A2=9E=E5=8A=A0=E5=8F=96=E6=B6=88=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=97=B6=E7=9A=84=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/poll/_poll.html.erb | 4 ++- app/views/poll/_poll_republish.html.erb | 44 +++++++++++++++++++++++++ app/views/poll/index.html.erb | 27 +++++++++++++++ public/stylesheets/polls.css | 2 +- 4 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 app/views/poll/_poll_republish.html.erb diff --git a/app/views/poll/_poll.html.erb b/app/views/poll/_poll.html.erb index 8ae766516..dea4e175b 100644 --- a/app/views/poll/_poll.html.erb +++ b/app/views/poll/_poll.html.erb @@ -35,7 +35,9 @@
  • <% if @is_teacher && poll.polls_status == 2%> - <%= link_to "重新发布", republish_poll_poll_path(poll.id), :remote => true, :class => 'polls_de fr ml20' %> + + 取消发布 + <% end %>
  • diff --git a/app/views/poll/_poll_republish.html.erb b/app/views/poll/_poll_republish.html.erb new file mode 100644 index 000000000..3688ba883 --- /dev/null +++ b/app/views/poll/_poll_republish.html.erb @@ -0,0 +1,44 @@ + + + + + + + +
    +
    +
    +

    + 问卷取消发布后学生提交的问卷答案将会被清空, +
    + 是否确定取消发布该问卷? +

    +
    + <%= link_to "确 定",republish_poll_poll_path(poll.id), :class => "upload_btn", :onclick => "clickCanel();" %> + + 取  消 + +
    +
    +
    + +
    + +
    + + + diff --git a/app/views/poll/index.html.erb b/app/views/poll/index.html.erb index fa378fc7b..043e6898b 100644 --- a/app/views/poll/index.html.erb +++ b/app/views/poll/index.html.erb @@ -1,4 +1,31 @@ <%= stylesheet_link_tag 'polls', :media => 'all' %> +

    所有问卷 diff --git a/public/stylesheets/polls.css b/public/stylesheets/polls.css index 58ae913b0..4141164c4 100644 --- a/public/stylesheets/polls.css +++ b/public/stylesheets/polls.css @@ -27,7 +27,7 @@ a.newbtn{ float:right; display:block; width:80px; height:30px; background:#64bdd a:hover.newbtn{ background:#55a1b9; text-decoration:none;} .polls_list ul{ padding-left:10px; border-bottom:1px dashed #c9c9c9; height:32px; padding-top:8px;} a.polls_title{ font-weight:bold; color:#3e6d8e;max-width: 350px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;} -.polls_title{ font-weight:bold; color:#3e6d8e;} +.polls_title{ font-weight:bold; color:#3e6d8e;max-width: 350px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;} a.pollsbtn{ display:block; width:66px; height:22px; text-align:center; border:1px solid #64bdd9; color:#64bdd9;} a:hover.pollsbtn{ background:#64bdd9; color:#fff; text-decoration:none;} .polls_date{ color:#666666;} From f3062da237ba7a010bc708a1a119a3ab4149b93c Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Wed, 21 Jan 2015 09:18:29 +0800 Subject: [PATCH 04/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A9=BA=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=97=B6=EF=BC=8C=E8=AF=BE=E7=A8=8B=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E5=8A=A0=E8=BD=BD(=E5=B1=85=E7=84=B6?= =?UTF-8?q?=E6=98=AF=E6=AD=BB=E5=BE=AA=E7=8E=AF=E3=80=82=E3=80=82=E3=80=82?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/welcome/course.html.erb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/views/welcome/course.html.erb b/app/views/welcome/course.html.erb index 927734b24..d427a9aea 100644 --- a/app/views/welcome/course.html.erb +++ b/app/views/welcome/course.html.erb @@ -122,6 +122,7 @@ else course_term = "春季学期" end%> + <%break if Time.new.strftime("%Y").to_i - year_now >= 2%> <% all_new_hot_course += find_all_new_hot_course(course_count-all_new_hot_course.count, @school_id, year_now, course_term)%> <% end%> <%= render :partial => 'course_list', :locals => {:course_list => all_new_hot_course} %> @@ -152,6 +153,7 @@ else course_term = "春季学期" end%> + <%break if Time.new.strftime("%Y").to_i - year_now >= 2%> <% all_new_hot_course += find_all_new_hot_course(9-(all_new_hot_course.count + cur_school_course.count), @school_id, year_now, course_term)%> <% end%> <%= render :partial => 'course_list', :locals => {:course_list => all_new_hot_course} %> From 402dfc788fbd5840a34984eb7f942f013de2d08d Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Wed, 21 Jan 2015 09:55:40 +0800 Subject: [PATCH 05/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=B0=E5=BB=BA?= =?UTF-8?q?=E9=97=AE=E5=8D=B7=E6=97=B6=E9=97=AE=E5=8D=B7=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/poll_controller.rb | 2 +- app/views/poll/_show_head.html.erb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/poll_controller.rb b/app/controllers/poll_controller.rb index 6890b8dd7..2fc586711 100644 --- a/app/controllers/poll_controller.rb +++ b/app/controllers/poll_controller.rb @@ -40,7 +40,7 @@ class PollController < ApplicationController def new if @course option = { - :polls_name => l(:label_poll_new), + :polls_name => "", :polls_type => @course.class.to_s, :polls_group_id => @course.id, :polls_status => 1, diff --git a/app/views/poll/_show_head.html.erb b/app/views/poll/_show_head.html.erb index ce74dc10a..7ab16b24d 100644 --- a/app/views/poll/_show_head.html.erb +++ b/app/views/poll/_show_head.html.erb @@ -1,7 +1,7 @@

    - <%= poll.polls_name%> + <%= poll.polls_name.empty? ? l(:label_poll_new) : poll.polls_name%>

    <%= @poll.polls_description%> From 3bdaeb20c217bac98a682aa3b88ecb1dbd7536c3 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Wed, 21 Jan 2015 11:14:01 +0800 Subject: [PATCH 06/14] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9=E9=97=AE?= =?UTF-8?q?=E5=8D=B7=E5=88=97=E8=A1=A8=E9=A1=B5=E9=9D=A2=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=202=E3=80=81=E9=97=AE=E5=8D=B7=E5=88=97=E8=A1=A8=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=8F=91=E5=B8=83=E9=97=AE=E5=8D=B7=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=203=E3=80=81=E5=A2=9E=E5=8A=A0js=E8=BF=94=E5=9B=9E=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=204=E3=80=81=E5=8E=BB=E6=8E=89=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E7=9A=84js=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/poll_controller.rb | 8 +++- app/views/poll/_poll.html.erb | 64 +++++++++++++++++-------- app/views/poll/_poll_form.html.erb | 2 +- app/views/poll/_poll_republish.html.erb | 12 ----- app/views/poll/_poll_submit.html.erb | 16 +------ app/views/poll/index.html.erb | 24 ++++++++++ app/views/poll/publish_poll.js.erb | 2 + app/views/poll/republish_poll.js.erb | 3 +- public/stylesheets/polls.css | 15 +++++- 9 files changed, 94 insertions(+), 52 deletions(-) create mode 100644 app/views/poll/publish_poll.js.erb diff --git a/app/controllers/poll_controller.rb b/app/controllers/poll_controller.rb index 2fc586711..42ab98e10 100644 --- a/app/controllers/poll_controller.rb +++ b/app/controllers/poll_controller.rb @@ -187,7 +187,13 @@ class PollController < ApplicationController @poll.polls_status = 2 @poll.published_at = Time.now if @poll.save - redirect_to poll_index_url(:polls_type => "Course", :polls_group_id => @course.id) + if params[:is_remote] + redirect_to poll_index_url(:polls_type => "Course", :polls_group_id => @course.id) + else + respond_to do |format| + format.js + end + end end end diff --git a/app/views/poll/_poll.html.erb b/app/views/poll/_poll.html.erb index dea4e175b..cc7e88547 100644 --- a/app/views/poll/_poll.html.erb +++ b/app/views/poll/_poll.html.erb @@ -1,23 +1,44 @@ +<% has_commit = has_commit_poll?(poll.id ,User.current)%>

  • <% if @is_teacher %> - <% if has_commit_poll?(poll.id ,User.current) %> - <%= poll.polls_name %> + <% if has_commit %> + + <%= poll.polls_name.empty? ? l(:label_poll_new) : poll.polls_name%> + <% else %> - <%= link_to poll.polls_name, poll_path(poll.id), :class => "polls_title fl" %> + <%= link_to (poll.polls_name.empty? ? l(:label_poll_new) : poll.polls_name), poll_path(poll.id), :class => "polls_title polls_title_w fl" %> <% end %> <% else %> - <% if has_commit_poll?(poll.id ,User.current) && poll.polls_status == 2 %> + <% if has_commit && poll.polls_status == 2 %> - <%= poll.polls_name %> + <%= poll.polls_name.empty? ? l(:label_poll_new) : poll.polls_name %> - <% elsif (!has_commit_poll?(poll.id ,User.current)) && poll.polls_status == 2 %> - <%= link_to poll.polls_name, poll_path(poll.id), :class => "polls_title fl" %> + <% elsif !has_commit && poll.polls_status == 2 %> + <%= link_to (poll.polls_name.empty? ? l(:label_poll_new) : poll.polls_name), poll_path(poll.id), :class => "polls_title polls_title_w fl" %> <% end %> <% end %>
  • +<% if !@is_teacher && has_commit && poll.polls_status == 2%> +
  • 已答
  • +<% end %> + +<%if @is_teacher%> + <% if poll.polls_status == 1 %> +
  • 统计结果
  • + <% elsif poll.polls_status == 2%> +
  • + <%= link_to l(:label_statistical_results), statistics_result_poll_path(poll.id), :class => "pollsbtn fl ml10"%> +
  • + <% end%> +<% end%> +
  • - <%if @is_teacher && poll.polls_status == 2%> - <%= link_to l(:label_statistical_results), statistics_result_poll_path(poll.id), :class => "pollsbtn fl ml10"%> + <%if @is_teacher %> + <% if poll.polls_status == 1 %> + 发布问卷 + <% elsif poll.polls_status == 2%> + 取消发布 + <% end%> <% end%>
  • @@ -28,18 +49,21 @@ <% end%>
  • - <% if @is_teacher && poll.polls_status == 1%> - - <%= link_to l(:button_edit), edit_poll_path(poll.id), :class => "polls_de fr ml20"%> + <% if @is_teacher%> + <% if poll.polls_status == 1 %> + <%= link_to l(:button_edit), edit_poll_path(poll.id), :class => "polls_de fr ml20"%> + <% elsif poll.polls_status == 2%> +
  • 编辑
  • + <% end%> <% end%>

  • -
  • - <% if @is_teacher && poll.polls_status == 2%> - - 取消发布 - - <% end %> -
  • -
  • + + + + + + + +
  • <%= format_time poll.created_at%>
  • \ No newline at end of file diff --git a/app/views/poll/_poll_form.html.erb b/app/views/poll/_poll_form.html.erb index bbf71e0ce..6ce4137a3 100644 --- a/app/views/poll/_poll_form.html.erb +++ b/app/views/poll/_poll_form.html.erb @@ -57,7 +57,7 @@ function poll_submit() { - $('#ajax-modal').html('<%= escape_javascript(render :partial => 'poll_submit', locals: { poll: @poll}) %>'); + $('#ajax-modal').html('<%= escape_javascript(render :partial => 'poll_submit', locals: { :poll => @poll},:is_remote => false) %>'); showModal('ajax-modal', '310px'); $('#ajax-modal').css('height','110px'); $('#ajax-modal').siblings().remove(); diff --git a/app/views/poll/_poll_republish.html.erb b/app/views/poll/_poll_republish.html.erb index 3688ba883..3f93b6b3d 100644 --- a/app/views/poll/_poll_republish.html.erb +++ b/app/views/poll/_poll_republish.html.erb @@ -2,18 +2,6 @@ diff --git a/app/views/poll/_poll_submit.html.erb b/app/views/poll/_poll_submit.html.erb index cdc41dd9d..af3ca2d42 100644 --- a/app/views/poll/_poll_submit.html.erb +++ b/app/views/poll/_poll_submit.html.erb @@ -2,18 +2,6 @@ @@ -27,16 +15,14 @@ 是否确定发布该问卷?

    - <%= link_to "确 定",publish_poll_poll_path(poll.id), :class => "upload_btn", :onclick => "clickCanel();" %> + <%= link_to "确 定",publish_poll_poll_path(poll.id,:is_remote => is_remote), :class => "upload_btn", :onclick => "clickCanel();" %> 取  消
    - - diff --git a/app/views/poll/index.html.erb b/app/views/poll/index.html.erb index 043e6898b..de30b5deb 100644 --- a/app/views/poll/index.html.erb +++ b/app/views/poll/index.html.erb @@ -25,6 +25,30 @@ } function clickCanel(){hideModal("#popbox02");} + + function poll_submit(poll_id) + { + $('#ajax-modal').html("
    " + + "
    " + + "
    " + + "

    问卷发布后将不能对问卷进行修改,
    是否确定发布该问卷?

    " + + "
    " + + "确  定" + + "取  消" + + "
    " + + "
    " + + "
    " + + "
    " + + "
    "); + showModal('ajax-modal', '310px'); + $('#ajax-modal').css('height','110px'); + $('#ajax-modal').siblings().remove(); + $('#ajax-modal').before("" + + ""); + $('#ajax-modal').parent().removeClass("alert_praise"); + $('#ajax-modal').parent().css("top","").css("left",""); + $('#ajax-modal').parent().addClass("popbox_polls"); + }
    diff --git a/app/views/poll/publish_poll.js.erb b/app/views/poll/publish_poll.js.erb new file mode 100644 index 000000000..ad052f8f2 --- /dev/null +++ b/app/views/poll/publish_poll.js.erb @@ -0,0 +1,2 @@ +$("#polls_<%= @poll.id %>").html("<%= escape_javascript(render :partial => 'poll',:locals => {:poll => @poll}) %>"); +alert("发布成功"); \ No newline at end of file diff --git a/app/views/poll/republish_poll.js.erb b/app/views/poll/republish_poll.js.erb index a7399af5b..a2d8e28fa 100644 --- a/app/views/poll/republish_poll.js.erb +++ b/app/views/poll/republish_poll.js.erb @@ -1 +1,2 @@ -$("#polls_<%= @poll.id %>").html("<%= escape_javascript(render :partial => 'poll',:locals => {:poll => @poll}) %>"); \ No newline at end of file +$("#polls_<%= @poll.id %>").html("<%= escape_javascript(render :partial => 'poll',:locals => {:poll => @poll}) %>"); +alert("取消成功"); \ No newline at end of file diff --git a/public/stylesheets/polls.css b/public/stylesheets/polls.css index 4141164c4..e46aa5124 100644 --- a/public/stylesheets/polls.css +++ b/public/stylesheets/polls.css @@ -26,8 +26,8 @@ div,html,img,ul,li,p,body,h1,h2,h3,h4,p,a,table,tr,td,fieldset,input,span{ margi a.newbtn{ float:right; display:block; width:80px; height:30px; background:#64bdd9; color:#fff; font-size:14px; margin:10px; text-align:center;} a:hover.newbtn{ background:#55a1b9; text-decoration:none;} .polls_list ul{ padding-left:10px; border-bottom:1px dashed #c9c9c9; height:32px; padding-top:8px;} -a.polls_title{ font-weight:bold; color:#3e6d8e;max-width: 350px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;} -.polls_title{ font-weight:bold; color:#3e6d8e;max-width: 350px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;} +a.polls_title{ font-weight:bold; color:#3e6d8e;max-width: 300px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;} +.polls_title{ font-weight:bold; color:#3e6d8e;max-width: 300px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;} a.pollsbtn{ display:block; width:66px; height:22px; text-align:center; border:1px solid #64bdd9; color:#64bdd9;} a:hover.pollsbtn{ background:#64bdd9; color:#fff; text-decoration:none;} .polls_date{ color:#666666;} @@ -134,3 +134,14 @@ a:hover.upload_btn_grey{background:#8a8a8a;} .upload_con a:hover{ text-decoration:none;} .polls_btn_box{ width:145px; margin:0 auto; padding-left:10px;} .polls_btn_box02{ width:80px; margin:0 auto; padding-left:10px;} + +/***新增20150120***/ +.pollsbtn_tip{ width:30px; height:17px; display:block;background:url(images/icons.png) 0 -417px no-repeat;padding-left:7px; color:#fff;} +a.btn_de{ border:1px solid #ff5d31; color:#ff5d31; } +a:hover.btn_de{ background:#ff5d31;} +a.btn_pu{ border:1px solid #3cb761; color:#3cb761; } +a:hover.btn_pu{ background:#3cb761;} +.pollsbtn_grey{ border:1px solid #b1b1b1; color:#b1b1b1; padding:0px 9px; } +.polls_title_w { width:330px; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;} +.polls_de_grey{ color:#b1b1b1;} +.ml5{ margin-left:5px;} From 95dcdd71251982a69348d19f79b4c2ec1d3da8d1 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Wed, 21 Jan 2015 11:18:47 +0800 Subject: [PATCH 07/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BF=9B=E5=85=A5?= =?UTF-8?q?=E9=97=AE=E5=8D=B7=E7=BC=96=E8=BE=91=E7=95=8C=E9=9D=A2=E6=8A=A5?= =?UTF-8?q?=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/poll/_poll_form.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/poll/_poll_form.html.erb b/app/views/poll/_poll_form.html.erb index 6ce4137a3..b3fae8b4a 100644 --- a/app/views/poll/_poll_form.html.erb +++ b/app/views/poll/_poll_form.html.erb @@ -57,7 +57,7 @@ function poll_submit() { - $('#ajax-modal').html('<%= escape_javascript(render :partial => 'poll_submit', locals: { :poll => @poll},:is_remote => false) %>'); + $('#ajax-modal').html('<%= escape_javascript(render :partial => 'poll_submit', locals: { :poll => @poll,:is_remote => false}) %>'); showModal('ajax-modal', '310px'); $('#ajax-modal').css('height','110px'); $('#ajax-modal').siblings().remove(); From 6ccb154cc3f6e98e219645474e76370fa6c0e105 Mon Sep 17 00:00:00 2001 From: alan <547533434@qq.com> Date: Wed, 21 Jan 2015 11:33:29 +0800 Subject: [PATCH 08/14] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E7=95=99=E8=A8=80?= =?UTF-8?q?=EF=BC=8C=E5=8F=91=E9=82=AE=E4=BB=B6=E7=BB=99=E8=AF=BE=E7=A8=8B?= =?UTF-8?q?=E6=89=80=E6=9C=89=E4=BA=BA=20Signed-off-by:=20alan=20<54753343?= =?UTF-8?q?4@qq.com>?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .rspec | 2 + app/helpers/courses_helper.rb | 4 ++ app/models/journals_for_message_observer.rb | 2 + app/models/mailer.rb | 8 ++-- config/application.rb | 10 +++++ .../20150121030451_add_initial_products.rb | 11 ++++++ db/schema.rb | 2 +- spec/spec_helper.rb | 38 +++++++++++++++++++ 8 files changed, 72 insertions(+), 5 deletions(-) create mode 100644 .rspec create mode 100644 db/migrate/20150121030451_add_initial_products.rb create mode 100644 spec/spec_helper.rb diff --git a/.rspec b/.rspec new file mode 100644 index 000000000..8c18f1abd --- /dev/null +++ b/.rspec @@ -0,0 +1,2 @@ +--format documentation +--color diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb index 411de1dcf..95b049dc2 100644 --- a/app/helpers/courses_helper.rb +++ b/app/helpers/courses_helper.rb @@ -111,6 +111,10 @@ module CoursesHelper #garble count # end + #获取课程所有成员 + def course_member course + course.members + end # 学生人数计算 # add by nwb def studentCount course diff --git a/app/models/journals_for_message_observer.rb b/app/models/journals_for_message_observer.rb index 093002a2c..0e5f29d03 100644 --- a/app/models/journals_for_message_observer.rb +++ b/app/models/journals_for_message_observer.rb @@ -1,7 +1,9 @@ # Added by young class JournalsForMessageObserver < ActiveRecord::Observer def after_create(journals_for_message) + thread1 = Thread.start do Mailer.journals_for_message_add(User.current, journals_for_message).deliver + end end end diff --git a/app/models/mailer.rb b/app/models/mailer.rb index 72e60a0bf..a2e742ee3 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -62,13 +62,13 @@ class Mailer < ActionMailer::Base course = journals_for_message.jour @author = journals_for_message.user #课程的教师 - @teachers = searchTeacherAndAssistant journals_for_message.jour + @members = course_member journals_for_message.jour #收件人邮箱 @recipients ||= [] - @teachers.each do |teacher| - if teacher.user.notify_about? journals_for_message + @members.each do |teacher| + @recipients << teacher.user.mail - end + end mail :to => @recipients, diff --git a/config/application.rb b/config/application.rb index 716e3875d..2f1534d00 100644 --- a/config/application.rb +++ b/config/application.rb @@ -21,6 +21,16 @@ module RedmineApp config.verifier_email = "lizanle521@126.com" end + config.generators do |g| + g.test_framework :rspec, + fixtures: true, + view_specs: false, + helper_specs: false, + routing_specs: false, + controller_specs: true, + request_specs: false + g.fixture_replacement :factory_girl, dir: "spec/factories" + end # Custom directories with classes and modules you want to be autoloadable. config.autoload_paths += %W(#{config.root}/lib) diff --git a/db/migrate/20150121030451_add_initial_products.rb b/db/migrate/20150121030451_add_initial_products.rb new file mode 100644 index 000000000..cb6006068 --- /dev/null +++ b/db/migrate/20150121030451_add_initial_products.rb @@ -0,0 +1,11 @@ +class AddInitialProducts < ActiveRecord::Migration + def up + Forum.create(:name =>"new forum", :description => "", :topic_count => "0", + :memo_count => "0", :last_memo_id =>"0", :creator_id =>"2", + :sticky =>"0", :locked =>"0") + end + + + def down + end +end diff --git a/db/schema.rb b/db/schema.rb index 2120080a0..7d10abc35 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20150114022710) do +ActiveRecord::Schema.define(:version => 20150121030451) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb new file mode 100644 index 000000000..d2cbea7d9 --- /dev/null +++ b/spec/spec_helper.rb @@ -0,0 +1,38 @@ +# This file is copied to spec/ when you run 'rails generate rspec:install' +ENV["RAILS_ENV"] ||= 'test' +require File.expand_path("../../config/environment", __FILE__) +require 'rspec/rails' +require 'rspec/autorun' + +# Requires supporting ruby files with custom matchers and macros, etc, +# in spec/support/ and its subdirectories. +Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f } + +RSpec.configure do |config| + # ## Mock Framework + # + # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line: + # + # config.mock_with :mocha + # config.mock_with :flexmock + # config.mock_with :rr + + # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures + config.fixture_path = "#{::Rails.root}/spec/fixtures" + + # If you're not using ActiveRecord, or you'd prefer not to run each of your + # examples within a transaction, remove the following line or assign false + # instead of true. + config.use_transactional_fixtures = true + + # If true, the base class of anonymous controllers will be inferred + # automatically. This will be the default behavior in future versions of + # rspec-rails. + config.infer_base_class_for_anonymous_controllers = false + + # Run specs in random order to surface order dependencies. If you find an + # order dependency and want to debug it, you can fix the order by providing + # the seed, which is printed after each run. + # --seed 1234 + config.order = "random" +end From 2f8a183168b265bf9814a41cbc10577eba641bdb Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Wed, 21 Jan 2015 11:34:53 +0800 Subject: [PATCH 09/14] =?UTF-8?q?1=E3=80=81=E6=9B=BF=E6=8D=A2=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=E5=9B=BE=E7=89=87=202=E3=80=81=E5=B7=B2=E7=AD=94?= =?UTF-8?q?=E9=97=AE=E5=8D=B7=E5=90=8E=E9=97=AE=E5=8D=B7=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=B7=B2=E7=AD=94=E6=A0=87=E5=BF=97=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/stylesheets/images/icons.png | Bin 2382 -> 2479 bytes public/stylesheets/polls.css | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/public/stylesheets/images/icons.png b/public/stylesheets/images/icons.png index 2d2b33fe1a24f741e781b935549f8172180870ad..e0ba4f4e6525285ce88227c93c3fa01348628857 100644 GIT binary patch literal 2479 zcmZ`*2~d;Q7XGskG^`2|g|H}#f}mJHksU=uF@YCamKXwxP}$NTvI`_Yw3J;)Y>-VM zQI;rM2*fBstJFwTtg;6Eu~dWr22t4pzI5Kqo6dXf%y;KIbLM{Mo_p_^Gbh&k!oq`gwU>Df>-w>_=WuqEAlrkDr}HS3oZ^_zxmlVz8eT?q)6i2qS2?1+ere;2 zGk2~XbKkNB&On;)ZPN7m*{K-mew{6rfsU`G^L;aYLpF)6lgAm4lIGBvE{hfMADjnm z63fMA)K#&pYt6mct0>H9IE)(rR3Au2Xw(5ddoeBjvq9YWPQHpqORr{dA6-D zdb@7^3*Y99`dzaR6Xp;75_gU4E=&b>4Y6nsXv3ir|Cn_2{;fI@S;b-5d2KzZ{o^Ly zX!P!(1e=%iymI=PDh-iKE`Y50JAgw!&AcjT&2u)hRtqS6-{FDc;jQ8}L(nWWhf>w| zTVmz8Fs@1e|6k!ho?d^G+>8fFal_LVcn;$Vd-YL?N79bMhk06%kyYaq*A5>j7eIy@ zP!em@5wk5tCZ*aH;e0!s+i;_n8$|mbAZew*k|vhArrL8K<2gDBA|JOekK=;__<;aK z^sm+Jkq3B(V@PeOlaHQ<`q~8DwfD3k>K5dd#vF7Tj@#jxkTrl3~DF_L`P(ALp}ay!f#23Z#7iOQIaF=Rvw* z#PI2E6*=lGaC-w`VTa5L3=yI*V|HN8z)C;}{aOX$wO)rsDA^-A-2v48po|3^F|TL> zFiZCWr)9U{3Jfm|@kpLK1=fX^`rZ3|Vq1hk3z(s&^nLqUU7W=mGsDN;*?;^9$gjc& zU0@PYVUY!^@ZBcT#ck8bZ9$^-1OCVLdH0{BZ6>S|rAwUyE5E0Vf|L0@FiCxx!&V!C zeg}WiLbfdFJsu9Y7|-WX_F>2e!gXpFuT7_D5$ezR#OXxf@X1-+80|>`b%t#NENOwu0gnTy4KS zy2jpS`^s_&%tt3b*0~-Hu1TZ_X97E2m|XlUqlt1GMihGboVxr$xRVkNj^~qe!%2wbon%JAnHP!R;JbwCpkHp#^2(<8bLqFF#AC=M z_qHE1on=a(zHm)g1Upz^ORf)R7@rYC^I~SM0v9$eX|FMdY{@0x1P>OJZ9^pQmHB~m z>WUWIMTHQ-bQfC4vNhd(^nC7=L-zP9QV%FqPdJ*7npIt9D1USRp-7_o6k*vfK6}?} z;-m$Cky%H}qfhZkJD4uu1K}X$_Q^?XIk5I2zr`M>Q0Im-rskfdUz`g*U4v6F%_SQ^*L%pTM%NT6VXWFz1sekaHYVqTwcJch>9ZsoExZ3s z-$HAIHokHgjN(2moX(Eoj&v!yA)a{fog~=U|55PiY-qAG)Il7vKtRA;21&fdBPr23 zDYv9^dMw1zwfG6Il#(glCZ~0mn?V}Fgy5qU9>DFL!p@c@=B7-4vy{sosK0z{S;Bk} zzq^so8zY6}2aeAoGBy%&@fs%^c~wq>341-;ryl3wHAZzM5P?>pozW?BBU@Yu58>~8 zM#Qv*yw(wW70o-)Ba>_MjJpPs;mj sYp6*W92!kPdDk%9tSIS!e1!qVBLZ96PYv^mVGB5R1nY6@P-xb_0kz3y2mk;8 literal 2382 zcmZ`*3pA8l8{VHWqG)o7C9r0BG?5d|Mar z6ae8y08IM>V3h@cTu7Q<(*XcPdvOl-CnAStbN!wudMdrPV|YE4Jn|@OBmujK`<;Mu zxJ@@p<%H{>OElK>Pq;RsM@f0&zU5RV*2|HrZ7AL#3effFNye*YNm~Wfym_72@`neJHLtBX5s`ccOby$7Sx^S+`hO#yY z1E_T?$Ke3Dz)bSkUt| z+;RNG=zjN(rV`4K6(K$_%op0Su`}#_% z^>m}{bXGNlbZ9@talLX+i$4uE4_-C#vHg`}g6GarG@XRWX#qxW+i0iy;_bo;WF_(c zcJN2wHxoKHz#W5lFA5lCCXMQP^4iel{D z3y&vuvAm_x>2+3+%-;V4ct(~yp|IzUd9G*H1?EXyu^JTmN1pM4>R$jfja%IjWx)z) z<{scTGDq#-nL0kQY%)EioPtaBiJ+DDX#Cu#!2CG0vuIz@3Cr-kMZGRXCk)DV7Ev<9 z*jf!KOeSL5vwhTH;kM9N|{tf*r7I#GwD_?$piKMt;10G&6dH+Cx))^JvAe5(Db2}Ku z(2hnD^U%J}U$aou+Aq#9MCUh|fB|#qxvbTcu=zmbdH+hGoQ#S{o^a*h)3CtCZ_3dO zB~Qu4gBATpwH@Z|5w@vTPywuK+HNxquNjDSTw2vtIMJ0AU9k((FD=FUBL6IAGrL_` z#r2SquKIAIX`j0ZqxVrnX}Z;PVJ7Ab`)hp1Cs#VZxJ5bMuL7lvY%c2ko<22~-&2RU@Y;D@d};d7RFZl?i0GIvPl~5c-7lH(3jW^REI8RtSQaruG|0z- z=`Cj;J>#hC{ zLX|UTScy*X8e#nOV89kZLL}`(zoZ!Z-31>V>x3H`h>RtzMFZJBvu?2XpJHr@uwsU~ zsk7cG`6)t=Gi+uZgBCAwuhK*=Gb9(YlkyK^Hsj#J)^mN%usK~E2h09$s4hkJlAN8i zzj=p7OmoSg3A(NnNJBOJwK2*1&{B4iXY2G>yFP?cmoiG#`9b7{!N{kx1|n?Eh@wwh zD^FIi1d^3i|ESX$hAw-CZS8El?pJlXsS!6GuK zKz=4A#>9Y|+U`*j9_9+OK*$-q)MafR-+0u#;{I0Nepn^8!MGIu9wyE{Y|a4nt(DXo zyy3di@@}$tWTC1LAzJ|&fpQ4=!`09-J%$@B_bF;rinu*s-mKZDW#h7I&CM%%yg;N5 zj)6OEB(yO;q-?&hHv<-$S=9o5Xl(0qsq75~U5|~mx(JGhEo?{|pz@Cnt*DW&5m#tO zkk`i7^O$!iRlw)zk$|@MrN@U)DL8UYkG!vsBmZV@5f=spi_6e0nrfY!5UN(xsGFd+ z$zUQ-f$E{?o;?vhN$9A?9blN9%zDJjmW347VWKHi)Ue3NMQ#XWnD`-6v5{7cld0_IKIfVMo`C33gQL6?e5 zorWXGn%4j7*#?%-0_vW=lOngA$S`}A?aK(VA45zyCC1B^BhD}# zTZoD%AuK;uBG2*F*HraA&8r&^8Y{4lUy_<@a*WvNFV4k_ zW5pEZ@f|36l*MU7y)$p7E>bicgTvQ8h~muGr^RWA6fhn=d}7J zHL_m#9sZn*`lj~i9XDAo`0H5h_+CQ!(mDk6uNQX3y-ao&{DlC{(Z%7}KL5DC0Rml0 AWB>pF diff --git a/public/stylesheets/polls.css b/public/stylesheets/polls.css index e46aa5124..06802285d 100644 --- a/public/stylesheets/polls.css +++ b/public/stylesheets/polls.css @@ -136,7 +136,7 @@ a:hover.upload_btn_grey{background:#8a8a8a;} .polls_btn_box02{ width:80px; margin:0 auto; padding-left:10px;} /***新增20150120***/ -.pollsbtn_tip{ width:30px; height:17px; display:block;background:url(images/icons.png) 0 -417px no-repeat;padding-left:7px; color:#fff;} +.pollsbtn_tip{ width:30px; height:17px; display:block;background:url(images/icons.png) 0 -372px no-repeat;padding-left:7px; color:#fff;} a.btn_de{ border:1px solid #ff5d31; color:#ff5d31; } a:hover.btn_de{ background:#ff5d31;} a.btn_pu{ border:1px solid #3cb761; color:#3cb761; } From a53831a6b5f35f107bd4087b020ef6a984bda3f9 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Wed, 21 Jan 2015 11:44:49 +0800 Subject: [PATCH 10/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BD=93=E9=97=AE?= =?UTF-8?q?=E5=8D=B7=E6=A0=87=E9=A2=98=E8=BF=87=E9=95=BF=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E5=AD=A6=E7=94=9F=E6=9F=A5=E7=9C=8B=E9=97=AE=E5=8D=B7=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E7=9C=81=E7=95=A5=E5=8F=B7=E8=BF=87=E6=97=A9=E5=87=BA?= =?UTF-8?q?=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/poll/_poll.html.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/poll/_poll.html.erb b/app/views/poll/_poll.html.erb index cc7e88547..3290ff2dc 100644 --- a/app/views/poll/_poll.html.erb +++ b/app/views/poll/_poll.html.erb @@ -10,11 +10,11 @@ <% end %> <% else %> <% if has_commit && poll.polls_status == 2 %> - + <%= poll.polls_name.empty? ? l(:label_poll_new) : poll.polls_name %> <% elsif !has_commit && poll.polls_status == 2 %> - <%= link_to (poll.polls_name.empty? ? l(:label_poll_new) : poll.polls_name), poll_path(poll.id), :class => "polls_title polls_title_w fl" %> + <%= link_to (poll.polls_name.empty? ? l(:label_poll_new) : poll.polls_name), poll_path(poll.id), :class => "polls_title polls_title_w fl", :style => "max-width: 550px;width: 550px;" %> <% end %> <% end %> From 77b8bf18c8f042c02f783e85c23246ef18c6929e Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Wed, 21 Jan 2015 11:50:33 +0800 Subject: [PATCH 11/14] =?UTF-8?q?#1842=20=E4=BF=AE=E6=94=B9=E9=83=A8?= =?UTF-8?q?=E5=88=86=E9=A1=B5=E9=9D=A2=E6=8F=8F=E8=BF=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/poll/_edit_MCQ.html.erb | 2 +- app/views/poll/_new_MCQ.html.erb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/poll/_edit_MCQ.html.erb b/app/views/poll/_edit_MCQ.html.erb index 613fed371..129f50e94 100644 --- a/app/views/poll/_edit_MCQ.html.erb +++ b/app/views/poll/_edit_MCQ.html.erb @@ -18,7 +18,7 @@
    - + />
    diff --git a/app/views/poll/_new_MCQ.html.erb b/app/views/poll/_new_MCQ.html.erb index de9dc9f08..027a1c1f6 100644 --- a/app/views/poll/_new_MCQ.html.erb +++ b/app/views/poll/_new_MCQ.html.erb @@ -3,7 +3,7 @@
    - +
    From 520e9c73aa34be5f9983f9bf1820f35311c91102 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Wed, 21 Jan 2015 14:30:19 +0800 Subject: [PATCH 12/14] =?UTF-8?q?#1836=20=E6=9C=AA=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E6=88=96=E8=80=85=E6=B2=A1=E6=9C=89=E6=9D=83=E9=99=90=E8=AE=BF?= =?UTF-8?q?=E9=97=AE=E7=A7=81=E6=9C=89=E9=A1=B9=E7=9B=AE=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC=E5=88=B0403=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index d3df57982..24a3ff19f 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -558,6 +558,11 @@ class ProjectsController < ApplicationController # Show @project def show + if(@project && !@project.is_public && !User.current.member_of?(@project)) + render_403 + return + end + @project_type = params[:project_type] # try to redirect to the requested menu item From 7ee17b6d7ceb038ee5d24f8045868237daefc275 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Wed, 21 Jan 2015 15:43:15 +0800 Subject: [PATCH 13/14] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=97=AE=E5=8D=B7?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E5=B7=A6=E8=BE=B9=E8=BE=B9=E8=B7=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/stylesheets/polls.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/stylesheets/polls.css b/public/stylesheets/polls.css index 06802285d..e601d231d 100644 --- a/public/stylesheets/polls.css +++ b/public/stylesheets/polls.css @@ -19,7 +19,7 @@ div,html,img,ul,li,p,body,h1,h2,h3,h4,p,a,table,tr,td,fieldset,input,span{ margi .polls_btn span{ color:#15bed1; font-size:12px; font-weight:normal;} /*问卷列表*/ -.polls_content{ width:615px;} +.polls_content{ width:615px;padding-left: 6px;} .polls_head{ width:677px; height:48px; background:#eaeaea;} .polls_head h2{ float:left; font-size:14px; color:#585858; margin:11px 0 0 10px;} .polls_head span{ font-weight:normal; color:#15bccf;} From d68486669e5712e268769fde68fceac04392d985 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Wed, 21 Jan 2015 16:07:44 +0800 Subject: [PATCH 14/14] =?UTF-8?q?#1830=E8=AF=BE=E7=A8=8B--=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E5=AD=97=E4=BD=93=E5=8E=8B=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/courses/member.html.erb | 2 +- public/stylesheets/course_group.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/courses/member.html.erb b/app/views/courses/member.html.erb index 2599760ad..803be3731 100644 --- a/app/views/courses/member.html.erb +++ b/app/views/courses/member.html.erb @@ -56,7 +56,7 @@ <%= stylesheet_link_tag 'course_group', :media => 'all' %> -
    +