diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 8bd91b089..57e365aff 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -399,6 +399,25 @@ class CoursesController < ApplicationController end + def private_or_public + if @course.is_public == 0 + @course.update_attributes(:is_public => 1) + else + @course.update_attributes(:is_public => 0) + end + if @course.is_public == 0 + course_status = CourseStatus.find_by_course_id(@course.id) + course_status.destroy if course_status + elsif @course.is_public == 1 + course_status = CourseStatus.find_by_course_id(@course.id) + course_status.destroy if course_status + course_status = CourseStatus.create(:course_id => @course.id, :grade => 0) + end + respond_to do |format| + format.js + end + end + def search_member if User.current.allowed_to?(:as_teacher,@course) || User.current.admin q = "#{params[:name].strip}" diff --git a/app/controllers/exercise_controller.rb b/app/controllers/exercise_controller.rb index 25b5dacec..9c073afa8 100644 --- a/app/controllers/exercise_controller.rb +++ b/app/controllers/exercise_controller.rb @@ -485,7 +485,7 @@ class ExerciseController < ApplicationController ea.answer_text = params[:answer_text] if ea.save @percent = get_percent(@exercise,User.current) - render :json => {:text => pv.vote_text,:percent => format("%.2f", @percent)} + render :json => {:text => ea.answer_text,:percent => format("%.2f", @percent)} else render :json => {:text => "failure"} end diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 9b81ac775..77dc1a9aa 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -81,7 +81,8 @@ class IssuesController < ApplicationController @status_id = params[:status_id] @subject = params[:subject] @issue_count = @query.issue_count - @issue_pages = Paginator.new @issue_count, @limit, params['page'].to_i + 1 + @issue_pages = Paginator.new @issue_count, @limit, params['page'] + params[:page] = (params[:page] || 1).to_i + 1 #页码需要加1 @offset ||= @issue_pages.offset @issues = @query.issues(:include => [:assigned_to, :tracker, :priority, :category, :fixed_version], :order => sort_clause, diff --git a/app/views/courses/private_or_public.js.erb b/app/views/courses/private_or_public.js.erb new file mode 100644 index 000000000..71315e910 --- /dev/null +++ b/app/views/courses/private_or_public.js.erb @@ -0,0 +1,8 @@ +$("#project_info_<%=@course.id %>").html('<%=escape_javascript(render :partial=>'layouts/project_info') %>'); +if(document.getElementById("course_is_public")) { + <% if @course.is_public == 0%> + $("#course_is_public").attr("checked",false); + <% elsif @course.is_public == 1 %> + $("#course_is_public").attr("checked",true); + <% end %> +} \ No newline at end of file diff --git a/app/views/courses/settings.html.erb b/app/views/courses/settings.html.erb index 634f26495..ae6416c9d 100644 --- a/app/views/courses/settings.html.erb +++ b/app/views/courses/settings.html.erb @@ -66,19 +66,19 @@
  • id="course_is_public" name="course[is_public]" type="checkbox"> - (打钩为公开,不打钩则不公开,若不公开,仅课程成员可见该课程。) + (选中后课外用户可见该课程,否则仅对课内成员可见)
  • id="course_open_student" name="course[open_student]" type="checkbox" style="margin-left: 1px;"/> - (打钩为"学生列表公开",不打钩为不公开,若不公开,则课程外部人员看不到学生列表) + (选中后课外用户可见学生列表,否则仅对课内成员可见)
  • id="course_publish_resource" name="course[publish_resource]" type="checkbox" style="margin-left: 1px;"/> - (打钩为"允许学生上传资源",不打钩为"不允许学生上传资源") + (选中后允许学生上传课程资源,否则不允许)
  • diff --git a/app/views/exercise/_exercise_student.html.erb b/app/views/exercise/_exercise_student.html.erb index 8a1f3dbd6..4f4892b79 100644 --- a/app/views/exercise/_exercise_student.html.erb +++ b/app/views/exercise/_exercise_student.html.erb @@ -100,6 +100,9 @@ { obj.checked = false; } + }, + error: function () { + alert("网络异常,答题失败,请确认网络正常连接后再答题。"); } }); } @@ -154,6 +157,9 @@ { obj.checked = false; } + }, + error: function () { + alert("网络异常,答题失败,请确认网络正常连接后再答题。"); } }); } @@ -196,6 +202,9 @@ success: function (data) { var dataObj = eval(data); obj.value = dataObj.text; + }, + error: function () { + alert("网络异常,答题失败,请确认网络正常连接后再答题。"); } }); diff --git a/app/views/files/_org_subfield_list.html.erb b/app/views/files/_org_subfield_list.html.erb index 029570047..ad90550d4 100644 --- a/app/views/files/_org_subfield_list.html.erb +++ b/app/views/files/_org_subfield_list.html.erb @@ -30,7 +30,7 @@ <% if User.current.logged? %> <% if !@org_subfield.attachments.all.include?file %> <%= link_to("选入栏目",quote_resource_show_org_subfield_org_subfield_file_path(:org_subfield_id => @org_subfield.id, :id => file.id),:class => "f_l re_select c_lorange",:remote => true) %> - <% else %> + <% elsif @org_subfield.organization.org_subfields.where("field_type='Resource'").count > 1 %> <%= link_to("选入组织其他栏目",quote_resource_show_org_subfield_org_subfield_file_path(:org_subfield_id => @org_subfield.id, :id => file.id),:class => "f_l re_select c_lorange",:remote => true) %> <% end %> <%= file_preview_tag(file, class: 'f_l re_open', style:'text-align: center;') %> diff --git a/app/views/issues/_list.html.erb b/app/views/issues/_list.html.erb index 52f6570da..58fbda6d6 100644 --- a/app/views/issues/_list.html.erb +++ b/app/views/issues/_list.html.erb @@ -40,14 +40,14 @@ <%= render :partial => 'users/project_issue', :locals => {:activity => issue, :user_activity_id => issue.id} %> <% end %> <% if issues.count == 10%> - - <%= link_to "点击展开更多",project_issues_path({:project_id => project.id,:page => issue_pages.page}.merge(params)),:id => "show_more_issues",:remote => "true",:class => "loadMore mt10 f_grey"%> +
    展开更多<%=link_to "", project_issues_path({:project_id => project.id}.merge(params)),:id => "more_issues_link",:remote => "true",:class => "none" %>
    + <%#= link_to "点击展开更多",user_activities_path(@user.id,:type => type,:page => page),:id => "show_more_activities",:remote => "true",:class => "loadMore mt10 f_grey"%> <% end%> - \ No newline at end of file + \ No newline at end of file diff --git a/app/views/layouts/_project_info.html.erb b/app/views/layouts/_project_info.html.erb new file mode 100644 index 000000000..b4a2996d0 --- /dev/null +++ b/app/views/layouts/_project_info.html.erb @@ -0,0 +1,92 @@ +<% is_teacher = User.current.logged? && (User.current.admin? || User.current.allowed_to?(:as_teacher,@course)) %> +<% teacher_num = searchTeacherAndAssistant(@course).count %> +<% student_num = studentCount(@course) %> +<% course_file_num = visable_attachemnts_incourse(@course).count%> + +
    <%= @course.is_public == 0 ? "私有课程" : "公开课程" %>
    +
    +ID:<%= @course.id%> +
    + +
    + + + + + + + + + + + + + + + + + + + + +
    + +
    + + <%= @course.name %> + + <%# if @course.is_public == 0%> + + + <%# end %> + + <%if User.current && @course.tea_id == User.current.id && (@course.outline == 0 || BlogComment.where(:id=>@course.outline).count == 0) %> + + <% elsif User.current && @course.tea_id == User.current.id && @course.outline != 0 && BlogComment.where(:id=>@course.outline).count != 0%> + + <% elsif User.current && @course.tea_id != User.current.id && !@course.is_public? && User.current.member_of_course?(@course) && @course.outline != 0%> + + <% elsif User.current && @course.tea_id != User.current.id && @course.is_public? && @course.outline != 0%> + + <%else%> + <%end %> + +
    +
    +
    +
    +<%= l(:label_account_identity_teacher)%>(<%= course_teacher_link teacher_num %>) + +<%= l(:label_account_identity_student)%>(<%= course_student_link student_num %>) + +<%= l(:project_module_attachments)%>(<%= link_to course_file_num, course_files_path(@course), :class => 'info_foot_num c_blue',:id=>'courses_files_count_info' %>)
    +
    +<% if is_teacher %> +
    + +
    +<% end %> diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb index 1cb8efe01..a7af387b2 100644 --- a/app/views/layouts/base_courses.html.erb +++ b/app/views/layouts/base_courses.html.erb @@ -1,6 +1,4 @@ <%# course_model %> -<% teacher_num = searchTeacherAndAssistant(@course).count %> -<% student_num = studentCount(@course) %> <% course_file_num = visable_attachemnts_incourse(@course).count%> <% is_teacher = User.current.logged? && (User.current.admin? || User.current.allowed_to?(:as_teacher,@course)) %> @@ -51,78 +49,8 @@
    -
    - -
    - ID:<%= @course.id%> -
    -
    - <% if is_teacher%> - <%= link_to "#{l(:button_configure)}".html_safe, {:controller => 'courses', :action => 'settings', :id => @course}, :class => "pr_join_a" %> - <%= set_course_time @course%> - <%#= link_to "#{l(:button_copy)}".html_safe, copy_course_course_path(@course.id), :class => "pr_join_a" %> - <% else%> -
    <%= join_in_course_header(@course, User.current) %>
    - <% end%> -
    -
    - - - - - - - - - - - - - - - - - - - - -
    - -
    - - <%= @course.name %> - - <% if @course.is_public == 0%> - - - <%= l(:field_is_private)%> - - <% end %> - - <%if User.current && @course.tea_id == User.current.id && (@course.outline == 0 || BlogComment.where(:id=>@course.outline).count == 0) %> - - <% elsif User.current && @course.tea_id == User.current.id && @course.outline != 0 && BlogComment.where(:id=>@course.outline).count != 0%> - - <% elsif User.current && @course.tea_id != User.current.id && !@course.is_public? && User.current.member_of_course?(@course) && @course.outline != 0%> - - <% elsif User.current && @course.tea_id != User.current.id && @course.is_public? && @course.outline != 0%> - - <%else%> - <%end %> - -
    -
    -
    -
    - <%= l(:label_account_identity_teacher)%>(<%= course_teacher_link teacher_num %>) - - <%= l(:label_account_identity_student)%>(<%= course_student_link student_num %>) - - <%= l(:project_module_attachments)%>(<%= link_to course_file_num, course_files_path(@course), :class => 'info_foot_num c_blue',:id=>'courses_files_count_info' %>)
    -
    +
    + <%=render :partial=>'layouts/project_info' %>
      diff --git a/app/views/organizations/_join_project_menu.html.erb b/app/views/organizations/_join_project_menu.html.erb index 3d2055ec9..6040408bb 100644 --- a/app/views/organizations/_join_project_menu.html.erb +++ b/app/views/organizations/_join_project_menu.html.erb @@ -29,7 +29,7 @@
      <%=form_tag url_for(:controller => 'organizations', :action => 'join_projects', :organization_id => organization_id),:method => 'post', :id => 'join_projects_form', :remote => true,:class=>"resourcesSearchBox" do %> -
      +
      diff --git a/app/views/organizations/_org_left_subfield_list.html.erb b/app/views/organizations/_org_left_subfield_list.html.erb index e1fba0169..d11919927 100644 --- a/app/views/organizations/_org_left_subfield_list.html.erb +++ b/app/views/organizations/_org_left_subfield_list.html.erb @@ -3,7 +3,7 @@
      项目 - <% if User.current.logged? %> + <% if User.current.logged? and User.current.admin_of_org?(organization) %> <%=link_to "", join_project_menu_organization_path(organization),:remote => true, :method => "post", :class => "homepageMenuSetting fr", :title => "关联项目"%> <% end %>
      @@ -15,7 +15,7 @@
    课程 - <% if User.current.logged? %> + <% if User.current.logged? and User.current.admin_of_org?(organization) %> <%=link_to "", join_course_menu_organization_path(organization),:remote => true, :method => "post", :class => "homepageMenuSetting fr", :title => "关联课程"%> <% end %>
    diff --git a/app/views/student_work/_evaluation_un_work.html.erb b/app/views/student_work/_evaluation_un_work.html.erb index 0a4ab044a..bf022f64c 100644 --- a/app/views/student_work/_evaluation_un_work.html.erb +++ b/app/views/student_work/_evaluation_un_work.html.erb @@ -74,7 +74,7 @@ <% score = student_work.respond_to?("score") ? student_work.score : (student_work.final_score || 0) - student_work.absence_penalty - student_work.late_penalty%>
  • - <%= score.nil? ? "--" : format("%.1f",score)%> + <%= score.nil? ? "--" : format("%.1f",score<0 ? 0 : score)%> <% unless score.nil?%>
    作品最终评分为 diff --git a/app/views/student_work/_revise_attachment.html.erb b/app/views/student_work/_revise_attachment.html.erb index 2279856da..dabf9715a 100644 --- a/app/views/student_work/_revise_attachment.html.erb +++ b/app/views/student_work/_revise_attachment.html.erb @@ -9,7 +9,7 @@ <%= render :partial => 'work_attachments_status', :locals => {:attachments => work.attachments.where("attachtype = 7"), :status => 2} %> 追加时间:<%=format_time revise_attachment.created_on.to_s %>  (<%=revise_attachment_status @homework,revise_attachment %>)
    <% unless revise_attachment.description == "" %> - 附件描述:

    <%=revise_attachment.description %>

    + 追加理由:

    <%=revise_attachment.description %>

    <% end %>
    @@ -24,7 +24,7 @@ <%= render :partial => 'work_attachments_status', :locals => {:attachments => work.attachments.where("attachtype = 7"), :status => 1} %> 追加时间:<%=format_time revise_attachment.created_on.to_s %>
    <% unless revise_attachment.description == "" %> - 附件描述:

    <%=revise_attachment.description %>

    + 追加理由:

    <%=revise_attachment.description %>

    <% end %> <% end %> diff --git a/app/views/student_work/index.html.erb b/app/views/student_work/index.html.erb index c6d2bd313..b314bcf6d 100644 --- a/app/views/student_work/index.html.erb +++ b/app/views/student_work/index.html.erb @@ -170,7 +170,11 @@
    -
    截止时间:<%= @homework.end_time %> 23:59
    + <% if @homework.homework_detail_manual && @homework.homework_detail_manual.comment_status < 2 %> +
    提交截止时间:<%= @homework.end_time %> 23:59
    + <% elsif @homework.homework_detail_manual && @homework.homework_detail_manual.comment_status >= 2 %> +
    匿评截止时间:<%= @homework.homework_detail_manual.evaluation_end %> 23:59
    + <% end %> <% if @homework.homework_detail_manual.comment_status == 0 %>
    发布时间:<%= @homework.publish_time %> 00:00
    <% end %> diff --git a/app/views/users/_course_homework.html.erb b/app/views/users/_course_homework.html.erb index da05ac946..a0ce84795 100644 --- a/app/views/users/_course_homework.html.erb +++ b/app/views/users/_course_homework.html.erb @@ -86,7 +86,11 @@ 分组人数:<%=activity.homework_detail_group.min_num %>-<%=activity.homework_detail_group.max_num %> 人
    <% end %> -
    截止时间:<%= activity.end_time.to_s %> 23:59
    + <% if activity.homework_detail_manual && activity.homework_detail_manual.comment_status < 2 %> +
    提交截止时间:<%= activity.end_time.to_s %> 23:59
    + <% elsif activity.homework_detail_manual && activity.homework_detail_manual.comment_status >= 2 %> +
    匿评截止时间:<%= activity.homework_detail_manual.evaluation_end.to_s %> 23:59
    + <% end %>
    diff --git a/app/views/users/_user_homework_detail.html.erb b/app/views/users/_user_homework_detail.html.erb index fb6ae0455..0472613e4 100644 --- a/app/views/users/_user_homework_detail.html.erb +++ b/app/views/users/_user_homework_detail.html.erb @@ -84,9 +84,11 @@ 分组人数:<%=homework_common.homework_detail_group.min_num %>-<%=homework_common.homework_detail_group.max_num %> 人
    <% end %> -
    - <%= l(:label_end_time)%>:<%= homework_common.end_time%> 23:59 -
    + <% if homework_common.homework_detail_manual && homework_common.homework_detail_manual.comment_status < 2 %> +
    提交截止时间:<%= homework_common.end_time.to_s %> 23:59
    + <% elsif homework_common.homework_detail_manual && homework_common.homework_detail_manual.comment_status >= 2 %> +
    匿评截止时间:<%= homework_common.homework_detail_manual.evaluation_end.to_s %> 23:59
    + <% end %> <% if homework_common.homework_detail_manual.comment_status == 0 %>
    <%= l(:label_publish_time)%>:<%= homework_common.publish_time%> 00:00 diff --git a/config/routes.rb b/config/routes.rb index 3afca2451..be9843a80 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -928,6 +928,7 @@ RedmineApp::Application.routes.draw do post 'join_in/join_group', :to => 'courses#join_group', :as => 'join_group' delete 'join_in/join_group', :to => 'courses#unjoin_group' get 'copy_course' + get 'private_or_public' match 'course_activity', :to => 'courses#course_activity', :via => :get, :as => "course_activity" get 'course_outline' post 'search_course_outline' diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css index 86586243d..441adce29 100644 --- a/public/stylesheets/courses.css +++ b/public/stylesheets/courses.css @@ -1239,3 +1239,5 @@ div.disable_link {background-color: #c1c1c1 !important;} .support{ background:url(../images/public_icon.png) -66px -45px no-repeat; width:18px; height:21px;} .function{ background:url(../images/public_icon.png) -66px -70px no-repeat; width:18px; height:21px;} .weekly{ background:url(../images/public_icon.png) -66px -95px no-repeat; width:18px; height:21px;} + +.boxShadow {box-shadow:0px 2px 8px rgba(146, 153, 169, 0.5);}