Conflicts:
	app/controllers/courses_controller.rb
zh
alan 11 years ago
commit a51d0e88dc

@ -203,12 +203,7 @@ class AttachmentsController < ApplicationController
if @attachment.container.respond_to?(:init_journal) if @attachment.container.respond_to?(:init_journal)
@attachment.container.init_journal(User.current) @attachment.container.init_journal(User.current)
end end
if @attachment.container @attachment.destroy
# Make sure association callbacks are called
@attachment.container.attachments.delete(@attachment)
else
@attachment.destroy
end
respond_to do |format| respond_to do |format|
if !@attachment.container.nil? && if !@attachment.container.nil? &&

@ -39,13 +39,18 @@ class BoardsController < ApplicationController
end end
render :layout => false if request.xhr? render :layout => false if request.xhr?
elsif @course elsif @course
@boards = @course.boards.includes(:last_message => :author).all if (User.current.admin? || @course.is_public == 1 || (@course.is_public == 0 && User.current.member_of_course?(@course)))
@boards = [] << @boards[0] if @boards.any? @boards = @course.boards.includes(:last_message => :author).all
if @boards.size == 1 @boards = [] << @boards[0] if @boards.any?
@board = @boards.first if @boards.size == 1
show and return @board = @boards.first
show and return
end
render :layout => 'base_courses'
else
render_403
end end
render :layout => 'base_courses'
end end
end end

@ -217,10 +217,6 @@ class CoursesController < ApplicationController
group.course_id = @course.id group.course_id = @course.id
group.save group.save
end end
@canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1'
@is_remote = true
@members = searchStudent(@course)
@membercount = @members.count
@course_groups = @course.course_groups @course_groups = @course.course_groups
end end
@ -233,8 +229,6 @@ class CoursesController < ApplicationController
@canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1' @canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1'
@is_remote = true @is_remote = true
@course_groups = @course.course_groups @course_groups = @course.course_groups
@members = searchStudent(@course)
@membercount = @members.count
end end
def join_group def join_group
group = CourseGroup.find(params[:object_id]) group = CourseGroup.find(params[:object_id])
@ -277,26 +271,34 @@ class CoursesController < ApplicationController
end end
def member def member
## 有角色参数的才是课程,没有的就是项目 ## 有角色参数的才是课程,没有的就是项目
@render_file = 'member_list' if (User.current.admin? || @course.is_public == 1 || (@course.is_public == 0 && User.current.member_of_course?(@course)))
@teachers= searchTeacherAndAssistant(@course) @render_file = 'member_list'
@canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1' @teachers= searchTeacherAndAssistant(@course)
@role = params[:role] @canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1'
@course_groups = @course.course_groups if @course.course_groups @role = params[:role]
@course_group_id = params[:@course_group_id] unless params[:@course_group_id].nil? @course_groups = @course.course_groups if @course.course_groups
case params[:role] @course_group_id = params[:@course_group_id] unless params[:@course_group_id].nil?
when '1' case params[:role]
@subPage_title = l :label_teacher_list when '1'
@members = searchTeacherAndAssistant(@course) @subPage_title = l :label_teacher_list
when '2' @members = searchTeacherAndAssistant(@course)
@subPage_title = l :label_student_list when '2'
@members = searchStudent(@course) @subPage_title = l :label_student_list
@membercount = @members.count if @course_group_id
else @members = search_student_in_group(@course, @course_group_id)
@subPage_title = '' else
@members = @course.member_principals.includes(:roles, :principal).all.sort @members = searchStudent(@course)
end
else
@subPage_title = ''
@members = @course.member_principals.includes(:roles, :principal).all.sort
end
@members = paginateHelper @members
render :layout => 'base_courses'
else
render_403
end end
@members = paginateHelper @members
render :layout => 'base_courses'
end end
#判断指定用户是否为课程教师 #判断指定用户是否为课程教师
@ -746,24 +748,29 @@ class CoursesController < ApplicationController
end end
def feedback def feedback
page = params[:page] if (User.current.admin? || @course.is_public == 1 || (@course.is_public == 0 && User.current.member_of_course?(@course)))
# Find the page of the requested reply page = params[:page]
@jours = @course.journals_for_messages.where('m_parent_id IS NULL').order('created_on DESC') # Find the page of the requested reply
@limit = 10 @jours = @course.journals_for_messages.where('m_parent_id IS NULL').order('created_on DESC')
if params[:r] && page.nil? @limit = 10
offset = @jours.count(:conditions => ["#{JournalsForMessage.table_name}.id > ?", params[:r].to_i]) if params[:r] && page.nil?
page = 1 + offset / @limit offset = @jours.count(:conditions => ["#{JournalsForMessage.table_name}.id > ?", params[:r].to_i])
end page = 1 + offset / @limit
end
#@feedback_count = @jours.count
#@feedback_pages = Paginator.new @feedback_count, @limit, page #@feedback_count = @jours.count
#@offset ||= @feedback_pages.offset #@feedback_pages = Paginator.new @feedback_count, @limit, page
@jour = paginateHelper @jours,10 #@offset ||= @feedback_pages.offset
@state = false @jour = paginateHelper @jours,10
respond_to do |format| @state = false
format.html{render :layout => 'base_courses'} respond_to do |format|
format.api format.html{render :layout => 'base_courses'}
format.api
end
else
render_403
end end
end end

@ -65,23 +65,27 @@ class NewsController < ApplicationController
format.atom { render_feed(@newss, :title => (@project ? @project.name : Setting.app_title) + ": #{l(:label_news_plural)}") } format.atom { render_feed(@newss, :title => (@project ? @project.name : Setting.app_title) + ": #{l(:label_news_plural)}") }
end end
elsif @course elsif @course
scope = @course ? @course.news.course_visible : News.course_visible 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
@news_count = scope.count
@news_pages = Paginator.new @news_count, @limit, params['page'] @news_count = scope.count
@offset ||= @news_pages.offset @news_pages = Paginator.new @news_count, @limit, params['page']
@newss = scope.all(:include => [:author, :course], @offset ||= @news_pages.offset
:order => "#{News.table_name}.created_on DESC", @newss = scope.all(:include => [:author, :course],
:offset => @offset, :order => "#{News.table_name}.created_on DESC",
:limit => @limit) :offset => @offset,
:limit => @limit)
respond_to do |format|
format.html { respond_to do |format|
@news = News.new format.html {
render :layout => 'base_courses' @news = News.new
} render :layout => 'base_courses'
format.api }
format.atom { render_feed(@newss, :title => (@course ? @course.name : Setting.app_title) + ": #{l(:label_news_plural)}") } format.api
format.atom { render_feed(@newss, :title => (@course ? @course.name : Setting.app_title) + ": #{l(:label_news_plural)}") }
end
else
render_403
end end
end end
end end

@ -99,9 +99,9 @@ class ZipdownController < ApplicationController
zipfile.add(rename_file, filename) zipfile.add(rename_file, filename)
end end
zipfile.get_output_stream('ReadMe') do |os| #zipfile.get_output_stream('ReadMe') do |os|
os.write 'Homeworks' # os.write 'Homeworks'
end #end
end end
zipfile_name zipfile_name
rescue Errno => e rescue Errno => e

@ -114,28 +114,13 @@ module CoursesHelper
# 学生人数计算 # 学生人数计算
# add by nwb # add by nwb
def studentCount course def studentCount course
count = searchStudent(course).count#course.student.count searchStudent(course).count.to_s#course.student.count
if count <= 5
result = count.to_s
elsif count < 10 && count > 5
result = "5+"
else
result = (count-count % 10).to_s + "+"
end
result
end end
#课程成员数计算 #课程成员数计算
def memberCount course def memberCount course
count = searchStudent(course).count + searchTeacherAndAssistant(course).count count = searchStudent(course).count + searchTeacherAndAssistant(course).count
if count <= 5 count.to_s
result = count.to_s
elsif count < 10 && count > 5
result = "5+"
else
result = (count-count % 10).to_s + "+"
end
result
end end
def eventToLanguageCourse event_type, course def eventToLanguageCourse event_type, course

@ -18,8 +18,12 @@
<%= form_tag( users_search_path, :method => :get, :id => 'search_user_form') do %> <%= form_tag( users_search_path, :method => :get, :id => 'search_user_form') do %>
<table width="940px"> <table width="940px">
<tr> <tr>
<td class="info_font" style="width: 220px; color: #15bccf" ><%= l(:label_software_user ) %></td> <td class="info_font" style="width: 220px; color: #15bccf" rowspan="2">
<td class="location-list"><strong><%= l(:label_user_location) %> :</strong></td> <%= l(:label_software_user ) %>
</td>
<td class="location-list">
<strong><%= l(:label_user_location) %> :</strong>
</td>
<td rowspan="2"> <td rowspan="2">
</td> </td>
<td rowspan="2" > <td rowspan="2" >
@ -35,8 +39,10 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td style="padding-left: 8px"><a><%= link_to request.host()+"/users", :controller => 'users', :action => 'index' %> </a></td> <td >
<td ><%=link_to l(:field_homepage), home_path %> > <%=link_to l(:label_software_user), :controller => 'users', :action => 'index' %></td> <%=link_to l(:field_homepage), home_path %> >
<a><%= l(:label_software_user)%></a>
</td>
</tr> </tr>
</table> </table>
<% end %> <% end %>

@ -14,8 +14,12 @@
<%= form_tag( users_search_path, :method => :get, :id => 'search_user_form') do %> <%= form_tag( users_search_path, :method => :get, :id => 'search_user_form') do %>
<table width="940px"> <table width="940px">
<tr> <tr>
<td class="info_font" style="width: 220px; color: #15bccf "><%= l(:label_software_user ) %></td> <td class="info_font" style="width: 220px; color: #15bccf " rowspan="2">
<td class="location-list"><strong><%= l(:label_user_location) %> :</strong></td> <%= l(:label_software_user ) %>
</td>
<td class="location-list">
<strong><%= l(:label_user_location) %> :</strong>
</td>
<td rowspan="2"> <td rowspan="2">
</td> </td>
<td rowspan="2" > <td rowspan="2" >
@ -31,8 +35,10 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td style="padding-left: 8px"><a><%= link_to request.host()+"/users", :controller => 'users', :action => 'index' %> </a></td> <td >
<td ><%=link_to l(:field_homepage), home_path %> > <%=link_to l(:label_software_user), :controller => 'users', :action => 'index' %></td> <%=link_to l(:field_homepage), home_path %> >
<a><%= l(:label_software_user)%></a>
</td>
</tr> </tr>
</table> </table>
</div> </div>

@ -1,49 +1,51 @@
<% reply_allow = JournalsForMessage.create_by_user? User.current %> <% parent_jour = JournalsForMessage.where("id = #{reply.m_reply_id}").first %>
<% ids_r = 'reply_respond_form_'+ reply.id.to_s %> <% if parent_jour%>
<div class="recall" id='word_li_<%=reply.id.to_s%>' onmouseover="$('#<%= ids_r %>').show()" onmouseout="$('#<%= ids_r %>').hide()"> <% reply_allow = JournalsForMessage.create_by_user? User.current %>
<div class="recall_head"> <% ids_r = 'reply_respond_form_'+ reply.id.to_s %>
<% if show_name %> <div class="recall" id='word_li_<%=reply.id.to_s%>' onmouseover="$('#<%= ids_r %>').show()" onmouseout="$('#<%= ids_r %>').hide()">
<%= image_tag url_to_avatar(reply.user) %> <div class="recall_head">
<% else %> <% if show_name %>
<%= image_tag url_to_avatar(nil) %> <%= image_tag url_to_avatar(reply.user) %>
<% end %> <% else %>
</div> <%= image_tag url_to_avatar(nil) %>
<div class="recall_con"> <% end %>
<% id = 'project_respond_form_'+ reply.id.to_s %> </div>
<%= link_to reply.user.name, user_path(reply.user) %> <div class="recall_con">
回复 <% id = 'project_respond_form_'+ reply.id.to_s %>
<% parent_jour = JournalsForMessage.find reply.m_reply_id %> <%= link_to reply.user.name, user_path(reply.user) %>
<% if show_name && parent_jour %> 回复
<% if show_name %>
<%= link_to parent_jour.user.name, user_path(parent_jour.user) %> <%= link_to parent_jour.user.name, user_path(parent_jour.user) %>
<% else %> <% else %>
<%= l(:label_anonymous) %> <%= l(:label_anonymous) %>
<% end %> <% end %>
<p> <p>
<span class="message-notes"> <span class="message-notes">
<%= reply.notes %> <%= reply.notes %>
</span> </span>
</p> </p>
<p> <p>
<span class="time"> <span class="time">
<%= format_time reply.created_on %> <%= format_time reply.created_on %>
</span> </span>
<span class="ping_disfoot" style="display: none; margin-left: 4px;" id='<%=ids_r%>' > <span class="ping_disfoot" style="display: none; margin-left: 4px;" id='<%=ids_r%>' >
<% if @user == User.current || User.current.admin? || reply.user.id == User.current.id %> <% if User.current.admin? || reply.user.id == User.current.id%>
<%= link_to(l(:label_newfeedback_delete), {:controller => 'words', :action => 'destroy', :object_id => reply, :user_id => reply.user}, <%= link_to(l(:label_newfeedback_delete), {:controller => 'words', :action => 'destroy', :object_id => reply, :user_id => reply.user},
:remote => true, :confirm => l(:text_are_you_sure), :method => 'delete', :class => "delete", :title => l(:button_delete)) %> :remote => true, :confirm => l(:text_are_you_sure), :method => 'delete', :class => "delete", :title => l(:button_delete)) %>
<% end %> <% end %>
<% if reply_allow %> <% if reply_allow %>
<%= link_to l(:label_projects_feedback_respond),'', <%= link_to l(:label_projects_feedback_respond),'',
{:focus => 'project_respond', :onclick => "toggleAndSettingWordsVal($('##{id}'), $('##{id} textarea'), ''); return false;"} %> {:focus => 'project_respond', :onclick => "toggleAndSettingWordsVal($('##{id}'), $('##{id} textarea'), ''); return false;"} %>
<% end %> <!-- #{l(:label_reply_plural)} #{m_reply_id.user.name}: --> <% end %> <!-- #{l(:label_reply_plural)} #{m_reply_id.user.name}: -->
</span> </span>
</p> </p>
</div> </div>
<div id='<%=id%>' class="respond-form"> <div id='<%=id%>' class="respond-form">
<% if reply_allow %> <% if reply_allow %>
<%= render :partial => "words/new_respond", :locals => {:journal => journal, :m_reply_id => m_reply_id,:show_name => show_name} %> <%= render :partial => "words/new_respond", :locals => {:journal => journal, :m_reply_id => m_reply_id,:show_name => show_name} %>
<% end %> <% end %>
</div> </div>
<div style="clear: both;"></div> <div style="clear: both;"></div>
</div> </div>
<% end %>

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save