diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb
index aac107cfb..c75b9f9bf 100644
--- a/app/controllers/admin_controller.rb
+++ b/app/controllers/admin_controller.rb
@@ -241,7 +241,7 @@ class AdminController < ApplicationController
end
else
respond_to do |format|
- flash.now[:error] = "#{l :label_first_page_create_fail}: #{@first_page.errors.full_messages[0]}\n\t#{@contest_page.errors.full_messages[0]}"
+ flash.now[:error] = "#{l :label_first_page_create_fail}: #{@first_page.errors.full_messages[0]}\n\t#{@contest_page.errors.full_messages[0]}\n\t#{@notification.errors.full_messages[0]}"
format.html {
render :action => 'contest_page_made'
}
diff --git a/app/controllers/files_controller.rb b/app/controllers/files_controller.rb
index 666c39d30..3d541fd61 100644
--- a/app/controllers/files_controller.rb
+++ b/app/controllers/files_controller.rb
@@ -26,6 +26,18 @@ class FilesController < ApplicationController
include SortHelper
helper :project_score
+ def show_attachments obj
+ all_attachments = []
+ obj.each do |container|
+ all_attachments += container.attachments
+ end
+ @limit = 10
+ @feedback_count = all_attachments.count
+ @feedback_pages = Paginator.new @feedback_count, @limit, params['page']
+ @offset ||= @feedback_pages.offset
+ @curse_attachments = all_attachments[@offset, @limit]
+ end
+
def index
#sort_init 'filename', 'asc'
sort_init 'created_on', 'desc'
@@ -39,15 +51,7 @@ class FilesController < ApplicationController
@containers = [ Project.includes(:attachments).reorder("#{Attachment.table_name}.created_on DESC").find(@project.id)]
@containers += @project.versions.includes(:attachments).reorder("#{Attachment.table_name}.created_on DESC").all.sort
- all_attachments = []
- @containers.each do |container|
- all_attachments += container.attachments
- end
- @limit = 10
- @feedback_count = all_attachments.count
- @feedback_pages = Paginator.new @feedback_count, @limit, params['page']
- @offset ||= @feedback_pages.offset
- @curse_attachments = all_attachments[@offset, @limit]
+ show_attachments @containers
render :layout => !request.xhr?
elsif params[:course_id]
@@ -79,16 +83,7 @@ class FilesController < ApplicationController
@containers = [ Course.includes(:attachments).reorder("#{Attachment.table_name}.created_on desc").find(@course.id)]
end
- all_attachments = []
- @containers.each do |container|
- all_attachments += container.attachments
- end
-
- @limit = 10
- @feedback_count = all_attachments.count
- @feedback_pages = Paginator.new @feedback_count, @limit, params['page']
- @offset ||= @feedback_pages.offset
- @curse_attachments = all_attachments[@offset, @limit]
+ show_attachments @containers
render :layout => 'base_courses'
end
@@ -133,6 +128,8 @@ class FilesController < ApplicationController
@containers = [Project.includes(:attachments).reorder("#{Attachment.table_name}.created_on DESC").find(@project.id)] #modify by Long Jun
@containers += @project.versions.includes(:attachments).reorder("#{Attachment.table_name}.created_on DESC").all.sort
+ show_attachments @containers
+
@attachtype = 0
@contenttype = 0
@@ -159,6 +156,8 @@ class FilesController < ApplicationController
@containers = [Course.includes(:attachments).reorder("#{Attachment.table_name}.created_on DESC").find(@course.id)]
+ show_attachments @containers
+
@attachtype = 0
@contenttype = 0
diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb
index 9d734db37..b522a09d6 100644
--- a/app/controllers/issues_controller.rb
+++ b/app/controllers/issues_controller.rb
@@ -83,6 +83,10 @@ class IssuesController < ApplicationController
:limit => @limit)
@issue_count_by_group = @query.issue_count_by_group
+
+
+
+
respond_to do |format|
format.html { render :template => 'issues/index', :layout => @project_base_tag }#by young
format.api {
diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb
index cdeb17e54..44496c3d7 100644
--- a/app/controllers/messages_controller.rb
+++ b/app/controllers/messages_controller.rb
@@ -34,6 +34,7 @@ class MessagesController < ApplicationController
# Show a topic and its replies
def show
+ @isReply = true
page = params[:page]
# Find the page of the requested reply
if params[:r] && page.nil?
@@ -103,6 +104,7 @@ class MessagesController < ApplicationController
# Edit a message
def edit
+ @isReply = false
if @project
(render_403; return false) unless @message.editable_by?(User.current)
else
@@ -123,7 +125,6 @@ class MessagesController < ApplicationController
}
end
end
-
end
# Delete a messages
diff --git a/app/controllers/my_controller.rb b/app/controllers/my_controller.rb
index 91da700a1..14814ed32 100644
--- a/app/controllers/my_controller.rb
+++ b/app/controllers/my_controller.rb
@@ -37,16 +37,41 @@ class MyController < ApplicationController
}.freeze
def index
+
page
render :action => 'page'
- end
+ end
# Show user's page
def page
@user = User.current
+ @Issues= Issue.visible.open.
+ where(:assigned_to_id => ([User.current.id] + User.current.group_ids))
+ @limit = 10
+ @feedback_count = @Issues.count
+ @feedback_pages = Paginator.new @feedback_count, @limit, params['page']
+ @offset ||= @feedback_pages.offset
+ @curse_attachments = @Issues[@offset, @limit]
+
@blocks = @user.pref[:my_page_layout] || DEFAULT_LAYOUT
end
+ def page2
+ @limit = 10
+ @user = User.current
+ @Issues= Issue.visible.open.
+ where(:assigned_to_id => ([User.current.id] + User.current.group_ids))
+ @feedback_count = @Issues.count
+ @feedback_pages = Paginator.new @feedback_count, @limit, params['page']
+ @offset ||= @feedback_pages.offset
+ @curse_attachments = @Issues[@offset, @limit]
+ @state = false
+ @blocks = @user.pref[:my_page_layout] || DEFAULT_LAYOUT
+ respond_to do |format|
+ format.js
+ end
+ end
+
# Edit user's account
def account
@user = User.current
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 1893224f8..ee42c2c6a 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -407,7 +407,7 @@ class ProjectsController < ApplicationController
@page = @page.to_i
# Find the page of the requested reply
@jours = @project.journals_for_messages.where('m_parent_id IS NULL').order('created_on DESC')
- @limit = 3
+ @limit = 10
offset = @jours.count(:conditions => ["#{JournalsForMessage.table_name}.id > ?", params[:r].to_i])
page = 1 + offset / @limit
diff --git a/app/controllers/words_controller.rb b/app/controllers/words_controller.rb
index e31bb2738..2d03b2112 100644
--- a/app/controllers/words_controller.rb
+++ b/app/controllers/words_controller.rb
@@ -99,7 +99,7 @@ class WordsController < ApplicationController
@project = Project.find params[:project_id]
# Find the page of the requested reply
@jours = @project.journals_for_messages.where('m_parent_id IS NULL').order('created_on DESC')
- @limit = 3
+ @limit = 10
offset = @jours.count(:conditions => ["#{JournalsForMessage.table_name}.id > ?", params[:r].to_i])
page = 1 + offset / @limit
diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb
index e08e50e80..1fd1646b8 100644
--- a/app/helpers/courses_helper.rb
+++ b/app/helpers/courses_helper.rb
@@ -441,7 +441,7 @@ module CoursesHelper
def homework_user_of_homework homework,is_teacher
homework_users = ""
homework.users.each do |user|
- homework_users = homework_users + (is_teacher ? (user.firstname + user.lastname) : user.login)
+ homework_users = homework_users + (is_teacher ? (user.lastname + user.firstname) : user.login)
if user != homework.users.last
homework_users = homework_users + "、"
end
diff --git a/app/helpers/user_score_helper.rb b/app/helpers/user_score_helper.rb
index 376f676b7..c94763e31 100644
--- a/app/helpers/user_score_helper.rb
+++ b/app/helpers/user_score_helper.rb
@@ -864,7 +864,7 @@ FROM `users` where id = #{user.id}")
users = Attachment.find_by_sql("SELECT COUNT(*) as m_count FROM #{Attachment.table_name} WHERE author_id = '#{user.id}' and container_type = 'Project' and container_id = #{project.id}")
result = 0
if users.count > 0
- result = users.first.m_coumt
+ result = users.first.m_count
end
result
end
diff --git a/app/models/contest_notification.rb b/app/models/contest_notification.rb
index c1f2fde6f..d525b4b3a 100644
--- a/app/models/contest_notification.rb
+++ b/app/models/contest_notification.rb
@@ -1,3 +1,4 @@
class ContestNotification < ActiveRecord::Base
attr_accessible :content, :title
+ validates_length_of :title, maximum: 30
end
diff --git a/app/views/attachments/_form.html.erb b/app/views/attachments/_form.html.erb
index 0677d324b..097539888 100644
--- a/app/views/attachments/_form.html.erb
+++ b/app/views/attachments/_form.html.erb
@@ -1,10 +1,10 @@
-
+
<% if defined?(container) && container && container.saved_attachments %>
<% container.attachments.each_with_index do |attachment, i| %>
<%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly=>'readonly')%>
<%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 255, :placeholder => l(:label_optional_description), :class => 'description', :style=>"display: inline-block;") +
- link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload') %>
+ link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload') %>
<%#= render :partial => 'tags/tag', :locals => {:obj => attachment, :object_flag => "6"} %>
<%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public, :class => 'is_public')%>
<%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %>
diff --git a/app/views/attachments/_form_course.html.erb b/app/views/attachments/_form_course.html.erb
new file mode 100644
index 000000000..e5fbd3f82
--- /dev/null
+++ b/app/views/attachments/_form_course.html.erb
@@ -0,0 +1,61 @@
+
+<% if defined?(container) && container && container.saved_attachments %>
+ <% if isReply %>
+ <% container.saved_attachments.each_with_index do |attachment, i| %>
+
+ <%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly=>'readonly')%>
+ <%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 255, :placeholder => l(:label_optional_description), :class => 'description', :style=>"display: inline-block;") +
+ link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload') %>
+ <%#= render :partial => 'tags/tag', :locals => {:obj => attachment, :object_flag => "6"} %>
+ <%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public, :class => 'is_public')%>
+ <%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %>
+
+ <% end %>
+ <% else %>
+ <% container.attachments.each_with_index do |attachment, i| %>
+
+ <%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly=>'readonly')%>
+ <%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 255, :placeholder => l(:label_optional_description), :class => 'description', :style=>"display: inline-block;") +
+ link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload') %>
+ <%#= render :partial => 'tags/tag', :locals => {:obj => attachment, :object_flag => "6"} %>
+ <%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public, :class => 'is_public')%>
+ <%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %>
+
+ <% end %>
+ <% end %>
+<% end %>
+
+
+
+<%#= button_tag "浏览", :type=>"button", :onclick=>"CompatibleSend();" %>
+
+<%= button_tag "浏览", :type=>"button", :onclick=>"_file.click()" %>
+<%= file_field_tag 'attachments[dummy][file]',
+ :id => '_file',
+ :class => 'file_selector',
+ :multiple => true,
+ :onchange => 'addInputFiles(this);',
+ :style => 'display:none',
+ :data => {
+ :max_file_size => Setting.attachment_max_size.to_i.kilobytes,
+ :max_file_size_message => l(:error_attachment_too_big, :max_size => number_to_human_size(Setting.attachment_max_size.to_i.kilobytes)),
+ :max_concurrent_uploads => Redmine::Configuration['max_concurrent_ajax_uploads'].to_i,
+ :upload_path => uploads_path(:format => 'js'),
+ :description_placeholder => l(:label_optional_description)
+ } %>
+<%= l(:label_no_file_uploaded)%>
+(<%= l(:label_max_size) %>: <%= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %>)
+
+
+<% content_for :header_tags do %>
+ <%= javascript_include_tag 'attachments' %>
+<% end %>
+
+
diff --git a/app/views/attachments/autocomplete.js.erb b/app/views/attachments/autocomplete.js.erb
index 404ad9a61..abe2c3757 100644
--- a/app/views/attachments/autocomplete.js.erb
+++ b/app/views/attachments/autocomplete.js.erb
@@ -4,4 +4,5 @@ $('#relation_file').html('<%=render_attachments_for_new_project(@project, nil)%>
<% elsif @course%>
$('#relation_file').html('<%=render_attachments_for_new_course(@course, nil)%>');
<% end%>
+$('#attachments').children().css("width","100%").css("word-break","break-all");
diff --git a/app/views/attachments/file.html.erb b/app/views/attachments/file.html.erb
index 57393b81e..37db6f2bc 100644
--- a/app/views/attachments/file.html.erb
+++ b/app/views/attachments/file.html.erb
@@ -4,8 +4,16 @@
<%= h("#{@attachment.description} - ") unless @attachment.description.blank? %>
<%= link_to_user(@attachment.author) %>, <%= format_time(@attachment.created_on) %>
<%= link_to_attachment @attachment, :text => l(:button_download), :download => true -%>
- (<%= number_to_human_size @attachment.filesize %>)
-
+ (<%= number_to_human_size @attachment.filesize %>)   
+
+ <% if @attachment!=nil&&@attachment.container_type == 'Document' %>
+ <%= link = link_to(l(:button_add), {:controller => 'code_review',
+ :action => 'assign', :action_type => 'attachment',
+ :id=>@attachment.project,
+ :change_id => '', :attachment_id => @attachment.id,
+ }, :class => 'icon icon-add') %>
+ <% end %>
+
<%= render :partial => 'common/file', :locals => {:content => @content, :filename => @attachment.filename} %>
diff --git a/app/views/bids/_homework_form.html.erb b/app/views/bids/_homework_form.html.erb
index f7c753b45..463b2b621 100644
--- a/app/views/bids/_homework_form.html.erb
+++ b/app/views/bids/_homework_form.html.erb
@@ -26,9 +26,9 @@
<%= f.text_field :name, :required => true, :size => 60, :style => "width:490px;", :maxlength => Bid::NAME_LENGTH_LIMIT %>
<%= f.text_area :description, :rows => 8, :class => 'wiki-edit', :style => "font-size:small;width:490px;margin-left:10px;", :maxlength => Bid::DESCRIPTION_LENGTH_LIMIT %>
-
<%= f.text_field :deadline, :required => true, :size => 60, :style => "width:150px;" %><%= calendar_for('bid_deadline')%>
diff --git a/app/views/bids/_homework_list.html.erb b/app/views/bids/_homework_list.html.erb
index 6d3a2adcc..6d1581820 100644
--- a/app/views/bids/_homework_list.html.erb
+++ b/app/views/bids/_homework_list.html.erb
@@ -28,7 +28,7 @@
- <% user_name = is_teacher ? (homework.user.firstname + homework.user.lastname) : homework.user.login %>
+ <% user_name = is_teacher ? (homework.user.lastname + homework.user.firstname) : homework.user.login %>
<%= image_tag(url_to_avatar(homework.user), :class => "avatar")%> |
diff --git a/app/views/boards/_course_show.html.erb b/app/views/boards/_course_show.html.erb
index 25d35d407..ca33b7516 100644
--- a/app/views/boards/_course_show.html.erb
+++ b/app/views/boards/_course_show.html.erb
@@ -63,7 +63,9 @@
- <%= link_to h(topic.subject), board_message_path(@board, topic) %> |
+ <%= link_to h(topic.subject.truncate(40,ommision:'...')), board_message_path(@board, topic),title: topic.subject.to_s %>
+ |
<%=link_to (topic.replies_count), board_message_path(@board, topic) %> |
回答 |
|
diff --git a/app/views/boards/_project_show.html.erb b/app/views/boards/_project_show.html.erb
index 1327f13e9..ef1afd27e 100644
--- a/app/views/boards/_project_show.html.erb
+++ b/app/views/boards/_project_show.html.erb
@@ -71,7 +71,9 @@
- <%= link_to h(topic.subject), board_message_path(@board, topic) %> |
+ <%= link_to h(topic.subject.truncate(40,ommision:'...')), board_message_path(@board, topic),title:topic.subject.to_s %>
+ |
diff --git a/app/views/common/_file.html.erb b/app/views/common/_file.html.erb
index 22126b949..d4c0875c2 100644
--- a/app/views/common/_file.html.erb
+++ b/app/views/common/_file.html.erb
@@ -1,14 +1,14 @@
| | | |