##// END OF EJS Templates
Added radio buttons on the documents list to sort documents by category, date, title or author....
Jean-Philippe Lang -
r866:d4e47d5d6498
parent child
Show More
@@ -188,7 +188,19 class ProjectsController < ApplicationController
188
188
189 # Show documents list of @project
189 # Show documents list of @project
190 def list_documents
190 def list_documents
191 @documents = @project.documents.find :all, :include => :category
191 @sort_by = %w(category date title author).include?(params[:sort_by]) ? params[:sort_by] : 'category'
192 documents = @project.documents.find :all, :include => [:attachments, :category]
193 case @sort_by
194 when 'date'
195 @grouped = documents.group_by {|d| d.created_on.to_date }
196 when 'title'
197 @grouped = documents.group_by {|d| d.title.first.upcase}
198 when 'author'
199 @grouped = documents.select{|d| d.attachments.any?}.group_by {|d| d.attachments.last.author}
200 else
201 @grouped = documents.group_by(&:category)
202 end
203 render :layout => false if request.xhr?
192 end
204 end
193
205
194 # Add a new issue to @project
206 # Add a new issue to @project
@@ -138,7 +138,7 module SortHelper
138 #
138 #
139 def sort_header_tag(column, options = {})
139 def sort_header_tag(column, options = {})
140 caption = options.delete(:caption) || titleize(Inflector::humanize(column))
140 caption = options.delete(:caption) || titleize(Inflector::humanize(column))
141 options[:title]= l(:label_sort_by, caption) unless options[:title]
141 options[:title]= l(:label_sort_by, "\"#{caption}\"") unless options[:title]
142 content_tag('th', sort_link(column, caption), options)
142 content_tag('th', sort_link(column, caption), options)
143 end
143 end
144
144
@@ -47,6 +47,10 class Enumeration < ActiveRecord::Base
47 Enumeration.update_all("is_default = #{connection.quoted_false}", {:opt => opt}) if is_default?
47 Enumeration.update_all("is_default = #{connection.quoted_false}", {:opt => opt}) if is_default?
48 end
48 end
49
49
50 def <=>(enumeration)
51 position <=> enumeration.position
52 end
53
50 def to_s; name end
54 def to_s; name end
51
55
52 private
56 private
@@ -19,12 +19,19
19
19
20 <h2><%=l(:label_document_plural)%></h2>
20 <h2><%=l(:label_document_plural)%></h2>
21
21
22 <% if @documents.empty? %>
22 <% if @grouped.empty? %><p class="nodata"><%= l(:label_no_data) %></p><% end %>
23 <p class="nodata"><%= l(:label_no_data) %></p>
23
24 <% @grouped.keys.sort.each do |group| %>
25 <h3><%= group %></h3>
26 <%= render :partial => 'documents/document', :collection => @grouped[group] %>
24 <% end %>
27 <% end %>
25
28
26 <% documents = @documents.group_by {|d| d.category } %>
29 <% content_for :sidebar do %>
27 <% documents.each do |category, docs| %>
30 <h3><%= l(:label_sort_by, '') %></h3>
28 <h3><%= category.name %></h3>
31 <% form_tag({}, :method => :get) do %>
29 <%= render :partial => 'documents/document', :collection => docs %>
32 <label><%= radio_button_tag 'sort_by', 'category', (@sort_by == 'category'), :onclick => 'this.form.submit();' %> <%= l(:field_category) %></label><br />
30 <% end %> No newline at end of file
33 <label><%= radio_button_tag 'sort_by', 'date', (@sort_by == 'date'), :onclick => 'this.form.submit();' %> <%= l(:label_date) %></label><br />
34 <label><%= radio_button_tag 'sort_by', 'title', (@sort_by == 'title'), :onclick => 'this.form.submit();' %> <%= l(:field_title) %></label><br />
35 <label><%= radio_button_tag 'sort_by', 'author', (@sort_by == 'author'), :onclick => 'this.form.submit();' %> <%= l(:field_author) %></label>
36 <% end %>
37 <% end %>
@@ -416,7 +416,7 label_week: Седмица
416 label_date_from: От
416 label_date_from: От
417 label_date_to: До
417 label_date_to: До
418 label_language_based: В зависимост от езика
418 label_language_based: В зависимост от езика
419 label_sort_by: Sort by "%s"
419 label_sort_by: Sort by %s
420 label_send_test_email: Изпращане на тестов e-mail
420 label_send_test_email: Изпращане на тестов e-mail
421 label_feeds_access_key_created_on: %s от създаването на RSS ключа
421 label_feeds_access_key_created_on: %s от създаването на RSS ключа
422 label_module_plural: Модули
422 label_module_plural: Модули
@@ -414,7 +414,7 label_week: Týden
414 label_date_from: Od
414 label_date_from: Od
415 label_date_to: Do
415 label_date_to: Do
416 label_language_based: Language based
416 label_language_based: Language based
417 label_sort_by: Seřadit podle "%s"
417 label_sort_by: Seřadit podle %s
418 label_send_test_email: Poslat testovací email
418 label_send_test_email: Poslat testovací email
419 label_feeds_access_key_created_on: Přístupový klíč pro RSS byl vytvořen před %s
419 label_feeds_access_key_created_on: Přístupový klíč pro RSS byl vytvořen před %s
420
420
@@ -416,7 +416,7 label_week: Woche
416 label_date_from: Von
416 label_date_from: Von
417 label_date_to: Bis
417 label_date_to: Bis
418 label_language_based: Sprachabhängig
418 label_language_based: Sprachabhängig
419 label_sort_by: Sortiert nach "%s"
419 label_sort_by: Sortiert nach %s
420 label_send_test_email: Test-E-Mail senden
420 label_send_test_email: Test-E-Mail senden
421 label_feeds_access_key_created_on: RSS-Zugriffsschlüssel vor %s erstellt
421 label_feeds_access_key_created_on: RSS-Zugriffsschlüssel vor %s erstellt
422 label_module_plural: Module
422 label_module_plural: Module
@@ -427,7 +427,7 label_week: Week
427 label_date_from: From
427 label_date_from: From
428 label_date_to: To
428 label_date_to: To
429 label_language_based: Language based
429 label_language_based: Language based
430 label_sort_by: Sort by "%s"
430 label_sort_by: Sort by %s
431 label_send_test_email: Send a test email
431 label_send_test_email: Send a test email
432 label_feeds_access_key_created_on: RSS access key created %s ago
432 label_feeds_access_key_created_on: RSS access key created %s ago
433 label_module_plural: Modules
433 label_module_plural: Modules
@@ -501,7 +501,7 label_this_week: this week
501 label_index_by_title: Index by title
501 label_index_by_title: Index by title
502 label_jump_to_a_project: Jump to a project...
502 label_jump_to_a_project: Jump to a project...
503 field_assignable: Issues can be assigned to this role
503 field_assignable: Issues can be assigned to this role
504 label_sort_by: Sort by "%s"
504 label_sort_by: Sort by %s
505 setting_issue_list_default_columns: Default columns displayed on the issue list
505 setting_issue_list_default_columns: Default columns displayed on the issue list
506 text_issue_updated: Issue %s has been updated.
506 text_issue_updated: Issue %s has been updated.
507 notice_feeds_access_key_reseted: Your RSS access key was reseted.
507 notice_feeds_access_key_reseted: Your RSS access key was reseted.
@@ -427,7 +427,7 label_week: Semaine
427 label_date_from: Du
427 label_date_from: Du
428 label_date_to: Au
428 label_date_to: Au
429 label_language_based: Basé sur la langue
429 label_language_based: Basé sur la langue
430 label_sort_by: Trier par "%s"
430 label_sort_by: Trier par %s
431 label_send_test_email: Envoyer un email de test
431 label_send_test_email: Envoyer un email de test
432 label_feeds_access_key_created_on: Clé d'accès RSS créée il y a %s
432 label_feeds_access_key_created_on: Clé d'accès RSS créée il y a %s
433 label_module_plural: Modules
433 label_module_plural: Modules
@@ -421,7 +421,7 label_week: שבו
421 label_date_from: מאת
421 label_date_from: מאת
422 label_date_to: אל
422 label_date_to: אל
423 label_language_based: מבוסס שפה
423 label_language_based: מבוסס שפה
424 label_sort_by: מין לפי "%s"
424 label_sort_by: מין לפי %s
425 label_send_test_email: שלח דו"ל בדיקה
425 label_send_test_email: שלח דו"ל בדיקה
426 label_feeds_access_key_created_on: מפתח הזנת RSS נוצר לפני%s
426 label_feeds_access_key_created_on: מפתח הזנת RSS נוצר לפני%s
427 label_module_plural: מודולים
427 label_module_plural: מודולים
@@ -416,7 +416,7 label_week: Week
416 label_date_from: From
416 label_date_from: From
417 label_date_to: To
417 label_date_to: To
418 label_language_based: Language based
418 label_language_based: Language based
419 label_sort_by: Sort by "%s"
419 label_sort_by: Sort by %s
420 label_send_test_email: Send a test email
420 label_send_test_email: Send a test email
421 label_feeds_access_key_created_on: RSS access key created %s ago
421 label_feeds_access_key_created_on: RSS access key created %s ago
422 label_module_plural: Modules
422 label_module_plural: Modules
@@ -417,7 +417,7 label_week: Week
417 label_date_from: From
417 label_date_from: From
418 label_date_to: To
418 label_date_to: To
419 label_language_based: 既定の言語の設定に従う
419 label_language_based: 既定の言語の設定に従う
420 label_sort_by: Sort by "%s"
420 label_sort_by: Sort by %s
421 label_send_test_email: テストメールを送信
421 label_send_test_email: テストメールを送信
422 label_feeds_access_key_created_on: RSS access key created %s ago
422 label_feeds_access_key_created_on: RSS access key created %s ago
423 label_module_plural: Modules
423 label_module_plural: Modules
@@ -423,7 +423,7 label_week: 주
423 label_date_from: From
423 label_date_from: From
424 label_date_to: To
424 label_date_to: To
425 label_language_based: Language based
425 label_language_based: Language based
426 label_sort_by: Sort by "%s"
426 label_sort_by: Sort by %s
427 label_send_test_email: Send a test email
427 label_send_test_email: Send a test email
428 label_feeds_access_key_created_on: RSS access key created %s ago
428 label_feeds_access_key_created_on: RSS access key created %s ago
429 label_module_plural: Modules
429 label_module_plural: Modules
@@ -416,7 +416,7 label_week: Week
416 label_date_from: From
416 label_date_from: From
417 label_date_to: To
417 label_date_to: To
418 label_language_based: Language based
418 label_language_based: Language based
419 label_sort_by: Sort by "%s"
419 label_sort_by: Sort by %s
420 label_send_test_email: Send a test email
420 label_send_test_email: Send a test email
421 label_feeds_access_key_created_on: RSS access key created %s ago
421 label_feeds_access_key_created_on: RSS access key created %s ago
422 label_module_plural: Modules
422 label_module_plural: Modules
@@ -497,7 +497,7 label_module_plural: Moduły
497 label_this_week: ten tydzień
497 label_this_week: ten tydzień
498 label_jump_to_a_project: Skocz do projektu...
498 label_jump_to_a_project: Skocz do projektu...
499 field_assignable: Zgłoszenia mogą być przypisane do tej roli
499 field_assignable: Zgłoszenia mogą być przypisane do tej roli
500 label_sort_by: Sortuj po "%s"
500 label_sort_by: Sortuj po %s
501 text_issue_updated: Zgłoszenie %s zostało zaktualizowane.
501 text_issue_updated: Zgłoszenie %s zostało zaktualizowane.
502 notice_feeds_access_key_reseted: Twój klucz dostępu RSS został zrestetowany.
502 notice_feeds_access_key_reseted: Twój klucz dostępu RSS został zrestetowany.
503 field_redirect_existing_links: Przekierowanie istniejących odnośników
503 field_redirect_existing_links: Przekierowanie istniejących odnośników
@@ -416,7 +416,7 label_week: Week
416 label_date_from: From
416 label_date_from: From
417 label_date_to: To
417 label_date_to: To
418 label_language_based: Language based
418 label_language_based: Language based
419 label_sort_by: Sort by "%s"
419 label_sort_by: Sort by %s
420 label_send_test_email: Send a test email
420 label_send_test_email: Send a test email
421 label_feeds_access_key_created_on: RSS access key created %s ago
421 label_feeds_access_key_created_on: RSS access key created %s ago
422 label_module_plural: Modules
422 label_module_plural: Modules
@@ -416,7 +416,7 label_week: Week
416 label_date_from: From
416 label_date_from: From
417 label_date_to: To
417 label_date_to: To
418 label_language_based: Language based
418 label_language_based: Language based
419 label_sort_by: Sort by "%s"
419 label_sort_by: Sort by %s
420 label_send_test_email: Send a test email
420 label_send_test_email: Send a test email
421 label_feeds_access_key_created_on: RSS access key created %s ago
421 label_feeds_access_key_created_on: RSS access key created %s ago
422 label_module_plural: Modules
422 label_module_plural: Modules
@@ -414,7 +414,7 label_week: Saptamana
414 label_date_from: De la
414 label_date_from: De la
415 label_date_to: Pentru
415 label_date_to: Pentru
416 label_language_based: Bazat pe limbaj
416 label_language_based: Bazat pe limbaj
417 label_sort_by: Sortare dupa "%s"
417 label_sort_by: Sortare dupa %s
418 label_send_test_email: trimite un e-mail de test
418 label_send_test_email: trimite un e-mail de test
419 label_feeds_access_key_created_on: Parola de acces RSS creat cu %s mai devreme
419 label_feeds_access_key_created_on: Parola de acces RSS creat cu %s mai devreme
420 label_module_plural: Module
420 label_module_plural: Module
@@ -426,7 +426,7 label_week: Nedelja
426 label_date_from: Od
426 label_date_from: Od
427 label_date_to: Do
427 label_date_to: Do
428 label_language_based: Bazirano na jeziku
428 label_language_based: Bazirano na jeziku
429 label_sort_by: Sortiraj po "%s"
429 label_sort_by: Sortiraj po %s
430 label_send_test_email: Pošalji probni email
430 label_send_test_email: Pošalji probni email
431 label_feeds_access_key_created_on: RSS ključ za pristup je kreiran pre %s
431 label_feeds_access_key_created_on: RSS ključ za pristup je kreiran pre %s
432 label_module_plural: Modulovi
432 label_module_plural: Modulovi
@@ -416,7 +416,7 label_week: Week
416 label_date_from: From
416 label_date_from: From
417 label_date_to: To
417 label_date_to: To
418 label_language_based: Language based
418 label_language_based: Language based
419 label_sort_by: Sort by "%s"
419 label_sort_by: Sort by %s
420 label_send_test_email: Send a test email
420 label_send_test_email: Send a test email
421 label_feeds_access_key_created_on: RSS access key created %s ago
421 label_feeds_access_key_created_on: RSS access key created %s ago
422 label_module_plural: Modules
422 label_module_plural: Modules
@@ -418,7 +418,7 label_week: Week
418 label_date_from: From
418 label_date_from: From
419 label_date_to: To
419 label_date_to: To
420 label_language_based: Language based
420 label_language_based: Language based
421 label_sort_by: Sort by "%s"
421 label_sort_by: Sort by %s
422 label_send_test_email: Send a test email
422 label_send_test_email: Send a test email
423 label_feeds_access_key_created_on: RSS access key created %s ago
423 label_feeds_access_key_created_on: RSS access key created %s ago
424 label_module_plural: Modules
424 label_module_plural: Modules
General Comments 0
You need to be logged in to leave comments. Login now