]> source.dussan.org Git - redmine.git/commitdiff
A wiki page can now be attached to each version.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 14 Jun 2007 18:26:27 +0000 (18:26 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 14 Jun 2007 18:26:27 +0000 (18:26 +0000)
For that, edit the version and set the wiki page name (project wiki must be enabled).
The wiki page content is displayed for each version on the roadmap view.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@564 e93f8b46-1217-0410-a6f0-8f06a7374b81

19 files changed:
app/controllers/wiki_controller.rb
app/models/version.rb
app/views/projects/roadmap.rhtml
app/views/projects/settings.rhtml
app/views/versions/_form.rhtml
app/views/wiki/_content.rhtml [new file with mode: 0644]
app/views/wiki/show.rhtml
db/migrate/057_add_versions_wiki_page_title.rb [new file with mode: 0644]
lang/bg.yml
lang/de.yml
lang/en.yml
lang/es.yml
lang/fr.yml
lang/it.yml
lang/ja.yml
lang/nl.yml
lang/pt-br.yml
lang/pt.yml
lang/sv.yml

index f85c719bc8b324a3e10cfafc2f09ffada3f69f9c..bad9b28f0998dd989f61eccddfe392a0a7d1ef4b 100644 (file)
@@ -141,6 +141,7 @@ private
   def find_wiki
     @project = Project.find(params[:id])
     @wiki = @project.wiki
+    render_404 unless @wiki
   rescue ActiveRecord::RecordNotFound
     render_404
   end
index a4e93118e46452d1f1e97d256cdd1c804f0cc427..6234732d78b7b6e39fd8f2b76a7c44f0b9bf3bf1 100644 (file)
@@ -37,6 +37,13 @@ class Version < ActiveRecord::Base
     effective_date && effective_date <= Date.today
   end
   
+  def wiki_page
+    if project.wiki && !wiki_page_title.blank?
+      @wiki_page ||= project.wiki.find_page(wiki_page_title)
+    end
+    @wiki_page
+  end
+  
   # Versions are sorted by effective_date 
   # Those with no effective_date are at the end, sorted by name
   def <=>(version)
index 81ea703c6e1e91e75482cb333903763e06320217..8c7d460de3d3b3134b60428d0f44ce66471ae4b7 100644 (file)
@@ -21,7 +21,7 @@
     <% elsif version.effective_date %>
       <p><strong><%=l(:label_roadmap_due_in)%> <%= distance_of_time_in_words Time.now, version.effective_date %> (<%= format_date(version.effective_date) %>)</strong></p>
     <% end %>
-    <p><%=h version.description %></p>
+    <p><%=h version.description %></p>        
     <% issues = version.fixed_issues.find(:all,
                                  :include => [:status, :tracker],
                                  :conditions => ["tracker_id in (#{@selected_tracker_ids.join(',')})"],
@@ -44,7 +44,8 @@
     <em><%= link_to(complete, :controller => 'projects', :action => 'list_issues', :id => @project, :status_id => 'c', :fixed_version_id => version, :set_filter => 1) %> <%= lwr(:label_closed_issues, complete) %> (<%= percentComplete %>%) &#160;
         <%= link_to((total - complete), :controller => 'projects', :action => 'list_issues', :id => @project, :status_id => 'o', :fixed_version_id => version, :set_filter => 1) %> <%= lwr(:label_open_issues, total - complete)%> (<%= percentIncomplete %>%)</em>
     <br />
-    <br />
+    <br />    
+    <%= render(:partial => "wiki/content", :locals => {:content => version.wiki_page.content}) if version.wiki_page %>
     <ul>
       <% if total == 0 %>
         <li><%=l(:label_roadmap_no_issues)%></li>
index bd73076cc8ffeb7496ccc83d2576d5b9267326ba..73367b26a0a8d61188757a1c8fc2b0a55835889e 100644 (file)
 
 <div id="tab-content-versions" class="tab-content" style="display:none;">
 <table class="list">
-       <thead><th><%= l(:label_version) %></th><th><%= l(:field_effective_date) %></th><th><%= l(:field_description) %></th><th style="width:15%"></th><th style="width:15%"></th></thead>
+       <thead>
+    <th><%= l(:label_version) %></th>
+    <th><%= l(:field_effective_date) %></th>
+    <th><%= l(:field_description) %></th>
+    <th><%= l(:label_wiki_page) unless @project.wiki.nil? %></th>
+    <th style="width:15%"></th>
+    <th style="width:15%"></th>
+    </thead>
        <tbody>
 <% for version in @project.versions.sort %>
     <tr class="<%= cycle 'odd', 'even' %>">
     <td><%=h version.name %></td>
     <td align="center"><%= format_date(version.effective_date) %></td>
     <td><%=h version.description %></td>
+    <td><%= link_to(version.wiki_page_title, :controller => 'wiki', :page => Wiki.titleize(version.wiki_page_title)) unless version.wiki_page_title.blank? || @project.wiki.nil? %></td>
     <td align="center"><small><%= link_to_if_authorized l(:button_edit), { :controller => 'versions', :action => 'edit', :id => version }, :class => 'icon icon-edit' %></small></td>
     <td align="center"><small><%= link_to_if_authorized l(:button_delete), {:controller => 'versions', :action => 'destroy', :id => version}, :confirm => l(:text_are_you_sure), :method => :post, :class => 'icon icon-del' %></small></td>
     </td>
index 8dca13e362f90da64e8bbb186c9232affba75e58..cd3afcccdc90209bf1bc0d15bcb73758764ad661 100644 (file)
@@ -1,11 +1,10 @@
 <%= error_messages_for 'version' %>
 
 <div class="box">
-<!--[form:version]-->
 <p><%= f.text_field :name, :size => 20, :required => true %></p>
 <p><%= f.text_field :description, :size => 60 %></p>
+<p><%= f.text_field :wiki_page_title, :label => :label_wiki_page, :size => 60, :disabled => @project.wiki.nil? %></p>
 <p><%= f.text_field :effective_date, :size => 10 %><%= calendar_for('version_effective_date') %></p>
-<!--[eoform:version]-->
 </div>
 
 <% content_for :header_tags do %>
@@ -13,4 +12,4 @@
 <%= javascript_include_tag "calendar/lang/calendar-#{current_language}.js" %>
 <%= javascript_include_tag 'calendar/calendar-setup' %>
 <%= stylesheet_link_tag 'calendar' %>
-<% end %>
\ No newline at end of file
+<% end %>
diff --git a/app/views/wiki/_content.rhtml b/app/views/wiki/_content.rhtml
new file mode 100644 (file)
index 0000000..3f7c142
--- /dev/null
@@ -0,0 +1,5 @@
+<div class="wiki">
+  <% cache "wiki/show/#{content.page.id}/#{content.version}" do %>
+    <%= textilizable content.text, :attachments => content.page.attachments %>
+  <% end %>
+</div>
index 8bb757ac0e1f0f9b7853e8989062f69f99456a7c..3a830a47d9937253e812507e33bcd64a4ab108c5 100644 (file)
     <hr />
 <% end %>
 
-<div class="wiki">
-<% cache "wiki/show/#{@page.id}/#{@content.version}" do %>
-<%= textilizable @content.text, :attachments => @page.attachments %>
-<% end %>
-</div>
+<%= render(:partial => "wiki/content", :locals => {:content => @content}) %>
 
 <%= link_to_attachments @page.attachments, :delete_url => (authorize_for('wiki', 'destroy_attachment') ? {:controller => 'wiki', :action => 'destroy_attachment', :page => @page.title} : nil) %>
 
diff --git a/db/migrate/057_add_versions_wiki_page_title.rb b/db/migrate/057_add_versions_wiki_page_title.rb
new file mode 100644 (file)
index 0000000..58b8fd9
--- /dev/null
@@ -0,0 +1,9 @@
+class AddVersionsWikiPageTitle < ActiveRecord::Migration
+  def self.up
+    add_column :versions, :wiki_page_title, :string
+  end
+
+  def self.down
+    remove_column :versions, :wiki_page_title
+  end
+end
index 71d4759ac5668cd95fc0829dbd78aed49756d76a..a91059f79547e646f42ea1327b3603ea3b7707f0 100644 (file)
@@ -346,6 +346,7 @@ label_all_words: Всички думи
 label_wiki: Wiki
 label_wiki_edit: Wiki редакция
 label_wiki_edit_plural: Wiki редакции
+label_wiki_page: Wiki page
 label_wiki_page_plural: Wiki pages
 label_page_index: Индекс
 label_current_version: Текуща версия
index f2965b35aacd0db526f2765082d669ddc5eefe6e..973e4fd914264c0e8712fd33178d8fbcc450c729 100644 (file)
@@ -346,6 +346,7 @@ label_all_words: Alle Wörter
 label_wiki: Wiki
 label_wiki_edit: Wiki Bearbeitung
 label_wiki_edit_plural: Wiki Bearbeitungen
+label_wiki_page: Wiki page
 label_wiki_page_plural: Wiki pages
 label_page_index: Index
 label_current_version: Gegenwärtige Version
index 1cc12605b21b13fbbcf9956c4be389895d38d0b4..6c3c38f7881010a0b72d568eba443c59ecf5d80e 100644 (file)
@@ -346,6 +346,7 @@ label_all_words: All words
 label_wiki: Wiki
 label_wiki_edit: Wiki edit
 label_wiki_edit_plural: Wiki edits
+label_wiki_page: Wiki page
 label_wiki_page_plural: Wiki pages
 label_page_index: Index
 label_current_version: Current version
index 484a947e580a9251cced619f85b287ead268a7fc..717c1bf6bf0a44dd5cc44bd857e33cd256abb72a 100644 (file)
@@ -346,6 +346,7 @@ label_all_words: Todas las palabras
 label_wiki: Wiki
 label_wiki_edit: Wiki edit
 label_wiki_edit_plural: Wiki edits
+label_wiki_page: Wiki page
 label_wiki_page_plural: Wiki pages
 label_page_index: Índice
 label_current_version: Versión actual
index d0facf0d6aad4b77998e949e52eedd80cb983f9a..bab251425d9cb793813e414f369607ab9411fd5a 100644 (file)
@@ -346,6 +346,7 @@ label_all_words: Tous les mots
 label_wiki: Wiki
 label_wiki_edit: Révision wiki
 label_wiki_edit_plural: Révisions wiki
+label_wiki_page: Page wiki
 label_wiki_page_plural: Pages wiki
 label_page_index: Index
 label_current_version: Version actuelle
index a68c4102f2edc73b9d57383cc1546232103b892e..28d860af077ba8289df122feedfe5b5ce7957c91 100644 (file)
@@ -346,6 +346,7 @@ label_all_words: Tutte le parole
 label_wiki: Wiki
 label_wiki_edit: Modifica Wiki
 label_wiki_edit_plural: Modfiche wiki
+label_wiki_page: Wiki page
 label_wiki_page_plural: Wiki pages
 label_page_index: Indice
 label_current_version: Versione corrente
index d8dcc61db43df38d680e6a4a2a2d28f13d3a40c4..67f48d5ac28db2844ced7444ece80e3118472a3f 100644 (file)
@@ -347,6 +347,7 @@ label_all_words: すべての単語
 label_wiki: Wiki
 label_wiki_edit: Wiki編集
 label_wiki_edit_plural: Wiki編集
+label_wiki_page: Wiki page
 label_wiki_page_plural: Wikiページ
 label_page_index: 索引
 label_current_version: 最新版
index 3824925ac3a98c11a9376ba3607ee28c5a359adb..1c115369d9d6d2424ac8e887d96ce73fec8ee2aa 100644 (file)
@@ -346,6 +346,7 @@ label_all_words: Alle woorden
 label_wiki: Wiki
 label_wiki_edit: Wiki edit
 label_wiki_edit_plural: Wiki edits
+label_wiki_page: Wiki page
 label_wiki_page_plural: Wiki pages
 label_page_index: Index
 label_current_version: Huidige versie
index 658d236961aefbdfc112571d9e58f271750a55b1..1090c69074eaa56258a527c18053491e5c81892c 100644 (file)
@@ -346,6 +346,7 @@ label_all_words: Todas as palavras
 label_wiki: Wiki\r
 label_wiki_edit: Wiki edit\r
 label_wiki_edit_plural: Wiki edits\r
+label_wiki_page: Wiki page\r
 label_wiki_page_plural: Wiki pages\r
 label_page_index: Index\r
 label_current_version: Versao atual\r
index 9d71a4af661652cf80bff6ce113d17372fcccf73..b1c02bc95ee6c2674020398ea2b8d31dbcfb9429 100644 (file)
@@ -346,6 +346,7 @@ label_all_words: Todas as palavras
 label_wiki: Wiki
 label_wiki_edit: Wiki edit
 label_wiki_edit_plural: Wiki edits
+label_wiki_page: Wiki page
 label_wiki_page_plural: Wiki pages
 label_page_index: Index
 label_current_version: Versão atual
index 9d53e1b8722bb8de08a04c22ed59207fcc4f2671..f781db9cccb23a88a6aff1ef63fb1c7b05bffdf9 100644 (file)
@@ -346,6 +346,8 @@ label_all_words: Alla ord
 label_wiki: Wiki
 label_wiki_edit: Wiki editera
 label_wiki_edit_plural: Wiki editeringar
+label_wiki_page: Wiki page
+label_wiki_page_plural: Wiki pages
 label_page_index: Index
 label_current_version: Nuvarande version
 label_preview: Preview