diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 6dec9a82f..126b269bb 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -127,18 +127,19 @@ update end else # 原逻辑 ##xianbo - params[:repository_scm] = "Git" @root_path=RepositoriesHelper::ROOT_PATH @repository_name=User.current.login.to_s+"/"+params[:repository][:identifier]+".git" @project_path=@root_path+"htdocs/"+@repository_name - @repository_tag=params[:repository][:upassword] || params[:repository][:password] || '1234' + @repository_tag=params[:repository][:upassword] || params[:repository][:password] @repo_name=User.current.login.to_s+"_"+params[:repository][:identifier] logger.info "htpasswd -mb "+@root_path+"htdocs/user.passwd "+@repo_name+": "+@repository_tag logger.info "the value of create repository"+@root_path+": "+@repository_name+": "+@project_path+": "+@repo_name attrs = pickup_extra_info - params[:repository][:url]=@project_path + if((@repository_tag!="")&¶ms[:repository_scm]=="Git") + params[:repository][:url]=@project_path + end ###xianbo - @repository = Repository.factory(params[:repository_scm]||"Git") + @repository = Repository.factory(params[:repository_scm]) @repository.safe_attributes = params[:repository] if attrs[:attrs_extra].keys.any? @repository.merge_extra_info(attrs[:attrs_extra]) @@ -277,8 +278,7 @@ update @course_tag = params[:course] project_path_cut = RepositoriesHelper::PROJECT_PATH_CUT ip = RepositoriesHelper::REPO_IP_ADDRESS - # @repos_url = "http://"+@repository.login.to_s+"_"+@repository.identifier.to_s+"@"+ip.to_s+ - @repos_url = "http://#{Setting.host_name}/#{@repository.login.to_s}/#{@repository.identifier.to_s}.git" + @repos_url = "http://"+@repository.login.to_s+"_"+@repository.identifier.to_s+"@"+ip.to_s+ @repository.url.slice(project_path_cut, @repository.url.length).to_s if @course_tag == 1 render :action => 'show', :layout => 'base_courses' diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 2b39989d1..055955e04 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -39,20 +39,14 @@ class UsersController < ApplicationController # before_filter :can_show_course, :only => [:user_courses,:user_homeworks] - before_filter :require_admin, :except => [:show, :index, :search, :tag_save, :tag_saveEx,:user_projects, :user_newfeedback, :user_comments, :watch_contests, :info, - :user_watchlist, :user_fanslist,:update, :user_courses, :user_homeworks, :watch_projects, :show_score, :topic_score_index, :project_score_index, - :activity_score_index, :influence_score_index, :score_index,:show_new_score, :topic_new_score_index, :project_new_score_index, - :activity_new_score_index, :influence_new_score_index, :score_new_index,:update_score,:user_activities,:user_projects_index, - :user_courses4show,:user_projects4show,:user_course_activities,:user_project_activities,:user_feedback4show,:user_visitorlist, - :user_resource,:user_resource_create,:user_resource_delete,:rename_resource,:search_user_course,:add_exist_file_to_course, - :search_user_project,:resource_preview,:resource_search,:add_exist_file_to_project,:user_messages,:edit_brief_introduction,:user_new_homework] #edit has been deleted by huang, 2013-9-23 before_filter :find_user, :only => [:user_fanslist, :user_watchlist, :show, :edit, :update, :destroy, :edit_membership, :user_courses, :user_homeworks, :destroy_membership, :user_activities, :user_projects, :user_newfeedback, :user_comments, :watch_contests, :info, :watch_projects, :show_score, :topic_score_index, :project_score_index, :activity_score_index, :influence_score_index, :score_index,:show_new_score, :topic_new_score_index, :project_new_score_index, :activity_new_score_index, :influence_new_score_index, :score_new_index,:user_projects_index,:user_resource, - :user_courses4show,:user_projects4show,:user_course_activities,:user_project_activities,:user_feedback4show,:user_visitorlist,:user_messages,:edit_brief_introduction] + :user_courses4show,:user_projects4show,:user_course_activities,:user_project_activities,:user_feedback4show,:user_visitorlist,:user_messages,:edit_brief_introduction, + :user_import_homeworks,:user_search_homeworks] before_filter :auth_user_extension, only: :show #before_filter :rest_user_score, only: :show #before_filter :select_entry, only: :user_projects @@ -176,6 +170,7 @@ class UsersController < ApplicationController render_404 return end + @message_alls = paginateHelper @message_alls,25 respond_to do |format| format.html{render :layout=>'new_base_user'} end @@ -310,7 +305,46 @@ class UsersController < ApplicationController respond_to do |format| format.js format.html {render :layout => 'new_base_user'} + end end + + #导入作业 + def user_import_homeworks + @user_homeworks = HomeworkCommon.where(:user_id => @user.id).order("created_at desc") + respond_to do |format| + format.js + end + end + + #用户主页过滤作业 + def user_search_homeworks + @user_homeworks = HomeworkCommon.where("user_id = '#{@user.id}' and lower(name) like '%#{params[:name].to_s.downcase}%'").order("created_at desc") + respond_to do |format| + format.js + end + end + + #导入作业,确定按钮 + def user_select_homework + homework = HomeworkCommon.find_by_id params[:checkMenu] + @homework = HomeworkCommon.new + if homework + @homework.name = homework.name + @homework.description = homework.description + @homework.end_time = homework.end_time + @homework.course_id = homework.course_id + homework.attachments.each do |attachment| + att = attachment.copy + att.container_id = nil + att.container_type = nil + att.copy_from = attachment.id + att.save + @homework.attachments << att + end + end + respond_to do |format| + format.js + end end def user_new_homework diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb index a26d2661a..412c3f889 100644 --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -380,6 +380,22 @@ module IssuesHelper value = content_tag("i", h(value)) if value end end + # 缺陷更新结果在消息中显示样式 + if no_html == "message" + label = content_tag(:span, label, :class => "issue_update_message") + old_value = content_tag("span", h(old_value)) if detail.old_value + old_value = content_tag("del", old_value) if detail.old_value and detail.value.blank? + if detail.property == 'attachment' && !value.blank? && atta = Attachment.find_by_id(detail.prop_key) + # Link to the attachment if it has not been removed + if options[:token].nil? + value = atta.filename + else + value = atta.filename + end + else + value = content_tag(:span, h(value), :class => "issue_update_message_value") if value + end + end if detail.property == 'attr' && detail.prop_key == 'description' s = l(:text_journal_changed_no_detail, :label => label) diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index ebfd9f881..e7ab001da 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -425,9 +425,13 @@ module UsersHelper return str.html_safe end + # journal.details 记录每个动作的新旧值 def get_issue_des_update(journal) - arr = details_to_strings(journal.details,true) - arr << journal.notes + no_html = "message" + arr = details_to_strings(journal.details, no_html) + unless journal.notes.empty? + arr << "留言内容:" + journal.notes + end str = '' arr.each { |item| str = str+item } return str diff --git a/app/models/journal.rb b/app/models/journal.rb index 3a9f5a89d..0d86d12ff 100644 --- a/app/models/journal.rb +++ b/app/models/journal.rb @@ -174,7 +174,7 @@ class Journal < ActiveRecord::Base if self.user_id != self.issue.author_id self.forge_messages << ForgeMessage.new(:user_id => self.issue.author_id, :project_id => self.issue.project_id, :viewed => false) end - if self.user_id != self.issue.assigned_to_id # 指派人不是自己的话,则给指派人发送 + if self.user_id != self.issue.assigned_to_id && self.issue.assigned_to_id != self.issue.author_id # 指派人不是自己的话,则给指派人发送 self.forge_messages << ForgeMessage.new(:user_id => self.issue.assigned_to_id, :project_id => self.issue.project_id, :viewed => false) end end diff --git a/app/models/journals_for_message.rb b/app/models/journals_for_message.rb index 1f5f2e1a6..6f775e7a2 100644 --- a/app/models/journals_for_message.rb +++ b/app/models/journals_for_message.rb @@ -212,33 +212,11 @@ class JournalsForMessage < ActiveRecord::Base if self.user_id != self.reply_id # 添加我回复的那个人 receivers << reply_to end - if self.user_id != self.parent.jour_id # 给东家发信息 + if self.user_id != self.parent.jour_id && self.reply_id != self.parent.jour_id # 给东家发信息,如果回复的对象是东家则不发 receivers << self.parent.jour end - # if self.user_id != self.parent.user_id - # receivers << reply_to - # if self.reply_id != self.parent.user_id - # receivers << self.parent.user - # end - # else - # receivers << reply_to - # end - - # 添加留言回复人 - #reply_to = User.find(self.reply_id) - #if self.user_id != self.parent.user_id && self.user_id != self.parent.jour_id # 如果回帖人不是用户自己 - # receivers << self.parent.user - # if self.reply_id != self.parent.user_id - # receivers << reply_to - # end - #else # 用户自己回复别人的,别人收到消息通知 - # if self.user_id != self.reply_id # 过滤掉自己回复自己的 - # receivers << reply_to - # end - #end end if self.jour_type == 'Principal' - receivers.each do |r| self.user_feedback_messages << UserFeedbackMessage.new(:user_id => r.id, :journals_for_message_id => self.id, :journals_for_message_type => "Principal", :viewed => false) end diff --git a/app/models/user.rb b/app/models/user.rb index 61dd60eec..b08b29981 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -263,6 +263,7 @@ class User < Principal user_memo_count = MemoMessage.where("user_id =? and viewed =?", User.current.id, 0).count messages_count = course_count + forge_count + user_feedback_count + user_memo_count end + # 查询指派给我的缺陷记录 def issue_status_update self.status_updates diff --git a/app/views/account/agreement.html.erb b/app/views/account/agreement.html.erb index 95befbfd4..921f66350 100644 --- a/app/views/account/agreement.html.erb +++ b/app/views/account/agreement.html.erb @@ -1,6 +1,6 @@ <%= stylesheet_link_tag 'new_user'%> -
尊敬的用户,您好!
diff --git a/app/views/layouts/_footer.html.erb b/app/views/layouts/_footer.html.erb
index 5aeb0031f..720ff3e8f 100644
--- a/app/views/layouts/_footer.html.erb
+++ b/app/views/layouts/_footer.html.erb
@@ -1,11 +1,11 @@