Merge branch 'szzh' into develop

This commit is contained in:
sw 2015-04-17 13:43:51 +08:00
commit d7a3e78f80
27 changed files with 150 additions and 78 deletions

View File

@ -34,6 +34,8 @@ module Mobile
user_expose :img_url user_expose :img_url
#昵称 #昵称
expose :nickname expose :nickname
#真名
expose :realname
#性别 #性别
user_expose :gender user_expose :gender
#我的二维码 #我的二维码

View File

@ -418,6 +418,21 @@ class CoursesController < ApplicationController
end end
def search_member
if User.current.allowed_to?(:as_teacher,@course) || User.current.admin
q = "#{params[:name].strip}"
@roles = Role.givable.all[3..5]
if q.nil? || q == ""
@members = @course.member_principals.includes(:roles, :principal).all.sort
else
@members = searchmember_by_name(@course.member_principals.includes(:roles, :principal).all.sort,q)
end
else
render_403
end
end
def create def create
cs = CoursesService.new cs = CoursesService.new
@course = cs.create_course(params,User.current)[:course] @course = cs.create_course(params,User.current)[:course]

View File

@ -314,7 +314,7 @@ class HomeworkAttachController < ApplicationController
def edit def edit
bid = @homework.bid bid = @homework.bid
if (bid.comment_status == 0 || bid.open_anonymous_evaluation == 0) && (User.current.admin? || User.current.member_of_course?(bid.courses.first)) if (bid.comment_status == 0 || bid.open_anonymous_evaluation == 0 || bid.comment_status == 2) && (User.current.admin? || User.current.member_of_course?(bid.courses.first))
get_homework_member @homework get_homework_member @homework
else else
render_403 :message => :notice_not_authorized render_403 :message => :notice_not_authorized
@ -347,7 +347,7 @@ class HomeworkAttachController < ApplicationController
def destroy def destroy
bid = @homework.bid bid = @homework.bid
if (bid.comment_status == 0 || bid.open_anonymous_evaluation == 0) && (User.current.admin? || User.current == @homework.user) if (bid.comment_status == 0 || bid.open_anonymous_evaluation == 0 || bid.comment_status == 0) && (User.current.admin? || User.current == @homework.user)
if @homework.destroy if @homework.destroy
#respond_to do |format| #respond_to do |format|
# format.html { redirect_to course_for_bid_url @homework.bid } # format.html { redirect_to course_for_bid_url @homework.bid }

View File

@ -2036,12 +2036,12 @@ module ApplicationHelper
def anonymous_comment_link(bid, course) def anonymous_comment_link(bid, course)
link = case bid.comment_status link = case bid.comment_status
when 0 when 0
confirm_info = "开启匿评后学生将不能对作进行提交、修改、删除等操作\n" confirm_info = "开启匿评后学生将不能对作进行提交、修改、删除等操作\n"
confirm_info += anonymous_comment_notice(bid,course) confirm_info += anonymous_comment_notice(bid,course)
confirm_info += '是否确定开启匿评?' confirm_info += '是否确定开启匿评?'
link_to '启动匿评', start_anonymous_comment_bid_path(bid), id: "#{bid.id}_start_anonymous_comment", remote: true, :confirm => confirm_info, disable_with: '加载中...' link_to '启动匿评', start_anonymous_comment_bid_path(bid), id: "#{bid.id}_start_anonymous_comment", remote: true, :confirm => confirm_info, disable_with: '加载中...'
when 1 when 1
confirm_info = "关闭匿评后所有同学将不能继续进行匿评,且将公开已提交作列表\n" confirm_info = "关闭匿评后所有同学将不能继续进行匿评,且将公开已提交作列表\n"
confirm_info += anonymous_comment_notice(bid,course) confirm_info += anonymous_comment_notice(bid,course)
confirm_info += '是否确定关闭匿评?' confirm_info += '是否确定关闭匿评?'
link_to '关闭匿评', stop_anonymous_comment_bid_path(bid), id: "#{bid.id}_stop_anonymous_comment", remote: true, :confirm => confirm_info link_to '关闭匿评', stop_anonymous_comment_bid_path(bid), id: "#{bid.id}_stop_anonymous_comment", remote: true, :confirm => confirm_info
@ -2057,7 +2057,7 @@ module ApplicationHelper
@student_size ||= searchStudent(course).size @student_size ||= searchStudent(course).size
@homework_size = bid.homeworks.size @homework_size = bid.homeworks.size
percent = @homework_size.to_f / (@student_size == 0 ? 1 : @student_size) percent = @homework_size.to_f / (@student_size == 0 ? 1 : @student_size)
confirm_info = "目前#{@student_size}个学生,总共提交了#{@homework_size}份作,占#{number_to_percentage(percent * 100, precision: 1)}\n" confirm_info = "目前#{@student_size}个学生,总共提交了#{@homework_size}份作,占#{number_to_percentage(percent * 100, precision: 1)}\n"
when 1 when 1
@homework_evaluations = 0 @homework_evaluations = 0
bid.homeworks.map { |homework| @homework_evaluations += homework.homework_evaluations.count} bid.homeworks.map { |homework| @homework_evaluations += homework.homework_evaluations.count}
@ -2074,7 +2074,7 @@ module ApplicationHelper
bid.homeworks.map { |homework| @has_evaluations += homework.rates(:quality).where("seems_rateable_rates.rater_id not in #{teachers}").count} bid.homeworks.map { |homework| @has_evaluations += homework.rates(:quality).where("seems_rateable_rates.rater_id not in #{teachers}").count}
percent = @has_evaluations.to_f / (@homework_evaluations == 0 ? 1 : @homework_evaluations) percent = @has_evaluations.to_f / (@homework_evaluations == 0 ? 1 : @homework_evaluations)
confirm_info = "目前总共分配了#{@homework_evaluations}份匿评作业,已评价#{@has_evaluations}份作业,占#{number_to_percentage(percent * 100, precision: 1)}\n" confirm_info = "目前总共分配了#{@homework_evaluations}份匿评作品,已评价#{@has_evaluations}份作品,占#{number_to_percentage(percent * 100, precision: 1)}\n"
end end
confirm_info confirm_info
end end

View File

@ -762,7 +762,11 @@ module CoursesHelper
if user_homework && user_homework.empty? if user_homework && user_homework.empty?
link_to l(:label_commit_homework), new_exercise_book_path(bid),:class => 'fr mr10 work_edit' link_to l(:label_commit_homework), new_exercise_book_path(bid),:class => 'fr mr10 work_edit'
else else
"<span class='fr mr10 pr_join_span '>作业已交</span>".html_safe if bid.comment_status == 1 && bid.open_anonymous_evaluation == 1
"<span class='fr mr10 pr_join_span ' title='已开启匿评不能修改作品'>#{l(:label_edit_homework)}</span>".html_safe
else
link_to l(:label_edit_homework), edit_homework_attach_path(user_homework.first.id),:class => 'fr mr10 work_edit'
end
end end
end end

View File

@ -40,9 +40,9 @@ class CoursesService
end end
@courses = courses_all.visible(current_user) @courses = courses_all.visible(current_user)
if params[:name].present? if params[:name].present?
@courses_all = @courses.like(params[:name]) @courses_all = @courses.like(params[:name]).order("created_at desc")
else else
@courses_all = @courses; @courses_all = @courses.order("created_at desc");
end end
@courses_all @courses_all
course_list = [] course_list = []

View File

@ -77,7 +77,7 @@ class UsersService
gender = @user.user_extensions.gender.nil? ? 0 : @user.user_extensions.gender gender = @user.user_extensions.gender.nil? ? 0 : @user.user_extensions.gender
work_unit = get_user_work_unit @user work_unit = get_user_work_unit @user
location = get_user_location @user location = get_user_location @user
{:id => @user.id, :img_url => img_url, :nickname => @user.login, :gender => gender, :work_unit => work_unit, :mail => @user.mail, :location => location, :brief_introduction => @user.user_extensions.brief_introduction} {:id => @user.id, :img_url => img_url,:realname => @user.realname, :nickname => @user.login, :gender => gender, :work_unit => work_unit, :mail => @user.mail, :location => location, :brief_introduction => @user.user_extensions.brief_introduction}
end end
#忘记密码 #忘记密码

View File

@ -70,7 +70,7 @@
<div class="upload_box_" > <div class="upload_box_" >
<h2 class="upload_box_tit">下载文件包太大,分成多个下载包</h2> <h2 class="upload_box_tit">下载文件包太大,分成多个下载包</h2>
<ul class="upload_box_ul" > <ul class="upload_box_ul" >
<li><span class="upload_box_span" >1.</span> <a href="javascript:void(0)">前20名学生的作</a><span class="c_grey">&nbsp;&nbsp;共200M</span> </li> <li><span class="upload_box_span" >1.</span> <a href="javascript:void(0)">前20名学生的作</a><span class="c_grey">&nbsp;&nbsp;共200M</span> </li>
</ul> </ul>
<div class="cl"></div> <div class="cl"></div>
</div> </div>

View File

@ -33,6 +33,15 @@
<% end %> <% end %>
</p> </p>
<p>
<%= content_tag "span","#{l(:label_duration_time)}:", :class => "course-font"%>
<%= get_course_term @course %>
</p>
<p>
<%= content_tag "span", "#{l(:label_course_brief_introduction)}:", :class => "course-font" %>
<%= content_tag "div", course.short_description, :class => "brief_introduction", :title => course.short_description %>
</p>
</div> </div>
<div class="information_for_course" > <div class="information_for_course" >
@ -71,15 +80,13 @@
</div> </div>
<div class="add-info"> <div class="add-info">
<div class="main-language" style="margin-left: 30px;margin-top:-10px"> <%= content_tag "span","#{l(:label_duration_time)}:", :class => "course-font"%>
<%= content_tag "span","#{l(:label_duration_time)}:", :class => "course-font"%> <%= get_course_term @course %>
<%= get_course_term @course %>
</div>
</div> </div>
<div class="add-info" style="margin-left: 30px; margin-top: -20px"> <div class="add-info" style="margin-left: 30px; margin-top: -20px">
<%= content_tag "span", "#{l(:label_course_brief_introduction)}:", :class => "course-font" %> <%= content_tag "span", "#{l(:label_course_brief_introduction)}:", :class => "course-font" %>
<%= content_tag "div", course.short_description, :class => "brief_introduction", :title => course.short_description %> <%= content_tag "div", course.short_description, :class => "brief_introduction", :title => course.short_description %>
</div> </div>
<div class="tags"> <div class="tags">

View File

@ -1,3 +1,15 @@
<div class="search_course fl">
<%= form_tag({:controller => 'courses', :action => 'search_member'},:id => "course_member_search_form", :method => :get, :class => "search_form_course",:remote => true) do %>
<!-- , :onkeyup => "regexQ('#{l(:label_search_conditions_not_null)}');" -->
<%= text_field_tag 'name', params[:name], :placeholder => "昵称、学号、姓名搜索", :class => "search_text fl" %>
<a href="javascript:void(0)" onclick="submitMemberSerch('<%= l(:label_search_conditions_not_null) %>');" class="search_btn fl f14 c_white ml10" >
<%= l(:label_search)%>
</a>
<br />
<span id="course_member_name_span" style="float: left"></span>
<% end %>
</div>
<div class="cl"></div>
<div class="members_left"> <div class="members_left">
<ul style=" border-bottom:none;"> <ul style=" border-bottom:none;">
<li> <li>

View File

@ -0,0 +1 @@
$('#tbc_02').html('<%= escape_javascript(render :partial => 'courses/course_members') %>');

View File

@ -40,7 +40,7 @@
<br /> <br />
<p class="mt5"> <p class="mt5">
<br /> <br />
<%= l :label_create_time %>: <%= format_time(@course.created_at) %> <%= l :label_create_time %> <%= format_time(@course.created_at) %>
</p> </p>
</div> </div>
<div class="cl"></div> <div class="cl"></div>

View File

@ -25,27 +25,27 @@
<% if file.is_public? || User.current.member_of_course?(course) %> <% if file.is_public? || User.current.member_of_course?(course) %>
<div class="re_con_box"> <div class="re_con_box">
<div class=""> <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" %> <%= link_to_attachment file, :download => true,:text => truncate(file.filename,length: 35, omission: '...'), :title => file.filename+"\n"+file.description.to_s,:class => "c_dblue f_14 f_b f_l hiddent" %>
<% if User.current.logged? %> <% if User.current.logged? %>
<% if (is_course_teacher(User.current,@course) || file.author_id == User.current.id) && course_contains_attachment?(@course,file) %> <% if (is_course_teacher(User.current,@course) || file.author_id == User.current.id) && course_contains_attachment?(@course,file) %>
<%= link_to("选入我的其他课程",quote_resource_show_course_file_path(@course,file),:class => "f_l re_select",:remote => true) if has_course?(User.current,file) %> <%= link_to("选入我的其他课程",quote_resource_show_course_file_path(@course,file),:class => "f_l re_select c_lorange",:remote => true) if has_course?(User.current,file) %>
<% if delete_allowed && file.container_id == @course.id && file.container_type == "Course" %> <% if delete_allowed && file.container_id == @course.id && file.container_type == "Course" %>
<span id="is_public_<%= file.id %>"> <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 %> <%= 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 c_blue",:method => :post %>
</span> </span>
<% else %> <% 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 %> <% end %>
<% else %> <% else %>
<%= link_to("选入我的课程",quote_resource_show_course_file_path(@course,file),:class => "f_l re_select",:remote => true) if has_course?(User.current,file) %> <%= link_to("选入我的课程",quote_resource_show_course_file_path(@course,file),:class => "f_l re_select c_lorange",:remote => true) if has_course?(User.current,file) %>
<% end %> <% end %>
<% else %> <% else %>
<% end %> <% end %>
</div> </div>
<div class="cl"></div> <div class="cl"></div>
<div class=""> <div class="">
<p class="f_l c_grey02 font">文件大小:<%= number_to_human_size(file.filesize) %></p> <p class="f_l mb5 c_grey02">文件大小:<%= number_to_human_size(file.filesize) %></p>
<%= link_to( l(:button_delete), attachment_path(file), <%= 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"%> :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;引用<%= file.quotes.nil? ? 0:file.quotes %> </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;引用<%= file.quotes.nil? ? 0:file.quotes %> </p>

View File

@ -1,9 +1,9 @@
<% unless tag_list.nil?%> <% unless tag_list.nil?%>
<% tag_list.each do |k,v|%> <% tag_list.each do |k,v|%>
<% if tag_name && tag_name == k%> <% if tag_name && tag_name == k%>
<a href="javascript:void(0);" class="files_tag_icon" style="background: #28be6c;"><%= k%><span class="c_red"><%= v%></span></a> <a href="javascript:void(0);" class="files_tag_select"><%= k%>×<%= v%></a>
<% else%> <% else%>
<a href="javascript:void(0);" class="files_tag_icon" onclick="search_tag_attachment('<%= search_tag_attachment_course_files_path(course)%>','<%= k%>','<%= @q%>','<%= course.id%>');"><%= k%><span class="c_red"><%= v%></span></a> <a href="javascript:void(0);" class="files_tag_icon" onclick="search_tag_attachment('<%= search_tag_attachment_course_files_path(course)%>','<%= k%>','<%= @q%>','<%= course.id%>');"><%= k%>×<%= v%></a>
<% end%> <% end%>
<% end%> <% end%>
<% end%> <% end%>

View File

@ -15,7 +15,7 @@
</li> </li>
<li class="wname"> <li class="wname">
<% if homework.name == nil || homework.name == "" %> <% if homework.name == nil || homework.name == "" %>
<% homework_filename = homework.user.name + "提交的作" %> <% homework_filename = homework.user.name + "提交的作" %>
<% else %> <% else %>
<% homework_filename = homework.name %> <% homework_filename = homework.name %>
<% end %> <% end %>
@ -55,7 +55,7 @@
<!-- 是学生 --> <!-- 是学生 -->
<% if is_my_homework %> <% if is_my_homework %>
<!-- 我的作品,在未开启匿评和未使用匿评,显示为编辑和删除 --> <!-- 我的作品,在未开启匿评和未使用匿评,显示为编辑和删除 -->
<% if bid.comment_status == 0 || bid.open_anonymous_evaluation == 0 %> <% if bid.comment_status == 0 || bid.open_anonymous_evaluation == 0 || bid.comment_status == 2 %>
<li class="wmine"> <li class="wmine">
<%= link_to l(:button_edit), edit_homework_attach_path(homework) %> <%= link_to l(:button_edit), edit_homework_attach_path(homework) %>
<% if homework.user == User.current || User.current.admin? %> <% if homework.user == User.current || User.current.admin? %>
@ -69,7 +69,7 @@
<% end %> <% end %>
</li> </li>
<% else %> <% else %>
<li class="wmine" title="只有开启匿评之前才能修改和删除作业哦!"> <li class="wmine" title="已开启匿评的作业不能进行修改和删除">
<a style="color:#8e8e8e;"><%= l(:button_edit) %></a> <a style="color:#8e8e8e;"><%= l(:button_edit) %></a>
<% if homework.user == User.current || User.current.admin? %> <% if homework.user == User.current || User.current.admin? %>
<!-- 作业创建者显示删除作业 --> <!-- 作业创建者显示删除作业 -->

View File

@ -47,9 +47,9 @@
<%= link_to User.current.login, user_path(User.current), :title => User.current.login%> <%= link_to User.current.login, user_path(User.current), :title => User.current.login%>
</span> </span>
</li> </li>
<li class="c_red" style="margin:25px 0 0 20px;"> 您还没交作业,请创建作业!</li> <li class="c_red" style="margin:25px 0 0 20px;"> 您还没交作品,请创建作品</li>
<li class="wping"> <li class="wping">
<%= link_to "提交作", new_exercise_book_path(@bid), :style => "width:80px; margin:20px 0 0 350px;" %> <%= link_to "提交作", new_exercise_book_path(@bid), :style => "width:80px; margin:20px 0 0 350px;" %>
</li> </li>
</ul> </ul>
<div class="cl"></div> <div class="cl"></div>

View File

@ -35,7 +35,7 @@
<%= l(:label_courses_community)%> <%= l(:label_courses_community)%>
</a> </a>
</h2> </h2>
<p> <p class="hiddent">
<%= l(:label_user_location) %> : <%= l(:label_user_location) %> :
<%= link_to l(:field_homepage), home_path %> <%= link_to l(:field_homepage), home_path %>
> >
@ -80,7 +80,7 @@
<div class="cl"></div> <div class="cl"></div>
<div > <div >
<a class="pr_info_name fl c_dark fb" href="http://<%= Setting.host_course%>/courses/<%= @course.id%>" target="_blank"> <a class="pr_info_name fl c_dark fb break_word" href="http://<%= Setting.host_course%>/courses/<%= @course.id%>" target="_blank">
<%= @course.name %> <%= @course.name %>
<% if @course.is_public == 0%> <% if @course.is_public == 0%>
<span class="img_private "> <span class="img_private ">

View File

@ -39,21 +39,12 @@
</div> </div>
<div class="course welcome_left" id="welcome_left"> <div class="course welcome_left" id="welcome_left">
<% if User.current.login? %>
<span class="font_welcome_school"> <span class="font_welcome_school">
<% if @school_id.nil? and (User.current.user_extensions.nil? || User.current.user_extensions.school.nil?) %> <% if @school_id.nil? and (User.current.user_extensions.nil? || User.current.user_extensions.school.nil?) %>
<span class="font_welcome_tdescription">,
<!--
edit by meng
@course_page.description存储在first_page表中的description字段
原本代码
<%= @course_page.description %>
!-->
<%= l(:label_welcome_trustie_course_description) %>
</span>
<% else %>
<% if @school_id == "0" %>
<% else %> <% else %>
<% if @school_id == "0" %>
<% else %>
<% if @school_id.nil? %> <% if @school_id.nil? %>
<%= link_to School.find(User.current.user_extensions.school.id).name, options={:action => 'course', :school_id => User.current.user_extensions.school.id}, html_options={:class => 'font_welcome_school', :method => 'get'} %> <%= link_to School.find(User.current.user_extensions.school.id).name, options={:action => 'course', :school_id => User.current.user_extensions.school.id}, html_options={:class => 'font_welcome_school', :method => 'get'} %>
<br/> <br/>
@ -61,10 +52,20 @@
<%= link_to School.find(@school_id).name, options={:action => 'course', :school_id => @school_id}, html_options={:class => 'font_welcome_school', :method => 'get'} %> <%= link_to School.find(@school_id).name, options={:action => 'course', :school_id => @school_id}, html_options={:class => 'font_welcome_school', :method => 'get'} %>
<br/> <br/>
<% end %> <% end %>
<% end %>
<% end %> <% end %>
<% end %>
</span> </span>
<% unless @course_page.nil? %> <span class="font_welcome_trustie">
<!--
edit by meng
@course_page.title存储在first_page表中的title字段
原本代码
<%= @course_page.title %>
!-->
<%= l(:label_welcome_trustie_course) %>
</span>
<% else %>
<% unless @course_page.nil? %>
<span class="font_welcome_trustie"> <span class="font_welcome_trustie">
<!-- <!--
edit by meng edit by meng
@ -74,8 +75,18 @@
!--> !-->
<%= l(:label_welcome_trustie_course) %> <%= l(:label_welcome_trustie_course) %>
</span> </span>
<span class="font_welcome_tdescription">,
<!--
edit by meng
@course_page.description存储在first_page表中的description字段
原本代码
<%= @course_page.description %>
!-->
<%= l(:label_welcome_trustie_course_description) %>
</span>
<% end %>
<% end %> <% end %>
</div> </div>
<div class="search-bar" id="search-bar"> <div class="search-bar" id="search-bar">
<%= render :partial => "search_project", :locals => {:project_type => Project::ProjectType_course} %> <%= render :partial => "search_project", :locals => {:project_type => Project::ProjectType_course} %>

View File

@ -87,3 +87,7 @@ zh:
#boards #boards
label_course_momes_count: "个帖子" label_course_momes_count: "个帖子"
#boards count #boards count
#setting
label_user_name: "用户名称"
#setting end

View File

@ -497,14 +497,14 @@ zh:
label_teacher_list: 教师列表 label_teacher_list: 教师列表
label_student_list: 学生列表 label_student_list: 学生列表
label_limit_time: 截止日期 label_limit_time: 截止日期
label_commit_homework: 提交作业 label_commit_homework: 提交作品
label_edit_homework: 修改作品
label_course_homework: 对应课程 label_course_homework: 对应课程
label_course_doing: 进行中 label_course_doing: 进行中
label_course_done: 已结束 label_course_done: 已结束
label_homework_response: 作业咨询 label_homework_response: 作业咨询
label_bidding_homework: 提交作 label_bidding_homework: 提交作
label_add_homework: 添加作业 label_add_homework: 添加作业
label_edit_homework: 修改作业
label_delete_homework: 删除作业 label_delete_homework: 删除作业
label_new_homework: 创建作业 label_new_homework: 创建作业

View File

@ -677,6 +677,7 @@ RedmineApp::Application.routes.draw do
resources :courses do resources :courses do
member do member do
get 'settings(/:tab)', :action => 'settings', :as => 'settings' get 'settings(/:tab)', :action => 'settings', :as => 'settings'
get 'search_member', :action => 'search_member'
get 'homework', :action => 'homework', :as => 'homework' get 'homework', :action => 'homework', :as => 'homework'
get 'new_homework', :action => 'new_homework', :as => 'new_homework' get 'new_homework', :action => 'new_homework', :as => 'new_homework'
get 'file', :action => 'file', :as => 'file' get 'file', :action => 'file', :as => 'file'

View File

@ -110,7 +110,7 @@ Redmine::AccessControl.map do |map|
map.permission :view_course, {:courses => [:show], :activities => [:index]}, :public => true, :read => true map.permission :view_course, {:courses => [:show], :activities => [:index]}, :public => true, :read => true
map.permission :search_course, {:search => :index}, :public => true, :read => true map.permission :search_course, {:search => :index}, :public => true, :read => true
map.permission :add_course, {:courses => [:new, :create]}, :require => :loggedin ,:belong_to_course => true map.permission :add_course, {:courses => [:new, :create]}, :require => :loggedin ,:belong_to_course => true
map.permission :edit_course, {:courses => [:settings, :edit, :update]}, :require => :member ,:belong_to_course => true map.permission :edit_course, {:courses => [:settings, :edit, :update,:search_member]}, :require => :member ,:belong_to_course => true
map.permission :close_course, {:courses => [:close, :reopen]}, :require => :member, :read => true ,:belong_to_course => true map.permission :close_course, {:courses => [:close, :reopen]}, :require => :member, :read => true ,:belong_to_course => true
map.permission :select_course_modules, {:courses => :modules}, :require => :member ,:belong_to_course => true map.permission :select_course_modules, {:courses => :modules}, :require => :member ,:belong_to_course => true
map.permission :view_course_journals_for_messages, {:courses => :feedback}, :require => :member,:read => true ,:belong_to_course => true map.permission :view_course_journals_for_messages, {:courses => :feedback}, :require => :member,:read => true ,:belong_to_course => true

View File

@ -300,6 +300,31 @@ function submitSerch(content)
{ {
if(regexName(content)){$("#course_search_form").submit();} if(regexName(content)){$("#course_search_form").submit();}
} }
//验证搜索时输入名字
function regexQ(content)
{
var name = $.trim($("#q").val());
if(name.length == 0)
{
$("#course_member_name_span").text(content);
$("#course_member_name_span").css('color','#ff0000');
$("#course_member_name_span").focus();
return false;
}
else
{
$("#course_member_name_span").text("");
return true;
}
}
//提交课程成员搜索
function submitMemberSerch(content)
{
//if(regexQ(content)){$("#course_member_search_form").submit();}
$("#course_member_search_form").submit();
}
//课程描述显示更多信息 //课程描述显示更多信息
function show_more_msg() function show_more_msg()
{ {

View File

@ -117,9 +117,9 @@ a:hover.re_fabu{background:#55a1b9;}
.re_con{ margin:5px; width:665px;} .re_con{ margin:5px; width:665px;}
.re_con_top{color:#494949; } .re_con_top{color:#494949; }
.re_con_top span{ color:#999999; font-weight:bold;} .re_con_top span{ color:#999999; font-weight:bold;}
a.re_select{ display:block; height:20px; border:1px solid #ff9900; color:#ff9900; margin-left:10px; padding:2px 5px 1px;} a.re_select{ display:block; border:1px solid #ff9900; color:#ff9900; margin-left:10px; padding:1px 5px;}
a:hover.re_select{ background:#ff9900; color:#fff; text-decoration:none;} a:hover.re_select{ background:#ff9900; color:#fff; text-decoration:none;}
a.re_open{display:block; width:46px; height:19px; border:1px solid #64bdd9; color:#64bdd9; margin-left:10px;padding-top:3px;} a.re_open{display:block; width:46px; border:1px solid #64bdd9; color:#64bdd9; margin-left:10px;padding:1px 5px;}
a:hover.re_open{ background:#64bdd9; color:#fff; text-decoration:none;} a:hover.re_open{ background:#64bdd9; color:#fff; text-decoration:none;}
a.re_de{ color:#6883b6; margin-left:15px;} a.re_de{ color:#6883b6; margin-left:15px;}
.re_con_box{ border-bottom:1px dashed #dadada; padding-bottom:10px; margin-bottom:10px;} .re_con_box{ border-bottom:1px dashed #dadada; padding-bottom:10px; margin-bottom:10px;}
@ -273,6 +273,8 @@ a:hover.tijiao{ background:#0f99a9;}
a.member_btn{ padding: 3px 5px; background:#15bccf; color:#fff;} a.member_btn{ padding: 3px 5px; background:#15bccf; color:#fff;}
a:hover.member_btn{ background:#329cbd;} a:hover.member_btn{ background:#329cbd;}
.hol{display: none;} .hol{display: none;}
.search_course{margin-top:8px;margin-left:8px;}
.search_form_course{margin-top:8px;margin-left:8px;}
/* 新建项目 */ /* 新建项目 */
.pro_new{ } .pro_new{ }
@ -467,6 +469,8 @@ blockquote {
font-family: "Microsoft YaHei"; font-family: "Microsoft YaHei";
background: url('../images/requirements/reference.jpg'); background: url('../images/requirements/reference.jpg');
} }
a.member_search_edit {width: 43px;background: #15bccf;color: #fff;text-align: center;text-decoration: none;padding: 2px;}
.min_search_edit {width: 150px;height: 20px;border: 1px solid #d0d0d0 !important;color: #666;}
a.link_file{ background:url(../images/pic_file.png) 0 2px no-repeat; padding-left:20px; color:#64bdd9; } a.link_file{ background:url(../images/pic_file.png) 0 2px no-repeat; padding-left:20px; color:#64bdd9; }
a:hover.link_file{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;} a:hover.link_file{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;}
@ -509,8 +513,8 @@ a.wzan_visited{background:url(../images/new_project/public_icon.png) 0px -503px
.newwork_btn a{background:#64bdd9;color:#fff;font-size:14px; font-weight:normal; padding:2px 10px; display:block; text-align:center; float:right;} .newwork_btn a{background:#64bdd9;color:#fff;font-size:14px; font-weight:normal; padding:2px 10px; display:block; text-align:center; float:right;}
.newwork_btn a:hover{ background:#329cbd;} .newwork_btn a:hover{ background:#329cbd;}
.files_tag{ width:670px; height:22px; overflow:hidden; margin-bottom:10px;} .files_tag{ width:670px; height:22px; overflow:hidden; margin-bottom:10px;}
a.files_tag_icon{ background:#64bdd9; color:#fff; border:1px solid #54aeca; padding:1px 10px; float:left; margin-right:10px;margin-bottom:10px; } a.files_tag_icon{ background:#e2f3f9; color:#54aeca; border:1px solid #bbe2ef; padding:1px 10px; float:left; margin-right:10px;margin-bottom:10px; }
a:hover.files_tag_icon{ background:#54aeca;} a.files_tag_select{ background:#64bdd9; color:#fff; border:1px solid #64bdd9; padding:1px 10px; float:left; margin-right:10px;margin-bottom:10px;}

View File

@ -167,23 +167,8 @@ a:hover.tijiao{ background:#0f99a9 !important;}
.c_grey{ color:#A7A7A7;} .c_grey{ color:#A7A7A7;}
/*新增*/ /*新增*/
.min_search { .min_search {width: 150px;height: 15px;border: 1px solid #d0d0d0 !important;color: #666;}
width: 150px; a.member_search {width: 43px;height: 22px;background: #15bccf;color: #fff;text-align: center;padding: 4px 6px;text-decoration: none;}
height: 15px;
border: 1px solid #d0d0d0 !important;
color: #666;
/*background: url(../images/course/public_icon.png) 135px -193px no-repeat;*/
/*cursor: pointer;*/
}
a.member_search {
width: 43px;
height: 22px;
background: #15bccf;
color: #fff;
text-align: center;
padding: 4px 6px;
text-decoration: none;
}
/*上传图片处理*/ /*上传图片处理*/
.upload_img img{max-width: 100%;} .upload_img img{max-width: 100%;}

View File

@ -279,6 +279,7 @@ a:hover.close_btn {background-position:-66px 0;}
.show_btn {background-position:-119px 0;} .show_btn {background-position:-119px 0;}
.msgserver a {color:#15bccf; } .msgserver a {color:#15bccf; }
.break_word{word-break: break-all;word-wrap: break-word;} .break_word{word-break: break-all;word-wrap: break-word;}
.hiddent{ overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
.break_word_firefox{white-space: pre-wrap;word-break: break-all;} .break_word_firefox{white-space: pre-wrap;word-break: break-all;}

View File

@ -1057,7 +1057,7 @@ display: block;
float: left; float: left;
margin-left: 20px; margin-left: 20px;
margin-top: 10px; margin-top: 10px;
width: 470px; width: 540px;
font-family: '微软雅黑'; /*modify by men*/ font-family: '微软雅黑'; /*modify by men*/
color: rgb(0, 0, 0); color: rgb(0, 0, 0);
font-size: 13px; font-size: 13px;
@ -1085,7 +1085,7 @@ float: left;
}*/ }*/
.information_for_course { .information_for_course {
margin-top: 20px; margin-top: 20px;
margin-left: 507px; margin-left: 550px;
float: left; float: left;
height: auto; height: auto;
width: 300px; width: 300px;
@ -2008,10 +2008,10 @@ div.tableline{
text-align: justify; text-align: justify;
} }
.brief_introduction { .brief_introduction {
margin-top: -18px; margin-top: -30px;
margin-left: 60px; margin-left: 60px;
/*display: inline-block;*/ /*display: inline-block;*/
width: 500px; width: 480px;
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;