course_group
zhuhao 11 years ago
commit 4a2b5f5e9a

@ -125,6 +125,7 @@ GEM
mocha (1.1.0)
metaclass (~> 0.0.1)
multi_json (1.10.1)
mysql2 (0.3.11)
mysql2 (0.3.11-x86-mingw32)
net-ldap (0.3.1)
nokogiri (1.6.3)

@ -66,7 +66,7 @@ class AccountController < ApplicationController
if @user.save
@token.destroy
flash[:notice] = l(:notice_account_password_updated)
redirect_to signin_url
redirect_to signin_path
return
end
end
@ -92,7 +92,7 @@ class AccountController < ApplicationController
Mailer.lost_password(token).deliver
end
flash[:notice] = l(:notice_account_lost_email_sent)
redirect_to signin_url
redirect_to signin_path
return
end
end
@ -103,7 +103,7 @@ class AccountController < ApplicationController
def register
# @root_path="/home/pdl/redmine-2.3.2-0/apache2/"
#
#@cache_identityy = params[:identity]||"" #身份
@cache_identityy = params[:identity]||"" #身份
@cache_no = params[:no]||"" #学号
@cache_technical_title = params[:technical_title]||"" #教师职称
@cache_province = params[:province]||"" #省份
@ -144,7 +144,22 @@ class AccountController < ApplicationController
@user.password, @user.password_confirmation = user_params[:password], user_params[:password_confirmation]
end
if(@cache_identityy == "")
if params[:identity] == "2"
@user.firstname = firstname_code
@user.lastname = lastname_code
end
flash.now[:error]= l(:label_identity)+l(:'activerecord.errors.messages.empty')
return
end
if(@cache_city == "")
if params[:identity] == "2"
@user.firstname = firstname_code
@user.lastname = lastname_code
end
flash.now[:error]= l(:label_location)+l(:'activerecord.errors.messages.empty')
return
end
case Setting.self_registration
when '1'
@ -189,7 +204,7 @@ class AccountController < ApplicationController
token.destroy
flash[:notice] = l(:notice_account_activated)
end
redirect_to signin_url
redirect_to signin_path
end
def valid_ajax
@ -219,10 +234,6 @@ class AccountController < ApplicationController
render :json => req
end
def email_valid
end
private
def authenticate_user
@ -234,7 +245,7 @@ class AccountController < ApplicationController
end
def password_authentication
user, last_login_on = User.try_to_login(params[:username], params[:password])
user = User.try_to_login(params[:username], params[:password])
if user.nil?
invalid_credentials
@ -244,7 +255,7 @@ class AccountController < ApplicationController
onthefly_creation_failed(user, {:login => user.login, :auth_source_id => user.auth_source_id })
else
# Valid user
successful_authentication(user, last_login_on)
successful_authentication(user)
end
end
@ -291,7 +302,7 @@ class AccountController < ApplicationController
end
end
def successful_authentication(user, last_login_on)
def successful_authentication(user)
logger.info "Successful authentication for '#{user.login}' from #{request.remote_ip} at #{Time.now.utc}"
# Valid user
self.logged_user = user
@ -304,18 +315,13 @@ class AccountController < ApplicationController
code = /\d*/
#根据home_url生产正则表达式
eval("code = " + "/^" + home_url.gsub(/\//,"\\\/") + "\\\/*(welcome)?\\\/*(\\\/index\\\/*.*)?\$/")
if code=~params[:back_url] && last_login_on != ''
if code=~params[:back_url]
redirect_to user_activities_path(user)
else
if last_login_on == ''
redirect_to my_account_url
else
#by young
#redirect_back_or_default my_page_path
#sredirect_back_or_default User.current
redirect_to my_account_url
redirect_back_or_default User.current
#redirect_to User.current
end
end
end
@ -357,7 +363,7 @@ class AccountController < ApplicationController
UserStatus.create(:user_id => user.id, :changsets_count => 0, :watchers_count => 0)
Mailer.register(token).deliver
flash[:notice] = l(:notice_account_register_done)
render action: 'email_valid', locals: {:mail => user.mail}
redirect_to signin_path
else
yield if block_given?
end
@ -374,7 +380,7 @@ class AccountController < ApplicationController
UserStatus.create(:user_id => user.id, :changsets_count => 0, :watchers_count => 0)
self.logged_user = user
flash[:notice] = l(:notice_account_activated)
redirect_to my_account_url
redirect_to my_account_path
else
yield if block_given?
end
@ -396,6 +402,6 @@ class AccountController < ApplicationController
def account_pending
flash[:notice] = l(:notice_account_pending)
redirect_to signin_url
redirect_to signin_path
end
end

@ -124,7 +124,7 @@ class ApplicationController < ActionController::Base
else
# HTTP Basic, either username/password or API key/random
authenticate_with_http_basic do |username, password|
user = User.try_to_login(username, password)[0] || User.find_by_api_key(username)
user = User.try_to_login(username, password) || User.find_by_api_key(username)
end
end
# Switch user if requested by an admin user
@ -267,6 +267,8 @@ class ApplicationController < ActionController::Base
end
when "contest"
return true
when "Course"
allowed = User.current.allowed_to?(:course_attachments_download, @course, :global => false)
else
return true
end

@ -76,7 +76,7 @@ class AttachmentsController < ApplicationController
candown = User.current.member_of?(project) || (project.is_public && @attachment.is_public == 1)
elsif (@attachment.container.has_attribute?(:course) ||@attachment.container.has_attribute?(:course_id) ) && @attachment.container.course
course = @attachment.container.course
candown= User.current.member_of_course?(course) || (course.is_public==1 && @attachment.is_public == 1)
candown = User.current.member_of_course?(course) || (course.is_public==1 && @attachment.is_public == 1)
elsif @attachment.container.is_a?(Course)
course = @attachment.container
candown= User.current.member_of_course?(course) || (course.is_public==1 && @attachment.is_public == 1)
@ -366,7 +366,7 @@ class AttachmentsController < ApplicationController
end
rescue NoMethodError
@save_flag = false
@save_message = [] << l(:error_attachment_empty)
@save_message = [] << l(:label_course_empty_select)
respond_to do |format|
format.js
end

@ -26,13 +26,15 @@ class FilesController < ApplicationController
helper :sort
include SortHelper
include FilesHelper
helper :project_score
def show_attachments obj
@all_attachments = []
@attachments = []
obj.each do |container|
@all_attachments += container.attachments
@attachments += container.attachments
end
@all_attachments = visable_attachemnts(@attachments)
@limit = 10
@feedback_count = @all_attachments.count
@feedback_pages = Paginator.new @feedback_count, @limit, params['page']
@ -48,9 +50,11 @@ class FilesController < ApplicationController
#(redirect_to stores_url, :notice => l(:label_sumbit_empty);return) if params[:name].blank?
if params[:insite]
@result = find_public_attache q
@result = visable_attachemnts @result
@searched_attach = paginateHelper @result,10
else
@result = find_course_attache q,@course
@result = visable_attachemnts @result
@searched_attach = paginateHelper @result,10
end
@ -69,7 +73,7 @@ class FilesController < ApplicationController
# StoresController#search 将每条文件都查出来,再次进行判断过滤。---> resultSet.to_a.map
# 此时内容不多速度还可但文件增长每条判断多则进行3-4次表连接。
# 现在还木有思路 药丸
resultSet = Attachment.where("attachments.container_type IS NOT NULL AND (is_public = 1 OR author_id = #{User.current.id}) AND filename LIKE :like ", like: "%#{keywords}%").
resultSet = Attachment.where("attachments.container_type IS NOT NULL AND filename LIKE :like ", like: "%#{keywords}%").
reorder("created_on DESC")
end

@ -382,42 +382,22 @@ class HomeworkAttachController < ApplicationController
if User.current.admin? || User.current.member_of_course?(@homework.bid.courses.first)
# 打分统计
stars_reates = @homework. rates(:quality)
#stars_reates_count = stars_reates.count == 0 ? 1 : stars_reates.count
#stars_status = stars_reates.select("stars, count(*) as scount").group("stars")
#@stars_status_map = Hash.new(0.0)
#stars_status.each do |star_status|
# percent = (star_status.scount * 1.0/ stars_reates_count) * 100.to_f
# percent_m = format("%.2f", percent)
# @stars_status_map["star#{star_status.stars.to_i}".to_sym] =
# percent_m.to_s + "%"
#end
#是否已经进行过评价
temp = HomeworkAttach.find_by_sql("SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = #{@homework.id} AND rater_id = #{User.current.id}").first
@m_score = temp.nil? ? 0:temp.stars
@has_evaluation = stars_reates.where("rater_id = ?",User.current).count > 0
#是否开启互评功能
#@is_evaluation = @homework.bid.is_evaluation == 1 || @homework.bid.is_evaluation == nil
#@limit = 10
#@jours留言 is null条件用以兼容历史数据
@jours = @homework.journals_for_messages.where("is_comprehensive_evaluation = 3 or is_comprehensive_evaluation is null").order("created_on DESC")
@cur_page = params[:cur_page] || 1
@cur_type = params[:cur_type] || 5
@jour = paginateHelper @jours,5
#@feedback_count = @jours.count
#@feedback_pages = Paginator.new @feedback_count, @limit, params['page']
#@offset ||= @feedback_pages.offset
#@jour = @jours[@offset, @limit]
#@comprehensive_evaluation教师评论
#@comprehensive_evaluation = @homework.journals_for_messages.where("is_comprehensive_evaluation = 1").order("created_on DESC")
teachers = searchTeacherAndAssistant @course
@comprehensive_evaluation = []
teachers.each do|teacher|
temp = @homework.journals_for_messages.where("is_comprehensive_evaluation = 1 and user_id = #{teacher.user_id}").order("created_on DESC").first
@comprehensive_evaluation << temp if temp
end
#@comprehensive_evaluation = @homework.journals_for_messages.where("is_comprehensive_evaluation = 1 and user_id in #{convert_array(teachers)}").order("created_on DESC")
#@anonymous_comments 匿评
#@anonymous_comments = @homework.journals_for_messages.where("is_comprehensive_evaluation = 2").order("created_on DESC")
annymous_users = @homework.homework_evaluations.map(&:user)
unless annymous_users.nil? || annymous_users.count == 0
@anonymous_comments = @homework.journals_for_messages.where("is_comprehensive_evaluation = 2 and user_id in #{convert_array(annymous_users)}").order("created_on DESC")

@ -843,7 +843,10 @@ class ProjectsController < ApplicationController
end
def show_projects_score
render :layout => false
respond_to do |format|
format.html { render :layout => "project_base"}
format.js
end
end
def issue_score_index

@ -163,7 +163,7 @@ class WelcomeController < ApplicationController
return 0
elsif url.include?(Setting.host_user.gsub('/',''))
redirect_to(:controller => "users", :action => "index")
#redirect_to(:controller => "users", :action => "index")
end

@ -72,5 +72,20 @@ module FilesHelper
result
end
def visable_attachemnts attachments
result = []
attachments.each do |attachment|
if attachment.is_public? || attachment.author_id == User.current.id
result << attachment
end
end
result
end
def get_qute_number attachment
if attachment.copy_from.nil?
return 0
end
count = Attachment.find_by_sql("select count(*) from attachments where copy_from = #{attachment.copy_from}")
end
end

@ -60,7 +60,7 @@ module HomeworkAttachHelper
memberships = User.current.memberships.all(:conditions => cond)
projects = memberships.map(&:project)
not_have_project = []
not_have_project << "<<NULL>>"
not_have_project << "NO PROJECT"
not_have_project << 0
type = []
type << not_have_project

@ -161,7 +161,7 @@ class Role < ActiveRecord::Base
if action.is_a? Hash
allowed_actions.include? "#{action[:controller]}/#{action[:action]}"
else
allowed_permissions.include? action
allowed_permissions.include? action
end
end

@ -75,7 +75,6 @@ class User < Principal
has_many :homework_users
has_many :homework_attaches, :through => :homework_users
has_many :homework_evaluations
has_and_belongs_to_many :groups, :after_add => Proc.new {|user, group| group.user_added(user)},
:after_remove => Proc.new {|user, group| group.user_removed(user)}
@ -168,7 +167,7 @@ class User < Principal
LOGIN_LENGTH_LIMIT = 25
MAIL_LENGTH_LIMIT = 60
validates_presence_of :login, :mail, :if => Proc.new { |user| !user.is_a?(AnonymousUser) }
validates_presence_of :login, :firstname, :mail, :if => Proc.new { |user| !user.is_a?(AnonymousUser) }
validates_uniqueness_of :login, :if => Proc.new { |user| user.login_changed? && user.login.present? }, :case_sensitive => false
validates_uniqueness_of :mail, :if => Proc.new { |user| user.mail_changed? && user.mail.present? }, :case_sensitive => false
# Login must contain letters, numbers, underscores only
@ -199,19 +198,13 @@ class User < Principal
}
scope :sorted, lambda { order(*User.fields_for_order_statement)}
scope :like, lambda {|arg, type|
scope :like, lambda {|arg|
if arg.blank?
where(nil)
else
pattern = "%#{arg.to_s.strip.downcase}%"
#where(" LOWER(concat(lastname, firstname)) LIKE :p ", :p => pattern)
if type == "0"
where(" LOWER(login) LIKE :p ", :p => pattern)
elsif type == "1"
where(" LOWER(concat(lastname, firstname)) LIKE :p ", :p => pattern)
else
where(" LOWER(mail) LIKE :p ", :p => pattern)
end
where(" LOWER(login) LIKE :p ", :p => pattern)
end
}
@ -359,9 +352,8 @@ class User < Principal
end
end
end
last_login_on = user.last_login_on.nil? ? '' : user.last_login_on.to_s
user.update_column(:last_login_on, Time.now) if user && !user.new_record?
[user, last_login_on]
user
rescue => text
raise text
end

@ -26,11 +26,7 @@
<%= back_url_hidden_field_tag %>
<table>
<tr>
<td align="right">
<label for="username">
<%=l(:lable_user_name)%>:
</label>
</td>
<td align="right"><label for="username"><%=l(:lable_user_name)%>:</label></td>
<td align="left">
<%= text_field_tag 'username', params[:username], :tabindex => '1' , :value => "#{l(:label_login_prompt)}",
:onfocus => "clearInfo('username','#{l(:label_login_prompt)}')",
@ -39,48 +35,33 @@
</td>
</tr>
<tr>
<td align="right">
<label for="password">
<%=l(:field_password)%>:
</label>
</td>
<td align="left">
<%= password_field_tag 'password', nil, :tabindex => '2' %>
</td>
<td align="right"><label for="password"><%=l(:field_password)%>:</label></td>
<td align="left"><%= password_field_tag 'password', nil, :tabindex => '2' %></td>
</tr>
<% if Setting.openid? %>
<tr>
<td align="right">
<label for="openid_url">
<%=l(:field_identity_url)%>
</label>
</td>
<td align="left">
<%= text_field_tag "openid_url", nil, :tabindex => '3' %>
</td>
<td align="right"><label for="openid_url"><%=l(:field_identity_url)%></label></td>
<td align="left"><%= text_field_tag "openid_url", nil, :tabindex => '3' %></td>
</tr>
<% end %>
<tr>
<td></td>
<td align="left">
<% if Setting.autologin? %>
<label for="autologin">
<%= check_box_tag 'autologin', 1, false, :tabindex => 4 %>
<%= l(:label_stay_logged_in) %>
</label>
<label for="autologin"><%= check_box_tag 'autologin', 1, false, :tabindex => 4 %> <%= l(:label_stay_logged_in) %></label>
<% end %>
</td>
</tr>
<tr>
<td colspan="2" >
<span style="float: left">
<% if Setting.lost_password? %>
<span style="float: left"><% if Setting.lost_password? %>
<%= link_to l(:label_password_lost), lost_password_path %>
<% end %></span>
<span style="float: right">
<input type="submit" class="small" name="login" value="<%=l(:button_login)%> &#187;" tabindex="5"/></span>
</td>
</tr>
</table>

File diff suppressed because it is too large Load Diff

@ -27,8 +27,7 @@
background: #15bccf;
color: #fff;
text-align: center;
padding-top: 3px;
padding-left: 3px;
padding: 5px !important;
}
.span_wping a:hover{ background-color:#03a1b3;}
</style>
@ -76,7 +75,7 @@
<% end %>
<% end %>
<% if (User.current.admin?||User.current.id==bid.author_id) %>
<% if bid.open_anonymous_evaluation == 1%>
<% if bid.open_anonymous_evaluation == 1 && bid.homeworks.count >= 2%>
<span id="<%=bid.id %>_anonymous_comment" class="span_wping">
<% case bid.comment_status %>
<% when 0 %>

@ -40,7 +40,7 @@
<p style="display: none;">
<%= f.select :is_evaluation, is_evaluation_option %>
</p>
<p>
<p style="display: none">
<%= f.select :proportion, proportion_option %>
</p>
<p>

@ -22,7 +22,7 @@
<%= link_to "留言", get_homework_jours_homework_attach_index_path(:bid_id => @bid.id), {:remote => true}%>
(<span id="jours_count" class="c_red f_12"><%= @jours_count %></span>)
</li>
<li >
<li style="padding-top: 5px;">
<%= link_to "作品打包下载", zipdown_assort_path(obj_class: @bid.class, obj_id: @bid), class: "tb_all" unless @bid.homeworks.empty? %>
</li>
</ul>

@ -45,7 +45,7 @@
<p style="display: none">
<%= f.select :is_evaluation, is_evaluation_option %>
</p>
<p>
<p style="display: none">
<%= f.select :proportion, proportion_option %>
</p>
<p>

@ -18,6 +18,20 @@
hideModal($("#popbox_upload"));
}
function presscss(id)
{
if(id == "incourse")
{
$('#incourse').attr("class", "re_schbtn b_dblue");
$('#insite').attr("class", "re_schbtn b_lblue");
}
else
{
$('#incourse').attr("class", "re_schbtn b_lblue");
$('#insite').attr("class", "re_schbtn b_dblue");
}
}
</script>
<div class="container">
@ -25,8 +39,8 @@
<div class="re_top">
<%= form_tag( search_course_files_path(@course), method: 'get',:class => "re_search f_l",:remote=>true) do %>
<%= text_field_tag 'name', params[:name], name: "name", :class => 're_schbox',:style=>"padding: 0px"%>
<%= submit_tag "课内搜索", :class => "re_schbtn b_dblue",:name => "incourse"%>
<%= submit_tag "全站搜索", :class => "re_schbtn b_lblue",:name => "insite" %>
<%= submit_tag "课内搜索", :class => "re_schbtn b_lblue",:name => "incourse",:id => "incourse", :onclick => "presscss('incourse')"%>
<%= submit_tag "全站搜索", :class => "re_schbtn b_lblue",:name => "insite",:id => "insite",:onclick => "presscss('insite')" %>
<% end %>
<% if is_course_teacher(User.current,@course) %>
<a href="javascript:void(0)" class="re_fabu f_r b_lblue" onclick="show_upload()">上传资源</a>

@ -1,8 +1,8 @@
<% delete_allowed = User.current.allowed_to?(:manage_files, course) %>
<div class="re_con_top">
<p class="f_l c_blue f_b f_14">共有&nbsp;<%= User.current.member_of_course?(course) ? all_attachments.count : 0 %>&nbsp;个资源</p>
<!-- <p class="f_r">
<#% if @order == "asc" %>
<p class="f_l c_blue f_b f_14">共有&nbsp;<%= all_attachments.count%>&nbsp;个资源</p>
<p class="f_r" style="color: #808080">
<!--<#% if @order == "asc" %>
按&nbsp;<#%= link_to "时间",course_files_path(course,:sort=>"created_on:desc"),:class => "f_b c_grey" %><#%= render partial: 'arrow_show',locals: { sort: sort,order:order,current:"created_on"} %>&nbsp;/&nbsp;
<#%= link_to "下载次数",course_files_path(course,:sort=>"downloads:desc"),:class => "f_b c_grey" %><#%= render partial: 'arrow_show',locals: { sort: sort,order:order,current:"downloads"} %>&nbsp;/&nbsp;
<a href="#" class="f_b c_grey">引用次数</a>&nbsp;排序
@ -10,37 +10,38 @@
按&nbsp;<#%= link_to "时间",course_files_path(course,:sort=>"created_on:asc"),:class => "f_b c_grey" %><#%= render partial: 'arrow_show',locals: { sort: sort,order:order,current:"created_on"} %>&nbsp;/&nbsp;
<#%= link_to "下载次数",course_files_path(course,:sort=>"downloads:asc"),:class => "f_b c_grey" %><#%= render partial: 'arrow_show',locals: { sort: sort,order:order,current:"downloads"} %>&nbsp;/&nbsp;
<a href="#" class="f_b c_grey">引用次数</a>&nbsp;排序
<#% end %>
</p>-->
<#% end %>-->
资源列表的多样化排序将在下周上线...
</p>
</div>
<div class="cl"></div>
<% curse_attachments.each do |file| %>
<%if file.is_public == 0 && !User.current.member_of_course?(@course)%>
<%next%>
<%end%>
<div class="re_con_box">
<div class=" ">
<%= link_to_attachment file, :download => true,:text => truncate(file.filename,length: 35, omission: '...'), :title => file.filename+"\n"+file.description.to_s, :style => "overflow: hidden; white-space: nowrap;text-overflow: ellipsis;",:class => "c_dblue f_14 f_b f_l" %>
<% if is_course_teacher(User.current,@course) %>
<%= link_to "选入我的课程",quote_resource_show_course_file_path(@course,file),:class => "f_l re_select",:remote => true %>
<% if User.current.logged? %>
<% if is_course_teacher(User.current,@course) && file.author_id == User.current.id %>
<%= link_to "选入我的其他课程",quote_resource_show_course_file_path(@course,file),:class => "f_l re_select",:remote => true %>
<% if delete_allowed && file.container_id == @course.id && file.container_type == "Course" %>
<span id="is_public_<%= file.id %>">
<%= link_to (file.is_public? ? "公开":"私有"), update_file_dense_attachments_path(:attachmentid=>file.id,:newtype=>(file.is_public? ? 0:1)),:remote=>true,:class=>"f_l re_open",:method => :post %>
</span>
<% else %>
<%= link_to (file.is_public? ? "公开":"私有"),"javascript:void(0)",:class=>"f_l re_open" %>
<!-- <#%= link_to (file.is_public? ? "公开":"私有"),"javascript:void(0)",:class=>"f_l re_open" %> -->
<% end %>
<% else %>
<%= link_to "选入我的课程",quote_resource_show_course_file_path(@course,file),:class => "f_l re_select",:remote => true %>
<% end %>
<% else %>
<%= link_to (file.is_public? ? "公开":"私有"),"javascript:void(0)",:class=>"f_l re_open" %>
<% end %>
</div>
<div class="cl"></div>
<div class="">
<p class="f_l c_grey02">文件大小:<%= number_to_human_size(file.filesize) %></p>
<p class="f_l c_grey02 font">文件大小:<%= number_to_human_size(file.filesize) %></p>
<%= link_to( l(:button_delete), attachment_path(file),
:data => {:confirm => l(:text_are_you_sure)}, :method => :delete,:class => "f_r re_de") if delete_allowed && file.container_id == @course.id && file.container_type == "Course"%>
<p class="f_r c_grey02" ><%= time_tag(file.created_on).html_safe %><%= l(:label_bids_published_ago) %>&nbsp;&nbsp;|&nbsp;&nbsp;下载<%= file.downloads %>&nbsp;&nbsp;|&nbsp;&nbsp;引用0 </p>
<p class="f_r c_grey02" ><%= time_tag(file.created_on).html_safe %><%= l(:label_bids_published_ago) %>&nbsp;&nbsp;|&nbsp;&nbsp;下载<%= file.downloads %>&nbsp;&nbsp;<!--|&nbsp;&nbsp;引用<%#=get_qute_number file %>--> </p>
</div>
<div class="cl"></div>
<div class="tag_h">

@ -1,8 +1,8 @@
<div id="popbox_upload" style="margin-top: -30px;margin-left: -20px;margin-right: -10px;">
<div class="upload_con">
<div id="error_show"></div>
<h2>将此课件引入我的课程资源库</h2>
<div class="upload_box">
<div id="error_show" style="color: red;"></div>
<%= form_tag course_attach_relations_path,
method: :post,
remote: true,

@ -51,7 +51,7 @@
<% if is_my_homework %>
<!-- 我的作品,显示为编辑和删除 -->
<% if @bid.comment_status == 0 %>
<li class="wmine">
<li class="wmine" style="padding-top: 4px;">
<%= link_to l(:button_edit), edit_homework_attach_path(homework) %>
<% if homework.user == User.current || User.current.admin? %>
<!-- 作业创建者显示删除作业 -->

@ -2,11 +2,11 @@
<script type="text/javascript" language="javascript" xmlns="http://www.w3.org/1999/html">
function regexName()
{
var name = $("#homework_attach_name").val();
var name = $.trim($("#homework_attach_name").val());
if(name=="")
{
$("#homework_attach_name_span").text("名称不能为空");
$("#homework_attach_name_span").text("作品名称不能为空");
$("#homework_attach_name_span").css('color','#ff0000');
return false;
}
@ -17,8 +17,25 @@
return true;
}
}
function regexDescription()
{
var name = $.trim($("#homework_attach_description").val());
if(name=="")
{
$("#homework_attach_description_span").text("作品描述不能为空");
$("#homework_attach_description_span").css('color','#ff0000');
return false;
}
else
{
$("#homework_attach_description_span").text("填写正确");
$("#homework_attach_description_span").css('color','#008000');
return true;
}
}
function submit_homework_form(){if(regexName()){$('#new_homework_attach').submit();}}
function submit_homework_form(){if(regexName()&&regexDescription()){$('#new_homework_attach').submit();}}
</script>
<div class="container">
<div class="Newwork">
@ -55,13 +72,14 @@
<span id="homework_attach_name_span"></span>
</p>
<p>
<label style="float:left;padding-left:10px;">
<label style="float:left;padding-right: 3px;">
<span class="c_red">
*
</span>
&nbsp;&nbsp;作描述&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;作描述&nbsp;&nbsp;&nbsp;&nbsp;
</label>
<%= f.text_area "description", :class => "w620", :maxlength => 3000, :placeholder => "最多3000个汉字"%>
<%= f.text_area "description", :class => "w620", :maxlength => 3000, :placeholder => "最多3000个汉字", :onblur => "regexDescription();"%>
<span id="homework_attach_description_span" style="padding-left: 100px;"></span>
</p>
<div class="cl"></div>
<p>

@ -1,175 +1,2 @@
<%= render :partial => 'layouts/base_homework_attach', :locals => {:homework_attach => @homework} %>
<style>
.softapplication-img .soft-application {
float: left;
width: 25%;
height: 200px;
}
</style>
<% is_student = is_cur_course_student @homework.bid.courses.first %>
<% is_teacher = is_course_teacher User.current,@homework.bid.courses.first %>
<p id="notice"><%= notice %></p>
<div style="height: auto; padding-bottom: 10px">
<tr>
<td colspan="2" valign="top" width="320" >
</td>
<td>
<table width="100%" border="0">
<tr style="font-size: 18px">
<td colspan="2" valign="top"><strong>作业基础信息<%=@count %></strong></td>
</tr>
<tr>
<td style="width: 570px; padding-left:40px; word-wrap: break-word; word-break: break-all">
发布人员:<%= link_to @homework.user, user_path(@homework.user)%>
</td>
<td style="width: 240px; word-wrap: break-word; word-break: break-all">
所属任务:<%= link_to(@homework.bid.name, course_for_bid_path(@homework.bid))%>
</td>
</tr>
<tr>
<td style="padding-left: 40px">
<span>作业下载:</span>
<% if @is_evaluation || is_teacher%>
<% options = {:author => true } %>
<%= render :partial => 'app_link', :locals => {:attachments => @homework.attachments, :options => options} %>
<% else %>
<%= l(:label_cant_download) %>
<% end %>
</td>
<td style="width: 240px; word-wrap: break-word; word-break: break-all">
参与人员:
<% @homework.users.each do |homework_user| %>
<%= link_to homework_user, user_path(homework_user)%>
<% if @homework.users.count > 1 && homework_user != @homework.users.last %>
<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<% end %>
<% end %>
</td>
</tr>
<tr>
<td style=" padding-left: 40px">平均评分:
<%= render :partial => 'show_score', :locals => {:stars => @totle_score} %>
</td>
<td style="width: 240px; word-wrap: break-word; word-break: break-all">发布时间:<%=format_time @homework.created_at %></td>
</tr>
</table>
</td>
</tr>
</div>
<div class="underline-contests_one"></div>
<div style="height: auto; padding-bottom: 10px">
<tr>
<td colspan="2" valign="top" width="320" >
</td>
<td>
<table width="100%" border="0">
<tr>
<td colspan="2" valign="top"><div style="font-size: 15px;"><strong>作业描述:</strong></div></td>
</tr>
<tr>
<td style="width: 570px; padding-left:40px; word-wrap: break-word; word-break: break-all">
<div style="padding-top: 5px">
<% if @homework.description != nil && @homework.description != "" %>
<%= @homework.description %>
<% else %>
<div style="font-size: 15px;color: #15BCCC;vertical-align:middle;padding-top: 10px;padding-left: 10px ">
<strong>该作业无任何描述!</strong>
</div>
<% end %>
</div>
</td>
</tr>
</table>
</td>
</tr>
</div>
<div class="underline-contests_one"></div>
<div style="height: auto; padding-bottom: 10px">
<div style="font-size: 15px;">
<strong>作业得分:</strong>
</div>
<div style="overflow: hidden">
<div style="margin-left: 15%; float: left">
<div style="padding-left: 45px; padding-bottom: 5px">得分比例</div>
<div>
<% 100.step(20,-20) do |star| %>
<div data-kls="HomeworkAttach" data-id="2" data-dimension="quality" data-average="3.25" class="rateable div_inline jDisabled"
style="height: 20px; width: 115px; overflow: hidden; z-index: 1; position: relative;">
<div class="jRatingColor" style="width: <%=star%>%;"></div>
<div class="jRatingAverage" style="width: 0px; top: -20px;"></div>
<div class="jStar" style="width: 115px; height: 20px; top: -40px;
background: url('/images/seems_rateable/stars.png') repeat-x scroll 0% 0% transparent;">
</div>
</div>
<%= @stars_status_map["star#{(star/20).to_s}".to_sym] %>
<br/>
<% end %>
</div>
</div>
<div style="float: left; padding-left: 100px; padding-top:35px ">
<div style="text-align: center">最终得分</div>
<div style="padding-top: 1px; font-size: 15px; color: blue;text-align: center">
<%= @totle_score %>分
</div>
<div style="padding-top: 3px">
<%= render :partial => 'show_score', :locals => {:stars => @totle_score} %>
</div>
</div>
<div style="float: left; padding-left: 100px; padding-top:35px ">
<div>打分总人数</div>
<div style="padding-left: 28px; padding-top: 1px; font-size: 25px; color: blue">
<strong>
<%= @homework.raters(:quality).count%>
</strong>
</div>
</div>
</div>
</div>
<div class="underline-contests_one"></div>
<!-- 作业综评 -->
<div id="comprehensive_evaluation">
<%= render :partial => 'comprehensive_evaluation', :locals => {:comprehensive_evaluation => @comprehensive_evaluation,:homework => @homework, :teaher_score => @teaher_score} %>
</div>
<div class="underline-contests_one"></div>
<!-- 作业成员(发布人员和参与人员)不能对作业进行评分 -->
<% if !users_for_homework(@homework).include?(User.current) %>
<div style="height: 50px">
<div style="font-size: 15px"><strong>作业评论:</strong></div>
<% if is_student %>
<% if @is_evaluation %>
<% if @has_evaluation %>
<div style="text-align: center;">
<%= l(:lable_has_evaluation)%>
</div>
<% else %>
<%= render :partial => 'evaluation', :locals => {:homework => @homework} %>
<% end %>
<% else %>
<div style="text-align: center;">
<%= l(:lable_close_evaluation)%>
</div>
<% end %>
<% end %>
</div>
<% end %>
<% if !is_teacher %>
<!--提示登录后对应用进行评价-->
<div id="leave-message">
<%= render :partial => 'addjour', :locals => {:homework_attach => @homework, :sta => 0, :is_comprehensive_evaluation => nil} %>
</div>
<% end %>
<!-- 留言列表区 -->
<div id="message" style="font-size: 14px;">
<%= render :partial => 'showjour', :locals => {:jour => @jour,:homework => @homework} %>
</div>
<div>
</div>
<%= stylesheet_link_tag 'css', :media => 'all' %>
<%= render :partial => "show"%>

@ -24,7 +24,7 @@
</head>
<!--add by huang-->
<body class="<%= h body_css_classes %>">
<!-- <#%= render :partial => 'courses/course_ad' %> -->
<%= render :partial => 'courses/course_ad' %>
<div id="wrapper">
<div id="wrapper2">
<div id="wrapper3">

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save