@@ -0,0 +1,5 | |||||
|
1 | <div class="wiki"> | |||
|
2 | <% cache "wiki/show/#{content.page.id}/#{content.version}" do %> | |||
|
3 | <%= textilizable content.text, :attachments => content.page.attachments %> | |||
|
4 | <% end %> | |||
|
5 | </div> |
@@ -0,0 +1,9 | |||||
|
1 | class AddVersionsWikiPageTitle < ActiveRecord::Migration | |||
|
2 | def self.up | |||
|
3 | add_column :versions, :wiki_page_title, :string | |||
|
4 | end | |||
|
5 | ||||
|
6 | def self.down | |||
|
7 | remove_column :versions, :wiki_page_title | |||
|
8 | end | |||
|
9 | end |
@@ -141,6 +141,7 private | |||||
141 | def find_wiki |
|
141 | def find_wiki | |
142 | @project = Project.find(params[:id]) |
|
142 | @project = Project.find(params[:id]) | |
143 | @wiki = @project.wiki |
|
143 | @wiki = @project.wiki | |
|
144 | render_404 unless @wiki | |||
144 | rescue ActiveRecord::RecordNotFound |
|
145 | rescue ActiveRecord::RecordNotFound | |
145 | render_404 |
|
146 | render_404 | |
146 | end |
|
147 | end |
@@ -37,6 +37,13 class Version < ActiveRecord::Base | |||||
37 | effective_date && effective_date <= Date.today |
|
37 | effective_date && effective_date <= Date.today | |
38 | end |
|
38 | end | |
39 |
|
39 | |||
|
40 | def wiki_page | |||
|
41 | if project.wiki && !wiki_page_title.blank? | |||
|
42 | @wiki_page ||= project.wiki.find_page(wiki_page_title) | |||
|
43 | end | |||
|
44 | @wiki_page | |||
|
45 | end | |||
|
46 | ||||
40 | # Versions are sorted by effective_date |
|
47 | # Versions are sorted by effective_date | |
41 | # Those with no effective_date are at the end, sorted by name |
|
48 | # Those with no effective_date are at the end, sorted by name | |
42 | def <=>(version) |
|
49 | def <=>(version) |
@@ -21,7 +21,7 | |||||
21 | <% elsif version.effective_date %> |
|
21 | <% elsif version.effective_date %> | |
22 | <p><strong><%=l(:label_roadmap_due_in)%> <%= distance_of_time_in_words Time.now, version.effective_date %> (<%= format_date(version.effective_date) %>)</strong></p> |
|
22 | <p><strong><%=l(:label_roadmap_due_in)%> <%= distance_of_time_in_words Time.now, version.effective_date %> (<%= format_date(version.effective_date) %>)</strong></p> | |
23 | <% end %> |
|
23 | <% end %> | |
24 | <p><%=h version.description %></p> |
|
24 | <p><%=h version.description %></p> | |
25 | <% issues = version.fixed_issues.find(:all, |
|
25 | <% issues = version.fixed_issues.find(:all, | |
26 | :include => [:status, :tracker], |
|
26 | :include => [:status, :tracker], | |
27 | :conditions => ["tracker_id in (#{@selected_tracker_ids.join(',')})"], |
|
27 | :conditions => ["tracker_id in (#{@selected_tracker_ids.join(',')})"], | |
@@ -44,7 +44,8 | |||||
44 | <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 %>%)   |
|
44 | <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 %>%)   | |
45 | <%= 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> |
|
45 | <%= 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> | |
46 | <br /> |
|
46 | <br /> | |
47 | <br /> |
|
47 | <br /> | |
|
48 | <%= render(:partial => "wiki/content", :locals => {:content => version.wiki_page.content}) if version.wiki_page %> | |||
48 | <ul> |
|
49 | <ul> | |
49 | <% if total == 0 %> |
|
50 | <% if total == 0 %> | |
50 | <li><%=l(:label_roadmap_no_issues)%></li> |
|
51 | <li><%=l(:label_roadmap_no_issues)%></li> |
@@ -25,13 +25,21 | |||||
25 |
|
25 | |||
26 | <div id="tab-content-versions" class="tab-content" style="display:none;"> |
|
26 | <div id="tab-content-versions" class="tab-content" style="display:none;"> | |
27 | <table class="list"> |
|
27 | <table class="list"> | |
28 | <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> |
|
28 | <thead> | |
|
29 | <th><%= l(:label_version) %></th> | |||
|
30 | <th><%= l(:field_effective_date) %></th> | |||
|
31 | <th><%= l(:field_description) %></th> | |||
|
32 | <th><%= l(:label_wiki_page) unless @project.wiki.nil? %></th> | |||
|
33 | <th style="width:15%"></th> | |||
|
34 | <th style="width:15%"></th> | |||
|
35 | </thead> | |||
29 | <tbody> |
|
36 | <tbody> | |
30 | <% for version in @project.versions.sort %> |
|
37 | <% for version in @project.versions.sort %> | |
31 | <tr class="<%= cycle 'odd', 'even' %>"> |
|
38 | <tr class="<%= cycle 'odd', 'even' %>"> | |
32 | <td><%=h version.name %></td> |
|
39 | <td><%=h version.name %></td> | |
33 | <td align="center"><%= format_date(version.effective_date) %></td> |
|
40 | <td align="center"><%= format_date(version.effective_date) %></td> | |
34 | <td><%=h version.description %></td> |
|
41 | <td><%=h version.description %></td> | |
|
42 | <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> | |||
35 | <td align="center"><small><%= link_to_if_authorized l(:button_edit), { :controller => 'versions', :action => 'edit', :id => version }, :class => 'icon icon-edit' %></small></td> |
|
43 | <td align="center"><small><%= link_to_if_authorized l(:button_edit), { :controller => 'versions', :action => 'edit', :id => version }, :class => 'icon icon-edit' %></small></td> | |
36 | <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> |
|
44 | <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> | |
37 | </td> |
|
45 | </td> |
@@ -1,11 +1,10 | |||||
1 | <%= error_messages_for 'version' %> |
|
1 | <%= error_messages_for 'version' %> | |
2 |
|
2 | |||
3 | <div class="box"> |
|
3 | <div class="box"> | |
4 | <!--[form:version]--> |
|
|||
5 | <p><%= f.text_field :name, :size => 20, :required => true %></p> |
|
4 | <p><%= f.text_field :name, :size => 20, :required => true %></p> | |
6 | <p><%= f.text_field :description, :size => 60 %></p> |
|
5 | <p><%= f.text_field :description, :size => 60 %></p> | |
|
6 | <p><%= f.text_field :wiki_page_title, :label => :label_wiki_page, :size => 60, :disabled => @project.wiki.nil? %></p> | |||
7 | <p><%= f.text_field :effective_date, :size => 10 %><%= calendar_for('version_effective_date') %></p> |
|
7 | <p><%= f.text_field :effective_date, :size => 10 %><%= calendar_for('version_effective_date') %></p> | |
8 | <!--[eoform:version]--> |
|
|||
9 | </div> |
|
8 | </div> | |
10 |
|
9 | |||
11 | <% content_for :header_tags do %> |
|
10 | <% content_for :header_tags do %> | |
@@ -13,4 +12,4 | |||||
13 | <%= javascript_include_tag "calendar/lang/calendar-#{current_language}.js" %> |
|
12 | <%= javascript_include_tag "calendar/lang/calendar-#{current_language}.js" %> | |
14 | <%= javascript_include_tag 'calendar/calendar-setup' %> |
|
13 | <%= javascript_include_tag 'calendar/calendar-setup' %> | |
15 | <%= stylesheet_link_tag 'calendar' %> |
|
14 | <%= stylesheet_link_tag 'calendar' %> | |
16 | <% end %> No newline at end of file |
|
15 | <% end %> |
@@ -19,11 +19,7 | |||||
19 | <hr /> |
|
19 | <hr /> | |
20 | <% end %> |
|
20 | <% end %> | |
21 |
|
21 | |||
22 | <div class="wiki"> |
|
22 | <%= render(:partial => "wiki/content", :locals => {:content => @content}) %> | |
23 | <% cache "wiki/show/#{@page.id}/#{@content.version}" do %> |
|
|||
24 | <%= textilizable @content.text, :attachments => @page.attachments %> |
|
|||
25 | <% end %> |
|
|||
26 | </div> |
|
|||
27 |
|
23 | |||
28 | <%= link_to_attachments @page.attachments, :delete_url => (authorize_for('wiki', 'destroy_attachment') ? {:controller => 'wiki', :action => 'destroy_attachment', :page => @page.title} : nil) %> |
|
24 | <%= link_to_attachments @page.attachments, :delete_url => (authorize_for('wiki', 'destroy_attachment') ? {:controller => 'wiki', :action => 'destroy_attachment', :page => @page.title} : nil) %> | |
29 |
|
25 |
@@ -346,6 +346,7 label_all_words: Всички думи | |||||
346 | label_wiki: Wiki |
|
346 | label_wiki: Wiki | |
347 | label_wiki_edit: Wiki редакция |
|
347 | label_wiki_edit: Wiki редакция | |
348 | label_wiki_edit_plural: Wiki редакции |
|
348 | label_wiki_edit_plural: Wiki редакции | |
|
349 | label_wiki_page: Wiki page | |||
349 | label_wiki_page_plural: Wiki pages |
|
350 | label_wiki_page_plural: Wiki pages | |
350 | label_page_index: Индекс |
|
351 | label_page_index: Индекс | |
351 | label_current_version: Текуща версия |
|
352 | label_current_version: Текуща версия |
@@ -346,6 +346,7 label_all_words: Alle Wörter | |||||
346 | label_wiki: Wiki |
|
346 | label_wiki: Wiki | |
347 | label_wiki_edit: Wiki Bearbeitung |
|
347 | label_wiki_edit: Wiki Bearbeitung | |
348 | label_wiki_edit_plural: Wiki Bearbeitungen |
|
348 | label_wiki_edit_plural: Wiki Bearbeitungen | |
|
349 | label_wiki_page: Wiki page | |||
349 | label_wiki_page_plural: Wiki pages |
|
350 | label_wiki_page_plural: Wiki pages | |
350 | label_page_index: Index |
|
351 | label_page_index: Index | |
351 | label_current_version: Gegenwärtige Version |
|
352 | label_current_version: Gegenwärtige Version |
@@ -346,6 +346,7 label_all_words: All words | |||||
346 | label_wiki: Wiki |
|
346 | label_wiki: Wiki | |
347 | label_wiki_edit: Wiki edit |
|
347 | label_wiki_edit: Wiki edit | |
348 | label_wiki_edit_plural: Wiki edits |
|
348 | label_wiki_edit_plural: Wiki edits | |
|
349 | label_wiki_page: Wiki page | |||
349 | label_wiki_page_plural: Wiki pages |
|
350 | label_wiki_page_plural: Wiki pages | |
350 | label_page_index: Index |
|
351 | label_page_index: Index | |
351 | label_current_version: Current version |
|
352 | label_current_version: Current version |
@@ -346,6 +346,7 label_all_words: Todas las palabras | |||||
346 | label_wiki: Wiki |
|
346 | label_wiki: Wiki | |
347 | label_wiki_edit: Wiki edit |
|
347 | label_wiki_edit: Wiki edit | |
348 | label_wiki_edit_plural: Wiki edits |
|
348 | label_wiki_edit_plural: Wiki edits | |
|
349 | label_wiki_page: Wiki page | |||
349 | label_wiki_page_plural: Wiki pages |
|
350 | label_wiki_page_plural: Wiki pages | |
350 | label_page_index: Índice |
|
351 | label_page_index: Índice | |
351 | label_current_version: Versión actual |
|
352 | label_current_version: Versión actual |
@@ -346,6 +346,7 label_all_words: Tous les mots | |||||
346 | label_wiki: Wiki |
|
346 | label_wiki: Wiki | |
347 | label_wiki_edit: Révision wiki |
|
347 | label_wiki_edit: Révision wiki | |
348 | label_wiki_edit_plural: Révisions wiki |
|
348 | label_wiki_edit_plural: Révisions wiki | |
|
349 | label_wiki_page: Page wiki | |||
349 | label_wiki_page_plural: Pages wiki |
|
350 | label_wiki_page_plural: Pages wiki | |
350 | label_page_index: Index |
|
351 | label_page_index: Index | |
351 | label_current_version: Version actuelle |
|
352 | label_current_version: Version actuelle |
@@ -346,6 +346,7 label_all_words: Tutte le parole | |||||
346 | label_wiki: Wiki |
|
346 | label_wiki: Wiki | |
347 | label_wiki_edit: Modifica Wiki |
|
347 | label_wiki_edit: Modifica Wiki | |
348 | label_wiki_edit_plural: Modfiche wiki |
|
348 | label_wiki_edit_plural: Modfiche wiki | |
|
349 | label_wiki_page: Wiki page | |||
349 | label_wiki_page_plural: Wiki pages |
|
350 | label_wiki_page_plural: Wiki pages | |
350 | label_page_index: Indice |
|
351 | label_page_index: Indice | |
351 | label_current_version: Versione corrente |
|
352 | label_current_version: Versione corrente |
@@ -347,6 +347,7 label_all_words: すべての単語 | |||||
347 | label_wiki: Wiki |
|
347 | label_wiki: Wiki | |
348 | label_wiki_edit: Wiki編集 |
|
348 | label_wiki_edit: Wiki編集 | |
349 | label_wiki_edit_plural: Wiki編集 |
|
349 | label_wiki_edit_plural: Wiki編集 | |
|
350 | label_wiki_page: Wiki page | |||
350 | label_wiki_page_plural: Wikiページ |
|
351 | label_wiki_page_plural: Wikiページ | |
351 | label_page_index: 索引 |
|
352 | label_page_index: 索引 | |
352 | label_current_version: 最新版 |
|
353 | label_current_version: 最新版 |
@@ -346,6 +346,7 label_all_words: Alle woorden | |||||
346 | label_wiki: Wiki |
|
346 | label_wiki: Wiki | |
347 | label_wiki_edit: Wiki edit |
|
347 | label_wiki_edit: Wiki edit | |
348 | label_wiki_edit_plural: Wiki edits |
|
348 | label_wiki_edit_plural: Wiki edits | |
|
349 | label_wiki_page: Wiki page | |||
349 | label_wiki_page_plural: Wiki pages |
|
350 | label_wiki_page_plural: Wiki pages | |
350 | label_page_index: Index |
|
351 | label_page_index: Index | |
351 | label_current_version: Huidige versie |
|
352 | label_current_version: Huidige versie |
@@ -346,6 +346,7 label_all_words: Todas as palavras | |||||
346 | label_wiki: Wiki |
|
346 | label_wiki: Wiki | |
347 | label_wiki_edit: Wiki edit |
|
347 | label_wiki_edit: Wiki edit | |
348 | label_wiki_edit_plural: Wiki edits |
|
348 | label_wiki_edit_plural: Wiki edits | |
|
349 | label_wiki_page: Wiki page | |||
349 | label_wiki_page_plural: Wiki pages |
|
350 | label_wiki_page_plural: Wiki pages | |
350 | label_page_index: Index |
|
351 | label_page_index: Index | |
351 | label_current_version: Versao atual |
|
352 | label_current_version: Versao atual |
@@ -346,6 +346,7 label_all_words: Todas as palavras | |||||
346 | label_wiki: Wiki |
|
346 | label_wiki: Wiki | |
347 | label_wiki_edit: Wiki edit |
|
347 | label_wiki_edit: Wiki edit | |
348 | label_wiki_edit_plural: Wiki edits |
|
348 | label_wiki_edit_plural: Wiki edits | |
|
349 | label_wiki_page: Wiki page | |||
349 | label_wiki_page_plural: Wiki pages |
|
350 | label_wiki_page_plural: Wiki pages | |
350 | label_page_index: Index |
|
351 | label_page_index: Index | |
351 | label_current_version: Versão atual |
|
352 | label_current_version: Versão atual |
@@ -346,6 +346,8 label_all_words: Alla ord | |||||
346 | label_wiki: Wiki |
|
346 | label_wiki: Wiki | |
347 | label_wiki_edit: Wiki editera |
|
347 | label_wiki_edit: Wiki editera | |
348 | label_wiki_edit_plural: Wiki editeringar |
|
348 | label_wiki_edit_plural: Wiki editeringar | |
|
349 | label_wiki_page: Wiki page | |||
|
350 | label_wiki_page_plural: Wiki pages | |||
349 | label_page_index: Index |
|
351 | label_page_index: Index | |
350 | label_current_version: Nuvarande version |
|
352 | label_current_version: Nuvarande version | |
351 | label_preview: Preview |
|
353 | label_preview: Preview |
General Comments 0
You need to be logged in to leave comments.
Login now