diff --git a/app/controllers/boards_controller.rb b/app/controllers/boards_controller.rb index 493b313cf..8d9d1c20b 100644 --- a/app/controllers/boards_controller.rb +++ b/app/controllers/boards_controller.rb @@ -33,7 +33,7 @@ class BoardsController < ApplicationController #modify by nwb @flag = params[:flag] || false if @project - if !@project.is_public? && !User.current.member_of?(@project) && !User.current.admin? + if !@project.is_public? && !User.current.member_of?(@project) && !User.current.admin? && !User.current.allowed_to?(:view_messages, @project) render_403 else @boards = @project.boards.includes(:last_message => :author).all diff --git a/app/controllers/contestant_works_controller.rb b/app/controllers/contestant_works_controller.rb index a73775ae8..fd4e3264b 100644 --- a/app/controllers/contestant_works_controller.rb +++ b/app/controllers/contestant_works_controller.rb @@ -15,13 +15,17 @@ class ContestantWorksController < ApplicationController def new #更新消息 - noEvaluation = @contestwork.contest_messages.where("user_id =? and viewed =?", User.current.id, 0) - noEvaluation.update_all(:viewed => true) + if @contestwork.work_status == 1 + noEvaluation = @contestwork.contest_messages.where("user_id =? and viewed =?", User.current.id, 0) + noEvaluation.update_all(:viewed => true) - @user = User.current - @student_work = ContestantWork.new - respond_to do |format| - format.html{ render :layout => "base_contests"} + @user = User.current + @student_work = ContestantWork.new + respond_to do |format| + format.html{ render :layout => "base_contests"} + end + else + render_403 end end diff --git a/app/controllers/contests_controller.rb b/app/controllers/contests_controller.rb index 5295477f5..444b5b03e 100644 --- a/app/controllers/contests_controller.rb +++ b/app/controllers/contests_controller.rb @@ -175,11 +175,11 @@ class ContestsController < ApplicationController end case params[:agree] when 'Y' - if ContestMember.where(:user_id => apply_user.id).first.nil? + if ContestMember.where(:user_id => apply_user.id, :contest_id => applied_contest.contest_id).first.nil? member = ContestMember.new(:user_id => apply_user.id) Contest.find(applied_contest.contest_id).contest_members << member else - member = ContestMember.where(:user_id => apply_user.id).first + member = ContestMember.where(:user_id => apply_user.id, :contest_id => applied_contest.contest_id).first end contest_member_roles = member.contest_member_roles diff --git a/app/controllers/memos_controller.rb b/app/controllers/memos_controller.rb index 06ea33c09..375ded942 100644 --- a/app/controllers/memos_controller.rb +++ b/app/controllers/memos_controller.rb @@ -72,7 +72,7 @@ class MemosController < ApplicationController end end format.js - format.html { redirect_to back_memo_url} + format.html {redirect_to back_memo_url} format.json { render json: @memo, status: :created, location: @memo } else flash.now[:error] = "#{l :label_memo_create_fail}: #{@memo.errors.full_messages[0]}" diff --git a/app/controllers/news_controller.rb b/app/controllers/news_controller.rb index 87b021678..e65f4c768 100644 --- a/app/controllers/news_controller.rb +++ b/app/controllers/news_controller.rb @@ -273,7 +273,7 @@ class NewsController < ApplicationController elsif @news.contest_id @contest = Contest.find(@news.contest_id) if @contest - @left_nav_type = 4 + @left_nav_type = 5 respond_to do |format| format.js format.html {render :layout => 'base_contests'} diff --git a/app/controllers/works_controller.rb b/app/controllers/works_controller.rb index 4b64e7fb1..75a30ba57 100644 --- a/app/controllers/works_controller.rb +++ b/app/controllers/works_controller.rb @@ -70,7 +70,7 @@ class WorksController < ApplicationController homework.save_attachments(params[:attachments]) render_attachment_warning_if_needed(homework) - homework.work_status = homework.publish_time > Date.today ? 0 : 1 + homework.work_status = homework.publish_time > Date.today ? 0 : (homework.end_time < Date.today ? 2 : 1) work_detail_manual = WorkDetailManual.new diff --git a/app/models/message.rb b/app/models/message.rb index 177b5f7ee..39902d757 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -103,8 +103,10 @@ class Message < ActiveRecord::Base :if => lambda {|message, user| if message.project user.allowed_to?(:edit_messages, message.project) - else + elsif message.course user.allowed_to?(:edit_messages, message.course) + elsif message.contest + user.admin_of_contest?(message.contest) end } diff --git a/app/views/forums/show.html.erb b/app/views/forums/show.html.erb index d07a42ed5..1f0cea922 100644 --- a/app/views/forums/show.html.erb +++ b/app/views/forums/show.html.erb @@ -29,7 +29,7 @@
-

推荐问吧

+

推荐贴吧

<%= render :partial => "forums/right_bar" %>
diff --git a/app/views/layouts/_base_footer_public.html.erb b/app/views/layouts/_base_footer_public.html.erb index 043c254e2..2cec0fc27 100644 --- a/app/views/layouts/_base_footer_public.html.erb +++ b/app/views/layouts/_base_footer_public.html.erb @@ -8,8 +8,8 @@ <% unless memo.nil? %>
  • <%= link_to l(:label_surpport_group), "#{Setting.protocol}://#{Setting.host_name}/forums/1/memos/1168", :class => "f_grey mw20", :target=>"_blank" %>|
  • <% end %> -
  • <%= l(:label_forums)%>|
  • -
  • <%= l(:label_language)%> +
  • <%= l(:label_forums)%>|
  • +
  • <%= l(:label_language)%>