diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 087b31664..45a3f981b 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -1284,18 +1284,18 @@ class CoursesController < ApplicationController WHERE student_works.homework_common_id = homework_commons.id AND homework_commons.course_id = #{@course.id} AND student_works.user_id = members.user_id - ) AS score,(SELECT (message_num*2 + message_reply_num*1 + news_reply_num*1 + news_num*1 + + ) AS score,(SELECT max(message_num*2 + message_reply_num*1 + news_reply_num*1 + news_num*1 + resource_num*5 + journal_num*1 + homework_journal_num*1 ) FROM `course_contributor_scores` AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id ) AS act_score,(SELECT SUM(exercise_users.score) FROM exercise_users,exercises WHERE exercise_users.exercise_id = exercises.id AND exercises.course_id = #{@course.id} AND exercise_users.user_id = members.user_id) AS ex_score, - (SELECT student_id FROM user_extensions WHERE user_extensions.user_id = members.user_id) AS student_id, - (SELECT message_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_num, - (SELECT message_reply_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_reply_num, - (SELECT news_reply_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_reply_num, - (SELECT news_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_num, - (SELECT resource_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS resource_num, - (SELECT journal_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS journal_num, - (SELECT homework_journal_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS homework_journal_num, + (SELECT max(student_id) FROM user_extensions WHERE user_extensions.user_id = members.user_id) AS student_id, + (SELECT max(message_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_num, + (SELECT max(message_reply_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_reply_num, + (SELECT max(news_reply_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_reply_num, + (SELECT max(news_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_num, + (SELECT max(resource_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS resource_num, + (SELECT max(journal_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS journal_num, + (SELECT max(homework_journal_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS homework_journal_num, (SELECT COUNT(ss.id) FROM student_works AS ss ,homework_commons AS hc WHERE ss.homework_common_id = hc.id AND hc.course_id = #{@course.id} AND ss.work_status != 0 AND ss.user_id = members.user_id) AS homework_num, (SELECT COUNT(eu.id) FROM exercise_users AS eu,exercises WHERE eu.exercise_id = exercises.id AND exercises.course_id = #{@course.id} AND exercises.end_time >= eu.created_at AND eu.user_id = members.user_id) AS exercise_num FROM members @@ -1309,18 +1309,18 @@ class CoursesController < ApplicationController WHERE student_works.homework_common_id = homework_commons.id AND homework_commons.course_id = #{@course.id} AND student_works.user_id = members.user_id - ) AS score,(SELECT (message_num*2 + message_reply_num*1 + news_reply_num*1 + news_num*1 + + ) AS score,(SELECT max(message_num*2 + message_reply_num*1 + news_reply_num*1 + news_num*1 + resource_num*5 + journal_num*1 + homework_journal_num*1 ) FROM `course_contributor_scores` AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id ) AS act_score,(SELECT SUM(exercise_users.score) FROM exercise_users,exercises WHERE exercise_users.exercise_id = exercises.id AND exercises.course_id = #{@course.id} AND exercise_users.user_id = members.user_id) AS ex_score, - (SELECT student_id FROM user_extensions WHERE user_extensions.user_id = members.user_id) AS student_id, - (SELECT message_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_num, - (SELECT message_reply_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_reply_num, - (SELECT news_reply_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_reply_num, - (SELECT news_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_num, - (SELECT resource_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS resource_num, - (SELECT journal_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS journal_num, - (SELECT homework_journal_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS homework_journal_num, + (SELECT max(student_id) FROM user_extensions WHERE user_extensions.user_id = members.user_id) AS student_id, + (SELECT max(message_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_num, + (SELECT max(message_reply_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_reply_num, + (SELECT max(news_reply_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_reply_num, + (SELECT max(news_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_num, + (SELECT max(resource_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS resource_num, + (SELECT max(journal_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS journal_num, + (SELECT max(homework_journal_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS homework_journal_num, (SELECT COUNT(ss.id) FROM student_works AS ss ,homework_commons AS hc WHERE ss.homework_common_id = hc.id AND hc.course_id = #{@course.id} AND ss.work_status != 0 AND ss.user_id = members.user_id) AS homework_num, (SELECT COUNT(eu.id) FROM exercise_users AS eu,exercises WHERE eu.exercise_id = exercises.id AND exercises.course_id = #{@course.id} AND exercises.end_time >= eu.created_at AND eu.user_id = members.user_id) AS exercise_num FROM members @@ -1338,14 +1338,14 @@ class CoursesController < ApplicationController resource_num*5 + journal_num*1 + homework_journal_num*1 ) FROM `course_contributor_scores` AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id ) AS act_score,(SELECT SUM(exercise_users.score) FROM exercise_users,exercises WHERE exercise_users.exercise_id = exercises.id AND exercises.course_id = #{@course.id} AND exercise_users.user_id = members.user_id) AS ex_score, - (SELECT student_id FROM user_extensions WHERE user_extensions.user_id = members.user_id) AS student_id, - (SELECT message_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_num, - (SELECT message_reply_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_reply_num, - (SELECT news_reply_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_reply_num, - (SELECT news_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_num, - (SELECT resource_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS resource_num, - (SELECT journal_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS journal_num, - (SELECT homework_journal_num FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS homework_journal_num, + (SELECT max(student_id) FROM user_extensions WHERE user_extensions.user_id = members.user_id) AS student_id, + (SELECT max(message_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_num, + (SELECT max(message_reply_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_reply_num, + (SELECT max(news_reply_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_reply_num, + (SELECT max(news_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_num, + (SELECT max(resource_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS resource_num, + (SELECT max(journal_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS journal_num, + (SELECT max(homework_journal_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS homework_journal_num, (SELECT COUNT(ss.id) FROM student_works AS ss ,homework_commons AS hc WHERE ss.homework_common_id = hc.id AND hc.course_id = #{@course.id} AND ss.work_status != 0 AND ss.user_id = members.user_id) AS homework_num, (SELECT COUNT(eu.id) FROM exercise_users AS eu,exercises WHERE eu.exercise_id = exercises.id AND exercises.course_id = #{@course.id} AND exercises.end_time >= eu.created_at AND eu.user_id = members.user_id) AS exercise_num FROM members diff --git a/app/controllers/syllabus_member_controller.rb b/app/controllers/syllabus_member_controller.rb index ac686c0a2..b6da3290e 100644 --- a/app/controllers/syllabus_member_controller.rb +++ b/app/controllers/syllabus_member_controller.rb @@ -45,12 +45,12 @@ class SyllabusMemberController < ApplicationController member = SyllabusMember.find(params[:id]) @syllabus = member.syllabus members = @syllabus.syllabus_members - if params[:opr] == 'up' && member.rank > 2 + if params[:opr] == 'up' && member.rank > 1 before_mem = members.where("rank = #{member.rank - 1}").first if before_mem && member.update_attribute('rank', member.rank - 1) before_mem.update_attribute('rank', before_mem.rank + 1) end - elsif params[:opr] == 'down' && member.rank > 1 && member.rank < members.count + elsif params[:opr] == 'down' && member.rank < members.count after_mem = members.where("rank = #{member.rank + 1}").first if after_mem && member.update_attribute('rank', member.rank + 1) after_mem.update_attribute('rank', after_mem.rank - 1) diff --git a/app/controllers/syllabuses_controller.rb b/app/controllers/syllabuses_controller.rb index f0d1254bc..a6b11cfbf 100644 --- a/app/controllers/syllabuses_controller.rb +++ b/app/controllers/syllabuses_controller.rb @@ -33,6 +33,8 @@ class SyllabusesController < ApplicationController @syllabus.user_id = User.current.id @syllabus.description = Message.where("id = 19412").first.nil? ? '' : Message.where("id = 19412").first.content if @syllabus && @syllabus.save + member = SyllabusMember.create(:user_id => @syllabus.user_id, :rank => 1) + @syllabus.syllabus_members << member respond_to do |format| flash[:notice] = l(:notice_successful_create) format.html {redirect_to syllabus_path(@syllabus)} diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 5ab85e21d..78c60599a 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -3200,6 +3200,7 @@ class UsersController < ApplicationController ori = Attachment.find_by_id(send_id) # 如果该附件已经存课程中,则只更新附件创建时间 mul_container.attachments.each do |att| + @exist = false if att.id == ori.id || (!att.copy_from.nil? && !ori.copy_from.nil? && att.copy_from == ori.copy_from) || att.copy_from == ori.id || att.id == ori.copy_from att.created_on = Time.now att.save diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index ef606c0cb..27e90b356 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -3578,7 +3578,9 @@ def get_group_member_names work end def course_syllabus_option user = User.current - syllabuses = user.syllabuses + syllabus_members = SyllabusMember.where("user_id = #{user.id}") + syllabus_ids = syllabus_members.empty? ? "(-1)" : "(" + syllabus_members.map{|mem| mem.syllabus_id}.join(',') + ")" + syllabuses = Syllabus.where("id in #{syllabus_ids}") type = [] option1 = [] option1 << "请选择课程" diff --git a/app/models/user.rb b/app/models/user.rb index c1a830809..3386836ed 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -853,6 +853,13 @@ class User < Principal OrgMember.where("user_id =? and organization_id =?", self.id, org.id).count > 0 end + def member_of_syl?(syllabus) + if !self.logged? + return false + end + SyllabusMember.where("user_id =? and syllabus_id =?", self.id, syllabus.id).count > 0 + end + def admin_of_org?(org) if self.admin? return true diff --git a/app/views/admin/homework.html.erb b/app/views/admin/homework.html.erb index 03472d0a0..aaf21999d 100644 --- a/app/views/admin/homework.html.erb +++ b/app/views/admin/homework.html.erb @@ -38,11 +38,13 @@ <%=link_to(homework.try(:name), student_work_index_path(:homework => homework.id))%> - <% if homework.course %> - - <%= link_to(homework.course.name, course_path(homework.course.id)) %> + + + <% if homework.course %> + <%= link_to homework.course.name, course_path(homework.course.id) %> + <% end %> - <% end %> + <%= homework.try(:user)%><% else %><%=homework.try(:user).try(:realname) %><% end %>'> <% if homework.try(:user).try(:realname) == ' '%> <%= link_to(homework.try(:user), user_path(homework.user_id)) %> diff --git a/app/views/calendars/show.html.erb b/app/views/calendars/show.html.erb index 05ce3bcac..408a6f8e6 100644 --- a/app/views/calendars/show.html.erb +++ b/app/views/calendars/show.html.erb @@ -36,5 +36,5 @@ <% html_title(l(:label_calendar)) -%> diff --git a/app/views/courses/settings.html.erb b/app/views/courses/settings.html.erb index e523b347f..4c54e2289 100644 --- a/app/views/courses/settings.html.erb +++ b/app/views/courses/settings.html.erb @@ -32,8 +32,9 @@
  • - <%= select_tag :syllabus_id,options_for_select(course_syllabus_option,@course.syllabus_id), {:id=>"edit_syllabus_id", :class=>"syllabus_input", :style=>'width:210px'} %> - 如果列表中没有对应的课程,请您先<%=link_to '创建课程', new_syllabus_path(),:target => '_blank', :class => 'ml5 green_btn_share c_white'%>,然后【刷新】 + <%=@course.syllabus.title %> + <%#= select_tag :syllabus_id,options_for_select(course_syllabus_option,@course.syllabus_id), {:id=>"edit_syllabus_id", :class=>"syllabus_input", :style=>'width:210px'} %> +
  • diff --git a/app/views/gantts/show.html.erb b/app/views/gantts/show.html.erb index 759f8c232..d24971be2 100644 --- a/app/views/gantts/show.html.erb +++ b/app/views/gantts/show.html.erb @@ -319,5 +319,5 @@ <% end %> diff --git a/app/views/layouts/_logined_header.html.erb b/app/views/layouts/_logined_header.html.erb index f80977927..378741035 100644 --- a/app/views/layouts/_logined_header.html.erb +++ b/app/views/layouts/_logined_header.html.erb @@ -14,11 +14,12 @@
  • - - - + + <% else %> <% end %> diff --git a/app/views/layouts/base_projects.html.erb b/app/views/layouts/base_projects.html.erb index b0de79d7c..fced40737 100644 --- a/app/views/layouts/base_projects.html.erb +++ b/app/views/layouts/base_projects.html.erb @@ -89,7 +89,7 @@ -
    +
    <%= render_flash_messages %> <%= yield %> <%= call_hook :view_layouts_base_content %> diff --git a/app/views/layouts/base_users_new.html.erb b/app/views/layouts/base_users_new.html.erb index 976de8235..6f70353e3 100644 --- a/app/views/layouts/base_users_new.html.erb +++ b/app/views/layouts/base_users_new.html.erb @@ -146,13 +146,13 @@
    <% if @center_flag %> <% work = cur_user_works_for_homework activity %> -<% if activity.end_time < Date.today && !is_teacher && !work.nil? && work.user == User.current %> +<% if !is_teacher && !work.nil? && work.user == User.current && activity.end_time < Date.today %>
    <%=link_to "追加附件", student_work_index_url_in_org(activity.id, 2, 1), :class => 'c_blue', :title => "可追加作品修订附件" %>
    diff --git a/app/views/versions/index.html.erb b/app/views/versions/index.html.erb index 3a3740a23..ee940f342 100644 --- a/app/views/versions/index.html.erb +++ b/app/views/versions/index.html.erb @@ -74,5 +74,5 @@ <%= context_menu issues_context_menu_path %> diff --git a/app/views/wiki/edit.html.erb b/app/views/wiki/edit.html.erb index 83b1d18ae..a14cc01c1 100644 --- a/app/views/wiki/edit.html.erb +++ b/app/views/wiki/edit.html.erb @@ -68,5 +68,5 @@ <% html_title @page.pretty_title %> diff --git a/app/views/wiki/show.html.erb b/app/views/wiki/show.html.erb index 995c44924..bd9a0dc90 100644 --- a/app/views/wiki/show.html.erb +++ b/app/views/wiki/show.html.erb @@ -95,6 +95,6 @@ }); }; - $("#RSide").css("width","730px"); + $(".project_r_h").parent().css({"width":"730px","background-color":"#fff","padding":"10px","margin-left":"10px","margin-bottom":"10px"});
    \ No newline at end of file diff --git a/db/migrate/20161008015936_add_syllabus_members.rb b/db/migrate/20161008015936_add_syllabus_members.rb new file mode 100644 index 000000000..6c477cd51 --- /dev/null +++ b/db/migrate/20161008015936_add_syllabus_members.rb @@ -0,0 +1,13 @@ +class AddSyllabusMembers < ActiveRecord::Migration + def up + Syllabus.all.each do |syllabus| + if syllabus.syllabus_members.empty? + member = SyllabusMember.create(:user_id => syllabus.user_id, :rank => 1) + syllabus.syllabus_members << member + end + end + end + + def down + end +end diff --git a/public/stylesheets/css/project.css b/public/stylesheets/css/project.css index 3065caaf9..44b607b3b 100644 --- a/public/stylesheets/css/project.css +++ b/public/stylesheets/css/project.css @@ -564,7 +564,7 @@ a:hover.upload_btn_grey{background:#8a8a8a;} .sy_class_infobox{ padding:15px; background:#fff; - margin:12px auto 0; + margin:0px auto ; width:968px; border:1px solid #e5e5e5; position: relative;