Merge branch 'szzh' of http://repository.trustie.net/xianbo/trustie2 into szzh
This commit is contained in:
commit
4a39eac585
|
@ -107,7 +107,7 @@ class CoursesController < ApplicationController
|
|||
courses = Course.visible
|
||||
@courses = paginateHelper courses,10
|
||||
else
|
||||
courses = Course.visible.where("LOWER(name) like '%#{params[:name].to_s.downcase}%'")
|
||||
courses = Course.visible.where("LOWER(name) like '%#{params[:name].to_s.downcase}%'").order("time desc, created_at desc")
|
||||
@courses = paginateHelper courses,10
|
||||
end
|
||||
@name = params[:name]
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#encoding: utf-8
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2013 Jean-Philippe Lang
|
||||
#
|
||||
|
@ -378,6 +379,8 @@ class FilesController < ApplicationController
|
|||
tag_name = l(:label_media)
|
||||
when "4"
|
||||
tag_name = l(:label_code)
|
||||
when "6"
|
||||
tag_name = "论文"
|
||||
else
|
||||
tag_name = ""
|
||||
end
|
||||
|
|
|
@ -6,8 +6,8 @@ class HomeworkCommonController < ApplicationController
|
|||
|
||||
include StudentWorkHelper
|
||||
before_filter :find_course, :only => [:index,:new,:create]
|
||||
before_filter :find_homework, :only => [:edit,:update,:alert_anonymous_comment,:start_anonymous_comment,:stop_anonymous_comment,:destroy,:start_evaluation_set,:set_evaluation_attr,:score_rule_set]
|
||||
before_filter :teacher_of_course, :only => [:new, :create, :edit, :update, :destroy, :start_anonymous_comment, :stop_anonymous_comment, :alert_anonymous_comment,:start_evaluation_set,:set_evaluation_attr,:score_rule_set]
|
||||
before_filter :find_homework, :only => [:edit,:update,:alert_anonymous_comment,:start_anonymous_comment,:stop_anonymous_comment,:destroy,:start_evaluation_set,:set_evaluation_attr,:score_rule_set,:alert_forbidden_anonymous_comment]
|
||||
before_filter :teacher_of_course, :only => [:new, :create, :edit, :update, :destroy, :start_anonymous_comment, :stop_anonymous_comment, :alert_anonymous_comment,:start_evaluation_set,:set_evaluation_attr,:score_rule_set,:alert_forbidden_anonymous_comment]
|
||||
before_filter :member_of_course, :only => [:index]
|
||||
|
||||
def index
|
||||
|
@ -38,6 +38,7 @@ class HomeworkCommonController < ApplicationController
|
|||
def edit
|
||||
@user = User.current
|
||||
@is_in_course = params[:is_in_course].to_i
|
||||
@course_activity = params[:course_activity].to_i
|
||||
respond_to do |format|
|
||||
format.html{render :layout => 'new_base_user'}
|
||||
end
|
||||
|
@ -88,8 +89,12 @@ class HomeworkCommonController < ApplicationController
|
|||
@homework_detail_programing.save if @homework_detail_programing
|
||||
if params[:is_in_course] == "1"
|
||||
redirect_to homework_common_index_path(:course => @course.id)
|
||||
else
|
||||
elsif params[:is_in_course] == "0"
|
||||
redirect_to user_homeworks_user_path(User.current.id)
|
||||
elsif params[:is_in_course] == "-1" && params[:course_activity] == "0"
|
||||
redirect_to user_path(User.current.id)
|
||||
elsif params[:is_in_course] == "-1" && params[:course_activity] == "1"
|
||||
redirect_to course_path(@course.id)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -101,8 +106,12 @@ class HomeworkCommonController < ApplicationController
|
|||
format.html {
|
||||
if params[:is_in_course] == "1"
|
||||
redirect_to homework_common_index_path(:course => @course.id)
|
||||
else
|
||||
elsif params[:is_in_course] == "0"
|
||||
redirect_to user_homeworks_user_path(User.current.id)
|
||||
elsif params[:is_in_course] == "-1" && params[:course_activity] == "0"
|
||||
redirect_to user_path(User.current.id)
|
||||
elsif params[:is_in_course] == "-1" && params[:course_activity] == "1"
|
||||
redirect_to course_path(@course.id)
|
||||
end
|
||||
}
|
||||
end
|
||||
|
@ -184,6 +193,19 @@ class HomeworkCommonController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
def alert_forbidden_anonymous_comment
|
||||
if params[:user_activity_id]
|
||||
@user_activity_id = params[:user_activity_id]
|
||||
else
|
||||
@user_activity_id = -1
|
||||
end
|
||||
@is_in_course = params[:is_in_course] if params[:is_in_course]
|
||||
@course_activity = params[:course_activity] if params[:course_Activity]
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
end
|
||||
|
||||
def programing_test
|
||||
test = {language:params[:language],src:Base64.encode64(params[:src]),input:[params[:input]],output:[params[:output]]}
|
||||
@index = params[:index]
|
||||
|
|
|
@ -215,19 +215,15 @@ update
|
|||
end
|
||||
end
|
||||
|
||||
unless @repository.gitlab?
|
||||
# redirect_to to_gitlab_project_repository_path(@project, @repository)
|
||||
render :to_gitlab
|
||||
return
|
||||
end
|
||||
# unless @repository.gitlab?
|
||||
# # redirect_to to_gitlab_project_repository_path(@project, @repository)
|
||||
# render :to_gitlab
|
||||
# return
|
||||
# end
|
||||
|
||||
#if( !User.current.member_of?(@project) || @project.hidden_repo)
|
||||
@repository.fetch_changesets if Setting.autofetch_changesets? && @path.empty?
|
||||
|
||||
# g = Gitlab.client
|
||||
# project = g.project(20)
|
||||
# rr = g.trees(project.id, @path)
|
||||
# r = g.get ("/projects/#{@project}/repository/tree")
|
||||
# :name, :path, :kind, :size, :lastrev, :changeset
|
||||
@entries = @repository.entries(@path, @rev)
|
||||
# @trees = g.trees(project, @path)
|
||||
|
@ -241,10 +237,18 @@ update
|
|||
#Modified by young
|
||||
# (show_error_not_found; return) unless @entries
|
||||
g = Gitlab.client
|
||||
@changesets = g.get ("/projects/#{@project.gpid}/repository/commits")
|
||||
count = 0
|
||||
(0..100).each do |page|
|
||||
if g.commits(@project.gpid,:page => page).count == 0
|
||||
break
|
||||
else
|
||||
count = count + g.commits(@project.gpid,:page => page).count
|
||||
end
|
||||
end
|
||||
@changesets = g.commits(@project.gpid)
|
||||
# @changesets = @repository.latest_changesets(@path, @rev)
|
||||
# @changesets_count = @repository.latest_changesets(@path, @rev).count
|
||||
@changesets_count = @changesets.count
|
||||
@changesets_all_count = count
|
||||
@changesets_latest_coimmit = @changesets[0]
|
||||
@properties = @repository.properties(@path, @rev)
|
||||
@repositories = @project.repositories
|
||||
|
@ -252,11 +256,10 @@ update
|
|||
project_path_cut = RepositoriesHelper::PROJECT_PATH_CUT
|
||||
ip = RepositoriesHelper::REPO_IP_ADDRESS
|
||||
gitlab_address = Redmine::Configuration['gitlab_address']
|
||||
if @repository.type.to_s=="Repository::Gitlab"
|
||||
if @repository.type.to_s == "Repository::Gitlab"
|
||||
@repos_url = gitlab_address.to_s+"/"+@project.owner.to_s+"/"+@repository.identifier+"."+"git"
|
||||
else
|
||||
@repos_url = "http://"+@repository.login.to_s+"_"+@repository.identifier.to_s+"@"+ip.to_s+
|
||||
@repository.url.slice(project_path_cut, @repository.url.length).to_s
|
||||
@repos_url = "http://"+@repository.login.to_s+"_"+@repository.identifier.to_s+"@"+ip.to_s + @repository.url.slice(project_path_cut, @repository.url.length).to_s
|
||||
end
|
||||
if @course_tag == 1
|
||||
render :action => 'show', :layout => 'base_courses'
|
||||
|
@ -272,7 +275,9 @@ update
|
|||
@entry = @repository.entry(@path, @rev)
|
||||
(show_error_not_found; return) unless @entry
|
||||
g = Gitlab.client
|
||||
@changesets = g.get ("/projects/#{@project.gpid}/repository/commits?#{@rev}")
|
||||
@commits = g.commits(@project.gpid, page:params[:pamge])
|
||||
@commit = g.commit(@project.gpid,@rev)
|
||||
# @changesets = g.get ("/projects/#{@project.gpid}/repository/commits?#{@rev}")
|
||||
#@changesets = @repository.latest_changesets(@path, @rev, Setting.repository_log_display_limit.to_i)
|
||||
@properties = @repository.properties(@path, @rev)
|
||||
@changeset = @repository.find_changeset_by_name(@rev)
|
||||
|
|
|
@ -3,11 +3,11 @@ 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]
|
||||
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]
|
||||
before_filter :find_work, :only => [:edit, :update, :show, :destroy, :add_score, :praise_student_work]
|
||||
before_filter :member_of_course, :only => [:index, :new, :create, :show, :add_score, :praise_student_work]
|
||||
before_filter :author_of_work, :only => [:edit, :update, :destroy]
|
||||
before_filter :teacher_of_course, :only => [:student_work_absence_penalty, :absence_penalty_list, :evaluation_list, :set_score_rule]
|
||||
before_filter :teacher_of_course, :only => [:student_work_absence_penalty, :absence_penalty_list, :evaluation_list, :set_score_rule, :forbidden_anonymous_comment]
|
||||
|
||||
###
|
||||
def program_test
|
||||
|
@ -469,6 +469,25 @@ class StudentWorkController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
def forbidden_anonymous_comment
|
||||
@homework.update_column('anonymous_comment', 1)
|
||||
homework_detail_manual = @homework.homework_detail_manual
|
||||
homework_detail_programing = @homework.homework_detail_programing
|
||||
if homework_detail_programing
|
||||
homework_detail_manual.update_column('ta_proportion', 0.4)
|
||||
homework_detail_programing.update_column('ta_proportion', 0.6)
|
||||
else
|
||||
homework_detail_manual.update_column('ta_proportion', 1.0)
|
||||
end
|
||||
@homework.student_works.each do |student_work|
|
||||
set_final_score @homework,student_work
|
||||
student_work.save
|
||||
end
|
||||
@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
|
||||
end
|
||||
|
||||
private
|
||||
#获取作业
|
||||
def find_homework
|
||||
|
|
|
@ -609,6 +609,17 @@ module ApplicationHelper
|
|||
return @result
|
||||
end
|
||||
|
||||
# 判断版本库是否初始为gitlab
|
||||
def rep_is_gitlab?(project)
|
||||
rep = Repository.where("project_id =? and type =?", project, "Repository::Gitlab")
|
||||
return rep.blank? ? true :false
|
||||
end
|
||||
|
||||
# 获取单一gitlab项目
|
||||
def gitlab_repository(project)
|
||||
rep = Repository.where("project_id =? and type =?", project.id,"Repository::Gitlab" ).first
|
||||
end
|
||||
|
||||
# 判断当前用户是否为项目管理员
|
||||
def is_project_manager?(user_id, project_id)
|
||||
@result = false
|
||||
|
|
|
@ -117,6 +117,22 @@ module ProjectsHelper
|
|||
end
|
||||
end
|
||||
|
||||
# 获取新增gitlab版本库
|
||||
def rep_gitlab(project)
|
||||
rep = Repository.where("project_id =? and type =?", project, "Repository::Gitlab")
|
||||
end
|
||||
|
||||
# 获取新项目的版本库地址
|
||||
def rep_gitlab_url(project)
|
||||
gitlab_address = Redmine::Configuration['gitlab_address']
|
||||
url = gitlab_address.to_s+"/"+project.owner.to_s+"/"+ rep_gitlab(project).first.identifier+"."+"git"
|
||||
end
|
||||
|
||||
# # 获取Forge历史版本库
|
||||
def rep_forge(project)
|
||||
rep = Repository.where("project_id =? and type =?", project, "Repository::Git")
|
||||
end
|
||||
|
||||
# Added by young
|
||||
def course_settings_tabs
|
||||
tabs = [{:name => 'info', :action => :edit_project, :partial => 'projects/edit', :label => :label_information_plural, :course=>'1'},
|
||||
|
|
|
@ -303,6 +303,7 @@ class CoursesService
|
|||
#@state == 7 您已经发送过申请了,请耐心等待
|
||||
#@state == 8 您已经是该课程的教师了
|
||||
#@state == 9 您已经是该课程的教辅了
|
||||
#@state == 10 您已经是该课程的管理员了
|
||||
#@state 其他 未知错误,请稍后再试
|
||||
def join_course params,current_user
|
||||
course = Course.find_by_id params[:object_id]
|
||||
|
@ -325,6 +326,8 @@ class CoursesService
|
|||
#如果加入的角色教辅并且当前为教辅
|
||||
elsif params[:role] == "7" && roleName == "TeachingAsistant"
|
||||
@state = 9
|
||||
elsif roleName == "Manager"
|
||||
@state = 10
|
||||
#如果加入角色为教师或者教辅,并且当前是学生,或者是要成为教辅,当前不是教辅,或者要成为教师,当前不是教师。那么要发送请求
|
||||
elsif (params[:role] != "10" && roleName == "Student") || (params[:role] == "7" && roleName != "TeachingAsistant" ) || (params[:role] == "9" && roleName != "Teacher" )
|
||||
#如果已经发送过消息了,那么就要给个提示
|
||||
|
|
|
@ -86,6 +86,9 @@
|
|||
}
|
||||
|
||||
function register(){
|
||||
if($("#loginUpButton").hasClass('loginUpDisableButton')){
|
||||
return;
|
||||
}
|
||||
if($login_correct && $mail_correct && $passwd_correct && $passwd_comfirm_correct && $("#read_and_confirm").attr("checked") == 'checked'){
|
||||
$("#main_reg_form").submit();
|
||||
}else{
|
||||
|
@ -182,6 +185,16 @@
|
|||
$('#main_login_form').submit();
|
||||
}
|
||||
}
|
||||
|
||||
function changeRegisterBtn(checkbox){
|
||||
if(checkbox.checked == true){
|
||||
$("#loginUpButton").removeClass('loginUpDisableButton');
|
||||
$("#loginUpButton").addClass('loginUpButton');
|
||||
}else{
|
||||
$("#loginUpButton").removeClass('loginUpButton')
|
||||
$("#loginUpButton").addClass('loginUpDisableButton');
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<div class="loginContentContainer">
|
||||
<div class="loginContent">
|
||||
|
@ -270,11 +283,11 @@
|
|||
</div>
|
||||
<div class="loginSignOption">
|
||||
<div class="fl mt3 mr5">
|
||||
<input type="checkbox" id="read_and_confirm"/>
|
||||
<input type="checkbox" id="read_and_confirm" onchange="changeRegisterBtn(this);"/>
|
||||
</div>
|
||||
我已阅读并接受<a href="<%= agreement_path %>" class="newsBlue"><u>Trustie服务协议</u></a>条款</div>
|
||||
<div class="loginUpButton">
|
||||
<a href="javascript:void(0);" class="c_white db" id="regist_btn" onclick="register();">注册</a>
|
||||
<div class="loginUpDisableButton" id="loginUpButton">
|
||||
<a href="javascript:void(0);" class="c_white db" id="regist_btn" onclick="register();" >注册</a>
|
||||
|
||||
</div>
|
||||
<% end %>
|
||||
|
|
|
@ -2,6 +2,6 @@
|
|||
$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/user_blog', :locals => {:activity => @article,:user_activity_id =>@user_activity_id}) %>");
|
||||
init_activity_KindEditor_data(<%= @user_activity_id%>,"","87%");
|
||||
<% else%>
|
||||
$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'blogs/article', :locals => {:activity => @article,:user_activity_id =>@user_activity_id,:first_user_activity =>@first_user_activity,:page => @page}) %>");
|
||||
$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'blogs/article', :locals => {:activity => @article,:user_activity_id =>@user_activity_id}) %>");
|
||||
init_activity_KindEditor_data(<%= @user_activity_id%>,"","87%");
|
||||
<% end %>
|
|
@ -1,3 +1,3 @@
|
|||
$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_news', :locals => {:activity => @news,:user_activity_id =>@user_activity_id,:first_user_activity =>@first_user_activity,:page => @page}) %>");
|
||||
$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_news', :locals => {:activity => @news,:user_activity_id =>@user_activity_id}) %>");
|
||||
|
||||
init_activity_KindEditor_data('<%= @user_activity_id%>',"","87%");
|
||||
|
|
|
@ -92,7 +92,7 @@
|
|||
<% act = activity.course_act %>
|
||||
<% case activity.course_act_type.to_s %>
|
||||
<% when 'HomeworkCommon' %>
|
||||
<%= render :partial => 'users/course_homework', :locals => {:activity => act, :user_activity_id => activity.id} %>
|
||||
<%= render :partial => 'users/course_homework', :locals => {:activity => act, :user_activity_id => activity.id, :course_activity => 1} %>
|
||||
<% when 'News' %>
|
||||
<%= render :partial => 'users/course_news', :locals => {:activity => act, :user_activity_id => activity.id} %>
|
||||
<% when 'Message' %>
|
||||
|
|
|
@ -32,6 +32,10 @@ window.location.href= "http://"+"<%= Setting.host_name%>"+"/courses/" + "<%= @co
|
|||
alert("您已经是该课程的教辅了");
|
||||
hidden_join_course_form();
|
||||
window.location.href= "http://"+"<%= Setting.host_name%>"+"/courses/" + "<%= @course.id%>"
|
||||
<% elsif @state == 10%>
|
||||
alert("您已经是该课程的管理员了");
|
||||
hidden_join_course_form();
|
||||
window.location.href= "http://"+"<%= Setting.host_name%>"+"/courses/" + "<%= @course.id%>"
|
||||
<% else %>
|
||||
alert("未知错误,请稍后再试");
|
||||
<% end %>
|
||||
|
|
|
@ -1,26 +1,4 @@
|
|||
<div>
|
||||
<span id="attachments_fields" xmlns="http://www.w3.org/1999/html">
|
||||
<% if defined?(container) && container && container.saved_attachments %>
|
||||
<% container.attachments.each_with_index do |attachment, i| %>
|
||||
<span id="attachments_p<%= i %>" class="attachment">
|
||||
<%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly=>'readonly')%>
|
||||
<%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 254, :placeholder => l(:label_optional_description), :class => 'description', :style=>"display: inline-block;") %>
|
||||
<span class="ispublic-label"><%= l(:field_is_public)%>:</span>
|
||||
<%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public,attachment.is_public == 1 ? true : false,:class => 'is_public')%>
|
||||
<%= if attachment.id.nil?
|
||||
#待补充代码
|
||||
else
|
||||
link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload')
|
||||
end
|
||||
%>
|
||||
<%#= render :partial => 'tags/tag', :locals => {:obj => attachment, :object_flag => "6"} %>
|
||||
|
||||
<%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %>
|
||||
</span>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</span>
|
||||
</div>
|
||||
<% checkBox = (@course.present? && @course.is_public?) ? 'public' : 'private'%>
|
||||
<button name="button" class="sub_btn" onclick="_file.click()" onmouseover="this.focus()" style="<%= ie8? ? 'display:none' : ''%>" type="button" ><%= l(:label_browse) %></button>
|
||||
<% if @course %>
|
||||
|
@ -68,3 +46,29 @@
|
|||
</span>
|
||||
(<%= l(:label_max_size) %>:
|
||||
<%= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %>)
|
||||
<div class="cl">
|
||||
|
||||
<div>
|
||||
<span id="attachments_fields" xmlns="http://www.w3.org/1999/html">
|
||||
<% if defined?(container) && container && container.saved_attachments %>
|
||||
<% container.attachments.each_with_index do |attachment, i| %>
|
||||
<span id="attachments_p<%= i %>" class="attachment">
|
||||
<%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly=>'readonly')%>
|
||||
<%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 254, :placeholder => l(:label_optional_description), :class => 'description', :style=>"display: inline-block;") %>
|
||||
<span class="ispublic-label"><%= l(:field_is_public)%>:</span>
|
||||
<%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public,attachment.is_public == 1 ? true : false,:class => 'is_public')%>
|
||||
<%= if attachment.id.nil?
|
||||
#待补充代码
|
||||
else
|
||||
link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload')
|
||||
end
|
||||
%>
|
||||
<%#= render :partial => 'tags/tag', :locals => {:obj => attachment, :object_flag => "6"} %>
|
||||
|
||||
<%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %>
|
||||
</span>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
|
@ -26,6 +26,9 @@
|
|||
case 4:
|
||||
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'upload_show',:locals => {:course => @course,:course_attachment_type => 4}) %>');
|
||||
break;
|
||||
case 6:
|
||||
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'upload_show',:locals => {:course => @course,:course_attachment_type => 6}) %>');
|
||||
break;
|
||||
default:
|
||||
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'upload_show',:locals => {:course => @course,:course_attachment_type => 5}) %>');
|
||||
}
|
||||
|
@ -77,6 +80,7 @@
|
|||
<a href="javascript:void(0);" class=" c_dblue font_bold" onclick="show_upload(2);">软件</a> |
|
||||
<a href="javascript:void(0);" class=" c_dblue font_bold" onclick="show_upload(3);">媒体</a> |
|
||||
<a href="javascript:void(0);" class=" c_dblue font_bold" onclick="show_upload(4);">代码</a> |
|
||||
<a href="javascript:void(0);" class=" c_dblue font_bold" onclick="show_upload(6);">论文</a> |
|
||||
<a href="javascript:void(0);" class=" c_dblue font_bold" onclick="show_upload(5);">其他</a>
|
||||
</p>
|
||||
<% end %>
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
<% checkBox = (@course.present? && @course.is_public?) ? 'public' : 'private'%>
|
||||
<button name="button" class="sub_btn" onclick="_file.click()" onmouseover="this.focus()" style="<%= ie8? ? 'display:none' : ''%>" type="button" ><%= l(:label_browse) %></button>
|
||||
<% if @course %>
|
||||
<%= file_field_tag 'attachments[dummy][file]',
|
||||
:id => '_file',
|
||||
:class => ie8? ? '':'file_selector',
|
||||
:multiple => true,
|
||||
:onchange => 'addInputFilesCourseSource(this,"'+ checkBox.to_s+'");',
|
||||
:style => ie8? ? '': 'display:none',
|
||||
:data => {
|
||||
:max_file_size => Setting.attachment_max_size.to_i.kilobytes,
|
||||
:max_file_size_message => l(:error_attachment_too_big, :max_size => number_to_human_size(Setting.attachment_max_size.to_i.kilobytes)),
|
||||
:max_concurrent_uploads => Redmine::Configuration['max_concurrent_ajax_uploads'].to_i,
|
||||
:upload_path => uploads_path(:format => 'js'),
|
||||
:description_placeholder => l(:label_optional_description),
|
||||
:field_is_public => l(:field_is_public),
|
||||
:are_you_sure => l(:text_are_you_sure),
|
||||
:file_count => l(:label_file_count),
|
||||
:delete_all_files => l(:text_are_you_sure_all)
|
||||
} %>
|
||||
<% else %>
|
||||
<%= file_field_tag 'attachments[dummy][file]',
|
||||
:id => '_file',
|
||||
:class => ie8? ? '':'file_selector',
|
||||
:multiple => true,
|
||||
:onchange => 'addInputFiles(this);',
|
||||
:style => ie8? ? '': 'display:none',
|
||||
:data => {
|
||||
:max_file_size => Setting.attachment_max_size.to_i.kilobytes,
|
||||
:max_file_size_message => l(:error_attachment_too_big, :max_size => number_to_human_size(Setting.attachment_max_size.to_i.kilobytes)),
|
||||
:max_concurrent_uploads => Redmine::Configuration['max_concurrent_ajax_uploads'].to_i,
|
||||
:upload_path => uploads_path(:format => 'js'),
|
||||
:description_placeholder => l(:label_optional_description),
|
||||
:field_is_public => l(:field_is_public),
|
||||
:are_you_sure => l(:text_are_you_sure),
|
||||
:file_count => l(:label_file_count),
|
||||
:delete_all_files => l(:text_are_you_sure_all)
|
||||
} %>
|
||||
<% end %>
|
||||
|
||||
<!--<input type="submit" name="" value="上传文件" class="f_l ml10" style="width:80px; height:26px;">-->
|
||||
|
||||
<span id="upload_file_count">
|
||||
<%= l(:label_no_file_uploaded)%>
|
||||
</span>
|
||||
(<%= l(:label_max_size) %>:
|
||||
<%= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %>)
|
||||
<div class="cl"></div>
|
||||
<div>
|
||||
<span id="attachments_fields" xmlns="http://www.w3.org/1999/html">
|
||||
<% if defined?(container) && container && container.saved_attachments %>
|
||||
<% container.attachments.each_with_index do |attachment, i| %>
|
||||
<span id="attachments_p<%= i %>" class="attachment">
|
||||
<%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly=>'readonly')%>
|
||||
<%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 254, :placeholder => l(:label_optional_description), :class => 'description', :style=>"display: inline-block;") %>
|
||||
<span class="ispublic-label"><%= l(:field_is_public)%>:</span>
|
||||
<%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public,attachment.is_public == 1 ? true : false,:class => 'is_public')%>
|
||||
<%= if attachment.id.nil?
|
||||
#待补充代码
|
||||
else
|
||||
link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload')
|
||||
end
|
||||
%>
|
||||
<%#= render :partial => 'tags/tag', :locals => {:obj => attachment, :object_flag => "6"} %>
|
||||
|
||||
<%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %>
|
||||
</span>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</span>
|
||||
</div>
|
|
@ -0,0 +1,42 @@
|
|||
|
||||
<div id="popbox_upload" class="mb10" style="margin-top: -30px;color:#15bccf; font-size:16px;">
|
||||
<div class="upload_con">
|
||||
<h2 style="text-align: center"><%= l(:label_upload_files)%></h2>
|
||||
<div class="upload_box">
|
||||
<%= error_messages_for 'attachment' %>
|
||||
<div id="network_issue" style="color: red; display: none;"><%= l(:label_file_upload_error_messages)%></div>
|
||||
|
||||
<%= form_tag(course_files_path(course), :multipart => true,:remote => !ie8?,:name=>"upload_form") do %>
|
||||
<input type="hidden" name="course_attachment_type" value="<%= course_attachment_type%>">
|
||||
<!--<p class="c_grey fr mt10 mr5">-->
|
||||
<div class="c_dark">
|
||||
<input name="course_attachment_type" type="radio" value="1" checked class="c_dark" >课件</input> <span class="c_grey">|</span>
|
||||
<input name="course_attachment_type" type="radio" value="2" class="c_dblue">软件</input> <span class="c_grey">|</span>
|
||||
<input name="course_attachment_type" type="radio" value="3" class="c_dblue">媒体</input> <span class="c_grey">|</span>
|
||||
<input name="course_attachment_type" type="radio" value="4" class="c_dblue">代码</input> <span class="c_grey">|</span>
|
||||
<input name="course_attachment_type" type="radio" value="6" class="c_dblue">论文</input> <span class="c_grey">|</span>
|
||||
<input name="course_attachment_type" type="radio" value="5" class="c_dblue">其他</input></a>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
<div>
|
||||
<%= render :partial => 'files/new_style_attachment_list',:locals => {:course => course} %>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
<a href="javascript:void(0);" class=" fr grey_btn mr40" onclick="hideModal();"><%= l(:button_cancel)%></a>
|
||||
<a id="submit_resource" href="javascript:void(0);" class="blue_btn fr" onclick="submit_resource();"><%= l(:button_confirm)%></a>
|
||||
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<% content_for :header_tags do %>
|
||||
<%= javascript_include_tag 'attachments' %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function submit_resource()
|
||||
{
|
||||
$('#submit_resource').parent().submit();
|
||||
}
|
||||
</script>
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
<div id="popbox_upload" class="box_h3 mb10" style="margin-top: -30px">
|
||||
<div id="popbox_upload" class=" mb10" style="margin-top: -30px;color:#15bccf; font-size:16px;">
|
||||
<div class="upload_con">
|
||||
<h2><%= l(:label_upload_files)%></h2>
|
||||
<h2 style="text-align: center"><%= l(:label_upload_files)%></h2>
|
||||
<div class="upload_box">
|
||||
<%= error_messages_for 'attachment' %>
|
||||
<div id="network_issue" style="color: red; display: none;"><%= l(:label_file_upload_error_messages)%></div>
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
|
||||
<div id="popbox_upload" class="box_h3 mb10" style="margin-top: -30px">
|
||||
<div id="popbox_upload" class="mb10" style="margin-top: -30px;color:#15bccf; font-size:16px;">
|
||||
<div class="upload_con">
|
||||
<h2><%= l(:label_upload_files)%></h2>
|
||||
<h2 style="text-align: center"><%= l(:label_upload_files)%></h2>
|
||||
<div class="upload_box">
|
||||
<%= error_messages_for 'attachment' %>
|
||||
<div id="network_issue" style="color: red; display: none;"><%= l(:label_file_upload_error_messages)%></div>
|
||||
|
||||
<%= form_tag(project_files_path(project), :multipart => true,:remote => !ie8?,:name=>"upload_form") do %>
|
||||
<!-- <label style="margin-top:3px;"><#%= l(:label_file_upload)%></label> -->
|
||||
<%= render :partial => 'attachement_list',:locals => {:project => project} %>
|
||||
<%= render :partial => 'files/attachement_list',:locals => {:project => project} %>
|
||||
<div class="cl"></div>
|
||||
<a href="javascript:void(0);" class=" fr grey_btn mr40" onclick="closeModal();"><%= l(:button_cancel)%></a>
|
||||
<a href="javascript:void(0);" class=" fr grey_btn mr40" onclick="hideModal();"><%= l(:button_cancel)%></a>
|
||||
<a id="submit_resource" href="javascript:void(0);" class="blue_btn fr" onclick="submit_resource();"><%= l(:button_confirm)%></a>
|
||||
<% end %>
|
||||
</div>
|
||||
|
|
|
@ -22,7 +22,7 @@ $("#attachments_fields").children().remove();
|
|||
$("#upload_file_count").text("未上传文件");
|
||||
$('#upload_file_div').slideToggle('slow');
|
||||
<% if @project %>
|
||||
closeModal();
|
||||
hideModal();
|
||||
$("#resource_list").html('<%= j(render partial: "project_file_new" ,locals: {project: @project}) %>');
|
||||
$("#project_files_count_info").html("<%= @all_attachments.count%>");
|
||||
$("#project_files_count_nav").html("(<%= @all_attachments.count%>)")
|
||||
|
|
|
@ -247,7 +247,7 @@
|
|||
tagId = id;
|
||||
taggableType = type;
|
||||
width = parseInt(domEle.css('width').replace('px', '')) >= 100 ? parseInt(domEle.css('width').replace('px', '')) : 100
|
||||
domEle.html('<input name="" id="renameTagName" maxlength="<%=Setting.tags_max_length%>" minlength="<%= Setting.tags_min_length%>" style="width:' + width + 'px;" value="' + name + '"/>');
|
||||
domEle.html('<input name="" id="renameTagName" maxlength="120" minlength="1" style="width:' + width + 'px;" value="' + name + '"/>');
|
||||
domEle.parent().css("border", "1px solid #ffffff");
|
||||
$("#renameTagName").focus();
|
||||
}
|
||||
|
@ -295,8 +295,8 @@
|
|||
// }else{ //否则就要更新tag名称了
|
||||
//// if(confirm("是否将标签改为 "+ $("#renameTagName").val().trim())){ 去掉询问
|
||||
// $.post(
|
||||
// '<%= update_tag_name_path %>',
|
||||
// {"taggableId": tagId, "taggableType": taggableType, "tagName": tagName, "renameName": $("#renameTagName").val().trim(),"courseId":<%= @course.id%>}
|
||||
// '<%#= update_tag_name_path %>',
|
||||
// {"taggableId": tagId, "taggableType": taggableType, "tagName": tagName, "renameName": $("#renameTagName").val().trim(),"courseId":<%#= @course.id%>}
|
||||
// )
|
||||
//// }else{
|
||||
//// ele.parent().css("border","");
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'student_work/alert_forbidden_anonymous', :locals => {:user_activity_id => @user_activity_id,:is_in_course => @is_in_course,:course_activity => @course_activity}) %>');
|
||||
showModal('ajax-modal', '500px');
|
||||
$('#ajax-modal').siblings().remove();
|
||||
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
|
||||
"<a href='javascript:' onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
|
||||
$('#ajax-modal').parent().css("top","30%").css("left","30%").css("position","fixed");
|
|
@ -8,6 +8,17 @@
|
|||
homework_description_editor.html("");
|
||||
$("#homework_editor").toggle();
|
||||
}
|
||||
function cancel_edit(){
|
||||
<% if @is_in_course == 1 %>
|
||||
window.location.href='<%=homework_common_index_path(:course => @course.id) %>';
|
||||
<% elsif @is_in_course == 0 %>
|
||||
window.location.href='<%=user_homeworks_user_path(User.current.id) %>';
|
||||
<% elsif @is_in_course == -1 && @course_activity == 0 %>
|
||||
window.location.href='<%=user_path(User.current.id) %>';
|
||||
<% elsif @is_in_course == -1 && @course_activity == 1 %>
|
||||
window.location.href='<%=course_path(@course.id) %>';
|
||||
<% end %>
|
||||
}
|
||||
</script>
|
||||
<div class="homepageRightBanner mb10">
|
||||
<div class="NewsBannerName">编辑作业</div>
|
||||
|
@ -18,6 +29,7 @@
|
|||
<div class="HomeWork mb10">
|
||||
<%= form_for @homework do |f| %>
|
||||
<input type="text" name="is_in_course" class="none" value="<%= @is_in_course%>"/>
|
||||
<input type="text" name="course_activity" class="none" value="<%= @course_activity%>"/>
|
||||
<div id="HomeWorkCon">
|
||||
<%= render :partial => 'users/user_homework_form', :locals => { :homework => @homework,:f => f,:edit_mode => true } %>
|
||||
</div>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/project_issue', :locals => {:activity => @issue,:user_activity_id =>@user_activity_id,:first_user_activity =>@first_user_activity,:page => @page}) %>");
|
||||
$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/project_issue', :locals => {:activity => @issue,:user_activity_id =>@user_activity_id}) %>");
|
||||
|
||||
init_activity_KindEditor_data(<%= @user_activity_id%>,"","87%");
|
|
@ -21,12 +21,11 @@
|
|||
</a>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="mt5">
|
||||
<div class="mt5" style="color: #269ac9;cursor: default">
|
||||
<!--<a target="hiddentab" href="http://wpa.qq.com/msgrd?v=1&uin=1554253403&site=qq&menu=yes" style="color: #269ac9;">-->
|
||||
<%#= l(:label_technical_support) %>
|
||||
<!--白 羽</a> http://shang.qq.com/wpa/qunwpa?idkey=4fe2d63a4527cddce038f04f0b1d728a62082074fb4a74870a5444ee1a6910ad-->
|
||||
<a href="javascript:void(0);" style="color: #269ac9;">
|
||||
<p style="text-align: center"> 请加入师姐答疑群</p> <p style="text-align: center">173184401</p> </a>
|
||||
<p style="text-align: center"> 请加入师姐师兄答疑群</p> <p style="text-align: center">QQ群号:173184401</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="side_bottom"></div>
|
||||
|
|
|
@ -138,7 +138,10 @@
|
|||
<div class="subNav">
|
||||
<%= link_to l(:label_course_file), course_files_path(@course), :class => "f14 c_blue02" %>
|
||||
<%= link_to "(#{course_file_num})", course_files_path(@course), :class => "subnav_num c_orange",:id=>'courses_files_count_nav' %>
|
||||
<%= link_to( "+#{l(:label_upload_files)}", course_files_path(@course), :class => 'subnav_green ml95 c_white') if is_teacher %>
|
||||
<% if is_teacher %>
|
||||
<!--link_to( "+#{l(:label_upload_files)}", course_files_path(@course), :class => 'subnav_green ml95 c_white')-->
|
||||
<a class="subnav_green ml95 c_white" href="javascript:void(0);" onclick="course_files_upload();">+上传资源 </a>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:label_course_board), course_boards_path(@course), :class => "f14 c_blue02" %>
|
||||
|
@ -246,6 +249,15 @@
|
|||
|
||||
})
|
||||
|
||||
function course_files_upload(){
|
||||
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'files/upload_course_files',:locals => {:course => @course,:course_attachment_type => 1}) %>');
|
||||
showModal('ajax-modal', '513px');
|
||||
$('#ajax-modal').siblings().remove();
|
||||
$('#ajax-modal').before("<a href='javascript:void(0)' onclick='hideModal()' style='margin-left: 480px;'><img src='/images/bid/close.png' width='26px' height='26px' /></a>");
|
||||
$('#ajax-modal').parent().css("top","").css("left","");
|
||||
$('#ajax-modal').parent().addClass("popbox_polls");
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</html>
|
|
@ -61,14 +61,14 @@
|
|||
function addTag(){
|
||||
if(<%=@forum.creator.id == User.current.id%>) {
|
||||
if ($("input[name='addTag']").val().trim() != "" ) {
|
||||
if($("input[name='addTag']").val().trim().length <= 14) {
|
||||
if($("input[name='addTag']").val().trim().length <= 120) {
|
||||
$.get(
|
||||
'<%= add_forum_tag_forum_path(@forum)%>' + "?tag_str=" + $("input[name='addTag']").val(),
|
||||
{}
|
||||
);
|
||||
$("input[name='addTag']").val('');
|
||||
}else{
|
||||
alert("标签名字长度不能超过14个字符");
|
||||
alert("标签名字长度不能超过120个字符");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<%= javascript_heads %>
|
||||
<%= heads_for_theme %>
|
||||
<%= stylesheet_link_tag 'public', 'pleft', 'project','prettify','jquery/jquery-ui-1.9.2','header','repository' %>
|
||||
<%= javascript_include_tag 'cookie','project', 'header','prettify','select_list_move' %>
|
||||
<%= javascript_include_tag 'cookie','project', 'header','prettify','select_list_move','attachments' %>
|
||||
<%= call_hook :view_layouts_base_html_head %>
|
||||
<!-- page specific tags -->
|
||||
<%= yield :header_tags -%>
|
||||
|
@ -223,6 +223,16 @@
|
|||
}
|
||||
);
|
||||
}
|
||||
|
||||
function project_files_upload()
|
||||
{
|
||||
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'files/upload_show_project',:locals => {:project => @project}) %>');
|
||||
showModal('ajax-modal', '513px');
|
||||
$('#ajax-modal').siblings().remove();
|
||||
$('#ajax-modal').before("<a href='javascript:void(0)' onclick='hideModal()' style='margin-left: 480px;'><img src='/images/bid/close.png' width='26px' height='26px' /></a>");
|
||||
$('#ajax-modal').parent().css("top","40%").css("left","36%");
|
||||
$('#ajax-modal').parent().addClass("popbox_polls");
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
<div id="fade" class="black_overlay">123</div>
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
$('#pro_st_tbc_03').html('<%= escape_javascript(render :partial => 'projects/settings/new_members') %>');
|
||||
<%elsif @course%>
|
||||
$('#course_members_setting').html('<%= escape_javascript(render :partial => 'courses/course_members') %>');
|
||||
$("#teacher_number").html("<%= searchTeacherAndAssistant(@course).count %>")
|
||||
$("#student_number").html("<%= studentCount(@course) %>");
|
||||
<%end%>
|
||||
hideOnLoad();
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<%if @project%>
|
||||
$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/project_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id,:first_user_activity =>@first_user_activity,:page => @page}) %>");
|
||||
$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/project_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id}) %>");
|
||||
<%elsif @course%>
|
||||
$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id,:first_user_activity =>@first_user_activity,:page => @page}) %>");
|
||||
$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_message', :locals => {:activity => @topic,:user_activity_id =>@user_activity_id}) %>");
|
||||
<%end%>
|
||||
init_activity_KindEditor_data(<%= @user_activity_id%>,"","87%");
|
|
@ -34,15 +34,23 @@
|
|||
<%= link_to "(#{attaments_num})", project_files_path(@project), :class => "subnav_num c_orange",:id=>'project_files_count_nav' %>
|
||||
<% end %>
|
||||
<% if User.current.member_of?(@project) %>
|
||||
<%= link_to "+"+l(:label_upload_source), project_files_path(@project,:flag => true), :class => "subnav_green ml95" %>
|
||||
<%#= link_to "+"+l(:label_upload_source), project_files_path(@project,:flag => true), :class => "subnav_green ml95" %>
|
||||
<a class="subnav_green m195" href="javascript:void(0);" onclick="project_files_upload();">+上传资源</a>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
<%# --版本库被设置成私有、module中设置不显示、没有创建版本库 三种情况不显示-- %>
|
||||
<% if visible_repository?(@project) %>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:project_module_repository), {:controller => 'repositories', :action => 'show', :id => @project.id, to: 'gitlab'}, :class => "f14 c_blue02" %>
|
||||
<% if rep_is_gitlab?(@project) %>
|
||||
<%= link_to l(:project_module_repository), {:controller => 'projects', :action => 'settings', :id => @project.id, :tab=>'repositories'}, :class => "f14 c_blue02" %>
|
||||
<% else %>
|
||||
<%= link_to l(:project_module_repository),({:controller => 'repositories', :action => 'show', :id => @project, :repository_id => gitlab_repository(@project).identifier}), :class => "f14 c_blue02" %>
|
||||
<% end %>
|
||||
<a class="subnav_num">(<%= @project.repositories.count %>)</a>
|
||||
<% if (User.current.admin? || User.current.allowed_to?({:controller => 'projects', :action => 'settings'}, @project)) && rep_is_gitlab?(@project) %>
|
||||
<%= link_to "+"+l(:project_module_create_repository), url_for(:controller => 'projects', :action => 'settings', :id => @project.id, :tab=>'repositories') , :class => "subnav_green" %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
<!-- more -->
|
||||
|
|
|
@ -7,87 +7,88 @@
|
|||
<%= str = error_messages_for 'repository' %>
|
||||
<% project_path_cut = RepositoriesHelper::PROJECT_PATH_CUT %>
|
||||
<% ip = RepositoriesHelper::REPO_IP_ADDRESS %><!--Added by tanxianbo For formatting project's path-->
|
||||
<%# 提示 %>
|
||||
<% if @project.repositories.count>1 %>
|
||||
<div class="flash notice">
|
||||
项目管理员您好!近日平台完成了版本库升级,以后每个项目将唯一的对应一个版本库。请您按照以下步骤完成项目版本库的更新:
|
||||
<p>1. 点击下面的"创建版本库按钮",为本项目创建一个新的版本库;</p>
|
||||
<p>2. 从本项目的历史版本库中选择一个您将使用的版本库,将其完整的克隆(clone)到本地(需要提供您之前设置的版本库口令),然后推送(push)到新建的版本库(注意不能仅推送代码,否则之前各开发者的提交记录将丢失)。</p>
|
||||
<p>3. 本项目的历史版本库将在您新建版本库的一周内自动隐藏,如果您以后需要这些版本库,请与网站联系,我们将为您提供这些版本库的所有数据。</p>
|
||||
</div>
|
||||
<% end %>
|
||||
<%# 新建版本库 %>
|
||||
<% if @project.repositories.count == 0 || rep_is_gitlab?(@project) %>
|
||||
<div style="padding-bottom: 40px">
|
||||
<a href="javascript:viod(0)" class="pic_add fl mr5" onclick="pro_st_show_ku();"></a>
|
||||
<a href="javascript:viod(0)" class="c_blue fl" onclick="pro_st_show_ku();">
|
||||
<% course_tag = @project.project_type %>
|
||||
<% if User.current.allowed_to?(:manage_repository, @project) %>
|
||||
<!--newrepo_project_repository_path(@project, :course => course_tag) -->
|
||||
<%= link_to l(:label_repository_new_repos),"#" , :onclick=>"pro_st_show_ku();", :class => 'c_blue fl' %></p>
|
||||
<% end %>
|
||||
</a>
|
||||
<div class="cl"></div>
|
||||
|
||||
<%= labelled_form_for :repository, @repository, :url =>project_repositories_path(@project),:html => {:id => 'repository-form',:method=>"post",:autocomplete=>'off'} do |f| %>
|
||||
<div id="pro_st_edit_ku" class="pro_st_edit_ku">
|
||||
<ul>
|
||||
<li style="display: none">
|
||||
<label class="label02"><%=l(:label_scm)%>:</label>
|
||||
<%= select_tag('repository_scm',
|
||||
options_for_select(["Git"],@repository.class.name.demodulize),
|
||||
:data => {:remote => true, :method => 'get'}) %>
|
||||
<% if @repository && ! @repository.class.scm_available %>
|
||||
<span class="c_grey"><%= l(:text_scm_command_not_available) %></span>
|
||||
<% end %>
|
||||
</li>
|
||||
<li >
|
||||
<input type="text" style="display: none"/> <!--阻止表单自动填充 -->
|
||||
<input type="password" style="display: none"/> <!--阻止表单自动填充 -->
|
||||
<span class="f14"><span class="c_red">*</span><%=l(:label_repository_name)%>:</span>
|
||||
<%= f.text_field :identifier, :disabled =>@repository.nil? || @repository.identifier_frozen? ? true:false,:label=>"", :no_label => true %>
|
||||
<% unless @repository.identifier_frozen? %>
|
||||
<span class="c_grey"><%=l(:text_length_between,:min=>1,:max=>254)<<l(:text_project_identifier_info) %></span>
|
||||
<% end %>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
</ul>
|
||||
<a href="#" onclick="$('#repository-form').submit();" class="blue_btn fl "><%=l(:lable_project_rep_create) %></a>
|
||||
<a href="<%= settings_project_path(@project, :tab => 'repositories')%>" class="grey_btn fl "><%=l(:button_cancel)%></a>
|
||||
</div><!--pro_st_edit_issues end-->
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
|
||||
<% if @project.repositories.any? %>
|
||||
<%= render :partial => 'projects/settings/rep_gitlab', :locals => {:project => @project, :ip => "ip", :project_path_cut => "project_path_cut" } %>
|
||||
<%#= render :partial => 'projects/settings/rep_forge', :locals => {:project => @project, :ip => "ip", :project_path_cut => "project_path_cut" } %>
|
||||
<div class="rep_history_title">历史版本库</div>
|
||||
<table class="pro_table">
|
||||
<tbody>
|
||||
<tr class="pro_table_tit">
|
||||
<td class=" w150"><%= l(:field_identifier) %></td>
|
||||
<td class="w150"> <%= l(:field_repository_is_default) %></td>
|
||||
<td class="w150"><%= l(:label_scm) %> </td>
|
||||
<td class="w150" ><%= l(:label_repository_path) %> </td>
|
||||
<td class="w150"> </td>
|
||||
<td class="w150"> </td>
|
||||
</tr>
|
||||
<% @project.repositories.sort.each do |repository| %>
|
||||
<tr class="<%= cycle 'pro_table_on', '' %>">
|
||||
<td><a href="javascript:viod(0)" title="<%= repository.identifier %>">
|
||||
<%= link_to truncate(repository.identifier), ({:controller => 'repositories', :action => 'show', :id => @project, :repository_id => repository.identifier_param} if repository.identifier.present?) %></a></td>
|
||||
<td> <%= checked_image repository.is_default? %></td>
|
||||
<td><%=h repository.scm_name %></td>
|
||||
<% rep_forge(@project).sort.each do |repository| %>
|
||||
<tr class="<%= cycle 'pro_table_on_forge', '' %>">
|
||||
<td class="w150"><span class="rep_history_grey" title="<%= repository.identifier %>">
|
||||
<%= repository.identifier %></span></td>
|
||||
<td class="w150"><span class="rep_history_grey"><%=h repository.scm_name %></span></td>
|
||||
<%if repository.scm_name=="Git"%>
|
||||
<td style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;" title="http://<%= repository.login.to_s %>_<%= repository.identifier.to_s%>@<%= ip %>
|
||||
<%=h repository.url.slice(project_path_cut, repository.url.length) %>"> <%=truncate( 'http://' << repository.login.to_s << '_'<< repository.identifier.to_s << '@'<< ip.to_s << h( repository.url.slice(project_path_cut, repository.url.length)),:length=>20)%></td><!--Modified by tanxianbo-->
|
||||
<td class="w362 pl5" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis; text-align: left" title="http://<%= repository.login.to_s %>_<%= repository.identifier.to_s%>@<%= ip %>
|
||||
<%=h repository.url.slice(project_path_cut, repository.url.length) %>">
|
||||
<span class="rep_history_grey">
|
||||
<%=truncate( 'http://' << repository.login.to_s << '_'<< repository.identifier.to_s << '@'<< ip.to_s << h( repository.url.slice(project_path_cut, repository.url.length)),:length=>60) %>
|
||||
</span>
|
||||
</td><!--Modified by tanxianbo-->
|
||||
<%else %>
|
||||
<td style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;" ><%=h truncate(repository.url,:length=>10) %></td>
|
||||
<td class="w360" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;" ><%=h truncate(repository.url,:length=>10) %></td>
|
||||
<% end %>
|
||||
<td><a href="javascript:viod(0)" class="c_blue" >
|
||||
<% if repository.scm_name=="Git"%>
|
||||
<%if User.current.allowed_to?(:manage_repository, @project) %>
|
||||
<%= link_to(l(:label_user_plural), committers_repository_path(repository)) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</a></td>
|
||||
<td>
|
||||
<% if repository.login.to_s==User.current.login.to_s %>
|
||||
<%= delete_new_link repository_path(repository) %>
|
||||
<% end %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
<% else %>
|
||||
<p class="nodata"><%= l(:label_repository_no_data) %></p>
|
||||
<p class="nodata">温馨提示:<%= l(:label_repository_no_data) %></p>
|
||||
<% end %>
|
||||
|
||||
<%# 新建版本库 %>
|
||||
<% if @project.repositories.count == 0 %>
|
||||
<a href="javascript:viod(0)" class="pic_add fl mr5" onclick="pro_st_show_ku();"></a>
|
||||
<a href="javascript:viod(0)" class="c_blue fl" onclick="pro_st_show_ku();">
|
||||
<% course_tag = @project.project_type %>
|
||||
<% if User.current.allowed_to?(:manage_repository, @project) %>
|
||||
<!--newrepo_project_repository_path(@project, :course => course_tag) -->
|
||||
<%= link_to l(:label_repository_new_repos),"#" , :onclick=>"pro_st_show_ku();", :class => 'c_blue fl' %></p>
|
||||
<% end %>
|
||||
</a>
|
||||
<div class="cl"></div>
|
||||
|
||||
<%= labelled_form_for :repository, @repository, :url =>project_repositories_path(@project),:html => {:id => 'repository-form',:method=>"post",:autocomplete=>'off'} do |f| %>
|
||||
<div id="pro_st_edit_ku" class="pro_st_edit_ku">
|
||||
<ul>
|
||||
<li >
|
||||
<label class="label02"><%=l(:label_scm)%>:</label>
|
||||
<%= select_tag('repository_scm',
|
||||
options_for_select(["Git"],@repository.class.name.demodulize),
|
||||
:data => {:remote => true, :method => 'get'})%>
|
||||
<% if @repository && ! @repository.class.scm_available %>
|
||||
<span class="c_grey"><%= l(:text_scm_command_not_available) %></span>
|
||||
<% end %>
|
||||
</li>
|
||||
<li >
|
||||
<input type="text" style="display: none"/> <!--阻止表单自动填充 -->
|
||||
<input type="password" style="display: none"/> <!--阻止表单自动填充 -->
|
||||
<label class="label02"><span class="c_red">*</span><%=l(:label_repository_name)%>:</label>
|
||||
<%= f.text_field :identifier, :disabled =>@repository.nil? || @repository.identifier_frozen? ? true:false,:label=>"", :no_label => true %>
|
||||
<% unless @repository.identifier_frozen? %>
|
||||
<span class="c_grey"><%=l(:text_length_between,:min=>1,:max=>254)<<l(:text_project_identifier_info) %></span>
|
||||
<% end %>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
</ul>
|
||||
<a href="#" onclick="$('#repository-form').submit();" class="blue_btn fl ml110"><%=l(:button_save)%></a>
|
||||
<a href="<%= settings_project_path(@project, :tab => 'repositories')%>" class="grey_btn fl ml10"><%=l(:button_cancel)%></a>
|
||||
</div><!--pro_st_edit_issues end-->
|
||||
<% end %>
|
||||
|
||||
<% end %>
|
||||
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
<table class="pro_table">
|
||||
<tbody>
|
||||
<tr class="pro_table_tit">历史版本</tr>
|
||||
<tr class="pro_table_tit">
|
||||
<td class=" w150"><%= l(:field_identifier) %></td>
|
||||
<td class="w150"> <%= l(:field_repository_is_default) %></td>
|
||||
<td class="w150"><%= l(:label_scm) %> </td>
|
||||
<td class="w150" ><%= l(:label_repository_path) %> </td>
|
||||
<td class="w150"> </td>
|
||||
<td class="w150"> </td>
|
||||
</tr>
|
||||
<% rep_forge(project).sort.each do |repository| %>
|
||||
<tr class="<%= cycle 'pro_table_on', '' %>">
|
||||
<td><a href="javascript:viod(0)" title="<%= repository.identifier %>">
|
||||
<%= link_to truncate(repository.identifier), ({:controller => 'repositories', :action => 'show', :id => @project, :repository_id => repository.identifier_param} if repository.identifier.present?) %></a></td>
|
||||
<td> <%= checked_image repository.is_default? %></td>
|
||||
<td><%=h repository.scm_name %></td>
|
||||
<%if repository.scm_name=="Git"%>
|
||||
<td style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;" title="http://<%= repository.login.to_s %>_<%= repository.identifier.to_s%>@<%= ip %>
|
||||
<%=h repository.url.slice(project_path_cut, repository.url.length) %>"> <%=truncate( 'http://' << repository.login.to_s << '_'<< repository.identifier.to_s << '@'<< ip.to_s << h( repository.url.slice(project_path_cut, repository.url.length)),:length=>20)%></td><!--Modified by tanxianbo-->
|
||||
<%else %>
|
||||
<td style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;" ><%=h truncate(repository.url,:length=>10) %></td>
|
||||
<% end %>
|
||||
<td><a href="javascript:viod(0)" class="c_blue" >
|
||||
<% if repository.scm_name=="Git"%>
|
||||
<%if User.current.allowed_to?(:manage_repository, @project) %>
|
||||
<%= link_to(l(:label_user_plural), committers_repository_path(repository)) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</a></td>
|
||||
<td>
|
||||
<% if repository.login.to_s==User.current.login.to_s %>
|
||||
<%= delete_new_link repository_path(repository) %>
|
||||
<% end %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
|
@ -0,0 +1,26 @@
|
|||
<% rep_gitlab(project).sort.each do |repository| %>
|
||||
|
||||
<table class="pro_table">
|
||||
<tbody>
|
||||
<tr class="pro_table_tit">
|
||||
<td class=" w150"><%= l(:field_identifier) %></td>
|
||||
<td class="w150"><%= l(:label_scm) %> </td>
|
||||
<td class="w362" ><%= l(:label_repository_path) %> </td>
|
||||
</tr>
|
||||
|
||||
<tr class="<%= cycle 'pro_table_on', '' %>">
|
||||
<td><a href="javascript:viod(0)" title="<%= repository.identifier %>">
|
||||
<%= link_to truncate(repository.identifier), ({:controller => 'repositories', :action => 'show', :id => @project, :repository_id => repository.identifier_param} if repository.identifier.present?) %></a>
|
||||
</td>
|
||||
<td><%=h repository.scm_name %></td>
|
||||
<%if repository.scm_name=="Gitlab"%>
|
||||
<td style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;" title="<%= rep_gitlab_url(project) %>">
|
||||
<%=truncate(rep_gitlab_url(project), :length => 360) %>
|
||||
</td>
|
||||
<%else %>
|
||||
<td style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;" ><%=h truncate(repository.url,:length=>10) %></td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
|
@ -14,7 +14,7 @@
|
|||
<%= render_properties(@properties) %>
|
||||
|
||||
<div class="mt10">
|
||||
<%= render(:partial => 'revisions', :locals => {:project => @project, :path => @path, :revisions => @changesets, :entry => @entry }) unless @changesets.empty? %>
|
||||
<%= render(:partial => 'revisions', :locals => {:project => @project, :path => @path, :revisions => @commits, :entry => @entry }) unless @commits.empty? %>
|
||||
</div>
|
||||
<% content_for :header_tags do %>
|
||||
<%= stylesheet_link_tag "scm" %>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
</span>
|
||||
|
||||
<span class="fr mr5"><font class="fb ml2 mr2 vl_commit">
|
||||
<%=link_to @changesets_count, {:action => 'changes', :path => to_path_param(@path), :id => @project, :repository_id => @repository.identifier_param, :rev => @rev} %></font> 提交
|
||||
<%=link_to @changesets_all_count, {:action => 'changes', :path => to_path_param(@path), :id => @project, :repository_id => @repository.identifier_param, :rev => @rev} %></font> 提交
|
||||
</span>
|
||||
</div>
|
||||
<% end %>
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
<div id="popbox02">
|
||||
<div class="ni_con">
|
||||
<h2>禁用匿评</h2>
|
||||
<p>
|
||||
禁用匿评后学生将不能对作品进行互评,且匿评不能再开启,是否确定禁用匿评?
|
||||
</p>
|
||||
<div class="ni_btn">
|
||||
<a href="javascript:" class="tijiao" onclick="clickOK('<%= forbidden_anonymous_comment_student_work_path(:homework=>@homework, :user_activity_id => user_activity_id, :course_activity => course_activity)%>');" style="margin-bottom: 20px;" >
|
||||
确 定
|
||||
</a>
|
||||
<a href="javascript:" class="tijiao" onclick="clickCanel();" style="margin-bottom: 20px;">
|
||||
取 消
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -35,12 +35,14 @@
|
|||
</li>
|
||||
<% end%>
|
||||
|
||||
<li class="hworkList50 hworkH30">
|
||||
<%= link_to "匿评",@show_all ? student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10",:remote => true%>
|
||||
<% if @show_all && @order == "student_score"%>
|
||||
<%= link_to "", student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt10",:remote => true%>
|
||||
<% end%>
|
||||
</li>
|
||||
<% if @homework.anonymous_comment == 0%>
|
||||
<li class="hworkList50 hworkH30">
|
||||
<%= link_to "匿评",@show_all ? student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10",:remote => true%>
|
||||
<% if @show_all && @order == "student_score"%>
|
||||
<%= link_to "", student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt10",:remote => true%>
|
||||
<% end%>
|
||||
</li>
|
||||
<% end %>
|
||||
|
||||
<li class="hworkList50 hworkH30">
|
||||
<%= link_to "成绩",@show_all ? student_work_index_path(:homework => @homework.id,:order => "score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10",:remote => true%>
|
||||
|
|
|
@ -47,7 +47,8 @@
|
|||
</li>
|
||||
<% end%>
|
||||
|
||||
<li class="hworkList50 <%= score_color student_work.student_score%> student_score_info">
|
||||
<% if @homework.anonymous_comment == 0%>
|
||||
<li class="hworkList50 <%= score_color student_work.student_score%> student_score_info">
|
||||
<%= student_work.student_score.nil? ? "--" : format("%.1f",student_work.student_score)%>
|
||||
<% unless student_work.student_score.nil?%>
|
||||
<span class="linkBlue">
|
||||
|
@ -61,7 +62,7 @@
|
|||
</div>
|
||||
<% end%>
|
||||
</li>
|
||||
|
||||
<% end %>
|
||||
<!-- 成绩 -->
|
||||
<% score = student_work.respond_to?("score") ? student_work.score : (student_work.final_score || 0) - student_work.absence_penalty - student_work.late_penalty%>
|
||||
<li class="hworkList50 <%= score_color score%> student_final_scor_info">
|
||||
|
|
|
@ -40,10 +40,12 @@
|
|||
<span class="f14 fontGrey3 mr10">教辅评分</span>
|
||||
<%= select_tag :ta_proportion,options_for_select(ta_proportion_option_to(100-(homework.homework_detail_programing ? homework.homework_detail_programing.ta_proportion * 100 : 0).to_i),homework.homework_detail_manual.ta_proportion), {:class => "markPercentage"} %>
|
||||
</div>
|
||||
<div>
|
||||
<span class="f14 fontGrey3 mr10">学生匿评</span>
|
||||
<input type="text" id="student_proportion" value="<%= (100 - homework.homework_detail_manual.ta_proportion * 100).to_i - (homework.homework_detail_programing ? homework.homework_detail_programing.ta_proportion * 100 : 0).to_i%>%" class="markPercentage" readonly>
|
||||
</div>
|
||||
<% if homework.anonymous_comment == 0 %>
|
||||
<div>
|
||||
<span class="f14 fontGrey3 mr10">学生匿评</span>
|
||||
<input type="text" id="student_proportion" value="<%= (100 - homework.homework_detail_manual.ta_proportion * 100).to_i - (homework.homework_detail_programing ? homework.homework_detail_programing.ta_proportion * 100 : 0).to_i%>%" class="markPercentage" readonly>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="mb20">
|
||||
<span class="f14 fontGrey3 mr10">教师优先</span>
|
||||
<input type="checkbox" name="teacher_priority" <%= homework.teacher_priority == 1 ? 'checked' : ''%>/>
|
||||
|
@ -51,7 +53,7 @@
|
|||
</div>
|
||||
<div>
|
||||
<div class="courseSendSubmit">
|
||||
<a href="javascript:void(0);" class="sendSourceText" onclick="$('#ajax-modal').find('form').submit();">确定</a>
|
||||
<a href="javascript:void(0);" class="sendSourceText" onclick="$('#ajax-modal').find('form').submit();clickCanel();">确定</a>
|
||||
</div>
|
||||
<div class="courseSendCancel">
|
||||
<a href="javascript:void(0);" class="sendSourceText linkGrey6" onclick="clickCanel();">取消</a>
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
<% if @user_activity_id == -1 %>
|
||||
$("#homework_common_<%= @homework.id %>").replaceWith("<%= escape_javascript(render :partial => "users/user_homework_detail",:locals => {:homework_common => @homework, :is_in_course => @is_in_course})%>");
|
||||
init_activity_KindEditor_data(<%= @homework.id%>,"","87%");
|
||||
<% else %>
|
||||
$("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_homework', :locals => {:activity => @homework,:user_activity_id =>@user_activity_id,:course_activity=>@course_activity}) %>");
|
||||
init_activity_KindEditor_data(<%= @user_activity_id%>,"","87%");
|
||||
<% end %>
|
|
@ -144,7 +144,7 @@
|
|||
<div class="cl"></div>
|
||||
</div>
|
||||
<div class="mt5">
|
||||
<div class="fontGrey2 db fl">截止时间:<%= @homework.end_time %></div>
|
||||
<div class="fontGrey2 db fl">截止时间:<%= @homework.end_time %> 23:59</div>
|
||||
<% if @homework.homework_detail_manual%>
|
||||
<% if @homework.homework_detail_manual.comment_status == 1%>
|
||||
<% end_time = @homework.end_time.to_time.to_i + 24*60*60 - 1 %>
|
||||
|
|
|
@ -13,15 +13,26 @@
|
|||
<% end %> TO <!--+"(课程名称)" -->
|
||||
<%= link_to activity.course.name.to_s+" | 课程作业", homework_common_index_path(:course => activity.course.id, :host=> Setting.host_course), :class => "newsBlue ml15"%>
|
||||
</div>
|
||||
<div class="homepagePostTitle hidden m_w530 fl"> <!--+"(作业名称)"-->
|
||||
<div class="homepagePostTitle hidden m_w480 fl"> <!--+"(作业名称)"-->
|
||||
<%= link_to activity.name.to_s, student_work_index_path(:homework => activity.id,:host=> Setting.host_course), :class => "postGrey"%>
|
||||
</div>
|
||||
<% if activity.homework_detail_manual.comment_status == 1%>
|
||||
<span class="grey_btn_cir ml10">未开启匿评</span>
|
||||
<% elsif activity.homework_detail_manual.comment_status == 2%>
|
||||
<span class="green_btn_cir ml10">匿评中</span>
|
||||
<% elsif activity.homework_detail_manual.comment_status == 3%>
|
||||
<span class="grey_btn_cir ml10">匿评已结束</span>
|
||||
<% if activity.homework_detail_manual%>
|
||||
<% if activity.homework_detail_manual.comment_status == 1%>
|
||||
<% if activity.anonymous_comment == 0%>
|
||||
<span class="grey_btn_cir ml5">未开启匿评</span>
|
||||
<% end %>
|
||||
<span class="green_btn_cir ml5">作品提交中</span>
|
||||
<% elsif activity.homework_detail_manual.comment_status == 2%>
|
||||
<% if activity.anonymous_comment == 0%>
|
||||
<span class="green_btn_cir ml5">匿评中</span>
|
||||
<% end %>
|
||||
<span class="green_btn_cir ml5">教师教辅评阅中</span>
|
||||
<% elsif activity.homework_detail_manual.comment_status == 3%>
|
||||
<% if activity.anonymous_comment == 0%>
|
||||
<span class="grey_btn_cir ml5">匿评已结束</span>
|
||||
<% end %>
|
||||
<span class="green_btn_cir ml5">教师教辅评阅中</span>
|
||||
<% end%>
|
||||
<% end%>
|
||||
<div class="homepagePostSubmitContainer">
|
||||
<div class="homepagePostSubmit">
|
||||
|
@ -57,25 +68,33 @@
|
|||
<div class="cl"></div>
|
||||
</div>
|
||||
<% if is_teacher%>
|
||||
<% comment_status = activity.homework_detail_manual.comment_status %>
|
||||
<div class="homepagePostSetting">
|
||||
<ul>
|
||||
<li class="homepagePostSettingIcon">
|
||||
<ul class="homepagePostSettiongText">
|
||||
<li>
|
||||
<%= link_to l(:button_edit),edit_homework_common_path(activity,:is_in_course => 0), :class => "postOptionLink"%>
|
||||
<%= link_to l(:button_edit),edit_homework_common_path(activity,:is_in_course => -1,:course_activity=>course_activity), :class => "postOptionLink"%>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to(l(:label_bid_respond_delete), homework_common_path(activity,:is_in_course => 0),:method => 'delete', :confirm => l(:text_are_you_sure), :class => "postOptionLink") %>
|
||||
<%= link_to(l(:label_bid_respond_delete), homework_common_path(activity,:is_in_course => -1,:course_activity=>course_activity),:method => 'delete', :confirm => l(:text_are_you_sure), :class => "postOptionLink") %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to("评分设置", score_rule_set_homework_common_path(activity,:user_activity_id => user_activity_id, :is_in_course => 0),:class => "postOptionLink", :remote => true) %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to("匿评设置", start_evaluation_set_homework_common_path(activity),:class => "postOptionLink", :remote => true) if activity.homework_detail_manual.comment_status == 1%>
|
||||
</li>
|
||||
<li>
|
||||
<%= homework_anonymous_comment activity %>
|
||||
</li>
|
||||
<% if activity.anonymous_comment == 0 %>
|
||||
<li>
|
||||
<%= link_to("匿评设置", start_evaluation_set_homework_common_path(activity),:class => "postOptionLink", :remote => true) if activity.homework_detail_manual.comment_status == 1%>
|
||||
</li>
|
||||
<li>
|
||||
<%= homework_anonymous_comment activity %>
|
||||
</li>
|
||||
<% end %>
|
||||
<% if activity.anonymous_comment == 0 && (comment_status == 0 || comment_status == 1)%>
|
||||
<li>
|
||||
<%= link_to("禁用匿评", alert_forbidden_anonymous_comment_homework_common_path(activity,:user_activity_id => user_activity_id,:course_activity=>course_activity),:class => "postOptionLink", :remote => true)%>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
.ke-inline-block{display: none;}
|
||||
div.ke-container{float:left;}
|
||||
</style>
|
||||
<% first_user_activity = user_activities.first.id unless user_activities.first.nil? %>
|
||||
<% user_activities.each do |user_activity|
|
||||
if user_activities %>
|
||||
<script>
|
||||
|
@ -63,13 +62,13 @@
|
|||
<% if act %>
|
||||
<% case user_activity.act_type.to_s %>
|
||||
<% when 'HomeworkCommon' %>
|
||||
<%= render :partial => 'course_homework', :locals => {:activity => act,:user_activity_id =>user_activity.id,:first_user_activity =>first_user_activity,:page => page} %>
|
||||
<%= render :partial => 'course_homework', :locals => {:activity => act,:user_activity_id =>user_activity.id,:course_activity => 0} %>
|
||||
<% when 'News' %>
|
||||
<%= render :partial => 'course_news', :locals => {:activity => act,:user_activity_id =>user_activity.id,:first_user_activity =>first_user_activity,:page => page} %>
|
||||
<%= render :partial => 'course_news', :locals => {:activity => act,:user_activity_id =>user_activity.id} %>
|
||||
<% when 'Message'%>
|
||||
<%= render :partial => 'course_message', :locals => {:activity => act,:user_activity_id =>user_activity.id,:first_user_activity =>first_user_activity,:page => page} %>
|
||||
<%= render :partial => 'course_message', :locals => {:activity => act,:user_activity_id =>user_activity.id} %>
|
||||
<% when 'Poll' %>
|
||||
<%= render :partial => 'course_poll', :locals => {:activity => act, :user_activity_id => user_activity.id,:first_user_activity =>first_user_activity,:page => page} %>
|
||||
<%= render :partial => 'course_poll', :locals => {:activity => act, :user_activity_id => user_activity.id} %>
|
||||
<% when 'Course'%>
|
||||
<%= render :partial => 'users/course_create', :locals => {:activity => act, :user_activity_id => act.id} %>
|
||||
<% end %>
|
||||
|
@ -78,11 +77,11 @@
|
|||
<% if act %>
|
||||
<% case user_activity.act_type.to_s %>
|
||||
<% when 'Issue' %>
|
||||
<%= render :partial => 'project_issue', :locals => {:activity => act,:user_activity_id =>user_activity.id,:first_user_activity =>first_user_activity,:page => page} %>
|
||||
<%= render :partial => 'project_issue', :locals => {:activity => act,:user_activity_id =>user_activity.id} %>
|
||||
<% when 'Message' %>
|
||||
<%= render :partial => 'project_message', :locals => {:activity => act,:user_activity_id =>user_activity.id,:first_user_activity =>first_user_activity,:page => page} %>
|
||||
<%= render :partial => 'project_message', :locals => {:activity => act,:user_activity_id =>user_activity.id} %>
|
||||
<% when 'ProjectCreateInfo'%>
|
||||
<%= render :partial => 'project_create', :locals => {:activity => act,:user_activity_id =>user_activity.id,:first_user_activity =>first_user_activity,:page => page} %>
|
||||
<%= render :partial => 'project_create', :locals => {:activity => act,:user_activity_id =>user_activity.id} %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% when 'Principal' %>
|
||||
|
@ -101,7 +100,7 @@
|
|||
<% end %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<%= render :partial => 'project_create', :locals => {:activity => user_activity,:user_activity_id =>user_activity.id,:first_user_activity =>first_user_activity,:page => page} %>
|
||||
<%= render :partial => 'project_create', :locals => {:activity => user_activity,:user_activity_id =>user_activity.id} %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
|
|
@ -10,19 +10,28 @@
|
|||
TO
|
||||
<%= link_to homework_common.course.name, course_path(homework_common.course_id), :class => "newsBlue ml15"%>
|
||||
</div>
|
||||
<span class="homepagePostTitle hidden m_w530 fl">
|
||||
<span class="homepagePostTitle hidden m_w480 fl">
|
||||
<%= link_to homework_common.name,student_work_index_path(:homework => homework_common.id),:class => "postGrey"%>
|
||||
</span>
|
||||
|
||||
<% if homework_common.homework_detail_manual%>
|
||||
<% if homework_common.homework_detail_manual.comment_status == 0 %>
|
||||
<span class="grey_btn_cir ml10">未发布</span>
|
||||
<span class="grey_btn_cir ml5">未发布</span>
|
||||
<% elsif homework_common.homework_detail_manual.comment_status == 1%>
|
||||
<span class="grey_btn_cir ml10">未开启匿评</span>
|
||||
<% if homework_common.anonymous_comment == 0%>
|
||||
<span class="grey_btn_cir ml5">未开启匿评</span>
|
||||
<% end %>
|
||||
<span class="green_btn_cir ml5">作品提交中</span>
|
||||
<% elsif homework_common.homework_detail_manual.comment_status == 2%>
|
||||
<span class="green_btn_cir ml10">匿评中</span>
|
||||
<% if homework_common.anonymous_comment == 0%>
|
||||
<span class="green_btn_cir ml5">匿评中</span>
|
||||
<% end %>
|
||||
<span class="green_btn_cir ml5">教师教辅评阅中</span>
|
||||
<% elsif homework_common.homework_detail_manual.comment_status == 3%>
|
||||
<span class="grey_btn_cir ml10">匿评已结束</span>
|
||||
<% if homework_common.anonymous_comment == 0%>
|
||||
<span class="grey_btn_cir ml5">匿评已结束</span>
|
||||
<% end %>
|
||||
<span class="green_btn_cir ml5">教师教辅评阅中</span>
|
||||
<% end%>
|
||||
<% end%>
|
||||
|
||||
|
@ -64,28 +73,35 @@
|
|||
<div class="cl"></div>
|
||||
</div>
|
||||
<% if is_teacher%>
|
||||
<%# if false%>
|
||||
<% comment_status = homework_common.homework_detail_manual.comment_status%>
|
||||
<div class="homepagePostSetting">
|
||||
<ul>
|
||||
<li class="homepagePostSettingIcon">
|
||||
<ul class="homepagePostSettiongText">
|
||||
<li>
|
||||
<%= link_to l(:button_edit),edit_homework_common_path(homework_common,:is_in_course => is_in_course), :class => "postOptionLink"%>
|
||||
<%= link_to l(:button_edit),edit_homework_common_path(homework_common,:is_in_course => is_in_course,:course_activity=>-1), :class => "postOptionLink"%>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to(l(:label_bid_respond_delete), homework_common_path(homework_common,:is_in_course => is_in_course),:method => 'delete', :confirm => l(:text_are_you_sure), :class => "postOptionLink") %>
|
||||
<%= link_to(l(:label_bid_respond_delete), homework_common_path(homework_common,:is_in_course => is_in_course,:course_activity=>-1),:method => 'delete', :confirm => l(:text_are_you_sure), :class => "postOptionLink") %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to("评分设置", score_rule_set_homework_common_path(homework_common, :is_in_course => is_in_course),:class => "postOptionLink", :remote => true) %>
|
||||
</li>
|
||||
<li>
|
||||
<% if homework_common.homework_detail_manual.comment_status == 0 || homework_common.homework_detail_manual.comment_status == 1%>
|
||||
<% if homework_common.anonymous_comment == 0 &&(comment_status == 0 || comment_status == 1)%>
|
||||
<li>
|
||||
<%= link_to("匿评设置", start_evaluation_set_homework_common_path(homework_common),:class => "postOptionLink", :remote => true)%>
|
||||
<% end %>
|
||||
</li>
|
||||
<li>
|
||||
<%= homework_anonymous_comment homework_common %>
|
||||
</li>
|
||||
</li>
|
||||
<% end %>
|
||||
<% if homework_common.anonymous_comment == 0 &&(comment_status == 0 || comment_status == 1)%>
|
||||
<li>
|
||||
<%= homework_anonymous_comment homework_common %>
|
||||
</li>
|
||||
<% end %>
|
||||
<% if homework_common.anonymous_comment == 0 && (comment_status == 0 || comment_status == 1)%>
|
||||
<li>
|
||||
<%= link_to("禁用匿评", alert_forbidden_anonymous_comment_homework_common_path(homework_common,:is_in_course => is_in_course),:class => "postOptionLink", :remote => true)%>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -56,8 +56,9 @@
|
|||
<% if edit_mode %>
|
||||
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="submit_homework('edit_homework_common_<%= homework.id%>');">确定</a>
|
||||
<span class="fr mr10 mt3">或</span>
|
||||
<%= link_to "取消",user_homeworks_user_path(User.current.id),:class => "fr mr10 mt3"%>
|
||||
<% else %>
|
||||
<%#= link_to "取消",user_homeworks_user_path(User.current.id),:class => "fr mr10 mt3"%>
|
||||
<a href="javascript:void(0);" class="fr mr10 mt3" onclick="cancel_edit();">取消</a>
|
||||
<% else %>
|
||||
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="submit_homework('new_homework_common');">发送</a>
|
||||
<span class="fr mr10 mt3">或</span>
|
||||
<a href="javascript:void(0);" class=" fr mr10 mt3" onclick="reset_homework();">取消</a>
|
||||
|
|
|
@ -200,7 +200,7 @@ zh:
|
|||
label_subject_empty: 主题不能为空
|
||||
|
||||
label_no_data: 没有任何数据可供显示
|
||||
label_repository_no_data: 您还没有创建版本库,每个项目只允许创建一个版本库!
|
||||
label_repository_no_data: 每个项目只能创建一个版本库!
|
||||
# 项目、课程、用户公用
|
||||
label_settings: 配置
|
||||
label_information_plural: 信息
|
||||
|
|
|
@ -88,6 +88,8 @@ zh:
|
|||
project_module_files: 资源库
|
||||
project_module_repository: 版本库
|
||||
project_module_create_repository: 创建版本库
|
||||
project_gitlab_create_repository: 新版本库
|
||||
|
||||
|
||||
label_project_more: 更多
|
||||
project_module_news: 新闻
|
||||
|
@ -112,6 +114,7 @@ zh:
|
|||
label_project_overview: "项目简介"
|
||||
label_expend_information: 展开更多信息
|
||||
label_project_create: "新建了项目"
|
||||
lable_project_rep_create: 创建
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
|
|
|
@ -101,10 +101,12 @@ RedmineApp::Application.routes.draw do
|
|||
get 'start_anonymous_comment'
|
||||
get 'stop_anonymous_comment'
|
||||
get 'alert_anonymous_comment'
|
||||
get 'alert_forbidden_anonymous_comment'
|
||||
get 'start_evaluation_set'
|
||||
get 'score_rule_set'
|
||||
post 'set_evaluation_attr'
|
||||
end
|
||||
|
||||
collection do
|
||||
post 'next_step'
|
||||
post 'programing_test'
|
||||
|
@ -115,6 +117,7 @@ RedmineApp::Application.routes.draw do
|
|||
member do
|
||||
post 'add_score'
|
||||
get 'praise_student_work'
|
||||
get 'forbidden_anonymous_comment'
|
||||
end
|
||||
collection do
|
||||
post 'add_score_reply'
|
||||
|
|
|
@ -259,7 +259,7 @@ tags_min_length:
|
|||
default: 1
|
||||
tags_max_length:
|
||||
format: int
|
||||
default: 14
|
||||
default: 120
|
||||
tags_show_search_results:
|
||||
format: int
|
||||
default: 5
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
class DropOrganization < ActiveRecord::Migration
|
||||
def up
|
||||
drop_table :organizations
|
||||
end
|
||||
|
||||
def down
|
||||
end
|
||||
end
|
|
@ -0,0 +1,18 @@
|
|||
class CreateOrganization < ActiveRecord::Migration
|
||||
def up
|
||||
create_table :organizations do |t|
|
||||
t.string :name
|
||||
t.text :description
|
||||
t.integer :creator_id
|
||||
t.integer :home_id
|
||||
t.string :domain
|
||||
t.boolean :is_public
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
drop_table :organizations
|
||||
end
|
||||
end
|
|
@ -0,0 +1,5 @@
|
|||
class AddAnonymousCommentToHomeworkCommon < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :homework_commons, :anonymous_comment, :integer, :default => 0
|
||||
end
|
||||
end
|
|
@ -0,0 +1,14 @@
|
|||
class CreateOrgMembers < ActiveRecord::Migration
|
||||
def up
|
||||
create_table :org_members do |t|
|
||||
t.integer :user_id
|
||||
t.integer :organization_id
|
||||
t.string :role
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
drop_table :org_members
|
||||
end
|
||||
end
|
11
db/schema.rb
11
db/schema.rb
|
@ -11,7 +11,7 @@
|
|||
#
|
||||
# It's strongly recommended to check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(:version => 20151029030006) do
|
||||
ActiveRecord::Schema.define(:version => 20151102085318) do
|
||||
|
||||
create_table "activities", :force => true do |t|
|
||||
t.integer "act_id", :null => false
|
||||
|
@ -652,12 +652,13 @@ ActiveRecord::Schema.define(:version => 20151029030006) do
|
|||
t.text "description"
|
||||
t.date "publish_time"
|
||||
t.date "end_time"
|
||||
t.integer "homework_type", :default => 1
|
||||
t.integer "homework_type", :default => 1
|
||||
t.string "late_penalty"
|
||||
t.integer "course_id"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
t.integer "teacher_priority", :default => 1
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
t.integer "teacher_priority", :default => 1
|
||||
t.integer "anonymous_comment", :default => 0
|
||||
end
|
||||
|
||||
create_table "homework_detail_manuals", :force => true do |t|
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace :homework_evaluation do
|
|||
homework_detail_manuals = HomeworkDetailManual.where("evaluation_start = '#{Date.today}'")
|
||||
homework_detail_manuals.each do |homework_detail_manual|
|
||||
homework_common = homework_detail_manual.homework_common
|
||||
if homework_detail_manual.comment_status == 1 #新建状态才可开启匿评
|
||||
if homework_common.anonymous_comment == 0 && homework_detail_manual.comment_status == 1 #新建状态才可开启匿评
|
||||
student_works = homework_common.student_works
|
||||
if student_works && student_works.size >= 2
|
||||
student_works.each_with_index do |work, index|
|
||||
|
@ -55,7 +55,7 @@ namespace :homework_evaluation do
|
|||
homework_detail_manuals = HomeworkDetailManual.where("evaluation_end = '#{Date.today}'")
|
||||
homework_detail_manuals.each do |homework_detail_manual|
|
||||
homework_common = homework_detail_manual.homework_common
|
||||
if homework_detail_manual.comment_status == 2 #开启匿评状态才可关闭匿评
|
||||
if homework_common.anonymous_comment == 0 && homework_detail_manual.comment_status == 2 #开启匿评状态才可关闭匿评
|
||||
#计算缺评扣分
|
||||
work_ids = "(" + homework_common.student_works.map(&:id).join(",") + ")"
|
||||
homework_common.student_works.each do |student_work|
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
#coding=utf-8
|
||||
|
||||
namespace :rep_fault do
|
||||
desc "set ossean's type value"
|
||||
task :rep_update => :environment do
|
||||
rep = Repository.find(400)
|
||||
rep.type = "Repository::Gitlab"
|
||||
rep.save
|
||||
end
|
||||
|
||||
end
|
|
@ -37,27 +37,27 @@ function addFile_board(inputEl, file, eagerUpload, id) {
|
|||
fileSpan.append(
|
||||
$('<input>', {
|
||||
'type': 'text',
|
||||
'class': 'filename readonly',
|
||||
'class': 'upload_filename readonly',
|
||||
'name': 'attachments[' + attachmentId + '][filename]',
|
||||
'readonly': 'readonly'
|
||||
}).val(file.name),
|
||||
$('<input>', {
|
||||
'type': 'text',
|
||||
'class': 'description',
|
||||
'name': 'attachments[' + attachmentId + '][description]',
|
||||
'maxlength': 254,
|
||||
'placeholder': $(inputEl).data('descriptionPlaceholder')
|
||||
}).toggle(!eagerUpload),
|
||||
$('<span >' + $(inputEl).data('fieldIsPublic') + ':</span>').attr({
|
||||
'class': 'ispublic-label'
|
||||
}),
|
||||
$('<input>', {
|
||||
'type': 'checkbox',
|
||||
'class': 'is_public_checkbox',
|
||||
'value': 1,
|
||||
'name': 'attachments[' + attachmentId + '][is_public_checkbox]',
|
||||
checked: 'checked'
|
||||
}).toggle(!eagerUpload),
|
||||
// $('<input>', {
|
||||
// 'type': 'text',
|
||||
// 'class': 'description',
|
||||
// 'name': 'attachments[' + attachmentId + '][description]',
|
||||
// 'maxlength': 254,
|
||||
// 'placeholder': $(inputEl).data('descriptionPlaceholder')
|
||||
// }).toggle(!eagerUpload),
|
||||
// $('<span >' + $(inputEl).data('fieldIsPublic') + ':</span>').attr({
|
||||
// 'class': 'ispublic-label'
|
||||
// }),
|
||||
// $('<input>', {
|
||||
// 'type': 'checkbox',
|
||||
// 'class': 'is_public_checkbox',
|
||||
// 'value': 1,
|
||||
// 'name': 'attachments[' + attachmentId + '][is_public_checkbox]',
|
||||
// checked: 'checked'
|
||||
// }).toggle(!eagerUpload),
|
||||
$('<a> </a>').attr({
|
||||
'href': "#",
|
||||
'class': 'remove-upload',
|
||||
|
@ -103,27 +103,27 @@ function addFile(inputEl, file, eagerUpload) {
|
|||
fileSpan.append(
|
||||
$('<input>', {
|
||||
'type': 'text',
|
||||
'class': 'filename readonly',
|
||||
'class': 'upload_filename readonly',
|
||||
'name': 'attachments[' + attachmentId + '][filename]',
|
||||
'readonly': 'readonly'
|
||||
}).val(file.name),
|
||||
$('<input>', {
|
||||
'type': 'text',
|
||||
'class': 'description',
|
||||
'name': 'attachments[' + attachmentId + '][description]',
|
||||
'maxlength': 254,
|
||||
'placeholder': $(inputEl).data('descriptionPlaceholder')
|
||||
}).toggle(!eagerUpload),
|
||||
$('<span >' + $(inputEl).data('fieldIsPublic') + ':</span>').attr({
|
||||
'class': 'ispublic-label'
|
||||
}),
|
||||
$('<input>', {
|
||||
'type': 'checkbox',
|
||||
'class': 'is_public_checkbox',
|
||||
'value': 1,
|
||||
'name': 'attachments[' + attachmentId + '][is_public_checkbox]',
|
||||
checked: 'checked'
|
||||
}).toggle(!eagerUpload),
|
||||
// $('<input>', {
|
||||
// 'type': 'text',
|
||||
// 'class': 'description',
|
||||
// 'name': 'attachments[' + attachmentId + '][description]',
|
||||
// 'maxlength': 254,
|
||||
// 'placeholder': $(inputEl).data('descriptionPlaceholder')
|
||||
// }).toggle(!eagerUpload),
|
||||
// $('<span >' + $(inputEl).data('fieldIsPublic') + ':</span>').attr({
|
||||
// 'class': 'ispublic-label'
|
||||
// }),
|
||||
// $('<input>', {
|
||||
// 'type': 'checkbox',
|
||||
// 'class': 'is_public_checkbox',
|
||||
// 'value': 1,
|
||||
// 'name': 'attachments[' + attachmentId + '][is_public_checkbox]',
|
||||
// checked: 'checked'
|
||||
// }).toggle(!eagerUpload),
|
||||
$('<a> </a>').attr({
|
||||
'href': "#",
|
||||
'class': 'remove-upload'
|
||||
|
@ -532,17 +532,17 @@ function addFileCourseSource(inputEl, file, eagerUpload,checkBox) {
|
|||
fileSpan.append(
|
||||
$('<input>', {
|
||||
'type': 'text',
|
||||
'class': 'filename readonly',
|
||||
'class': 'upload_filename readonly',
|
||||
'name': 'attachments[' + attachmentId + '][filename]',
|
||||
'readonly': 'readonly'
|
||||
}).val(file.name),
|
||||
$('<input>', {
|
||||
'type': 'text',
|
||||
'class': 'description',
|
||||
'name': 'attachments[' + attachmentId + '][description]',
|
||||
'maxlength': 254,
|
||||
'placeholder': $(inputEl).data('descriptionPlaceholder')
|
||||
}).toggle(!eagerUpload),
|
||||
// $('<input>', {
|
||||
// 'type': 'text',
|
||||
// 'class': 'description',
|
||||
// 'name': 'attachments[' + attachmentId + '][description]',
|
||||
// 'maxlength': 254,
|
||||
// 'placeholder': $(inputEl).data('descriptionPlaceholder')
|
||||
// }).toggle(!eagerUpload),
|
||||
$('<div>', {
|
||||
'class': 'div_attachments',
|
||||
'name': 'div_' + 'attachments_' + attachmentId
|
||||
|
@ -552,27 +552,27 @@ function addFileCourseSource(inputEl, file, eagerUpload,checkBox) {
|
|||
fileSpan.append(
|
||||
$('<input>', {
|
||||
'type': 'text',
|
||||
'class': 'filename readonly',
|
||||
'class': 'upload_filename readonly',
|
||||
'name': 'attachments[' + attachmentId + '][filename]',
|
||||
'readonly': 'readonly'
|
||||
}).val(file.name),
|
||||
$('<input>', {
|
||||
'type': 'text',
|
||||
'class': 'description',
|
||||
'name': 'attachments[' + attachmentId + '][description]',
|
||||
'maxlength': 254,
|
||||
'placeholder': $(inputEl).data('descriptionPlaceholder')
|
||||
}).toggle(!eagerUpload),
|
||||
$('<span >' + $(inputEl).data('fieldIsPublic') + ':</span>').attr({
|
||||
'class': 'ispublic-label'
|
||||
}),
|
||||
$('<input>', {
|
||||
'type': 'checkbox',
|
||||
'class': 'is_public_checkbox',
|
||||
'value': 1,
|
||||
'name': 'attachments[' + attachmentId + '][is_public_checkbox]',
|
||||
checked: 'checked'
|
||||
}).toggle(!eagerUpload),
|
||||
// $('<input>', {
|
||||
// 'type': 'text',
|
||||
// 'class': 'description',
|
||||
// 'name': 'attachments[' + attachmentId + '][description]',
|
||||
// 'maxlength': 254,
|
||||
// 'placeholder': $(inputEl).data('descriptionPlaceholder')
|
||||
// }).toggle(!eagerUpload),
|
||||
// $('<span >' + $(inputEl).data('fieldIsPublic') + ':</span>').attr({
|
||||
// 'class': 'ispublic-label'
|
||||
// }),
|
||||
// $('<input>', {
|
||||
// 'type': 'checkbox',
|
||||
// 'class': 'is_public_checkbox',
|
||||
// 'value': 1,
|
||||
// 'name': 'attachments[' + attachmentId + '][is_public_checkbox]',
|
||||
// checked: 'checked'
|
||||
// }).toggle(!eagerUpload),
|
||||
$('<a> </a>').attr({
|
||||
'href': "#",
|
||||
'class': 'remove-upload'
|
||||
|
|
|
@ -517,6 +517,11 @@ function jsCopy(){
|
|||
e.select();
|
||||
document.execCommand("Copy");
|
||||
}
|
||||
function jsCopy2(){
|
||||
var e=document.getElementById("copy_rep_content2");
|
||||
e.select();
|
||||
document.execCommand("Copy");
|
||||
}
|
||||
|
||||
function zip(){
|
||||
alert("该功能正在紧张的开发中,我们会争取在最短时间内上线,如若对您工作造成不便敬请谅解!")
|
||||
|
|
|
@ -2745,15 +2745,31 @@ h2 img { vertical-align:middle; }
|
|||
|
||||
/*added by william*/
|
||||
#tag {
|
||||
background: url(../images/issue_tag.png) no-repeat right -19px;
|
||||
border-radius: 3px;
|
||||
color: #3a587d !important;
|
||||
padding: 1px 4px 2px 4px;
|
||||
margin: 3px;
|
||||
display: inline-block;
|
||||
font-size: 13px; /*modified by linchun*/
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
/*background: url(../images/issue_tag.png) no-repeat right -19px;*/
|
||||
/*border-radius: 3px;*/
|
||||
/*color: #3a587d !important;*/
|
||||
/*padding: 1px 4px 2px 4px;*/
|
||||
/*margin: 3px;*/
|
||||
/*display: inline-block;*/
|
||||
/*font-size: 13px; *//*modified by linchun*/
|
||||
/*text-decoration: none;*/
|
||||
/*cursor: pointer;*/
|
||||
border-radius: 3px;
|
||||
color: #3a587d !important;
|
||||
padding: 1px 4px 2px 4px;
|
||||
margin: 3px;
|
||||
display: inline-block;
|
||||
font-size: 13px;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
width: auto;
|
||||
padding: 0 5px;
|
||||
padding-top: 2px;
|
||||
border: 1px solid #f8df8c;
|
||||
background: #fffce6;
|
||||
margin-right: 5px;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
/*tanxianbo*/
|
||||
|
|
|
@ -178,8 +178,8 @@ a.f_grey:hover {color:#000000;}
|
|||
/*.upbtn{ margin:42px 0 0 10px; border:none; color:#999; width:150px;}*/
|
||||
.red_btn_cir{ background:#e74c3c; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;}
|
||||
.green_btn_cir{ background:#28be6c; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;}
|
||||
.grey_btn_cir{ background:#b2b2b2; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;}
|
||||
.blue_btn_cir{ background:#3498db; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;}
|
||||
.grey_btn_cir{ background:#b2b2b2; padding:1px 3px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;}
|
||||
.blue_btn_cir{ background:#3498db; padding:1px 3px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;}
|
||||
.orange_btn_cir{ background:#e67e22; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;}
|
||||
.sticky_btn_cir{ background:#269ac9; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;}
|
||||
.locked_btn_cir{background: url("../images/locked.png") 0 0 no-repeat; cursor: default;}
|
||||
|
@ -552,7 +552,7 @@ blockquote {background: #e8e8e8;padding: 10px;margin-bottom: 5px;word-break: bre
|
|||
#attachments_fields input.description {margin-left: 4px;width: 100px;}
|
||||
#attachments_fields span.ispublic-label {display: inline-block;width: 30px;margin-left: 10px;}
|
||||
a.remove-upload {background: url(../images/delete.png) no-repeat 1px 50%;width: 1px;display: inline-block;padding-left: 16px;margin-left: 5px;}
|
||||
#attachments_fields input.filename {border: 0;height: 1.8em;width: 150px;color: #555;background-color: inherit;background: url(../images/attachment.png) no-repeat 1px 50%;padding-left: 18px;padding-top: 2px; white-space: nowrap; text-overflow:ellipsis;}
|
||||
#attachments_fields input.filename {border: 0;height: 1.8em;color: #555;background-color: inherit;background: url(../images/attachment.png) no-repeat 1px ;padding-left: 18px;padding-top: 2px; white-space: nowrap; }
|
||||
span.add_attachment {font-size: 80%;line-height: 2.5em;}
|
||||
#attachments_fields span {display: block;white-space: nowrap;}
|
||||
.file_selector{position: relative;opacity: 0;filter: alpha(opacity:0);}
|
||||
|
@ -570,7 +570,7 @@ a.remove-upload:hover {text-decoration:none !important;}
|
|||
|
||||
.attachments_fields span.ispublic-label {display: inline-block;width: 30px;margin-left: 10px;}
|
||||
a.remove-upload {background: url(../images/delete.png) no-repeat 1px 50%;width: 1px;display: inline-block;padding-left: 16px;margin-left: 5px;}
|
||||
.attachments_fields input.filename {border: 0;height: 1.8em;width: 150px;color: #555;background-color: inherit;background: url(../images/attachment.png) no-repeat 1px 50%;padding-left: 18px;padding-top: 2px;}
|
||||
.attachments_fields input.filename {border: 0;height: 1.8em;color: #555;background-color: inherit;background: url(../images/attachment.png) no-repeat 1px ;padding-left: 18px;padding-top: 2px;}
|
||||
span.add_attachment {font-size: 80%;line-height: 2.5em;}
|
||||
.attachments_fields span {display: block;white-space: nowrap;}
|
||||
.file_selector{position: relative;opacity: 0;filter: alpha(opacity:0);}
|
||||
|
@ -889,6 +889,7 @@ a.work_list_tit{width:580px; display:block; overflow:hidden; font-size:14px; f
|
|||
.c_w{ color:#fff;}
|
||||
|
||||
.filename { background: url(../images/pic_file.png) 0 -25px no-repeat;color: #3ca5c6;max-width: 150px;border: none; padding-left: 20px;margin-right: 10px;margin-bottom: 5px; white-space: nowrap; text-overflow:ellipsis;}
|
||||
.upload_filename{ background: url(../images/pic_file.png) 0 -20px no-repeat;color: #7f7f7f;width: 370px;border: none; padding-left: 20px;margin-right: 10px;margin-bottom: 5px; white-space: nowrap; text-overflow:ellipsis;}
|
||||
.evaluation{position: relative;}
|
||||
.evaluation_submit{position: absolute;right: 0px;bottom: 0px;}
|
||||
.student_work_search{background-color: #64bdd9;color: white !important;padding: 2px 7px;margin-left: 10px;cursor: pointer; }
|
||||
|
@ -965,8 +966,9 @@ a:hover.icon_remove{background:url(../images/course/icons.png) -20px -338px no-r
|
|||
.ProResultCon{ padding:10px; color:#888888; line-height:24px; border-bottom:1px solid #dddddd; }
|
||||
.W50{ width:50px;}
|
||||
.W200{ width:200px;}
|
||||
.m_w530{max-width: 530px;}
|
||||
.m_w480{max-width: 480px;}
|
||||
.m_w500{max-width: 500px;}
|
||||
.m_w530{max-width: 530px;}
|
||||
.ProResultTable{ color:#888888;}
|
||||
.T_C{ text-align:center;}
|
||||
.SearchIcon{background:url(../images/homepage_icon2.png) 676px -393px no-repeat; }
|
||||
|
|
|
@ -56,7 +56,7 @@ a:hover.subnav_green{ background:#14ad5a;}
|
|||
a.yellowBtn{ display:inline-block;color:#0d90c3; height:22px;}
|
||||
.submit{height:21px;border:0; cursor:pointer; background:url(../images/btn.png) no-repeat 0 0;width:42px; margin-top:2px; margin-left:3px; }
|
||||
.isTxt{background:#fbfbfb url(../images/inputBg.png) repeat-x left top;height:22px;line-height:22px;border:1px solid #c1c1c1;padding:0 5px;color:#666666;}
|
||||
.re_tag{ width: auto; padding:0 5px; padding-top:2px; height:20px; border:1px solid #f8df8c; background:#fffce6; margin-right:5px; }
|
||||
.re_tag{ width: auto; padding:0 5px; padding-top:2px; border:1px solid #f8df8c; background:#fffce6; margin-right:5px; word-wrap: break-word;word-break: break-all }
|
||||
.re_tag a{ color:#0d90c3;}
|
||||
.tag_h{ }
|
||||
.tag_h span,.tag_h a{ margin-bottom:5px;}
|
||||
|
|
|
@ -293,8 +293,8 @@ a:hover.bgreen_n_btn{background:#08a384;}
|
|||
.more_btn{-moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #9DCEFF; color:#9DCEFF; border-radius:3px; padding:0px 3px;}
|
||||
.upbtn{ margin:42px 0 0 10px; border:none; color:#999; width:150px;}
|
||||
.red_btn_cir{ background:#e74c3c; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;}
|
||||
.green_btn_cir{ background:#28be6c; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;}
|
||||
.grey_btn_cir{ background:#b2b2b2; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;}
|
||||
.green_btn_cir{ background:#28be6c; padding:1px 3px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;}
|
||||
.grey_btn_cir{ background:#b2b2b2; padding:1px 3px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;}
|
||||
.blue_btn_cir{ background:#3498db; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;}
|
||||
.orange_btn_cir{ background:#e67e22; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;}
|
||||
.sticky_btn_cir{ background:#269ac9; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;}
|
||||
|
@ -726,6 +726,8 @@ a.loginChooseTab {color:#484848; height:30px; display:block;}
|
|||
.loginUpButton {width:315px; height:40px; background-color:#269ac9; margin-left:46px; font-size:14px; text-align:center; line-height:40px; vertical-align:middle; margin-top:30px;}
|
||||
.loginInButton:hover {background-color: #297fb8}
|
||||
.loginUpButton:hover {background-color: #297fb8}
|
||||
.loginUpDisableButton {width:315px; height:40px; background-color:#C1C1C1; margin-left:46px; font-size:14px; text-align:center; line-height:40px; vertical-align:middle; margin-top:30px;}
|
||||
.loginUpDisableButton:hover {background-color: #C1C1C1}
|
||||
.loginChooseBorder {width:295px; height:30px; border-bottom:1px solid #e3e3e3;}
|
||||
.loginSign {width:405px; background-color:#ffffff;}
|
||||
.loginSignBox {width:308px; height:38px; margin-left:46px; border:1px solid #98a1a6; outline:none;}
|
||||
|
@ -1071,6 +1073,7 @@ a:hover.icon_remove{background:url(../images/course/icons.png) -20px -338px no-r
|
|||
.ProResultCon{ padding:10px; color:#888888; line-height:24px; border-bottom:1px solid #dddddd; }
|
||||
.W50{ width:50px;}
|
||||
.W200{ width:200px;}
|
||||
.m_w480{max-width: 480px;}
|
||||
.m_w530{max-width: 530px;}
|
||||
.ProResultTable{ color:#888888;}
|
||||
.T_C{ text-align:center;}
|
||||
|
@ -1144,6 +1147,7 @@ img.ui-datepicker-trigger {
|
|||
text-overflow: ellipsis;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
.upload_filename{ background: url(../images/pic_file.png) 0 -25px no-repeat;color: #7f7f7f;width: 370px;border: none; padding-left: 20px;margin-right: 10px;margin-bottom: 5px; white-space: nowrap; text-overflow:ellipsis;}
|
||||
.message_title{border: 1px solid #9C9C9C;padding: 0.6em;margin-left: 1.4em;margin-right: 0.4em;border-radius: 4px;font-family: "Microsoft YaHei";background-size: 100% 100%;margin-bottom: 5px;background-color: #fff; max-width:400px;word-wrap:break-word; word-break:break-all;}
|
||||
.message_title_red{border: 1px solid #484848;padding: 0.6em;margin-left: 1.4em;margin-right: 0.4em;border-radius: 4px;font-family: "Microsoft YaHei";background-size: 100% 100%;margin-bottom: 5px;background-color: #fff;background-image: -moz-linear-gradient(top, #fff, #E0E0E0);}
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ a:hover.subnav_green{ background:#14ad5a;}
|
|||
a.yellowBtn{ display:inline-block;color:#0d90c3; height:22px;}
|
||||
.submit{height:21px;border:0; cursor:pointer; background:url(../images/btn.png) no-repeat 0 0;width:42px; margin-top:2px; margin-left:3px; }
|
||||
.isTxt{background:#fbfbfb url(../images/inputBg.png) repeat-x left top;height:22px;line-height:22px;border:1px solid #c1c1c1;padding:0 5px;color:#666666;}
|
||||
.re_tag{ width: auto; padding:0 5px; padding-top:2px; height:20px; border:1px solid #f8df8c; background:#fffce6; margin-right:5px; }
|
||||
.re_tag{ width: auto; padding:0 5px; padding-top:2px; border:1px solid #f8df8c; background:#fffce6; margin-right:5px; word-wrap: break-word;word-break: break-all }
|
||||
.re_tag a{ color:#0d90c3;}
|
||||
.tag_h{ }
|
||||
.tag_h span,.tag_h a{ margin-bottom:5px;}
|
||||
|
|
|
@ -369,7 +369,7 @@ span.add_attachment {font-size: 80%;line-height: 2.5em;}
|
|||
#attachments_fields .ajax-loading input.filename {background:url(../images/loading.gif) no-repeat 0px 50%;}
|
||||
.reply_btn{ cursor:pointer; -moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #ccc; color:#999; border-radius:3px; padding:2px 10px; margin-bottom:10px;display: block;margin-left: 470px;}
|
||||
.reply_btn:hover{ background:#999; color:#fff; }
|
||||
|
||||
.upload_filename{ background: url(../images/pic_file.png) 0 -22px no-repeat;color: #7f7f7f;width: 370px;border: none; padding-left: 20px;margin-right: 10px;margin-bottom: 5px; white-space: nowrap; text-overflow:ellipsis;}
|
||||
.attachments_fields input.description {margin-left:4px; width:100px; }
|
||||
.attachments_fields span .boldSpan{display:block; white-space:nowrap; font-family:'微软雅黑';}
|
||||
.attachments_fields div.ui-progressbar { width: 100px; height:14px; margin: 2px 0 -5px 8px; display: inline-block; }
|
||||
|
@ -553,6 +553,7 @@ a:hover.member_btn{ background:#329cbd;}
|
|||
.pro_table tr td{ height:30px;}
|
||||
.pro_table_tit{ text-align:center; font-weight:bold;}
|
||||
.pro_table_on{ background:#f0fbff; }
|
||||
.pro_table_on_forge{ background: #EAEAEA; }
|
||||
.pro_st_edit_issues{ display:none; margin-top:20px;}
|
||||
.pro_st_edit_issues ul li{ margin-bottom:10px;}
|
||||
.pro_st_edit_ban{ display:none; margin-top:20px;}
|
||||
|
|
|
@ -71,6 +71,7 @@ h4{ font-size:14px; color:#3b3b3b;}
|
|||
.ml45{ margin-left:45px;}
|
||||
.ml55{ margin-left:55px;}
|
||||
.ml30{ margin-left:30px;}
|
||||
.ml38{ margin-left:38px;}
|
||||
.ml60{ margin-left:60px;}
|
||||
.ml80{ margin-left:80px;}
|
||||
.ml90{ margin-left:90px;}
|
||||
|
@ -116,6 +117,7 @@ h4{ font-size:14px; color:#3b3b3b;}
|
|||
.mb10{ margin-bottom:10px !important;}
|
||||
.mb20{ margin-bottom:20px;}
|
||||
.pl15{ padding-left:15px;}
|
||||
.pl5{ padding-left:5px;}
|
||||
.pt5{ padding-top:5px;}
|
||||
.pt10{ padding-top:10px;}
|
||||
.pb5{ padding-bottom: 5px;}
|
||||
|
@ -133,6 +135,7 @@ h4{ font-size:14px; color:#3b3b3b;}
|
|||
.w265{ width: 265px;}
|
||||
.w270{ width: 270px;}
|
||||
.w350 {width:350px;}
|
||||
.w362 {width:362px;}
|
||||
.w430{ width:470px;}
|
||||
.w520{ width:520px;}
|
||||
.w543{ width:543px;}
|
||||
|
|
|
@ -275,4 +275,13 @@ li.commit .commit-row-info a {
|
|||
}
|
||||
li.commit .commit-row-info .committed_ago {
|
||||
display: inline-block;
|
||||
}
|
||||
.rep_history_title{
|
||||
font-weight: bold;
|
||||
font-size: 13px;
|
||||
color: #7F7F7F;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
.rep_history_grey{
|
||||
color: #7F7F7F;
|
||||
}
|
|
@ -56,7 +56,7 @@ a:hover.subnav_green{ background:#14ad5a;}
|
|||
a.yellowBtn{ display:inline-block;color:#0d90c3; height:22px;}
|
||||
.submit{height:21px;border:0; cursor:pointer; background:url(images/btn.png) no-repeat 0 0;width:42px; margin-top:2px; margin-left:3px; }
|
||||
.isTxt{background:#fbfbfb url(images/inputBg.png) repeat-x left top;height:22px;line-height:22px;border:1px solid #c1c1c1;padding:0 5px;color:#666666;}
|
||||
.re_tag{ width: auto; padding:0 5px; padding-top:2px; height:20px; border:1px solid #f8df8c; background:#fffce6; margin-right:5px; }
|
||||
.re_tag{ width: auto; padding:0 5px; padding-top:2px; border:1px solid #f8df8c; background:#fffce6; margin-right:5px; word-wrap: break-word;word-break: break-all }
|
||||
.re_tag a{ color:#0d90c3;}
|
||||
.tag_h{ }
|
||||
.tag_h span,.tag_h a{ margin-bottom:5px;}
|
||||
|
|
Loading…
Reference in New Issue