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 @@
-
-
-
- <% if @bid.reward_type ==3 %>
- | <%=l(:label_student_response)%> |
- <% else %>
- <%=l(:label_user_response)%> |
- <% end %>
-
-
-
+<% 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 %>
- <% for journal in journals%>
- -
- <%= image_tag(url_to_avatar(journal.user), :class => "avatar") %>
- <% 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
- %>
+ <% for journal in journals%>
+
-
+ <%= image_tag(url_to_avatar(journal.user), :class => "avatar") %>
<%= link_to journal.user, user_path(journal.user)%>
<%= label %>
- <%= textilizable journal.notes%>
+
<%= textilizable journal.notes%>
<%= l(:label_bids_published) %> <%= time_tag(journal.created_on).html_safe %> <%= l(:label_bids_published_ago) %>
- <% if @user==User.current|| User.current.admin? %>
- <%= link_to(l(:label_bid_respond_quote), {:controller => 'bids', :action => 'new', :id => bid, :journal_id => journal}, :remote => true,
- :method => 'post', :title => l(:button_quote))%>
- <%= link_to(l(:label_bid_respond_delete), {:controller => 'bids', :action => 'destroy', :object_id => journal, :id => bid},:confirm => l(:label_delete_confirm),
+ <% ids = 'project_respond_form_'+ journal.id.to_s%>
+
+ <%= link_to(l(:button_quote), {:controller => 'bids', :action => 'new', :id => bid, :journal_id => journal}, :remote => true,
+ :method => 'post', :title => l(:button_quote))%>
+ <%= link_to l(:label_bid_respond_quote),'',
+ {:focus => 'project_respond', :onclick => "toggleAndSettingWordsVal($('##{ids}'), $('##{ids} textarea'), '#{l(:label_reply_plural)} #{journal.user.show_name}: '); $('##{ids} textarea') ;return false;"}
+ %>
+<% if @user==User.current|| User.current.admin? %>
+ <%#= link_to(l(:label_bid_respond_delete), {:controller => 'bids', :action => 'destroy', :object_id => journal, :id => bid},:confirm => l(:label_delete_confirm),
:remote => true, :method => 'delete', :class => "delete", :confirm => l(:text_are_you_sure), :title => l(:button_delete)) %>
- <% else %>
- <%= link_to(l(:label_bid_respond_quote), {:controller => 'bids', :action => 'new', :id => bid, :journal_id => journal}, :remote => true,
- :method => 'post', :title => l(:button_quote))%>
- <% end %>
+ <%= link_to(l(:label_bid_respond_delete), {:controller => 'words', :action => 'destroy', :object_id => journal, :user_id => user}, :remote => true, :confirm => l(:text_are_you_sure), :method => 'delete', :class => "delete", :title => l(:button_delete)) %>
+<% end %>
+ <% ids = 'project_respond_form_'+ journal.id.to_s%>
+
+ <%= render :partial => 'words/new_respond', :locals => {:journal => journal, :m_reply_id => journal} %>
+
+
+
+ <%= render :partial => "words/journal_reply", :locals => {:journal => journal } %>
+
<% end %>
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 @@
|