diff --git a/app/controllers/boards_controller.rb b/app/controllers/boards_controller.rb
index 8d9d1c20b..6aa886d02 100644
--- a/app/controllers/boards_controller.rb
+++ b/app/controllers/boards_controller.rb
@@ -261,6 +261,18 @@ class BoardsController < ApplicationController
respond_to do |format|
format.js
end
+ elsif @contest
+ parent = Board.find params[:board_id].to_i
+ board = @contest.boards.build
+ board.name = params[:name]
+ board.description = board.name
+ board.project_id = -1
+ board.course_id = -1
+ board.position = parent.children.count + 1
+ parent.children << board
+ respond_to do |format|
+ format.js
+ end
end
end
@@ -284,7 +296,7 @@ class BoardsController < ApplicationController
after_boards = @board.parent.children.where("position > #{@board.position}")
after_boards.update_all("position = position - 1")
@board.destroy
- if @course
+ if @course || @contest
respond_to do |format|
format.js
end
@@ -294,7 +306,7 @@ class BoardsController < ApplicationController
end
def update_position
- if @course
+ if @course || @contest
boards = @board.parent.children
if params[:opr] == 'up' && @board.position > 1
before_board = boards.where("position = #{@board.position - 1}").first
@@ -314,7 +326,7 @@ class BoardsController < ApplicationController
end
def update_name
- if @course
+ if @course || @contest
@board.update_attribute("name", params[:name])
@board.update_attribute("description", params[:name])
respond_to do |format|
diff --git a/app/views/boards/_contest_show.html.erb b/app/views/boards/_contest_show.html.erb
index 1552a3e2b..5f524c359 100644
--- a/app/views/boards/_contest_show.html.erb
+++ b/app/views/boards/_contest_show.html.erb
@@ -26,9 +26,9 @@
<% is_teacher = User.current.logged? && (User.current.admin? || User.current.admin_of_contest?(@board.contest)) %>
- <%# if is_teacher %>
- <%#= link_to "添加子栏目", settings_course_path(@board.course.id,'boards'), :class => "link-blue fr mt5" %>
- <%# end %>
+ <% if is_teacher %>
+ <%= link_to "添加子栏目", settings_contest_path(@board.contest.id, :tab => 'boards'), :class => "link-blue fr mt5" %>
+ <% end %>
<% if User.current.logged? %>
diff --git a/app/views/boards/create.js.erb b/app/views/boards/create.js.erb
index 8fe824e69..1daa92536 100644
--- a/app/views/boards/create.js.erb
+++ b/app/views/boards/create.js.erb
@@ -2,4 +2,8 @@
$("#tbc_04").html("<%=escape_javascript(render :partial => 'courses/settings/boards_setting') %>");
<% course_board = @course.boards.where("parent_id is NULL").first %>
$("#board_children_list").html("<%= escape_javascript(render :partial => 'layouts/board_children_list', :locals => {:course_board => course_board})%>");
+<% elsif @contest %>
+ $("#game-setting-content-3").html("<%=escape_javascript(render :partial => 'contests/boards') %>");
+ <% contest_board = @contest.boards.where("parent_id is NULL").first %>
+ $("#board_children_list").html("<%= escape_javascript(render :partial => 'layouts/contest_board_children_list', :locals => {:contest_board => contest_board})%>");
<% end %>
\ No newline at end of file
diff --git a/app/views/boards/destroy.js.erb b/app/views/boards/destroy.js.erb
index 3c997b725..96fe4e80f 100644
--- a/app/views/boards/destroy.js.erb
+++ b/app/views/boards/destroy.js.erb
@@ -2,4 +2,9 @@
$("#tbc_04").html("<%=escape_javascript(render :partial => 'courses/settings/boards_setting') %>");
<% course_board = @course.boards.where("parent_id is NULL").first %>
$("#board_children_list").html("<%= escape_javascript(render :partial => 'layouts/board_children_list', :locals => {:course_board => course_board})%>");
+<% elsif @contest %>
+hideModal();
+$("#game-setting-content-3").html("<%=escape_javascript(render :partial => 'contests/boards') %>");
+<% contest_board = @contest.boards.where("parent_id is NULL").first %>
+$("#board_children_list").html("<%= escape_javascript(render :partial => 'layouts/contest_board_children_list', :locals => {:contest_board => contest_board})%>");
<% end %>
\ No newline at end of file
diff --git a/app/views/boards/update_name.js.erb b/app/views/boards/update_name.js.erb
index 3c997b725..96fe4e80f 100644
--- a/app/views/boards/update_name.js.erb
+++ b/app/views/boards/update_name.js.erb
@@ -2,4 +2,9 @@
$("#tbc_04").html("<%=escape_javascript(render :partial => 'courses/settings/boards_setting') %>");
<% course_board = @course.boards.where("parent_id is NULL").first %>
$("#board_children_list").html("<%= escape_javascript(render :partial => 'layouts/board_children_list', :locals => {:course_board => course_board})%>");
+<% elsif @contest %>
+hideModal();
+$("#game-setting-content-3").html("<%=escape_javascript(render :partial => 'contests/boards') %>");
+<% contest_board = @contest.boards.where("parent_id is NULL").first %>
+$("#board_children_list").html("<%= escape_javascript(render :partial => 'layouts/contest_board_children_list', :locals => {:contest_board => contest_board})%>");
<% end %>
\ No newline at end of file
diff --git a/app/views/boards/update_position.js.erb b/app/views/boards/update_position.js.erb
index 3c997b725..77523ee13 100644
--- a/app/views/boards/update_position.js.erb
+++ b/app/views/boards/update_position.js.erb
@@ -2,4 +2,8 @@
$("#tbc_04").html("<%=escape_javascript(render :partial => 'courses/settings/boards_setting') %>");
<% course_board = @course.boards.where("parent_id is NULL").first %>
$("#board_children_list").html("<%= escape_javascript(render :partial => 'layouts/board_children_list', :locals => {:course_board => course_board})%>");
+<% elsif @contest %>
+$("#game-setting-content-3").html("<%=escape_javascript(render :partial => 'contests/boards') %>");
+<% contest_board = @contest.boards.where("parent_id is NULL").first %>
+$("#board_children_list").html("<%= escape_javascript(render :partial => 'layouts/contest_board_children_list', :locals => {:contest_board => contest_board})%>");
<% end %>
\ No newline at end of file
diff --git a/app/views/contests/_boards.html.erb b/app/views/contests/_boards.html.erb
index e8155e5ff..e4d56afb9 100644
--- a/app/views/contests/_boards.html.erb
+++ b/app/views/contests/_boards.html.erb
@@ -1,15 +1,21 @@
-
-
-
-
取消 保存
+<% board = @contest.boards.where("parent_id is NULL").first %>
+
+
+ <%= form_tag url_for(:controller => 'boards', :action => 'create', :contest_id => @contest.id, :board_id => board.id), :id=> 'add_board_form_subboard',:remote => true do %>
+
+
取消
+
+ <% end %>
-
-
+
+
名称
@@ -18,23 +24,85 @@
- 竞赛讨论区
- 添加子栏目
+ 竞赛讨论区
+ 添加子栏目
-
- 技术讨论区
- 下移 编辑 删除
-
-
- 学术论区
- 上移 下移 编辑 删除
-
-
- 学术论区
- 上移 编辑 删除
-
-
+ <% count = board.children.count %>
+ <% board.children.reorder("position asc").each_with_index do |board, i|%>
+
+
+ <%=board.name %>
+
+
+
+
+
+ <% unless i == 0 %>
+ <%= link_to('上移', {:controller => 'boards', :action => 'update_position', :id => board.id, :contest_id => @contest.id, :opr => 'up'},:remote => true, :method => 'post', :class => "sy_btn_blue mr5", :title => '上移') %>
+ <% end %>
+ <% if i < count - 1 %>
+ <%= link_to('下移', {:controller => 'boards', :action => 'update_position', :id => board.id, :contest_id => @contest.id, :opr => 'down'},:remote => true, :method => 'post', :class => "sy_btn_blue mr5", :title => '下移') %>
+ <% end %>
+ 编辑
+ 删除
+
+
+ <% end %>
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/app/views/contests/_contest_member.html.erb b/app/views/contests/_contest_member.html.erb
index 8ba1fc43f..6cca7d599 100644
--- a/app/views/contests/_contest_member.html.erb
+++ b/app/views/contests/_contest_member.html.erb
@@ -1,8 +1,8 @@
- 序号
- 用户
+ 序号
+ 姓名
角色
操作
diff --git a/app/views/contests/settings.html.erb b/app/views/contests/settings.html.erb
index 4050f0521..5d24c585a 100644
--- a/app/views/contests/settings.html.erb
+++ b/app/views/contests/settings.html.erb
@@ -3,13 +3,13 @@
@@ -33,6 +33,8 @@
$(function(){
<% if @select_tab == 'member'%>
$("#game-setting-tab-nav-2").click();
+ <% elsif @select_tab == 'boards'%>
+ $("#game-setting-tab-nav-3").click();
<% end %>
});
function g(o){
@@ -44,7 +46,7 @@
g('game-setting-tab-nav-'+i).className='game-setting-nav-nomall';
g('game-setting-content-'+i).className='undis';
}
- g('game-setting-content-'+n).className='dis';
+ g('game-setting-content-'+n).className='game-dis';
g('game-setting-tab-nav-'+n).className='game-setting-nav-hover';
}
diff --git a/app/views/layouts/_board_children_list.html.erb b/app/views/layouts/_board_children_list.html.erb
index fb8a6424b..39bfe1798 100644
--- a/app/views/layouts/_board_children_list.html.erb
+++ b/app/views/layouts/_board_children_list.html.erb
@@ -2,7 +2,7 @@