diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb index 6b421bf2a..1efbc9c48 100644 --- a/app/controllers/comments_controller.rb +++ b/app/controllers/comments_controller.rb @@ -49,8 +49,11 @@ class CommentsController < ApplicationController # end # # ������ض�̬�ļ�¼add end flash[:notice] = l(:label_comment_added) + course_activity = CourseActivity.where("course_act_type='News' and course_act_id =#{@news.id}").first + course_activity.updated_at = Time.now + course_activity.save user_activity = UserActivity.where("act_type='News' and act_id =#{@news.id}").first - user_activity.updated_at = @comment.created_on + user_activity.updated_at = Time.now user_activity.save end diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index b30715a1f..e12d4886a 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -8,7 +8,7 @@ class CoursesController < ApplicationController helper :attachments helper :activity_notifys - before_filter :auth_login1, :only => [:show, :feedback] + before_filter :auth_login1, :only => [:show, :course_activity, :feedback] menu_item :overview menu_item :feedback, :only => :feedback menu_item :homework, :only => :homework @@ -610,11 +610,37 @@ class CoursesController < ApplicationController end end + def course_activity + redirect_to course_url(@course, type: params[:type], page: params[:page]) + end + def show - course_activities = @course.course_activities.order("created_at desc") + course_activities = @course.course_activities @canShowRealName = User.current.member_of_course? @course - @course_activities = paginateHelper course_activities,10 + @page = params[:page] ? params[:page].to_i + 1 : 0 + if params[:type].present? + case params[:type] + when "homework" + @course_activities = course_activities.where("course_act_type = 'HomeworkCommon'").order('updated_at desc').limit(10).offset(@page * 10) + when "news" + @course_activities = course_activities.where("course_act_type = 'News'").order('updated_at desc').limit(10).offset(@page * 10) + when "message" + @course_activities = course_activities.where("course_act_type = 'Message'").order('updated_at desc').limit(10).offset(@page * 10) + when "poll" + @course_activities = course_activities.where("course_act_type = 'Poll'").order('updated_at desc').limit(10).offset(@page * 10) + when "attachment" + @course_activities = course_activities.where("course_act_type = 'Attachment'").order('updated_at desc').limit(10).offset(@page * 10) + when "journalsForMessage" + @course_activities = course_activities.where("course_act_type = 'JournalsForMessage'").order('updated_at desc').limit(10).offset(@page * 10) + else + @course_activities = course_activities.order('updated_at desc').limit(10).offset(@page * 10) + end + else + @course_activities = course_activities.order('updated_at desc').limit(10).offset(@page * 10) + end + @type = params[:type] respond_to do |format| + format.js format.html{render :layout => 'base_courses'} format.api end diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index 00d814bd3..9e3a4b836 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -11,11 +11,16 @@ class HomeworkCommonController < ApplicationController before_filter :member_of_course, :only => [:index] def index - homeworks = @course.homework_commons.order("created_at desc") + @new_homework = HomeworkCommon.new + @new_homework.homework_detail_manual = HomeworkDetailManual.new + @new_homework.course = @course + @page = params[:page] ? params[:page].to_i + 1 : 0 + @homeworks = @course.homework_commons.order("created_at desc").limit(10).offset(@page * 10) @is_teacher = User.current.logged? && (User.current.admin? || User.current.allowed_to?(:as_teacher,@course)) @is_student = User.current.logged? && (User.current.admin? || (User.current.member_of_course?(@course) && !@is_teacher)) - @homeworks = paginateHelper homeworks,20 + @is_new = params[:is_new] respond_to do |format| + format.js format.html end end @@ -32,7 +37,7 @@ class HomeworkCommonController < ApplicationController def edit @user = User.current - @is_in_course = params[:is_in_course] + @is_in_course = params[:is_in_course].to_i respond_to do |format| format.html{render :layout => 'new_base_user'} end @@ -148,9 +153,9 @@ class HomeworkCommonController < ApplicationController # 开启/关闭匿评消息通知 def send_message_anonymous_comment(homework, m_status ) # status 标记匿评状态 1为关闭 0为开启 - course = @homework.course - course.student.each do |st| - @homework.course_messages << CourseMessage.new(:user_id => st.student_id, :course_id => course.id, :viewed => false, :status => m_status) + course = homework.course + course.members.each do |m| + @homework.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => course.id, :viewed => false, :status => m_status) end end #提示 diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index 2c7df84cf..c6ac8b906 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -162,6 +162,9 @@ class MessagesController < ApplicationController @reply.subject = "RE: #{@topic.subject}" unless params[:reply][:subject] # @reply.reply_id = params[:id] @topic.children << @reply + course_activity = CourseActivity.where("course_act_type='Message' and course_act_id =#{@topic.id}").first + course_activity.updated_at = Time.now + course_activity.save user_activity = UserActivity.where("act_type='Message' and act_id =#{@topic.id}").first user_activity.updated_at = Time.now user_activity.save diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 2d7bf02b1..d39d8fe3b 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -173,6 +173,12 @@ class StudentWorkController < ApplicationController end if student_work.save + course_activity = CourseActivity.where("course_act_type='HomeworkCommon' and course_act_id =#{@homework.id}").first + course_activity.updated_at = Time.now + course_activity.save + user_activity = UserActivity.where("act_type='HomeworkCommon' and act_id =#{@homework.id}").first + user_activity.updated_at = Time.now + user_activity.save respond_to do |format| format.html { flash[:notice] = l(:notice_successful_create) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 9a6f72e2e..4f3df3bd4 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -346,6 +346,7 @@ class UsersController < ApplicationController user_course_ids = @user.courses.empty? ? "(-1)" :"(" + @user.courses.visible.map{|course| course.id}.join(",") + ")" @homework_commons = HomeworkCommon.where("course_id in #{user_course_ids}").order("created_at desc").limit(10).offset(@page * 10) @is_teacher = User.current.user_extensions && User.current.user_extensions.identity == 0 && User.current.allowed_to?(:add_course, nil, :global => true) + @is_in_course = params[:is_in_course].to_i || 0 respond_to do |format| format.js format.html {render :layout => 'new_base_user'} @@ -508,7 +509,13 @@ class UsersController < ApplicationController if homework.save homework_detail_manual.save if homework_detail_manual homework_detail_programing.save if homework_detail_programing - redirect_to user_homeworks_user_path(User.current.id) + + if params[:is_in_course] == "1" + redirect_to homework_common_index_path(:course => homework.course_id) + else + redirect_to user_homeworks_user_path(User.current.id) + end + end end else diff --git a/app/controllers/words_controller.rb b/app/controllers/words_controller.rb index 77304c1b1..a0ce8d18e 100644 --- a/app/controllers/words_controller.rb +++ b/app/controllers/words_controller.rb @@ -53,7 +53,15 @@ class WordsController < ApplicationController :notes => content, :is_readed => false} @jfm = add_reply_adapter options - + @save_succ = true if @jfm.errors.empty? + if @save_succ + course_activity = CourseActivity.where("course_act_type='JournalsForMessage' and course_act_id =#{parent_id}").first + course_activity.updated_at = Time.now + course_activity.save + user_activity = UserActivity.where("act_type='JournalsForMessage' and act_id =#{parent_id}").first + user_activity.updated_at = Time.now + user_activity.save + end respond_to do |format| # format.html { # if @jfm.errors.empty? @@ -63,10 +71,12 @@ class WordsController < ApplicationController # end # render 'test/index' # } - format.js{ - @save_succ = true if @jfm.errors.empty? + format.js { + @user_activity_id = params[:user_activity_id] if + @activity = JournalsForMessage.find(parent_id) } end + end def destroy diff --git a/app/helpers/journals_helper.rb b/app/helpers/journals_helper.rb index 1a0b9ca0d..3591a0168 100644 --- a/app/helpers/journals_helper.rb +++ b/app/helpers/journals_helper.rb @@ -119,7 +119,7 @@ module JournalsHelper content << textAreailizable(journal, :notes) css_classes = "wiki" css_classes << " editable" if editable - content_tag('div', content.html_safe, :id => "journal-#{journal.id}-notes", :class => css_classes ,:style => "width:510px") + content_tag('div', content.html_safe, :id => "journal-#{journal.id}-notes", :class => css_classes) end def link_to_in_place_notes_editor(text, field_id, url, options={}) diff --git a/app/models/course_message.rb b/app/models/course_message.rb index eae880380..65e91141c 100644 --- a/app/models/course_message.rb +++ b/app/models/course_message.rb @@ -1,4 +1,7 @@ class CourseMessage < ActiveRecord::Base + # status说明: status在课程不同的类型,区分不同的功能 + # HomeworkCommon:status: + # nil:发布了作业; 1:作业截止时间到了提醒!;2:开启匿评; 3:关闭匿评; 4:匿评开始失败 attr_accessible :course_id, :course_message_id, :course_message_type, :user_id, :viewed, :content, :status # 多态 虚拟关联 diff --git a/app/models/forge_message.rb b/app/models/forge_message.rb index 0dce57598..8bf754719 100644 --- a/app/models/forge_message.rb +++ b/app/models/forge_message.rb @@ -1,14 +1,7 @@ class ForgeMessage < ActiveRecord::Base - # 公共表中活动类型,命名规则:TYPE_OF_{类名}_ACT - TYPE_OF_ISSUE_ACT = "Issue" - TYPE_OF_MESSAGE_ACT = "Message" - TYPE_OF_ATTACHMENT_ACT = "Attachment" - TYPE_OF_DOCUMENT_ACT = "Document" - TYPE_OF_JOURNAL_ACT = "Journal" - TYPE_OF_WIKI_ACT = "Wiki" - TYPE_OF_NEWS_ACT = "News" - - attr_accessible :forge_message_id, :forge_message_type, :project_id, :user_id, :viewed, :secret_key + # status在不同的类中,作用不同 + # Isseu: satus nil:发布了缺陷;:1:缺陷计划完成日志到了提醒 + attr_accessible :forge_message_id, :forge_message_type, :project_id, :user_id, :viewed, :secret_key, :status belongs_to :forge_message ,:polymorphic => true belongs_to :project diff --git a/app/models/journals_for_message.rb b/app/models/journals_for_message.rb index 81ada2f80..dde34abfd 100644 --- a/app/models/journals_for_message.rb +++ b/app/models/journals_for_message.rb @@ -185,7 +185,7 @@ class JournalsForMessage < ActiveRecord::Base #课程动态公共表记录 def act_as_course_activity - if self.jour_type == 'Course' + if self.jour_type == 'Course' && self.m_parent_id.nil? self.course_acts << CourseActivity.new(:user_id => self.user_id,:course_id => self.jour_id) end end diff --git a/app/models/mailer.rb b/app/models/mailer.rb index b820e6d54..52b7242dd 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -51,9 +51,9 @@ class Mailer < ActionMailer::Base def send_mail_anonymous_comment_open(homework_common) course = homework_common.course recipients ||= [] - course.student.each do |student| - user = User.find(student.student_id) - @subject = "#{l(:mail_homework)}#{homework_common.name} #{l(:mail_anonymous_comment_open)}" + course.members.each do |member| + user = User.find(member.user_id) + # @subject = "#{l(:mail_homework)}#{homework_common.name} #{l(:mail_anonymous_comment_open)}" @token = Token.get_token_from_user(user, 'autologin') @anonymous_comment_close_url = url_for(student_work_index_url(:homework => homework_common.id, :token => @token.value)) @anonymous_comment_close_name = homework_common.name @@ -62,16 +62,16 @@ class Mailer < ActionMailer::Base recipients << user.mail end mail :to => recipients, - :subject => @subject + :subject => "[#{l(:mail_homework)}#{homework_common.name}] #{l(:mail_anonymous_comment_open)}" end # 作业匿评关闭 def send_mail_anonymous_comment_close(homework_common) course = homework_common.course recipients ||= [] - course.student.each do |student| - user = User.find(student.student_id) - @subject = "#{l(:mail_homework)}#{homework_common.name} #{l(:mail_anonymous_comment_open)}" + course.members.each do |member| + user = User.find(member.user_id) + #@subject = "#{l(:mail_homework)}#{homework_common.name} #{l(:mail_anonymous_comment_open)}" @token = Token.get_token_from_user(user, 'autologin') @anonymous_comment_close_url = url_for(student_work_index_url(:homework => homework_common.id, :token => @token.value)) @anonymous_comment_close_name = homework_common.name @@ -80,7 +80,28 @@ class Mailer < ActionMailer::Base recipients << user.mail end mail :to => recipients, - :subject => @subject + :subject => "[#{l(:mail_homework)}#{homework_common.name}] #{l(:mail_anonymous_comment_open)}" + end + + # 匿评失败给老师发送邮件通知 + def send_mail_anonymous_comment_fail(homework_common) + course = homework_common.course + recipients ||= [] + # 只给该课程的老师发送邮件提醒 + course.members.each do |member| + if m.user.allowed_to?(:as_teacher,course) + user = User.find(member.user_id) + #@subject = "[#{l(:mail_homework)} #{homework_common.name}] #{l(:mail_anonymous_comment_failed)}" + @token = Token.get_token_from_user(user, 'autologin') + @anonymous_comment_fail_url = url_for(student_work_index_url(:homework => homework_common.id, :token => @token.value)) + @anonymous_comment_fail_name = homework_common.name + @author = homework_common.user + #收件人邮箱 + recipients << user.mail + end + end + mail :to => recipients, + :subject => "[#{l(:mail_homework)} #{homework_common.name}] #{l(:mail_anonymous_comment_failed)}" end # author: alan @@ -247,6 +268,7 @@ class Mailer < ActionMailer::Base has_content = [@issues,@issues_journals,@course_messages,@project_messages,@course_news,@course_news_comments,@project_news,@project_news_comments,@project_attachments, @course_journal_messages,@user_journal_messages,@project_journal_messages,@forums,@memos,@attachments,@bids,@wiki_contents].any? {|o| !o.empty?} + mylogger.debug "Sent activity mail : #{user.mail} - #{has_content}" #有内容才发,没有不发 mail :to => user.mail,:subject => subject if has_content @@ -263,7 +285,7 @@ class Mailer < ActionMailer::Base #收件人邮箱 recipient = user.mail mail :to => recipient, - :subject => "#{l(:mail_homework)}#{homework_common.name}#{l(:mail_homework_endtime)} " + :subject => @subject end # 公共讨论区发帖、回帖添加邮件发送信息 diff --git a/app/models/message.rb b/app/models/message.rb index 2c46857f8..7af59815b 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -194,7 +194,7 @@ class Message < ActiveRecord::Base #课程动态公共表记录 def act_as_course_activity - if self.course + if self.course && self.parent_id.nil? self.course_acts << CourseActivity.new(:user_id => self.author_id,:course_id => self.board.course_id) end end diff --git a/app/views/courses/_course_activity.html.erb b/app/views/courses/_course_activity.html.erb new file mode 100644 index 000000000..1a033b372 --- /dev/null +++ b/app/views/courses/_course_activity.html.erb @@ -0,0 +1,108 @@ +<%= javascript_include_tag "/assets/kindeditor/kindeditor", '/assets/kindeditor/pasteimg', "init_activity_KindEditor" %> + +<% course_activities.each do |activity| if course_activities %> + + <% if activity %> + <% act = activity.course_act %> + <% case activity.course_act_type.to_s %> + <% when 'HomeworkCommon' %> + <%= render :partial => 'users/course_homework', :locals => {:activity => act, :user_activity_id => activity.id} %> + <% when 'News' %> + <%= render :partial => 'users/course_news', :locals => {:activity => act, :user_activity_id => activity.id} %> + <% when 'Message' %> + <%= render :partial => 'users/course_message', :locals => {:activity => act, :user_activity_id => activity.id} %> + <% when 'Poll' %> + <%= render :partial => 'users/course_poll', :locals => {:activity => act, :user_activity_id => activity.id} %> + <% when 'JournalsForMessage' %> + <%= render :partial => 'users/course_journalsformessage', :locals => {:activity => act, :user_activity_id => activity.id} %> + <% when 'Attachment' %> + <%= render :partial => 'users/course_attachment', :locals => {:activity => act, :user_activity_id => activity.id} %> + <% when 'Course' %> + <%= render :partial => 'users/course_create', :locals => {:activity => act, :user_activity_id => activity.id} %> + <% end %> + <% end %> + <% end %> +<% end %> + +<% if course_activities.count == 10 %> +
展开更多<%= link_to "", course_activity_path(@course.id, :type => type, :page => page), :id => "more_course_activities_link", :remote => "true", :class => "none" %>
+<% end %> + + \ No newline at end of file diff --git a/app/views/courses/show.html.erb b/app/views/courses/show.html.erb index eceb29f34..bb8bb546a 100644 --- a/app/views/courses/show.html.erb +++ b/app/views/courses/show.html.erb @@ -1,83 +1,31 @@ -
-

<%= l(:label_activity)%>

-
- -<%@course_activities.each do |activity|%> -
- - <%= image_tag(url_to_avatar(activity.user), :width => "42", :height => "42") %> - -
- <%= link_to_user_header(activity.user,false,:class => 'problem_name c_orange fl') %> -   - <%= activity.course_act_type == "Course" ? "创建了课程" : l(:label_new_activity) %>: - <%#= link_to "#{eventToLanguageCourse(e.event_type, @course)} "<< format_activity_title(e.event_title), link, - :class => "problem_tit c_dblue fl fb",'data-type'=>e.event_type, - 'data-notify-id'=>(e.respond_to?('get_notify_id') ? e.get_notify_id : ''),:nhname=>"nh_act_link", - 'data-href'=>(course_activity_notifys_path(@course)+"/chang_read_flag?an_id="+(e.respond_to?('get_notify_id') ? e.get_notify_id : '').to_s)%> - <%#if @controller_name=='ActivityNotifys' && e.get_notify_is_read!=1%> - - <%#end%> - <%= link_to course_activity_link activity%> -
-

- <%= course_activity_desc activity%> -
-

- <%= activity.course_act_type == "Course" ? l(:label_create_time) : l(:label_activity_time) %> : <%= format_time(activity.created_at) %> -

- <%= link_to_attachments_course(activity.course_act) if activity.course_act_type.to_s == "News" %> -
-
-
-<% end%> - - -
- + + +
+
+
课程动态
+ +
+ <%= render :partial => 'courses/course_activity', :locals => {:course_activities => @course_activities,:page => 0,:type => @type} %> +
\ No newline at end of file diff --git a/app/views/courses/show.js.erb b/app/views/courses/show.js.erb new file mode 100644 index 000000000..3f82dcf3a --- /dev/null +++ b/app/views/courses/show.js.erb @@ -0,0 +1 @@ +$("#show_more_course_activities").replaceWith("<%= escape_javascript( render :partial => 'courses/course_activity',:locals => {:course_activities => @course_activities, :page => @page,:type => @type} )%>"); diff --git a/app/views/courses/show_old.html.erb b/app/views/courses/show_old.html.erb new file mode 100644 index 000000000..608d41f9d --- /dev/null +++ b/app/views/courses/show_old.html.erb @@ -0,0 +1,83 @@ +
+

<%= l(:label_activity)%>

+
+ +<%@course_activities.each do |activity|%> +
+ + <%= image_tag(url_to_avatar(activity.user), :width => "42", :height => "42") %> + +
+ <%= link_to_user_header(activity.user,false,:class => 'problem_name c_orange fl') %> +   + <%= activity.course_act_type == "Course" ? "创建了课程" : l(:label_new_activity) %>: + <%#= link_to "#{eventToLanguageCourse(e.event_type, @course)} "<< format_activity_title(e.event_title), link, + :class => "problem_tit c_dblue fl fb",'data-type'=>e.event_type, + 'data-notify-id'=>(e.respond_to?('get_notify_id') ? e.get_notify_id : ''),:nhname=>"nh_act_link", + 'data-href'=>(course_activity_notifys_path(@course)+"/chang_read_flag?an_id="+(e.respond_to?('get_notify_id') ? e.get_notify_id : '').to_s)%> + <%#if @controller_name=='ActivityNotifys' && e.get_notify_is_read!=1%> + + <%#end%> + <%= link_to course_activity_link activity%> +
+

+ <%= course_activity_desc activity%> +
+

+ <%= activity.course_act_type == "Course" ? l(:label_create_time) : l(:label_activity_time) %> : <%= format_time(activity.created_at) %> +

+ <%= link_to_attachments_course(activity.course_act) if activity.course_act_type.to_s == "News" %> +
+
+
+<% end%> + + +
+ + diff --git a/app/views/forums/_forum_list.html.erb b/app/views/forums/_forum_list.html.erb index 286219356..7934a80fe 100644 --- a/app/views/forums/_forum_list.html.erb +++ b/app/views/forums/_forum_list.html.erb @@ -2,15 +2,15 @@ <% if forums.any? %> <% forums.each do |forum| %>
-
+
<%= link_to image_tag(url_to_avatar(forum.creator),:width=>75,:height => 75 ),user_path( forum.creator) %>
- - <%= link_to forum.name, forum_path(forum),:class=>"f16 linkBlue" %> + <%=forum.name.gsub(/(\r\n)/,'
').html_safe %>
+ <%#= link_to forum.name.gsub(/(\r\n|\s+)/,'
'), forum_path(forum),:class=>"f16 linkBlue" %>
-
<%= textAreailizable forum.description%>
+
<%= textAreailizable forum.description%>
diff --git a/app/views/forums/show.html.erb b/app/views/forums/show.html.erb index 48ac057a0..714d364a4 100644 --- a/app/views/forums/show.html.erb +++ b/app/views/forums/show.html.erb @@ -1,4 +1,4 @@ -<%= javascript_include_tag 'new_user' %> +<%= javascript_include_tag 'new_user','/assets/kindeditor/pasteimg','/assets/kindeditor/kindeditor' %> @@ -99,11 +103,7 @@
- - + <%= kindeditor_tag 'memo[content]','',:height=>300,:editor_id=>'memo_content'%>
diff --git a/app/views/homework_common/index.html.erb b/app/views/homework_common/index.html.erb index 8799bcab9..0c3dd6d8e 100644 --- a/app/views/homework_common/index.html.erb +++ b/app/views/homework_common/index.html.erb @@ -1,129 +1,55 @@ -
-

- <%= l(:label_homework)%> -

-
-
-

- <%= l(:label_totle)%> - <%= @obj_count%> - <%= l(:label_homework_count)%> -

- <%#= link_to( l(:label_course_homework_new), new_homework_common_path(:course => @course.id), :class => 'problem_new_btn fl c_dorange') if @is_teacher %> -
-
-<% @homeworks.each do |homework|%> -
- <%= link_to(image_tag(url_to_avatar(homework.user), :width => "42", :height => "42"), user_path(homework.user), :class => "problem_pic fl") %> -
- <%= link_to(homework.user.lastname+homework.user.firstname, user_path(homework.user),:class => 'problem_name fl',:target => "_blank") %> - <%= l(:label_user_create_project_homework) %>: - <%= link_to(homework.name, student_work_index_path(:homework => homework.id), :class => 'problem_tit fl fb c_dblue',:target => "_blank") %> -
-

- <%= l(:lebel_homework_commit)%> - ( <%= link_to homework.student_works.count, student_work_index_path(:homework => homework.id), :class => 'c_red'%> ) -

- <% if @is_teacher%> - <%= link_to(l(:label_bid_respond_delete), homework_common_path(homework,:is_in_course => 1),:method => 'delete', :confirm => l(:text_are_you_sure), :class => "fr mr10 work_edit") %> - <%= link_to(l(:button_edit),edit_homework_common_path(homework,:is_in_course => 1), :class => "fr mr10 work_edit ml10") %> - <%= homework_anonymous_comment(homework)%> - <% elsif @is_student%> - <%= student_anonymous_comment homework %> - <%= student_new_homework homework %> - <% end %> -
- -
-
- <%= homework.description.html_safe %> -
-
-
+ + -
- 开发语言: -
- <%= homework.language_name%> -
-
-
- <% end%> +
+
+
作业
+
+
- <% unless homework.attachments.empty?%> -
- 附件: -
- <%= render :partial => 'student_work/work_attachments', :locals => {:attachments => homework.attachments} %> -
+ <% if @is_teacher%> + +
+ <%= labelled_form_for @new_homework,:url => user_new_homework_users_path,:method => "post" do |f| %> +
+ <%= render :partial => 'users/user_homework_form', :locals => { :homework => @new_homework,:f => f,:edit_mode => false,:select_course => false } %> +
-
<% end%> +
+ <% end%> - - - <%= l(:label_end_time)%>:<%= homework.end_time%> - <% if betweentime(homework.end_time) < 0 %> - - <%= l(:label_commit_limit)%> - - <% else %> - -
-
- <% end %> -
-
-
-<% end%> + <%= render :partial => 'users/user_homework_list', :locals => {:homework_commons => @homeworks,:page => 0,:is_in_course => 1,:course_id => @course.id} %> +
+
-
    - <%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%> -
-
\ No newline at end of file diff --git a/app/views/homework_common/index.js.erb b/app/views/homework_common/index.js.erb new file mode 100644 index 000000000..7a038eb5c --- /dev/null +++ b/app/views/homework_common/index.js.erb @@ -0,0 +1 @@ +$("#user_show_more_homework").replaceWith("<%= escape_javascript( render :partial => 'users/user_homework_list',:locals => {:homework_commons => @homeworks, :page => @page, :is_in_course => 1,:course_id => @course.id} )%>"); \ No newline at end of file diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb index fe0b5ef84..4dd5b0b27 100644 --- a/app/views/layouts/base_courses.html.erb +++ b/app/views/layouts/base_courses.html.erb @@ -17,7 +17,7 @@ <%= javascript_heads %> <%= heads_for_theme %> <%= call_hook :view_layouts_base_html_head %> - <%= stylesheet_link_tag 'public', 'leftside', 'jquery/jquery-ui-1.9.2','prettify', 'courses','header'%> + <%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2','public', 'leftside','prettify', 'courses','header'%> <%= javascript_include_tag "course","header","attachments",'prettify' %> <%= yield :header_tags -%> @@ -93,7 +93,7 @@
-
<%= @forum.name%>
+
<%= @forum.name%>
-
<%= @forum.description%> +
<%= @forum.description.html_safe%> <%if @forum.creator.id == User.current.id%> - <%= image_tag('signature_edit.png',{:width=>12,:height=>12})%> <%end%> diff --git a/app/views/layouts/base_users_new.html.erb b/app/views/layouts/base_users_new.html.erb index 807fb2caa..9f77b248d 100644 --- a/app/views/layouts/base_users_new.html.erb +++ b/app/views/layouts/base_users_new.html.erb @@ -14,7 +14,7 @@ <%= csrf_meta_tag %> <%= favicon %> -<%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2', 'public_new', 'leftside_new',prettify,'users', :media => 'all' %> +<%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2', 'public_new', 'leftside_new','prettify','users', :media => 'all' %> <%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %> <%= javascript_heads %> <%= javascript_include_tag "avatars",'prettify'%> diff --git a/app/views/layouts/new_base_user.html.erb b/app/views/layouts/new_base_user.html.erb index b86838c0b..7583eb4a4 100644 --- a/app/views/layouts/new_base_user.html.erb +++ b/app/views/layouts/new_base_user.html.erb @@ -25,7 +25,7 @@ <%= render :partial => 'layouts/unlogin_header' %> <% end%>
- +
diff --git a/app/views/mailer/send_for_user_activities.html.erb b/app/views/mailer/send_for_user_activities.html.erb index 6fc742c99..3f761fbd4 100644 --- a/app/views/mailer/send_for_user_activities.html.erb +++ b/app/views/mailer/send_for_user_activities.html.erb @@ -7,7 +7,7 @@

<%= l(:label_course_overview)%>

- <% unless @course_news.first.nil? || @course_news_comments.first.nil? %> + <% if !@course_news.first.nil? || !@course_news_comments.first.nil? %>
    <%= l(:label_course_news) %> @@ -190,7 +190,7 @@ @project_attachments.first %>

    <%= l(:label_project_overview_new)%>

    - <% unless @issues.first.nil? || @issues_journals.first.nil? %> + <% if !@issues.first.nil? || !@issues_journals.first.nil? %>
      <%= l(:label_issue_tracking) %> @@ -302,7 +302,7 @@ <% end %> - <% unless @project_news.first.nil? || @project_news_comments.first.nil? %> + <% if !@project_news.first.nil? || !@project_news_comments.first.nil? %>
        <%= l(:label_project_news) %> diff --git a/app/views/mailer/send_mail_anonymous_comment_close.text.erb b/app/views/mailer/send_mail_anonymous_comment_close.text.erb index e69de29bb..8ba50ff53 100644 --- a/app/views/mailer/send_mail_anonymous_comment_close.text.erb +++ b/app/views/mailer/send_mail_anonymous_comment_close.text.erb @@ -0,0 +1,3 @@ +<%= l(:mail_issue_content)%> +<%=link_to @author, user_url(@author) %> +<%=link_to @anonymous_comment_close_name, @anonymous_comment_close_url%> diff --git a/app/views/mailer/send_mail_anonymous_comment_fail.html.erb b/app/views/mailer/send_mail_anonymous_comment_fail.html.erb new file mode 100644 index 000000000..60f86ba18 --- /dev/null +++ b/app/views/mailer/send_mail_anonymous_comment_fail.html.erb @@ -0,0 +1,10 @@ +
        +
          +
        • <%= l(:mail_issue_content)%> + +

          <%=link_to @author, user_url(@author) %> 发布的作业:<%=link_to @anonymous_comment_fail_name, @anonymous_comment_fail_url%> 匿评开启失败!

          +
          +
        • +
        +
        +
        \ No newline at end of file diff --git a/app/views/mailer/send_mail_anonymous_comment_fail.text.erb b/app/views/mailer/send_mail_anonymous_comment_fail.text.erb new file mode 100644 index 000000000..e69de29bb diff --git a/app/views/memos/_attachments_links.html.erb b/app/views/memos/_attachments_links.html.erb index 15473e6e7..ca0f41d16 100644 --- a/app/views/memos/_attachments_links.html.erb +++ b/app/views/memos/_attachments_links.html.erb @@ -1,4 +1,4 @@ -
        +
        <% for attachment in attachments %> @@ -20,43 +20,13 @@
        <% else %> - <%= link_to_short_attachment attachment, :class => 'fl FilesName02', :download => true, :length => 32 -%> + <%= link_to_short_attachment attachment, :class => 'fl FilesName02', :download => true, :length => 45 -%> (<%= number_to_human_size attachment.filesize , :precision => 0 %>) <% if options[:deletable] %> - <%#= link_to image_tag('delete.png'), attachment_path(attachment), - :data => {:confirm => l(:text_are_you_sure)}, - :method => :delete, - :class => 'delete', - #:remote => true, - #:id => "attachments_" + attachment.id.to_s, - :title => l(:button_delete) %> <% end %>
        <% end %> - - <%# if attachment.is_text? %> - <%#= link_to image_tag('magnifier.png'), - :controller => 'attachments', - :action => 'show', - :id => attachment, - :filename => attachment.filename%> - <%# end %> - - - - - - - - - - - <%#= link_to h(truncate(attachment.author.name, length: 10, omission: '...')),user_path(attachment.author) %> - - - - <% end %> <% if defined?(thumbnails) && thumbnails %> <% images = attachments.select(&:thumbnailable?) %> diff --git a/app/views/memos/edit.html.erb b/app/views/memos/edit.html.erb index 310cdb6ad..1ac86cf55 100644 --- a/app/views/memos/edit.html.erb +++ b/app/views/memos/edit.html.erb @@ -1,21 +1,24 @@ -<%= javascript_include_tag 'new_user'%> +<%= javascript_include_tag 'new_user','/assets/kindeditor/pasteimg','/assets/kindeditor/kindeditor'%> @@ -35,11 +38,7 @@
        - - + <%= kindeditor_tag 'memo[content]',@memo.content,:height=>300,:editor_id=>'memo_content'%>
        diff --git a/app/views/memos/show.html.erb b/app/views/memos/show.html.erb index 133a90547..ceb2b8cb1 100644 --- a/app/views/memos/show.html.erb +++ b/app/views/memos/show.html.erb @@ -30,6 +30,14 @@ $(function() { init_activity_KindEditor_data(<%= @memo.id%>,null,"87%"); }); + + function del_confirm(){ + if(confirm('确认删除么?')){ + $("#del_link").click(); + }else{ + + } + }
        @@ -43,24 +51,25 @@
    <%end%> - +
    <%= format_date( @memo.created_at)%>
    <%= render :partial => "memos/praise_tread",:locals => {:obj => @memo,:show_flag => true,:user_id =>User.current.id,:horizontal => true}%>
    -
    +
    <%= @memo.content.html_safe%>
    -
    +
    <% if @memo.attachments.any?%> <% options = {:author => true, :deletable => @memo.deleted_attach_able_by?(User.current) } %> <%= render :partial => 'attachments_links', :locals => {:attachments => @memo.attachments, :options => options, :is_float => true} %> diff --git a/app/views/repositories/show.html.erb b/app/views/repositories/show.html.erb index 5f279f2c2..242b87a74 100644 --- a/app/views/repositories/show.html.erb +++ b/app/views/repositories/show.html.erb @@ -29,79 +29,6 @@

    - -
    -
    -
    -

    git 克隆和提交的用户名和密码为登录用户名和密码

    -

    项目代码请设置好正确的编码方式(utf-8),否则中文会出现乱码。

    -

    通过cmd命令提示符进入代码对应文件夹的根目录, - 如果是首次提交代码,执行如下命令:

    -
    -
    -

    git init

    - -

    git add *

    - -

    git commit -m "first commit"

    - -

    git remote add origin - <%= @repos_url %> -

    - -

    git config http.postBuffer 524288000 #设置本地post缓存为500MB

    - -

    git push -u origin master

    -
    - -
    -

    已经有本地库,还没有配置远程地址,打开命令行执行如下:

    -
    -
    -

    git remote add origin <%= @repos_url %>

    - -

    git add .

    - -

    git commit -m "first commit"

    - -

    git config http.postBuffer 524288000 #设置本地post缓存为500MB

    - -

    git push -u origin master

    -
    - -
    -

    已有远程地址,创建一个远程分支,并切换到该分支,打开命令行执行如下:

    -
    -
    -

    git clone <%= @repos_url %>

    - -

    git push

    - -

    git checkout -b branch_name

    - -

    git push origin branch_name

    -
    - -
    -

    从网上获取别人的开源版本库,转交到trustie网站上,打开命令行执行如下:

    -
    -
    -

    git remote add trustie - <%= @repos_url %> -

    - -

    git add .

    - -

    git commit -m "first commit"

    - -

    git config http.postBuffer 524288000 #设置本地post缓存为500MB

    - -

    git push -u trustie branch:branch

    - -

    李海提供

    -
    -
    - <% if !@entries.nil? && authorize_for('repositories', 'browse') %> <%= render :partial => 'dir_list' %> <% end %> diff --git a/app/views/users/_course_attachment.html.erb b/app/views/users/_course_attachment.html.erb index 41961f05b..386e6d177 100644 --- a/app/views/users/_course_attachment.html.erb +++ b/app/views/users/_course_attachment.html.erb @@ -1,28 +1,29 @@
    -
    +
    - <%= link_to image_tag(url_to_avatar(activity.author), :width => "50", :height => "50"), user_path(activity.author_id), :alt => "用户头像" %>
    -
    +
    <% if activity.try(:author).try(:realname) == ' ' %> <%= link_to activity.try(:author), user_path(activity.author_id), :class => "newsBlue mr15" %> <% else %> <%= link_to activity.try(:author).try(:realname), user_path(activity.author_id), :class => "newsBlue mr15" %> <% end %> - TO - <%= link_to activity.course.name.to_s+"(课程名称)", course_path(activity.container_id), :class => "newsBlue ml15", :style=>"word-break:break-all" %> - + TO + <%= link_to activity.course.name.to_s+" | 课程资源", course_files_path(activity.course), :class => "newsBlue ml15" %>
    -
    - <%=activity.filename.to_s(附件名称)%> +
    + <%= link_to activity.filename, course_files_path(activity.course), :class => "postGrey" %>
    -
    时间:<%= format_date(activity.created_on) %>
    +
    + 文件大小: + <%= number_to_human_size activity.filesize%> +
    +
    上传时间:<%= format_time(activity.created_on) %>
    -
    (附件描述)<%=activity.description.to_s%>
    -
-
-<% if @message_alls.count >0 || @user_system_messages.count >0 %> - <% if params[:type].nil? || params[:type] == "unviewed" %> -
- 有 <%= unviewed_message(@user) %> 条未读 - <% unless (unviewed_message(@user) == 0 || User.current != @user) %> - <%= link_to "全部设为已读", user_message_path(User.current, :viewed => 'all') %> - <% end %> -
- <% end %> - <%# 系统消息 %> - <% if params[:type] != 'system_messages' %> - <% @user_system_messages.each do |usm| %> -
    -
  • - -
  • -
  • - Trustie平台发布新消息: -
  • - 【系统消息】
  • -
  • - - <%= link_to usm.subject.blank? ? (usm.content.nil? ? usm.description.html_safe : usm.content.html_safe) : usm.subject, user_system_messages_path(User.current), - :id => "content_link_#{usm.id}", - :onmouseover =>"message_titile_show($(this),event);", - :onmouseout => "message_titile_hide($(this));" - %> -
  • - -
  • <%= time_tag(usm.created_at).html_safe %>
  • -
+
+ <% if @message_alls.count >0 || @user_system_messages.count >0 %> + <% if params[:type].nil? || params[:type] == "unviewed" %> +
+ 有 <%= unviewed_message(@user) %> 条未读 + <% unless (unviewed_message(@user) == 0 || User.current != @user) %> + <%= link_to "全部设为已读", user_message_path(User.current, :viewed => 'all') %> + <% end %> +
<% end %> - <% end %> - - <% unless @message_alls.nil? %> - <% @message_alls.each do |ma| %> - <%# 课程消息 %> - <% if ma.class == CourseMessage %> - <% if ma.course_message_type == "News" %> -
    -
  • <%=link_to image_tag(url_to_avatar(ma.course_message.author), :width => "30", :height => "30"),user_path(ma.course_message.author) %>
  • -
  • <%=link_to ma.course_message.author, user_path(ma.course_message.author), :class => "newsBlue homepageNewsPublisher" %>">发布了通知:
  • -
  • - <%= link_to ma.course_message.title, {:controller => 'news', :action => 'show', :id => ma.course_message.id }, - :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", - :onmouseover =>"message_titile_show($(this),event)", - :onmouseout => "message_titile_hide($(this))" %>
  • - -
  • <%= time_tag(ma.created_at).html_safe %>
  • -
- <% end %> - <% if ma.course_message_type == "Comment" %> -
    -
  • <%=link_to image_tag(url_to_avatar(ma.course_message.author), :width => "30", :height => "30"), user_path(ma.course_message.author) %>
  • -
  • <%=link_to ma.course_message.author, user_path(ma.course_message.author), :class => "newsBlue homepageNewsPublisher" %>">评论了通知:
  • -
  • - <%= link_to ma.course_message.comments.html_safe, {:controller => 'news', :action => 'show', :id => ma.course_message.commented.id }, - :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", - :onmouseover =>"message_titile_show($(this),event)", - :onmouseout => "message_titile_hide($(this))" %>
  • - -
  • <%= time_tag(ma.created_at).html_safe %>
  • -
- <% end %> - <% if ma.course_message_type == "HomeworkCommon" && ma.status.nil? %> -
    -
  • <%=link_to image_tag(url_to_avatar(ma.course_message.user), :width => "30", :height => "30"), user_path(ma.course_message.user) %>
  • -
  • <%=link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "老师", user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher" %> - ">发布了课程作业: -
  • -
  • - <%= link_to ma.course_message.name, student_work_index_path(:homework => ma.course_message.id), - :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", - :onmouseover =>"message_titile_show($(this),event)", - :onmouseout => "message_titile_hide($(this))" %>
  • - -
  • <%= time_tag(ma.created_at).html_safe %>
  • -
- <% end %> - <% if ma.course_message_type == "HomeworkCommon" && ma.status == 1 %> -
    -
  • <%=link_to image_tag(url_to_avatar(ma.course_message.user), :width => "30", :height => "30"), user_path(ma.course_message.user) %>
  • -
  • <%=link_to ma.course_message.user, user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher" %>">发布的作业:
  • -
  • - <%= link_to ma.course_message.name, student_work_index_path(:homework => ma.course_message.id), - :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", - :onmouseover => "message_titile_show($(this),event)", - :onmouseout => "message_titile_hide($(this))" %> -
  • - -
  •    截止时间快到了!
  • -
  • <%= time_tag(ma.created_at).html_safe %>
  • -
- <% end %> - - <% if ma.course_message_type == "HomeworkCommon" && ma.status == 2 %> -
    -
  • - <%= link_to image_tag(url_to_avatar(ma.course_message.user), :width => "30", :height => "30"), user_path(ma.course_message.user) %> -
  • -
  • - <%= link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "老师", - user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher" %> - ">启动了作业匿评: -
  • -
  • - <%= link_to "作业题目:" + ma.course_message.name, student_work_index_path(:homework => ma.course_message.id), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", - :onmouseover => "message_titile_show($(this),event)", - :onmouseout => "message_titile_hide($(this))" %> -
  • - -
  • <%= time_tag(ma.created_at).html_safe %>
  • -
- <% end %> - - <% if ma.course_message_type == "HomeworkCommon" && ma.status == 3 %> -
    -
  • <%=link_to image_tag(url_to_avatar(ma.course_message.user), :width => "30", :height => "30"), user_path(ma.course_message.user) %>
  • -
  • - <%=link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "老师", - user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher" %>">关闭了作业匿评:
  • -
  • - <%= link_to "作业题目:" + ma.course_message.name, student_work_index_path(:homework => ma.course_message.id), :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", - :onmouseover =>"message_titile_show($(this),event)", - :onmouseout => "message_titile_hide($(this))"%> -
  • - -
  • <%= time_tag(ma.created_at).html_safe %>
  • -
- <% end %> + + <%= render :partial => 'users/user_message_forge', :locals => {:ma => ma} %> - <% if ma.course_message_type == "HomeworkCommon" && ma.status == 4 %> -
    -
  • - <%= link_to image_tag(url_to_avatar(ma.course_message.user), :width => "30", :height => "30"), user_path(ma.course_message.user) %> -
  • -
  • - <%= link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "老师", - user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher" %> - ">启动作业匿评失败 -
  • -
  • - <%= link_to "作业题目:" + ma.course_message.name, student_work_index_path(:homework => ma.course_message.id), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", - :onmouseover => "message_titile_show($(this),event)", - :onmouseout => "message_titile_hide($(this))" %> -
  • - -
  • <%= time_tag(ma.created_at).html_safe %>
  • -
- <% end %> + + <%= render :partial => 'users/user_message_forum', :locals => {:ma => ma} %> - <% if ma.course_message_type == "Poll" %> - - <% end %> - <% if ma.course_message_type == "Message" %> - - <% end %> - <% if ma.course_message_type == "StudentWorksScore" %> - - <% end %> - <% if ma.course_message_type == "JournalsForMessage" %> - <% if ma.course_message.jour_type == 'Course' %> - <% if params[:type] != 'homework' %> - - <% end %> - <% else %> - - <% end %> - <% end %> - <% end %> - - <% if ma.class == ForgeMessage %> - - <% if ma.forge_message_type == "AppliedProject" %> - - <% end %> - - <% if ma.forge_message_type == "ProjectInvite" %> - <% inviter = User.find(ma.forge_message_id) %> -
    -
  • - <%=link_to image_tag(url_to_avatar(inviter), :width => "30", :height => "30"), user_path(inviter) %> -
  • -
  • - <%=link_to inviter, user_path(inviter), :class => "newsBlue homepageNewsPublisher" %> - '>邀请你加入项目 -
  • - <% if ma.user.member_of?(ma.project) %> -
  • - <% else %> -
  • - <% end %> - <%= link_to ma.project, project_path(ma.project), - :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", - :onmouseover => "message_titile_show($(this),event)", - :onmouseout => "message_titile_hide($(this))" %> -
  • - - <% unless User.current.member_of?(ma.project) %> -
  • - <%=link_to "同意加入", {:controller => 'projects', :action => 'member', :id => ma.project_id, :message_id =>ma.id, :key => ma.secret_key}, - :value => ma.secret_key, - :class => "green_btn_cir ml10", - :style => "color:#fff" %> -
  • - <% end %> -
  • <%= time_tag(ma.created_at).html_safe %>
  • -
- <% end %> - <% if ma.forge_message_type == "Issue" %> - - <% end %> - <% if ma.forge_message_type == "Journal" %> - - <% end %> - <% if ma.forge_message_type == "Message" %> - - <% end %> - <% if ma.forge_message_type == "News" %> - - <% end %> - <% if ma.forge_message_type == "Comment" %> -
    -
  • <%=link_to image_tag(url_to_avatar(ma.forge_message.author), :width => "30", :height => "30"), user_path(ma.forge_message.author) %>
  • -
  • <%=link_to ma.forge_message.author, user_path(ma.forge_message.author), :class => "newsBlue homepageNewsPublisher" %> - ">评论了新闻:
  • -
  • - <%= link_to "#{ma.forge_message.comments.html_safe}", - {:controller => 'news', :action => 'show', :id => ma.forge_message.commented.id },:class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", - :onmouseover => "message_titile_show($(this),event)", - :onmouseout => "message_titile_hide($(this))" %> -
  • - -
  • <%= time_tag(ma.created_at).html_safe %>
  • -
- <% end %> - <% end %> - - <% if ma.class == MemoMessage %> - <% if ma.memo_type == "Memo" %> - - <% end %> - <% end %> - - <% if ma.class == UserFeedbackMessage %> - <% if ma.journals_for_message_type == "JournalsForMessage" %> - - <% end %> <% end %> +
    + <%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%> +
<% end %> -
    - <%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%> -
+ + <% else %> +
您目前还没有相关消息!
<% end %> - - -<% else %> -
您目前还没有相关消息!
-<% end %> -
-
+
+