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