Git Product home page Git Product logo

redmine_show_descriptions's Introduction

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. Control the mode through Issues - Options - Rendering parameters - Show descriptions checkbox.

Credits: Authors: Alexander Poplavsky ([email protected]), Pavel Vinokurov ([email protected]) Inspired by a Trac feature (trac.edgewall.org/) Work sponsored by Axmor Software (www.axmor.com)

ChangeLog Fixed:(Thanks Terence Mill)

  1. when click apply button twice, the issue list would lost the issue information in the list

  2. check_box error.

Feature:

  1. Added the ZH.yml translation.

redmine_show_descriptions's People

Contributors

cforce avatar rweng avatar grayside avatar

Stargazers

Steven.W avatar Gonzalo Fernández-Victorio avatar  avatar  avatar  avatar Roberto Viola avatar

Watchers

Steven.W avatar  avatar

redmine_show_descriptions's Issues

Condense description display

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 -%>

The Plugin (breaks Rest-API

The original Plugin (0.0.4 Repack) breaks Rest-API. If installed its mo more usable. See issue http://www.redmine.org/issues/8883
It seems that the cause is code in redmine_show_descriptions/app/views/issues/index.rhtml.
The plugin is using hooks and partial rendering of templates, which templates are searched at the wrong place. Means that its searches them in path of other plugins first (or only) instead of core views, which results that there is no view representation renderable for REST/XML Mimetype (view.erb but only view.html.erb is found)

There are two lines in code which cause the problems that cause errors in rest api, e.g calling http://myredminesrv.org/issues.xml woN't return xml but Internal error 500 (ActionView::TemplateError (Missing template ...)

  • view_issues_index_bottom
    line 69:
     <%= call_hook(:view_issues_index_bottom, { :issues => @issues, :project => @project, :query => @query }) %>
    )
    

causes following error ..

F, [2011-12-13T14:39:04.542091 #23568] FATAL -- : 
ActionView::TemplateError (Missing template hooks/redmine_spent_time_column/_view_issues_index_bottom.erb in view path vendor/plugins/projects_tree_view/app/views:vendor/plugins/question_plugin/app/views:vendor/plugins/redmics/app/views:vendor/plugins/redmine-system-notification-plugin/app/views:vendor/plugins/redmine_assets_plugin/app/views:vendor/plugins/redmine_blocks_layout/app/views:vendor/plugins/redmine_boards_watchers/app/views:vendor/plugins/redmine_cc_addresses/app/views:vendor/plugins/redmine_charts/app/views:vendor/plugins/redmine_checkout/app/views:vendor/plugins/redmine_code_review/app/views:vendor/plugins/redmine_digest/app/views:vendor/plugins/redmine_favourite_projects/app/views:vendor/plugins/redmine_goyello_stuff_to_do/app/views:vendor/plugins/redmine_graphs/app/views:vendor/plugins/redmine_hudson/app/views:vendor/plugins/redmine_importer/app/views:vendor/plugins/redmine_issue_history/app/views:vendor/plugins/redmine_last_messages/app/views:vendor/plugins/redmine_ldap_sync/app/views:vendor/plugins/redmine_lightbox/app/views:vendor/plugins/redmine_loader/app/views:vendor/plugins/redmine_local_avatars/app/views:vendor/plugins/redmine_logs/app/views:vendor/plugins/redmine_meetings/app/views:vendor/plugins/redmine_my_widgets/app/views:vendor/plugins/redmine_mylyn_connector/app/views:vendor/plugins/redmine_opensearch/app/views:vendor/plugins/redmine_pastebin/app/views:vendor/plugins/redmine_polls/app/views:vendor/plugins/redmine_screenshot_paste/app/views:vendor/plugins/redmine_scrumdashboard/app/views:vendor/plugins/redmine_show_descriptions/app/views:vendor/plugins/redmine_tags/app/views:vendor/plugins/redmine_thumbnails/app/views:vendor/plugins/redmine_time_tracker/app/views:vendor/plugins/redmine_user_status/app/views:vendor/plugins/redmine_vote/app/views:vendor/plugins/redmine_webdav/app/views:vendor/plugins/redmine_wiki_extensions/app/views:vendor/plugins/redmine_workflow_viz/app/views:vendor/plugins/redmine_xapian/app/views:vendor/plugins/redmine_xls_export/app/views:vendor/plugins/redmine_spent_time_column/app/views:app/views) on line #68 of vendor/plugins/redmine_show_descriptions/app/views/issues/index.rhtml:
65: <% end %>
66: 
67: <% end %>
68: <%= call_hook(:view_issues_index_bottom, { :issues => @issues, :project => @project, :query => @query }) %>
69: 
70: <% content_for :sidebar do %>
71:     <%= render :partial => 'issues/sidebar' %>

    lib/redmine/hook.rb:113:in `send'
    lib/redmine/hook.rb:113:in `view_issues_index_bottom'
    lib/redmine/hook.rb:63:in `send'
    lib/redmine/hook.rb:63:in `call_hook'
    lib/redmine/hook.rb:63:in `each'
    lib/redmine/hook.rb:63:in `call_hook'
    lib/redmine/hook.rb:60:in `tap'
    lib/redmine/hook.rb:60:in `call_hook'
    lib/redmine/hook.rb:144:in `call_hook'
    vendor/plugins/redmine_show_descriptions/app/views/issues/index.rhtml:68:in `_run_rhtml_vendor47plugins47redmine_show_descriptions47app47views47issues47index46rhtml'
    app/controllers/issues_controller.rb:91:in `index_without_xls_export'
    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

I, [2011-12-13T14:39:04.542547 #23568]  INFO -- : Rendering /opt/redmine-1.2.1d3/public/500.html (500 Internal Server Error)

I copied redmine /vendor/plugins/redmine_spent_time_column/app/views/hooks/redmine_spent_time_column/_view_issues_index_bottom.html.erb to _view_issues_index_bottom.erb and the error was gone.

Then the next line made a problem..

  • render :partial => 'issues/sidebar'

line 70

<% content_for :sidebar do %>
    <%= render :partial => 'issues/sidebar' %>
<% end %>
ActionView::TemplateError (Missing template issues/_tags_sidebar.erb in view path vendor/plugins/projects_tree_view/app/views:vendor/plugins/question_plugin/app/views:vendor/plugins/redmics/app/views:vendor/plugins/redmine-system-notification-plugin/app/views:vendor/plugins/redmine_assets_plugin/app/views:vendor/plugins/redmine_blocks_layout/app/views:vendor/plugins/redmine_boards_watchers/app/views:vendor/plugins/redmine_cc_addresses/app/views:vendor/plugins/redmine_charts/app/views:vendor/plugins/redmine_checkout/app/views:vendor/plugins/redmine_code_review/app/views:vendor/plugins/redmine_digest/app/views:vendor/plugins/redmine_favourite_projects/app/views:vendor/plugins/redmine_goyello_stuff_to_do/app/views:vendor/plugins/redmine_graphs/app/views:vendor/plugins/redmine_hudson/app/views:vendor/plugins/redmine_importer/app/views:vendor/plugins/redmine_issue_history/app/views:vendor/plugins/redmine_last_messages/app/views:vendor/plugins/redmine_ldap_sync/app/views:vendor/plugins/redmine_lightbox/app/views:vendor/plugins/redmine_loader/app/views:vendor/plugins/redmine_local_avatars/app/views:vendor/plugins/redmine_logs/app/views:vendor/plugins/redmine_meetings/app/views:vendor/plugins/redmine_my_widgets/app/views:vendor/plugins/redmine_mylyn_connector/app/views:vendor/plugins/redmine_opensearch/app/views:vendor/plugins/redmine_pastebin/app/views:vendor/plugins/redmine_polls/app/views:vendor/plugins/redmine_screenshot_paste/app/views:vendor/plugins/redmine_scrumdashboard/app/views:vendor/plugins/redmine_tags/app/views:vendor/plugins/redmine_thumbnails/app/views:vendor/plugins/redmine_time_tracker/app/views:vendor/plugins/redmine_user_status/app/views:vendor/plugins/redmine_vote/app/views:vendor/plugins/redmine_webdav/app/views:vendor/plugins/redmine_wiki_extensions/app/views:vendor/plugins/redmine_workflow_viz/app/views:vendor/plugins/redmine_xapian/app/views:vendor/plugins/redmine_xls_export/app/views:vendor/plugins/redmine_spent_time_column/app/views:vendor/plugins/redmine_show_descriptions/app/views:app/views) on line #14 of app/views/issues/_sidebar.rhtml:
11: <% if User.current.allowed_to?(:view_gantt, @project, :global => true) %>
12:     <%= link_to(l(:label_gantt), :controller => 'gantts', :action => 'show', :project_id => @project) %>
13: <% end %> 14: <%= call_hook(:view_issues_sidebar_planning_bottom) %> 15: 16: <%= render_sidebar_queries %> 17: <%= call_hook(:view_issues_sidebar_queries_bottom) %> lib/redmine/hook.rb:113:in `send' lib/redmine/hook.rb:113:in `view_issues_sidebar_planning_bottom' lib/redmine/hook.rb:63:in `send' lib/redmine/hook.rb:63:in `call_hook' lib/redmine/hook.rb:63:in `each' lib/redmine/hook.rb:63:in `call_hook' lib/redmine/hook.rb:60:in `tap' lib/redmine/hook.rb:60:in `call_hook' lib/redmine/hook.rb:144:in `call_hook' app/views/issues/_sidebar.rhtml:14:in `_run_rhtml_app47views47issues47_sidebar46rhtml_locals_object_sidebar' vendor/plugins/redmine_show_descriptions/app/views/issues/index.rhtml:71:in `_run_rhtml_vendor47plugins47redmine_show_descriptions47app47views47issues47index46rhtml' app/helpers/application_helper.rb:868:in `content_for' vendor/plugins/redmine_show_descriptions/app/views/issues/index.rhtml:70:in `_run_rhtml_vendor47plugins47redmine_show_descriptions47app47views47issues47index46rhtml' app/controllers/issues_controller.rb:91:in `index_without_xls_export' 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

Seems as the redmine_tags plugin redner its own sidebar and this has no representation for xml/rest.
How can a plugin in general only overide/extend rendering for html but fall back to core view rendering when xml/json is reqquested.

Problem with redmine_xls_export plugin

Workaround:

There is a problem when with redmine_xls_export which can be worked around if order in redmine/config/environment.rb is set to:
config.plugins = [ :all, :redmine_xls_export, :redmine_spent_time_column]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.