Coder Social home page Coder Social logo

redmine-forced's Introduction

= forced

Do you follow Joel Spolsky's bug workflow Are bug reporters not fulfilling their side of the bargain? Are bugs being marked fixed and not being closed?

This is a redmine plugin that checks whether the number of issues matching an existing redmine issue query exceeds a limit.

Forced users to update or close issues by preventing creation of issues or changes to issues if there are too many issues in a query. Admins have the option to choose queries that should be analyzed before saving an issue (ie. Issues created by current user that are marked fixed but not closed that are of high priority). Only queries involving a user will be shown. If the number of issues exceeds that limit, issue creation is prevented.

If you have any comments or suggestions, feel free to contact me at [email protected].

redmine-forced's People

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

s19n

redmine-forced's Issues

Undefined method `each_with_index' for nil:NilClass

When the plugin is installed but no queries are configured Redmine issues a "500 Internal server error" while trying to create a new issue and the following is printed in the logs:

NoMethodError (undefined method `each_with_index' for nil:NilClass):
  plugins/forced/lib/forced_hook_listener.rb:22:in `check_if_at_issue_limit'
  /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:517:in `_run__751264404811289611__process_action__1086409361635201518__callbacks'
  /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:405:in `__run_callback'
  /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
  /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:81:in `run_callbacks'
  /usr/lib/ruby/vendor_ruby/abstract_controller/callbacks.rb:17:in `process_action'
  /usr/lib/ruby/vendor_ruby/action_controller/metal/rescue.rb:29:in `process_action'
  /usr/lib/ruby/vendor_ruby/action_controller/metal/instrumentation.rb:30:in `block in process_action'
  /usr/lib/ruby/vendor_ruby/active_support/notifications.rb:123:in `block in instrument'
  /usr/lib/ruby/vendor_ruby/active_support/notifications/instrumenter.rb:20:in `instrument'
  /usr/lib/ruby/vendor_ruby/active_support/notifications.rb:123:in `instrument'
  /usr/lib/ruby/vendor_ruby/action_controller/metal/instrumentation.rb:29:in `process_action'
  /usr/lib/ruby/vendor_ruby/action_controller/metal/params_wrapper.rb:207:in `process_action'
  /usr/lib/ruby/vendor_ruby/active_record/railties/controller_runtime.rb:18:in `process_action'
  /usr/lib/ruby/vendor_ruby/abstract_controller/base.rb:121:in `process'
  /usr/lib/ruby/vendor_ruby/abstract_controller/rendering.rb:45:in `process'
  /usr/lib/ruby/vendor_ruby/action_controller/metal.rb:203:in `dispatch'
  /usr/lib/ruby/vendor_ruby/action_controller/metal/rack_delegation.rb:14:in `dispatch'
  /usr/lib/ruby/vendor_ruby/action_controller/metal.rb:246:in `block in action'
  /usr/lib/ruby/vendor_ruby/action_dispatch/routing/route_set.rb:73:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/routing/route_set.rb:73:in `dispatch'
  /usr/lib/ruby/vendor_ruby/action_dispatch/routing/route_set.rb:36:in `call'
  /usr/lib/ruby/vendor_ruby/journey/router.rb:68:in `block in call'
  /usr/lib/ruby/vendor_ruby/journey/router.rb:56:in `each'
  /usr/lib/ruby/vendor_ruby/journey/router.rb:56:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/routing/route_set.rb:608:in `call'
  /usr/lib/ruby/vendor_ruby/rack/openid.rb:98:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/best_standards_support.rb:17:in `call'
  /usr/lib/ruby/vendor_ruby/rack/etag.rb:23:in `call'
  /usr/lib/ruby/vendor_ruby/rack/conditionalget.rb:25:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/head.rb:14:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/params_parser.rb:21:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/flash.rb:242:in `call'
  /usr/lib/ruby/vendor_ruby/rack/session/abstract/id.rb:210:in `context'
  /usr/lib/ruby/vendor_ruby/rack/session/abstract/id.rb:205:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/cookies.rb:341:in `call'
  /usr/lib/ruby/vendor_ruby/active_record/query_cache.rb:64:in `call'
  /usr/lib/ruby/vendor_ruby/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/callbacks.rb:28:in `block in call'
  /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:405:in `_run__3210642368234699451__call__480468053672424795__callbacks'
  /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:405:in `__run_callback'
  /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:385:in `_run_call_callbacks'
  /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:81:in `run_callbacks'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/callbacks.rb:27:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/remote_ip.rb:31:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/show_exceptions.rb:56:in `call'
  /usr/lib/ruby/vendor_ruby/rails/rack/logger.rb:32:in `call_app'
  /usr/lib/ruby/vendor_ruby/rails/rack/logger.rb:16:in `block in call'
  /usr/lib/ruby/vendor_ruby/active_support/tagged_logging.rb:22:in `tagged'
  /usr/lib/ruby/vendor_ruby/rails/rack/logger.rb:16:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/request_id.rb:22:in `call'
  /usr/lib/ruby/vendor_ruby/rack/methodoverride.rb:21:in `call'
  /usr/lib/ruby/vendor_ruby/rack/runtime.rb:17:in `call'
  /usr/lib/ruby/vendor_ruby/active_support/cache/strategy/local_cache.rb:72:in `call'
  /usr/lib/ruby/vendor_ruby/rack/lock.rb:15:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/static.rb:63:in `call'
  /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:136:in `forward'
  /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:245:in `fetch'
  /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:185:in `lookup'
  /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:66:in `call!'
  /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:51:in `call'
  /usr/lib/ruby/vendor_ruby/rails/engine.rb:484:in `call'
  /usr/lib/ruby/vendor_ruby/rails/application.rb:231:in `call'
  /usr/lib/ruby/vendor_ruby/rails/railtie/configurable.rb:30:in `method_missing'
  /usr/lib/ruby/vendor_ruby/thin/connection.rb:80:in `block in pre_process'
  /usr/lib/ruby/vendor_ruby/thin/connection.rb:78:in `catch'
  /usr/lib/ruby/vendor_ruby/thin/connection.rb:78:in `pre_process'
  /usr/lib/ruby/vendor_ruby/thin/connection.rb:53:in `process'
  /usr/lib/ruby/vendor_ruby/thin/connection.rb:38:in `receive_data'
  /usr/lib/ruby/vendor_ruby/eventmachine.rb:187:in `run_machine'
  /usr/lib/ruby/vendor_ruby/eventmachine.rb:187:in `run'
  /usr/lib/ruby/vendor_ruby/thin/backends/base.rb:61:in `start'
  /usr/lib/ruby/vendor_ruby/thin/server.rb:159:in `start'
  /usr/lib/ruby/vendor_ruby/thin/controllers/controller.rb:86:in `start'
  /usr/lib/ruby/vendor_ruby/thin/runner.rb:185:in `run_command'
  /usr/lib/ruby/vendor_ruby/thin/runner.rb:151:in `run!'
  /usr/bin/thin:6:in `<main>'

Using Redmine 2.5.1, ruby 2.0.0p384 and thin 1.3.1.

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.