组织base框架
This commit is contained in:
parent
1d23b2cf65
commit
01d9fbbef3
|
@ -2,11 +2,12 @@ class ContestsController < ApplicationController
|
|||
|
||||
before_filter :find_contest, :only => [:show]
|
||||
before_filter :is_logged, :only => [:index, :new, :create]
|
||||
layout "base_contests"
|
||||
|
||||
def show
|
||||
respond_to do |format|
|
||||
format.js
|
||||
format.html{render :layout => 'base_contests'}
|
||||
format.html
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
<div class="homepagePostSetting mt10 mr5" >
|
||||
<ul>
|
||||
<li class="homepagePostSettingIcon">
|
||||
<ul class="homepagePostSettiongText">
|
||||
<li><a href="javascript:void(0);" class="postOptionLink">设为私有</a></li>
|
||||
<li><a href="javascript:void(0);" class="postOptionLink">暂停加入</a></li>
|
||||
<li><a href="javascript:void(0);" class="postOptionLink">配置</a></li>
|
||||
<li><a href="javascript:void(0);" class="postOptionLink">删除</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
|
@ -0,0 +1,287 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title><%= h html_title %></title>
|
||||
<meta name="description" content="<%= Redmine::Info.app_name %>" />
|
||||
<meta name="keywords" content="issue,bug,tracker" />
|
||||
<%= csrf_meta_tag %>
|
||||
<%= favicon %>
|
||||
<%= javascript_heads %>
|
||||
<%= heads_for_theme %>
|
||||
<%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2','css/common','css/public', 'css/structure','prettify', 'css/courses','css/popup','sy_public','syllabus', 'css/moduel','css/contest'%>
|
||||
<%= javascript_include_tag "course","avatars","header","attachments",'prettify' %>
|
||||
<%= call_hook :view_layouts_base_html_head %>
|
||||
<!-- page specific tags -->
|
||||
<%= yield :header_tags -%>
|
||||
</head>
|
||||
|
||||
<!--add by huang-->
|
||||
<body onload="prettyPrint();">
|
||||
<div class="navContainer mb10"> <%= render :partial => User.current.logged? ? 'layouts/logined_header' : 'layouts/unlogin_header' %></div>
|
||||
<div class="cl"></div>
|
||||
|
||||
<div id="Container">
|
||||
<div class="sy_contanier">
|
||||
<div class="sy_class_infobox">
|
||||
<p class="sy_cgrey mb10">
|
||||
<%= link_to @contest.user.try(:show_name), user_path(@contest.user), :class => "sy_cgrey" %> >
|
||||
<%= link_to @contest.name, contest_path(@contest), :class => "sy_cgrey" %> >
|
||||
<%= link_to "配置", settings_contest_path(@contest), :class => "sy_cgrey" %>
|
||||
</p>
|
||||
<% if is_contest_manager?(User.current.id, @contest.id) %>
|
||||
<%= render :partial => "contests/mamager_setting" %>
|
||||
<% end %>
|
||||
|
||||
<div class="cl"></div>
|
||||
<div class="banner-game "><img src="/images/game/banner-game.png" width="968" height="110" /></div>
|
||||
<div class="sy_class_info fl">
|
||||
<div class="sy_class_titbox">
|
||||
<h3 class="fl sy_class_title"><%= @contest.name %></h3>
|
||||
<% unless @contest.is_public %>
|
||||
<span class="hw_icon_open fl ml5 mt3"></span>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<p class="sy_cgrey ">
|
||||
<span class=" mr15"> 管理员:<a class="sy_cblue"><%= contest_managers(@contest).count %></a></span>
|
||||
<span class=" mr15">评委:<a class="sy_cblue"><%= contest_judges(@contest).count %></a></span>
|
||||
<span class=" mr15">参赛者:<a class="sy_cblue"><%= contest_contestants(@contest).count %></a></span>
|
||||
</p>
|
||||
</div>
|
||||
<a href="javascript:void(0);" class="fr sy_btn_blue mt28 ml10">加入竞赛</a>
|
||||
<span class="fr mt30 f16"> 邀请码:<span class="sy_corange">JVCR</span></span>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div class="sy_content ">
|
||||
<div class="sy_class_l fl">
|
||||
<div class="sy_class_leftnav mb12" >
|
||||
<ul class="accordion">
|
||||
<li id="sy_01" class="sy_icons_game"> <a href="#sy_01" >竞赛首页</a></li>
|
||||
<li id="sy_01" class="sy_icons_index"> <a href="#sy_01" >动态<span>1</span></a></li>
|
||||
<li id="sy_02" class="sy_icons_boards"> <a href="#sy_02">讨论区<span>26</span></a> <a href="javascript:void(0);" class="sy_class_add"></a></li>
|
||||
<li id="sy_03" class="sy_icons_hwork"> <a href="#sy_03">作品<span>26</span></a> <a href="javascript:void(0);" class="sy_class_add"></a></li>
|
||||
<li id="sy_04" class="sy_icons_news"> <a href="#sy_04">通知<span>26</span></a><a href="javascript:void(0);" class="sy_class_add"></a></li>
|
||||
<li id="sy_06" class="sy_icons_feedback"> <a href="#sy_06">留言<span>26</span></a> <a href="javascript:void(0);" class="sy_class_add"></a></li>
|
||||
</ul>
|
||||
</div><!--sy_class_leftnav end-->
|
||||
</div><!--sy_class_l end-->
|
||||
<div class="sy_class_r fr ">
|
||||
<h3 class="game-setting-h3 "><span class="ml15"></span>竞赛配置</h3>
|
||||
<div class="game-setting-tab">
|
||||
<ul id="game-setting-tab-nav">
|
||||
<li id="game-setting-tab-nav-1" class="game-setting-nav-hover" onclick="HoverLi(1);">
|
||||
<a href="javascript:void(0);" >基本信息</a>
|
||||
</li>
|
||||
<li id="game-setting-tab-nav-2" onclick="HoverLi(2);">
|
||||
<a href="javascript:void(0);" >成员</a>
|
||||
</li>
|
||||
<li id="game-setting-tab-nav-3" onclick="HoverLi(3);">
|
||||
<a href="javascript:void(0);" >讨论区设置</a>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
</ul>
|
||||
<div id="game-setting-content-1">
|
||||
<div class="pro_new_setting_conbox fl " style="width:100%; border:none;">
|
||||
<div class="">
|
||||
<ul class="pro_newsetting_con mb15">
|
||||
<li class="clear mb10">
|
||||
<label class="label fl"> </label>
|
||||
<img alt="上传图片" height="60" src="images/project/logo_pro.jpg" width="60" class="fl ml5 pro_new_upimg">
|
||||
<button class="sub_btn fl mt35 ml5" name="button" type="button">文件浏览</button>
|
||||
</li>
|
||||
<li class="mb10">
|
||||
<label class="label"><span class="c_red f12">*</span> 竞赛名称 : </label>
|
||||
<input type="text" class="w625">
|
||||
<span ></span>
|
||||
</li>
|
||||
<li class="clear mb10">
|
||||
<label class="label fl"> 竞赛介绍 : </label>
|
||||
<textarea class=" fl ml5 w625" style="height:192px; padding-top:5px; background:#fff;" placeholder="参赛要求,参与方法,赛事日程(最多6000个字符)" ></textarea>
|
||||
</li>
|
||||
<li class="clear">
|
||||
<label class="fl ">公开 :</label>
|
||||
<input class="fl ml5" type="checkbox">
|
||||
<span class="fl c_grey ">(选中后对所有用户可见,否则仅对成员可见。)</span>
|
||||
</li>
|
||||
<li class="clear">
|
||||
<a href="javascript:void(0);" class="sy_btn_grey mr5 fl ml40 "> 删除</a>
|
||||
<p class="fl c_grey">(友情提示:删除该竞赛后如果您想恢复,请联系系统管理员!)</p>
|
||||
<a href="javascript:void(0);" class="sy_btn_blue mr15 fr" > 保存</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div><!--issues_list_content_1 end-->
|
||||
|
||||
<div id="game-setting-content-2" class="undis">
|
||||
<div class="pro_new_setting_conbox fl " style="width:100%; border:none;">
|
||||
<a href="javascript:void(0);" class="fl sy_btn_green mb10 ml15">添加成员</a>
|
||||
<div class="cl"></div>
|
||||
<div class=" sy_new_tchbox clear" style="margin-left:10px; margin-right:10px">
|
||||
<div class="hw_search_box mb10">
|
||||
<input class=" sy_new_search" placeholder="支持姓名、邮箱、登录名搜索" type="text">
|
||||
</div>
|
||||
<div class="clear mb10">
|
||||
<ul class="pro_new_idlist fl">
|
||||
<li class=" clear " ><input type="checkbox" class="mr5 fl" ><span class="fl pro_new_idname mt3">shashashashashashasshashashashashashshashashashashashshashashashashashshashashashashashhasha</span></li>
|
||||
<li class=" clear "><input type="checkbox" class="mr5 fl" ><span class="fl mt3">shashashashashashashasha</span></li>
|
||||
<li class=" clear "><input type="checkbox" class="mr5 fl" ><span class="fl mt3">shashashashashashashasha</span></li>
|
||||
<li class=" clear "><input type="checkbox" class="mr5 fl" ><span class="fl mt3">shashashashashashashasha</span></li>
|
||||
|
||||
</ul>
|
||||
<ul class="fl pro_new_idbox">
|
||||
<li class="clear ">
|
||||
<input type="checkbox" class="mt2 fl" >
|
||||
<p class="fl ml5"> 管理员</p>
|
||||
</li>
|
||||
<li class="clear ">
|
||||
<input type="checkbox" class="mt2 fl" >
|
||||
<p class="fl ml5"> 评委</p>
|
||||
</li>
|
||||
<li class="clear ">
|
||||
<input type="checkbox" class="mt2 fl" >
|
||||
<p class="fl ml5"> 参赛者</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<a href="javascript:void(0);" class="fr sy_btn_grey ">取消</a><a href="javascript:void(0);" class="fr sy_btn_blue mr5">保存</a>
|
||||
</div>
|
||||
|
||||
<div class=" clear ml10 mr10" >
|
||||
<table class="sy_new_table clearfix mb15 " cellpadding="0" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>序号</th>
|
||||
<th style="width:320px;">用户</th>
|
||||
<th>角色</th>
|
||||
<th class="sy_new_namebox">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>1</th>
|
||||
<th>shashasha</th>
|
||||
<th>管理人员</th>
|
||||
<th><a href="javascript:void(0);" class=" sy_btn_blue mr5 ">编辑</a><a href="javascript:void(0);" class=" sy_btn_grey mr5 ">删除</a></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>2</th>
|
||||
<th>shashasha</th>
|
||||
<th>主办人</th>
|
||||
<th><a href="javascript:void(0);" class=" sy_btn_blue mr5 ">编辑</a><a href="javascript:void(0);" class=" sy_btn_grey mr5 ">删除</a></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>3</th>
|
||||
<th ><span class="pro_new_idname">shashashashashashashashashahashashashashashashasha</span></th>
|
||||
<th>
|
||||
<ul class="clear ml15">
|
||||
<li class="fl mr5">
|
||||
<input type="checkbox" class="mt6 fl" >
|
||||
<p class="fl ml5"> 管理员</p>
|
||||
</li>
|
||||
<li class="fl mr5">
|
||||
<input type="checkbox" class="mt6 fl" >
|
||||
<p class="fl ml5"> 评委</p>
|
||||
</li>
|
||||
<li class="fl mr5">
|
||||
<input type="checkbox" class="mt6 fl" >
|
||||
<p class="fl ml5"> 参赛者</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</th>
|
||||
<th><a href="javascript:void(0);" class=" sy_btn_blue mr5 ">保存</a><a href="javascript:void(0);" class=" sy_btn_grey mr5 ">删除</a></th>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div><!--issues_list_content_2 end-->
|
||||
<div id="game-setting-content-3" class="undis">
|
||||
<div class="pro_new_setting_conbox " style="width:100%; border:none;">
|
||||
<div class=" sy_new_tchbox clear " style="margin-left:10px; margin-right:10px; " >
|
||||
<ul class="pro_newsetting_con mb15">
|
||||
<li class="mb10 clear">
|
||||
<label class=" fl">新增子栏目名称 : </label>
|
||||
<input type="text" class="w695 fl" placeholder=" 请输入子栏目名称">
|
||||
</li>
|
||||
</ul>
|
||||
<a href="javascript:void(0);" class="fr sy_btn_grey ">取消</a><a href="javascript:void(0);" class="fr sy_btn_blue mr5">保存</a>
|
||||
</div>
|
||||
<div class=" clear ml10 mr10" >
|
||||
<table class="sy_new_table clearfix mb15 " cellpadding="0" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>名称</th>
|
||||
<th style="width:280px;">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="game-text-left"><span class=" ml20"></span>竞赛讨论区</th>
|
||||
<th class="game-text-right"><a href="javascript:void(0);" class=" sy_btn_green mr5 ">添加子栏目</a></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="game-text-left"><span class=" ml40"></span>技术讨论区</th>
|
||||
<th class="game-text-right"><a href="javascript:void(0);" class=" sy_btn_blue mr5 ">下移</a><a href="javascript:void(0);" class=" sy_btn_blue mr5 ">编辑</a><a href="javascript:void(0);" class=" sy_btn_grey mr5 ">删除</a></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="game-text-left"><span class=" ml40"></span>学术论区</th>
|
||||
<th class="game-text-right"><a href="javascript:void(0);" class=" sy_btn_blue mr5 ">上移</a><a href="javascript:void(0);" class=" sy_btn_blue mr5 ">下移</a><a href="javascript:void(0);" class=" sy_btn_blue mr5 ">编辑</a><a href="javascript:void(0);" class=" sy_btn_grey mr5 ">删除</a></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="game-text-left"><span class=" ml40"></span>学术论区</th>
|
||||
<th class="game-text-right"><a href="javascript:void(0);" class=" sy_btn_blue mr5 ">上移</a><a href="javascript:void(0);" class=" sy_btn_blue mr5 ">编辑</a><a href="javascript:void(0);" class=" sy_btn_grey mr5 ">删除</a></th>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div><!--issues_list_content_3 end-->
|
||||
</div><!--issues_con_list end-->
|
||||
|
||||
|
||||
</div><!--sy_class_r end-->
|
||||
<div class="cl"></div>
|
||||
</div><!--sy_content end-->
|
||||
</div>
|
||||
|
||||
<%= render_flash_messages %>
|
||||
<%= yield %>
|
||||
<%= call_hook :view_layouts_base_content %>
|
||||
<div style="clear:both;"></div>
|
||||
|
||||
<div style="clear:both;"></div>
|
||||
</div>
|
||||
|
||||
<div class="cl"></div>
|
||||
<%= render :partial => 'layouts/footer' %>
|
||||
<div class="cl"></div>
|
||||
<% if hidden_unproject_infos %>
|
||||
<%= render :partial => 'layouts/new_feedback' %>
|
||||
<% end %>
|
||||
<div id="ajax-indicator" style="display:none;">
|
||||
<span><%= l(:label_loading) %></span>
|
||||
</div>
|
||||
<div id="ajax-modal" style="display:none;"></div>
|
||||
<div id="nh_tx_dialog_html" class="white_content" style="display:none;">
|
||||
<%=render :partial => 'layouts/upload_avatar', :locals => {:source => @contest} %>
|
||||
</div>
|
||||
<%= call_hook :view_layouts_base_body_bottom %>
|
||||
</body>
|
||||
<!-- MathJax的配置 -->
|
||||
<script type="text/javascript" src="/javascripts/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
||||
<!-- 配置 : 在生成的公式图片上去掉Math定义的右键菜单,$$ $$ \( \) \[ \] 中的公式给予显示-->
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({
|
||||
showMathMenu: false,
|
||||
showMathMenuMSIE: false,
|
||||
tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
|
||||
});
|
||||
</script>
|
||||
<%= javascript_include_tag 'cookie','project',"avatars", 'header','prettify','select_list_move','attachments' %>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
class UpdateMailNotification < ActiveRecord::Migration
|
||||
def up
|
||||
end
|
||||
|
||||
def down
|
||||
end
|
||||
end
|
224
db/schema.rb
224
db/schema.rb
|
@ -11,7 +11,7 @@
|
|||
#
|
||||
# It's strongly recommended to check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(:version => 20161208015939) do
|
||||
ActiveRecord::Schema.define(:version => 20161222033007) do
|
||||
|
||||
create_table "activities", :force => true do |t|
|
||||
t.integer "act_id", :null => false
|
||||
|
@ -333,6 +333,8 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
t.date "commit_date"
|
||||
t.string "scmid"
|
||||
t.integer "user_id"
|
||||
t.integer "project_id"
|
||||
t.integer "type", :default => 0
|
||||
end
|
||||
|
||||
add_index "changesets", ["committed_on"], :name => "index_changesets_on_committed_on"
|
||||
|
@ -426,6 +428,14 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
add_index "comments", ["author_id"], :name => "index_comments_on_author_id"
|
||||
add_index "comments", ["commented_id", "commented_type"], :name => "index_comments_on_commented_id_and_commented_type"
|
||||
|
||||
create_table "commit_issues", :force => true do |t|
|
||||
t.string "commit_id"
|
||||
t.integer "issue_id"
|
||||
t.integer "project_id"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
create_table "commits", :force => true do |t|
|
||||
t.integer "repository_id"
|
||||
t.string "version"
|
||||
|
@ -437,54 +447,123 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
create_table "contest_notifications", :force => true do |t|
|
||||
t.text "title"
|
||||
create_table "contest_activities", :force => true do |t|
|
||||
t.integer "user_id"
|
||||
t.integer "contest_id"
|
||||
t.integer "contest_act_id"
|
||||
t.string "contest_act_type"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
add_index "contest_activities", ["contest_id"], :name => "index_contest_activities_on_contest_id"
|
||||
add_index "contest_activities", ["user_id"], :name => "index_contest_activities_on_user_id"
|
||||
|
||||
create_table "contest_member_roles", :force => true do |t|
|
||||
t.integer "contest_member_id"
|
||||
t.integer "role_id"
|
||||
t.boolean "is_current", :default => true
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
add_index "contest_member_roles", ["contest_member_id"], :name => "index_contest_member_roles_on_contest_member_id"
|
||||
add_index "contest_member_roles", ["role_id"], :name => "index_contest_member_roles_on_role_id"
|
||||
|
||||
create_table "contest_members", :force => true do |t|
|
||||
t.integer "user_id"
|
||||
t.integer "contest_id"
|
||||
t.boolean "is_collect", :default => true
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
add_index "contest_members", ["contest_id"], :name => "index_contest_members_on_contest_id"
|
||||
add_index "contest_members", ["user_id"], :name => "index_contest_members_on_user_id"
|
||||
|
||||
create_table "contest_messages", :force => true do |t|
|
||||
t.integer "user_id"
|
||||
t.integer "contest_id"
|
||||
t.integer "contest_message_id"
|
||||
t.string "course_message_type"
|
||||
t.boolean "viewed", :default => false
|
||||
t.text "content"
|
||||
t.integer "status"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
create_table "contesting_projects", :force => true do |t|
|
||||
add_index "contest_messages", ["contest_id"], :name => "index_contest_messages_on_contest_id"
|
||||
add_index "contest_messages", ["user_id"], :name => "index_contest_messages_on_user_id"
|
||||
|
||||
create_table "contestant_for_contests", :force => true do |t|
|
||||
t.integer "student_id"
|
||||
t.integer "contest_id"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
add_index "contestant_for_contests", ["contest_id"], :name => "index_contestant_for_contests_on_contest_id"
|
||||
add_index "contestant_for_contests", ["student_id"], :name => "index_contestant_for_contests_on_student_id"
|
||||
|
||||
create_table "contestant_work_projects", :force => true do |t|
|
||||
t.integer "contest_id"
|
||||
t.integer "work_id"
|
||||
t.integer "contestant_work_id"
|
||||
t.integer "project_id"
|
||||
t.string "contest_id"
|
||||
t.integer "user_id"
|
||||
t.string "description"
|
||||
t.boolean "is_leader"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
t.string "reward"
|
||||
end
|
||||
|
||||
create_table "contesting_softapplications", :force => true do |t|
|
||||
t.integer "softapplication_id"
|
||||
t.integer "contest_id"
|
||||
add_index "contestant_work_projects", ["contest_id"], :name => "index_contestant_work_projects_on_contest_id"
|
||||
add_index "contestant_work_projects", ["contestant_work_id"], :name => "index_contestant_work_projects_on_contestant_work_id"
|
||||
add_index "contestant_work_projects", ["user_id"], :name => "index_contestant_work_projects_on_user_id"
|
||||
add_index "contestant_work_projects", ["work_id"], :name => "index_contestant_work_projects_on_work_id"
|
||||
|
||||
create_table "contestant_work_scores", :force => true do |t|
|
||||
t.integer "contestant_work_id"
|
||||
t.integer "user_id"
|
||||
t.string "description"
|
||||
t.integer "score"
|
||||
t.text "comment"
|
||||
t.integer "reviewer_role"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
t.string "reward"
|
||||
end
|
||||
|
||||
create_table "contestnotifications", :force => true do |t|
|
||||
t.integer "contest_id"
|
||||
t.string "title"
|
||||
t.string "summary"
|
||||
add_index "contestant_work_scores", ["contestant_work_id"], :name => "index_contestant_work_scores_on_contestant_work_id"
|
||||
add_index "contestant_work_scores", ["user_id"], :name => "index_contestant_work_scores_on_user_id"
|
||||
|
||||
create_table "contestant_works", :force => true do |t|
|
||||
t.string "name"
|
||||
t.text "description"
|
||||
t.integer "author_id"
|
||||
t.integer "notificationcomments_count"
|
||||
t.integer "work_id"
|
||||
t.integer "user_id"
|
||||
t.float "work_score"
|
||||
t.integer "project_id"
|
||||
t.integer "work_status"
|
||||
t.datetime "commit_time"
|
||||
t.boolean "is_delete", :default => false
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
add_index "contestant_works", ["project_id"], :name => "index_contestant_works_on_project_id"
|
||||
add_index "contestant_works", ["user_id"], :name => "index_contestant_works_on_user_id"
|
||||
add_index "contestant_works", ["work_id"], :name => "index_contestant_works_on_work_id"
|
||||
|
||||
create_table "contests", :force => true do |t|
|
||||
t.integer "user_id"
|
||||
t.string "name"
|
||||
t.string "budget", :default => ""
|
||||
t.integer "author_id"
|
||||
t.date "deadline"
|
||||
t.string "description"
|
||||
t.integer "commit"
|
||||
t.string "password"
|
||||
t.datetime "created_on", :null => false
|
||||
t.datetime "updated_on", :null => false
|
||||
t.text "description"
|
||||
t.boolean "is_public"
|
||||
t.boolean "is_delete", :default => false
|
||||
t.integer "visits", :default => 0
|
||||
t.string "invite_code"
|
||||
t.integer "invite_code_halt", :default => 0
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
create_table "course_activities", :force => true do |t|
|
||||
|
@ -516,20 +595,6 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
t.integer "container_id", :default => 0
|
||||
end
|
||||
|
||||
create_table "course_class_post", :id => false, :force => true do |t|
|
||||
t.integer "班级id", :default => 0, :null => false
|
||||
t.string "班级名"
|
||||
t.integer "帖子id", :default => 0, :null => false
|
||||
t.integer "主贴id"
|
||||
t.string "帖子标题", :default => "", :null => false
|
||||
t.text "帖子内容"
|
||||
t.integer "帖子用户id"
|
||||
t.integer "帖子回复数", :default => 0, :null => false
|
||||
t.integer "最后回帖id"
|
||||
t.datetime "发帖时间", :null => false
|
||||
t.datetime "帖子更新时间", :null => false
|
||||
end
|
||||
|
||||
create_table "course_contributor_scores", :force => true do |t|
|
||||
t.integer "course_id"
|
||||
t.integer "user_id"
|
||||
|
@ -629,6 +694,7 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
t.string "invite_code"
|
||||
t.string "qrcode"
|
||||
t.integer "qrcode_expiretime", :default => 0
|
||||
t.integer "professional_level_id", :limit => 1
|
||||
t.integer "invite_code_halt", :limit => 1, :default => 0
|
||||
end
|
||||
|
||||
|
@ -680,6 +746,14 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
add_index "custom_values", ["custom_field_id"], :name => "index_custom_values_on_custom_field_id"
|
||||
add_index "custom_values", ["customized_type", "customized_id"], :name => "custom_values_customized"
|
||||
|
||||
create_table "data_exceptions", :force => true do |t|
|
||||
t.string "message"
|
||||
t.integer "container_id"
|
||||
t.string "container_type"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
create_table "delayed_jobs", :force => true do |t|
|
||||
t.integer "priority", :default => 0, :null => false
|
||||
t.integer "attempts", :default => 0, :null => false
|
||||
|
@ -696,6 +770,11 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
|
||||
add_index "delayed_jobs", ["priority", "run_at"], :name => "delayed_jobs_priority"
|
||||
|
||||
create_table "disciplines", :force => true do |t|
|
||||
t.string "name"
|
||||
t.integer "professional_level_id", :limit => 1
|
||||
end
|
||||
|
||||
create_table "discuss_demos", :force => true do |t|
|
||||
t.string "title"
|
||||
t.text "body"
|
||||
|
@ -826,8 +905,6 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
t.datetime "publish_time"
|
||||
t.datetime "end_time"
|
||||
t.integer "show_result"
|
||||
t.integer "question_random", :default => 0
|
||||
t.integer "choice_random", :default => 0
|
||||
end
|
||||
|
||||
create_table "first_pages", :force => true do |t|
|
||||
|
@ -944,6 +1021,7 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
t.integer "is_open", :default => 0
|
||||
t.datetime "simi_time"
|
||||
t.integer "score_open", :default => 1
|
||||
t.integer "anonymous_appeal", :default => 0
|
||||
end
|
||||
|
||||
add_index "homework_commons", ["course_id", "id"], :name => "index_homework_commons_on_course_id_and_id"
|
||||
|
@ -970,6 +1048,7 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
t.integer "no_anon_penalty", :default => 1
|
||||
t.integer "appeal_penalty", :default => 0
|
||||
end
|
||||
|
||||
create_table "homework_detail_programings", :force => true do |t|
|
||||
|
@ -1014,6 +1093,10 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
create_table "innodb_monitor", :id => false, :force => true do |t|
|
||||
t.integer "a"
|
||||
end
|
||||
|
||||
create_table "invite_lists", :force => true do |t|
|
||||
t.integer "project_id"
|
||||
t.integer "user_id"
|
||||
|
@ -1545,9 +1628,12 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
end
|
||||
|
||||
create_table "professional_levels", :force => true do |t|
|
||||
t.string "level"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
t.integer "level"
|
||||
end
|
||||
|
||||
create_table "professions", :force => true do |t|
|
||||
t.string "name"
|
||||
t.integer "discipline_id", :limit => 1
|
||||
end
|
||||
|
||||
create_table "project_infos", :force => true do |t|
|
||||
|
@ -1610,7 +1696,6 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
t.boolean "hidden_repo", :default => false, :null => false
|
||||
t.integer "attachmenttype", :default => 1
|
||||
t.integer "user_id"
|
||||
t.integer "dts_test", :default => 0
|
||||
t.string "enterprise_name"
|
||||
t.integer "organization_id"
|
||||
t.integer "project_new_type"
|
||||
|
@ -1618,6 +1703,11 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
t.integer "forked_from_project_id"
|
||||
t.integer "forked_count"
|
||||
t.integer "publish_resource", :default => 0
|
||||
t.integer "boards_count", :default => 0
|
||||
t.integer "news_count", :default => 0
|
||||
t.integer "acts_count", :default => 0
|
||||
t.integer "journals_count", :default => 0
|
||||
t.integer "boards_reply_count", :default => 0
|
||||
t.integer "visits", :default => 0
|
||||
t.integer "hot", :default => 0
|
||||
t.string "invite_code"
|
||||
|
@ -1922,6 +2012,7 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
t.integer "work_status", :default => 0
|
||||
t.datetime "commit_time"
|
||||
t.integer "is_delete", :default => 0
|
||||
t.integer "appeal_penalty", :default => 0
|
||||
end
|
||||
|
||||
add_index "student_works", ["homework_common_id", "user_id"], :name => "index_student_works_on_homework_common_id_and_user_id"
|
||||
|
@ -1941,11 +2032,21 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
t.integer "reviewer_role"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
t.integer "appeal_status", :default => 0
|
||||
end
|
||||
|
||||
add_index "student_works_scores", ["student_work_id"], :name => "student_work_id"
|
||||
add_index "student_works_scores", ["user_id"], :name => "user_id"
|
||||
|
||||
create_table "student_works_scores_appeals", :force => true do |t|
|
||||
t.integer "student_works_score_id"
|
||||
t.integer "user_id"
|
||||
t.text "comment"
|
||||
t.integer "appeal_status"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
create_table "students_for_courses", :force => true do |t|
|
||||
t.integer "student_id"
|
||||
t.integer "course_id"
|
||||
|
@ -2016,6 +2117,7 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
t.string "pre_course"
|
||||
t.integer "visits", :default => 0
|
||||
t.integer "des_status", :default => 0
|
||||
t.integer "professional_level_id", :limit => 1
|
||||
end
|
||||
|
||||
add_index "syllabuses", ["user_id"], :name => "index_syllabuses_on_user_id"
|
||||
|
@ -2379,6 +2481,17 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
|
||||
add_index "wikis", ["project_id"], :name => "wikis_project_id"
|
||||
|
||||
create_table "work_detail_groups", :force => true do |t|
|
||||
t.integer "work_id"
|
||||
t.integer "min_num"
|
||||
t.integer "max_num"
|
||||
t.boolean "base_on_project"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
add_index "work_detail_groups", ["work_id"], :name => "index_work_detail_groups_on_work_id"
|
||||
|
||||
create_table "workflows", :force => true do |t|
|
||||
t.integer "tracker_id", :default => 0, :null => false
|
||||
t.integer "old_status_id", :default => 0, :null => false
|
||||
|
@ -2396,6 +2509,25 @@ ActiveRecord::Schema.define(:version => 20161208015939) do
|
|||
add_index "workflows", ["role_id", "tracker_id", "old_status_id"], :name => "wkfs_role_tracker_old_status"
|
||||
add_index "workflows", ["role_id"], :name => "index_workflows_on_role_id"
|
||||
|
||||
create_table "works", :force => true do |t|
|
||||
t.string "name"
|
||||
t.integer "user_id"
|
||||
t.text "description"
|
||||
t.date "publish_time"
|
||||
t.date "end_time"
|
||||
t.integer "work_type"
|
||||
t.integer "contest_id"
|
||||
t.boolean "is_delete", :default => false
|
||||
t.boolean "score_open", :default => true
|
||||
t.boolean "is_open", :default => false
|
||||
t.integer "work_status"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
add_index "works", ["contest_id"], :name => "index_works_on_contest_id"
|
||||
add_index "works", ["user_id"], :name => "index_works_on_user_id"
|
||||
|
||||
create_table "works_categories", :force => true do |t|
|
||||
t.string "category"
|
||||
t.datetime "created_at", :null => false
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 114 KiB |
Binary file not shown.
After Width: | Height: | Size: 896 KiB |
|
@ -0,0 +1,16 @@
|
|||
/* 竞赛设置tab*/
|
||||
.game-setting-tab{border:1px solid #fff; }
|
||||
#game-setting-tab-nav {border-bottom:1px solid #d0d0d0;}
|
||||
#game-setting-tab-nav li {float:left; padding:10px 15px; text-align:center; }
|
||||
#game-setting-tab-nav li a{font-size:14px; color:#444;}
|
||||
.game-setting-nav-hover{border-bottom:3px solid #3498db; font-weight:bold; }
|
||||
.game-setting-nav-nomall {border-bottom:none; }
|
||||
.undis {display:none;}
|
||||
.dis {display:block;}
|
||||
/* 竞赛*/
|
||||
.banner-game { width: 968px; height: 110px;}
|
||||
.game-text-right{ text-align: right;}
|
||||
.game-text-left{ text-align: left;}
|
||||
.game-setting-h3{ width: 100%; height: 40px; line-height: 40px; font-size: 14px; color: #666; font-weight: normal; background: #fff; border-bottom: 10px solid #eaebec;}
|
||||
.w695{width: 695px; }
|
||||
.w625{width: 625px; }
|
Loading…
Reference in New Issue