diff --git a/app/controllers/homework_attach_controller.rb b/app/controllers/homework_attach_controller.rb
new file mode 100644
index 000000000..cfa84071b
--- /dev/null
+++ b/app/controllers/homework_attach_controller.rb
@@ -0,0 +1,27 @@
+class HomeworkAttachController < ApplicationController
+ #显示作业信息
+ def show
+ @homework = HomeworkAttach.find(params[:id])
+ # 打分统计
+ stars_reates = @homework.
+ rates(:quality)
+ stars_reates_count = stars_reates.count == 0 ? 1 : stars_reates.count
+ stars_status = stars_reates.select("stars, count(*) as scount").
+ group("stars")
+ @stars_status_map = Hash.new(0.0)
+ stars_status.each do |star_status|
+ percent = (star_status.scount * 1.0/ stars_reates_count) * 100.to_f
+ percent_m = format("%.2f", percent)
+ @stars_status_map["star#{star_status.stars.to_i}".to_sym] =
+ percent_m.to_s + "%"
+ end
+ @jours = @homework.journals_for_messages.order("created_on DESC")
+ end
+
+ def destroyjours
+ @homework = HomeworkAttach.find(params[:homework_id])
+ JournalsForMessage.delete_message(params[:object_id])
+ redirect_to homework_attach_path(@homework)
+ end
+end
+
diff --git a/app/models/homework_attach.rb b/app/models/homework_attach.rb
index fb743ab5c..b8e559dff 100644
--- a/app/models/homework_attach.rb
+++ b/app/models/homework_attach.rb
@@ -2,9 +2,11 @@ class HomeworkAttach < ActiveRecord::Base
include Redmine::SafeAttributes
belongs_to :user
belongs_to :bid
+ has_many :journals_for_messages, :as => :jour, :dependent => :destroy
+ seems_rateable :allow_update => true, :dimensions => :quality
safe_attributes "bid_id",
"user_id"
acts_as_attachable
-
+
end
diff --git a/app/models/journals_for_message.rb b/app/models/journals_for_message.rb
index 2c4f10886..575737401 100644
--- a/app/models/journals_for_message.rb
+++ b/app/models/journals_for_message.rb
@@ -21,6 +21,7 @@ class JournalsForMessage < ActiveRecord::Base
belongs_to :jour, :polymorphic => true
belongs_to :user
+ belongs_to :homework_attach
belongs_to :at_user, :class_name => "User", :foreign_key => 'reply_id'
acts_as_event :title => Proc.new {|o| "#{l(:label_my_message)}"},
diff --git a/app/views/attachments/_app_link.html.erb b/app/views/attachments/_app_link.html.erb
index ecef4dda3..6934b76e1 100644
--- a/app/views/attachments/_app_link.html.erb
+++ b/app/views/attachments/_app_link.html.erb
@@ -1,10 +1,15 @@
-<% for attachment in attachments %><%= link_to_attachment attachment, :class => 'icon icon-attachment', :download => true -%>
- <% if attachment.is_text? %>
+<% for attachment in attachments %>
+ <% if attachments.count > 1 && attachment != attachments.first%>
+
+ <% end %>
+ <%= link_to_attachment attachment, :class => 'icon icon-attachment', :download => true -%>
+ <% if attachment.is_text? %>
<%= link_to image_tag('magnifier.png'),
:controller => 'attachments', :action => 'show',
:id => attachment, :filename => attachment.filename %>
<% end %>
<%= h(" - #{attachment.description}") unless attachment.description.blank? %>
(<%= number_to_human_size attachment.filesize %>)
+
<% end -%>
diff --git a/app/views/bids/_homework_list.html.erb b/app/views/bids/_homework_list.html.erb
index 8f87a6b37..f3658cd2a 100644
--- a/app/views/bids/_homework_list.html.erb
+++ b/app/views/bids/_homework_list.html.erb
@@ -25,8 +25,19 @@
<%= link_to homework.user, user_path(homework.user)%> 已提交 | +发布人: <%= link_to homework.user, user_path(homework.user)%> | <% if Time.parse(@bid.deadline.to_s) < Time.parse(homework.attachments[0].created_on.to_s) %> 迟交 @@ -36,7 +47,7 @@ |
<% if display_id %> - <%= l(:label_bidding_user_studentcode) %> :<%= homework.user.user_extensions.student_id%> + <%= l(:label_bidding_user_studentcode) %> : <%= homework.user.user_extensions.student_id%> <% end %> | ||
<%= f.text_area :bid_message, :id => "bid_message", :required => true, :rows => 4, :cols => 40, :placeholder => l(:label_bid_reason), :style => "resize: none;", :class => 'noline'%> | ||
<%= submit_tag l(:button_add), :name => nil , :class => "enterprise", :onmouseout => "this.style.backgroundPosition = 'left top'", :onmouseover => "this.style.backgroundPosition = 'left -30px'"%> - <%= submit_tag l(:button_cancel), :name => nil, :onclick => "cancel();", + <%= submit_tag l(:button_cancel), :name => nil, :onclick => "cancel();", :type => 'button', :class => "enterprise", :onmouseout => "this.style.backgroundPosition = 'left top'", - :onmouseover => "this.style.backgroundPosition = 'left -30px'" %> + :onmouseover => "this.style.backgroundPosition = 'left -30px'" %> |
<%= notice %>
+ +作业基础信息<%=@count %> | +|
发布人员:<%= link_to @homework.user, user_path(@homework.user)%> | +发布时间:<%=format_time @homework.created_at %> | + +
+ 作业下载: + <% options = {:author => true } %> + <%= render :partial => 'attachments/app_link', :locals => {:attachments => @homework.attachments, :options => options} %> + | +所属任务:<%= link_to(@homework.bid.name, project_for_bid_path(@homework.bid))%> | + +
平均评分: + <%= rating_for @homework, :static => true, dimension: :quality, class: 'rateable div_inline' %> + | +
作业描述: |
+ |
+ <%= attachment.description %>
+ |
+
<%= f.text_area 'message', :rows => 3, :cols => 65, :placeholder => l(:label_my_respond), :style => "resize: none;", :class => 'noline'%> |