diff --git a/app/controllers/bids_controller.rb b/app/controllers/bids_controller.rb index 078e990ba..cc6ea91dd 100644 --- a/app/controllers/bids_controller.rb +++ b/app/controllers/bids_controller.rb @@ -18,6 +18,7 @@ class BidsController < ApplicationController helper :attachments include AttachmentsHelper helper :projects + helper :words def index @project_type = params[:project_type] # Modified by nie @@ -186,7 +187,7 @@ class BidsController < ApplicationController def show @user = @bid.author - @jours = @bid.journals_for_messages.reverse + @jours = @bid.journals_for_messages.where('m_parent_id IS NULL').order('created_on DESC') @limit = 10 @feedback_count = @jours.count @feedback_pages = Paginator.new @feedback_count, @limit, params['page'] @@ -195,21 +196,19 @@ class BidsController < ApplicationController @state = false respond_to do |format| - if @bid.reward_type == 3 - format.html { - render :layout => 'base_homework' - } - elsif @bid.reward_type == 1 - format.html { - render :layout => 'base_bids' - } + layout_file = '' + case @bid.reward_type + when 3 + layout_file = 'base_homework' + when 1 + layout_file = 'base_bids' else - format.html { - render :layout => 'base_contest' - } + layout_file = 'base_contest' end + format.html { + render :layout => layout_file + } format.api - end end @@ -502,7 +501,7 @@ class BidsController < ApplicationController @bid.add_jour(User.current, message, refer_user_id) end @user = @bid.author - @jours = @bid.journals_for_messages.reverse + @jours = @bid.journals_for_messages.where('m_parent_id IS NULL').order('created_on DESC') @limit = 10 @feedback_count = @jours.count @feedback_pages = Paginator.new @feedback_count, @limit, params['page'] diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 7135610c5..de18c6454 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -280,7 +280,7 @@ class ProjectsController < ApplicationController #Ended by young def feedback - @jours = @project.journals_for_messages.where('m_parent_id IS NULL').reverse + @jours = @project.journals_for_messages.where('m_parent_id IS NULL').order('created_on DESC') @limit = 10 @feedback_count = @jours.count @feedback_pages = Paginator.new @feedback_count, @limit, params['page'] diff --git a/app/controllers/words_controller.rb b/app/controllers/words_controller.rb index bb8e6fb0c..1e23197e7 100644 --- a/app/controllers/words_controller.rb +++ b/app/controllers/words_controller.rb @@ -175,11 +175,13 @@ class WordsController < ApplicationController def obj_distinguish_url_origin referer = request.headers["Referer"] - obj_id = referer.match((%r|/([0-9]{1,})/|))[1] + obj_id = referer.match(%r(/([0-9]{1,})(/|$)))[1] if referer.match(/project/) obj = Project.find_by_id(obj_id) elsif referer.match(/user/) obj = User.find_by_id(obj_id) + elsif ( referer.match(/bids/) || referer.match(/calls/) ) + obj = Bid.find_by_id(obj_id) else raise 'create reply obj unknow type.' end @@ -192,6 +194,8 @@ class WordsController < ApplicationController obj.add_jour(nil, nil, nil, options) elsif obj.kind_of? Project Project.add_new_jour(nil, nil, obj.id, options) + elsif obj.kind_of? Bid + obj.add_jour(nil, nil, nil, options) else raise 'create reply obj unknow type.' end diff --git a/app/helpers/welcome_helper.rb b/app/helpers/welcome_helper.rb index 04c71706f..beecef3f1 100644 --- a/app/helpers/welcome_helper.rb +++ b/app/helpers/welcome_helper.rb @@ -110,16 +110,17 @@ module WelcomeHelper # activity.scope=['memos'] # activity.events_welcome(nil, nil, {:limit => limit}) - # resultSet = Memo.where('memos.parent_id IS NULL').includes(:last_reply).order('COALESCE (last_replies_memos.created_at, memos.created_at) DESC').limit(limit) + resultSet = Memo.where('memos.parent_id IS NULL').includes(:last_reply).order('COALESCE (last_replies_memos.created_at, memos.created_at) DESC').limit(limit) # resultSet += Message.where('messages.parent_id IS NULL').includes(:last_reply).order('COALESCE (last_replies_messages.created_on, messages.created_on) DESC').limit(limit) - resultSet = Memo.includes(:children).where('parent_id IS NULL').order('updated_at DESC').limit(limit) - resultSet += Message.includes(:children).where('parent_id IS NULL').order('updated_on DESC').limit(limit) - resultSet.sort! {|x,y| y.event_datetime <=> x.event_datetime} - resultSet = resultSet.to_a - for i in 0..(resultSet.size-1) - resultSet[i] = resultSet[i].children.last if resultSet[i].children.count > 0 - end - resultSet.take(limit) + + # resultSet = Memo.includes(:children).where('parent_id IS NULL').order('updated_at DESC').limit(limit) + # resultSet += Message.includes(:children).where('parent_id IS NULL').order('updated_on DESC').limit(limit) + # resultSet.sort! {|x,y| y.event_datetime <=> x.event_datetime} + # resultSet = resultSet.to_a + # for i in 0..(resultSet.size-1) + # resultSet[i] = resultSet[i].children.last if resultSet[i].children.count > 0 + # end + # resultSet.take(limit) end private diff --git a/app/models/bid.rb b/app/models/bid.rb index e1b6b799a..d5177116e 100644 --- a/app/models/bid.rb +++ b/app/models/bid.rb @@ -77,8 +77,14 @@ class Bid < ActiveRecord::Base # safe_attributes 'name', # 'description', # 'deadline' - def add_jour(user, notes, reference_user_id = 0) - self.journals_for_messages << JournalsForMessage.new(:user_id => user.id, :notes => notes, :reply_id => reference_user_id) + def add_jour(user, notes, reference_user_id = 0, options = {}) + if options.count == 0 + self.journals_for_messages << JournalsForMessage.new(:user_id => user.id, :notes => notes, :reply_id => reference_user_id) + else + jfm = self.journals_for_messages.build(options) + jfm.save + jfm + end end def self.creat_bids(budget, deadline, name, description=nil, reward_type) diff --git a/app/views/bids/_history.html.erb b/app/views/bids/_history.html.erb index 913c9e269..b5b2f9499 100644 --- a/app/views/bids/_history.html.erb +++ b/app/views/bids/_history.html.erb @@ -1,53 +1,55 @@ - - - - <% else %> - - <% end %> - -
- <% if @bid.reward_type ==3 %> - <%=l(:label_student_response)%><%=l(:label_user_response)%>
- +<% tip1 = (@bid.reward_type == 3) ? l(:label_student_response) : l(:label_user_response) %> +

<%=tip1%>

<%= render :partial => 'new', :locals => {:bid => @bid, :sta => @state} %>
+<% label = ''; + case @bid.reward_type + when 1 + label = l(:label_respond_requirement) + when 2 + label = l(:label_contest_requirement) + when 3 + label = l(:label_question_requirement) + else + end +%> <% if journals.size >0 %> diff --git a/app/views/bids/contest.html.erb b/app/views/bids/contest.html.erb index 6cd3df16e..565e558d7 100644 --- a/app/views/bids/contest.html.erb +++ b/app/views/bids/contest.html.erb @@ -4,7 +4,7 @@ <%= form_tag(:controller => 'bids', :action => 'contest', :method => :get) do %> - +
<%= l(:label_contest_innovate) %><%= l(:label_contest_innovate) %> <%= l(:label_user_location) %> : <% if User.current.logged? %> @@ -54,4 +54,4 @@ <%= render :partial => "layouts/no_content"%> <% end %> - +<% html_title l(:label_contest_list)%> diff --git a/app/views/bids/index.html.erb b/app/views/bids/index.html.erb index ac724b1a1..d8e80992c 100644 --- a/app/views/bids/index.html.erb +++ b/app/views/bids/index.html.erb @@ -36,3 +36,5 @@ <%= render :partial => "layouts/no_content"%> <% end %> + +<% html_title l(:label_requirement_enterprise_list)%> \ No newline at end of file diff --git a/app/views/forums/index.html.erb b/app/views/forums/index.html.erb index dc7c97b36..e476ab5e4 100644 --- a/app/views/forums/index.html.erb +++ b/app/views/forums/index.html.erb @@ -29,3 +29,5 @@ <% else %> <%= render :partial => "layouts/no_content" %> <% end %> + +<%html_title l(:label_forum)%> \ No newline at end of file diff --git a/app/views/projects/_tools_expand.html.erb b/app/views/projects/_tools_expand.html.erb index e55452e74..d5aadc419 100644 --- a/app/views/projects/_tools_expand.html.erb +++ b/app/views/projects/_tools_expand.html.erb @@ -4,9 +4,9 @@

    项目交流

    -
  • <%= link_to l(:project_module_documents), project_documents_path(@project) %>
  • -
  • <%= link_to l(:project_module_wiki), project_wiki_path(@project) %>
  • +
  • <%= link_to l(:label_project_tool_response) ,project_feedback_path(@project) %>
  • <%= link_to l(:project_module_files) ,project_files_path(@project) %>
  • +
  • <%= link_to l(:project_module_wiki), project_wiki_path(@project) %>

    进度跟踪

  • <%= link_to l(:project_module_calendar),project_calendar_path(@project) %>
  • @@ -15,7 +15,7 @@

    其他工具

  • <%= link_to l(:label_module_share) ,share_show_path(@project) %>
  • -
  • <%= link_to l(:label_project_tool_response) ,project_feedback_path(@project) %>
  • +
  • <%= link_to l(:project_module_documents), project_documents_path(@project) %>
diff --git a/app/views/projects/course.html.erb b/app/views/projects/course.html.erb index d7235aa3f..f635e0867 100644 --- a/app/views/projects/course.html.erb +++ b/app/views/projects/course.html.erb @@ -7,7 +7,7 @@ <%= form_tag(:controller => 'projects', :action => 'search', :method => :get) do %> - +
<%= l(:label_course_practice) %><%= l(:label_course_practice) %> <%= l(:label_user_location) %> : <% if User.current.logged?%> @@ -65,4 +65,4 @@ <% end %> <% end %> -<% html_title(l(:label_project_plural)) -%> +<% html_title(l(:label_new_course)) -%> diff --git a/app/views/words/_message.html.erb b/app/views/words/_message.html.erb index 0f3fe64fe..7c7ae4acd 100644 --- a/app/views/words/_message.html.erb +++ b/app/views/words/_message.html.erb @@ -43,11 +43,6 @@ function checkMaxLength() { <%= image_tag(url_to_avatar(journal.user), :class => "avatar") %> <%= link_to journal.user, user_path(journal.user)%> - <% if @user == User.current %> - <%= l(:label_leave_me_message) %> : - <% else %> - <%= l(:label_leave_others_message) %> : - <% end %>

<%= textilizable journal.notes%>

diff --git a/app/views/words/destroy.js.erb b/app/views/words/destroy.js.erb index d12041f1f..c583e0449 100644 --- a/app/views/words/destroy.js.erb +++ b/app/views/words/destroy.js.erb @@ -1,6 +1,6 @@ <% if @journal_destroyed.nil? %> alert('<%=l(:notice_failed_delete)%>'); -<% elsif (['Principal','Project'].include? @journal_destroyed.jour_type)%> +<% elsif (['Principal','Project', 'Bid'].include? @journal_destroyed.jour_type)%> var destroyedItem = $('#word_li_<%=@journal_destroyed.id%>') destroyedItem.fadeOut(600,function(){ destroyedItem.remove(); diff --git a/config/locales/en.yml b/config/locales/en.yml index de55fe394..4d3b9395f 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1562,6 +1562,7 @@ en: label_noawards: No awards label_user_location: Location label_requirement_enterprise: Requirements + label_requirement_enterprise_list: Requirements List label_contest_innovate: Competitions label_software_user: Users label_course_practice: Courses diff --git a/config/locales/zh.yml b/config/locales/zh.yml index 6d64d30bc..f34c95213 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -445,7 +445,7 @@ zh: project_module_time_tracking: 时间跟踪 project_module_news: 新闻 project_module_documents: 文档 - project_module_files: 文件共享 + project_module_files: 版本下载 project_module_wiki: Wiki project_module_repository: 版本库 project_module_boards: 讨论区 @@ -515,6 +515,7 @@ zh: label_software_user: 软件创客 label_contest_innovate: 创新竞赛 label_requirement_enterprise: 软件众包 + label_requirement_enterprise_list: 众包列表 label_new_homework: 作业 label_new_contest: 竞赛 label_requirement_focus: 关注需求