cforce / redmine_show_descriptions

Allows choosing whether to render the issues list without descriptions (original Redmine behavior) - or with complete issue descriptions along with the short headers (like Trac does).
BSD 3-Clause "New" or "Revised" License
6 stars 3 forks source link

Condense description display #4

Open arthur24b6 opened 12 years ago

arthur24b6 commented 12 years ago

I really like this functionality- it makes life much better for my project managers. I got a request to change the interface a bit- keep the description collapsed by default mostly. I think this could probably be configurable- not sure what you think but here's the hack that I did in _list.rhtml:

 <% order = cycle('odd', 'even') %>
    <tr id="issue-<%= issue.id %>" class="hascontextmenu <%= order %> <%= issue.css_classes %> <%= level > 0 ? "idnt idnt-#{level}" : nil %>">
      <td class="checkbox hide-when-print"><%= check_box_tag("ids[]", issue.id, false, :id => nil) %></td>
        <td class="id"><%= link_to issue.id, :controller => 'issues', :action => 'show', :id => issue %></td>
        <% query.columns.each do |column| %><%= content_tag 'td', column_content(column, issue), :class => column.name %><% end %>
    </tr>
  <% if @query.show_desc %>
    <tr class="description <%= order%> <%= issue.css_classes %> <%= level > 0 ? "idnt idnt-#{level}" : nil %>">
      <td colspan="<%= query.columns.size + 2 %>">
          <fieldset class="collapsible collapsed">
            <legend onclick="toggleFieldset(this);"><%= l(:field_description) %></legend>
            <div style="display: none;">
              <%=  textilizable issue, :description %>
            </div>
          </fieldset>
      </td>
    </tr>
  <% end -%>
cforce commented 12 years ago

For us it doesn not make sense to choose "show details" and the hide them. Ibn most cases you wanna have all information show for the filter you choose. Having to click them to see it after you already choose to see it doesn 't make sende for us. Then you can just chose "normal view" and click on item to show it. In both cases you have one click, yo if ur server is fast you won't have any advantage of this.

arthur24b6 commented 12 years ago

For us in most cases the full description makes it harder to to use the view- being able to quickly inspect the specific issue works better for our workflow.

I can rewrite it so that it has the full or hidden description option if you're interested

cforce commented 12 years ago

ok, but shall be default on show description > "not collapsed"

arthur24b6 commented 12 years ago

Sorry- I'm fairly new to ruby so this took me a bit of time. I did a bit more work to accommodate different needs for this. I committed this to my own repo figuring that you may or may not be interested in the changes. https://github.com/arthur24b6/redmine_show_descriptions

cforce commented 12 years ago

added german locale but your fork produces errors on redmine 1.3.3

de: label_rendering_parameter_plural: Darstellungsoptionen label_show_description_plural: Beschreibung anzeigen label_show_description_plural_none: Beschreibung nicht anzeigen label_show_description_plural_with_attachments: Beschreibung und Anhänge anzeigen label_show_description_collapsed: Beschreibung immer sofort anzeigen

ActionView::TemplateError (undefined method `show_desc_collapsed' for #Query:0x7ff84dce3a18) on line #11 of vendor/plugins/redmine_show_descriptions/app/views/queries/_custom_params.rhtml: 8: ] 9: %> 10: <%= select :query, :show_desc, options %> 11: <%= check_box :query, :show_desc_collapsed, {}, '1', '0' %><%= l(:label_show_description_collapsed) %>

vendor/plugins/redmine_show_descriptions/app/views/queries/_custom_params.rhtml:11:in `_run_rhtml_vendor47plugins47redmine_show_descriptions47app47views47queries47_custom_params46rhtml_locals_custom_params_object_query'
vendor/plugins/redmine_show_descriptions/app/views/issues/index.html.erb:34
vendor/plugins/redmine_show_descriptions/app/views/issues/index.html.erb:11
app/controllers/issues_controller.rb:92:in `index'
app/controllers/issues_controller.rb:91:in `index'
passenger (3.0.8) lib/phusion_passenger/rack/request_handler.rb:96:in `process_request'
passenger (3.0.8) lib/phusion_passenger/abstract_request_handler.rb:513:in `accept_and_process_next_request'
passenger (3.0.8) lib/phusion_passenger/abstract_request_handler.rb:274:in `main_loop'
passenger (3.0.8) lib/phusion_passenger/classic_rails/application_spawner.rb:321:in `start_request_handler'
passenger (3.0.8) lib/phusion_passenger/classic_rails/application_spawner.rb:275:in `send'
passenger (3.0.8) lib/phusion_passenger/classic_rails/application_spawner.rb:275:in `handle_spawn_application'
passenger (3.0.8) lib/phusion_passenger/utils.rb:479:in `safe_fork'
passenger (3.0.8) lib/phusion_passenger/classic_rails/application_spawner.rb:270:in `handle_spawn_application'
passenger (3.0.8) lib/phusion_passenger/abstract_server.rb:357:in `__send__'
passenger (3.0.8) lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
passenger (3.0.8) lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
passenger (3.0.8) lib/phusion_passenger/abstract_server.rb:180:in `start'
passenger (3.0.8) lib/phusion_passenger/classic_rails/application_spawner.rb:149:in `start'
passenger (3.0.8) lib/phusion_passenger/spawn_manager.rb:219:in `spawn_rails_application'
passenger (3.0.8) lib/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
passenger (3.0.8) lib/phusion_passenger/spawn_manager.rb:214:in `spawn_rails_application'
passenger (3.0.8) lib/phusion_passenger/abstract_server_collection.rb:82:in `synchronize'
passenger (3.0.8) lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
passenger (3.0.8) lib/phusion_passenger/spawn_manager.rb:213:in `spawn_rails_application'
passenger (3.0.8) lib/phusion_passenger/spawn_manager.rb:132:in `spawn_application'
passenger (3.0.8) lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
passenger (3.0.8) lib/phusion_passenger/abstract_server.rb:357:in `__send__'
passenger (3.0.8) lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
passenger (3.0.8) lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
passenger (3.0.8) helper-scripts/passenger-spawn-server:99