分组作业关联项目
This commit is contained in:
parent
c26778b41c
commit
a9f6e817b4
|
@ -3,7 +3,7 @@ class StudentWorkController < ApplicationController
|
|||
include StudentWorkHelper
|
||||
require 'bigdecimal'
|
||||
require "base64"
|
||||
before_filter :find_homework, :only => [:new, :index, :create, :student_work_absence_penalty, :absence_penalty_list, :evaluation_list, :program_test,:set_score_rule,:forbidden_anonymous_comment,:delete_work]
|
||||
before_filter :find_homework, :only => [:new, :index, :create, :student_work_absence_penalty, :absence_penalty_list, :evaluation_list, :program_test,:set_score_rule,:forbidden_anonymous_comment,:delete_work,:new_student_work_project,:student_work_project]
|
||||
before_filter :find_work, :only => [:edit, :update, :show, :destroy, :add_score, :praise_student_work,:retry_work,:revise_attachment]
|
||||
before_filter :member_of_course, :only => [:index, :new, :create, :show, :add_score, :praise_student_work]
|
||||
before_filter :author_of_work, :only => [:edit, :update, :destroy]
|
||||
|
@ -540,6 +540,43 @@ class StudentWorkController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
def new_student_work_project
|
||||
@user_activity_id = params[:user_activity_id].to_i
|
||||
@is_in_course = params[:is_in_course].to_i
|
||||
@course_activity = params[:course_activity].to_i
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
end
|
||||
|
||||
#创建作业的关联项目
|
||||
def student_work_project
|
||||
projects = cur_user_projects_for_homework @homework
|
||||
if projects.nil?
|
||||
@project = StudentWorkProject.new
|
||||
@project.homework_common_id = @homework.id
|
||||
@project.project_id = (Project.find params[:project_id]).id
|
||||
@project.user_id = User.current.id
|
||||
if @project.save
|
||||
@user_activity_id = params[:user_activity_id].to_i
|
||||
@is_in_course = params[:is_in_course].to_i
|
||||
@course_activity = params[:course_activity].to_i
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
#查找学生创建的项目列表
|
||||
def search_user_projects
|
||||
condition = '%%'
|
||||
if !params[:name].nil?
|
||||
condition = "%#{params[:name].strip}%".gsub(" ","")
|
||||
end
|
||||
project_ids = Project.where("user_id = #{User.current.id} and ")
|
||||
end
|
||||
|
||||
private
|
||||
def hsd_committed_work?(user, homework)
|
||||
sw = StudentWork.where("user_id =? and homework_common_id =?", user, homework).first
|
||||
|
|
|
@ -2459,6 +2459,21 @@ module ApplicationHelper
|
|||
|
||||
end
|
||||
|
||||
def relate_project homework,is_teacher,is_in_course,user_activity_id,course_activity
|
||||
if User.current.member_of_course?(homework.course)
|
||||
if is_teacher
|
||||
link_to "项目(#{homework.student_work_projects.count})",student_work_index_path(:homework => homework.id),:class => "c_blue"
|
||||
else
|
||||
projects = cur_user_projects_for_homework homework
|
||||
if projects.nil?
|
||||
link_to "关联项目(#{homework.student_work_projects.count})", new_student_work_project_student_work_index_path(:homework => homework.id,:is_in_course=>is_in_course,:user_activity_id=>user_activity_id,:course_activity=>course_activity),remote: true,:class=> 'c_blue', :title=> '请选择分组作业关联的项目'
|
||||
else
|
||||
link_to "已关联项目(#{homework.student_work_projects.count})",student_work_index_path(:homework => homework.id),:class => "c_blue"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def student_anonymous_comment homework
|
||||
if homework.homework_detail_manual
|
||||
case homework.homework_detail_manual.comment_status
|
||||
|
@ -2476,6 +2491,10 @@ module ApplicationHelper
|
|||
def cur_user_works_for_homework homework
|
||||
homework.student_works.where("user_id = ?",User.current).first
|
||||
end
|
||||
#获取当前用户在指定作业下关联的项目的集合
|
||||
def cur_user_projects_for_homework homework
|
||||
homework.student_work_projects.where("user_id = ?",User.current).first
|
||||
end
|
||||
|
||||
def file_preview_tag(file, html_options={})
|
||||
if %w(pdf pptx doc docx xls xlsx).any?{|x| file.filename.downcase.end_with?(x)}
|
||||
|
|
|
@ -10,6 +10,7 @@ class HomeworkCommon < ActiveRecord::Base
|
|||
has_one :homework_detail_manual, :dependent => :destroy
|
||||
has_one :homework_detail_programing, :dependent => :destroy
|
||||
has_one :homework_detail_group, :dependent => :destroy
|
||||
has_many :student_work_projects
|
||||
has_many :homework_tests, :dependent => :destroy
|
||||
has_many :student_works, :dependent => :destroy, :conditions => "is_test=0"
|
||||
has_many :student_works_evaluation_distributions, :through => :student_works #一个作业的分配的匿评列表
|
||||
|
|
|
@ -43,6 +43,7 @@ class Project < ActiveRecord::Base
|
|||
end
|
||||
end
|
||||
|
||||
has_many :student_work_projects
|
||||
has_many :student_works
|
||||
has_many :time_entry_activities
|
||||
has_many :members, :include => [:principal, :roles], :conditions => "#{Principal.table_name}.type='User' AND #{Principal.table_name}.status=#{Principal::STATUS_ACTIVE}"
|
||||
|
|
|
@ -4,6 +4,7 @@ class StudentWork < ActiveRecord::Base
|
|||
|
||||
belongs_to :homework_common
|
||||
belongs_to :user
|
||||
has_one :student_work_project
|
||||
has_many :student_works_evaluation_distributions, :dependent => :destroy
|
||||
has_many :student_works_scores, :dependent => :destroy
|
||||
belongs_to :project
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
class StudentWorkProject < ActiveRecord::Base
|
||||
# attr_accessible :title, :body
|
||||
belongs_to :homework_common
|
||||
belongs_to :student_work
|
||||
belongs_to :project
|
||||
belongs_to :user
|
||||
end
|
|
@ -107,6 +107,7 @@ class User < Principal
|
|||
has_many :student_works, :dependent => :destroy
|
||||
has_many :student_works_evaluation_distributions, :dependent => :destroy
|
||||
has_many :student_works_scores, :dependent => :destroy
|
||||
has_many :student_work_projects
|
||||
#end
|
||||
|
||||
has_and_belongs_to_many :groups, :after_add => Proc.new {|user, group| group.user_added(user)},
|
||||
|
|
|
@ -1,41 +1,44 @@
|
|||
<div class="relateText fl">请添加小组成员</div>
|
||||
<a href="javascript:void(0);" class="popClose" title="关闭弹框"></a>
|
||||
<div class="cl"></div>
|
||||
<div class="resourcesSearchBox">
|
||||
<form class="resourcesSearchBox">
|
||||
<input type="text" name="search" placeholder="输入关键字搜索" class="searchResourcePopup" />
|
||||
</form>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
<ul class="addMemberC fl">
|
||||
<li>
|
||||
同学一(061530301)
|
||||
</li>
|
||||
<li>
|
||||
同学二同学二(061530302)
|
||||
</li>
|
||||
<li>
|
||||
同学三(061530303)
|
||||
</li>
|
||||
<li>
|
||||
同学四同学四(061530304)
|
||||
</li>
|
||||
<li>
|
||||
同学五同学五(061530305)
|
||||
</li>
|
||||
<li>
|
||||
同学六同学六(061530306)
|
||||
</li>
|
||||
<li>
|
||||
同学七同学七(061530307)
|
||||
</li>
|
||||
</ul>
|
||||
<div class="rightArrow"><img src="/images/course/right-arrow.png" width="16" height="30" /></div>
|
||||
<ul class="addMemberC fr">
|
||||
<li>TimTang(040930319)<span class="fr mr10">×</span></li>
|
||||
<li>suntao(060930106)<span class="fr mr10">×</span></li>
|
||||
</ul>
|
||||
<div class="cl"></div>
|
||||
<div class="courseSendCancel mr15" style="float:right;"><a href="javascript:void(0);" class="sendSourceText" id="cancel_add">取消</a></div>
|
||||
<div class="courseSendSubmit" style="float:right;"><a href="javascript:void(0);" class="sendSourceText">确定</a></div>
|
||||
<div class="cl"></div>
|
||||
<div id="popbox02">
|
||||
<div>
|
||||
<div class="relateText fl">请添加小组成员</div>
|
||||
</div>
|
||||
<div class="resourcePopupClose"> <a href="javascript:void(0);" class="resourceClose" onclick="clickCanel();"></a></div>
|
||||
<div class="cl"></div>
|
||||
<div>
|
||||
<form class="resourcesSearchBox">
|
||||
<input type="text" name="serach" placeholder="输入关键字搜索" class="searchResourcePopup" />
|
||||
</form>
|
||||
</div>
|
||||
<ul class="addMemberC fl">
|
||||
<li>
|
||||
同学一(061530301)
|
||||
</li>
|
||||
<li>
|
||||
同学二同学二(061530302)
|
||||
</li>
|
||||
<li>
|
||||
同学三(061530303)
|
||||
</li>
|
||||
<li>
|
||||
同学四同学四(061530304)
|
||||
</li>
|
||||
<li>
|
||||
同学五同学五(061530305)
|
||||
</li>
|
||||
<li>
|
||||
同学六同学六(061530306)
|
||||
</li>
|
||||
<li>
|
||||
同学七同学七(061530307)
|
||||
</li>
|
||||
</ul>
|
||||
<div class="rightArrow"><img src="/images/course/right-arrow.png" width="16" height="30" /></div>
|
||||
<ul class="addMemberC fr">
|
||||
<li>TimTang(040930319)<span class="fr mr10">×</span></li>
|
||||
<li>suntao(060930106)<span class="fr mr10">×</span></li>
|
||||
</ul>
|
||||
<div class="cl"></div>
|
||||
<div class="courseSendCancel mr15" style="float:right;"><a href="javascript:void(0);" class="sendSourceText" onclick="clickCanel();">取消</a></div>
|
||||
<div class="courseSendSubmit" style="float:right;"><a href="javascript:void(0);" class="sendSourceText">确定</a></div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
|
@ -1,30 +1,83 @@
|
|||
<div class="groupPopUp" style="border:3px solid #269ac9;"> <span class="f16 fontBlue">关联项目</span><a href="javascript:void(0);" class="popClose"></a>
|
||||
<form class="resourcesSearchBox">
|
||||
<input type="text" name="serach" placeholder="输入项目名称进行搜索" class="searchResourcePopup" />
|
||||
</form>
|
||||
<ul class="mb10">
|
||||
<li>
|
||||
<label>
|
||||
<input name="checkMenu" type="radio" class="courseSendCheckbox"/>
|
||||
<span class="sendCourseName">项目一</span></label>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
<input name="checkMenu" type="radio" class="courseSendCheckbox"/>
|
||||
<span class="sendCourseName">项目二项目二项目二</span></label>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
<input name="checkMenu" type="radio" class="courseSendCheckbox"/>
|
||||
<span class="sendCourseName">项目三项目三</span></label>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
<input name="checkMenu" type="radio" class="courseSendCheckbox"/>
|
||||
<span class="sendCourseName">项目四</span></label>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="courseSendSubmit"><a href="javascript:void(0);" class="sendSourceText">确定</a></div>
|
||||
<div class="courseSendCancel"><a href="javascript:void(0);" class="sendSourceText">取消</a></div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div id="popbox02" style="">
|
||||
<span class="f16 fontBlue">关联项目</span>
|
||||
<a href="javascript:void(0);" class="popClose" onclick="clickCanel();"></a>
|
||||
<%=form_tag url_for(:controller=>'student_work',:action=>'student_work_project',:course_id=>@course_id,:user_activity_id=>@user_activity_id,:is_in_course=>@is_in_course),:id =>'student_work_relate_project',:class=>'resourcesSearchBox',:remote => true do %>
|
||||
<input type="text" name="serach_project" placeholder="输入项目名称进行搜索" class="searchResourcePopup" />
|
||||
<span id="no_search_result" style="display: none">您当前尚未参与任何项目,请先加入项目再关联。</span>
|
||||
<div id="search_project_list"></div>
|
||||
<ul class="mb10 maxHeight100">
|
||||
<li>
|
||||
<label>
|
||||
<input name="checkMenu" type="radio" class="courseSendCheckbox"/>
|
||||
<span class="sendCourseName">项目一</span></label>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
<input name="checkMenu" type="radio" class="courseSendCheckbox"/>
|
||||
<span class="sendCourseName">项目二项目二项目二</span></label>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
<input name="checkMenu" type="radio" class="courseSendCheckbox"/>
|
||||
<span class="sendCourseName">项目三项目三</span></label>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
<input name="checkMenu" type="radio" class="courseSendCheckbox"/>
|
||||
<span class="sendCourseName">项目四</span></label>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="courseSendSubmit"><a href="javascript:void(0);" class="sendSourceText">确定</a></div>
|
||||
<div class="courseSendCancel"><a href="javascript:void(0);" class="sendSourceText" onclick="clickCanel();">取消</a></div>
|
||||
<div class="cl"></div>
|
||||
<% end %>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var lastSearchCondition = '';
|
||||
var count = 0;
|
||||
function search_orgs(e){
|
||||
if($(e.target).val().trim() == lastSearchCondition && lastSearchCondition != '')
|
||||
{
|
||||
return;
|
||||
}
|
||||
lastSearchCondition = $(e.target).val().trim();
|
||||
$.ajax({
|
||||
url: '<%= url_for(:controller => 'student_work', :action => 'search_public_orgs_not_in_course') %>'+'?name='+ e.target.value+'&page='+page,
|
||||
type:'get'
|
||||
});
|
||||
}
|
||||
|
||||
function throttle(method,context,e){
|
||||
clearTimeout(method.tId);
|
||||
method.tId=setTimeout(function(){
|
||||
method.call(context,e);
|
||||
},500);
|
||||
}
|
||||
|
||||
//查询组织
|
||||
$("input[name='orgs']").on('input', function (e) {
|
||||
throttle(search_orgs,window,e);
|
||||
});
|
||||
|
||||
$(document).ready(function(){
|
||||
$.ajax({
|
||||
url: '<%= url_for(:controller => 'courses', :action => 'search_public_orgs_not_in_course') %>'+'?page=1',
|
||||
type:'get'
|
||||
});
|
||||
});
|
||||
function cancel_join_orgs() {
|
||||
$("#join_orgs_for_course input:checked").attr("checked", false);
|
||||
}
|
||||
function course_join_org(courseId) {
|
||||
$.ajax({
|
||||
url: "/org_courses?" + $("#join_orgs_for_course").serialize() + "&course_id=" + courseId,
|
||||
type: "post",
|
||||
success: function (data) {
|
||||
$.ajax({
|
||||
url: "/courses/" + courseId + "/search_public_orgs_not_in_course?hint_flag=true&name=" + $("input[name='orgs']").val().trim(),
|
||||
type: "get"
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
|
@ -34,6 +34,34 @@
|
|||
)
|
||||
}
|
||||
}
|
||||
// 添加组成员
|
||||
function show_group_member() {
|
||||
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'student_work/choose_group_member',:locals => {:homework=>@homework}) %>');
|
||||
showModal('ajax-modal', '528px');
|
||||
$('#ajax-modal').siblings().remove();
|
||||
$('#ajax-modal').parent().css("top","").css("left","");
|
||||
$('#ajax-modal').parent().addClass("addMemberCP");
|
||||
}
|
||||
// 关联项目
|
||||
function show_project() {
|
||||
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'student_work/relate_project',:locals => {:homework=>@homework}) %>');
|
||||
showModal('ajax-modal', '320px');
|
||||
$('#ajax-modal').siblings().remove();
|
||||
$('#ajax-modal').parent().css("top","").css("left","");
|
||||
$('#ajax-modal').parent().addClass("groupPopUp");
|
||||
}
|
||||
// 作品校验
|
||||
function popupRegex(){
|
||||
if(regexStudentWorkName()&®exStudentWorkDescription())
|
||||
{
|
||||
$('#ajax-modal').html("<div><p align='center' style='margin-top: 35px'>作品信息完整性校验中,请稍等...</p></div>");
|
||||
showModal('ajax-modal', '500px');
|
||||
$('#ajax-modal').siblings().remove();
|
||||
$('#ajax-modal').parent().css("top","").css("left","");
|
||||
$('#ajax-modal').parent().addClass("anonymos");
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<div class="homepageRightBanner mb10">
|
||||
|
@ -98,22 +126,15 @@
|
|||
<%= render :partial => 'users/user_homework_attachment', :locals => {:container => @student_work, :has_program=>false,:has_group=>false} %>
|
||||
</div>
|
||||
|
||||
<% if @homework.homework_type == 3 %>
|
||||
<div class="mt5 fl">
|
||||
<%# if @homework.homework_type == 3 %>
|
||||
<!--<div class="mt5 fl">
|
||||
<a href="javascript:void(0);" class="memberBtn fl mt3 mr15" title="请添加小组的其他成员" onclick="show_group_member();">合作成员</a>
|
||||
</div>
|
||||
<div class="BluePopupBox" style="display:none" id="chooseGroupMember">
|
||||
<%= render :partial => 'student_work/choose_group_member', :locals => {:homework=>@homework}%>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>-->
|
||||
<%# end %>
|
||||
|
||||
<div class="mt5 fl">
|
||||
<!--<div class="mt5 fl">
|
||||
<a href="javascript:void(0);" class="RalationIcon fl mt3" title="请选择作业的关联项目" onclick="show_project();">关联项目</a>
|
||||
</div>
|
||||
<div class="BluePopupBox" style="display:none" id="chooseProject">
|
||||
<%= render :partial => 'student_work/relate_project', :locals => {:homework=>@homework}%>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>-->
|
||||
|
||||
<!--<div class="mt10 none" id="about_project">
|
||||
<%#= select_tag :project_id, options_for_select(user_projects_option, @student_work.project_id), {:class => "InputBox W680 fl"} %>
|
||||
|
@ -130,24 +151,4 @@
|
|||
<div class="cl"></div>
|
||||
<% end%>
|
||||
</div><!----HomeWorkCon end-->
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$("#chooseGroupMember").dialog({
|
||||
modal: true,
|
||||
autoOpen: false,
|
||||
dialogClass: 'BluePopupBox',
|
||||
minWidth: 540
|
||||
});
|
||||
});
|
||||
function popupRegex(){
|
||||
if(regexStudentWorkName()&®exStudentWorkDescription())
|
||||
{
|
||||
$('#ajax-modal').html("<div><p align='center' style='margin-top: 35px'>作品信息完整性校验中,请稍等...</p></div>");
|
||||
showModal('ajax-modal', '500px');
|
||||
$('#ajax-modal').siblings().remove();
|
||||
$('#ajax-modal').parent().css("top","").css("left","");
|
||||
$('#ajax-modal').parent().addClass("anonymos");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</div>
|
|
@ -0,0 +1,5 @@
|
|||
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'student_work/relate_project') %>');
|
||||
showModal('ajax-modal', '320px');
|
||||
$('#ajax-modal').siblings().remove();
|
||||
$('#ajax-modal').parent().css("top","").css("left","");
|
||||
$('#ajax-modal').parent().addClass("groupPopUp");
|
|
@ -45,6 +45,11 @@
|
|||
<% end%>
|
||||
<% end%>
|
||||
<div class="homepagePostSubmitContainer">
|
||||
<% if activity.homework_type == 3%>
|
||||
<div class="homepagePostSubmit">
|
||||
<%= relate_project(activity,is_teacher,-1,user_activity_id,course_activity) %>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="homepagePostSubmit">
|
||||
<% is_teacher = User.current.allowed_to?(:as_teacher,activity.course) %>
|
||||
<%= user_for_homework_common activity,is_teacher %>
|
||||
|
|
|
@ -218,6 +218,8 @@ RedmineApp::Application.routes.draw do
|
|||
end
|
||||
collection do
|
||||
post 'add_score_reply'
|
||||
post 'student_work_project'
|
||||
get 'new_student_work_project'
|
||||
get 'delete_work'
|
||||
get 'destroy_score_reply'
|
||||
get 'student_work_absence_penalty'
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
class CreateStudentWorkProjects < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :student_work_projects do |t|
|
||||
t.integer :homework_common_id
|
||||
t.integer :student_work_id
|
||||
t.integer :project_id
|
||||
t.integer :user_id
|
||||
t.integer :is_leader
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,8 @@
|
|||
class AddIndexToStudentWorkProject < ActiveRecord::Migration
|
||||
def change
|
||||
add_index :student_work_projects, :homework_common_id
|
||||
add_index :student_work_projects, :user_id
|
||||
add_index :student_work_projects, :project_id
|
||||
add_index :student_work_projects, :student_work_id
|
||||
end
|
||||
end
|
19
db/schema.rb
19
db/schema.rb
|
@ -11,7 +11,8 @@
|
|||
#
|
||||
# It's strongly recommended to check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(:version => 20151130033906) do
|
||||
ActiveRecord::Schema.define(:version => 20151208032013) do
|
||||
|
||||
create_table "activities", :force => true do |t|
|
||||
t.integer "act_id", :null => false
|
||||
t.string "act_type", :null => false
|
||||
|
@ -979,7 +980,6 @@ ActiveRecord::Schema.define(:version => 20151130033906) do
|
|||
t.integer "course_group_id", :default => 0
|
||||
end
|
||||
|
||||
add_index "members", ["course_id"], :name => "index_members_on_course_id"
|
||||
add_index "members", ["project_id"], :name => "index_members_on_project_id"
|
||||
add_index "members", ["user_id", "project_id", "course_id"], :name => "index_members_on_user_id_and_project_id", :unique => true
|
||||
add_index "members", ["user_id"], :name => "index_members_on_user_id"
|
||||
|
@ -1508,6 +1508,21 @@ ActiveRecord::Schema.define(:version => 20151130033906) do
|
|||
t.integer "project_id"
|
||||
end
|
||||
|
||||
create_table "student_work_projects", :force => true do |t|
|
||||
t.integer "homework_common_id"
|
||||
t.integer "student_work_id"
|
||||
t.integer "project_id"
|
||||
t.integer "user_id"
|
||||
t.integer "is_leader"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
add_index "student_work_projects", ["homework_common_id"], :name => "index_student_work_projects_on_homework_common_id"
|
||||
add_index "student_work_projects", ["project_id"], :name => "index_student_work_projects_on_project_id"
|
||||
add_index "student_work_projects", ["student_work_id"], :name => "index_student_work_projects_on_student_work_id"
|
||||
add_index "student_work_projects", ["user_id"], :name => "index_student_work_projects_on_user_id"
|
||||
|
||||
create_table "student_work_tests", :force => true do |t|
|
||||
t.integer "student_work_id"
|
||||
t.datetime "created_at", :null => false
|
||||
|
|
|
@ -1182,17 +1182,17 @@ a:hover.testBtn{background: url(/images/course/hwork_icon.png) -81px -5px no-rep
|
|||
a.groupBtn{ background: url(/images/course/hwork_icon.png) -2px -61px no-repeat !important; height:20px; display:block; padding-left:20px; color:#888888; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||
a:hover.groupBtn{background: url(/images/course/hwork_icon.png) -80px -61px no-repeat !important; color:#3598db; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||
.markInput { outline:none; border:1px solid #e6e6e6; height:30px; width:50px; color:#3d3c3c; margin-right:5px; text-align:center; padding-left:0px;}
|
||||
.groupPopUp {width:290px; height:auto; padding:15px; background-color:#ffffff; z-index:1000; position:relative;}
|
||||
.groupPopUp {border:3px solid #269ac9; width:290px; height:auto; padding:15px; background-color:#ffffff; position:fixed !important;left:50%;top:50%;margin:-100px 0 0 -150px; -moz-border-radius:5px;}
|
||||
.popClose {background:url(/images/resource_icon_list.png) 0px -40px no-repeat; width:20px; height:20px; display:inline-block; position: absolute; z-index: 1000; right:2px; top:3px;}
|
||||
a.memberBtn{ background: url(/images/course/hwork_icon.png) -7px -90px no-repeat !important; height:20px; display:block; padding-left:20px; color:#888888; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||
a:hover.memberBtn{background: url(/images/course/hwork_icon.png) -80px -90px no-repeat !important; color:#3598db; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||
.addMemberC {float:left; max-height:150px; margin-bottom:10px; overflow:auto; overflow-x:hidden; width:227px; background-color:#f1f1f1; min-height:150px; padding-top:10px;}
|
||||
.addMemberC li {padding-left:10px; line-height:18px;}
|
||||
.addMemberC li:hover {cursor:pointer; background-color:#cccccc;}
|
||||
.addMemberCP {width:514px; height:auto; border:3px solid #269ac9; padding-left:16px; padding-bottom:16px; background-color:#ffffff; position:absolute; z-index:1000;}
|
||||
.addMemberCP {width:514px; height:auto; border:3px solid #269ac9; padding-left:16px; padding-bottom:16px; background-color:#ffffff; position:fixed !important;left:50%;top:50%;margin:-100px 0 0 -150px; -moz-border-radius:5px;}
|
||||
.rightArrow {margin:50px 15px 0px 15px; float:left;}
|
||||
.relateText {font-size:16px; color:#269ac9; line-height:16px; padding-top:20px; display:inline-block; font-weight: bold;}
|
||||
|
||||
.maxHeight100 {max-height:100px; overflow-x:hidden; overflow-y:auto;}
|
||||
.resubAtt {border-top:1px solid #dddddd; position:relative; margin-top:15px;}
|
||||
.resubTitle {position:absolute; top:-10px; left:5px; background-color:#ffffff; display:block; font-weight:bold; padding:0px 2px;}
|
||||
a.blueCir{ display:inline-block; padding:2px 5px; background-color:#ffffff;border:1px solid #3598db; color:#3598db; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;}
|
||||
|
|
|
@ -1355,13 +1355,14 @@ a:hover.testBtn{background: url(/images/course/hwork_icon.png) -81px -5px no-rep
|
|||
a.groupBtn{ background: url(/images/course/hwork_icon.png) -2px -61px no-repeat !important; height:20px; display:block; padding-left:20px; color:#888888; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||
a:hover.groupBtn{background: url(/images/course/hwork_icon.png) -80px -61px no-repeat !important; color:#3598db; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||
.markInput { outline:none; border:1px solid #e6e6e6; height:30px; width:50px; color:#3d3c3c; margin-right:5px; text-align:center; padding-left:0px;}
|
||||
.groupPopUp {width:290px; height:auto; padding:15px; background-color:#ffffff; z-index:1000; position:relative;}
|
||||
.groupPopUp {border:3px solid #269ac9; width:290px; height:auto; padding:15px; background-color:#ffffff;position:fixed !important;left:50%;top:50%;margin:-100px 0 0 -150px; -moz-border-radius:5px;}
|
||||
.popClose {background:url(/images/resource_icon_list.png) 0px -40px no-repeat; width:20px; height:20px; display:inline-block; position: absolute; z-index: 1000; right:2px; top:3px;}
|
||||
a.memberBtn{ background: url(/images/course/hwork_icon.png) -7px -90px no-repeat !important; height:20px; display:block; padding-left:20px; color:#888888; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||
a:hover.memberBtn{background: url(/images/course/hwork_icon.png) -80px -90px no-repeat !important; color:#3598db; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||
.addMemberC {float:left; max-height:150px; margin-bottom:10px; overflow:auto; overflow-x:hidden; width:227px; background-color:#f1f1f1; min-height:150px; padding-top:10px;}
|
||||
.addMemberC li {padding-left:10px; line-height:18px;}
|
||||
.addMemberC li:hover {cursor:pointer; background-color:#cccccc;}
|
||||
.addMemberCP {width:514px; height:auto; border:3px solid #269ac9; padding-left:16px; padding-bottom:16px; background-color:#ffffff; position:absolute; z-index:1000;}
|
||||
.addMemberCP {width:514px; height:auto; border:3px solid #269ac9; padding-left:16px; padding-bottom:16px; background-color:#ffffff; position:fixed !important;left:50%;top:50%;margin:-100px 0 0 -150px; -moz-border-radius:5px;}
|
||||
.rightArrow {margin:50px 15px 0px 15px; float:left;}
|
||||
.relateText {font-size:16px; color:#269ac9; line-height:16px; padding-top:20px; display:inline-block; font-weight: bold;}
|
||||
.maxHeight100 {max-height:100px; overflow-x:hidden; overflow-y:auto;}
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
# Read about factories at https://github.com/thoughtbot/factory_girl
|
||||
|
||||
FactoryGirl.define do
|
||||
factory :student_work_project do
|
||||
end
|
||||
end
|
|
@ -0,0 +1,5 @@
|
|||
require 'rails_helper'
|
||||
|
||||
RSpec.describe StudentWorkProject, :type => :model do
|
||||
pending "add some examples to (or delete) #{__FILE__}"
|
||||
end
|
Loading…
Reference in New Issue