Merge branch 'develop' into hjq_new_course
This commit is contained in:
commit
74afabd571
|
@ -242,6 +242,8 @@ class AttachmentsController < ApplicationController
|
||||||
format.html { redirect_to_referer_or mobile_version_path }
|
format.html { redirect_to_referer_or mobile_version_path }
|
||||||
elsif !@attachment.container.nil? && @attachment.container.is_a?(OrgSubfield)
|
elsif !@attachment.container.nil? && @attachment.container.is_a?(OrgSubfield)
|
||||||
format.html {redirect_to_referer_or org_subfield_files_path(@attachment.container)}
|
format.html {redirect_to_referer_or org_subfield_files_path(@attachment.container)}
|
||||||
|
elsif !@attachment.container.nil? && @attachment.container.is_a?(OrgDocumentComment)
|
||||||
|
format.html {redirect_to_referer_or org_document_comment_path(@attachment.container)}
|
||||||
else
|
else
|
||||||
if @project.nil?
|
if @project.nil?
|
||||||
format.html { redirect_to_referer_or forum_memo_path(@attachment.container.forum, @attachment.container) }
|
format.html { redirect_to_referer_or forum_memo_path(@attachment.container.forum, @attachment.container) }
|
||||||
|
|
|
@ -18,8 +18,8 @@
|
||||||
class BoardsController < ApplicationController
|
class BoardsController < ApplicationController
|
||||||
layout 'base_projects'#by young
|
layout 'base_projects'#by young
|
||||||
default_search_scope :messages
|
default_search_scope :messages
|
||||||
before_filter :find_project_by_project_id, :find_board_if_available
|
before_filter :find_project_by_project_id, :find_board_if_available, :except => [:join_to_org_subfields]
|
||||||
before_filter :authorize, :except => [:new, :show, :create, :index]
|
before_filter :authorize, :except => [:new, :show, :create, :index, :join_to_org_subfields]
|
||||||
accept_rss_auth :index, :show
|
accept_rss_auth :index, :show
|
||||||
|
|
||||||
|
|
||||||
|
@ -79,13 +79,12 @@ class BoardsController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
# 更新@消息为已读
|
||||||
@project.boards.each do |board|
|
@project.boards.each do |board|
|
||||||
board.messages.each do |m|
|
board.messages.each do |m|
|
||||||
User.current.at_messages.unviewed('Message', m.id).each {|x| x.viewed!}
|
User.current.at_messages.unviewed('Message', m.id).each {|x| x.viewed!}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
elsif @course
|
elsif @course
|
||||||
query_course_messages = @board.messages
|
query_course_messages = @board.messages
|
||||||
query_course_messages.each do |query_course_message|
|
query_course_messages.each do |query_course_message|
|
||||||
|
@ -106,43 +105,19 @@ class BoardsController < ApplicationController
|
||||||
@is_new = params[:is_new]
|
@is_new = params[:is_new]
|
||||||
@topic_count = @board ? @board.topics.count : 0
|
@topic_count = @board ? @board.topics.count : 0
|
||||||
if @project
|
if @project
|
||||||
@topic_pages = Paginator.new @topic_count, per_page_option, params['page']
|
if @board
|
||||||
#现在发布帖子的时候置顶功能已经没有了。所以取消这个置顶排序 #{Message.table_name}.sticky DESC,
|
limit = 10;
|
||||||
@topics = @board.topics.
|
@topic_count = @board.topics.count();
|
||||||
reorder("#{Message.table_name}.created_on desc").
|
@topic_pages = (params[:page] ? params[:page].to_i + 1 : 0) *10
|
||||||
includes(:last_reply).
|
@topics = @board.topics.reorder("#{Message.table_name}.sticky DESC, COALESCE(last_replies_messages.created_on, #{Message.table_name}.created_on) desc").
|
||||||
limit(@topic_pages.per_page).
|
limit(limit).offset(@topic_pages).includes(:last_reply).
|
||||||
offset(@topic_pages.offset).
|
preload(:author, {:last_reply => :author}).all();
|
||||||
|
else
|
||||||
preload(:author, {:last_reply => :author}).
|
@topics = [];
|
||||||
all
|
end
|
||||||
elsif @course
|
elsif @course
|
||||||
#
|
|
||||||
# board_topics = @board ? @board.topics.reorder("#{Message.table_name}.sticky DESC, #{Message.table_name}.created_on desc").
|
|
||||||
# includes(:last_reply).
|
|
||||||
# # limit(@topic_pages.per_page).
|
|
||||||
# # offset(@topic_pages.offset).
|
|
||||||
#
|
|
||||||
# preload(:author, {:last_reply => :author}).
|
|
||||||
# all : []
|
|
||||||
# @topics = paginateHelper board_topics,10
|
|
||||||
if (@board)
|
if (@board)
|
||||||
limit = 10;
|
limit = 10;
|
||||||
#pageno = params[:page];
|
|
||||||
#if(pageno == nil || pageno=='')
|
|
||||||
# dw_topic = nil;
|
|
||||||
# if( params[:parent_id]!=nil && params[:parent_id]!='' )
|
|
||||||
# dw_topic = @board.topics.where(id:params[:parent_id]).first();
|
|
||||||
# end
|
|
||||||
# if( dw_topic != nil )
|
|
||||||
# dw_count = @board.topics.where('(sticky>?) or (sticky=? and created_on>?)',dw_topic.sticky,dw_topic.sticky,dw_topic.created_on).count();
|
|
||||||
# dw_count = dw_count+1;
|
|
||||||
# pageno = dw_count%10==0 ? (dw_count/limit) : (dw_count/limit+1)
|
|
||||||
# end
|
|
||||||
#end
|
|
||||||
#if(pageno == nil || pageno=='')
|
|
||||||
# pageno=1;
|
|
||||||
#end
|
|
||||||
@topic_count = @board.topics.count();
|
@topic_count = @board.topics.count();
|
||||||
@topic_pages = (params[:page] ? params[:page].to_i + 1 : 0) *10
|
@topic_pages = (params[:page] ? params[:page].to_i + 1 : 0) *10
|
||||||
@topics = @board.topics.reorder("#{Message.table_name}.sticky DESC, COALESCE(last_replies_messages.created_on, #{Message.table_name}.created_on) desc").
|
@topics = @board.topics.reorder("#{Message.table_name}.sticky DESC, COALESCE(last_replies_messages.created_on, #{Message.table_name}.created_on) desc").
|
||||||
|
@ -225,6 +200,16 @@ class BoardsController < ApplicationController
|
||||||
redirect_to_settings_in_projects
|
redirect_to_settings_in_projects
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def join_to_org_subfields
|
||||||
|
if params[:id]
|
||||||
|
@board = Board.find(params[:id])
|
||||||
|
@org_subfield_ids = params[:org_subfield_ids]
|
||||||
|
@org_subfield_ids.each do |id|
|
||||||
|
OrgSubfieldBoard.create(:org_subfield_id => id.to_i, :board_id => params[:id].to_i)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def redirect_to_settings_in_projects
|
def redirect_to_settings_in_projects
|
||||||
redirect_to settings_project_url(@project, :tab => 'boards')
|
redirect_to settings_project_url(@project, :tab => 'boards')
|
||||||
|
|
|
@ -27,7 +27,12 @@ class CommentsController < ApplicationController
|
||||||
raise Unauthorized unless @news.commentable?
|
raise Unauthorized unless @news.commentable?
|
||||||
|
|
||||||
@comment = Comment.new
|
@comment = Comment.new
|
||||||
@project ? @comment.comments = params[:comment][:comments] : @comment.comments = params[:comment]
|
#@project ? @comment.comments = params[:comment][:comments] : @comment.comments = params[:comment]
|
||||||
|
if params[:user_activity_id]
|
||||||
|
@comment.comments = params[:comment]
|
||||||
|
else
|
||||||
|
@comment.comments = params[:comment][:comments]
|
||||||
|
end
|
||||||
@comment.author = User.current
|
@comment.author = User.current
|
||||||
if @news.comments << @comment
|
if @news.comments << @comment
|
||||||
if params[:asset_id]
|
if params[:asset_id]
|
||||||
|
@ -48,7 +53,7 @@ class CommentsController < ApplicationController
|
||||||
# end
|
# end
|
||||||
# end
|
# end
|
||||||
# # <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD>̬<EFBFBD>ļ<EFBFBD>¼add end
|
# # <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD>̬<EFBFBD>ļ<EFBFBD>¼add end
|
||||||
flash[:notice] = l(:label_comment_added)
|
#flash[:notice] = l(:label_comment_added)
|
||||||
course_activity = CourseActivity.where("course_act_type='News' and course_act_id =#{@news.id}").first
|
course_activity = CourseActivity.where("course_act_type='News' and course_act_id =#{@news.id}").first
|
||||||
if course_activity
|
if course_activity
|
||||||
course_activity.updated_at = Time.now
|
course_activity.updated_at = Time.now
|
||||||
|
|
|
@ -293,10 +293,15 @@ class CoursesController < ApplicationController
|
||||||
@all_members = searchTeacherAndAssistant(@course)
|
@all_members = searchTeacherAndAssistant(@course)
|
||||||
@members = @all_members
|
@members = @all_members
|
||||||
when '2'
|
when '2'
|
||||||
@subPage_title = l :label_student_list
|
if @course.open_student == 1 || User.current.member_of_course?(@course)
|
||||||
page = params[:page].nil? ? 0 : (params['page'].to_i - 1)
|
@subPage_title = l :label_student_list
|
||||||
@all_members = student_homework_score(0,page, 10,"desc")
|
page = params[:page].nil? ? 0 : (params['page'].to_i - 1)
|
||||||
@members = @all_members
|
@all_members = student_homework_score(0,page, 10,"desc")
|
||||||
|
@members = @all_members
|
||||||
|
else
|
||||||
|
render_403
|
||||||
|
return
|
||||||
|
end
|
||||||
end
|
end
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if params[:page]
|
if params[:page]
|
||||||
|
@ -394,6 +399,25 @@ class CoursesController < ApplicationController
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def private_or_public
|
||||||
|
if @course.is_public == 0
|
||||||
|
@course.update_attributes(:is_public => 1)
|
||||||
|
else
|
||||||
|
@course.update_attributes(:is_public => 0)
|
||||||
|
end
|
||||||
|
if @course.is_public == 0
|
||||||
|
course_status = CourseStatus.find_by_course_id(@course.id)
|
||||||
|
course_status.destroy if course_status
|
||||||
|
elsif @course.is_public == 1
|
||||||
|
course_status = CourseStatus.find_by_course_id(@course.id)
|
||||||
|
course_status.destroy if course_status
|
||||||
|
course_status = CourseStatus.create(:course_id => @course.id, :grade => 0)
|
||||||
|
end
|
||||||
|
respond_to do |format|
|
||||||
|
format.js
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def search_member
|
def search_member
|
||||||
if User.current.allowed_to?(:as_teacher,@course) || User.current.admin
|
if User.current.allowed_to?(:as_teacher,@course) || User.current.admin
|
||||||
q = "#{params[:name].strip}"
|
q = "#{params[:name].strip}"
|
||||||
|
|
|
@ -485,7 +485,7 @@ class ExerciseController < ApplicationController
|
||||||
ea.answer_text = params[:answer_text]
|
ea.answer_text = params[:answer_text]
|
||||||
if ea.save
|
if ea.save
|
||||||
@percent = get_percent(@exercise,User.current)
|
@percent = get_percent(@exercise,User.current)
|
||||||
render :json => {:text => pv.vote_text,:percent => format("%.2f", @percent)}
|
render :json => {:text => ea.answer_text,:percent => format("%.2f", @percent)}
|
||||||
else
|
else
|
||||||
render :json => {:text => "failure"}
|
render :json => {:text => "failure"}
|
||||||
end
|
end
|
||||||
|
|
|
@ -63,6 +63,7 @@ class HomeworkCommonController < ApplicationController
|
||||||
end
|
end
|
||||||
@homework.end_time = params[:homework_common][:end_time] || Time.now
|
@homework.end_time = params[:homework_common][:end_time] || Time.now
|
||||||
@homework.course_id = params[:course_id]
|
@homework.course_id = params[:course_id]
|
||||||
|
@homework.anonymous_comment = params[:homework_common][:anonymous_comment] ? params[:homework_common][:anonymous_comment] : 1
|
||||||
|
|
||||||
homework_detail_manual = @homework.homework_detail_manual || HomeworkDetailManual.new
|
homework_detail_manual = @homework.homework_detail_manual || HomeworkDetailManual.new
|
||||||
if @homework.publish_time <= Date.today && homework_detail_manual.comment_status == 0
|
if @homework.publish_time <= Date.today && homework_detail_manual.comment_status == 0
|
||||||
|
|
|
@ -81,7 +81,8 @@ class IssuesController < ApplicationController
|
||||||
@status_id = params[:status_id]
|
@status_id = params[:status_id]
|
||||||
@subject = params[:subject]
|
@subject = params[:subject]
|
||||||
@issue_count = @query.issue_count
|
@issue_count = @query.issue_count
|
||||||
@issue_pages = Paginator.new @issue_count, @limit, params['page'].to_i + 1
|
@issue_pages = Paginator.new @issue_count, @limit, params['page']
|
||||||
|
params[:page] = (params[:page] || 1).to_i + 1 #页码需要加1
|
||||||
@offset ||= @issue_pages.offset
|
@offset ||= @issue_pages.offset
|
||||||
@issues = @query.issues(:include => [:assigned_to, :tracker, :priority, :category, :fixed_version],
|
@issues = @query.issues(:include => [:assigned_to, :tracker, :priority, :category, :fixed_version],
|
||||||
:order => sort_clause,
|
:order => sort_clause,
|
||||||
|
|
|
@ -22,8 +22,8 @@ class MessagesController < ApplicationController
|
||||||
default_search_scope :messages
|
default_search_scope :messages
|
||||||
before_filter :find_board, :only => [:new, :preview,:edit]
|
before_filter :find_board, :only => [:new, :preview,:edit]
|
||||||
before_filter :find_attachments, :only => [:preview]
|
before_filter :find_attachments, :only => [:preview]
|
||||||
before_filter :find_message, :except => [:new, :preview]
|
before_filter :find_message, :except => [:new, :preview, :join_org_subfield, :get_subfield_on_click_org, :join_org_subfields]
|
||||||
before_filter :authorize, :except => [:preview, :edit, :destroy, :new]
|
before_filter :authorize, :except => [:preview, :edit, :destroy, :new,:join_org_subfield, :get_subfield_on_click_org, :join_org_subfields]
|
||||||
|
|
||||||
helper :boards
|
helper :boards
|
||||||
helper :watchers
|
helper :watchers
|
||||||
|
@ -270,7 +270,12 @@ class MessagesController < ApplicationController
|
||||||
if params[:is_board]
|
if params[:is_board]
|
||||||
redirect_to project_boards_url(@project)
|
redirect_to project_boards_url(@project)
|
||||||
else
|
else
|
||||||
redirect_to board_message_url(@board, @topic, :r => @reply)
|
if @message.parent
|
||||||
|
redirect_to board_message_url(@board, @message.parent, :r => r)
|
||||||
|
else
|
||||||
|
redirect_to project_board_url(@project, @board)
|
||||||
|
end
|
||||||
|
# redirect_to board_message_url(@board, @topic, :r => @reply)
|
||||||
end
|
end
|
||||||
elsif @course
|
elsif @course
|
||||||
if params[:is_board]
|
if params[:is_board]
|
||||||
|
@ -301,6 +306,31 @@ class MessagesController < ApplicationController
|
||||||
render :partial => 'common/preview'
|
render :partial => 'common/preview'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def join_org_subfield
|
||||||
|
@message = Message.find(params[:message_id])
|
||||||
|
@organizations = User.current.organizations
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_subfield_on_click_org
|
||||||
|
@org = Organization.find(params[:organization_id])
|
||||||
|
end
|
||||||
|
|
||||||
|
def join_org_subfields
|
||||||
|
org_subfield_ids = params[:org_subfields]
|
||||||
|
@message = Message.find(params[:id])
|
||||||
|
# @message.update_attribute(:updated_on, Time.now)
|
||||||
|
type = @message.board.course_id.nil? ? "Project":"Course"
|
||||||
|
org_subfield_ids.each do |field_id|
|
||||||
|
OrgSubfieldMessage.create(:org_subfield_id => field_id.to_i, :message_id => @message.id, :message_type => type)
|
||||||
|
org_acts = OrgActivity.where("container_type='OrgSubfield' and container_id=? and org_act_type='Message' and org_act_id=?", field_id.to_i, @message.id)
|
||||||
|
if org_acts.all.size() > 0
|
||||||
|
org_acts.first.update_attribute(:updated_at, Time.now)
|
||||||
|
else
|
||||||
|
OrgActivity.create(:container_type => 'OrgSubfield', :container_id => field_id.to_i, :org_act_type=>'Message', :org_act_id => @message.id, :user_id => User.current.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def find_message
|
def find_message
|
||||||
return unless find_board
|
return unless find_board
|
||||||
|
|
|
@ -69,20 +69,25 @@ class NewsController < ApplicationController
|
||||||
elsif @course
|
elsif @course
|
||||||
if (User.current.admin? || @course.is_public == 1 || (@course.is_public == 0 && User.current.member_of_course?(@course)))
|
if (User.current.admin? || @course.is_public == 1 || (@course.is_public == 0 && User.current.member_of_course?(@course)))
|
||||||
scope = @course ? @course.news.course_visible : News.course_visible
|
scope = @course ? @course.news.course_visible : News.course_visible
|
||||||
|
news_arr = scope.map{|news| news.id}
|
||||||
|
|
||||||
|
|
||||||
|
@page = params[:page] ? params[:page].to_i + 1 : 0
|
||||||
|
news_page = @page *10
|
||||||
@news_count = scope.count
|
@news_count = scope.count
|
||||||
|
@is_new = params[:is_new]
|
||||||
@q = params[:subject]
|
@q = params[:subject]
|
||||||
if params[:subject].nil? || params[:subject].blank?
|
if params[:subject].nil? || params[:subject].blank?
|
||||||
scope_order = scope.all(:include => [:author, :course],
|
scope_order = scope.reorder("#{News.table_name}.sticky DESC, #{News.table_name}.created_on DESC").limit(10).offset(news_page).includes(:author,:course).all()
|
||||||
:order => "#{News.table_name}.sticky DESC, #{News.table_name}.created_on DESC")
|
#all(:include => [:author, :course],
|
||||||
|
#:order => "#{News.table_name}.sticky DESC, #{News.table_name}.created_on DESC").limit(10).offset(news_page)
|
||||||
else
|
else
|
||||||
scope_order = scope.where("#{News.table_name}.title like '#{'%' << params[:subject].to_s << '%'}'").all(:include => [:author, :course],
|
scope_order = scope.where("#{News.table_name}.title like '#{'%' << params[:subject].to_s << '%'}'").reorder("#{News.table_name}.sticky DESC, #{News.table_name}.created_on DESC").limit(10).offset(news_page).includes(:author,:course).all()
|
||||||
:order => "#{News.table_name}.sticky DESC, #{News.table_name}.created_on DESC")
|
#.all(:include => [:author, :course],:order => "#{News.table_name}.sticky DESC, #{News.table_name}.created_on DESC")
|
||||||
end
|
end
|
||||||
|
|
||||||
# :offset => @offset,
|
@newss = scope_order
|
||||||
# :limit => @limit)
|
#@newss = paginateHelper scope_order,10
|
||||||
@newss = paginateHelper scope_order,10
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html {
|
format.html {
|
||||||
@news = News.new
|
@news = News.new
|
||||||
|
@ -130,6 +135,7 @@ class NewsController < ApplicationController
|
||||||
result = cs.show_course_news params,User.current
|
result = cs.show_course_news params,User.current
|
||||||
@news = result[:news]
|
@news = result[:news]
|
||||||
@comments = result[:comments]
|
@comments = result[:comments]
|
||||||
|
@comment = Comment.new
|
||||||
#@comments = @news.comments
|
#@comments = @news.comments
|
||||||
#@comments.reverse! if User.current.wants_comments_in_reverse_order?
|
#@comments.reverse! if User.current.wants_comments_in_reverse_order?
|
||||||
#modify by nwb
|
#modify by nwb
|
||||||
|
@ -147,7 +153,22 @@ class NewsController < ApplicationController
|
||||||
@news = News.new(:project => @project, :author => User.current)
|
@news = News.new(:project => @project, :author => User.current)
|
||||||
elsif @course
|
elsif @course
|
||||||
@news = News.new(:course => @course, :author => User.current)
|
@news = News.new(:course => @course, :author => User.current)
|
||||||
render :layout => 'base_courses'
|
#render :layout => 'base_courses'
|
||||||
|
@news.safe_attributes = params[:news]
|
||||||
|
@news.save_attachments(params[:attachments])
|
||||||
|
if @news.save
|
||||||
|
if params[:asset_id]
|
||||||
|
ids = params[:asset_id].split(',')
|
||||||
|
update_kindeditor_assets_owner ids,@news.id,OwnerTypeHelper::NEWS
|
||||||
|
end
|
||||||
|
render_attachment_warning_if_needed(@news)
|
||||||
|
#flash[:notice] = l(:notice_successful_create)
|
||||||
|
redirect_to course_news_index_url(@course)
|
||||||
|
else
|
||||||
|
redirect_to course_news_index_url(@course)
|
||||||
|
#layout_file = 'base_courses'
|
||||||
|
#render :action => 'new', :layout => layout_file
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -210,7 +231,7 @@ class NewsController < ApplicationController
|
||||||
@news.save_attachments(params[:attachments])
|
@news.save_attachments(params[:attachments])
|
||||||
if @news.save
|
if @news.save
|
||||||
render_attachment_warning_if_needed(@news)
|
render_attachment_warning_if_needed(@news)
|
||||||
flash[:notice] = l(:notice_successful_update)
|
#flash[:notice] = l(:notice_successful_update)
|
||||||
redirect_to news_url(@news)
|
redirect_to news_url(@news)
|
||||||
else
|
else
|
||||||
#flash[:error] = l(:notice_successful_update)
|
#flash[:error] = l(:notice_successful_update)
|
||||||
|
|
|
@ -1,16 +1,18 @@
|
||||||
class OrgDocumentCommentsController < ApplicationController
|
class OrgDocumentCommentsController < ApplicationController
|
||||||
before_filter :find_organization, :only => [:new, :create, :show, :index]
|
before_filter :find_organization, :only => [:new, :create, :show, :index]
|
||||||
|
helper :attachments
|
||||||
layout 'base_org'
|
layout 'base_org'
|
||||||
|
|
||||||
def new
|
def new
|
||||||
@org_document_comment = OrgDocumentComment.new
|
@org_document_comment = OrgDocumentComment.new
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@org_document_comment = OrgDocumentComment.new(:organization_id => @organization.id, :creator_id => User.current.id)
|
@org_document_comment = OrgDocumentComment.new(:organization_id => @organization.id, :creator_id => User.current.id)
|
||||||
@org_document_comment.title = params[:org_document_comment][:title]
|
@org_document_comment.title = params[:org_document_comment][:title]
|
||||||
@org_document_comment.content = params[:org_document_comment][:content]
|
@org_document_comment.content = params[:org_document_comment][:content]
|
||||||
|
@org_document_comment.save_attachments(params[:attachments])
|
||||||
if params[:field_id]
|
if params[:field_id]
|
||||||
@org_document_comment.org_subfield_id = params[:field_id].to_i
|
@org_document_comment.org_subfield_id = params[:field_id].to_i
|
||||||
end
|
end
|
||||||
|
@ -26,6 +28,7 @@ class OrgDocumentCommentsController < ApplicationController
|
||||||
redirect_to new_org_document_comment_path(:organization_id => @organization.id)
|
redirect_to new_org_document_comment_path(:organization_id => @organization.id)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
@document = OrgDocumentComment.find(params[:id])
|
@document = OrgDocumentComment.find(params[:id])
|
||||||
end
|
end
|
||||||
|
@ -37,9 +40,12 @@ class OrgDocumentCommentsController < ApplicationController
|
||||||
render_403
|
render_403
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def update
|
def update
|
||||||
@org_document = OrgDocumentComment.find(params[:id])
|
@org_document = OrgDocumentComment.find(params[:id])
|
||||||
@org_document.update_attributes(:title => params[:org_document_comment][:title], :content => params[:org_document_comment][:content])
|
@org_document.update_attributes(:title => params[:org_document_comment][:title], :content => params[:org_document_comment][:content])
|
||||||
|
Attachment.attach_files(@org_document, params[:attachments])
|
||||||
|
# @org_document.save_attachments(params[:attachments])
|
||||||
if @org_document.parent.nil?
|
if @org_document.parent.nil?
|
||||||
act = OrgActivity.where("org_act_type='OrgDocumentComment' and org_act_id =?", @org_document.id).first
|
act = OrgActivity.where("org_act_type='OrgDocumentComment' and org_act_id =?", @org_document.id).first
|
||||||
act.update_attributes(:updated_at => @org_document.updated_at)
|
act.update_attributes(:updated_at => @org_document.updated_at)
|
||||||
|
|
|
@ -6,6 +6,17 @@ class OrgSubfieldsController < ApplicationController
|
||||||
@subfield.update_attributes(:priority => @subfield.id, :field_type => params[:field_type])
|
@subfield.update_attributes(:priority => @subfield.id, :field_type => params[:field_type])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def show
|
||||||
|
@org_subfield = OrgSubfield.find(params[:id])
|
||||||
|
@organization = @org_subfield.organization.id
|
||||||
|
@messages = []
|
||||||
|
@messages << @org_subfield.org_document_comments
|
||||||
|
@messages << @org_subfield.messages
|
||||||
|
@messages.sort{|a, b| b.updated_at <=> a.updated_at}
|
||||||
|
respond_to do |format|
|
||||||
|
format.html{render :layout => 'base_org'}
|
||||||
|
end
|
||||||
|
end
|
||||||
def destroy
|
def destroy
|
||||||
@subfield = OrgSubfield.find(params[:id])
|
@subfield = OrgSubfield.find(params[:id])
|
||||||
@organization = Organization.find(@subfield.organization_id)
|
@organization = Organization.find(@subfield.organization_id)
|
||||||
|
@ -18,7 +29,4 @@ class OrgSubfieldsController < ApplicationController
|
||||||
@subfield.update_attributes(:name => params[:name])
|
@subfield.update_attributes(:name => params[:name])
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
|
||||||
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -71,7 +71,7 @@ class OrganizationsController < ApplicationController
|
||||||
if params[:org_subfield_id]
|
if params[:org_subfield_id]
|
||||||
@org_subfield = OrgSubfield.find(params[:org_subfield_id])
|
@org_subfield = OrgSubfield.find(params[:org_subfield_id])
|
||||||
@org_subfield_ids = @org_subfield.org_document_comments.map(&:id) << 0
|
@org_subfield_ids = @org_subfield.org_document_comments.map(&:id) << 0
|
||||||
@org_activities = OrgActivity.where("org_act_type='OrgDocumentComment'and org_act_id in (#{@org_subfield_ids.join(",")})").order('updated_at desc').page(params[:page] || 1).per(10)
|
@org_activities = OrgActivity.where("(org_act_type='OrgDocumentComment'and org_act_id in (#{@org_subfield_ids.join(",")})) || (container_type='OrgSubfield' and container_id=#{@org_subfield.id})").order('updated_at desc').page(params[:page] || 1).per(10)
|
||||||
else
|
else
|
||||||
project_ids = @organization.projects.map(&:id) << 0
|
project_ids = @organization.projects.map(&:id) << 0
|
||||||
course_ids = @organization.courses.map(&:id) << 0
|
course_ids = @organization.courses.map(&:id) << 0
|
||||||
|
|
|
@ -649,7 +649,8 @@ class StudentWorkController < ApplicationController
|
||||||
if revise_attachments.count == 2
|
if revise_attachments.count == 2
|
||||||
revise_attachments.last.destroy
|
revise_attachments.last.destroy
|
||||||
end
|
end
|
||||||
#@attachment = @work.attachments.where("attachtype = 7").order("created_on desc").first
|
attachment = @work.attachments.where("attachtype = 7").first
|
||||||
|
attachment.update_attributes(:description => params[:description])
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
end
|
end
|
||||||
|
|
|
@ -522,6 +522,7 @@ class UsersController < ApplicationController
|
||||||
else
|
else
|
||||||
homework.publish_time = params[:homework_common][:publish_time]
|
homework.publish_time = params[:homework_common][:publish_time]
|
||||||
end
|
end
|
||||||
|
homework.anonymous_comment = params[:homework_common][:anonymous_comment] ? params[:homework_common][:anonymous_comment] : 1
|
||||||
homework.homework_type = params[:homework_type].to_i || 1
|
homework.homework_type = params[:homework_type].to_i || 1
|
||||||
homework.late_penalty = 10
|
homework.late_penalty = 10
|
||||||
homework.teacher_priority = 1
|
homework.teacher_priority = 1
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
require 'zip'
|
#coding=utf-8
|
||||||
|
|
||||||
|
require "base64"
|
||||||
|
require 'zip'
|
||||||
|
|
||||||
class ZipdownController < ApplicationController
|
class ZipdownController < ApplicationController
|
||||||
#查找项目(课程)
|
#查找项目(课程)
|
||||||
before_filter :find_project_by_bid_id, :only => [:assort]
|
before_filter :find_project_by_bid_id, :only => [:assort]
|
||||||
|
@ -11,7 +15,13 @@ class ZipdownController < ApplicationController
|
||||||
def download
|
def download
|
||||||
if User.current.logged?
|
if User.current.logged?
|
||||||
begin
|
begin
|
||||||
send_file "#{OUTPUT_FOLDER}/#{params[:file]}", :filename => filename_for_content_disposition(params[:filename]), :type => detect_content_type(params[:file])
|
if params[:base64file]
|
||||||
|
file = Base64.decode64(params[:base64file])
|
||||||
|
file = file.sub('*', '+')
|
||||||
|
send_file "#{OUTPUT_FOLDER}/#{file}", :filename => filename_for_content_disposition(file), :type => detect_content_type(file)
|
||||||
|
else
|
||||||
|
send_file "#{OUTPUT_FOLDER}/#{params[:file]}", :filename => filename_for_content_disposition(params[:filename]), :type => detect_content_type(params[:file])
|
||||||
|
end
|
||||||
rescue => e
|
rescue => e
|
||||||
render file: 'public/no_file_found.html'
|
render file: 'public/no_file_found.html'
|
||||||
end
|
end
|
||||||
|
@ -107,11 +117,17 @@ class ZipdownController < ApplicationController
|
||||||
bid_homework_path, OUTPUT_FOLDER)
|
bid_homework_path, OUTPUT_FOLDER)
|
||||||
}
|
}
|
||||||
[{files:[out_file.file_path], count: 1, index: 1,
|
[{files:[out_file.file_path], count: 1, index: 1,
|
||||||
real_file: out_file.file_path, file: File.basename(out_file.file_path),
|
real_file: out_file.file_path,
|
||||||
|
file: File.basename(out_file.file_path),
|
||||||
|
base64file: encode64(File.basename(out_file.file_path)),
|
||||||
size:(out_file.pack_size / 1024.0 / 1024.0).round(2)
|
size:(out_file.pack_size / 1024.0 / 1024.0).round(2)
|
||||||
}]
|
}]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def encode64(str)
|
||||||
|
Base64.encode64(str).sub('+', '*')
|
||||||
|
end
|
||||||
|
|
||||||
def zip_homework_common homework_common
|
def zip_homework_common homework_common
|
||||||
bid_homework_path = []
|
bid_homework_path = []
|
||||||
digests = []
|
digests = []
|
||||||
|
@ -129,7 +145,9 @@ class ZipdownController < ApplicationController
|
||||||
bid_homework_path, OUTPUT_FOLDER)
|
bid_homework_path, OUTPUT_FOLDER)
|
||||||
}
|
}
|
||||||
[{files:[out_file.file_path], count: 1, index: 1,
|
[{files:[out_file.file_path], count: 1, index: 1,
|
||||||
real_file: out_file.file_path, file: File.basename(out_file.file_path),
|
real_file: out_file.file_path,
|
||||||
|
file: File.basename(out_file.file_path),
|
||||||
|
base64file: encode64(File.basename(out_file.file_path)),
|
||||||
size:(out_file.pack_size / 1024.0 / 1024.0).round(2)
|
size:(out_file.pack_size / 1024.0 / 1024.0).round(2)
|
||||||
}]
|
}]
|
||||||
end
|
end
|
||||||
|
|
|
@ -156,7 +156,6 @@ class Mailer < ActionMailer::Base
|
||||||
def send_for_user_activities(user, date_to, days)
|
def send_for_user_activities(user, date_to, days)
|
||||||
date_from = date_to - days.days
|
date_from = date_to - days.days
|
||||||
subject = "[ #{user.show_name}#{l(:label_day_mail)}]"
|
subject = "[ #{user.show_name}#{l(:label_day_mail)}]"
|
||||||
@subject = " #{user.show_name}#{l(:label_day_mail)}"
|
|
||||||
date_from = "#{date_from} 17:59:59"
|
date_from = "#{date_from} 17:59:59"
|
||||||
date_to = "#{date_to} 17:59:59"
|
date_to = "#{date_to} 17:59:59"
|
||||||
# 生成token用于直接点击登录
|
# 生成token用于直接点击登录
|
||||||
|
@ -268,7 +267,10 @@ class Mailer < ActionMailer::Base
|
||||||
|
|
||||||
has_content = [@issues,@issues_journals,@course_messages,@project_messages,@course_news,@course_news_comments,@project_news,@project_news_comments,@project_attachments,
|
has_content = [@issues,@issues_journals,@course_messages,@project_messages,@course_news,@course_news_comments,@project_news,@project_news_comments,@project_attachments,
|
||||||
@course_journal_messages,@user_journal_messages,@project_journal_messages,@forums,@memos,@attachments,@bids,@wiki_contents].any? {|o| !o.empty?}
|
@course_journal_messages,@user_journal_messages,@project_journal_messages,@forums,@memos,@attachments,@bids,@wiki_contents].any? {|o| !o.empty?}
|
||||||
|
total_count = @issues.count + @issues_journals.count + @course_messages.count + @project_messages.count + @course_news.count + @course_news_comments.count + @project_news.count + @project_news_comments.count +
|
||||||
|
@project_attachments.count + @course_journal_messages.count + @user_journal_messages.count + @project_journal_messages.count + @forums.count + @memos.count + @attachments.count +
|
||||||
|
@bids.count + @wiki_contents.count
|
||||||
|
@subject = " #{user.show_name}#{l(:label_day_mail_first)}#{total_count}#{l(:label_day_mail_last)}"
|
||||||
mylogger.debug "Sent activity mail : #{user.mail} - #{has_content}"
|
mylogger.debug "Sent activity mail : #{user.mail} - #{has_content}"
|
||||||
#有内容才发,没有不发
|
#有内容才发,没有不发
|
||||||
mail :to => user.mail,:subject => subject if has_content
|
mail :to => user.mail,:subject => subject if has_content
|
||||||
|
|
|
@ -23,6 +23,8 @@ class Message < ActiveRecord::Base
|
||||||
belongs_to :board,:touch => true
|
belongs_to :board,:touch => true
|
||||||
belongs_to :author, :class_name => 'User', :foreign_key => 'author_id'
|
belongs_to :author, :class_name => 'User', :foreign_key => 'author_id'
|
||||||
has_many :praise_tread, as: :praise_tread_object, dependent: :destroy
|
has_many :praise_tread, as: :praise_tread_object, dependent: :destroy
|
||||||
|
has_many :org_subfield_messages, :dependent => :destroy
|
||||||
|
has_many :org_subfields, :through => :org_subfield_messages
|
||||||
|
|
||||||
acts_as_tree :counter_cache => :replies_count, :order => "#{Message.table_name}.created_on ASC"
|
acts_as_tree :counter_cache => :replies_count, :order => "#{Message.table_name}.created_on ASC"
|
||||||
acts_as_attachable
|
acts_as_attachable
|
||||||
|
|
|
@ -5,6 +5,7 @@ class OrgDocumentComment < ActiveRecord::Base
|
||||||
belongs_to :creator, :class_name => 'User', :foreign_key => 'creator_id'
|
belongs_to :creator, :class_name => 'User', :foreign_key => 'creator_id'
|
||||||
has_many :editor_of_documents, :dependent => :destroy
|
has_many :editor_of_documents, :dependent => :destroy
|
||||||
acts_as_tree :order => "#{OrgDocumentComment.table_name}.sticky asc, #{OrgDocumentComment.table_name}.created_at desc"
|
acts_as_tree :order => "#{OrgDocumentComment.table_name}.sticky asc, #{OrgDocumentComment.table_name}.created_at desc"
|
||||||
|
acts_as_attachable
|
||||||
has_many :org_acts, :class_name => 'OrgActivity',:as =>:org_act ,:dependent => :destroy
|
has_many :org_acts, :class_name => 'OrgActivity',:as =>:org_act ,:dependent => :destroy
|
||||||
after_create :document_save_as_org_activity
|
after_create :document_save_as_org_activity
|
||||||
|
|
||||||
|
@ -17,4 +18,9 @@ class OrgDocumentComment < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def project
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,6 +2,8 @@ class OrgSubfield < ActiveRecord::Base
|
||||||
belongs_to :organization, :foreign_key => :organization_id
|
belongs_to :organization, :foreign_key => :organization_id
|
||||||
has_many :org_document_comments, :dependent => :destroy
|
has_many :org_document_comments, :dependent => :destroy
|
||||||
has_many :files
|
has_many :files
|
||||||
|
has_many :org_subfield_messages, :dependent => :destroy
|
||||||
|
has_many :messages, :through => :org_subfield_messages
|
||||||
acts_as_attachable
|
acts_as_attachable
|
||||||
|
|
||||||
def project
|
def project
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
class OrgSubfieldMessage < ActiveRecord::Base
|
||||||
|
# attr_accessible :title, :body
|
||||||
|
end
|
|
@ -344,7 +344,8 @@ class User < Principal
|
||||||
user_feedback_count = UserFeedbackMessage.where("user_id =? and viewed =? and created_at >?", User.current.id, 0, User.current.onclick_time.onclick_time).count
|
user_feedback_count = UserFeedbackMessage.where("user_id =? and viewed =? and created_at >?", User.current.id, 0, User.current.onclick_time.onclick_time).count
|
||||||
user_memo_count = MemoMessage.where("user_id =? and viewed =? and created_at >?", User.current.id, 0, User.current.onclick_time.onclick_time).count
|
user_memo_count = MemoMessage.where("user_id =? and viewed =? and created_at >?", User.current.id, 0, User.current.onclick_time.onclick_time).count
|
||||||
system_messages_count = SystemMessage.where("created_at >?", User.current.onclick_time.onclick_time).count
|
system_messages_count = SystemMessage.where("created_at >?", User.current.onclick_time.onclick_time).count
|
||||||
messages_count = course_count + forge_count + user_feedback_count + user_memo_count + system_messages_count
|
at_count = AtMessage.where("user_id =? and viewed =? and created_at >?", User.current.id, 0, User.current.onclick_time.onclick_time).count
|
||||||
|
messages_count = course_count + forge_count + user_feedback_count + user_memo_count + system_messages_count + at_count
|
||||||
end
|
end
|
||||||
|
|
||||||
# 查询指派给我的缺陷记录
|
# 查询指派给我的缺陷记录
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
<% container.saved_attachments.each_with_index do |attachment, i| %>
|
<% container.saved_attachments.each_with_index do |attachment, i| %>
|
||||||
<span id="attachments_p<%= i %>" class="sub_btn">
|
<span id="attachments_p<%= i %>" class="sub_btn">
|
||||||
|
|
||||||
<%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly=>'readonly')%>
|
<%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'upload_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;") %>
|
<%#= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 255, :placeholder => l(:label_optional_description), :class => 'description', :style=>"display: inline-block;") %>
|
||||||
<span class="ispublic-label"><%= l(:field_is_public)%>:</span>
|
<!--<span class="ispublic-label"><%#= l(:field_is_public)%>:</span>-->
|
||||||
<%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public,attachment.is_public == 1 ? true : false, :class => 'is_public_checkbox')%>
|
<%#= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public,attachment.is_public == 1 ? true : false, :class => 'is_public_checkbox')%>
|
||||||
|
|
||||||
<%= 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') %>
|
||||||
<%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %>
|
<%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %>
|
||||||
|
@ -17,10 +17,10 @@
|
||||||
<% container.attachments.each_with_index do |attachment, i| %>
|
<% container.attachments.each_with_index do |attachment, i| %>
|
||||||
<span id="attachments_p<%= i %>" class="attachment">
|
<span id="attachments_p<%= i %>" class="attachment">
|
||||||
|
|
||||||
<%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly=>'readonly')%>
|
<%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'upload_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;") %>
|
<%#= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 255, :placeholder => l(:label_optional_description), :class => 'description', :style=>"display: inline-block;") %>
|
||||||
<span class="ispublic-label"><%= l(:field_is_public)%>:</span>
|
<!--<span class="ispublic-label"><%#= l(:field_is_public)%>:</span>-->
|
||||||
<%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public,attachment.is_public == 1 ? true : false, :class => 'is_public_checkbox')%>
|
<%#= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public,attachment.is_public == 1 ? true : false, :class => 'is_public_checkbox')%>
|
||||||
|
|
||||||
<%= 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"} %>
|
<%#= render :partial => 'tags/tag', :locals => {:obj => attachment, :object_flag => "6"} %>
|
||||||
|
@ -61,8 +61,7 @@
|
||||||
:are_you_sure => l(:text_are_you_sure),
|
:are_you_sure => l(:text_are_you_sure),
|
||||||
:file_count => l(:label_file_count),
|
:file_count => l(:label_file_count),
|
||||||
:delete_all_files => l(:text_are_you_sure_all),
|
:delete_all_files => l(:text_are_you_sure_all),
|
||||||
:lebel_file_uploding => l(:lebel_file_uploding),
|
:lebel_file_uploding => l(:lebel_file_uploding)
|
||||||
:containerid => "#{container.id}"
|
|
||||||
} %>
|
} %>
|
||||||
<% if container.nil? %>
|
<% if container.nil? %>
|
||||||
<span id="upload_file_count" :class="c_grey"><%= l(:label_no_file_uploaded)%></span>
|
<span id="upload_file_count" :class="c_grey"><%= l(:label_no_file_uploaded)%></span>
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
<span id="attachments_fields<%= container.id %>" class="attachments_fields" xmlns="http://www.w3.org/1999/html">
|
||||||
|
<% if defined?(container) && container && container.saved_attachments %>
|
||||||
|
<% if isReply %>
|
||||||
|
<% container.saved_attachments.each_with_index do |attachment, i| %>
|
||||||
|
<span id="attachments_p<%= i %>" class="sub_btn">
|
||||||
|
|
||||||
|
<%= 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;") %>
|
||||||
|
<span class="ispublic-label"><%= l(:field_is_public)%>:</span>
|
||||||
|
<%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public,attachment.is_public == 1 ? true : false, :class => 'is_public_checkbox')%>
|
||||||
|
|
||||||
|
<%= link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload') %>
|
||||||
|
<%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %>
|
||||||
|
</span>
|
||||||
|
<% end %>
|
||||||
|
<% else %>
|
||||||
|
<% container.attachments.each_with_index do |attachment, i| %>
|
||||||
|
<span id="attachments_p<%= i %>" class="attachment">
|
||||||
|
|
||||||
|
<%= 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;") %>
|
||||||
|
<span class="ispublic-label"><%= l(:field_is_public)%>:</span>
|
||||||
|
<%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public,attachment.is_public == 1 ? true : false, :class => 'is_public_checkbox')%>
|
||||||
|
|
||||||
|
<%= 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"} %>
|
||||||
|
|
||||||
|
<%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %>
|
||||||
|
</span>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
</span>
|
||||||
|
<script type='text/javascript'>
|
||||||
|
// function CompatibleSend()
|
||||||
|
// {
|
||||||
|
// var obj=document.getElementById("_file");
|
||||||
|
// var file= $(obj).clone();
|
||||||
|
// file.click();
|
||||||
|
// }
|
||||||
|
</script>
|
||||||
|
<span class="add_attachment">
|
||||||
|
<%#= button_tag "浏览", :type=>"button", :onclick=>"CompatibleSend();" %>
|
||||||
|
<!--%= link_to image_tag(),"javascript:void(0)", :onclick => "_file.click()"%-->
|
||||||
|
<%#= button_tag "#{l(:button_browse)}", :type=>"button", :onclick=>"file#{container.id}.click()",:class =>"sub_btn",:style => ie8? ? 'display:none' : '' %>
|
||||||
|
<% id ="file#{container.id}"%>
|
||||||
|
<a href="javascript:void(0);" class="AnnexBtn fl" style= "<%= ie8? ? 'display:none' : ''%>" onclick="$('#'+'<%= id %>').click();">上传附件</a>
|
||||||
|
<%= file_field_tag 'attachments[dummy][file]',
|
||||||
|
:id => "file#{container.id}",
|
||||||
|
:class => 'file_selector',
|
||||||
|
:multiple => true,
|
||||||
|
:onchange => "addInputFiles_board(this, '#{container.id}');",
|
||||||
|
: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),
|
||||||
|
:field_is_public => l(:field_is_public),
|
||||||
|
:are_you_sure => l(:text_are_you_sure),
|
||||||
|
:file_count => l(:label_file_count),
|
||||||
|
:delete_all_files => l(:text_are_you_sure_all),
|
||||||
|
:lebel_file_uploding => l(:lebel_file_uploding),
|
||||||
|
:containerid => "#{container.id}"
|
||||||
|
} %>
|
||||||
|
<% if container.nil? %>
|
||||||
|
<span id="upload_file_count" :class="c_grey"><%= l(:label_no_file_uploaded)%></span>
|
||||||
|
<% end %>
|
||||||
|
<!--(<%#= l(:label_max_size) %>: <%#= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %>)-->
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<% content_for :header_tags do %>
|
||||||
|
<%= javascript_include_tag 'attachments' %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
:max_file_size => Setting.attachment_max_size.to_i.kilobytes,
|
: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_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,
|
:max_concurrent_uploads => Redmine::Configuration['max_concurrent_ajax_uploads'].to_i,
|
||||||
:upload_path => uploads_path(:format => 'js', :project => container),
|
:upload_path => uploads_path(:format => 'js'),
|
||||||
:description_placeholder => l(:label_optional_description),
|
:description_placeholder => l(:label_optional_description),
|
||||||
:field_is_public => l(:field_is_public),
|
:field_is_public => l(:field_is_public),
|
||||||
:are_you_sure => l(:text_are_you_sure),
|
:are_you_sure => l(:text_are_you_sure),
|
||||||
|
|
|
@ -59,12 +59,14 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% if topics.count == 10 %>
|
<% if topics.count == 10 %>
|
||||||
<div id="show_more_course_topic" class="loadMore mt10 f_grey">展开更多<%= link_to "", boards_topic_path(@board, :course_id => @board.course.id ,:page => page), :id => "more_topic_link", :remote => "true", :class => "none" %></div>
|
<!--<div id="show_more_course_topic" class="loadMore mt10 f_grey">展开更多<%#= link_to "", boards_topic_path(@board, :course_id => @board.course.id ,:page => page), :id => "more_topic_link", :remote => "true", :class => "none" %></div>-->
|
||||||
|
<%= link_to "点击展开更多",boards_topic_path(@board, :course_id => @board.course.id ,:page => page),:id => "show_more_course_topic",:remote => "true",:class => "loadMore mt10 f_grey"%>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end%>
|
<% end%>
|
||||||
|
|
||||||
|
<!--
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$("#show_more_course_topic").mouseover(function () {
|
$("#show_more_course_topic").mouseover(function () {
|
||||||
$("#more_topic_link").click();
|
$("#more_topic_link").click();
|
||||||
});
|
});
|
||||||
</script>
|
</script>-->
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(function(){
|
||||||
|
$("#RSide").removeAttr("id");
|
||||||
|
$("#Container").css("width","1000px");
|
||||||
|
$("#message_subject").focus();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<div class="homepageRight mt0 ml10">
|
||||||
|
<div class="homepageRightBanner">
|
||||||
|
<div class="NewsBannerName">
|
||||||
|
编辑帖子
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<%= render :partial => 'boards/project_new_topic',
|
||||||
|
:locals => {:f => f, :edit_mode => edit_mode, :topic => topic, :project => project} %>
|
||||||
|
</div>
|
|
@ -0,0 +1,65 @@
|
||||||
|
<%= content_for(:header_tags) do %>
|
||||||
|
<%= import_ke(enable_at: true, prettify: false) %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<%= error_messages_for 'message' %>
|
||||||
|
<div class="resources mt10">
|
||||||
|
<div id="new_course_topic">
|
||||||
|
<div class="homepagePostBrief c_grey">
|
||||||
|
<div>
|
||||||
|
<input type="text" name="message[subject]" id="message_subject" class="InputBox w713" maxlength="255" onfocus="$('#topic_editor').show()" onkeyup="regexTopicSubject();" placeholder="发布帖子,请先输入帖子标题" value="<%= topic.subject%>" >
|
||||||
|
<p id="subjectmsg"></p>
|
||||||
|
</div>
|
||||||
|
<div id="topic_editor" style="display: none;">
|
||||||
|
<%if User.current.member_of?(project)%>
|
||||||
|
<div class="mt10">
|
||||||
|
<%= f.check_box :sticky, :value => topic.sticky%>
|
||||||
|
<%= label_tag 'message_sticky', l(:label_board_sticky) %>
|
||||||
|
<%= f.check_box :locked, :value => topic.locked%>
|
||||||
|
<%= label_tag 'message_locked', l(:label_board_locked) %>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
<div class="mt10">
|
||||||
|
<div id="message_quote" class="wiki" style="width: 92%;word-break: break-all;word-wrap: break-word;margin-left: 40px;"></div>
|
||||||
|
<%= text_area :quote,:quote,:style => 'display:none' %>
|
||||||
|
<%= hidden_field_tag :asset_id,params[:asset_id],:required => false,:style => 'display:none' %>
|
||||||
|
|
||||||
|
<%= f.kindeditor :content, :editor_id => 'message_content_editor',
|
||||||
|
:owner_id => topic.nil? ? 0: topic.id,
|
||||||
|
:owner_type => OwnerTypeHelper::MESSAGE,
|
||||||
|
:width => '100%',
|
||||||
|
:height => 300,
|
||||||
|
:minHeight=>300,
|
||||||
|
:class => 'talk_text fl',
|
||||||
|
:input_html => { :id => 'message_content',
|
||||||
|
:class => 'talk_text fl',
|
||||||
|
:maxlength => 5000 },
|
||||||
|
at_id: topic.id, at_type: topic.class.to_s
|
||||||
|
%>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<p id="message_content_span"></p>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="mt10">
|
||||||
|
<div class="fl" id="topic_attachments">
|
||||||
|
<%= render :partial => 'attachments/form_project_new', :locals => {:container => topic, :isReply => @isReply} %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="mt5">
|
||||||
|
<%if !edit_mode %>
|
||||||
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="submit_topic_project();">确定</a>
|
||||||
|
<span class="fr mr10 mt3">或</span>
|
||||||
|
<a href="javascript:void(0);" class="fr mr10 mt3" onclick="reset_topic();">取消</a>
|
||||||
|
<% else %>
|
||||||
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="submit_topic_project();">确定</a>
|
||||||
|
<span class="fr mr10 mt3">或</span>
|
||||||
|
<%= link_to "取消",board_message_url(topic.board, topic.root, :r => (topic.parent_id && topic.id)), :class => "fr mr10 mt3"%>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -1,11 +1,65 @@
|
||||||
<%= form_for @message, :url =>{:controller=>'messages',:action => 'new', :board_id => @board.id, :is_board => 'true'},:html => {:nhname=>'form', :multipart => true, :id => 'message-form', :name=>'message-form'} do |f| %>
|
<%= content_for(:header_tags) do %>
|
||||||
|
<%= import_ke(enable_at: true, prettify: false) %>
|
||||||
<%= render :partial => 'form_project', :locals => {:f => f, :topic => @message} %>
|
|
||||||
<li>
|
|
||||||
<div class="ml55 fl" nhname="toolbar_container"></div>
|
|
||||||
<a href="javascript:void(0)" nhname="cancelbtn" class="grey_btn fr ml10"><%= l(:button_cancel) %></a>
|
|
||||||
|
|
||||||
<a href="javascript:void(0)" nhname="submitbtn" class="blue_btn fr " style="margin-left: 55px"><%= l(:button_submit)%></a>
|
|
||||||
<div class="cl"></div>
|
|
||||||
</li>
|
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
<%= error_messages_for 'message' %>
|
||||||
|
<div class="resources mt10">
|
||||||
|
<div id="new_course_topic">
|
||||||
|
<div class="homepagePostBrief c_grey">
|
||||||
|
<div>
|
||||||
|
<input type="text" name="message[subject]" id="message_subject" class="InputBox w713" maxlength="255" onfocus="$('#topic_editor').show()" onkeyup="regexTopicSubject();" placeholder="发布帖子,请先输入帖子标题" value="<%= topic.subject%>" >
|
||||||
|
<p id="subjectmsg"></p>
|
||||||
|
</div>
|
||||||
|
<div id="topic_editor" style="display: none;">
|
||||||
|
<%if User.current.member_of?(project)%>
|
||||||
|
<div class="mt10">
|
||||||
|
<%= f.check_box :sticky, :value => topic.sticky%>
|
||||||
|
<%= label_tag 'message_sticky', l(:label_board_sticky) %>
|
||||||
|
<%= f.check_box :locked, :value => topic.locked%>
|
||||||
|
<%= label_tag 'message_locked', l(:label_board_locked) %>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
<div class="mt10">
|
||||||
|
<div id="message_quote" class="wiki" style="width: 92%;word-break: break-all;word-wrap: break-word;margin-left: 40px;"></div>
|
||||||
|
<%= text_area :quote,:quote,:style => 'display:none' %>
|
||||||
|
<%= hidden_field_tag :asset_id,params[:asset_id],:required => false,:style => 'display:none' %>
|
||||||
|
|
||||||
|
<%= f.kindeditor :content, :editor_id => 'message_content_editor',
|
||||||
|
:owner_id => topic.nil? ? 0: topic.id,
|
||||||
|
:owner_type => OwnerTypeHelper::MESSAGE,
|
||||||
|
:width => '100%',
|
||||||
|
:height => 300,
|
||||||
|
:minHeight=>300,
|
||||||
|
:class => 'talk_text fl',
|
||||||
|
:input_html => { :id => 'message_content',
|
||||||
|
:class => 'talk_text fl',
|
||||||
|
:maxlength => 5000 },
|
||||||
|
at_id: topic.id, at_type: topic.class.to_s
|
||||||
|
%>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<p id="message_content_span"></p>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="mt10">
|
||||||
|
<div class="fl" id="topic_attachments">
|
||||||
|
<%= render :partial => 'attachments/form_course', :locals => {:container => topic, :isReply => @isReply} %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="mt5">
|
||||||
|
<%if !edit_mode %>
|
||||||
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="message_content_editor.sync();$('#message-form').submit();">确定</a>
|
||||||
|
<span class="fr mr10 mt3">或</span>
|
||||||
|
<a href="javascript:void(0);" class="fr mr10 mt3" onclick="reset_topic();">取消</a>
|
||||||
|
<% else %>
|
||||||
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="message_content_editor.sync();$('#message-form').submit();">确定</a>
|
||||||
|
<span class="fr mr10 mt3">或</span>
|
||||||
|
<%= link_to "取消",board_message_url(topic.board, topic.root, :r => (topic.parent_id && topic.id)), :class => "fr mr10 mt3"%>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -1,278 +1,33 @@
|
||||||
<div nhname="container_board">
|
|
||||||
<div class="project_r_h" xmlns="http://www.w3.org/1999/html">
|
|
||||||
<h2 class="project_h2 fl">
|
|
||||||
<% if User.current.language == "zh"%>
|
|
||||||
<%= h @board.name %>
|
|
||||||
<% else %>
|
|
||||||
<%= l(:project_module_boards) %>
|
|
||||||
<% end %>
|
|
||||||
</h2>
|
|
||||||
<% if User.current.logged? %>
|
|
||||||
<a href="javascript:void(0)" class="green_btn fr newtalk " id="new_topic_btn" nhname="showbtn"><%= l(:label_message_new) %></a>
|
|
||||||
<% end %>
|
|
||||||
<div class="cl"></div>
|
|
||||||
</div>
|
|
||||||
<% if !User.current.logged? %>
|
|
||||||
<div class="c_grey f14">
|
|
||||||
<%= l(:label_user_login_project_board) %>
|
|
||||||
<%= link_to l(:label_user_login_new), signin_path, :class => "c_blue ml5" %>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
<div class="cl"></div>
|
|
||||||
<div class=" talklist_box" >
|
|
||||||
<div class="talk_new ml15 mb10" nhname="about_talk" data-at-id="<%= project.id %>" data-at-type="Project" style="display:none;">
|
|
||||||
<ul>
|
|
||||||
<%= render :partial => 'project_new_topic' %>
|
|
||||||
</ul>
|
|
||||||
</div><!--talknew end-->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class=" talklist_box" >
|
|
||||||
<p class="c_dark mb5 f14">讨论区共有<span class="c_orange"><%= @topic_count %></span>个帖子</p>
|
|
||||||
<% if @topics.any? %>
|
|
||||||
<% @topics.each do |topic| %>
|
|
||||||
<div class="talkmain_box" id="topic<%= topic.id %>" nhname="container_board" mhname="container_board_reply" style="border:none; margin-bottom:0; border-bottom: 1px dashed #d9d9d9;">
|
|
||||||
<%= link_to image_tag(url_to_avatar(topic.author), :width=>"42",:height=>"42"), user_path(topic.author),:class =>'talkmain_pic fl' %>
|
|
||||||
<div class="talkmain_txt fl mt5 f14">
|
|
||||||
<% author = topic.author.to_s %>
|
|
||||||
<div style="max-width:80px;white-space:nowrap;overflow:hidden;float:left;text-overflow:ellipsis;">
|
|
||||||
<%= link_to author, user_path(topic.author), :class =>"talkmain_name fl f14",:title=>author,
|
|
||||||
:style=>'max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;' %>
|
|
||||||
</div>
|
|
||||||
<p style="float:left;color:#ff5722;"> :</p>
|
|
||||||
|
|
||||||
<p class="talkmain_tit fl fb break_word f14" title="<%= h(topic.subject) %>" style="width:auto;float:left;max-width:390px;white-space:nowrap;overflow:hidden;float:left;text-overflow:ellipsis;"> <%= h(topic.subject) %></p>
|
|
||||||
|
|
||||||
<% if topic.editable_by?(User.current) %>
|
|
||||||
<a href="javascript:void(0)" nhname="showbtn" style="color: #426e9a;float: right;margin-right: 10px;"><%= l(:button_edit) %></a>
|
|
||||||
<% end %>
|
|
||||||
<%= link_to(l(:button_delete), {:controller =>'messages',:action => 'destroy', :id => topic.id, :board_id => topic.board_id, :is_board=>'true'},
|
|
||||||
:method => :post,
|
|
||||||
:data => {:confirm => l(:text_are_you_sure)},
|
|
||||||
:class => 'talk_edit fr',
|
|
||||||
:style => ' margin-right: 10px;') if topic.destroyable_by?(User.current) %>
|
|
||||||
<% if topic.sticky? %>
|
|
||||||
<a href="javascript:void(0)" class="talk_up fr c_red" style="margin-right: 10px;"><%= l(:label_board_sticky)%></a>
|
|
||||||
<% end %>
|
|
||||||
<script>
|
|
||||||
//$(function(){if($("#contentmessage<%#=topic.id %>").height()>182){$("#project_show_<%#= topic.id%>").show();}});
|
|
||||||
//解决由于图片加载慢造成div高度不够 以至于展开按钮不显示的bug
|
|
||||||
$(function(){
|
|
||||||
function nh_show_btn(){
|
|
||||||
if($("#project_show_<%= topic.id%>").is(':hidden')){
|
|
||||||
if($("#contentmessage<%=topic.id %>").height()>182){
|
|
||||||
$("#project_show_<%= topic.id%>").show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var div = $("#contentmessage<%=topic.id %>");
|
|
||||||
var imgs = $('img',div);
|
|
||||||
var lens = imgs.length;
|
|
||||||
function nh_load_img_end(){
|
|
||||||
nh_show_btn();
|
|
||||||
// lens--;
|
|
||||||
// if(lens <= 0){
|
|
||||||
// nh_show_btn();
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
if(lens > 0){
|
|
||||||
$('img',div).load(function(){
|
|
||||||
nh_load_img_end();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
nh_show_btn();
|
|
||||||
// if(lens <= 0){
|
|
||||||
// nh_show_btn();
|
|
||||||
// }else{
|
|
||||||
// $('img',div).load(function(){
|
|
||||||
// nh_load_img_end();
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<div class="cl"></div>
|
|
||||||
<div class="project_board_content break_word f14 list_style" id="content_<%=topic.id%>">
|
|
||||||
<div id="contentmessage<%=topic.id %>" class="upload_img">
|
|
||||||
<%= topic.content.html_safe %>
|
|
||||||
<!-- -->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<p style="display: none;" id="project_show_<%= topic.id%>">
|
|
||||||
<a id="expend_more_information<%= topic.id%>" style="color: #0781b4;" href="javascript:void(0)" onclick="show_more_reply('#content_<%=topic.id%>','#expend_more_information<%= topic.id%>','#arrow<%=topic.id%>');" value="show_more">[展开]</a>
|
|
||||||
<span class="g-arr-down">
|
|
||||||
<img id="arrow<%=topic.id%>" src="/images/jiantou.jpg" width="12" height="6" />
|
|
||||||
</span>
|
|
||||||
</p>
|
|
||||||
<%= link_to_attachments_course topic, :author => false %>
|
|
||||||
<%= l(:label_activity_time)%>: <%= format_time topic.created_on %>
|
|
||||||
</div>
|
|
||||||
<% if User.current.logged? %>
|
|
||||||
<a href="javascript:void(0)" nhname="showbtn_reply" class="c_dblue fr f14" style="margin-right:10px;"><%= l(:button_reply) %></a>
|
|
||||||
<% end %>
|
|
||||||
<div class="cl"></div>
|
|
||||||
<div class="talk_new ml15 mb10" nhname='about_talk' id="about_newtalk<%=topic.id%>" data-at-id="<%= topic.id %>" data-at-type="<%= topic.class.name %>" style="display: none;border-top: 1px dashed #d9d9d9;padding-top:5px;margin-left:0px;padding-left:15px;">
|
|
||||||
<ul>
|
|
||||||
<%= render :partial => 'edit',locals: {:topic => topic} %>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="cl"></div>
|
|
||||||
<div class="talkWrapBox">
|
|
||||||
<% reply = Message.new(:subject => "RE: #{topic.subject}")%>
|
|
||||||
<% if !topic.locked? && authorize_for('messages', 'reply') %>
|
|
||||||
<div class="talkWrapMsg" nhname="about_talk_reply" data-at-id="<%= topic.id %>" data-at-type="<%= topic.class.name %>" style="display: none;">
|
|
||||||
<em class="talkWrapArrow"></em>
|
|
||||||
<div class="cl"></div>
|
|
||||||
<div class="talkConIpt ml15 mb10" style="margin-left:30px;" id="reply<%= topic.id %>">
|
|
||||||
<%= form_for reply, :as => :reply, :url => {:controller=>'messages',:action => 'reply', :id => topic.id, :board_id => topic.board_id, :is_board => 'true'},
|
|
||||||
:html => {:nhname=>"form",:multipart => true, :id => 'message_form' + topic.id.to_s, :name=>'message-form'} do |f| %>
|
|
||||||
<%= render :partial => 'form_project', :locals => {:f => f, :replying => true} %>
|
|
||||||
<div class="fl" style="padding-top:5px;" nhname="toolbar_container"></div>
|
|
||||||
<div style="padding-top:5px;" class="fr">
|
|
||||||
<a href="javascript:void(0)" nhname="cancelbtn" class="grey_btn fr ml10" style=""><%= l(:button_cancel)%></a>
|
|
||||||
<a href="javascript:void(0)" nhname="submitbtn" class="blue_btn fr " style=""><%= l(:button_submit)%></a>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
<div class="cl"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
<div class="cl"></div>
|
|
||||||
<% replies_all = topic.children.includes(:author, :attachments, {:board => :project}).reorder("#{Message.table_name}.id desc").all %>
|
|
||||||
<% unless replies_all.empty? %>
|
|
||||||
<div class="talkWrapMsg" nhname="nh_reply_div" id="nh_reply_div_<%= topic.id %>">
|
|
||||||
<ul>
|
|
||||||
<% replies_all_i = 0 %>
|
|
||||||
<% replies_all.each do |message| %>
|
|
||||||
<% replies_all_i=replies_all_i+1 %>
|
|
||||||
<li nhname="reply_rec" style="display:<%= replies_all_i>2?'none':'' %>">
|
|
||||||
<%= link_to image_tag(url_to_avatar(message.author), :width => '34',:height => '34'), user_path(message.author), :class =>'Msg_pic' %>
|
|
||||||
<div class="Msg_txt">
|
|
||||||
<%= link_to_user_header message.author,false,:class => 'fl c_orange f14 ' %>
|
|
||||||
<br/>
|
|
||||||
<div class="fl break_word f14 list_style">
|
|
||||||
<%= textAreailizable message,:content,:attachments => message.attachments %>
|
|
||||||
<!-- -->
|
|
||||||
</div>
|
|
||||||
<input nhname="nh_content_val" type="hidden" value="<%= message.content %>"/>
|
|
||||||
<br/><div class="cl"></div>
|
|
||||||
<span class=" c_grey fl f14"><%= format_time(message.created_on) %></span>
|
|
||||||
<%= link_to(l(:button_delete),{:controller => 'messages', :action => 'destroy', :id => message.id, :board_id => message.board_id, :is_board => 'true'},
|
|
||||||
:method => :post,
|
|
||||||
:data => {:confirm => l(:text_are_you_sure)},
|
|
||||||
:title => l(:button_delete),
|
|
||||||
:class => ' c_dblue fr f14') if message.course_destroyable_by?(User.current) %>
|
|
||||||
<%= link_to(l(:button_reply), 'javascript:;',
|
|
||||||
:nhname =>'showbtn_child_reply',
|
|
||||||
:class => ' c_dblue fr f14',
|
|
||||||
:style => 'margin-right: 10px;',
|
|
||||||
:title => l(:button_reply)) if !topic.locked? && authorize_for('messages', 'reply') %>
|
|
||||||
</div>
|
|
||||||
<div class="cl"></div>
|
|
||||||
</li>
|
|
||||||
<% end %>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<%if topic.replies_count>2 %>
|
|
||||||
<div class="talkWrapMsg">
|
|
||||||
<a nhname="reply_ex_btn" data-count="<%= topic.replies_count %>" data-init="0" href="javascript:void(0)" class="ml258 c_dblue lh23">展开回复(<%= topic.replies_count.to_s%>)</a>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
<% else %>
|
|
||||||
<p class="nodata"><%= l(:label_no_data) %></p>
|
|
||||||
<% end %>
|
|
||||||
<ul class="wlist">
|
|
||||||
<%= pagination_links_full @topic_pages, @topic_count, :per_page_links => false, :remote => false, :flag => true %>
|
|
||||||
</ul>
|
|
||||||
<!--讨论主类容 end-->
|
|
||||||
|
|
||||||
<%# other_formats_links do |f| %>
|
|
||||||
<%#= f.link_to 'Atom', :url => {:key => User.current.rss_key} %>
|
|
||||||
<%# end %>
|
|
||||||
<% html_title @board.name %>
|
|
||||||
<% content_for :header_tags do %>
|
|
||||||
<%= auto_discovery_link_tag(:atom, {:format => 'atom', :key => User.current.rss_key}, :title => "#{@project}: #{@board}") %>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
|
||||||
<div style="display:none;"><a href="#" id="nhjump"></a></div>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(function(){
|
$(function(){
|
||||||
$(".talkmain_box").each(function(){
|
$("#RSide").removeAttr("id");
|
||||||
var target = $("li[nhname='reply_rec']",$(this));
|
$("#Container").css("width","1000px");
|
||||||
var btn = $("a[nhname='reply_ex_btn']",$(this));
|
|
||||||
var jumpobj = $("div[nhname='nh_reply_div']",$(this));
|
|
||||||
btn.click(function(){
|
|
||||||
if($(this).data('init')=='0'){
|
|
||||||
$(this).data('init',1);
|
|
||||||
$(this).html('收起回复');
|
|
||||||
target.show();
|
|
||||||
}else{
|
|
||||||
$(this).data('init',0);
|
|
||||||
$(this).html('展开回复'+$(this).data('count')+')');
|
|
||||||
target.hide();
|
|
||||||
target.eq(0).show();
|
|
||||||
target.eq(1).show();
|
|
||||||
$("#nhjump").attr('href','#'+jumpobj.attr('id'));
|
|
||||||
$("#nhjump")[0].click();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
KindEditor.ready(function(K){
|
|
||||||
$("div[nhname='container_board']").each(function(){
|
|
||||||
var container = $(this);
|
|
||||||
var about_talk = $("div[nhname='about_talk']",container);
|
|
||||||
var params = ({
|
|
||||||
kindutil:K,
|
|
||||||
showbtn:$("a[nhname='showbtn']",container),
|
|
||||||
about_talk:about_talk,
|
|
||||||
inputsubject:$("input[nhname='inputsubject']",about_talk),
|
|
||||||
subjectmsg:$("p[nhname='subjectmsg']",about_talk),
|
|
||||||
textarea:$("textarea[nhname='textarea']",about_talk),
|
|
||||||
contentmsg:$("p[nhname='contentmsg']",about_talk),
|
|
||||||
submitbtn:$("a[nhname='submitbtn']",about_talk),
|
|
||||||
cancelbtn:$("a[nhname='cancelbtn']",about_talk),
|
|
||||||
form:$("form[nhname='form']",about_talk),
|
|
||||||
toolbar_container:$("div[nhname='toolbar_container']",about_talk),
|
|
||||||
init_content_val:$("input[nhname='init_content_val']",about_talk)
|
|
||||||
});
|
|
||||||
nh_init_board(params);
|
|
||||||
});
|
|
||||||
$("div[mhname='container_board_reply']").each(function(){
|
|
||||||
var container = $(this);
|
|
||||||
var about_talk = $("div[nhname='about_talk_reply']",container);
|
|
||||||
var params = {
|
|
||||||
type:'reply',
|
|
||||||
kindutil:K,
|
|
||||||
showbtn:$("a[nhname='showbtn_reply']",container),
|
|
||||||
showbtn_child:$("a[nhname='showbtn_child_reply']",container),
|
|
||||||
about_talk:about_talk,
|
|
||||||
inputsubject:$("input[nhname='inputsubject']",about_talk),
|
|
||||||
subjectmsg:$("p[nhname='subjectmsg']",about_talk),
|
|
||||||
textarea:$("textarea[nhname='textarea']",about_talk),
|
|
||||||
contentmsg:$("p[nhname='contentmsg']",about_talk),
|
|
||||||
submitbtn:$("a[nhname='submitbtn']",about_talk),
|
|
||||||
cancelbtn:$("a[nhname='cancelbtn']",about_talk),
|
|
||||||
form:$("form[nhname='form']",about_talk),
|
|
||||||
quote_show:$("div[nhname='quote_show']",about_talk),
|
|
||||||
quote_input:$("textarea[nhname='quote_input']",about_talk),
|
|
||||||
toolbar_container:$("div[nhname='toolbar_container']",about_talk),
|
|
||||||
jumphref:$("#nhjump")
|
|
||||||
};
|
|
||||||
params.get_ref_str_call=function(btn){
|
|
||||||
var div = btn.parent('div');
|
|
||||||
var str = '<blockquote>'+$('a',div).filter(':first').html()+' 写到: <br/>'+$("input[nhname='nh_content_val']",div).val()+'<div class="cl"></div></blockquote>';
|
|
||||||
return str;
|
|
||||||
}
|
|
||||||
nh_init_board(params);
|
|
||||||
});
|
|
||||||
<% if(!@flag.nil? && @flag=='true') %>
|
|
||||||
if($("#new_topic_btn")!=undefined)$("#new_topic_btn").click();
|
|
||||||
<% end %>
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
function reset_topic(){
|
||||||
|
$("#message_subject").val("");
|
||||||
|
$("#subjectmsg").text("");
|
||||||
|
document.getElementById("message_sticky").checked=false;
|
||||||
|
document.getElementById("message_locked").checked=false;
|
||||||
|
$("#topic_attachments").html("<%= escape_javascript(render :partial => 'attachments/form_project_new', :locals => {:container => Message.new, :isReply => @isReply})%>");
|
||||||
|
message_content_editor.html("");
|
||||||
|
$("#topic_editor").toggle();
|
||||||
|
}
|
||||||
|
<% if @is_new%>
|
||||||
|
$(function(){
|
||||||
|
$("#message_subject").focus();
|
||||||
|
});
|
||||||
|
<%end%>
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<div class="homepageRight mt0 ml10">
|
||||||
|
<div class="homepageRightBanner">
|
||||||
|
<div class="NewsBannerName"><%= l(:label_borad_project) %></div>
|
||||||
|
</div>
|
||||||
|
<% if User.current.logged? %>
|
||||||
|
<%= labelled_form_for @message, :url =>{:controller=>'messages',:action => 'new', :board_id => @board.id, :is_board => 'true'},
|
||||||
|
:html => {:nhname=>'form',:multipart => true, :id => 'message-form-project'} do |f| %>
|
||||||
|
<%= render :partial => 'project_new', :locals => {:f => f, :topic => @message, :edit_mode => false, :project => @board.project} %>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
<%= render :partial=> 'project_show_detail',:locals =>{:topics => @topics, :page => 0} %>
|
||||||
|
</div>
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
<%= content_for(:header_tags) do %>
|
||||||
|
<%= import_ke(enable_at: false, prettify: false) %>
|
||||||
|
<%= javascript_include_tag "init_activity_KindEditor" %>
|
||||||
|
<% end %>
|
||||||
|
<style type="text/css">
|
||||||
|
/*回复框*/
|
||||||
|
.homepagePostReplyInputContainer .ke-toolbar {display: none; width: 400px; border: none; background: none; padding: 0px 0px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-toolbar-icon {line-height: 26px; font-size: 14px; padding-left: 26px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-toolbar-icon-url {background-image: url(/images/public_icon.png)}
|
||||||
|
.homepagePostReplyInputContainer .ke-outline {padding: 0px 0px; line-height: 26px; font-size: 14px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-icon-emoticons {background-position: 0px -671px; width: 50px; height: 26px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-icon-emoticons:hover {background-position: -79px -671px; width: 50px; height: 26px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-outline {border: none;}
|
||||||
|
.homepagePostReplyInputContainer .ke-inline-block {display: none;}
|
||||||
|
.homepagePostReplyInputContainer .ke-container {float: left;}
|
||||||
|
</style>
|
||||||
|
<% if topics%>
|
||||||
|
<% topics.each do |topic| %>
|
||||||
|
<script>
|
||||||
|
function expand_reply(container, btnid) {
|
||||||
|
var target = $(container);
|
||||||
|
var btn = $(btnid);
|
||||||
|
if (btn.data('init') == '0') {
|
||||||
|
btn.data('init', 1);
|
||||||
|
btn.html('收起回复');
|
||||||
|
target.show();
|
||||||
|
} else {
|
||||||
|
btn.data('init', 0);
|
||||||
|
btn.html('展开更多');
|
||||||
|
target.hide();
|
||||||
|
target.eq(0).show();
|
||||||
|
target.eq(1).show();
|
||||||
|
target.eq(2).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function expand_reply_input(id) {
|
||||||
|
$(id).toggle();
|
||||||
|
}
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
init_activity_KindEditor_data(<%= topic.id%>, null, "87%");
|
||||||
|
showNormalImage('activity_description_<%= topic.id %>');
|
||||||
|
/*var description_images=$("div#activity_description_<%#= topic.id %>").find("img");
|
||||||
|
if (description_images.length>0) {
|
||||||
|
for (var i=0; i<description_images.length; i++){
|
||||||
|
var image=$(description_images[i]);
|
||||||
|
var element=$("<a></a>").attr("href",image.attr('src'));
|
||||||
|
image.wrap(element);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$('#activity_description_<%#= topic.id %> a').colorbox({rel:'nofollow', close: "关闭", returnFocus: false});*/
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<% if topic %>
|
||||||
|
<%= render :partial => 'users/project_message', :locals => {:activity => topic, :user_activity_id => topic.id} %>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<% if topics.count == 10 %>
|
||||||
|
<!--<div id="show_more_course_topic" class="loadMore mt10 f_grey">展开更多<%#= link_to "", boards_topic_path(@board, :course_id => @board.course.id ,:page => page), :id => "more_topic_link", :remote => "true", :class => "none" %></div>-->
|
||||||
|
<%= link_to "点击展开更多", boards_topic_path(@board, :project_id => @board.project.id ,:page => page), :id => "show_more_project_topic",:remote => "true",:class => "loadMore mt10 f_grey"%>
|
||||||
|
<% end %>
|
||||||
|
<% end%>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<script type="text/javascript">
|
||||||
|
$("#show_more_course_topic").mouseover(function () {
|
||||||
|
$("#more_topic_link").click();
|
||||||
|
});
|
||||||
|
</script>-->
|
|
@ -32,12 +32,11 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
|
||||||
|
<% if @project %>
|
||||||
<% if @project %>
|
<%= render :partial => 'project_show', locals: {:topics => @topics, :page => 0, project: @project} %>
|
||||||
<%= render :partial => 'project_show', locals: {project: @project} %>
|
<% elsif @course %>
|
||||||
<% elsif @course %>
|
<%= render :partial => 'course_show', :locals => {:topics => @topics, :page => 0, :course => @course} %>
|
||||||
<%= render :partial => 'course_show', :locals => {:topics => @topics, :page => 0, :course => @course} %>
|
<% end %>
|
||||||
<% end %>
|
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript">//侧导航
|
<script type="text/javascript">//侧导航
|
||||||
|
|
|
@ -1 +1,5 @@
|
||||||
$("#show_more_course_topic").replaceWith("<%= escape_javascript( render :partial => 'boards/course_show_detail',:locals => {:topics => @topics, :page => @page} )%>");
|
<% if @course %>
|
||||||
|
$("#show_more_course_topic").replaceWith("<%= escape_javascript( render :partial => 'boards/course_show_detail',:locals => {:topics => @topics, :page => @page} )%>");
|
||||||
|
<% else %>
|
||||||
|
$("#show_more_project_topic").replaceWith("<%= escape_javascript( render :partial => 'boards/project_show_detail',:locals => {:topics => @topics, :page => @page} )%>");
|
||||||
|
<% end %>
|
|
@ -114,11 +114,13 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% if course_activities.count == 10 %>
|
<% if course_activities.count == 10 %>
|
||||||
<div id="show_more_course_activities" class="loadMore mt10 f_grey">展开更多<%= link_to "", course_activity_path(@course.id, :type => type, :page => page), :id => "more_course_activities_link", :remote => "true", :class => "none" %></div>
|
<!--<div id="show_more_course_activities" class="loadMore mt10 f_grey">点击展开更多<%#= link_to "", course_activity_path(@course.id, :type => type, :page => page), :id => "more_course_activities_link", :remote => "true", :class => "none" %></div>-->
|
||||||
|
<%= link_to "点击展开更多",course_activity_path(@course.id, :type => type, :page => page),:id => "show_more_course_activities",:remote => "true",:class => "loadMore mt10 f_grey"%>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
<!--
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$("#show_more_course_activities").mouseover(function () {
|
$("#show_more_course_activities").mouseover(function () {
|
||||||
$("#more_course_activities_link").click();
|
$("#more_course_activities_link").click();
|
||||||
});
|
});
|
||||||
</script>
|
</script>-->
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
$("#project_info_<%=@course.id %>").html('<%=escape_javascript(render :partial=>'layouts/project_info') %>');
|
||||||
|
if(document.getElementById("course_is_public")) {
|
||||||
|
<% if @course.is_public == 0%>
|
||||||
|
$("#course_is_public").attr("checked",false);
|
||||||
|
<% elsif @course.is_public == 1 %>
|
||||||
|
$("#course_is_public").attr("checked",true);
|
||||||
|
<% end %>
|
||||||
|
}
|
|
@ -66,19 +66,19 @@
|
||||||
<li class=" mb5 ml80">
|
<li class=" mb5 ml80">
|
||||||
<label >公开 :</label>
|
<label >公开 :</label>
|
||||||
<input <%= @course.is_public == 1 ? 'checked' : ''%> id="course_is_public" name="course[is_public]" type="checkbox">
|
<input <%= @course.is_public == 1 ? 'checked' : ''%> id="course_is_public" name="course[is_public]" type="checkbox">
|
||||||
<span class="c_grey">(打钩为公开,不打钩则不公开,若不公开,仅课程成员可见该课程。)</span>
|
<span class="c_grey">(选中后课外用户可见该课程,否则仅对课内成员可见)</span>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</li>
|
</li>
|
||||||
<li class=" mb5 ml30">
|
<li class=" mb5 ml30">
|
||||||
<label >学生列表公开 :</label>
|
<label >学生列表公开 :</label>
|
||||||
<input <%= @course.open_student == 1 ? 'checked' : ''%> id="course_open_student" name="course[open_student]" type="checkbox" style="margin-left: 1px;"/>
|
<input <%= @course.open_student == 1 ? 'checked' : ''%> id="course_open_student" name="course[open_student]" type="checkbox" style="margin-left: 1px;"/>
|
||||||
<span class="c_grey">(打钩为"学生列表公开",不打钩为不公开,若不公开,则课程外部人员看不到学生列表)</span>
|
<span class="c_grey">(选中后课外用户可见学生列表,否则仅对课内成员可见)</span>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</li>
|
</li>
|
||||||
<li class=" mb5 ml30">
|
<li class=" mb5 ml30">
|
||||||
<label >学生上传资源 :</label>
|
<label >学生上传资源 :</label>
|
||||||
<input <%= @course.publish_resource == 1 ? 'checked' : ''%> id="course_publish_resource" name="course[publish_resource]" type="checkbox" style="margin-left: 1px;"/>
|
<input <%= @course.publish_resource == 1 ? 'checked' : ''%> id="course_publish_resource" name="course[publish_resource]" type="checkbox" style="margin-left: 1px;"/>
|
||||||
<span class="c_grey">(打钩为"允许学生上传资源",不打钩为"不允许学生上传资源")</span>
|
<span class="c_grey">(选中后允许学生上传课程资源,否则不允许)</span>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</li>
|
</li>
|
||||||
<li class=" ml90" >
|
<li class=" ml90" >
|
||||||
|
|
|
@ -100,6 +100,9 @@
|
||||||
{
|
{
|
||||||
obj.checked = false;
|
obj.checked = false;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
error: function () {
|
||||||
|
alert("网络异常,答题失败,请确认网络正常连接后再答题。");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -154,6 +157,9 @@
|
||||||
{
|
{
|
||||||
obj.checked = false;
|
obj.checked = false;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
error: function () {
|
||||||
|
alert("网络异常,答题失败,请确认网络正常连接后再答题。");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -196,6 +202,9 @@
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
var dataObj = eval(data);
|
var dataObj = eval(data);
|
||||||
obj.value = dataObj.text;
|
obj.value = dataObj.text;
|
||||||
|
},
|
||||||
|
error: function () {
|
||||||
|
alert("网络异常,答题失败,请确认网络正常连接后再答题。");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -116,8 +116,7 @@
|
||||||
√
|
√
|
||||||
<% else %>
|
<% else %>
|
||||||
×
|
×
|
||||||
<% end %></span><br />
|
<% end %></span>
|
||||||
标准答案:<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) if exercise_question.exercise_standard_answers.first %>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<div>
|
<div>
|
||||||
|
|
|
@ -95,8 +95,6 @@
|
||||||
<div id="show_poll_questions_<%= exercise_question.id %>">
|
<div id="show_poll_questions_<%= exercise_question.id %>">
|
||||||
<div>
|
<div>
|
||||||
<div class="testEditTitle"> 第<%= list_index+1%>题:<%= exercise_question.question_title %> (<%= exercise_question.question_score %>分)
|
<div class="testEditTitle"> 第<%= list_index+1%>题:<%= exercise_question.question_title %> (<%= exercise_question.question_score %>分)
|
||||||
<br />
|
|
||||||
标准答案:<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) if exercise_question.exercise_standard_answers.first%>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<div>
|
<div>
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
<% if User.current.logged? %>
|
<% if User.current.logged? %>
|
||||||
<% if !@org_subfield.attachments.all.include?file %>
|
<% if !@org_subfield.attachments.all.include?file %>
|
||||||
<%= link_to("选入栏目",quote_resource_show_org_subfield_org_subfield_file_path(:org_subfield_id => @org_subfield.id, :id => file.id),:class => "f_l re_select c_lorange",:remote => true) %>
|
<%= link_to("选入栏目",quote_resource_show_org_subfield_org_subfield_file_path(:org_subfield_id => @org_subfield.id, :id => file.id),:class => "f_l re_select c_lorange",:remote => true) %>
|
||||||
<% else %>
|
<% elsif @org_subfield.organization.org_subfields.where("field_type='Resource'").count > 1 %>
|
||||||
<%= link_to("选入组织其他栏目",quote_resource_show_org_subfield_org_subfield_file_path(:org_subfield_id => @org_subfield.id, :id => file.id),:class => "f_l re_select c_lorange",:remote => true) %>
|
<%= link_to("选入组织其他栏目",quote_resource_show_org_subfield_org_subfield_file_path(:org_subfield_id => @org_subfield.id, :id => file.id),:class => "f_l re_select c_lorange",:remote => true) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%= file_preview_tag(file, class: 'f_l re_open', style:'text-align: center;') %>
|
<%= file_preview_tag(file, class: 'f_l re_open', style:'text-align: center;') %>
|
||||||
|
|
|
@ -58,7 +58,7 @@
|
||||||
:max_file_size => Setting.attachment_max_size.to_i.kilobytes,
|
: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_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,
|
:max_concurrent_uploads => Redmine::Configuration['max_concurrent_ajax_uploads'].to_i,
|
||||||
:upload_path => uploads_path(:format => 'js', :project => project),
|
:upload_path => uploads_path(:format => 'js'),
|
||||||
:description_placeholder => l(:label_optional_description),
|
:description_placeholder => l(:label_optional_description),
|
||||||
:field_is_public => l(:field_is_public),
|
:field_is_public => l(:field_is_public),
|
||||||
:are_you_sure => l(:text_are_you_sure),
|
:are_you_sure => l(:text_are_you_sure),
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
$("#homework_name").val("");
|
$("#homework_name").val("");
|
||||||
$("#homework_publish_time").val("");
|
$("#homework_publish_time").val("");
|
||||||
$("#homework_end_time").val("");
|
$("#homework_end_time").val("");
|
||||||
|
document.getElementById("anonymous_comment").checked = true;
|
||||||
$("#course_id").val($("#option_select").val());
|
$("#course_id").val($("#option_select").val());
|
||||||
$("#homework_attachments").html("<%= escape_javascript(render :partial => 'users/user_homework_attachment', :locals => { :container => HomeworkCommon.new,:has_program => true,:has_group => true})%>");
|
$("#homework_attachments").html("<%= escape_javascript(render :partial => 'users/user_homework_attachment', :locals => { :container => HomeworkCommon.new,:has_program => true,:has_group => true})%>");
|
||||||
homework_description_editor.html("");
|
homework_description_editor.html("");
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
:method => 'get',
|
:method => 'get',
|
||||||
:title => l(:label_version_new),
|
:title => l(:label_version_new),
|
||||||
:tabindex => 200) if User.current.allowed_to?(:manage_versions, @issue.project) %>
|
:tabindex => 200) if User.current.allowed_to?(:manage_versions, @issue.project) %>
|
||||||
<%= link_to "", new_project_version_path(@issue.project), :class => "pic_add mt5 ml5 " %>
|
<%= link_to "", new_project_version_path(@issue.project), :class => "pic_add mt5 ml5 ", :target => "_blank" %>
|
||||||
<!--<a href="javascript:viod(0)" class="pic_add mt5 ml5"></a>-->
|
<!--<a href="javascript:viod(0)" class="pic_add mt5 ml5"></a>-->
|
||||||
<% end %>
|
<% end %>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
@ -3,13 +3,12 @@
|
||||||
<%= import_ke(enable_at: true, prettify: false, init_activity: false) %>
|
<%= import_ke(enable_at: true, prettify: false, init_activity: false) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<%= labelled_form_for @issue, :html => {:id => 'issue-form', :multipart => true,:remote=>true} do |f| %>
|
<%= labelled_form_for @issue, :html => {:id => 'issue-form', :multipart => true, :remote => true} do |f| %>
|
||||||
<%= error_messages_for 'issue', 'time_entry' %>
|
<%= error_messages_for 'issue', 'time_entry' %>
|
||||||
<%= render :partial => 'conflict' if @conflict %>
|
<%= render :partial => 'conflict' if @conflict %>
|
||||||
<!--编辑的整个属性-->
|
<!--编辑的整个属性-->
|
||||||
<div id="all_attributes" >
|
<div id="all_attributes" >
|
||||||
<%= render :partial => 'issues/form', :locals => {:f => f} %>
|
<%= render :partial => 'issues/form', :locals => {:f => f} %>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<%# if @journals.present? %>
|
<%# if @journals.present? %>
|
||||||
<!--<div id="history">-->
|
<!--<div id="history">-->
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
<%= f.label_for_field :description, :required => @issue.required_attribute?('description'), :no_label => true, :class => "label" %>
|
<%= f.label_for_field :description, :required => @issue.required_attribute?('description'), :no_label => true, :class => "label" %>
|
||||||
<%#= link_to_function image_tag('edit.png'), '$(this).hide(); $("#issue_description_and_toolbar").show()' unless @issue.new_record? %>
|
<%#= link_to_function image_tag('edit.png'), '$(this).hide(); $("#issue_description_and_toolbar").show()' unless @issue.new_record? %>
|
||||||
<%#= content_tag 'span', :id => "issue_description_and_toolbar" do %>
|
<%#= content_tag 'span', :id => "issue_description_and_toolbar" do %>
|
||||||
<%= f.kindeditor :description,:editor_id => "issue_desc_editor", :width=>'85%', :resizeType => 0, :no_label => true,at_id: @project.id, at_type: @project.class.to_s %>
|
<%= f.kindeditor :description,:editor_id => "issue_desc_editor", :width=>'85%', :height =>170, :resizeType => 0, :no_label => true,at_id: @project.id, at_type: @project.class.to_s %>
|
||||||
<%# end %>
|
<%# end %>
|
||||||
<%#= wikitoolbar_for 'issue_description' %>
|
<%#= wikitoolbar_for 'issue_description' %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
<%= render :partial => 'users/project_issue', :locals => {:activity => issue, :user_activity_id => issue.id} %>
|
<%= render :partial => 'users/project_issue', :locals => {:activity => issue, :user_activity_id => issue.id} %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if issues.count == 10%>
|
<% if issues.count == 10%>
|
||||||
<div id="show_more_issues" class="loadMore mt10 f_grey">展开更多<%=link_to "", project_issues_path({:project_id => project.id,:page => issue_pages.page}.merge(params)),:id => "more_issues_link",:remote => "true",:class => "none" %></div>
|
<div id="show_more_issues" class="loadMore mt10 f_grey">展开更多<%=link_to "", project_issues_path({:project_id => project.id}.merge(params)),:id => "more_issues_link",:remote => "true",:class => "none" %></div>
|
||||||
<%#= link_to "点击展开更多",user_activities_path(@user.id,:type => type,:page => page),:id => "show_more_activities",:remote => "true",:class => "loadMore mt10 f_grey"%>
|
<%#= link_to "点击展开更多",user_activities_path(@user.id,:type => type,:page => page),:id => "show_more_activities",:remote => "true",:class => "loadMore mt10 f_grey"%>
|
||||||
<% end%>
|
<% end%>
|
||||||
<!--<ul class="wlist">-->
|
<!--<ul class="wlist">-->
|
||||||
|
|
|
@ -26,20 +26,15 @@
|
||||||
<!--problem_main end-->
|
<!--problem_main end-->
|
||||||
<div style="clear: both;"></div>
|
<div style="clear: both;"></div>
|
||||||
<div class="homepagePostReply">
|
<div class="homepagePostReply">
|
||||||
<div class="topBorder" style="display: <%= @issue.journals.count>0 ? 'none': '' %>"></div>
|
<div class="topBorder" style="display: <%= @issue.journals.count>0 ? 'none': '' %>"></div>
|
||||||
<div class="homepagePostReplyBanner" >
|
<div class="homepagePostReplyBanner" >
|
||||||
<div class="homepagePostReplyBannerCount" >回复(<%= @issue.journals.count %>)</div>
|
<div class="homepagePostReplyBannerCount" >回复(<%= @issue.journals.count %>)</div>
|
||||||
<div class="homepagePostReplyBannerTime"></div>
|
<div class="homepagePostReplyBannerTime"></div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="" id="reply_div_<%= @issue.id %>" >
|
||||||
<div class="" id="reply_div_<%= @issue.id %>" >
|
<%= render :partial => 'issue_replies',:locals => {:issue => @issue, :replies_all_i => 0} %>
|
||||||
<%= render :partial => 'issue_replies',:locals => {:issue=>@issue,:replies_all_i=>0} %>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
|
@ -12,24 +12,28 @@
|
||||||
|
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<ul class="departments">
|
<ul class="departments">
|
||||||
|
<!--li class="fl mr10">
|
||||||
|
<strong><%#= l(:label_hosted_organization)%></strong><a href="http://www.nudt.edu.cn/ArticleShow.asp?ID=47" class=" ml10 f_grey" target="_blank"><%#= l(:label_hosted_by)%></a>
|
||||||
|
</li>
|
||||||
|
<li class="fl">
|
||||||
|
<a href="http://www.nudt.edu.cn/ArticleShow.asp?ID=41" class="mr45 f_grey" target="_blank"><%#= l(:label_sponsor)%></a>
|
||||||
|
</li-->
|
||||||
<li class="fl mr10">
|
<li class="fl mr10">
|
||||||
<strong><%= l(:label_hosted_organization)%></strong><a href="http://www.nudt.edu.cn/ArticleShow.asp?ID=47" class=" ml10 f_grey" target="_blank"><%= l(:label_hosted_by)%></a>
|
<strong><%= l(:label_partners)%></strong>
|
||||||
</li>
|
</li>
|
||||||
<li class="fl">
|
<li class="fl mr20">
|
||||||
<a href="http://www.nudt.edu.cn/ArticleShow.asp?ID=41" class="mr45 f_grey" target="_blank"><%= l(:label_sponsor)%></a>
|
<a href="http://eecs.pku.edu.cn" class="f_grey" target="_blank"><%#= l(:label_co_organizer_EECS)%><img src="/images/footer_logo/PekingUniversity.png" width="121" height="40" style="display: inline-block;" alt="北京大学" /></a>
|
||||||
</li>
|
</li>
|
||||||
<li class="fl mr10">
|
<li class="fl mr20">
|
||||||
<strong><%= l(:label_partners)%></strong><a href="http://eecs.pku.edu.cn" class="ml10 f_grey" target="_blank"><%= l(:label_co_organizer_EECS)%></a>
|
<a href="http://scse.buaa.edu.cn/" class="f_grey" target="_blank"><%#= l(:label_co_organizer_BHU)%><img src="/images/footer_logo/BeiHang_university.png" width="173" height="40" style="display: inline-block;" alt="北京航空航天大学" /></a>
|
||||||
</li>
|
</li>
|
||||||
<li class="fl">
|
<li class="fl mr20">
|
||||||
<a href="http://scse.buaa.edu.cn/" class="mr10 f_grey" target="_blank"><%= l(:label_co_organizer_BHU)%></a>
|
<a href="http://www.iscas.ac.cn/" class="f_grey" target="_blank"><%#= l(:label_co_organizer_CAS)%><img src="/images/footer_logo/ISCAS_logo.png" width="91" height="40" style="display: inline-block;" alt="ISCAS" /></a>
|
||||||
</li>
|
</li>
|
||||||
<li class="fl">
|
<li class="fl mr20">
|
||||||
<a href="http://www.iscas.ac.cn/" class="mr10 f_grey" target="_blank"><%= l(:label_co_organizer_CAS)%></a>
|
<a href="http://www.inforbus.com/" class="f_grey" target="_blank"><%#= l(:label_co_organizer_InforS)%><img src="/images/footer_logo/CVICSE.png" width="165" height="40" style="display: inline-block;" alt="中创软件" /></a>
|
||||||
</li>
|
|
||||||
<li class="fl">
|
|
||||||
<a href="http://www.inforbus.com/" class="f_grey" target="_blank"><%= l(:label_co_organizer_InforS)%></a>
|
|
||||||
</li>
|
</li>
|
||||||
|
<li class="fl"><a href="http://www.webxmf.com/" target="_blank"><img src="/images/footer_logo/bee_logo.png" width="167" height="40" style="display: inline-block;" alt="web小蜜蜂" /></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<ul class="copyright">
|
<ul class="copyright">
|
||||||
|
|
|
@ -0,0 +1,92 @@
|
||||||
|
<% is_teacher = User.current.logged? && (User.current.admin? || User.current.allowed_to?(:as_teacher,@course)) %>
|
||||||
|
<% teacher_num = searchTeacherAndAssistant(@course).count %>
|
||||||
|
<% student_num = studentCount(@course) %>
|
||||||
|
<% course_file_num = visable_attachemnts_incourse(@course).count%>
|
||||||
|
<div class="pr_info_logo fl mr10 mb5">
|
||||||
|
<!--<a href="#"><img src="images/courses/pic_courses.jpg" width="60" height="60" alt="logo" /></a>-->
|
||||||
|
<%= image_tag(url_to_avatar(@course), :width => "60", :height => "60") %>
|
||||||
|
</div>
|
||||||
|
<div class="pr_info_id fl mb5 f14"><%= @course.is_public == 0 ? "私有课程" : "公开课程" %></div>
|
||||||
|
<div class="pr_info_id fl f14">
|
||||||
|
ID:<%= @course.id%>
|
||||||
|
</div>
|
||||||
|
<!--<div class="pr_info_id fl mb5 f14">
|
||||||
|
ID:<%#= @course.id%>
|
||||||
|
</div>
|
||||||
|
<div class="pr_info_join fl">
|
||||||
|
<%# if is_teacher%>
|
||||||
|
<%#= link_to "<span class='pr_setting'></span>#{l(:button_configure)}".html_safe, {:controller => 'courses', :action => 'settings', :id => @course}, :class => "pr_join_a" %>
|
||||||
|
<%#= set_course_time @course%>
|
||||||
|
<%#= link_to "<span class='pr_copy'></span>#{l(:button_copy)}".html_safe, copy_course_course_path(@course.id), :class => "pr_join_a" %>
|
||||||
|
<%# else%>
|
||||||
|
<div id="join_in_course_header"><%#= join_in_course_header(@course, User.current) %></div>
|
||||||
|
<%# end%>
|
||||||
|
</div>-->
|
||||||
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
<!--<div >-->
|
||||||
|
<!--<a class="pr_info_name fl c_dark fb break_word" href="http://<%#= Setting.host_course%>/courses/<%#= @course.id%>" target="_blank">-->
|
||||||
|
<!--<%#= @course.name %>-->
|
||||||
|
<!--</a>-->
|
||||||
|
<!--<%# if @course.is_public == 0%>-->
|
||||||
|
<!--<span class="img_private ">-->
|
||||||
|
<!--<%#= l(:field_is_private)%>-->
|
||||||
|
<!--</span>-->
|
||||||
|
<!--<%# end %>-->
|
||||||
|
<!--<%#if @course.tea_id == User.current.id && @course.outline == 0 %>-->
|
||||||
|
<!--<span>-->
|
||||||
|
<!--<a href="javascript:void(0)" onclick="course_outline('<%#= @course.id%>');">设置大纲</a>-->
|
||||||
|
<!--</span>-->
|
||||||
|
<!--<%# else%>-->
|
||||||
|
<!--<span>-->
|
||||||
|
<!--<a href="javascript:void(0)" onclick="course_outline('<%#= @course.id%>');">设置大纲</a>-->
|
||||||
|
<!--</span>-->
|
||||||
|
<!--<%# end %>-->
|
||||||
|
<!--</div>-->
|
||||||
|
<div >
|
||||||
|
<a class="pr_info_name fl c_dark fb break_word" href="http://<%= Setting.host_course%>/courses/<%= @course.id%>" target="_blank"></a>
|
||||||
|
<div>
|
||||||
|
<a class="pr_info_name c_dark fb break_word fl" href="http://<%= Setting.host_course%>/courses/<%= @course.id%>" target="_blank">
|
||||||
|
<%= @course.name %>
|
||||||
|
</a>
|
||||||
|
<%# if @course.is_public == 0%>
|
||||||
|
<!--<span class="img_private "></span>-->
|
||||||
|
<!--<span class="img_private mr5 fl">
|
||||||
|
<%#= l(:field_is_private)%>
|
||||||
|
</span>-->
|
||||||
|
<%# end %>
|
||||||
|
<span id="course_outline_bar">
|
||||||
|
<%if User.current && @course.tea_id == User.current.id && (@course.outline == 0 || BlogComment.where(:id=>@course.outline).count == 0) %>
|
||||||
|
<a href="javascript:void(0);" title="设置课程大纲" onclick="course_outline('<%= @course.id%>')" class="mr5 syllabusSetting fl"> </a>
|
||||||
|
<% elsif User.current && @course.tea_id == User.current.id && @course.outline != 0 && BlogComment.where(:id=>@course.outline).count != 0%>
|
||||||
|
<a href="<%=syllabus_course_path(@course) %>" title="课程大纲" class="mr5 syllabusIcon fl"> </a>
|
||||||
|
<% elsif User.current && @course.tea_id != User.current.id && !@course.is_public? && User.current.member_of_course?(@course) && @course.outline != 0%>
|
||||||
|
<a href="<%=syllabus_course_path(@course) %>" title="课程大纲" class="mr5 syllabusIcon fl"> </a>
|
||||||
|
<% elsif User.current && @course.tea_id != User.current.id && @course.is_public? && @course.outline != 0%>
|
||||||
|
<a href="<%=syllabus_course_path(@course) %>" title="课程大纲" class="mr5 syllabusIcon fl"> </a>
|
||||||
|
<%else%>
|
||||||
|
<%end %>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="pr_info_foot ">
|
||||||
|
<%= l(:label_account_identity_teacher)%>(<%= course_teacher_link teacher_num %>)
|
||||||
|
<span>| </span>
|
||||||
|
<%= l(:label_account_identity_student)%>(<%= course_student_link student_num %>)
|
||||||
|
<span>| </span>
|
||||||
|
<%= l(:project_module_attachments)%>(<%= link_to course_file_num, course_files_path(@course), :class => 'info_foot_num c_blue',:id=>'courses_files_count_info' %>)</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<% if is_teacher %>
|
||||||
|
<div class="homepagePostSetting mt5 mr5">
|
||||||
|
<ul>
|
||||||
|
<li class="homepagePostSettingIcon">
|
||||||
|
<ul class="homepagePostSettiongText boxShadow">
|
||||||
|
<li><%= link_to "课程配置", {:controller => 'courses', :action => 'settings', :id => @course}, :class => "postOptionLink" %></li>
|
||||||
|
<li><%= link_to @course.is_public == 0 ? "设为公开" : "设为私有", {:controller => 'courses', :action => 'private_or_public', :id => @course},:remote=>true,:confirm=>"您确定要设置为"+(@course.is_public == 0 ? "公开" : "私有")+"吗", :class => "postOptionLink" %></li>
|
||||||
|
<!--<li><%#= link_to "复制学期", copy_course_course_path(@course.id), :class => "postOptionLink" %></li>-->
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
|
@ -1,6 +1,4 @@
|
||||||
<%# course_model %>
|
<%# course_model %>
|
||||||
<% teacher_num = searchTeacherAndAssistant(@course).count %>
|
|
||||||
<% student_num = studentCount(@course) %>
|
|
||||||
<% course_file_num = visable_attachemnts_incourse(@course).count%>
|
<% course_file_num = visable_attachemnts_incourse(@course).count%>
|
||||||
<% is_teacher = User.current.logged? && (User.current.admin? || User.current.allowed_to?(:as_teacher,@course)) %>
|
<% is_teacher = User.current.logged? && (User.current.admin? || User.current.allowed_to?(:as_teacher,@course)) %>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
@ -51,78 +49,8 @@
|
||||||
<div id="Container">
|
<div id="Container">
|
||||||
<div id="content">
|
<div id="content">
|
||||||
<div id="LSide" class="fl">
|
<div id="LSide" class="fl">
|
||||||
<div class="project_info">
|
<div class="project_info" style="position: relative" id="project_info_<%=@course.id %>">
|
||||||
<div class="pr_info_logo fl mr10 mb5">
|
<%=render :partial=>'layouts/project_info' %>
|
||||||
<!--<a href="#"><img src="images/courses/pic_courses.jpg" width="60" height="60" alt="logo" /></a>-->
|
|
||||||
<%= image_tag(url_to_avatar(@course), :width => "60", :height => "60") %>
|
|
||||||
</div>
|
|
||||||
<div class="pr_info_id fl mb5 f14">
|
|
||||||
ID:<%= @course.id%>
|
|
||||||
</div>
|
|
||||||
<div class="pr_info_join fl">
|
|
||||||
<% if is_teacher%>
|
|
||||||
<%= link_to "<span class='pr_setting'></span>#{l(:button_configure)}".html_safe, {:controller => 'courses', :action => 'settings', :id => @course}, :class => "pr_join_a" %>
|
|
||||||
<%= set_course_time @course%>
|
|
||||||
<%#= link_to "<span class='pr_copy'></span>#{l(:button_copy)}".html_safe, copy_course_course_path(@course.id), :class => "pr_join_a" %>
|
|
||||||
<% else%>
|
|
||||||
<div id="join_in_course_header"><%= join_in_course_header(@course, User.current) %></div>
|
|
||||||
<% end%>
|
|
||||||
</div>
|
|
||||||
<div class="cl"></div>
|
|
||||||
|
|
||||||
<!--<div >-->
|
|
||||||
<!--<a class="pr_info_name fl c_dark fb break_word" href="http://<%#= Setting.host_course%>/courses/<%#= @course.id%>" target="_blank">-->
|
|
||||||
<!--<%#= @course.name %>-->
|
|
||||||
<!--</a>-->
|
|
||||||
<!--<%# if @course.is_public == 0%>-->
|
|
||||||
<!--<span class="img_private ">-->
|
|
||||||
<!--<%#= l(:field_is_private)%>-->
|
|
||||||
<!--</span>-->
|
|
||||||
<!--<%# end %>-->
|
|
||||||
<!--<%#if @course.tea_id == User.current.id && @course.outline == 0 %>-->
|
|
||||||
<!--<span>-->
|
|
||||||
<!--<a href="javascript:void(0)" onclick="course_outline('<%#= @course.id%>');">设置大纲</a>-->
|
|
||||||
<!--</span>-->
|
|
||||||
<!--<%# else%>-->
|
|
||||||
<!--<span>-->
|
|
||||||
<!--<a href="javascript:void(0)" onclick="course_outline('<%#= @course.id%>');">设置大纲</a>-->
|
|
||||||
<!--</span>-->
|
|
||||||
<!--<%# end %>-->
|
|
||||||
<!--</div>-->
|
|
||||||
<div >
|
|
||||||
<a class="pr_info_name fl c_dark fb break_word" href="http://<%= Setting.host_course%>/courses/<%= @course.id%>" target="_blank"></a>
|
|
||||||
<div>
|
|
||||||
<a class="pr_info_name c_dark fb break_word fl" href="http://<%= Setting.host_course%>/courses/<%= @course.id%>" target="_blank">
|
|
||||||
<%= @course.name %>
|
|
||||||
</a>
|
|
||||||
<% if @course.is_public == 0%>
|
|
||||||
<!--<span class="img_private "></span>-->
|
|
||||||
<span class="img_private mr5 fl">
|
|
||||||
<%= l(:field_is_private)%>
|
|
||||||
</span>
|
|
||||||
<% end %>
|
|
||||||
<span id="course_outline_bar">
|
|
||||||
<%if User.current && @course.tea_id == User.current.id && (@course.outline == 0 || BlogComment.where(:id=>@course.outline).count == 0) %>
|
|
||||||
<a href="javascript:void(0);" title="设置课程大纲" onclick="course_outline('<%= @course.id%>')" class="mr5 syllabusSetting fl"> </a>
|
|
||||||
<% elsif User.current && @course.tea_id == User.current.id && @course.outline != 0 && BlogComment.where(:id=>@course.outline).count != 0%>
|
|
||||||
<a href="<%=syllabus_course_path(@course) %>" title="课程大纲" class="mr5 syllabusIcon fl"> </a>
|
|
||||||
<% elsif User.current && @course.tea_id != User.current.id && !@course.is_public? && User.current.member_of_course?(@course) && @course.outline != 0%>
|
|
||||||
<a href="<%=syllabus_course_path(@course) %>" title="课程大纲" class="mr5 syllabusIcon fl"> </a>
|
|
||||||
<% elsif User.current && @course.tea_id != User.current.id && @course.is_public? && @course.outline != 0%>
|
|
||||||
<a href="<%=syllabus_course_path(@course) %>" title="课程大纲" class="mr5 syllabusIcon fl"> </a>
|
|
||||||
<%else%>
|
|
||||||
<%end %>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="cl"></div>
|
|
||||||
<div class="pr_info_foot ">
|
|
||||||
<%= l(:label_account_identity_teacher)%>(<%= course_teacher_link teacher_num %>)
|
|
||||||
<span>| </span>
|
|
||||||
<%= l(:label_account_identity_student)%>(<%= course_student_link student_num %>)
|
|
||||||
<span>| </span>
|
|
||||||
<%= l(:project_module_attachments)%>(<%= link_to course_file_num, course_files_path(@course), :class => 'info_foot_num c_blue',:id=>'courses_files_count_info' %>)</div>
|
|
||||||
<div class="cl"></div>
|
|
||||||
</div><!--课程信息 end-->
|
</div><!--课程信息 end-->
|
||||||
<div class="info_box">
|
<div class="info_box">
|
||||||
<ul>
|
<ul>
|
||||||
|
@ -130,7 +58,7 @@
|
||||||
<li><%= l(:label_class_period)%> : <span ><%= @course.class_period %> <%= l(:label_class_hour) %></span></li>
|
<li><%= l(:label_class_period)%> : <span ><%= @course.class_period %> <%= l(:label_class_hour) %></span></li>
|
||||||
<li><%= l(:label_main_term)%> : <span><%= @course.time %> <%= @course.term %></span></li>
|
<li><%= l(:label_main_term)%> : <span><%= @course.time %> <%= @course.term %></span></li>
|
||||||
<% if @course.school%>
|
<% if @course.school%>
|
||||||
<li><%= l(:label_course_organizers)%> : <a href="http://<%= Setting.host_course%>/?school_id=<%= @course.school.id%>" target="_blank" class="c_dblue"><%= @course.school%></a></li>
|
<li><%= l(:label_course_organizers)%> : <%= @course.school%></li>
|
||||||
<% end%>
|
<% end%>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
@ -154,7 +82,7 @@
|
||||||
<div class="subNav">
|
<div class="subNav">
|
||||||
<%= link_to l(:label_course_news), course_news_index_path(@course), :class => "f14 c_blue02" %>
|
<%= link_to l(:label_course_news), course_news_index_path(@course), :class => "f14 c_blue02" %>
|
||||||
<%= link_to "(#{@course.news.count})", course_news_index_path(@course), :class => "subnav_num c_orange"%>
|
<%= link_to "(#{@course.news.count})", course_news_index_path(@course), :class => "subnav_num c_orange"%>
|
||||||
<%= link_to( "", new_course_news_path(@course), :class => 'courseMenuSetting', :title =>"#{l(:label_course_news_new)}") if is_teacher %>
|
<%= link_to( "", new_course_news_path(@course,:is_new=>1), :class => 'courseMenuSetting', :title =>"#{l(:label_course_news_new)}") if is_teacher %>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% unless show_nav?(course_file_num) %>
|
<% unless show_nav?(course_file_num) %>
|
||||||
|
|
|
@ -43,16 +43,16 @@
|
||||||
<%#= link_to '首页', organization_path(@organization, :show_homepage => 1),:class=>"linkGrey8 f14" %>
|
<%#= link_to '首页', organization_path(@organization, :show_homepage => 1),:class=>"linkGrey8 f14" %>
|
||||||
</li>
|
</li>
|
||||||
<% if User.current.logged? %>
|
<% if User.current.logged? %>
|
||||||
<li class="navOrgMenu fr" id="orgSwitch" style="cursor:pointer;">
|
<li class="navOrgMenu fr" id="orgSwitch" style="cursor:pointer;">
|
||||||
<span class="orgMenuArrow" id="orgArrow">
|
<span class="orgMenuArrow" id="orgArrow">
|
||||||
<ul class="org_login_list" style="display:none;">
|
<ul class="org_login_list" style="display:none;">
|
||||||
<li> <%= link_to "个人主页",user_path(User.current), :class => "linkGrey8", :target => "_blank" %></li>
|
<li> <%= link_to "个人主页",user_path(User.current), :class => "menuGrey", :target => "_blank" %></li>
|
||||||
<li><%= link_to "退出",logout_organization_path(@organization), :class =>"linkGrey8", :method => 'post', :rel => "nofollow" %></li>
|
<li><%= link_to "退出",logout_organization_path(@organization), :class =>"menuGrey", :method => 'post', :rel => "nofollow" %></li>
|
||||||
<!--<li><%#= link_to "退出",signout_path, :class =>"linkGrey8", :method => 'post', :rel => "nofollow" %></li>-->
|
<!--<li><%#= link_to "退出",signout_path, :class =>"linkGrey8", :method => 'post', :rel => "nofollow" %></li>-->
|
||||||
</ul>
|
</ul>
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
<li class="navOrgMenu fr" id="orgUser" style="cursor:pointer;"><a href="javascript:void(0);" class="linkGrey8 f14" id="orgUserName"><%= User.current %></a></li>
|
<li class="navOrgMenu fr" id="orgUser" style="cursor:pointer;"><a href="javascript:void(0);" class="fontGrey2 f14" id="orgUserName"><%= User.current %></a></li>
|
||||||
<!--<li class="navOrgMenu fr"><%#=link_to User.current, user_path(User.current), :class => "linkGrey8 f14" %></li>-->
|
<!--<li class="navOrgMenu fr"><%#=link_to User.current, user_path(User.current), :class => "linkGrey8 f14" %></li>-->
|
||||||
<% else %>
|
<% else %>
|
||||||
<li class="navOrgMenu fr"><a href="<%= signin_path(:login=>true) %>" class="linkGrey8 f14">登录</a></li>
|
<li class="navOrgMenu fr"><a href="<%= signin_path(:login=>true) %>" class="linkGrey8 f14">登录</a></li>
|
||||||
|
@ -75,141 +75,136 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<div class="homepageContentContainer">
|
<div class="homepageContentContainer">
|
||||||
<div class="homepageContent">
|
<div class="homepageContent">
|
||||||
<div class="homepageLeft">
|
<div class="homepageLeft">
|
||||||
<div class="homepagePortraitContainer">
|
<div class="homepagePortraitContainer">
|
||||||
<!--<div class="pr_info_logo fl mr10 mb5">-->
|
<!--<div class="pr_info_logo fl mr10 mb5">-->
|
||||||
<!--<%#= image_tag(url_to_avatar(@organization), :width=>"60", :height=>"60", :alt=>"组织logo") %>-->
|
<!--<%#= image_tag(url_to_avatar(@organization), :width=>"60", :height=>"60", :alt=>"组织logo") %>-->
|
||||||
<!--</div>-->
|
<!--</div>-->
|
||||||
<div class="pr_info_logo fl fl mr10 mb5" id="homepage_portrait_image">
|
<div class="pr_info_logo fl fl mr10 mb5" id="homepage_portrait_image">
|
||||||
<%= image_tag(url_to_avatar(@organization),width:"60", height: "60", :id=>'nh_user_tx') %>
|
<%= image_tag(url_to_avatar(@organization),width:"60", height: "60", :id=>'nh_user_tx') %>
|
||||||
<% if User.current.logged?%>
|
<% if User.current.logged?%>
|
||||||
<% if User.current.id == @organization.creator_id%>
|
<% if User.current.id == @organization.creator_id%>
|
||||||
<div id="edit_org_file_btn" class="none">
|
<div id="edit_org_file_btn" class="none">
|
||||||
<div class="homepageEditProfile">
|
<div class="homepageEditProfile">
|
||||||
<a href="<%= clear_org_avatar_temp_organization_path(@organization) %>" data-remote="true" class="homepageEditProfileIcon"></a>
|
<a href="<%= clear_org_avatar_temp_organization_path(@organization) %>" data-remote="true" class="homepageEditProfileIcon"></a>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
</div>
|
||||||
<% end%>
|
<% end %>
|
||||||
</div>
|
<% end%>
|
||||||
<!--<div class="orgName fl mb5 f14">组织id:<%#= @organization.id %></div>-->
|
</div>
|
||||||
<div class="orgName fl mb5 f14">
|
<!--<div class="orgName fl mb5 f14">组织id:<%#= @organization.id %></div>-->
|
||||||
<%= link_to @organization.name, organization_path(@organization.id), :class=>"pr_info_name fl c_dark fb break_word" %>
|
<div class="orgName fl mb5 f14">
|
||||||
<% if User.current.logged? %>
|
<%= link_to @organization.name, organization_path(@organization.id), :class=>"pr_info_name fl c_dark fb break_word" %>
|
||||||
<% if @organization.is_public? %>
|
<% if User.current.logged? %>
|
||||||
<span class="img_private"><%= l(:label_public)%></span>
|
<% if @organization.is_public? %>
|
||||||
<% else %>
|
<span class="img_private"><%= l(:label_public)%></span>
|
||||||
<span class="img_private"><%= l(:label_private)%></span>
|
<% else %>
|
||||||
<% end %>
|
<span class="img_private"><%= l(:label_private)%></span>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
|
||||||
|
|
||||||
<% if User.current.admin_of_org?(@organization) %>
|
|
||||||
<a href="<%= setting_organization_path(@organization) %>" class="pr_join_a c_white"><span class="pr_setting"></span>配置</a>
|
|
||||||
<% end %>
|
<% end %>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--<div style="clear:both;">-->
|
<% if User.current.admin_of_org?(@organization) %>
|
||||||
<!--<%#= link_to l(:label_org_name)+"#{@organization.name}", organization_path(@organization.id), :class=>"pr_info_name fl c_dark fb break_word" %>-->
|
<a href="<%= setting_organization_path(@organization) %>" class="pr_join_a c_white"><span class="pr_setting"></span>配置</a>
|
||||||
<!--<%# if @organization.is_public? %>-->
|
<% end %>
|
||||||
<!--<span class="img_private"><%#= l(:label_public)%></span>-->
|
|
||||||
<!--<%# else %>-->
|
|
||||||
<!--<span class="img_private"><%#= l(:label_private)%></span>-->
|
|
||||||
<!--<%# end %>-->
|
|
||||||
<!--</div>-->
|
|
||||||
|
|
||||||
<div class="cl"></div>
|
<!--<div style="clear:both;">-->
|
||||||
<div class="f12 fontGrey3">
|
<!--<%#= link_to l(:label_org_name)+"#{@organization.name}", organization_path(@organization.id), :class=>"pr_info_name fl c_dark fb break_word" %>-->
|
||||||
<%= link_to '文章', organization_org_document_comments_path(@organization) %>
|
<!--<%# if @organization.is_public? %>-->
|
||||||
<% if User.current.logged? %>
|
<!--<span class="img_private"><%#= l(:label_public)%></span>-->
|
||||||
(
|
<!--<%# else %>-->
|
||||||
<%= link_to OrgDocumentComment.where("organization_id =? and parent_id is null", @organization.id).count, organization_org_document_comments_path(@organization), :class => "linkBlue" %>
|
<!--<span class="img_private"><%#= l(:label_private)%></span>-->
|
||||||
)
|
<!--<%# end %>-->
|
||||||
<% end %>
|
<!--</div>-->
|
||||||
|
|
|
||||||
<%= link_to '成员', members_organization_path(@organization.id) %>
|
<div class="cl"></div>
|
||||||
<% if User.current.logged? %>
|
<div class="f12 fontGrey3">
|
||||||
|
<%= link_to '文章', organization_org_document_comments_path(@organization) %>
|
||||||
|
<% if User.current.logged? %>
|
||||||
|
(
|
||||||
|
<%= link_to OrgDocumentComment.where("organization_id =? and parent_id is null", @organization.id).count, organization_org_document_comments_path(@organization), :class => "linkBlue" %>
|
||||||
|
)
|
||||||
|
<% end %>
|
||||||
|
|
|
||||||
|
<%= link_to '成员', members_organization_path(@organization.id) %>
|
||||||
|
<% if User.current.logged? %>
|
||||||
(<%= link_to @organization.org_members.count, members_organization_path(@organization.id), :id => 'org_members_count_id', :class => "linkBlue" %>)
|
(<%= link_to @organization.org_members.count, members_organization_path(@organization.id), :id => 'org_members_count_id', :class => "linkBlue" %>)
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="homepageLeftMenuContainer" id="sub_field_left_lists">
|
|
||||||
<%= render :partial => "organizations/org_left_subfield_list", :locals => {:organization => @organization} %>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="homepageRight" style="margin-top:<%= params[:show_homepage].nil? ? '10px':'0px' %>;">
|
<div class="homepageLeftMenuContainer" id="sub_field_left_lists">
|
||||||
<%= render_flash_messages %>
|
<%= render :partial => "organizations/org_left_subfield_list", :locals => {:organization => @organization} %>
|
||||||
<%= yield %>
|
|
||||||
<%= call_hook :view_layouts_base_content %>
|
|
||||||
<div style="clear:both;"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="homepageRight" style="margin-top:<%= params[:show_homepage].nil? ? '10px':'0px' %>;">
|
||||||
|
<%= render_flash_messages %>
|
||||||
|
<%= yield %>
|
||||||
|
<%= call_hook :view_layouts_base_content %>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--页面底部-->
|
<!--页面底部-->
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<div id="Footer">
|
<div id="Footer">
|
||||||
<div class="footerAboutContainer">
|
<div class="footerAboutContainer">
|
||||||
<ul class="footerAbout">
|
<ul class="footerAbout">
|
||||||
<li class="fl"><a href="<%= about_us_path %>" class=" f_grey mw20" target="_blank">关于我们</a>|</li>
|
<li class="fl"><a href="<%= about_us_path %>" class=" f_grey mw20" target="_blank">关于我们</a>|</li>
|
||||||
<li class="fl"><a href="<%= agreement_path %>" class=" f_grey mw20" target="_blank">服务协议</a>|</li>
|
<li class="fl"><a href="<%= agreement_path %>" class=" f_grey mw20" target="_blank">服务协议</a>|</li>
|
||||||
<li class="fl"><a href="http://forge.trustie.net/forums/1/memos/1168" class="f_grey mw20" target="_blank">帮助中心</a>|</li>
|
<li class="fl"><a href="http://forge.trustie.net/forums/1/memos/1168" class="f_grey mw20" target="_blank">帮助中心</a>|</li>
|
||||||
<li class="fl"><a href="<%= forums_path(:reorder_complex=>'desc')%>" class="f_grey mw20" target="_blank">贴吧交流</a></li>
|
<li class="fl"><a href="<%= forums_path(:reorder_complex=>'desc')%>" class="f_grey mw20" target="_blank">贴吧交流</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
|
|
||||||
<ul class="copyright mt10">
|
<ul class="copyright mt10">
|
||||||
<li class="fl mr30">Copyright © 2007-2015, All Rights Riserved</li>
|
<li class="fl mr30">Copyright © 2007-2015, All Rights Reserved</li>
|
||||||
<li>ICP备09019772</li>
|
<li>ICP备09019772</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<div id="ajax-modal" style="display:none;"></div>
|
<div id="ajax-modal" style="display:none;"></div>
|
||||||
|
|
||||||
<div id="ajax-indicator" style="display:none;">
|
<div id="ajax-indicator" style="display:none;">
|
||||||
<span><%= l(:label_loading) %></span>
|
<span><%= l(:label_loading) %></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$("#courseMenu").mouseenter(function(){
|
$("#courseMenu").mouseenter(function(){
|
||||||
$("#topnav_course_menu").show();
|
$("#topnav_course_menu").show();
|
||||||
});
|
});
|
||||||
$("#courseMenu").mouseleave(function(){
|
$("#courseMenu").mouseleave(function(){
|
||||||
$("#topnav_course_menu").hide();
|
$("#topnav_course_menu").hide();
|
||||||
});
|
});
|
||||||
$("#projectMenu").mouseenter(function(){
|
$("#projectMenu").mouseenter(function(){
|
||||||
$("#topnav_project_menu").show();
|
$("#topnav_project_menu").show();
|
||||||
});
|
});
|
||||||
$("#projectMenu").mouseleave(function(){
|
$("#projectMenu").mouseleave(function(){
|
||||||
$("#topnav_project_menu").hide();
|
$("#topnav_project_menu").hide();
|
||||||
});
|
});
|
||||||
|
|
||||||
function show_homepage(id, has_homepage){
|
function show_homepage(id, has_homepage){
|
||||||
if (has_homepage == 1)
|
if (has_homepage == 1)
|
||||||
{
|
{
|
||||||
window.location.href = "/organizations/" + id + "?show_homepage=1";
|
window.location.href = "/organizations/" + id + "?show_homepage=1";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
alert("您还未设置首页!");
|
alert("您还未设置首页!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
$("#orgUser,#orgSwitch").click(function(){
|
$("#orgUser,#orgSwitch,#org_login_list").mouseout(function(){
|
||||||
$(".org_login_list").toggle();
|
|
||||||
if($("#orgArrow").attr("class") == "orgMenuArrow"){
|
|
||||||
$("#orgArrow").attr("class","orgMenuArrow2");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$("#orgArrow").attr("class","orgMenuArrow") ;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if($(".org_login_list").children().click){
|
|
||||||
$(".org_login_list").css("display","none");
|
$(".org_login_list").css("display","none");
|
||||||
$("#orgArrow").attr("class","orgMenuArrow");
|
$("#orgArrow").attr("class","orgMenuArrow");
|
||||||
};
|
});
|
||||||
|
$("#orgUser,#orgSwitch,#org_login_list").mouseover(function(){
|
||||||
|
$(".org_login_list").css("display","block");
|
||||||
|
$("#orgArrow").attr("class","orgMenuArrow2");
|
||||||
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -21,10 +21,7 @@
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url:' /forums/'+'<%= @memo.forum_id.to_s %>'+'/memos/<%= @memo.id.to_s%>',
|
url:' /forums/'+'<%= @memo.forum_id.to_s %>'+'/memos/<%= @memo.id.to_s%>',
|
||||||
type:'put',
|
type:'put',
|
||||||
data:{
|
data:$("#edit_memo").serialize(),
|
||||||
'memo[subject]':$("#memo_subject").val(),
|
|
||||||
'memo[content]':$("#memo_content").val()
|
|
||||||
},
|
|
||||||
success:function(data){
|
success:function(data){
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
|
@ -57,6 +57,7 @@
|
||||||
:data => {:confirm => l(:text_are_you_sure)},
|
:data => {:confirm => l(:text_are_you_sure)},
|
||||||
:class => 'postOptionLink'
|
:class => 'postOptionLink'
|
||||||
) if @message.course_destroyable_by?(User.current) %>
|
) if @message.course_destroyable_by?(User.current) %>
|
||||||
|
<%#= link_to "发送",messages_join_org_subfield_path(:message_id => @topic.id) , :remote=> true,:class => 'postOptionLink' %>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
@ -1,16 +1,23 @@
|
||||||
|
|
||||||
|
<%= content_for(:header_tags) do %>
|
||||||
|
<%= import_ke(enable_at: false, prettify: false, init_activity: false) %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
<%= error_messages_for 'message' %>
|
<%= error_messages_for 'message' %>
|
||||||
<% replying ||= false %>
|
<% replying ||= false %>
|
||||||
<% extra_option = replying ? { readonly: true} : { maxlength: 200 } %>
|
<% extra_option = replying ? { hidden: "hidden"} : { maxlength: 200 } %>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<label><span class="c_red">*</span> <%= l(:field_subject) %> :</label>
|
<div style="display:<%= replying ? 'none' : 'block'%>;" class="fl"><label><span class="c_red">*</span> <%= l(:field_subject) %> :</label></div>
|
||||||
<% if replying %>
|
<% if replying %>
|
||||||
<%= f.text_field :subject, { size: 60, id: "message_subject",:class=>"talk_input w585" }.merge(extra_option) %>
|
<div style="display: none;"><%= f.text_field :subject, { size: 60, id: "message_subject",:class=>"talk_input w585 fl" }.merge(extra_option) %></div>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= f.text_field :subject, { size: 60, id: "message_subject", onkeyup: "regexSubject();",:class=>"talk_input w585" }.merge(extra_option) %>
|
<%= f.text_field :subject, { size: 60, id: "message_subject", onkeyup: "regexSubject();",:class=>"talk_input w585" }.merge(extra_option) %>
|
||||||
|
<p id="subject_span" class="ml55"></p>
|
||||||
<% end %>
|
<% end %>
|
||||||
<p id="subject_span" class="ml55"></p>
|
<div class="cl"></div>
|
||||||
</li>
|
</li>
|
||||||
<li class="ml55 mb5">
|
<li class="ml60 mb5">
|
||||||
<% unless replying %>
|
<% unless replying %>
|
||||||
<% if @message.safe_attribute? 'sticky' %>
|
<% if @message.safe_attribute? 'sticky' %>
|
||||||
<%= f.check_box :sticky %>
|
<%= f.check_box :sticky %>
|
||||||
|
@ -24,20 +31,45 @@
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<div id="message_quote" class="wiki" style="width: 100%;word-break: break-all;word-wrap: break-word;"></div>
|
<div id="message_quote" class="wiki" style="width: 92%;word-break: break-all;word-wrap: break-word;margin-left: 40px;"></div>
|
||||||
<label class="fl ml3" ><span class="c_red">*</span> <%= l(:field_description) %> :</label>
|
<!--<label class="fl" >
|
||||||
|
<span class="c_red">*</span>
|
||||||
|
<%#= l(:field_description) %> :
|
||||||
|
</label>-->
|
||||||
<%= text_area :quote,:quote,:style => 'display:none' %>
|
<%= text_area :quote,:quote,:style => 'display:none' %>
|
||||||
<%= f.text_area :content, :class => 'talk_text fl', :id => 'message_content', :onkeyup => "regexContent();", :maxlength => 5000,:placeholder => "最多3000个汉字(或6000个英文字符)" %>
|
<%= hidden_field_tag :asset_id,params[:asset_id],:required => false,:style => 'display:none' %>
|
||||||
|
<% if replying %>
|
||||||
|
<%= f.kindeditor :content, :editor_id => 'message_content_editor',
|
||||||
|
:width => '99%',
|
||||||
|
:height => 100,
|
||||||
|
:minHeight=>100,
|
||||||
|
:input_html => { :id => 'message_content',
|
||||||
|
:class => 'talk_text fl',
|
||||||
|
:maxlength => 5000 }%>
|
||||||
|
<% else %>
|
||||||
|
<%= f.kindeditor :content, :editor_id => 'message_content_editor',
|
||||||
|
:owner_id => @message.nil? ? 0: @message.id,
|
||||||
|
:owner_type => OwnerTypeHelper::MESSAGE,
|
||||||
|
:width => '90%',
|
||||||
|
:height => 300,
|
||||||
|
:minHeight=>300,
|
||||||
|
:class => 'talk_text fl',
|
||||||
|
:input_html => { :id => 'message_content',
|
||||||
|
:class => 'talk_text fl',
|
||||||
|
:maxlength => 5000 }%>
|
||||||
|
<% end %>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<p id="message_content_span" class="ml55"></p>
|
<p id="message_content_span"></p>
|
||||||
</li>
|
</li>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<li>
|
<% unless replying %>
|
||||||
<label class="fl"> <%= l(:label_attachment_plural) %> :</label>
|
<li>
|
||||||
<div class="fl ml3">
|
<label class="fl mt10"> <%= l(:label_attachment_plural) %> :</label>
|
||||||
<%= render :partial => 'attachments/form_project', :locals => {:container => @message,:isReply => @isReply} %>
|
<div class="fl mt10">
|
||||||
</div>
|
<%= render :partial => 'attachments/form_project', :locals => {:container => @message,:isReply => @isReply} %>
|
||||||
</li>
|
</div>
|
||||||
|
</li>
|
||||||
|
<% end %>
|
||||||
<li >
|
<li >
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</li>
|
</li>
|
|
@ -0,0 +1,60 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).ready(function(){
|
||||||
|
$(".resourcePopupClose").click(function(){
|
||||||
|
$(".shareDP").css("display","none");
|
||||||
|
});
|
||||||
|
$(".sectionRow").toggle(
|
||||||
|
function(){
|
||||||
|
$(this).next().css("display","block");
|
||||||
|
},
|
||||||
|
function(){
|
||||||
|
$(this).next().css("display","none");
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
function join_org(){
|
||||||
|
if ($("#org_subfield_list input[type='checkbox']:checked").size() == 0)
|
||||||
|
{
|
||||||
|
alert("您还没有选择栏目!");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$("#join-form").submit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<div class="relateText fl mb10">发送到</div>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="sectionWrap fl">
|
||||||
|
|
||||||
|
<div class="pl10 fontGrey3 sectionRow">
|
||||||
|
<span class="shareArrow"></span>我的组织
|
||||||
|
</div>
|
||||||
|
<ul class="fontGrey3 sectionContent" id="sectionContent3">
|
||||||
|
<% organizations.each do |org| %>
|
||||||
|
<li><span><%= link_to org.name, messages_get_subfield_on_click_org_path(:organization_id => org.id), :remote => true,:style =>"border:none; outline:none;" %></span></li>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<%= form_tag url_for(:controller => 'messages', :action => 'join_org_subfields', :id => id), :id => 'join-form', :remote => true %>
|
||||||
|
<div id="org_subfield_list">
|
||||||
|
<%= render :partial => 'show_org_subfields', :locals => {:org => nil} %>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="courseSendCancel mr2" style="float:right;"><a href="javascript:void(0);" onclick="hideModal();" class="sendSourceText">取消</a></div>
|
||||||
|
<div class="courseSendSubmit" style="float:right;"><a href="javascript:void(0);" onclick="join_org();" class="sendSourceText">确定</a></div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -1,104 +1,3 @@
|
||||||
<div class="project_r_h">
|
|
||||||
<h2 class="project_h2"><%= h @board.name %></h2>
|
|
||||||
</div>
|
|
||||||
<div class="problem_main">
|
|
||||||
<div class="ping_dispic">
|
|
||||||
<%=link_to image_tag(url_to_avatar(@topic.author), :width => "46", :height => "46"), user_path(@topic.author) %>
|
|
||||||
</div>
|
|
||||||
<div class="talk_txt fl">
|
|
||||||
<p class="problem_tit fl fb" style="word-break:break-all;" >
|
|
||||||
<%= @topic.subject %></p>
|
|
||||||
<br/>
|
|
||||||
<p>由<%= link_to_user_header @topic.author,false,:class=> 'problem_name c_orange' %> 添加于<%= format_time(@topic.created_on) %></p>
|
|
||||||
</div>
|
|
||||||
<!-- <a class="talk_edit fr">删除</a><a class="talk_edit fr">编辑</a><a class="talk_edit fr">置顶</a> -->
|
|
||||||
<%#= watcher_link(@topic, User.current) %>
|
|
||||||
<%= link_to(
|
|
||||||
l(:button_edit),
|
|
||||||
{:action => 'edit', :id => @topic},
|
|
||||||
:class => 'talk_edit fr'
|
|
||||||
) if @message.editable_by?(User.current) %>
|
|
||||||
<%= link_to(
|
|
||||||
l(:button_delete),
|
|
||||||
{:action => 'destroy', :id => @topic},
|
|
||||||
:method => :post,
|
|
||||||
:data => {:confirm => l(:text_are_you_sure)},
|
|
||||||
:class => 'talk_edit fr'
|
|
||||||
) if @message.destroyable_by?(User.current) %>
|
|
||||||
<div class="cl"></div>
|
|
||||||
<div class="talk_info mb10" style="word-break:break-all;"><%= textilizable(@topic, :content) %></div>
|
|
||||||
<div class="talk_info mb10"><%= link_to_attachment_project @topic, :author => false %></div>
|
|
||||||
<!-- <a href="#" class=" link_file ml60">附件:爱覅俄方if.zip(27.5kB)</a>-->
|
|
||||||
<div class="cl"></div>
|
|
||||||
<% if User.current.logged? %>
|
|
||||||
<%= toggle_link l(:button_reply), "reply", :focus => 'message_content',:class => 'talk_edit fr' %>
|
|
||||||
<% else %>
|
|
||||||
<%= link_to l(:button_reply), signin_path,:class => 'talk_edit fr' %>
|
|
||||||
<% end %>
|
|
||||||
<%= link_to(
|
|
||||||
l(:button_quote),
|
|
||||||
{:action => 'quote', :id => @topic},
|
|
||||||
:remote => true,
|
|
||||||
:method => 'get',
|
|
||||||
:class => 'talk_edit fr',
|
|
||||||
:remote => true) if !@topic.locked? && authorize_for('messages', 'reply') %>
|
|
||||||
<div class="cl"></div>
|
|
||||||
</div><!--讨论主类容 end-->
|
|
||||||
<% unless @replies.empty? %>
|
|
||||||
<% reply_count = 0 %>
|
|
||||||
<% @replies.each do |message| %>
|
|
||||||
<div class="ping_C mb10" id="<%= "message-#{message.id}" %>">
|
|
||||||
<div class="ping_dispic"><%= link_to image_tag(url_to_avatar(message.author), :width => '46',:height => '46'), user_path(message.author) %></div>
|
|
||||||
<div class="ping_discon">
|
|
||||||
<div class="ping_distop upload_img break_word">
|
|
||||||
<%= link_to_user_header message.author,false,:class => 'c_blue fb fl mb10 ' %>
|
|
||||||
<span class="c_grey fr"><%= format_time(message.created_on) %></span>
|
|
||||||
<div class="cl"></div>
|
|
||||||
<p class="break_word"><%= textAreailizable message,:content,:attachments => message.attachments %></p>
|
|
||||||
<%= link_to_attachments_course message, :author => false %>
|
|
||||||
</div>
|
|
||||||
<div class="ping_disfoot">
|
|
||||||
<%= link_to(
|
|
||||||
l(:button_quote),
|
|
||||||
{:action => 'quote', :id => message},
|
|
||||||
:remote => true,
|
|
||||||
:method => 'get',
|
|
||||||
:title => l(:button_quote)) if !@topic.locked? && authorize_for('messages', 'reply') %>
|
|
||||||
<%= link_to(
|
|
||||||
#image_tag('edit.png'),
|
|
||||||
l(:button_edit),
|
|
||||||
{:action => 'edit', :id => message},
|
|
||||||
:title => l(:button_edit)
|
|
||||||
) if message.course_editable_by?(User.current) %>
|
|
||||||
<%= link_to(
|
|
||||||
#image_tag('delete.png'),
|
|
||||||
l(:button_delete),
|
|
||||||
{:action => 'destroy', :id => message},
|
|
||||||
:method => :post,
|
|
||||||
:data => {:confirm => l(:text_are_you_sure)},
|
|
||||||
:title => l(:button_delete)
|
|
||||||
) if message.course_destroyable_by?(User.current) %>
|
|
||||||
</div>
|
|
||||||
<div class="cl"></div>
|
|
||||||
</div>
|
|
||||||
<div class="cl"></div>
|
|
||||||
</div><!---留言内容-->
|
|
||||||
<% end %>
|
|
||||||
<% end %>
|
|
||||||
<% if !@topic.locked? && authorize_for('messages', 'reply') %>
|
|
||||||
<div id="reply" style="display:none;">
|
|
||||||
<%= form_for @reply, :as => :reply, :url => {:action => 'reply', :id => @topic}, :html => {:multipart => true, :id => 'message_form'} do |f| %>
|
|
||||||
<p class="talk_top"><%= l(:label_message_reply) %></p>
|
|
||||||
<%= render :partial => 'form_project', :locals => {:f => f, :replying => true} %>
|
|
||||||
<a href="#" onclick="submit_message_replay();"class="blue_btn fl c_white ml5" style="margin-left: 50px;"><%= l(:button_submit)%></a>
|
|
||||||
<% end %>
|
|
||||||
<div id="preview" class="wiki"></div>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
<ul class="wlist">
|
|
||||||
<%= pagination_links_full @reply_pages, @reply_count, :per_page_links => false, :remote => false, :flag => true%>
|
|
||||||
</ul>
|
|
||||||
<% html_title @topic.subject %>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
// var flag = false;
|
// var flag = false;
|
||||||
|
@ -107,7 +6,7 @@
|
||||||
// });
|
// });
|
||||||
function submit_message_replay()
|
function submit_message_replay()
|
||||||
{
|
{
|
||||||
if(flag)
|
if(regexContent() == false)
|
||||||
{
|
{
|
||||||
$("#message_form").submit();
|
$("#message_form").submit();
|
||||||
}
|
}
|
||||||
|
@ -119,13 +18,208 @@
|
||||||
{
|
{
|
||||||
$("#message_content_span").text("<%= l(:label_reply_empty) %>");
|
$("#message_content_span").text("<%= l(:label_reply_empty) %>");
|
||||||
$("#message_content_span").css('color','#ff0000');
|
$("#message_content_span").css('color','#ff0000');
|
||||||
flag = false;
|
return false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$("#message_content_span").text("<%= l(:label_field_correct) %>");
|
$("#message_content_span").text("<%= l(:label_field_correct) %>");
|
||||||
$("#message_content_span").css('color','#008000');
|
$("#message_content_span").css('color','#008000');
|
||||||
flag = true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<%= content_for(:header_tags) do %>
|
||||||
|
<%= import_ke(enable_at: false, prettify: false, init_activity: true) %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(function(){
|
||||||
|
$("#RSide").removeAttr("id");
|
||||||
|
$("#Container").css("width","1000px");
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
function expand_reply(container,btnid){
|
||||||
|
var target = $(container).children();
|
||||||
|
var btn = $(btnid);
|
||||||
|
if(btn.data('init')=='0'){
|
||||||
|
btn.data('init',1);
|
||||||
|
btn.html('收起回复');
|
||||||
|
target.show();
|
||||||
|
}else{
|
||||||
|
btn.data('init',0);
|
||||||
|
btn.html('展开更多');
|
||||||
|
target.hide();
|
||||||
|
target.eq(0).show();
|
||||||
|
target.eq(1).show();
|
||||||
|
target.eq(2).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function project_board_submit_message_replay()
|
||||||
|
{
|
||||||
|
if(MessageReplayVevify())
|
||||||
|
{
|
||||||
|
message_content_editor.sync();//提交内容之前要sync,不然服务器端取不到值
|
||||||
|
$("#message_form").submit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function project_board_canel_message_replay()
|
||||||
|
{
|
||||||
|
$("#reply").hide(200);
|
||||||
|
$("#message_quote").html("");
|
||||||
|
}
|
||||||
|
|
||||||
|
function MessageReplayVevify() {
|
||||||
|
var content = message_content_editor.html();//$.trim($("#message_content").val());
|
||||||
|
if (message_content_editor.isEmpty()) {
|
||||||
|
$("#message_content_span").text("回复不能为空");
|
||||||
|
$("#message_content_span").css('color', '#ff0000');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$("#message_content_span").text("填写正确");
|
||||||
|
$("#message_content_span").css('color', '#008000');
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$(function() {
|
||||||
|
init_activity_KindEditor_data(<%= @topic.id%>,null,"85%", "<%=@topic.class.to_s%>");
|
||||||
|
showNormalImage('message_description_<%= @topic.id %>');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<div class="homepageRight mt0">
|
||||||
|
<div class="postRightContainer ml10" onmouseover="$('#message_setting_<%= @topic.id%>').show();" onmouseout="$('#message_setting_<%= @topic.id%>').hide();">
|
||||||
|
<div class="postThemeContainer">
|
||||||
|
<div class="postDetailPortrait">
|
||||||
|
<%= link_to image_tag(url_to_avatar(@topic.author),:width=>50,:height => 50,:alt=>'图像' ),user_path(@topic.author) %>
|
||||||
|
</div>
|
||||||
|
<div class="postThemeWrap">
|
||||||
|
<% if @topic.author.id == User.current.id%>
|
||||||
|
<div class="homepagePostSetting" id="message_setting_<%= @topic.id%>" style="display: none">
|
||||||
|
<ul>
|
||||||
|
<li class="homepagePostSettingIcon">
|
||||||
|
<ul class="homepagePostSettiongText">
|
||||||
|
<li>
|
||||||
|
<%= link_to(l(:button_edit), {:action => 'edit', :id => @topic}, :class => 'postOptionLink') if @message.editable_by?(User.current) %>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<%= link_to(l(:button_delete), {:action => 'destroy', :id => @topic},:method => :post,
|
||||||
|
:data => {:confirm => l(:text_are_you_sure)},
|
||||||
|
:class => 'postOptionLink'
|
||||||
|
) if @message.destroyable_by?(User.current) %>
|
||||||
|
<%#= link_to "发送",messages_join_org_subfield_path(:message_id => @topic.id) , :remote=> true,:class => 'postOptionLink' %>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<%end%>
|
||||||
|
<div class="postDetailTitle fl">
|
||||||
|
<a href="javascript:void(0);" class="f14 linkGrey4 fb" style="overflow:hidden;">主题: <%= @topic.subject%></a>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
<div class="postDetailCreater">
|
||||||
|
<% if @topic.try(:author).try(:realname) == ' ' %>
|
||||||
|
<%= link_to @topic.try(:author), user_path(@topic.author,:host=>Setting.host_user), :class => "linkBlue2", :target=> "_blank" %>
|
||||||
|
<% else %>
|
||||||
|
<%= link_to @topic.try(:author).try(:realname), user_path(@topic.author,:host=>Setting.host_user), :class => "linkBlue2", :target=> "_blank" %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<div class="postDetailDate mb5"><%= format_time( @topic.created_on)%></div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="memo-content upload_img break_word" id="message_description_<%= @topic.id %>" style="word-break: break-all; word-wrap:break-word;margin-bottom: 0px !important;" >
|
||||||
|
<%= @topic.content.html_safe%>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class=" fl" style="width: 600px">
|
||||||
|
<%= link_to_attachments_course @topic, :author => false %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="homepagePostReply">
|
||||||
|
<% unless @replies.empty? %>
|
||||||
|
<div class="homepagePostReplyBanner">
|
||||||
|
<div class="homepagePostReplyBannerCount">回复(<%=@reply_count %>)</div>
|
||||||
|
<div class="homepagePostReplyBannerTime"></div>
|
||||||
|
<!-- <div class="homepagePostReplyBannerMore">
|
||||||
|
<%# if @reply_count > 2%>
|
||||||
|
<a href="javascript:void(0);" class="replyGrey" id="reply_btn_<%#= @topic.id%>" onclick="expand_reply('#reply_div_<%#= @topic.id %>','#reply_btn_<%#= @topic.id%>')" data-count="<%#= @reply_count %>" data-init="0" >点击展开更多回复</a>
|
||||||
|
<%# end %>
|
||||||
|
</div>-->
|
||||||
|
</div>
|
||||||
|
<div class="" id="reply_div_<%= @topic.id %>">
|
||||||
|
<% @replies.each_with_index do |reply,i| %>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(function(){
|
||||||
|
showNormalImage('reply_message_description_<%= reply.id %>');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<div class="homepagePostReplyContainer" onmouseover="$('#reply_edit_menu_<%= reply.id%>').show();" onmouseout="$('#reply_edit_menu_<%= reply.id%>').hide();">
|
||||||
|
<div class="homepagePostReplyPortrait">
|
||||||
|
<%= link_to image_tag(url_to_avatar(reply.author), :width => 33,:height => 33), user_path(reply.author) %>
|
||||||
|
</div>
|
||||||
|
<div class="homepagePostReplyDes">
|
||||||
|
<div class="homepagePostReplyPublisher">
|
||||||
|
<% if reply.try(:author).try(:realname) == ' ' %>
|
||||||
|
<%= link_to reply.try(:author), user_path(reply.author_id,:host=>Setting.host_user), :class => "newsBlue mr10 f14" %>
|
||||||
|
<% else %>
|
||||||
|
<%= link_to reply.try(:author).try(:realname), user_path(reply.author_id,:host=>Setting.host_user), :class => "newsBlue mr10 f14" %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<div class="homepagePostReplyContent upload_img break_word table_maxWidth" id="reply_message_description_<%= reply.id %>">
|
||||||
|
<%= reply.content.html_safe%>
|
||||||
|
</div>
|
||||||
|
<div style="margin-top: -7px; margin-bottom: 5px">
|
||||||
|
<%= format_time(reply.created_on) %>
|
||||||
|
<div class="fr" id="reply_edit_menu_<%= reply.id%>" style="display: none">
|
||||||
|
<%= link_to(
|
||||||
|
l(:button_reply),
|
||||||
|
{:action => 'quote', :id => reply},
|
||||||
|
:remote => true,
|
||||||
|
:method => 'get',
|
||||||
|
:class => 'fr newsBlue',
|
||||||
|
:title => l(:button_reply)) if !@topic.locked? && authorize_for('messages', 'reply') %>
|
||||||
|
<%= link_to(
|
||||||
|
l(:button_delete),
|
||||||
|
{:action => 'destroy', :id => reply},
|
||||||
|
:method => :post,
|
||||||
|
:class => 'fr newsGrey mr10',
|
||||||
|
:data => {:confirm => l(:text_are_you_sure)},
|
||||||
|
:title => l(:button_delete)
|
||||||
|
) if reply.destroyable_by?(User.current) %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p id="reply_message_<%= reply.id%>"></p>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<% end %>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<% if !@topic.locked? && authorize_for('messages', 'reply') %>
|
||||||
|
<div class="talkWrapMsg" nhname="about_talk_reply">
|
||||||
|
<em class="talkWrapArrow"></em>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="talkConIpt ml5 mb10" id="reply<%= @topic.id %>">
|
||||||
|
<%= form_for @reply, :as => :reply, :url => {:action => 'reply', :id => @topic}, :html => {:multipart => true, :id => 'message_form'} do |f| %>
|
||||||
|
<%= render :partial => 'form_project', :locals => {:f => f, :replying => true} %>
|
||||||
|
<%= link_to l(:button_cancel), "javascript:void(0)", :onclick => 'project_board_cancel_message_replay();', :class => "blue_btn grey_btn fr c_white mt10 mr5" %>
|
||||||
|
<%= link_to l(:button_submit), "javascript:void(0)", :onclick => 'project_board_submit_message_replay();', :class => "blue_btn fr c_white mt10", :style => "margin-left: 50px;" %>
|
||||||
|
<% end %>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
<ul class="columnWrap fl">
|
||||||
|
<!--<span class="fontBlue pl10">请在左侧选择要转发的位置</span>-->
|
||||||
|
<% if !org.nil? %>
|
||||||
|
<span class="fontBlue pl10">组织:<%= org.name %></span>
|
||||||
|
<% org.org_subfields.where("field_type='Post'").each do |subfield| %>
|
||||||
|
<li>
|
||||||
|
<label><input type="checkbox" name='org_subfields[]' value='<%= subfield.id %>' class="mt3 fl mr5"/><span><%= subfield.name %></span></label>
|
||||||
|
</li>
|
||||||
|
<% end %>
|
||||||
|
<% else %>
|
||||||
|
<span class="fontBlue pl10">请在左侧选择组织</span>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
|
@ -1,26 +1,16 @@
|
||||||
<% if @message.project %>
|
<% if @message.project %>
|
||||||
<div class="project_r_h">
|
|
||||||
<h2 class="project_h2"><%= l(:label_course_board) %></h2>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<%#= board_breadcrumb(@message) %>
|
|
||||||
<!--<h3><%#= avatar(@topic.author, :size => "24") %><span style = "width:100%;word-break:break-all;word-wrap: break-word;"><%#=h @topic.subject %></span></h3>-->
|
|
||||||
<div class="ml15">
|
|
||||||
<ul>
|
|
||||||
<%= form_for @message, {:as => :message,
|
<%= form_for @message, {:as => :message,
|
||||||
:url => {:action => 'edit'},
|
:url => {:action => 'edit'},
|
||||||
:html => {:multipart => true,
|
:html => {:multipart => true,
|
||||||
:id => 'message-form',
|
:id => 'message-form',
|
||||||
:method => :post}
|
:method => :post}
|
||||||
} do |f| %>
|
} do |f| %>
|
||||||
<%= render :partial => 'form_project',
|
<%= render :partial => 'boards/project_message_edit',
|
||||||
:locals => {:f => f, :replying => !@message.parent.nil?} %>
|
:locals => {:f => f, :edit_mode => true, :topic => @message, :project => @message.project} %>
|
||||||
<a href="#" onclick="submitProjectsBoard();" class="blue_btn fl c_white"><%= l(:button_submit) %></a>
|
<!--<a href="#" onclick="submitProjectsBoard();" class="blue_btn fl c_white"><%#= l(:button_submit) %></a>-->
|
||||||
<%= link_to l(:button_cancel), board_message_url(@message.board, @message.root, :r => (@message.parent_id && @message.id)), :class => "blue_btn grey_btn fl c_white" %>
|
<%#= link_to l(:button_cancel), board_message_url(@message.board, @message.root, :r => (@message.parent_id && @message.id)), :class => "blue_btn grey_btn fl c_white" %>
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% elsif @message.course %>
|
<% elsif @message.course %>
|
||||||
<%= form_for @message, {
|
<%= form_for @message, {
|
||||||
:as => :message,
|
:as => :message,
|
||||||
|
@ -31,7 +21,6 @@
|
||||||
} do |f| %>
|
} do |f| %>
|
||||||
<%= render :partial => 'boards/course_message_edit',
|
<%= render :partial => 'boards/course_message_edit',
|
||||||
:locals => {:f => f, :edit_mode => true, :topic => @message, :course => @message.course} %>
|
:locals => {:f => f, :edit_mode => true, :topic => @message, :course => @message.course} %>
|
||||||
|
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
$("#org_subfield_list").html("");
|
||||||
|
$("#org_subfield_list").html("<%= escape_javascript(render :partial => 'show_org_subfields', :locals => {:org => @org}) %>");
|
|
@ -0,0 +1,11 @@
|
||||||
|
$('#topnav_course_menu').hide();
|
||||||
|
|
||||||
|
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'join_org_subfield_menu', :locals => {:organizations => @organizations, :id => @message.id}) %>');
|
||||||
|
showModal('ajax-modal', '430px');
|
||||||
|
$('#ajax-modal').siblings().hide();
|
||||||
|
$('#ajax-modal').before(
|
||||||
|
"<a href='javascript:' onclick='hideModal();' class='resourceClose' style='margin-left: 410px;'></a>");
|
||||||
|
//$('#ajax-modal').css('position','absolute')
|
||||||
|
$('#ajax-modal').css("top","").css("left","");
|
||||||
|
$('#ajax-modal').parent().addClass("resourceSharePopup");
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
hideModal();
|
||||||
|
alert("转发成功!");
|
|
@ -18,8 +18,8 @@
|
||||||
<li>登录名 : <span style="color:red;">*</span></li>
|
<li>登录名 : <span style="color:red;">*</span></li>
|
||||||
<li>邮箱 : <span style="color:red;">*</span></li>
|
<li>邮箱 : <span style="color:red;">*</span></li>
|
||||||
<li>身份 : <span style="color:red;">*</span></li>
|
<li>身份 : <span style="color:red;">*</span></li>
|
||||||
<li nhname="tag" nh_tag_0="true" nh_tag_1="true" nh_tag_3="true" style="display:none;">姓(First Name) : <span style="color:red;">*</span></li>
|
<li nhname="tag" nh_tag_0="true" nh_tag_1="true" nh_tag_3="true" style="display:none;">姓(Last Name) : <span style="color:red;">*</span></li>
|
||||||
<li nhname="tag" nh_tag_0="true" nh_tag_1="true" nh_tag_3="true" style="display:none;">名(Last Name) : <span style="color:red;">*</span></li>
|
<li nhname="tag" nh_tag_0="true" nh_tag_1="true" nh_tag_3="true" style="display:none;">名(First Name) : <span style="color:red;">*</span></li>
|
||||||
<li nhname="tag" nh_tag_2="true" style="display:none;">组织名 : <span style="color:red;">*</span></li>
|
<li nhname="tag" nh_tag_2="true" style="display:none;">组织名 : <span style="color:red;">*</span></li>
|
||||||
<li nhname="tag" nh_tag_0="true" nh_tag_1="true" nh_tag_3="true" style="display:none;">性别 : </li>
|
<li nhname="tag" nh_tag_0="true" nh_tag_1="true" nh_tag_3="true" style="display:none;">性别 : </li>
|
||||||
<li nhname="tag" nh_tag_0="true" nh_tag_1="true" nh_tag_3="true" style="display:none;">工作单位 : </li>
|
<li nhname="tag" nh_tag_0="true" nh_tag_1="true" nh_tag_3="true" style="display:none;">工作单位 : </li>
|
||||||
|
|
|
@ -1,42 +1,34 @@
|
||||||
<%
|
<script type="text/javascript">
|
||||||
btn_tips = l(:label_news_notice)
|
$(function(){
|
||||||
label_tips = l(:label_course_news)
|
$("#RSide").removeAttr("id");
|
||||||
%>
|
$("#Container").css("width","1000px");
|
||||||
<script>
|
});
|
||||||
function remote_search(){
|
function reset_news(){
|
||||||
$("#news_query_form").submit();
|
$("#news_title").val("");
|
||||||
}
|
$("#title_notice_span").text("");
|
||||||
|
$("#description_notice_span").text("");
|
||||||
|
document.getElementById("news_sticky").checked=false;
|
||||||
|
$("#news_attachments").html("<%= escape_javascript(render :partial => 'attachments/new_form', :locals => {:container => News.new})%>");
|
||||||
|
news_description_editor.html("");
|
||||||
|
$("#news_editor").toggle();
|
||||||
|
}
|
||||||
|
<% if @is_new%>
|
||||||
|
$(function(){
|
||||||
|
$("#news_title").focus();
|
||||||
|
});
|
||||||
|
<%end%>
|
||||||
</script>
|
</script>
|
||||||
<div class="project_r_h">
|
<div class="homepageRight mt0 ml10">
|
||||||
<h2 class="project_h2"><%= label_tips %></h2>
|
<div class="homepageRightBanner">
|
||||||
</div>
|
<div class="NewsBannerName">
|
||||||
<div class="talk_top">
|
课程通知
|
||||||
<div class="fl">
|
</div>
|
||||||
<p class="fl">
|
|
||||||
<%= l(:label_total_news) %>
|
|
||||||
<span><%= @news_count %></span>
|
|
||||||
<%= l(:label_course_news_count) %>
|
|
||||||
</p>
|
|
||||||
<% if @course && User.current.allowed_to?(:manage_news, @course) %>
|
|
||||||
<%= link_to(btn_tips,new_course_news_path(@course),:class => 'problem_new_btn fl c_dorange')%>
|
|
||||||
<div class="cl"></div>
|
|
||||||
|
|
||||||
<% end %>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="problem_search fr" >
|
<% if @course && User.current.allowed_to?(:manage_news, @course) %>
|
||||||
<%= form_tag({:controller => 'news', :action => 'index', :course_id => @course }, :method => :get,:id=>"news_query_form", :class => 'query_form') do %>
|
<%= labelled_form_for @news, :url =>{:controller=>'news',:action => 'new', :course_id => @course.id},
|
||||||
<input class="problem_search_input fl" id="v_subject" placeholder="通知主题" type="text" name="subject" value="<%= @q%>" onkeypress="" onkeydown="">
|
:html => {:nhname=>'form',:multipart => true, :id => 'news-form'} do |f| %>
|
||||||
<a href="javascript:void(0)" class="problem_search_btn fl" onclick="remote_search();" >搜索</a>
|
<%= render :partial => 'course_news_new', :locals => {:f => f, :news => @news, :edit_mode => false, :course => @course} %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div><!--problem_search end-->
|
<% end %>
|
||||||
<div class="cl"></div>
|
<%= render :partial=> 'course_news_detail',:locals =>{:newss => @newss, :page => 0} %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="news_list">
|
|
||||||
<%= render :partial => 'course_news_list', :locals=>{ :newss=>@newss,:obj_pages=>@obj_pages, :obj_count=>@obj_count} %>
|
|
||||||
</div>
|
|
||||||
<% content_for :header_tags do %>
|
|
||||||
<%= auto_discovery_link_tag(:atom, params.merge({:format => 'atom', :page => nil, :key => User.current.rss_key})) %>
|
|
||||||
<%= stylesheet_link_tag 'scm' %>
|
|
||||||
<% end %>
|
|
||||||
<% html_title(l(:label_course_news)) -%>
|
|
||||||
|
|
|
@ -0,0 +1,56 @@
|
||||||
|
<%= content_for(:header_tags) do %>
|
||||||
|
<%= import_ke(enable_at: false, prettify: false) %>
|
||||||
|
<%= javascript_include_tag "init_activity_KindEditor" %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<style type="text/css">
|
||||||
|
/*回复框*/
|
||||||
|
.homepagePostReplyInputContainer .ke-toolbar {display: none; width: 400px; border: none; background: none; padding: 0px 0px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-toolbar-icon {line-height: 26px; font-size: 14px; padding-left: 26px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-toolbar-icon-url {background-image: url(/images/public_icon.png)}
|
||||||
|
.homepagePostReplyInputContainer .ke-outline {padding: 0px 0px; line-height: 26px; font-size: 14px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-icon-emoticons {background-position: 0px -671px; width: 50px; height: 26px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-icon-emoticons:hover {background-position: -79px -671px; width: 50px; height: 26px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-outline {border: none;}
|
||||||
|
.homepagePostReplyInputContainer .ke-inline-block {display: none;}
|
||||||
|
.homepagePostReplyInputContainer .ke-container {float: left;}
|
||||||
|
</style>
|
||||||
|
<% if newss%>
|
||||||
|
<% newss.each do |news| %>
|
||||||
|
<script>
|
||||||
|
function expand_reply(container, btnid) {
|
||||||
|
var target = $(container);
|
||||||
|
var btn = $(btnid);
|
||||||
|
if (btn.data('init') == '0') {
|
||||||
|
btn.data('init', 1);
|
||||||
|
btn.html('收起回复');
|
||||||
|
target.show();
|
||||||
|
} else {
|
||||||
|
btn.data('init', 0);
|
||||||
|
btn.html('展开更多');
|
||||||
|
target.hide();
|
||||||
|
target.eq(0).show();
|
||||||
|
target.eq(1).show();
|
||||||
|
target.eq(2).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function expand_reply_input(id) {
|
||||||
|
$(id).toggle();
|
||||||
|
}
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
init_activity_KindEditor_data(<%= news.id%>, null, "87%");
|
||||||
|
showNormalImage('activity_description_<%= news.id %>');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<% if news %>
|
||||||
|
<%= render :partial => 'users/course_news', :locals => {:activity => news, :user_activity_id => news.id} %>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<% if newss.count == 10 %>
|
||||||
|
<%= link_to "点击展开更多",news_index_path(:course_id => @course.id ,:page => page),:id => "show_more_course_news",:remote => "true",:class => "loadMore mt10 f_grey"%>
|
||||||
|
<% end %>
|
||||||
|
<% end%>
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
<%= content_for(:header_tags) do %>
|
||||||
|
<%= import_ke(enable_at: true, prettify: false) %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<div class="resources mt10">
|
||||||
|
<div id="new_course_news">
|
||||||
|
<div class="homepagePostBrief c_grey">
|
||||||
|
<div>
|
||||||
|
<input type="text" name="news[title]" id="news_title" class="InputBox w713" maxlength="60" onfocus="$('#news_editor').show()" onkeyup="regexTitle();" placeholder="发布通知,请先输入通知标题" value="<%= news.title%>" >
|
||||||
|
<p id="title_notice_span"></p>
|
||||||
|
</div>
|
||||||
|
<div id="news_editor" style="display: none;">
|
||||||
|
<div class="mt10">
|
||||||
|
<%= f.check_box :sticky, :value => edit_mode ? news.sticky : 0 %>
|
||||||
|
<%= label_tag 'news_sticky', l(:label_board_sticky) %>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
<div class="mt10">
|
||||||
|
<div id="news_quote" class="wiki" style="width: 92%;word-break: break-all;word-wrap: break-word;margin-left: 40px;"></div>
|
||||||
|
<%= text_area :quote,:quote,:style => 'display:none' %>
|
||||||
|
<%= hidden_field_tag :asset_id,params[:asset_id],:required => false,:style => 'display:none' %>
|
||||||
|
|
||||||
|
<%= f.kindeditor :description, :editor_id => 'news_description_editor',
|
||||||
|
:owner_id => news.nil? ? 0: news.id,
|
||||||
|
:owner_type => OwnerTypeHelper::NEWS,
|
||||||
|
:width => '100%',
|
||||||
|
:height => 300,
|
||||||
|
:minHeight=>300,
|
||||||
|
:class => 'talk_text fl',
|
||||||
|
:input_html => { :id => 'news_content',
|
||||||
|
:class => 'talk_text fl',
|
||||||
|
:maxlength => 5000 },
|
||||||
|
at_id: news.id, at_type: news.class.to_s
|
||||||
|
%>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<p id="description_notice_span"></p>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="mt10">
|
||||||
|
<div class="fl" id="news_attachments">
|
||||||
|
<%= render :partial => 'attachments/form_course', :locals => {:container => news, :isReply => false} %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="mt5">
|
||||||
|
<%if !edit_mode %>
|
||||||
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="submitNews();">确定</a>
|
||||||
|
<span class="fr mr10 mt3">或</span>
|
||||||
|
<a href="javascript:void(0);" class="fr mr10 mt3" onclick="reset_news();">取消</a>
|
||||||
|
<% else %>
|
||||||
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="submitNews();">确定</a>
|
||||||
|
<span class="fr mr10 mt3">或</span>
|
||||||
|
<%= link_to "取消",news_path(news), :class => "fr mr10 mt3"%>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -2,85 +2,172 @@
|
||||||
<%= import_ke(enable_at: false, prettify: false, init_activity: false) %>
|
<%= import_ke(enable_at: false, prettify: false, init_activity: false) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<div class="project_r_h">
|
<script type="text/javascript">
|
||||||
<h2 class="project_h2"><%= l(:label_course_news) %></h2>
|
$(function(){
|
||||||
</div>
|
$("#RSide").removeAttr("id");
|
||||||
<div class="problem_main">
|
$("#Container").css("width","1000px");
|
||||||
<%= link_to image_tag(url_to_avatar(@news.author),:width => 42,:height => 42), user_path(@news.author), :class => "problem_pic fl" %>
|
});
|
||||||
<div class="problem_txt fl mt5 list_style">
|
</script>
|
||||||
<h4 class="r_txt_tit mb5">
|
<script>
|
||||||
<%=h @news.title %>
|
function expand_reply(container,btnid){
|
||||||
</h4>
|
var target = $(container).children();
|
||||||
<% if @news.sticky == 1%>
|
var btn = $(btnid);
|
||||||
<span class="sticky_btn_cir ml10 fl">置顶</span>
|
if(btn.data('init')=='0'){
|
||||||
<% end%>
|
btn.data('init',1);
|
||||||
<%= link_to(l(:button_edit),
|
btn.html('收起回复');
|
||||||
edit_news_path(@news),
|
target.show();
|
||||||
:class => 'talk_edit fr') if User.current.allowed_to?(:manage_news, @course) %>
|
}else{
|
||||||
<%= delete_link(news_path(@news),:class => 'talk_edit fr') if User.current.allowed_to?(:manage_news, @course) %>
|
btn.data('init',0);
|
||||||
<div class="cl"></div>
|
btn.html('展开更多');
|
||||||
<div class="mb5 upload_img">
|
target.hide();
|
||||||
<%= @news.description.html_safe %>
|
target.eq(0).show();
|
||||||
<br />
|
target.eq(1).show();
|
||||||
<%= l(:label_create_time) %> : <%= format_time(@news.created_on) %>
|
target.eq(2).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$(function() {
|
||||||
|
showNormalImage('message_description_<%= @news.id %>');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class="postRightContainer ml10" onmouseover="$('#message_setting_<%= @news.id%>').show();" onmouseout="$('#message_setting_<%= @news.id%>').hide();">
|
||||||
|
<div class="postThemeContainer">
|
||||||
|
<div class="postDetailPortrait">
|
||||||
|
<%= link_to image_tag(url_to_avatar(@news.author),:width=>50,:height => 50,:alt=>'图像' ),user_path(@news.author) %>
|
||||||
</div>
|
</div>
|
||||||
<%= link_to_attachments_course @news %>
|
<div class="postThemeWrap">
|
||||||
<!--<a href="#" class=" link_file">附件:爱覅俄方if.zip(27.5kB)</a> -->
|
<% if User.current.allowed_to?(:manage_news, @course)%>
|
||||||
|
<div class="homepagePostSetting" id="message_setting_<%= @news.id%>" style="display: none">
|
||||||
|
<ul>
|
||||||
|
<li class="homepagePostSettingIcon">
|
||||||
|
<ul class="homepagePostSettiongText">
|
||||||
|
<li>
|
||||||
|
<%= link_to(
|
||||||
|
l(:button_edit),
|
||||||
|
{:action => 'edit', :id => @news},
|
||||||
|
:class => 'postOptionLink'
|
||||||
|
) if User.current.allowed_to?(:manage_news, @course) %>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<%= delete_link(
|
||||||
|
news_path(@news),
|
||||||
|
:data => {:confirm => l(:text_are_you_sure)},
|
||||||
|
:class => 'postOptionLink'
|
||||||
|
) if User.current.allowed_to?(:manage_news, @course) %>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<%end%>
|
||||||
|
<div class="postDetailTitle fl">
|
||||||
|
<a href="javascript:void(0);" class="f14 linkGrey4 fb" style="overflow:hidden;">通知: <%= @news.title%></a>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
<div class="postDetailCreater">
|
||||||
|
<% if @news.try(:author).try(:realname) == ' ' %>
|
||||||
|
<%= link_to @news.try(:author), user_path(@news.author,:host=>Setting.host_user), :class => "linkBlue2", :target=> "_blank" %>
|
||||||
|
<% else %>
|
||||||
|
<%= link_to @news.try(:author).try(:realname), user_path(@news.author,:host=>Setting.host_user), :class => "linkBlue2", :target=> "_blank" %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<div class="postDetailDate mb5"><%= format_time( @news.created_on)%></div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="memo-content upload_img break_word" id="message_description_<%= @news.id %>" style="word-break: break-all; word-wrap:break-word;margin-bottom: 0px !important;" >
|
||||||
|
<%= @news.description.html_safe%>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class=" fl" style="width: 600px">
|
||||||
|
<%= link_to_attachments_course @news, :author => false %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div>
|
<div class="homepagePostReply">
|
||||||
|
<% unless @comments.empty? %>
|
||||||
<% if @news.commentable? %>
|
<div class="homepagePostReplyBanner">
|
||||||
<div class="msg_box fl">
|
<div class="homepagePostReplyBannerCount">回复(<%=@comments.count %>)</div>
|
||||||
<h4><%= l(:label_comment_add) %></h4>
|
<div class="homepagePostReplyBannerTime"></div>
|
||||||
<%= form_tag({:controller => 'comments', :action => 'create', :id => @news}, :id => "add_comment_form") do %>
|
</div>
|
||||||
<div class="box" id="news_comment">
|
<div class="" id="reply_div_<%=@news.id %>">
|
||||||
<%= hidden_field_tag :asset_id,params[:asset_id],:required => false,:style => 'display:none' %>
|
<% @comments.each_with_index do |reply,i| %>
|
||||||
<%= kindeditor_tag :comment, '',:height=>'100',:editor_id =>'comment_editor', :placeholder=>"最多250个字"%>
|
<script type="text/javascript">
|
||||||
</div>
|
$(function(){
|
||||||
<p id="add_reply_news"></p>
|
showNormalImage('reply_message_description_<%= reply.id %>');
|
||||||
<p class="mt10">
|
});
|
||||||
<a href="javascript:void(0)" class="grey_btn fr ml10" onclick="KindEditor.instances[0].html('');">
|
</script>
|
||||||
<%= l(:label_cancel_with_space) %>
|
<div class="homepagePostReplyContainer" onmouseover="$('#reply_edit_menu_<%= reply.id%>').show();" onmouseout="$('#reply_edit_menu_<%= reply.id%>').hide();">
|
||||||
</a>
|
<div class="homepagePostReplyPortrait">
|
||||||
<a href="javascript:void(0)" class="blue_btn fr" onclick="submitComment();">
|
<%= link_to image_tag(url_to_avatar(reply.author), :width => 33,:height => 33), user_path(reply.author) %>
|
||||||
<%= l(:label_comment_with_space) %>
|
</div>
|
||||||
</a>
|
<div class="homepagePostReplyDes">
|
||||||
</p>
|
<div class="homepagePostReplyPublisher">
|
||||||
<% end %>
|
<% if reply.try(:author).try(:realname) == ' ' %>
|
||||||
</div>
|
<%= link_to reply.try(:author), user_path(reply.author_id,:host=>Setting.host_user), :class => "newsBlue mr10 f14" %>
|
||||||
<% end %>
|
<% else %>
|
||||||
<div class="cl"></div>
|
<%= link_to reply.try(:author).try(:realname), user_path(reply.author_id,:host=>Setting.host_user), :class => "newsBlue mr10 f14" %>
|
||||||
<% comments = @comments.reverse %>
|
<% end %>
|
||||||
<% comments.each do |comment| %>
|
</div>
|
||||||
<% next if comment.new_record? %>
|
<div class="homepagePostReplyContent upload_img break_word table_maxWidth" id="reply_message_description_<%= reply.id %>">
|
||||||
<div class="ping_C mb10">
|
<%= reply.comments.html_safe%>
|
||||||
<div><%= link_to image_tag(url_to_avatar(comment.author),:width => 42,:height => 42), user_path(comment.author), :class => "problem_pic fl"%></div>
|
</div>
|
||||||
<div class="ping_discon">
|
<div style="margin-top: -7px; margin-bottom: 5px">
|
||||||
<div class="ping_distop upload_img break_word list_style">
|
<%= format_time(reply.created_on) %>
|
||||||
<%= link_to_user_header(comment.author,false,:class => 'c_blue fb fl mb10 ') if comment.respond_to?(:author) %>
|
<div class="fr" id="reply_edit_menu_<%= reply.id%>" style="display: none">
|
||||||
<span class="c_grey fr">
|
<%= link_to_if_authorized_course(
|
||||||
<%= format_time(comment.created_on) %>
|
l(:button_delete),
|
||||||
</span>
|
{:controller => 'comments',
|
||||||
<div class="cl"></div>
|
:action => 'destroy', :id => @news,
|
||||||
<p><%= comment.comments.html_safe %></p>
|
:comment_id => reply},
|
||||||
</div>
|
:method => :delete,
|
||||||
<div class="ping_disfoot">
|
:class => 'fr newsGrey',
|
||||||
<%= link_to_if_authorized_course image_tag('delete.png'), {:controller => 'comments', :action => 'destroy', :id => @news, :comment_id => comment},
|
:data => {:confirm => l(:text_are_you_sure)},
|
||||||
:data => {:confirm => l(:text_are_you_sure)}, :method => :delete, :title => l(:button_delete) %>
|
:title => l(:button_delete)
|
||||||
</div>
|
) %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p id="reply_message_<%= reply.id%>"></p>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
|
||||||
</div>
|
|
||||||
<% end if @comments.any? %>
|
|
||||||
|
|
||||||
|
<% end %>
|
||||||
|
<div class="cl"></div>
|
||||||
<!--problem_main end-->
|
<% if @news.commentable? %>
|
||||||
<% content_for :header_tags do %>
|
<div class="talkWrapMsg" nhname="about_talk_reply">
|
||||||
<%= stylesheet_link_tag 'scm' %>
|
<em class="talkWrapArrow"></em>
|
||||||
<% end %>
|
<div class="cl"></div>
|
||||||
|
<div class="talkConIpt ml5 mb10" id="reply<%= @news.id %>">
|
||||||
|
<%= form_for @comment, :url=>{:controller => 'comments', :action => 'create', :id => @news}, :html => {:multipart => true, :id => 'add_comment_form'} do |f| %>
|
||||||
<% html_title @news.title -%>
|
<div class="box" id="news_comment">
|
||||||
|
<%= hidden_field_tag :asset_id,params[:asset_id],:required => false,:style => 'display:none' %>
|
||||||
|
<%= f.kindeditor :comments, :editor_id => 'comment_editor',
|
||||||
|
:owner_id => @comment.nil? ? 0: @comment.id,
|
||||||
|
:owner_type => OwnerTypeHelper::COMMENT,
|
||||||
|
:width => '99%',
|
||||||
|
:height => 100,
|
||||||
|
:minHeight=>100,
|
||||||
|
:input_html => { :id => 'comment_content',
|
||||||
|
:class => 'talk_text fl',
|
||||||
|
:maxlength => 5000 }%>
|
||||||
|
</div>
|
||||||
|
<p id="add_reply_news"></p>
|
||||||
|
<p class="mt10">
|
||||||
|
<a href="javascript:void(0)" class="grey_btn fr ml10 mr5" onclick="KindEditor.instances[0].html('');">
|
||||||
|
<%= l(:label_cancel_with_space) %>
|
||||||
|
</a>
|
||||||
|
<a href="javascript:void(0)" class="blue_btn fr" onclick="submitComment();">
|
||||||
|
<%= l(:label_comment_with_space) %>
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<% end %>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
|
@ -1,14 +1,23 @@
|
||||||
<%= content_for(:header_tags) do %>
|
<%= content_for(:header_tags) do %>
|
||||||
<%= import_ke(enable_at: false, prettify: false, init_activity: false) %>
|
<%= import_ke(enable_at: false, prettify: false, init_activity: false) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<script type="text/javascript">
|
||||||
<div class="project_r_h">
|
$(function(){
|
||||||
<h2 class="project_h2"><%= l(:label_course_news) %></h2>
|
$("#RSide").removeAttr("id");
|
||||||
</div>
|
$("#Container").css("width","1000px");
|
||||||
<div id="edit-news">
|
$("#news_title").focus();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<div class="homepageRight mt0 ml10">
|
||||||
|
<div class="homepageRightBanner">
|
||||||
|
<div class="NewsBannerName">
|
||||||
|
编辑通知
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<%= labelled_form_for :news, @news, :url => news_path(@news),
|
<%= labelled_form_for :news, @news, :url => news_path(@news),
|
||||||
:html => { :id => 'news-form', :multipart => true, :method => :put } do |f| %>
|
:html => { :id => 'news-form', :multipart => true, :method => :put } do |f| %>
|
||||||
<%= render :partial => 'course_form', :locals => { :f => f, :is_new => false } %>
|
<%#= labelled_form_for :news, :url =>{:controller=>'news',:action => 'new', :course_id => @course.id},
|
||||||
|
:html => {:nhname=>'form',:multipart => true, :id => 'news-form'} do |f| %>
|
||||||
|
<%= render :partial => 'course_news_new', :locals => {:f => f, :news => @news, :edit_mode => true, :course => @course} %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<div id="preview" class="wiki"></div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1 +1,5 @@
|
||||||
$("#news_list").html("<%= escape_javascript(render :partial => 'course_news_list', :locals=>{ :newss=>@newss,:obj_pages=>@obj_pages, :obj_count=>@obj_count})%>");
|
<% if @project %>
|
||||||
|
$("#news_list").html("<%= escape_javascript(render :partial => 'course_news_list', :locals=>{ :newss=>@newss,:obj_pages=>@obj_pages, :obj_count=>@obj_count})%>");
|
||||||
|
<% else %>
|
||||||
|
$("#show_more_course_news").replaceWith("<%= escape_javascript( render :partial => 'course_news_detail', :locals =>{:newss => @newss, :page => @page} )%>");
|
||||||
|
<% end %>
|
|
@ -0,0 +1,79 @@
|
||||||
|
<style type="text/css">
|
||||||
|
input.is_public,input.is_public_checkbox{height:12px;}
|
||||||
|
input.is_public_checkbox{margin-left:4px;margin-right:4px;}
|
||||||
|
</style>
|
||||||
|
<div class="fl">
|
||||||
|
<span id="attachments_fields" xmlns="http://www.w3.org/1999/html">
|
||||||
|
<% if defined?(container) && container && container.saved_attachments %>
|
||||||
|
<% container.attachments.each_with_index do |attachment, i| %>
|
||||||
|
<span id="attachments_p<%= i %>" class="attachment">
|
||||||
|
<%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly => 'readonly') %><%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 254, :placeholder => l(:label_optional_description), :class => 'description', :style => "display: inline-block;") %><span class="ispublic-label"><%= l(:field_is_public) %>:</span>
|
||||||
|
<%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public, attachment.is_public == 1 ? true : false, :class => 'is_public') %>
|
||||||
|
<%= if attachment.id.nil?
|
||||||
|
#待补充代码
|
||||||
|
else
|
||||||
|
link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload')
|
||||||
|
end
|
||||||
|
%>
|
||||||
|
<%#= render :partial => 'tags/tag', :locals => {:obj => attachment, :object_flag => "6"} %>
|
||||||
|
|
||||||
|
<%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %>
|
||||||
|
</span>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<% end %>
|
||||||
|
<% container.saved_attachments.each_with_index do |attachment, i| %>
|
||||||
|
<span id="attachments_p<%= i %>" class="attachment">
|
||||||
|
<%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly => 'readonly') %>
|
||||||
|
<%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 254, :placeholder => l(:label_optional_description), :class => 'description', :style => "display: inline-block;") %>
|
||||||
|
<span class="ispublic-label"><%= l(:field_is_public) %>:</span>
|
||||||
|
<%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public, attachment.is_public == 1 ? true : false, :class => 'is_public') %>
|
||||||
|
<%= if attachment.id.nil?
|
||||||
|
#待补充代码
|
||||||
|
else
|
||||||
|
link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload')
|
||||||
|
end
|
||||||
|
%>
|
||||||
|
<%#= render :partial => 'tags/tag', :locals => {:obj => attachment, :object_flag => "6"} %>
|
||||||
|
|
||||||
|
<%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %>
|
||||||
|
</span>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
</span>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<span class="add_attachment" style="font-weight:normal;">
|
||||||
|
<%#= button_tag "浏览", :type=>"button", :onclick=>"CompatibleSend();" %>
|
||||||
|
<!--%= link_to image_tag(),"javascript:void(0)", :onclick => "_file.click()"%-->
|
||||||
|
<%#= button_tag "文件浏览", :type=>"button", :onclick=>"$('#_file').click();",:onmouseover => 'this.focus()',:class => 'sub_btn' %>
|
||||||
|
<a href="javascript:void(0);" onclick="_file.click();" class="AnnexBtn fl mr15">上传附件</a>
|
||||||
|
<%= file_field_tag 'attachments[dummy][file]',
|
||||||
|
:id => '_file',
|
||||||
|
:class => 'file_selector',
|
||||||
|
:multiple => true,
|
||||||
|
:onchange => 'addInputFiles(this);',
|
||||||
|
:style => ie8? ? '' : '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),
|
||||||
|
:field_is_public => l(:field_is_public),
|
||||||
|
:are_you_sure => l(:text_are_you_sure),
|
||||||
|
:file_count => l(:label_file_count),
|
||||||
|
:lebel_file_uploding => l(:lebel_file_uploding),
|
||||||
|
:delete_all_files => l(:text_are_you_sure_all)
|
||||||
|
} %>
|
||||||
|
<span id="upload_file_count">
|
||||||
|
<%= l(:label_no_file_uploaded) %>
|
||||||
|
</span>
|
||||||
|
(<%= l(:label_max_size) %>:
|
||||||
|
<%= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %>)
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<% content_for :header_tags do %>
|
||||||
|
<%= javascript_include_tag 'attachments' %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
|
|
@ -45,10 +45,14 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
|
||||||
<p id="homework_course_id_span" class="c_red mt5"></p>
|
<p id="homework_course_id_span" class="c_red mt5"></p>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
|
<div class="mt10">
|
||||||
|
<div class="fl" id="topic_attachments">
|
||||||
|
<%= render :partial => 'org_document_comments/attachment', :locals => {:container => nil} %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
<div class="mt5">
|
<div class="mt5">
|
||||||
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="create_org_document();">确定</a>
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="create_org_document();">确定</a>
|
||||||
<span class="fr mr10 mt3">或</span>
|
<span class="fr mr10 mt3">或</span>
|
||||||
|
|
|
@ -33,10 +33,15 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
|
||||||
<p id="homework_course_id_span" class="c_red mt5"></p>
|
<p id="homework_course_id_span" class="c_red mt5"></p>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
<div class="mt10">
|
||||||
|
<div class="fl" id="topic_attachments">
|
||||||
|
<%= render :partial => 'org_document_comments/attachment', :locals => {:container => @org_document} %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
<div class="mt5">
|
<div class="mt5">
|
||||||
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="org_document_description_editor.sync();$('#new_org_document_form').submit();">确定</a>
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="org_document_description_editor.sync();$('#new_org_document_form').submit();">确定</a>
|
||||||
<span class="fr mr10 mt3">或</span>
|
<span class="fr mr10 mt3">或</span>
|
||||||
|
|
|
@ -39,10 +39,14 @@
|
||||||
<%= kindeditor_tag 'org_document_comment[content]','', :editor_id => 'org_document_description_editor', :height => "150px" %>
|
<%= kindeditor_tag 'org_document_comment[content]','', :editor_id => 'org_document_description_editor', :height => "150px" %>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
|
||||||
<p id="homework_course_id_span" class="c_red mt5"></p>
|
<p id="homework_course_id_span" class="c_red mt5"></p>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
|
<div class="mt10">
|
||||||
|
<div class="fl" id="topic_attachments">
|
||||||
|
<%= render :partial => 'org_document_comments/attachment', :locals => {:container => nil} %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
|
||||||
<div class="mt5">
|
<div class="mt5">
|
||||||
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="create_org_document();">确定</a>
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="create_org_document();">确定</a>
|
||||||
|
|
|
@ -29,6 +29,9 @@
|
||||||
<%= @document.content.html_safe %>
|
<%= @document.content.html_safe %>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<div class=" fl" style="width: 600px">
|
||||||
|
<%= link_to_attachments_course @document, :author => false %>
|
||||||
|
</div>
|
||||||
<!-- <%# if defined?(home_id) %>
|
<!-- <%# if defined?(home_id) %>
|
||||||
<div style="float:right;">最后编辑:<%#= User.find() %></div>
|
<div style="float:right;">最后编辑:<%#= User.find() %></div>
|
||||||
<%# end %>-->
|
<%# end %>-->
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
<div class="fl">
|
<div class="fl">
|
||||||
<%=form_tag url_for(:controller => 'organizations', :action => 'join_projects', :organization_id => organization_id),:method => 'post', :id => 'join_projects_form', :remote => true,:class=>"resourcesSearchBox" do %>
|
<%=form_tag url_for(:controller => 'organizations', :action => 'join_projects', :organization_id => organization_id),:method => 'post', :id => 'join_projects_form', :remote => true,:class=>"resourcesSearchBox" do %>
|
||||||
<input type="text" name="projects" placeholder="搜索您已加入的项目的名称" class="searchCourse" />
|
<input type="text" name="projects" placeholder="搜索您已加入的项目的名称" class="searchCourse" />
|
||||||
<div id="search_projects_result_list" class="mb8"></div>
|
<div id="search_projects_result_list" class="mb8 maxHeight100"></div>
|
||||||
<div class="courseSendSubmit">
|
<div class="courseSendSubmit">
|
||||||
<a href="javascript:void(0);" onclick="org_join_projects(<%= organization_id %>);" class="sendSourceText">关联</a>
|
<a href="javascript:void(0);" onclick="org_join_projects(<%= organization_id %>);" class="sendSourceText">关联</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -49,6 +49,16 @@
|
||||||
<%= render :partial => 'org_course_create', :locals => {:activity => Course.find(act.org_act_id), :user_activity_id => act.id} %>
|
<%= render :partial => 'org_course_create', :locals => {:activity => Course.find(act.org_act_id), :user_activity_id => act.id} %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<% if act.container_type == 'OrgSubfield' %>
|
||||||
|
<% if act.org_act_type == 'Message' %>
|
||||||
|
<% message = Message.find(act.org_act_id) %>
|
||||||
|
<% if !message.board.course_id.nil? %>
|
||||||
|
<%= render :partial => 'org_course_message', :locals => {:activity => message,:user_activity_id =>act.id} %>
|
||||||
|
<% else %>
|
||||||
|
<%= render :partial => 'organizations/project_message', :locals => {:activity => message,:user_activity_id =>act.id} %>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<!--<ul class="wlist" style=" border:none; padding-top: 15px;">-->
|
<!--<ul class="wlist" style=" border:none; padding-top: 15px;">-->
|
||||||
<%#= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
|
<%#= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
|
||||||
|
@ -56,10 +66,11 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% if org_act_count == 10 %>
|
<% if org_act_count == 10 %>
|
||||||
<div id="show_more_activities" class="loadMore mt10 f_grey">展开更多<%=link_to "", organization_path(org,:page => page.to_i + 1, :show_homepage =>params[:show_homepage],:type => params[:type]),:id => "more_org_activities_link",:remote => "true",:class => "none" %></div>
|
<!--<div id="show_more_activities" class="loadMore mt10 f_grey">点击展开更多<%#=link_to "", organization_path(org,:page => page.to_i + 1, :show_homepage =>params[:show_homepage],:type => params[:type]),:id => "more_org_activities_link",:remote => "true",:class => "none" %></div>-->
|
||||||
<%#= link_to "点击展开更多",user_activities_path(@user.id,:type => type,:page => page),:id => "show_more_activities",:remote => "true",:class => "loadMore mt10 f_grey"%>
|
<%= link_to "点击展开更多",organization_path(org,:page => page.to_i + 1, :show_homepage =>params[:show_homepage],:type => params[:type]),:id => "show_more_activities",:remote => "true",:class => "loadMore mt10 f_grey"%>
|
||||||
<% end%>
|
<% end%>
|
||||||
|
|
||||||
|
<!--
|
||||||
<script>
|
<script>
|
||||||
$(function(){
|
$(function(){
|
||||||
$("#show_more_activities").mouseover(function(){
|
$("#show_more_activities").mouseover(function(){
|
||||||
|
@ -67,4 +78,3 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
</script>
|
|
|
@ -3,18 +3,19 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="homepageLeftMenuBlock">
|
<div class="homepageLeftMenuBlock">
|
||||||
<a href="javascript:void(0);" class="homepageMenuText" onclick="$('#homepageLeftMenuProjects').slideToggle();">项目</a>
|
<a href="javascript:void(0);" class="homepageMenuText" onclick="$('#homepageLeftMenuProjects').slideToggle();">项目</a>
|
||||||
<% if User.current.logged? %>
|
<% if User.current.logged? and User.current.admin_of_org?(organization) %>
|
||||||
<%=link_to "", join_project_menu_organization_path(organization),:remote => true, :method => "post", :class => "homepageMenuSetting fr", :title => "关联项目"%>
|
<%=link_to "", join_project_menu_organization_path(organization),:remote => true, :method => "post", :class => "homepageMenuSetting fr", :title => "关联项目"%>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<div class="homepageLeftMenuCourses" id="homepageLeftMenuProjects" style="display:<%= organization.projects.count == 0?'none':'' %>">
|
<div class="homepageLeftMenuCourses" id="homepageLeftMenuProjects" style="display:<%= organization.projects.count == 0?'none':'' %>">
|
||||||
<ul >
|
<ul >
|
||||||
|
|
||||||
<%= render :partial => 'layouts/org_projects',:locals=>{:projects=>organization.projects.reorder('created_at').uniq.limit(5),:org_id=>organization.id,:page=>1}%>
|
<%= render :partial => 'layouts/org_projects',:locals=>{:projects=>organization.projects.reorder('created_at').uniq.limit(5),:org_id=>organization.id,:page=>1}%>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="homepageLeftMenuBlock">
|
<div class="homepageLeftMenuBlock">
|
||||||
<a href="javascript:void(0);" class="homepageMenuText" onclick="$('#homepageLeftMenuCourses').slideToggle();">课程</a>
|
<a href="javascript:void(0);" class="homepageMenuText" onclick="$('#homepageLeftMenuCourses').slideToggle();">课程</a>
|
||||||
<% if User.current.logged? %>
|
<% if User.current.logged? and User.current.admin_of_org?(organization) %>
|
||||||
<%=link_to "", join_course_menu_organization_path(organization),:remote => true, :method => "post", :class => "homepageMenuSetting fr", :title => "关联课程"%>
|
<%=link_to "", join_course_menu_organization_path(organization),:remote => true, :method => "post", :class => "homepageMenuSetting fr", :title => "关联课程"%>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -16,10 +16,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="homepagePostTitle break_word">
|
<div class="homepagePostTitle break_word">
|
||||||
<% if activity.parent_id.nil? %>
|
<% if activity.parent_id.nil? %>
|
||||||
<%= link_to activity.subject.to_s.html_safe, project_boards_path(activity.project,:parent_id =>activity.id, :topic_id => activity.id), :class=> "postGrey"
|
<%= link_to activity.subject.to_s.html_safe, board_message_path(activity.board,activity), :class=> "postGrey"
|
||||||
%>
|
%>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= link_to activity.parent.subject.to_s.html_safe, project_boards_path(activity.project,:parent_id =>activity.parent_id, :topic_id => activity.id), :class=> "postGrey"
|
<%= link_to activity.parent.subject.to_s.html_safe, board_message_path(activity.board,activity), :class=> "postGrey"
|
||||||
%>
|
%>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -92,11 +92,13 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% if forge_acts.count == 10 %>
|
<% if forge_acts.count == 10 %>
|
||||||
<div id="show_more_forge_activities" class="loadMore mt10 f_grey">展开更多<%= link_to "", project_path(@project.id, :type => type, :page => page), :id => "more_forge_activities_link", :remote => "true", :class => "none" %></div>
|
<!--<div id="show_more_forge_activities" class="loadMore mt10 f_grey">点击展开更多<%#= link_to "", project_path(@project.id, :type => type, :page => page), :id => "more_forge_activities_link", :remote => "true", :class => "none" %></div>-->
|
||||||
|
<%= link_to "点击展开更多",project_path(@project.id, :type => type, :page => page),:id => "show_more_forge_activities",:remote => "true",:class => "loadMore mt10 f_grey"%>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
<!--
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$("#show_more_forge_activities").mouseover(function () {
|
$("#show_more_forge_activities").mouseover(function () {
|
||||||
$("#more_forge_activities_link").click();
|
$("#more_forge_activities_link").click();
|
||||||
});
|
});
|
||||||
</script>
|
</script>-->
|
||||||
|
|
|
@ -74,7 +74,7 @@
|
||||||
<!-- 成绩 -->
|
<!-- 成绩 -->
|
||||||
<% score = student_work.respond_to?("score") ? student_work.score : (student_work.final_score || 0) - student_work.absence_penalty - student_work.late_penalty%>
|
<% score = student_work.respond_to?("score") ? student_work.score : (student_work.final_score || 0) - student_work.absence_penalty - student_work.late_penalty%>
|
||||||
<li class="hworkList50 <%= score_color score%> student_final_scor_info">
|
<li class="hworkList50 <%= score_color score%> student_final_scor_info">
|
||||||
<%= score.nil? ? "--" : format("%.1f",score)%>
|
<%= score.nil? ? "--" : format("%.1f",score<0 ? 0 : score)%>
|
||||||
<% unless score.nil?%>
|
<% unless score.nil?%>
|
||||||
<div class="infoNi none width180">
|
<div class="infoNi none width180">
|
||||||
作品最终评分为
|
作品最终评分为
|
||||||
|
|
|
@ -115,8 +115,20 @@
|
||||||
$('#ajax-modal').parent().addClass("resourceUploadPopup");
|
$('#ajax-modal').parent().addClass("resourceUploadPopup");
|
||||||
$('#ajax-modal').css("padding-left","16px").css("padding-bottom","16px");
|
$('#ajax-modal').css("padding-left","16px").css("padding-bottom","16px");
|
||||||
}
|
}
|
||||||
function submit_files(){
|
function regex_des() {
|
||||||
$("#upload_form").submit();
|
if ($.trim($("#attachment_des").val()) == "") {
|
||||||
|
$("#hint_message").text("附件描述不能为空");
|
||||||
|
$("#hint_message").css('color','#ff0000');
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
$("#hint_message").text("");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function submit_revise_files(){
|
||||||
|
if (regex_des()) {
|
||||||
|
$("#upload_form").submit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
function closeModal(){
|
function closeModal(){
|
||||||
hideModal($(".uploadBoxContainer"));
|
hideModal($(".uploadBoxContainer"));
|
||||||
|
|
|
@ -7,8 +7,12 @@
|
||||||
<div class="mb10" id="revise_attachment_div_<%=revise_attachment.id %>">
|
<div class="mb10" id="revise_attachment_div_<%=revise_attachment.id %>">
|
||||||
<span class="tit_fb"> 追加附件:</span>
|
<span class="tit_fb"> 追加附件:</span>
|
||||||
<%= render :partial => 'work_attachments_status', :locals => {:attachments => work.attachments.where("attachtype = 7"), :status => 2} %>
|
<%= render :partial => 'work_attachments_status', :locals => {:attachments => work.attachments.where("attachtype = 7"), :status => 2} %>
|
||||||
<span class="tit_fb">追加时间:</span><%=format_time revise_attachment.created_on.to_s %> (<%=revise_attachment_status @homework,revise_attachment %>)
|
<span class="tit_fb">追加时间:</span><%=format_time revise_attachment.created_on.to_s %> (<%=revise_attachment_status @homework,revise_attachment %>)<br />
|
||||||
|
<% unless revise_attachment.description == "" %>
|
||||||
|
<span class="tit_fb">追加理由:</span><p class="showHworkP"><%=revise_attachment.description %></p>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if work.user == User.current %>
|
<% if work.user == User.current %>
|
||||||
<div class="resubAtt mb15">
|
<div class="resubAtt mb15">
|
||||||
|
@ -18,10 +22,14 @@
|
||||||
<div class="mb10" id="revise_attachment_div_<%=revise_attachment.id %>">
|
<div class="mb10" id="revise_attachment_div_<%=revise_attachment.id %>">
|
||||||
<span class="tit_fb"> 追加附件:</span>
|
<span class="tit_fb"> 追加附件:</span>
|
||||||
<%= render :partial => 'work_attachments_status', :locals => {:attachments => work.attachments.where("attachtype = 7"), :status => 1} %>
|
<%= render :partial => 'work_attachments_status', :locals => {:attachments => work.attachments.where("attachtype = 7"), :status => 1} %>
|
||||||
<span class="tit_fb">追加时间:</span><%=format_time revise_attachment.created_on.to_s %>
|
<span class="tit_fb">追加时间:</span><%=format_time revise_attachment.created_on.to_s %><br />
|
||||||
|
<% unless revise_attachment.description == "" %>
|
||||||
|
<span class="tit_fb">追加理由:</span><p class="showHworkP"><%=revise_attachment.description %></p>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<div class="mb10">
|
<div class="cl"></div>
|
||||||
|
<div class="mb10 mt5">
|
||||||
<a href="javascript:void(0);" onclick="show_upload();" class="blueCir ml5" title="请选择文件上传">上传附件</a>
|
<a href="javascript:void(0);" onclick="show_upload();" class="blueCir ml5" title="请选择文件上传">上传附件</a>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -113,8 +113,20 @@
|
||||||
$('#ajax-modal').parent().addClass("resourceUploadPopup");
|
$('#ajax-modal').parent().addClass("resourceUploadPopup");
|
||||||
$('#ajax-modal').css("padding-left","16px").css("padding-bottom","16px");
|
$('#ajax-modal').css("padding-left","16px").css("padding-bottom","16px");
|
||||||
}
|
}
|
||||||
function submit_files(){
|
function regex_des() {
|
||||||
$("#upload_form").submit();
|
if ($.trim($("#attachment_des").val()) == "") {
|
||||||
|
$("#hint_message").text("附件描述不能为空");
|
||||||
|
$("#hint_message").css('color','#ff0000');
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
$("#hint_message").text("");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function submit_revise_files(){
|
||||||
|
if (regex_des()) {
|
||||||
|
$("#upload_form").submit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
function closeModal(){
|
function closeModal(){
|
||||||
hideModal($(".uploadBoxContainer"));
|
hideModal($(".uploadBoxContainer"));
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="uploadBox" id="uploadReviseBox">
|
<div class="uploadBox" id="uploadReviseBox">
|
||||||
<input type="hidden" name="attachment_type" value="7">
|
<input type="hidden" name="attachment_type" value="7">
|
||||||
<a href="javascript:void(0);" class="uploadIcon f14" name="button" id="choose_revise_attach" onclick="_file.click();" onmouseover="" style="<%= ie8? ? 'display:none' : ''%>">
|
<a href="javascript:void(0);" class="uploadIcon f14" name="button" id="choose_revise_attach" onclick="_file.click();" style="<%= ie8? ? 'display:none' : ''%>">
|
||||||
<span class="chooseFile">选择文件</span></a>
|
<span class="chooseFile">选择文件</span></a>
|
||||||
<%= file_field_tag 'attachments[dummy][file]',
|
<%= file_field_tag 'attachments[dummy][file]',
|
||||||
:id => '_file',
|
:id => '_file',
|
||||||
|
@ -37,9 +37,16 @@
|
||||||
<div class="uploadResourceName">最多只能上传一个小于<span class="c_red">50MB</span>的附件</div>
|
<div class="uploadResourceName">最多只能上传一个小于<span class="c_red">50MB</span>的附件</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
|
<div class="mt10">
|
||||||
|
<textarea class="reUploadDetail" id="attachment_des" name="description" placeholder="请在此输入您追加附件的理由(必填)"></textarea>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<p id="hint_message"></p>
|
||||||
|
<div class="cl"></div>
|
||||||
<div style="margin-top: 10px" >
|
<div style="margin-top: 10px" >
|
||||||
<div class="courseSendSubmit">
|
<div class="courseSendSubmit">
|
||||||
<%= submit_tag '确定',:onclick=>'submit_files();',:onfocus=>'this.blur()',:id=>'upload_files_submit_btn',:class=>'sendSourceText' %>
|
<a href="javascript:void(0);" id="upload_files_submit_btn" class="sendSourceText" onclick="submit_revise_files();">确定</a>
|
||||||
|
<%#= submit_tag '确定',:onclick=>'submit_revise_files();',:onfocus=>'this.blur()',:id=>'upload_files_submit_btn',:class=>'sendSourceText' %>
|
||||||
</div>
|
</div>
|
||||||
<div class="courseSendCancel">
|
<div class="courseSendCancel">
|
||||||
<a href="javascript:void(0);" id="upload_files_cancle_btn" class="sendSourceText" onclick="closeModal();">取消</a>
|
<a href="javascript:void(0);" id="upload_files_cancle_btn" class="sendSourceText" onclick="closeModal();">取消</a>
|
||||||
|
|
|
@ -20,9 +20,9 @@
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<div class="ni_btn mt10">
|
<div class="ni_btn mt10">
|
||||||
<a href="javascript:" class="tijiao" onclick="clickOK();" style="margin-bottom: 15px;margin-top:15px;" >
|
<a href="javascript:" class="tijiao" onclick="clickOK();" style="margin-bottom: 15px;margin-top:15px;" >
|
||||||
确 定
|
确 定
|
||||||
</a>
|
</a>
|
||||||
<%= link_to("重试", retry_work_student_work_path(@student_work.id),:class => "tijiao",:style =>"margin-bottom: 15px;margin-top:15px;",:remote => true)%>
|
<%= link_to("重 试", retry_work_student_work_path(@student_work.id),:class => "tijiao",:style =>"margin-bottom: 15px;margin-top:15px;",:remote => true)%>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -135,7 +135,11 @@
|
||||||
<% else %>
|
<% else %>
|
||||||
<span class="grey_homework_btn_cir ml5">匿评已禁用</span>
|
<span class="grey_homework_btn_cir ml5">匿评已禁用</span>
|
||||||
<% end %>
|
<% end %>
|
||||||
<span class="green_homework_btn_cir ml5">作品提交中</span>
|
<% if Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d")%>
|
||||||
|
<span class="green_homework_btn_cir ml5">作品提交中</span>
|
||||||
|
<% elsif Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.now.strftime("%Y-%m-%d") %>
|
||||||
|
<span class="red_homework_btn_cir ml5">作品补交中</span>
|
||||||
|
<% end %>
|
||||||
<% elsif @homework.homework_detail_manual.comment_status == 2%>
|
<% elsif @homework.homework_detail_manual.comment_status == 2%>
|
||||||
<% if @homework.anonymous_comment == 0%>
|
<% if @homework.anonymous_comment == 0%>
|
||||||
<span class="green_homework_btn_cir ml5">匿评中</span>
|
<span class="green_homework_btn_cir ml5">匿评中</span>
|
||||||
|
@ -166,7 +170,11 @@
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt5">
|
<div class="mt5">
|
||||||
<div class="fontGrey2 db fl">截止时间:<%= @homework.end_time %> 23:59</div>
|
<% if @homework.homework_detail_manual && @homework.homework_detail_manual.comment_status < 2 %>
|
||||||
|
<div class="fontGrey2 db fl">提交截止时间:<%= @homework.end_time %> 23:59</div>
|
||||||
|
<% elsif @homework.homework_detail_manual && @homework.homework_detail_manual.comment_status >= 2 %>
|
||||||
|
<div class="fontGrey2 db fl">匿评截止时间:<%= @homework.homework_detail_manual.evaluation_end %> 23:59</div>
|
||||||
|
<% end %>
|
||||||
<% if @homework.homework_detail_manual.comment_status == 0 %>
|
<% if @homework.homework_detail_manual.comment_status == 0 %>
|
||||||
<div class="fontGrey2 db fl ml10">发布时间:<%= @homework.publish_time %> 00:00</div>
|
<div class="fontGrey2 db fl ml10">发布时间:<%= @homework.publish_time %> 00:00</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -86,7 +86,11 @@
|
||||||
分组人数:<%=activity.homework_detail_group.min_num %>-<%=activity.homework_detail_group.max_num %> 人
|
分组人数:<%=activity.homework_detail_group.min_num %>-<%=activity.homework_detail_group.max_num %> 人
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<div class="homepagePostDeadline">截止时间:<%= activity.end_time.to_s %> 23:59</div>
|
<% if activity.homework_detail_manual && activity.homework_detail_manual.comment_status < 2 %>
|
||||||
|
<div class="homepagePostDeadline">提交截止时间:<%= activity.end_time.to_s %> 23:59</div>
|
||||||
|
<% elsif activity.homework_detail_manual && activity.homework_detail_manual.comment_status >= 2 %>
|
||||||
|
<div class="homepagePostDeadline">匿评截止时间:<%= activity.homework_detail_manual.evaluation_end.to_s %> 23:59</div>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<div class="homepagePostIntro break_word upload_img list_style maxh360 lh18 table_maxWidth" id="activity_description_<%= user_activity_id%>">
|
<div class="homepagePostIntro break_word upload_img list_style maxh360 lh18 table_maxWidth" id="activity_description_<%= user_activity_id%>">
|
||||||
<div id="intro_content_<%= user_activity_id%>">
|
<div id="intro_content_<%= user_activity_id%>">
|
||||||
|
@ -102,18 +106,22 @@
|
||||||
<div class="homepagePostDeadline">
|
<div class="homepagePostDeadline">
|
||||||
迟交扣分:<%= activity.late_penalty%>分
|
迟交扣分:<%= activity.late_penalty%>分
|
||||||
</div>
|
</div>
|
||||||
<div class="homepagePostDeadline" style="float: right; margin-right: 220px;" id="evaluation_start_time_<%=user_activity_id %>">
|
<% if activity.anonymous_comment == 0%>
|
||||||
匿评开启时间:<%= activity.homework_detail_manual.evaluation_start%> 00:00
|
<div class="homepagePostDeadline" style="float: right; margin-right: 220px;" id="evaluation_start_time_<%=user_activity_id %>">
|
||||||
</div>
|
匿评开启时间:<%= activity.homework_detail_manual.evaluation_start%> 00:00
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<div>
|
<div>
|
||||||
<div class="homepagePostDeadline">
|
<div class="homepagePostDeadline">
|
||||||
缺评扣分:<%= activity.homework_detail_manual.absence_penalty%>分/作品
|
缺评扣分:<%= activity.homework_detail_manual.absence_penalty%>分/作品
|
||||||
</div>
|
</div>
|
||||||
<div class="homepagePostDeadline" style="float: right; margin-right: 220px;" id="evaluation_end_time_<%=user_activity_id %>">
|
<% if activity.anonymous_comment == 0%>
|
||||||
匿评关闭时间:<%= activity.homework_detail_manual.evaluation_end%> 23:59
|
<div class="homepagePostDeadline" style="float: right; margin-right: 220px;" id="evaluation_end_time_<%=user_activity_id %>">
|
||||||
</div>
|
匿评关闭时间:<%= activity.homework_detail_manual.evaluation_end%> 23:59
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<div>
|
<div>
|
||||||
|
@ -123,34 +131,37 @@
|
||||||
<% if activity.homework_type == 3 && activity.homework_detail_group.base_on_project == 1 %>
|
<% if activity.homework_type == 3 && activity.homework_detail_group.base_on_project == 1 %>
|
||||||
<div class="mt10">
|
<div class="mt10">
|
||||||
<% projects = activity.student_work_projects.where("is_leader = 1") %>
|
<% projects = activity.student_work_projects.where("is_leader = 1") %>
|
||||||
<div class="fl mr5 fontGrey3">
|
<div class="mb10 mr5 fontGrey3">
|
||||||
已关联项目:<%='各小组尚未将小组项目关联到本次作业。' if projects.empty? %>
|
已关联项目:<%='各小组尚未将小组项目关联到本次作业。' if projects.empty? %>
|
||||||
</div>
|
</div>
|
||||||
<% projects.each do |pro| %>
|
<% projects.each do |pro| %>
|
||||||
<% project = Project.find pro.project_id %>
|
<% project = Project.find pro.project_id %>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
$("#project_img_<%=project.id %>").mouseover(function(){
|
$("#project_img_<%=project.id %>_<%=activity.id %>").mouseover(function(){
|
||||||
$("#relatePInfo_<%=project.id %>").css("display","block");
|
$("#relatePInfo_<%=project.id %>_<%=activity.id %>").css("display","block");
|
||||||
}).mouseout(function(){
|
}).mouseout(function(){
|
||||||
$("#relatePInfo_<%=project.id %>").css("display","none");
|
$("#relatePInfo_<%=project.id %>_<%=activity.id %>").css("display","none");
|
||||||
})
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<div class="mr20 mb10 fl">
|
|
||||||
<% if project.is_public || User.current.member_of?(project) || User.current.admin? %>
|
<div class="mr20 mb10 fl w80" style="text-align: center;">
|
||||||
<%= link_to image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius"),project_path(project.id,:host=>Setting.host_name),:id=>"project_img_"+project.id.to_s,:alt =>"项目头像" %>
|
<% if project.is_public || User.current.member_of?(project) || User.current.admin? %>
|
||||||
<% else %>
|
<%= link_to image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius"),project_path(project.id,:host=>Setting.host_name),:id=>"project_img_"+project.id.to_s+"_"+activity.id.to_s,:alt =>"项目头像" %>
|
||||||
<%= image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius",:id=>"project_img_"+project.id.to_s,:alt =>"项目头像") %>
|
<% else %>
|
||||||
<% end %>
|
<%= image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius",:id=>"project_img_"+project.id.to_s+"_"+activity.id.to_s,:alt =>"项目头像") %>
|
||||||
<div class="relatePInfo" id="relatePInfo_<%=project.id %>">
|
<% end %>
|
||||||
项目名称:<%=project.name %><br />
|
<% time=project.updated_on %>
|
||||||
创建者:<%=(User.find project.user_id).show_name %>(组长)<br />
|
<% time=ForgeActivity.where("project_id=?",project.id).last.updated_at if ForgeActivity.where("project_id=?",project.id).last %>
|
||||||
<% time=project.updated_on %>
|
<p><span class="captainName"><%=(User.find project.user_id).show_name %></span><span style="vertical-align: top;">(组长)</span></p>
|
||||||
<% time=ForgeActivity.where("project_id=?",project.id).last.updated_at if ForgeActivity.where("project_id=?",project.id).last %>
|
<p><%=time_from_now time %></p>
|
||||||
更新时间:<%=time_from_now time %>
|
<div class="relatePInfo" id="relatePInfo_<%=project.id %>_<%=activity.id %>">
|
||||||
</div>
|
项目名称:<%=project.name %><br />
|
||||||
|
创建者:<%=(User.find project.user_id).show_name %>(组长)<br />
|
||||||
|
更新时间:<%=time_from_now time %>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -16,15 +16,20 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="homepagePostTitle break_word">
|
<div class="homepagePostTitle break_word">
|
||||||
<% if activity.parent_id.nil? %>
|
<% if activity.parent_id.nil? %>
|
||||||
<%= link_to activity.subject.to_s.html_safe, project_boards_path(activity.project,:parent_id =>activity.id, :topic_id => activity.id), :class=> "postGrey"
|
<%= link_to activity.subject.to_s.html_safe, board_message_path(activity.board,activity), :class=> "postGrey fl" %>
|
||||||
%>
|
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= link_to activity.parent.subject.to_s.html_safe, project_boards_path(activity.project,:parent_id =>activity.parent_id, :topic_id => activity.id), :class=> "postGrey"
|
<%= link_to activity.parent.subject.to_s.html_safe, board_message_path(activity.board,activity), :class=> "postGrey fl" %>
|
||||||
%>
|
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<% if activity.sticky == 1%>
|
||||||
|
<span class="sticky_btn_cir ml10">置顶</span>
|
||||||
|
<% end%>
|
||||||
|
<% if activity.locked %>
|
||||||
|
<span class="locked_btn_cir ml10 fl mt3" title="已锁定"> </span>
|
||||||
|
<% end%>
|
||||||
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="homepagePostDate">
|
<div class="homepagePostDate">
|
||||||
时间:<%= format_time(activity.created_on) %>
|
发帖时间:<%= format_time(activity.created_on) %>
|
||||||
</div>
|
</div>
|
||||||
<div class="homepagePostIntro break_word upload_img list_style maxh360 lh18 table_maxWidth" id="activity_description_<%= user_activity_id%>">
|
<div class="homepagePostIntro break_word upload_img list_style maxh360 lh18 table_maxWidth" id="activity_description_<%= user_activity_id%>">
|
||||||
<div id="intro_content_<%= user_activity_id%>">
|
<div id="intro_content_<%= user_activity_id%>">
|
||||||
|
|
|
@ -109,12 +109,15 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% if user_activities.count == 10%>
|
<% if user_activities.count == 10%>
|
||||||
<div id="show_more_activities" class="loadMore mt10 f_grey">展开更多<%=link_to "", user_activities_path(@user.id,:type => type,:page => page),:id => "more_activities_link",:remote => "true",:class => "none" %></div>
|
<!--
|
||||||
<%#= link_to "点击展开更多",user_activities_path(@user.id,:type => type,:page => page),:id => "show_more_activities",:remote => "true",:class => "loadMore mt10 f_grey"%>
|
<div id="show_more_activities" class="loadMore mt10 f_grey">点击展开更多<%#=link_to "", user_activities_path(@user.id,:type => type,:page => page),:id => "more_activities_link",:remote => "true",:class => "none" %></div>
|
||||||
|
-->
|
||||||
|
<%= link_to "点击展开更多",user_activities_path(@user.id,:type => type,:page => page),:id => "show_more_activities",:remote => "true",:class => "loadMore mt10 f_grey"%>
|
||||||
<% end%>
|
<% end%>
|
||||||
|
|
||||||
|
<!--
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$("#show_more_activities").mouseover(function(){
|
$("#show_more_activities").mouseover(function(){
|
||||||
$("#more_activities_link").click();
|
$("#more_activities_link").click();
|
||||||
});
|
});
|
||||||
</script>
|
</script>-->
|
||||||
|
|
|
@ -84,9 +84,11 @@
|
||||||
分组人数:<%=homework_common.homework_detail_group.min_num %>-<%=homework_common.homework_detail_group.max_num %> 人
|
分组人数:<%=homework_common.homework_detail_group.min_num %>-<%=homework_common.homework_detail_group.max_num %> 人
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<div class="homepagePostDeadline">
|
<% if homework_common.homework_detail_manual && homework_common.homework_detail_manual.comment_status < 2 %>
|
||||||
<%= l(:label_end_time)%>:<%= homework_common.end_time%> 23:59
|
<div class="homepagePostDeadline">提交截止时间:<%= homework_common.end_time.to_s %> 23:59</div>
|
||||||
</div>
|
<% elsif homework_common.homework_detail_manual && homework_common.homework_detail_manual.comment_status >= 2 %>
|
||||||
|
<div class="homepagePostDeadline">匿评截止时间:<%= homework_common.homework_detail_manual.evaluation_end.to_s %> 23:59</div>
|
||||||
|
<% end %>
|
||||||
<% if homework_common.homework_detail_manual.comment_status == 0 %>
|
<% if homework_common.homework_detail_manual.comment_status == 0 %>
|
||||||
<div class="homepagePostDeadline ml15">
|
<div class="homepagePostDeadline ml15">
|
||||||
<%= l(:label_publish_time)%>:<%= homework_common.publish_time%> 00:00
|
<%= l(:label_publish_time)%>:<%= homework_common.publish_time%> 00:00
|
||||||
|
@ -107,18 +109,22 @@
|
||||||
<div class="homepagePostDeadline">
|
<div class="homepagePostDeadline">
|
||||||
迟交扣分:<%= homework_common.late_penalty%>分
|
迟交扣分:<%= homework_common.late_penalty%>分
|
||||||
</div>
|
</div>
|
||||||
<div class="homepagePostDeadline" style="float: right; margin-right: 220px;" id="evaluation_start_time_<%=homework_common.id %>">
|
<% if homework_common.anonymous_comment == 0%>
|
||||||
匿评开启时间:<%= homework_common.homework_detail_manual.evaluation_start%> 00:00
|
<div class="homepagePostDeadline" style="float: right; margin-right: 220px;" id="evaluation_start_time_<%=homework_common.id %>">
|
||||||
</div>
|
匿评开启时间:<%= homework_common.homework_detail_manual.evaluation_start%> 00:00
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<div>
|
<div>
|
||||||
<div class="homepagePostDeadline">
|
<div class="homepagePostDeadline">
|
||||||
缺评扣分:<%= homework_common.homework_detail_manual.absence_penalty%>分/作品
|
缺评扣分:<%= homework_common.homework_detail_manual.absence_penalty%>分/作品
|
||||||
</div>
|
</div>
|
||||||
<div class="homepagePostDeadline" style="float: right; margin-right: 220px;" id="evaluation_end_time_<%=homework_common.id %>">
|
<% if homework_common.anonymous_comment == 0%>
|
||||||
匿评关闭时间:<%= homework_common.homework_detail_manual.evaluation_end%> 23:59
|
<div class="homepagePostDeadline" style="float: right; margin-right: 220px;" id="evaluation_end_time_<%=homework_common.id %>">
|
||||||
</div>
|
匿评关闭时间:<%= homework_common.homework_detail_manual.evaluation_end%> 23:59
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<div>
|
<div>
|
||||||
|
@ -135,24 +141,26 @@
|
||||||
<% project = Project.find pro.project_id %>
|
<% project = Project.find pro.project_id %>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
$("#project_img_<%=project.id %>").mouseover(function(){
|
$("#project_img_<%=project.id %>_<%=homework_common.id %>").mouseover(function(){
|
||||||
$("#relatePInfo_<%=project.id %>").css("display","block");
|
$("#relatePInfo_<%=project.id %>_<%=homework_common.id %>").css("display","block");
|
||||||
}).mouseout(function(){
|
}).mouseout(function(){
|
||||||
$("#relatePInfo_<%=project.id %>").css("display","none");
|
$("#relatePInfo_<%=project.id %>_<%=homework_common.id %>").css("display","none");
|
||||||
})
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<div class="mr20 mb10 fl">
|
<div class="mr20 mb10 fl w80" style="text-align: center;">
|
||||||
<% if project.is_public || User.current.member_of?(project) || User.current.admin? %>
|
<% if project.is_public || User.current.member_of?(project) || User.current.admin? %>
|
||||||
<%= link_to image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius"),project_path(project.id,:host=>Setting.host_name),:id=>"project_img_"+project.id.to_s,:alt =>"项目头像" %>
|
<%= link_to image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius"),project_path(project.id,:host=>Setting.host_name),:id=>"project_img_"+project.id.to_s+"_"+homework_common.id.to_s,:alt =>"项目头像" %>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius",:id=>"project_img_"+project.id.to_s,:alt =>"项目头像") %>
|
<%= image_tag(url_to_avatar(project),:width=>"40",:height => "40",:class => "borderRadius",:id=>"project_img_"+project.id.to_s+"_"+homework_common.id.to_s,:alt =>"项目头像") %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<div class="relatePInfo" id="relatePInfo_<%=project.id %>">
|
<% time=project.updated_on %>
|
||||||
|
<% time=ForgeActivity.where("project_id=?",project.id).last.updated_at if ForgeActivity.where("project_id=?",project.id).last %>
|
||||||
|
<p><span class="captainName"><%=(User.find project.user_id).show_name %></span><span style="vertical-align: top;">(组长)</span></p>
|
||||||
|
<p><%=time_from_now time %></p>
|
||||||
|
<div class="relatePInfo" id="relatePInfo_<%=project.id %>_<%=homework_common.id %>">
|
||||||
项目名称:<%=project.name %><br />
|
项目名称:<%=project.name %><br />
|
||||||
创建者:<%=(User.find project.user_id).show_name %>(组长)<br />
|
创建者:<%=(User.find project.user_id).show_name %>(组长)<br />
|
||||||
<% time=project.updated_on %>
|
|
||||||
<% time=ForgeActivity.where("project_id=?",project.id).last.updated_at if ForgeActivity.where("project_id=?",project.id).last %>
|
|
||||||
更新时间:<%=time_from_now time %>
|
更新时间:<%=time_from_now time %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -4,11 +4,23 @@
|
||||||
<%= javascript_include_tag 'homework','baiduTemplate' %>
|
<%= javascript_include_tag 'homework','baiduTemplate' %>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(function(){
|
$(function(){
|
||||||
|
if($.trim($("#anonymous_comment").val()) == 1) {
|
||||||
|
$("#anonymous_comment").attr('checked',false);
|
||||||
|
} else {
|
||||||
|
$("#anonymous_comment").attr('checked',true);
|
||||||
|
}
|
||||||
$("#BluePopupBox a.BlueCirBtn").click();
|
$("#BluePopupBox a.BlueCirBtn").click();
|
||||||
<% if edit_mode && homework.is_group_homework? %>
|
<% if edit_mode && homework.is_group_homework? %>
|
||||||
$("#GroupPopupBox a.group_btn").click();
|
$("#GroupPopupBox a.group_btn").click();
|
||||||
<% end %>
|
<% end %>
|
||||||
});
|
});
|
||||||
|
function checked_val() {
|
||||||
|
if ($("#anonymous_comment").is(":checked")) {
|
||||||
|
$("#anonymous_comment").val(0);
|
||||||
|
} else {
|
||||||
|
$("#anonymous_comment").val(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
@ -39,6 +51,12 @@
|
||||||
<%= calendar_for('homework_publish_time')%>
|
<%= calendar_for('homework_publish_time')%>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
<% if !edit_mode || edit_mode && homework.homework_detail_manual.comment_status < 2 %>
|
||||||
|
<div class="fl f14 ml10" style="margin-top: 4px;">
|
||||||
|
<input type="checkbox" name="homework_common[anonymous_comment]" checked="checked" value="<%=edit_mode ? homework.anonymous_comment : 0 %>" id="anonymous_comment"/>
|
||||||
|
<span class="f14 c_grey mr10">启用匿评</span>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<p id="homework_end_time_span" class="c_red mt5"></p>
|
<p id="homework_end_time_span" class="c_red mt5"></p>
|
||||||
|
@ -68,12 +86,12 @@
|
||||||
|
|
||||||
<div class="mt5">
|
<div class="mt5">
|
||||||
<% if edit_mode %>
|
<% if edit_mode %>
|
||||||
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="submit_homework('edit_homework_common_<%= homework.id%>');">确定</a>
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="checked_val();submit_homework('edit_homework_common_<%= homework.id%>');">确定</a>
|
||||||
<span class="fr mr10 mt3">或</span>
|
<span class="fr mr10 mt3">或</span>
|
||||||
<%#= link_to "取消",user_homeworks_user_path(User.current.id),:class => "fr mr10 mt3"%>
|
<%#= link_to "取消",user_homeworks_user_path(User.current.id),:class => "fr mr10 mt3"%>
|
||||||
<a href="javascript:void(0);" class="fr mr10 mt3" onclick="cancel_edit();">取消</a>
|
<a href="javascript:void(0);" class="fr mr10 mt3" onclick="cancel_edit();">取消</a>
|
||||||
<% else %>
|
<% else %>
|
||||||
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="submit_homework('new_homework_common');">发送</a>
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="checked_val();submit_homework('new_homework_common');">发送</a>
|
||||||
<span class="fr mr10 mt3">或</span>
|
<span class="fr mr10 mt3">或</span>
|
||||||
<a href="javascript:void(0);" class=" fr mr10 mt3" onclick="reset_homework();">取消</a>
|
<a href="javascript:void(0);" class=" fr mr10 mt3" onclick="reset_homework();">取消</a>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
# email_delivery:
|
# email_delivery:
|
||||||
# delivery_method: :smtp
|
# delivery_method: :smtp
|
||||||
# smtp_settings:
|
# smtp_settings:
|
||||||
# address: "localhost"
|
# address: smtp.163.com
|
||||||
# port: 25
|
# port: 25
|
||||||
#
|
#
|
||||||
# ==== SMTP server at example.com using LOGIN authentication and checking HELO for foo.com
|
# ==== SMTP server at example.com using LOGIN authentication and checking HELO for foo.com
|
||||||
|
@ -32,12 +32,12 @@
|
||||||
# email_delivery:
|
# email_delivery:
|
||||||
# delivery_method: :smtp
|
# delivery_method: :smtp
|
||||||
# smtp_settings:
|
# smtp_settings:
|
||||||
# address: "example.com"
|
# address: smtp.gmail.com
|
||||||
# port: 25
|
# port: 587
|
||||||
# authentication: :login
|
# authentication: :login
|
||||||
# domain: 'foo.com'
|
# domain: 'foo.com'
|
||||||
# user_name: 'myaccount'
|
# user_name: senluowanxiangt@gmail.com
|
||||||
# password: 'password'
|
# password: 1913TXBja
|
||||||
#
|
#
|
||||||
# ==== SMTP server at example.com using PLAIN authentication
|
# ==== SMTP server at example.com using PLAIN authentication
|
||||||
#
|
#
|
||||||
|
@ -45,12 +45,12 @@
|
||||||
# email_delivery:
|
# email_delivery:
|
||||||
# delivery_method: :smtp
|
# delivery_method: :smtp
|
||||||
# smtp_settings:
|
# smtp_settings:
|
||||||
# address: "example.com"
|
# address: smtp.gmail.com
|
||||||
# port: 25
|
# port: 587
|
||||||
# authentication: :plain
|
# authentication: :plain
|
||||||
# domain: 'example.com'
|
# domain: 'example.com'
|
||||||
# user_name: 'myaccount'
|
# user_name: senluowanxiangt@gmail.com
|
||||||
# password: 'password'
|
# password: 1913TXBja
|
||||||
#
|
#
|
||||||
# ==== SMTP server at using TLS (GMail)
|
# ==== SMTP server at using TLS (GMail)
|
||||||
#
|
#
|
||||||
|
@ -62,12 +62,12 @@
|
||||||
# delivery_method: :smtp
|
# delivery_method: :smtp
|
||||||
# smtp_settings:
|
# smtp_settings:
|
||||||
# enable_starttls_auto: true
|
# enable_starttls_auto: true
|
||||||
# address: "smtp.gmail.com"
|
# address: smtp.gmail.com
|
||||||
# port: 587
|
# port: 587
|
||||||
# domain: "smtp.gmail.com" # 'your.domain.com' for GoogleApps
|
# domain: "smtp.gmail.com" # 'your.domain.com' for GoogleApps
|
||||||
# authentication: :plain
|
# authentication: :plain
|
||||||
# user_name: "your_email@gmail.com"
|
# user_name: senluowanxiangt@gmail.com
|
||||||
# password: "your_password"
|
# password: 1913TXBja
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# === More configuration options
|
# === More configuration options
|
||||||
|
@ -78,18 +78,17 @@
|
||||||
# http://wiki.rubyonrails.org/rails/pages/HowToSendEmailsWithActionMailer
|
# http://wiki.rubyonrails.org/rails/pages/HowToSendEmailsWithActionMailer
|
||||||
|
|
||||||
|
|
||||||
# default configuration options for all environments
|
|
||||||
default:
|
default:
|
||||||
# Outgoing emails configuration (see examples above)
|
|
||||||
email_delivery:
|
email_delivery:
|
||||||
delivery_method: :smtp
|
delivery_method: :smtp
|
||||||
smtp_settings:
|
smtp_settings:
|
||||||
address: smtp.example.net
|
address: mail.trustie.net
|
||||||
port: 25
|
port: 25
|
||||||
domain: example.net
|
domain: mail.trustie.net
|
||||||
authentication: :login
|
authentication: :login
|
||||||
user_name: "redmine@example.net"
|
user_name: "mail@trustie.net"
|
||||||
password: "redmine"
|
password: "loong2010"
|
||||||
|
|
||||||
# Absolute path to the directory where attachments are stored.
|
# Absolute path to the directory where attachments are stored.
|
||||||
# The default is the 'files' directory in your Redmine instance.
|
# The default is the 'files' directory in your Redmine instance.
|
||||||
|
@ -104,7 +103,7 @@ default:
|
||||||
# autologin_cookie_name: the name of the cookie (default: autologin)
|
# autologin_cookie_name: the name of the cookie (default: autologin)
|
||||||
# autologin_cookie_path: the cookie path (default: /)
|
# autologin_cookie_path: the cookie path (default: /)
|
||||||
# autologin_cookie_secure: true sets the cookie secure flag (default: false)
|
# autologin_cookie_secure: true sets the cookie secure flag (default: false)
|
||||||
autologin_cookie_name:
|
autologin_cookie_name: "autologin_trustie"
|
||||||
autologin_cookie_path:
|
autologin_cookie_path:
|
||||||
autologin_cookie_secure:
|
autologin_cookie_secure:
|
||||||
|
|
||||||
|
@ -170,7 +169,7 @@ default:
|
||||||
|
|
||||||
# Absolute path (e.g. /usr/bin/convert, c:/im/convert.exe) to
|
# Absolute path (e.g. /usr/bin/convert, c:/im/convert.exe) to
|
||||||
# the ImageMagick's `convert` binary. Used to generate attachment thumbnails.
|
# the ImageMagick's `convert` binary. Used to generate attachment thumbnails.
|
||||||
#imagemagick_convert_command:
|
imagemagick_convert_command: '/home/pdl/redmine-2.3.2-0/common/bin/convert'
|
||||||
|
|
||||||
# Configuration of RMagcik font.
|
# Configuration of RMagcik font.
|
||||||
#
|
#
|
||||||
|
@ -196,11 +195,41 @@ default:
|
||||||
|
|
||||||
# Maximum number of simultaneous AJAX uploads
|
# Maximum number of simultaneous AJAX uploads
|
||||||
#max_concurrent_ajax_uploads: 2
|
#max_concurrent_ajax_uploads: 2
|
||||||
|
#pic_types: "bmp,jpeg,jpg,png,gif"
|
||||||
|
|
||||||
|
repository_root_path: '/tmp/htdocs'
|
||||||
|
judge_server: 'http://judge.trustie.net/'
|
||||||
|
|
||||||
|
# Git's url
|
||||||
|
gitlab_address: 'http://gitfast.trustie.net'
|
||||||
|
|
||||||
# specific configuration options for production environment
|
# specific configuration options for production environment
|
||||||
# that overrides the default ones
|
# that overrides the default ones
|
||||||
production:
|
production:
|
||||||
|
# CJK support
|
||||||
|
rmagick_font_path: /usr/share/fonts/ipa-mincho/ipam.ttf
|
||||||
|
judge_server: 'http://192.168.80.21:8080/'
|
||||||
|
repository_root_path: '/home/pdl/redmine-2.3.2-0/apache2/htdocs'
|
||||||
|
cookie_domain: ".trustie.net"
|
||||||
|
email_delivery:
|
||||||
|
delivery_method: :smtp
|
||||||
|
smtp_settings:
|
||||||
|
address: mail.trustie.net
|
||||||
|
port: 25
|
||||||
|
domain: mail.trustie.net
|
||||||
|
authentication: :login
|
||||||
|
user_name: "mail@trustie.net"
|
||||||
|
password: "loong2010"
|
||||||
|
|
||||||
# specific configuration options for development environment
|
# specific configuration options for development environment
|
||||||
# that overrides the default ones
|
# that overrides the default ones
|
||||||
development:
|
development:
|
||||||
|
email_delivery:
|
||||||
|
delivery_method: :smtp
|
||||||
|
smtp_settings:
|
||||||
|
address: mail.trustie.net
|
||||||
|
port: 25
|
||||||
|
domain: mail.trustie.net
|
||||||
|
authentication: :login
|
||||||
|
user_name: "mail@trustie.net"
|
||||||
|
password: "loong2010"
|
||||||
|
|
|
@ -110,6 +110,8 @@ zh:
|
||||||
|
|
||||||
label_week_mail: 一周动态
|
label_week_mail: 一周动态
|
||||||
label_day_mail: 您好!Trustie平台上与您相关的今日动态
|
label_day_mail: 您好!Trustie平台上与您相关的今日动态
|
||||||
|
label_day_mail_first: 您好!今天有
|
||||||
|
label_day_mail_last: 个动态与您相关,Trustie让您更高效!
|
||||||
#added by huang
|
#added by huang
|
||||||
field_tea_name: 教师
|
field_tea_name: 教师
|
||||||
field_couurse_time: 学时
|
field_couurse_time: 学时
|
||||||
|
|
|
@ -406,6 +406,7 @@ RedmineApp::Application.routes.draw do
|
||||||
|
|
||||||
# boards
|
# boards
|
||||||
match 'boards/:board_id/topics/new', :to => 'messages#new', :via => [:get, :post], :as => 'new_board_message'
|
match 'boards/:board_id/topics/new', :to => 'messages#new', :via => [:get, :post], :as => 'new_board_message'
|
||||||
|
match 'boards/:id/join_to_org_subfields', :to => 'boards#join_to_org_subfields'
|
||||||
get 'boards/:board_id/topics/:id', :to => 'messages#show', :as => 'board_message'
|
get 'boards/:board_id/topics/:id', :to => 'messages#show', :as => 'board_message'
|
||||||
match 'boards/:board_id/topics/quote/:id', :to => 'messages#quote', :via => [:get, :post]
|
match 'boards/:board_id/topics/quote/:id', :to => 'messages#quote', :via => [:get, :post]
|
||||||
get 'boards/:board_id/topics/:id/edit', :to => 'messages#edit'
|
get 'boards/:board_id/topics/:id/edit', :to => 'messages#edit'
|
||||||
|
@ -414,6 +415,9 @@ RedmineApp::Application.routes.draw do
|
||||||
post 'boards/:board_id/topics/:id/replies', :to => 'messages#reply'
|
post 'boards/:board_id/topics/:id/replies', :to => 'messages#reply'
|
||||||
post 'boards/:board_id/topics/:id/edit', :to => 'messages#edit'
|
post 'boards/:board_id/topics/:id/edit', :to => 'messages#edit'
|
||||||
post 'boards/:board_id/topics/:id/destroy', :to => 'messages#destroy'
|
post 'boards/:board_id/topics/:id/destroy', :to => 'messages#destroy'
|
||||||
|
match 'messages/join_org_subfield', :to => 'messages#join_org_subfield'
|
||||||
|
match 'messages/get_subfield_on_click_org', :to => 'messages#get_subfield_on_click_org'
|
||||||
|
match 'messages/join_org_subfields', :to => 'messages#join_org_subfields'
|
||||||
# boards end
|
# boards end
|
||||||
|
|
||||||
# Misc issue routes. TODO: move into resources
|
# Misc issue routes. TODO: move into resources
|
||||||
|
@ -438,6 +442,8 @@ RedmineApp::Application.routes.draw do
|
||||||
|
|
||||||
post '/courses/:id/course_activity', :to => 'courses#show', :as => 'course_activity'
|
post '/courses/:id/course_activity', :to => 'courses#show', :as => 'course_activity'
|
||||||
get '/boards/:id/boards_topic', :to =>'boards#show', :as => 'boards_topic'
|
get '/boards/:id/boards_topic', :to =>'boards#show', :as => 'boards_topic'
|
||||||
|
match 'courses/:course_id/news/index', :to => 'news#index', :via => [:get, :post], :as => 'new_course_news'
|
||||||
|
match 'courses/:course_id/news/new', :to => 'news#new', :via => [:get, :post]
|
||||||
|
|
||||||
#added by young
|
#added by young
|
||||||
resources :users do
|
resources :users do
|
||||||
|
@ -922,6 +928,7 @@ RedmineApp::Application.routes.draw do
|
||||||
post 'join_in/join_group', :to => 'courses#join_group', :as => 'join_group'
|
post 'join_in/join_group', :to => 'courses#join_group', :as => 'join_group'
|
||||||
delete 'join_in/join_group', :to => 'courses#unjoin_group'
|
delete 'join_in/join_group', :to => 'courses#unjoin_group'
|
||||||
get 'copy_course'
|
get 'copy_course'
|
||||||
|
get 'private_or_public'
|
||||||
match 'course_activity', :to => 'courses#course_activity', :via => :get, :as => "course_activity"
|
match 'course_activity', :to => 'courses#course_activity', :via => :get, :as => "course_activity"
|
||||||
get 'course_outline'
|
get 'course_outline'
|
||||||
post 'search_course_outline'
|
post 'search_course_outline'
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
class CreateOrgSubfieldMessages < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
create_table :org_subfield_messages do |t|
|
||||||
|
t.integer :org_subfield_id
|
||||||
|
t.integer :message_id
|
||||||
|
t.string :message_type
|
||||||
|
t.timestamps
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,17 @@
|
||||||
|
class DeleteJournalsMessage < ActiveRecord::Migration
|
||||||
|
def up
|
||||||
|
count = JournalsForMessage.all.count / 30 + 2
|
||||||
|
transaction do
|
||||||
|
for i in 1 ... count do
|
||||||
|
JournalsForMessage.page(i).per(30).each do |message|
|
||||||
|
if !message.m_parent_id.nil? and message.parent.nil?
|
||||||
|
message.destroy
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
end
|
||||||
|
end
|
11
db/schema.rb
11
db/schema.rb
|
@ -11,7 +11,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended to check this file into your version control system.
|
# It's strongly recommended to check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(:version => 20151218110033) do
|
ActiveRecord::Schema.define(:version => 20151224090313) do
|
||||||
|
|
||||||
create_table "activities", :force => true do |t|
|
create_table "activities", :force => true do |t|
|
||||||
t.integer "act_id", :null => false
|
t.integer "act_id", :null => false
|
||||||
|
@ -1196,6 +1196,14 @@ ActiveRecord::Schema.define(:version => 20151218110033) do
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
create_table "org_subfield_messages", :force => true do |t|
|
||||||
|
t.integer "org_subfield_id"
|
||||||
|
t.integer "message_id"
|
||||||
|
t.string "message_type"
|
||||||
|
t.datetime "created_at", :null => false
|
||||||
|
t.datetime "updated_at", :null => false
|
||||||
|
end
|
||||||
|
|
||||||
create_table "org_subfields", :force => true do |t|
|
create_table "org_subfields", :force => true do |t|
|
||||||
t.integer "organization_id"
|
t.integer "organization_id"
|
||||||
t.integer "priority"
|
t.integer "priority"
|
||||||
|
@ -1569,7 +1577,6 @@ ActiveRecord::Schema.define(:version => 20151218110033) do
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "student_works", ["homework_common_id", "user_id"], :name => "index_student_works_on_homework_common_id_and_user_id"
|
add_index "student_works", ["homework_common_id", "user_id"], :name => "index_student_works_on_homework_common_id_and_user_id"
|
||||||
add_index "student_works", ["homework_common_id"], :name => "index"
|
|
||||||
|
|
||||||
create_table "student_works_evaluation_distributions", :force => true do |t|
|
create_table "student_works_evaluation_distributions", :force => true do |t|
|
||||||
t.integer "student_work_id"
|
t.integer "student_work_id"
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
namespace :hjq do
|
|
||||||
namespace :news do
|
|
||||||
desc "news order"
|
|
||||||
task :users => :environment do
|
|
||||||
a = []
|
|
||||||
# news = News.where("course_id =?", 122)
|
|
||||||
course.news.each do |new|
|
|
||||||
unless new.comments.blank?
|
|
||||||
latest_comment = new.comments.sort! { |a,b| a.created_on <=> b.created_on}.last
|
|
||||||
end
|
|
||||||
a << latest_comment
|
|
||||||
end
|
|
||||||
comments = a.map(&:commented_id).detect{|a.b| a.created_on <=> b.created_on}
|
|
||||||
# comments = a.sort!{|a.b| a.created_on <=> b.created_on}
|
|
||||||
news = News.where("id in (?)", comments)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -9,7 +9,7 @@
|
||||||
border: 1px solid #DDD;
|
border: 1px solid #DDD;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
box-shadow: 0 0 5px rgba(0,0,0,0.1);
|
box-shadow: 0 0 5px rgba(0,0,0,0.1);
|
||||||
min-width: 120px;
|
min-width: 200px;
|
||||||
max-height: 200px;
|
max-height: 200px;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
z-index: 11110 !important;
|
z-index: 11110 !important;
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 518 B After Width: | Height: | Size: 1.3 KiB |
Binary file not shown.
After Width: | Height: | Size: 7.9 KiB |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue