From 835ef9751081a60be2749f9c61b075fc45a1436c Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Tue, 12 Aug 2014 11:22:37 +0800 Subject: [PATCH 1/6] =?UTF-8?q?wiki=E7=BC=96=E8=BE=91=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/wiki/_content.html.erb | 1 + app/views/wiki/edit.html.erb | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/views/wiki/_content.html.erb b/app/views/wiki/_content.html.erb index 60b6a7452..fcfcc1351 100644 --- a/app/views/wiki/_content.html.erb +++ b/app/views/wiki/_content.html.erb @@ -1,4 +1,5 @@
<%= textilizable content, :text, :attachments => content.page.attachments, :edit_section_links => (@sections_editable && {:controller => 'wiki', :action => 'edit', :project_id => @page.project, :id => @page.title}) %> + <%#= content.text.html_safe %>
diff --git a/app/views/wiki/edit.html.erb b/app/views/wiki/edit.html.erb index 85b964a9b..35f905eef 100644 --- a/app/views/wiki/edit.html.erb +++ b/app/views/wiki/edit.html.erb @@ -1,5 +1,6 @@ <%= wiki_page_breadcrumb(@page) %> +

<%= h @page.pretty_title %>

<%= form_for @content, :as => :content, @@ -12,8 +13,15 @@ <% end %> <%= error_messages_for 'content' %> +
+

<%=text_area_tag 'content[text]', @text, :required => true, :id => 'editor02', :cols => 100, :rows => 25 %>

+ +
+
-<%= text_area_tag 'content[text]', @text, :cols => 100, :rows => 25, +<%#= text_area_tag 'content[text]', @text, :cols => 100, :rows => 25, :class => 'wiki-edit', :accesskey => accesskey(:edit) %> <%= l(:label_user_for_project_grade) %>: <%= format("%.2f" ,UserGrade.find_by_user_id_and_project_id(member[:user_id], @project.id).grade).to_i %>

diff --git a/app/views/projects/_project.html.erb b/app/views/projects/_project.html.erb index e9a733ece..3d7cdfb6c 100644 --- a/app/views/projects/_project.html.erb +++ b/app/views/projects/_project.html.erb @@ -128,7 +128,7 @@ <% if @project.project_type !=1 %> <%= l(:label_project_grade)%>: - <%= link_to(format("%.2f" , project_scores(@project) ).to_i, + <%= link_to(format("%.2f" , red_project_scores(@project) ).to_i, {:controller => 'projects', :action => 'show_projects_score', :remote => true, :id => @project.id}, :style=>"color: #EC6300;") %> diff --git a/app/views/users/_user_score.html.erb b/app/views/users/_user_score.html.erb index 338d72ada..e9334a047 100644 --- a/app/views/users/_user_score.html.erb +++ b/app/views/users/_user_score.html.erb @@ -1,6 +1,7 @@ <%= l(:label_user_grade)%>: -<%= link_to(format("%.2f" ,user_scores(user,1).total_score ).to_i, {:controller => 'users', + +<%= link_to(format("%.2f" ,get_option_number(user,1).total_score ).to_i, {:controller => 'users', :action => 'show_new_score', :remote => true, :id => user.id diff --git a/db/schema.rb b/db/schema.rb index 292ca9d05..7a921754a 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20140801034242) do +ActiveRecord::Schema.define(:version => 20140811022947) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false @@ -772,6 +772,13 @@ ActiveRecord::Schema.define(:version => 20140801034242) do t.datetime "updated_at", :null => false end + create_table "project_scores", :force => true do |t| + t.string "project_id" + t.integer "score" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + create_table "project_statuses", :force => true do |t| t.integer "changesets_count" t.integer "watchers_count" From 582ccd2ecf282a819b247db6946351a6fddb63cc Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Wed, 13 Aug 2014 14:45:10 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0wiki=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E6=94=B9=E9=A1=B9=E7=9B=AE=E8=AE=A8=E8=AE=BA?= =?UTF-8?q?=E5=8C=BA=E6=A8=A1=E5=9D=97=E5=9B=9E=E5=8E=BB=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8C=96=E5=AD=97=E7=AC=A6=E4=B8=B2=E4=B8=8D=E6=AD=A3=E7=A1=AE?= =?UTF-8?q?=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/application_helper.rb | 44 ++++++++++++++++++++++- app/helpers/wiki_helper.rb | 10 ++++++ app/views/messages/_project_show.html.erb | 4 +-- app/views/wiki/_content.html.erb | 2 +- db/schema.rb | 7 ++-- 5 files changed, 60 insertions(+), 7 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index b1006d239..23f6b6994 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -685,7 +685,7 @@ module ApplicationHelper when 2 obj = args.shift attr = args.shift - text = obj.send(attr).to_s + text = obj.send(attr).html_safe.to_s else raise ArgumentError, 'invalid arguments to textilizable' end @@ -716,6 +716,48 @@ module ApplicationHelper text.html_safe end + # + #格式化字符串,不转义html代码 + def textAreailizable(*args) + options = args.last.is_a?(Hash) ? args.pop : {} + case args.size + when 1 + obj = options[:object] + text = args.shift + when 2 + obj = args.shift + attr = args.shift + text = obj.send(attr).html_safe.to_s + else + raise ArgumentError, 'invalid arguments to textilizable' + end + return '' if text.blank? + project = options[:project] || @project || (obj && obj.respond_to?(:project) ? obj.project : nil) + only_path = options.delete(:only_path) == false ? false : true + + text = text.dup + macros = catch_macros(text) + text = Redmine::WikiFormatting.to_html("CKEditor", text, :object => obj, :attribute => attr) + + @parsed_headings = [] + @heading_anchors = {} + @current_section = 0 if options[:edit_section_links] + + parse_sections(text, project, obj, attr, only_path, options) + text = parse_non_pre_blocks(text, obj, macros) do |text| + [:parse_inline_attachments, :parse_wiki_links, :parse_redmine_links].each do |method_name| + send method_name, text, project, obj, attr, only_path, options + end + end + parse_headings(text, project, obj, attr, only_path, options) + + if @parsed_headings.any? + replace_toc(text, @parsed_headings) + end + + text.html_safe + end + def parse_non_pre_blocks(text, obj, macros) s = StringScanner.new(text) tags = [] diff --git a/app/helpers/wiki_helper.rb b/app/helpers/wiki_helper.rb index c6cb3b39d..8278ce035 100644 --- a/app/helpers/wiki_helper.rb +++ b/app/helpers/wiki_helper.rb @@ -40,4 +40,14 @@ module WikiHelper link_to(h(parent.pretty_title), {:controller => 'wiki', :action => 'show', :id => parent.title, :project_id => parent.project, :version => nil}) }) end + + def wiki_content_format wiki + text = wiki.text.html_safe + text = parse_non_pre_blocks(text, wiki, text) do |text| + [:parse_inline_attachments, :parse_wiki_links, :parse_redmine_links].each do |method_name| + send method_name, text, project, wiki, attr, only_path, options + end + end + text + end end diff --git a/app/views/messages/_project_show.html.erb b/app/views/messages/_project_show.html.erb index 66027e6ec..0bae1a761 100644 --- a/app/views/messages/_project_show.html.erb +++ b/app/views/messages/_project_show.html.erb @@ -161,8 +161,8 @@
- <%#= textilizable message,:content,:attachments => message.attachments %> - <%= message.content.html_safe %> + <%= textAreailizable message,:content,:attachments => message.attachments %> + <%#= message.content.html_safe %>
<%= link_to_attachments message, :author => false %> diff --git a/app/views/wiki/_content.html.erb b/app/views/wiki/_content.html.erb index fcfcc1351..96d358381 100644 --- a/app/views/wiki/_content.html.erb +++ b/app/views/wiki/_content.html.erb @@ -1,5 +1,5 @@
- <%= textilizable content, :text, :attachments => content.page.attachments, + <%= textAreailizable content, :text, :attachments => content.page.attachments, :edit_section_links => (@sections_editable && {:controller => 'wiki', :action => 'edit', :project_id => @page.project, :id => @page.title}) %> <%#= content.text.html_safe %>
diff --git a/db/schema.rb b/db/schema.rb index f087206ee..d90541472 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20140812032957) do +ActiveRecord::Schema.define(:version => 20140812065417) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false @@ -304,8 +304,9 @@ ActiveRecord::Schema.define(:version => 20140812032957) do t.string "disk_directory" t.integer "attachtype" t.integer "is_public" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + t.integer "container_id", :default => 0 end create_table "course_infos", :force => true do |t| From 0e35967433e913646a0ea8e61312fbe5df1086f1 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Wed, 13 Aug 2014 15:19:05 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9wiki=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=88=9D=E5=A7=8B=E5=8C=96=E9=AB=98=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/wiki/edit.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/wiki/edit.html.erb b/app/views/wiki/edit.html.erb index 35f905eef..3a1abdd83 100644 --- a/app/views/wiki/edit.html.erb +++ b/app/views/wiki/edit.html.erb @@ -16,7 +16,7 @@

<%=text_area_tag 'content[text]', @text, :required => true, :id => 'editor02', :cols => 100, :rows => 25 %>