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|%> + + + + + <% end %>
名称
竞赛讨论区添加子栏目竞赛讨论区添加子栏目
技术讨论区下移编辑删除
学术论区上移下移编辑删除
学术论区上移编辑删除
+ + + + <% 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 %> + 编辑 + 删除 +
-
\ 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 @@
序号用户序号姓名 角色 操作