diff --git a/app/api/mobile/api.rb b/app/api/mobile/api.rb index 3673d623c..4724b0bc0 100644 --- a/app/api/mobile/api.rb +++ b/app/api/mobile/api.rb @@ -41,7 +41,7 @@ module Mobile mount Apis::Comments #add_swagger_documentation ({api_version: 'v1', base_path: 'http://u06.shellinfo.cn/trustie/api'}) - add_swagger_documentation ({api_version: 'v1', base_path: '/api'}) if Rails.env.development? + #add_swagger_documentation ({api_version: 'v1', base_path: '/api'}) if Rails.env.development? end end diff --git a/app/api/mobile/apis/auth.rb b/app/api/mobile/apis/auth.rb index fbec9a3b0..9e4cb1bc6 100644 --- a/app/api/mobile/apis/auth.rb +++ b/app/api/mobile/apis/auth.rb @@ -26,7 +26,7 @@ module Mobile present :data, {token: key.access_token, user: api_user}, using: Entities::Auth present :status, 0 else - raise 'Unauthorized.' + raise "无效的用户名或密码" end end diff --git a/app/api/mobile/entities/course.rb b/app/api/mobile/entities/course.rb index 4c91738c1..520f73384 100644 --- a/app/api/mobile/entities/course.rb +++ b/app/api/mobile/entities/course.rb @@ -58,6 +58,7 @@ module Mobile end course_expose :current_user_is_member course_expose :current_user_is_teacher + course_expose :work_unit end end end diff --git a/app/controllers/bids_controller.rb b/app/controllers/bids_controller.rb index be97fdb6e..21b3cc531 100644 --- a/app/controllers/bids_controller.rb +++ b/app/controllers/bids_controller.rb @@ -1035,11 +1035,12 @@ class BidsController < ApplicationController def alert_anonymous_comment @bid = Bid.find params[:id] @course = @bid.courses.first + @cur_size = 0 + @totle_size = 0 if @bid.comment_status == 0 @totle_size = searchStudent(@course).size @cur_size = @bid.homeworks.size elsif @bid.comment_status == 1 - @totle_size = 0 @bid.homeworks.map { |homework| @totle_size += homework.homework_evaluations.count} @cur_size = 0 @bid.homeworks.map { |homework| @cur_size += homework.rates(:quality).where("seems_rateable_rates.is_teacher_score = 0").count} diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb index 0d1c39104..d226000c0 100644 --- a/app/controllers/comments_controller.rb +++ b/app/controllers/comments_controller.rb @@ -27,11 +27,13 @@ class CommentsController < ApplicationController raise Unauthorized unless @news.commentable? @comment = Comment.new - @comment.comments = params[:comment] + @project ? @comment.comments = params[:comment][:comments] : @comment.comments = params[:comment] @comment.author = User.current if @news.comments << @comment - ids = params[:asset_id].split(',') - update_kindeditor_assets_owner ids,@comment.id,OwnerTypeHelper::COMMENT + if params[:asset_id] + ids = params[:asset_id].split(',') + update_kindeditor_assets_owner ids,@comment.id,OwnerTypeHelper::COMMENT + end flash[:notice] = l(:label_comment_added) end diff --git a/app/controllers/discuss_demos_controller.rb b/app/controllers/discuss_demos_controller.rb deleted file mode 100644 index b0c9791cb..000000000 --- a/app/controllers/discuss_demos_controller.rb +++ /dev/null @@ -1,42 +0,0 @@ -class DiscussDemosController < ApplicationController - def index - - @discuss_demo_list = DiscussDemo.where("body is not null").order("created_at desc").page(params[:page] || 1).per(10) - end - - def new - @discuss_demo = DiscussDemo.create - @discuss_demo.save! - @discuss_demo - end - - def create - - end - - def update - @discuss_demo = DiscussDemo.find(params[:id]) - @discuss_demo.update_attributes(:title => params[:discuss_demo][:title],:body => params[:discuss_demo][:body]) - redirect_to :controller=> 'discuss_demos',:action => 'show',:id => params[:id] - end - - def delete - - end - - def destroy - asset = Kindeditor::Asset.find_by_owner_id(params[:id]) - if !asset.nil? - filepath = File.join(Rails.root,"public","files","uploads", - asset[:created_at].to_s.gsub("+0800","").to_datetime.strftime("%Y%m").to_s, - asset[:asset].to_s) - File.delete(filepath) if File.exist?filepath - end - DiscussDemo.destroy(params[:id]) - redirect_to :controller=> 'discuss_demos',:action => 'index' - end - - def show - @discuss_demo = DiscussDemo.find(params[:id]) - end -end diff --git a/app/controllers/forums_controller.rb b/app/controllers/forums_controller.rb index f59704a62..253e1d28d 100644 --- a/app/controllers/forums_controller.rb +++ b/app/controllers/forums_controller.rb @@ -63,8 +63,10 @@ class ForumsController < ApplicationController respond_to do |format| if @memo.save - ids = params[:asset_id].split(',') - update_kindeditor_assets_owner ids ,@memo.id,OwnerTypeHelper::MEMO + if params[:asset_id] + ids = params[:asset_id].split(',') + update_kindeditor_assets_owner ids ,@memo.id,OwnerTypeHelper::MEMO + end #end format.html { redirect_to (forum_memo_url(@forum, (@memo.parent_id.nil? ? @memo : @memo.parent_id))), notice: "#{l :label_memo_create_succ}" } format.json { render json: @memo, status: :created, location: @memo } @@ -170,8 +172,10 @@ class ForumsController < ApplicationController # Author lizanle # Description after save后需要进行资源记录的更新 # owner_type = 2 对应的是 forum - ids = params[:asset_id].split(',') - update_kindeditor_assets_owner ids ,@forum.id,OwnerTypeHelper::FORUM + if params[:asset_id] + ids = params[:asset_id].split(',') + update_kindeditor_assets_owner ids ,@forum.id,OwnerTypeHelper::FORUM + end #end respond_to do |format| diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index 2ad388f41..436418430 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -87,9 +87,10 @@ class MessagesController < ApplicationController @message.save_attachments(params[:attachments]) if @message.save # 更新kindeditor上传的图片资源所有者 - ids = params[:asset_id].split(',') - update_kindeditor_assets_owner ids,@message.id,OwnerTypeHelper::MESSAGE - + if params[:asset_id] + ids = params[:asset_id].split(',') + update_kindeditor_assets_owner ids,@message.id,OwnerTypeHelper::MESSAGE + end call_hook(:controller_messages_new_after_save, { :params => params, :message => @message}) render_attachment_warning_if_needed(@message) redirect_to board_message_url(@board, @message) @@ -121,8 +122,10 @@ class MessagesController < ApplicationController @topic.children << @reply #@topic.update_attribute(:updated_on, Time.now) if !@reply.new_record? - ids = params[:asset_id].split(',') - update_kindeditor_assets_owner ids,@reply.id,OwnerTypeHelper::MESSAGE + if params[:asset_id] + ids = params[:asset_id].split(',') + update_kindeditor_assets_owner ids,@reply.id,OwnerTypeHelper::MESSAGE + end call_hook(:controller_messages_reply_after_save, { :params => params, :message => @reply}) attachments = Attachment.attach_files(@reply, params[:attachments]) render_attachment_warning_if_needed(@reply) @@ -189,16 +192,7 @@ class MessagesController < ApplicationController @content = "> #{ll(Setting.default_language, :text_user_wrote, @message.author)}\n> " @temp = Message.new - #@temp.content = "> #{ll(Setting.default_language, :text_user_wrote, @message.author)}> " - @content << @message.content.to_s.strip.gsub(%r{
((.|\s)*?)
}m, '[...]').gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n" - @content_html = textilizable(@content) - @temp.content = @content_html - #@content = "#{ll(Setting.default_language, :text_user_wrote, @message.author)}
  " - #@content << @message.content.to_s.strip.gsub(%r{
((.|\s)*?)
}m, '[...]').gsub(/(\r?\n|\r\n?)/, "\n") + "\n\n
" - #@content = "
" << @content - #@temp = Message.new - #@temp.content = @content - + @temp.content = "
#{ll(Setting.default_language, :text_user_wrote, @message.author)}
#{@message.content.html_safe}
".html_safe end def preview diff --git a/app/controllers/news_controller.rb b/app/controllers/news_controller.rb index 27c4aa37f..d41491349 100644 --- a/app/controllers/news_controller.rb +++ b/app/controllers/news_controller.rb @@ -137,8 +137,10 @@ class NewsController < ApplicationController @news.safe_attributes = params[:news] @news.save_attachments(params[:attachments]) if @news.save - ids = params[:asset_id].split(',') - update_kindeditor_assets_owner ids,@news.id,OwnerTypeHelper::NEWS + 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) diff --git a/app/controllers/words_controller.rb b/app/controllers/words_controller.rb index de2fbc732..680a13963 100644 --- a/app/controllers/words_controller.rb +++ b/app/controllers/words_controller.rb @@ -209,8 +209,10 @@ class WordsController < ApplicationController message = params[:new_form][:course_message] feedback = Course.add_new_jour(user, message, params[:id]) if(feedback.errors.empty?) - ids = params[:asset_id].split(',') - update_kindeditor_assets_owner ids,feedback[:id],OwnerTypeHelper::JOURNALSFORMESSAGE + if params[:asset_id] + ids = params[:asset_id].split(',') + update_kindeditor_assets_owner ids,feedback[:id],OwnerTypeHelper::JOURNALSFORMESSAGE + end redirect_to course_feedback_url(params[:id]), notice: l(:label_feedback_success) else flash[:error] = feedback.errors.full_messages[0] diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index c94108dc1..f36e4b397 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -303,7 +303,7 @@ module ApplicationHelper onclick = "$('##{id}').slideToggle(); " onclick << (options[:focus] ? "$('##{options[:focus]}').focus(); " : "this.blur(); ") onclick << "return false;" - link_to(name, "#", :onclick => onclick,:class => options[:class]) + link_to(name, "javascript:void(0)", :onclick => onclick,:class => options[:class]) end def image_to_function(name, function, html_options = {}) diff --git a/app/models/discuss_demo.rb b/app/models/discuss_demo.rb deleted file mode 100644 index 6ed8d15b6..000000000 --- a/app/models/discuss_demo.rb +++ /dev/null @@ -1,4 +0,0 @@ -class DiscussDemo < ActiveRecord::Base - attr_accessible :title, :body - has_many_kindeditor_assets :assets, :dependent => :destroy -end diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index 7c1f14104..de72cab7c 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -161,10 +161,15 @@ class CoursesService #显示课程 def show_course(params,current_user) course = Course.find(params[:id]) + if course.school + work_unit = course.school.name + else + work_unit = get_user_work_unit course.teacher + end unless (course.is_public == 1 || current_user.member_of_course?(course) || current_user.admin?) raise '403' end - {:course => course,:img_url => url_to_avatar(course),:current_user_is_member => current_user.member_of_course?(course),:current_user_is_teacher => is_course_teacher(current_user,course)} + {:course => course,:work_unit => work_unit, :img_url => url_to_avatar(course),:current_user_is_member => current_user.member_of_course?(course),:current_user_is_teacher => is_course_teacher(current_user,course)} end #创建课程 @@ -373,6 +378,16 @@ class CoursesService unless latest_bid.nil? latest_course_dynamics << {:type => 4,:time => latest_bid.updated_on,:message => l(:label_recently_updated_homework,:locale => get_user_language(current_user))} end + + # Time 2015-04-07 14:58:30 + # Author lizanle + # Description 添加课程创建动态 + if(User.find_by_id(CourseInfos.find_by_course_id(course.id).try(:user_id))) + create_user_name = User.find_by_id(CourseInfos.find_by_course_id(course.id).user_id).realname + latest_course_dynamics << {:type => 5,:time => course.created_at,:message =>l(:label_recently,:locale => get_user_language(current_user)) << create_user_name << l(:label_creat,:locale => get_user_language(current_user))} + end + + #每个作业中的最新留言 messages = [] course.homeworks.each do |bid| diff --git a/app/services/users_service.rb b/app/services/users_service.rb index 80aa34d45..8f86029d9 100644 --- a/app/services/users_service.rb +++ b/app/services/users_service.rb @@ -192,7 +192,7 @@ class UsersService #raise @current_user.errors.full_message #return @current_user else - raise 'wrong password' + raise l(:notice_account_wrong_password,:locale => 'zh') end @current_user end diff --git a/app/views/bids/_new_homework_form.html.erb b/app/views/bids/_new_homework_form.html.erb index 505fc88a8..129bcec5e 100644 --- a/app/views/bids/_new_homework_form.html.erb +++ b/app/views/bids/_new_homework_form.html.erb @@ -11,7 +11,7 @@

-
  • +
  • <% if edit_mode %> diff --git a/app/views/boards/_course_show.html.erb b/app/views/boards/_course_show.html.erb index c27546e85..ed2c20448 100644 --- a/app/views/boards/_course_show.html.erb +++ b/app/views/boards/_course_show.html.erb @@ -1,13 +1,7 @@ - <% end %> diff --git a/app/views/courses/_courses_jours.html.erb b/app/views/courses/_courses_jours.html.erb index e79dac59b..ef1d25bd4 100644 --- a/app/views/courses/_courses_jours.html.erb +++ b/app/views/courses/_courses_jours.html.erb @@ -12,11 +12,13 @@ <% else %> <%= form_for('new_form', :method => :post, :url => {:controller => 'words', :action => 'leave_course_message'},:html => {:id=>'leave_message_form'}) do |f|%> - <%= hidden_field_tag :asset_id,params[:asset_id],:required => false,:style => 'display:none' %> - <%= f.kindeditor 'course_message',:editor_id => 'leave_message_editor',:input_html=>{:id => "leave_meassge",:style => "resize: none;", - :placeholder => "#{l(:label_welcome_my_respond)}",:maxlength => 250}%> - 取  消 - <%= l(:button_leave_meassge)%> + <%= hidden_field_tag :asset_id,params[:asset_id],:required => false,:style => 'display:none' %> + <%= f.kindeditor 'course_message',:height => '140px;',:editor_id => 'leave_message_editor',:input_html=>{:id => "leave_meassge",:style => "resize: none;", + :placeholder => "#{l(:label_welcome_my_respond)}",:maxlength => 250}%> + 取  消 + + <%= l(:button_leave_meassge)%> + <% end %> <% end %> diff --git a/app/views/courses/_history.html.erb b/app/views/courses/_history.html.erb index 01990602d..a302d0981 100644 --- a/app/views/courses/_history.html.erb +++ b/app/views/courses/_history.html.erb @@ -16,7 +16,7 @@

    - <%= textilizable journal.notes%> + <%= journal.notes.html_safe %>

    @@ -35,11 +35,6 @@ <% end %>
    - <% ids = 'project_respond_form_'+ journal.id.to_s%> <% if reply_allow %>
    diff --git a/app/views/courses/feedback.html.erb b/app/views/courses/feedback.html.erb index 0a8458a22..c45259efd 100644 --- a/app/views/courses/feedback.html.erb +++ b/app/views/courses/feedback.html.erb @@ -9,42 +9,4 @@ :locals => { :contest => @contest, :journals => @jour, :state => false} %> -<% html_title(l(:label_user_response)) -%> - <% html_title(l(:label_course_feedback)) -%> \ No newline at end of file diff --git a/app/views/courses/homework.html.erb b/app/views/courses/homework.html.erb index 98440abab..cbb5d6fc1 100644 --- a/app/views/courses/homework.html.erb +++ b/app/views/courses/homework.html.erb @@ -32,7 +32,7 @@
    - <%= textAreailizable bid, :description %> + <%= bid.description.html_safe %>
  • - - 显示明码 + + + 显示明码
    学生或其他成员申请加入课程时候需要使用该口令,该口令可以由老师在课堂上公布。
  • diff --git a/app/views/courses/settings.html.erb b/app/views/courses/settings.html.erb index 569ae302b..acc6c12a5 100644 --- a/app/views/courses/settings.html.erb +++ b/app/views/courses/settings.html.erb @@ -39,7 +39,8 @@
  • - + + 显示明码
    学生或其他成员申请加入课程时候需要使用该口令,该口令可以由老师在课堂上公布。
  • diff --git a/app/views/courses/show.html.erb b/app/views/courses/show.html.erb index 698bf3cea..79cb267b4 100644 --- a/app/views/courses/show.html.erb +++ b/app/views/courses/show.html.erb @@ -16,7 +16,7 @@ <%= l(:label_new_activity) %>: <%= link_to "#{eventToLanguageCourse(e.event_type, @course)} "<< format_activity_title(e.event_title), (e.event_type.eql?("attachment")&&e.container.kind_of?(Course)) ? course_files_path(e.container) : e.event_url,:class => "problem_tit c_dblue fl fb"%>
    -

    <%= e.event_description %> +

    <%= e.event_description.html_safe %>
    <%= l :label_activity_time %> : <%= format_activity_day(day) %> <%= format_time(e.event_datetime, false) %>

    diff --git a/app/views/discuss_demos/index.html.erb b/app/views/discuss_demos/index.html.erb deleted file mode 100644 index b24937357..000000000 --- a/app/views/discuss_demos/index.html.erb +++ /dev/null @@ -1,25 +0,0 @@ -

    文章列表

    -
    - - <% @discuss_demo_list.each do |e| %> - - - - - - - - - - <% end %> -
    <%= truncate(e.title,:length => 50) %> - <%= truncate(e.body,:length => 50) %>   - - <%= link_to '查看文章',{:controller => 'discuss_demos',:action => 'show',:id=>e.id} %> - -    - <%= link_to '删除文章',discuss_demo_path(e.id), :method => :delete,:confirm => l(:text_are_you_sure) %> -
    - <% paginate @discuss_demo_list %> - <%= link_to '新建文章',new_discuss_demo_path %> -
    \ No newline at end of file diff --git a/app/views/discuss_demos/new.html.erb b/app/views/discuss_demos/new.html.erb deleted file mode 100644 index 8cf1630e2..000000000 --- a/app/views/discuss_demos/new.html.erb +++ /dev/null @@ -1,7 +0,0 @@ -<%= javascript_include_tag src='/assets/kindeditor/kindeditor' %> -

    新建文章

    -<%= form_for @discuss_demo,:url => {:controller => 'discuss_demos',:action => "show",:id =>@discuss_demo.id, :method => :put} do |f| %> - <%= f.text_field :title %> - <%= f.kindeditor :body ,:owner_id => @discuss_demo.id%> - <%= f.submit :value=> '提交' %> -<% end %> \ No newline at end of file diff --git a/app/views/discuss_demos/show.html.erb b/app/views/discuss_demos/show.html.erb deleted file mode 100644 index 4b6bd3cee..000000000 --- a/app/views/discuss_demos/show.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

    <%= @discuss_demo.title %>

    -<%= textAreailizable @discuss_demo.body %> -<%=link_to "返回首页",discuss_demos_path %> \ No newline at end of file diff --git a/app/views/layouts/base_homework.html.erb b/app/views/layouts/base_homework.html.erb index bb7b18a4a..27a8e67f4 100644 --- a/app/views/layouts/base_homework.html.erb +++ b/app/views/layouts/base_homework.html.erb @@ -149,7 +149,7 @@ - <%= textilizable truncate(@bid.description, length: 200, omission: '...') %> + <%= @bid.description.html_safe %> diff --git a/app/views/memos/quote.js.erb b/app/views/memos/quote.js.erb index d2e8c1d17..b3d860916 100644 --- a/app/views/memos/quote.js.erb +++ b/app/views/memos/quote.js.erb @@ -1,4 +1,4 @@ //ckeditor.setData("<%= raw escape_javascript(@content) %>"); -$('#message_quote').html("<%= raw escape_javascript(@temp.content) %>"); +$('#message_quote').html("<%= raw escape_javascript(@temp.content.html_safe) %>"); $('#quote').val("<%= raw escape_javascript(@content) %>"); showAndScrollTo("new_memo", "cke_editor01"); \ No newline at end of file diff --git a/app/views/messages/_course_show.html.erb b/app/views/messages/_course_show.html.erb index d47157e61..c99c41fb9 100644 --- a/app/views/messages/_course_show.html.erb +++ b/app/views/messages/_course_show.html.erb @@ -1,47 +1,22 @@ -
    -

    <%= l(:label_board) %>

    +

    + <%= l(:label_board) %> +

    -
    <%= link_to image_tag(url_to_avatar(@topic.author),:width => '46',:height => '46'), user_path(@topic.author) %>
    +
    + <%= link_to image_tag(url_to_avatar(@topic.author),:width => '46',:height => '46'), user_path(@topic.author) %> +
    -

    <%= link_to @topic.subject, course_boards_path(@topic.course),title: @topic.subject.to_s %>

    +

    + <%= link_to @topic.subject, course_boards_path(@topic.course),title: @topic.subject.to_s %> +


    -

    由<%= link_to_user_header @topic.author,false,:class=> 'problem_name' %> 添加于<%= format_time(@topic.created_on) %>

    +

    + 由<%= link_to_user_header @topic.author,false,:class=> 'problem_name' %> + 添加于<%= format_time(@topic.created_on) %> +

    - - <%#= watcher_link(@topic, User.current) %> - <%= link_to( l(:button_edit), {:action => 'edit', :id => @topic}, @@ -55,12 +30,12 @@ :class => 'talk_edit fr' ) if @message.course_destroyable_by?(User.current) %>
    -
    <%= textAreailizable(@topic, :content) %>
    +
    <%= @topic.content.html_safe %>
    <%= link_to_attachments_course @topic, :author => false %>
    <% if User.current.logged? %> - <%= toggle_link l(:button_reply), "reply", :focus => 'message_content',:class => 'talk_edit fr' %> + <%= toggle_link l(:button_reply), "reply", :focus => 'message_subject',:class => 'talk_edit fr' %> <% else %> <%= link_to l(:button_reply), signin_path,:class => 'talk_edit fr' %> <% end %> @@ -118,11 +93,11 @@ <% end %> +
    diff --git a/app/views/messages/_form_course.html.erb b/app/views/messages/_form_course.html.erb index dc350bcb3..f4f8126fe 100644 --- a/app/views/messages/_form_course.html.erb +++ b/app/views/messages/_form_course.html.erb @@ -27,7 +27,10 @@
  • - + <%= text_area :quote,:quote,:style => 'display:none' %> <%= hidden_field_tag :asset_id,params[:asset_id],:required => false,:style => 'display:none' %> <% if replying %> diff --git a/app/views/messages/_project_show.html.erb b/app/views/messages/_project_show.html.erb index 01465188c..cbc985c2b 100644 --- a/app/views/messages/_project_show.html.erb +++ b/app/views/messages/_project_show.html.erb @@ -167,7 +167,7 @@
    - <%= textilizable message,:content,:attachments => message.attachments %> + <%= textAreailizable message,:content,:attachments => message.attachments %>
    <%= link_to_attachments message, :author => false %> diff --git a/app/views/messages/quote.js.erb b/app/views/messages/quote.js.erb index f8ec37d75..157e20764 100644 --- a/app/views/messages/quote.js.erb +++ b/app/views/messages/quote.js.erb @@ -1,7 +1,7 @@ $('#message_subject').val("<%= raw escape_javascript(@subject) %>"); -$('#message_quote').html("<%= raw escape_javascript(@temp.content) %>"); +$('#message_quote').html("<%= raw escape_javascript(@temp.content.html_safe) %>"); //$('#message_content').val("<#%= raw escape_javascript(@content) %>"); -$('#quote_quote').html("<%= raw escape_javascript(@content) %>"); +$('#quote_quote').html("<%= raw escape_javascript(@temp.content.html_safe) %>"); showAndScrollTo("reply", "message_content"); $('#message_content').scrollTop = $('#message_content').scrollHeight - $('#message_content').clientHeight; diff --git a/app/views/news/_course_form.html.erb b/app/views/news/_course_form.html.erb index 5c0fc8274..b8b3e36a4 100644 --- a/app/views/news/_course_form.html.erb +++ b/app/views/news/_course_form.html.erb @@ -4,7 +4,7 @@

  • -
  • +
  • <% if is_new %> <%= hidden_field_tag :asset_id,params[:asset_id],:required => false,:style => 'display:none' %> diff --git a/app/views/news/_course_news.html.erb b/app/views/news/_course_news.html.erb index c6940ce10..750f7e465 100644 --- a/app/views/news/_course_news.html.erb +++ b/app/views/news/_course_news.html.erb @@ -2,42 +2,23 @@ btn_tips = l(:label_news_notice) label_tips = l(:label_course_news) %> - - -

    <%= label_tips %>

    -

    <%= l(:label_total_news) %><%= @news_count %><%= l(:label_course_news_count) %>

    +

    + <%= l(:label_total_news) %> + <%= @news_count %> + <%= l(:label_course_news_count) %> +

    <% 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')%> + <%= link_to(btn_tips,new_course_news_path(@course),:class => 'problem_new_btn fl c_dorange')%>
    <% end %>
    - - -
    <% if @newss.empty? %>

    @@ -49,10 +30,20 @@ <%= link_to image_tag(url_to_avatar(news.author),:width => 42,:height => 42), user_path(news.author), :class => "problem_pic fl" %>

    <%= link_to_user_header(news.author,false,{:class=> 'problem_name c_orange fl'}) if news.respond_to?(:author) %> - <%= l(:label_release_news) %>:<%= link_to h(news.title), news_path(news),:class => 'problem_tit fl fb c_dblue' %>
    + + <%= l(:label_release_news) %>: + + <%= link_to h(news.title), news_path(news),:class => 'problem_tit fl fb c_dblue' %> +
    -

    <%= textAreailizable news.description %>
    <%= l(:label_create_time) %> :<%= format_time(news.created_on) %>

    - +

    + <%= news.description.html_safe %> +

    + + <%= l(:label_end_time)%>:<%= format_time(news.created_on)%>
    @@ -62,41 +53,11 @@
  • - - - <%# other_formats_links do |f| %> - <%#= f.link_to 'Atom', :url => {:course_id => @course, :key => User.current.rss_key} %> - <%# end %> - - <% 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)) -%> - - - + +<% 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)) -%> diff --git a/app/views/news/_course_show.html.erb b/app/views/news/_course_show.html.erb index 3334f7c6a..f7c5145f0 100644 --- a/app/views/news/_course_show.html.erb +++ b/app/views/news/_course_show.html.erb @@ -1,63 +1,7 @@ - <%= javascript_include_tag "/assets/kindeditor/kindeditor" %> @@ -77,8 +21,9 @@
    <%= link_to image_tag(url_to_avatar(@news.author),:width => 42,:height => 42), user_path(@news.author), :class => "problem_pic fl" %>
    -

    <%=h @news.title %>

    - <%#= watcher_link(@news, User.current) %> +

    + <%=h @news.title %> +

    <%= link_to(l(:button_edit), edit_news_path(@news), :class => 'talk_edit fr', @@ -86,7 +31,11 @@ :onclick => '$("#edit-news").show(); return false;') if User.current.allowed_to?(:manage_news, @course) %> <%= delete_link(news_path(@news),:class => 'talk_edit fr') if User.current.allowed_to?(:manage_news, @course) %>
    -
    <%= textAreailizable(@news, :description) %>
    <%= l(:label_create_time) %> : <%= format_time(@news.created_on) %>
    +
    + <%= @news.description.html_safe %> +
    + <%= l(:label_create_time) %> : <%= format_time(@news.created_on) %> +
    <%= link_to_attachments_course @news %>
    @@ -97,14 +46,17 @@

    <%= l(:label_comment_add) %>

    <%= form_tag({:controller => 'comments', :action => 'create', :id => @news}, :id => "add_comment_form") do %> -
    +
    <%= hidden_field_tag :asset_id,params[:asset_id],:required => false,:style => 'display:none' %> <%= kindeditor_tag :comment, '',:height=>'100',:editor_id =>'comment_editor', :placeholder=>"最多250个字"%>
    -

    - <%= l(:label_cancel_with_space) %> - <%= l(:label_comment_with_space) %> - +

    + + <%= l(:label_cancel_with_space) %> + + + <%= l(:label_comment_with_space) %> +

    <% end %>
    @@ -117,12 +69,16 @@
    <%= link_to image_tag(url_to_avatar(comment.author),:width => 42,:height => 42), user_path(comment.author)%>
    - <%= link_to_user_header(comment.author,false,:class => 'c_blue fb fl mb10 ') if comment.respond_to?(:author) %><%= format_time(comment.created_on) %> + <%= link_to_user_header(comment.author,false,:class => 'c_blue fb fl mb10 ') if comment.respond_to?(:author) %> + + <%= format_time(comment.created_on) %> +
    -

    <%= textAreailizable(comment.comments) %>

    +

    <%= comment.comments.html_safe %>

    -
    <%= 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)}, :method => :delete, :title => l(:button_delete) %> +
    + <%= 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)}, :method => :delete, :title => l(:button_delete) %>
    diff --git a/config/routes.rb b/config/routes.rb index d702ba24c..c9220769c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -27,7 +27,6 @@ RedmineApp::Application.routes.draw do - resources :discuss_demos #match '/discuss_demos/new',:to => 'discuss_demo#create',:via =>[:post] #match '/discuss_demo/show',:to => 'discuss_demo#show' mount Mobile::API => '/api' diff --git a/public/assets/kindeditor/kindeditor.js b/public/assets/kindeditor/kindeditor.js index 680899eee..8ecbfef06 100644 --- a/public/assets/kindeditor/kindeditor.js +++ b/public/assets/kindeditor/kindeditor.js @@ -4917,7 +4917,7 @@ KEditor.prototype = { editDiv = K('.edit', container), statusbar = self.statusbar = K('.statusbar', container); container.removeClass('container') - .addClass('ke-container ke-container-' + self.themeType).css('width', width); + .addClass('ke-container ke-container-' + self.themeType).css('width', width); if (fullscreenMode) { container.css({ position : 'absolute', diff --git a/public/javascripts/course.js b/public/javascripts/course.js index 3536478a8..2b3ee1f18 100644 --- a/public/javascripts/course.js +++ b/public/javascripts/course.js @@ -158,7 +158,7 @@ function regexTitle() { $("#title_notice_span").text("标题不能为空"); $("#title_notice_span").css('color','#ff0000'); - $("#title_notice_span").focus(); + $("#news_title").focus(); return false; } else if(name.length <= 60) @@ -171,7 +171,7 @@ function regexTitle() { $("#title_notice_span").text("标题超过60个字符"); $("#title_notice_span").css('color','#ff0000'); - $("#title_notice_span").focus(); + $("#news_title").focus(); return false; } } @@ -200,9 +200,8 @@ function regexDescription() } } -function submitNews(is_new) +function submitNews() { - alert(is_new) if(regexTitle() && regexDescription()) { news_description_editor.sync(); @@ -215,6 +214,12 @@ function submitFocus(obj) $(obj).focus(); } +function submitComment() +{ + comment_editor.sync(); + $("#add_comment_form").submit(); +} + /////////////////////////////////////////////////课程讨论区 function course_board_submit_message_replay() { @@ -227,12 +232,12 @@ function course_board_submit_message_replay() function MessageReplayVevify() { var content = message_content_editor.html();//$.trim($("#message_content").val()); if (content.length == 0) { - $("#message_content_span").text("<%= l(:label_reply_empty) %>"); + $("#message_content_span").text("回复不能为空"); $("#message_content_span").css('color', '#ff0000'); return false; } else { - $("#message_content_span").text("<%= l(:label_field_correct) %>"); + $("#message_content_span").text("填写正确"); $("#message_content_span").css('color', '#008000'); return true; } @@ -404,4 +409,28 @@ $(function(){ //将右侧的最小高度设置成左侧高度,美化界面 $(document).ready(function () { $("#RSide").css("min-height",$("#LSide").height()-30); -}); \ No newline at end of file +}); + +// 日历选择日期后关闭 +function regexDeadLine() +{ + ('#ui-datepicker-div').hide; +} + +//新建、修改课程明码显示 +$(function(){ + $("#psw_btn").click(function() { + alert("密码: "+$("#course_course_password").val()); + }); +}); + +//课程通知更多按钮显示 +$(function(){ + $('.news_description').each(function () { + if($(this).height() >= 38) + { + $('#news_foot_'+$(this).attr('id').replace('news_description_','')).css("display","block"); + } + } + ) +}); diff --git a/public/javascripts/iPass.packed.js b/public/javascripts/iPass.packed.js new file mode 100644 index 000000000..d553a9c31 --- /dev/null +++ b/public/javascripts/iPass.packed.js @@ -0,0 +1,8 @@ +// ---------------------------------------------------------------------- // +// iPass - Iphone-like masked password input +// version 1.0 +// author: pixelboi8 (pixelboi8@gmail.com) +// created: 12/12/2010 +// ---------------------------------------------------------------------- // + +eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(8($){$.1e.1l=8(D){2 c={\'I\':1r,\'1a\':1q,\'e\':\'%1w\'};5(D){$.1p(c,D)}2 v=[];2 l=[];2 T=1n 1s(\'[^\'+c[\'e\']+\']\',\'1v\');2 i=0;4.W(8(6){2 G=\'-\'+6;2 t=$(4);2 3=4.3;2 q=4.q;2 h=3+G;2 11=3+G;5(!3||!q){1t("1m 1d 1c \'3\' 1b \'q\' 1f w 1g!");12 16}$(\'\').1M(t);2 A=$(\'#\'+h);2 g=$(\'#\'+h)[0];5(4.x){g.x=4.x}5(4.F){g.F=4.F}5(4.E){g.E=4.E}5(4.z&&4.z!=\'-1\'){g.z=4.z}5(4.N){g.N=4.N}5(4.H){g.H=4.H}5(4.B){g.B=4.B}5(4.L){g.L=4.L}4.x=\'\';4.B=\'\';t.1O();A.Z(\'1J\',8(){2 m=A.j();v[6]=V(8(){M(6,3,h,m)},c[\'I\'])});A.Z(\'1A\',8(){e(6,h);18(v[6])});$(\'X\').W(8(){5(4.J==3){4.J=h}n 5(t[0].13.1y.1C()==\'X\'){t[0].13.J=h}})});M=8(6,r,3,m){2 o=$(\'#\'+3).j();5(o!=m){19(6,r,3)}n{e(6,3)}m=o;v[6]=V(8(){M(6,r,3,m)},c[\'I\'])};19=8(6,r,3){2 7=P(3);2 K=16;2 p=$(\'#\'+3);2 C=$(\'#\'+r);2 9=p.j().17(\'\');2 d=C.j().17(\'\');5(l[6]){18(l[6]);l[6]=10}w(i=0;i<9.f;i++){5(9[i]!=d[i]){5(9[i]!=u(c[\'e\'])){d.O(i,0,9[i])}n{d[i]=d[i]}}n{d.O(i,0,9[i])}}5(9.f