summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2007-06-14 18:26:27 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2007-06-14 18:26:27 +0000
commitf2acb56041b997812f4a2dc2e7258a16572df7d1 (patch)
tree46ae163fbeeba9ff056a448773632ba7620964b9
parentff1343882ab9a1161b0c1308b65b66630c5b946e (diff)
downloadredmine-f2acb56041b997812f4a2dc2e7258a16572df7d1.tar.gz
redmine-f2acb56041b997812f4a2dc2e7258a16572df7d1.zip
A wiki page can now be attached to each version.
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
-rw-r--r--app/controllers/wiki_controller.rb1
-rw-r--r--app/models/version.rb7
-rw-r--r--app/views/projects/roadmap.rhtml5
-rw-r--r--app/views/projects/settings.rhtml10
-rw-r--r--app/views/versions/_form.rhtml5
-rw-r--r--app/views/wiki/_content.rhtml5
-rw-r--r--app/views/wiki/show.rhtml6
-rw-r--r--db/migrate/057_add_versions_wiki_page_title.rb9
-rw-r--r--lang/bg.yml1
-rw-r--r--lang/de.yml1
-rw-r--r--lang/en.yml1
-rw-r--r--lang/es.yml1
-rw-r--r--lang/fr.yml1
-rw-r--r--lang/it.yml1
-rw-r--r--lang/ja.yml1
-rw-r--r--lang/nl.yml1
-rw-r--r--lang/pt-br.yml1
-rw-r--r--lang/pt.yml1
-rw-r--r--lang/sv.yml2
19 files changed, 49 insertions, 11 deletions
diff --git a/app/controllers/wiki_controller.rb b/app/controllers/wiki_controller.rb
index f85c719bc..bad9b28f0 100644
--- a/app/controllers/wiki_controller.rb
+++ b/app/controllers/wiki_controller.rb
@@ -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
diff --git a/app/models/version.rb b/app/models/version.rb
index a4e93118e..6234732d7 100644
--- a/app/models/version.rb
+++ b/app/models/version.rb
@@ -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)
diff --git a/app/views/projects/roadmap.rhtml b/app/views/projects/roadmap.rhtml
index 81ea703c6..8c7d460de 100644
--- a/app/views/projects/roadmap.rhtml
+++ b/app/views/projects/roadmap.rhtml
@@ -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>
diff --git a/app/views/projects/settings.rhtml b/app/views/projects/settings.rhtml
index bd73076cc..73367b26a 100644
--- a/app/views/projects/settings.rhtml
+++ b/app/views/projects/settings.rhtml
@@ -25,13 +25,21 @@
<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>
diff --git a/app/views/versions/_form.rhtml b/app/views/versions/_form.rhtml
index 8dca13e36..cd3afcccd 100644
--- a/app/views/versions/_form.rhtml
+++ b/app/views/versions/_form.rhtml
@@ -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
index 000000000..3f7c14201
--- /dev/null
+++ b/app/views/wiki/_content.rhtml
@@ -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>
diff --git a/app/views/wiki/show.rhtml b/app/views/wiki/show.rhtml
index 8bb757ac0..3a830a47d 100644
--- a/app/views/wiki/show.rhtml
+++ b/app/views/wiki/show.rhtml
@@ -19,11 +19,7 @@
<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
index 000000000..58b8fd9a8
--- /dev/null
+++ b/db/migrate/057_add_versions_wiki_page_title.rb
@@ -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
diff --git a/lang/bg.yml b/lang/bg.yml
index 71d4759ac..a91059f79 100644
--- a/lang/bg.yml
+++ b/lang/bg.yml
@@ -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: Текуща версия
diff --git a/lang/de.yml b/lang/de.yml
index f2965b35a..973e4fd91 100644
--- a/lang/de.yml
+++ b/lang/de.yml
@@ -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
diff --git a/lang/en.yml b/lang/en.yml
index 1cc12605b..6c3c38f78 100644
--- a/lang/en.yml
+++ b/lang/en.yml
@@ -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
diff --git a/lang/es.yml b/lang/es.yml
index 484a947e5..717c1bf6b 100644
--- a/lang/es.yml
+++ b/lang/es.yml
@@ -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
diff --git a/lang/fr.yml b/lang/fr.yml
index d0facf0d6..bab251425 100644
--- a/lang/fr.yml
+++ b/lang/fr.yml
@@ -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
diff --git a/lang/it.yml b/lang/it.yml
index a68c4102f..28d860af0 100644
--- a/lang/it.yml
+++ b/lang/it.yml
@@ -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
diff --git a/lang/ja.yml b/lang/ja.yml
index d8dcc61db..67f48d5ac 100644
--- a/lang/ja.yml
+++ b/lang/ja.yml
@@ -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: 最新版
diff --git a/lang/nl.yml b/lang/nl.yml
index 3824925ac..1c115369d 100644
--- a/lang/nl.yml
+++ b/lang/nl.yml
@@ -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
diff --git a/lang/pt-br.yml b/lang/pt-br.yml
index 658d23696..1090c6907 100644
--- a/lang/pt-br.yml
+++ b/lang/pt-br.yml
@@ -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: Versao atual
diff --git a/lang/pt.yml b/lang/pt.yml
index 9d71a4af6..b1c02bc95 100644
--- a/lang/pt.yml
+++ b/lang/pt.yml
@@ -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
diff --git a/lang/sv.yml b/lang/sv.yml
index 9d53e1b87..f781db9cc 100644
--- a/lang/sv.yml
+++ b/lang/sv.yml
@@ -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