= Support for Pending Tickets = == Description == The intent of this is to allow an administrator to mark a Ticket as "Pending" to indicate that information has been requested from the reporter. If the reporter doesn't reply with in the allotted timeframe, the ticket will automatically be closed. This works well when combined with the SimpleTicketPlugin. == Bugs/Feature Requests == Existing bugs and feature requests for PendingTicketPlugin are [report:9?COMPONENT=PendingTicketPlugin here]. If you have any issues, create a [http://trac-hacks.org/newticket?component=PendingTicketPlugin&owner=datallah new ticket]. == Download == Download the zipped source from [download:pendingticketplugin here]. == Source == You can check out PendingTicketPlugin from [http://trac-hacks.org/svn/pendingticketplugin here] using Subversion, or [source:pendingticketplugin browse the source] with Trac. == Example == === For Trac 0.11 === If upgrading from 0.10, you'll need to convert the data using the `migrate_pending_attrib_to_status.py /path/to/tracenv` script which is included. Set up your ticket workflow to include a 'pending' status (see the following example): {{{ [ticket-workflow] pending = new -> pending pending.permissions = TICKET_MODIFY }}} Specify a status for tickets to be moved to {{{ [ticket] pending_removal_status = new }}} Install the !PendingStatusRemovePlugin to have the pending flag automatically removed when the reporter responds. {{{ setup.py bdist_egg cp dist/RemovePendingStatusPlugin-x-y-z-py2.4.egg $TRAC_ENV/plugins }}} You'll also need to enable the Plugin in your `trac.ini` file: {{{ [components] removepending.* = enabled }}} To enable the automatic closing of tickets, you'll need to set up a script to be run by cron. Mine looks like this:[[BR]] {{{ #! /bin/bash TRAC_ENV=/somewhere/trac/project SCRIPT_DIR=$TRAC_ENV/localscripts LOGFILE=$SCRIPT_DIR/close_old_pending.log date >> $LOGFILE python $SCRIPT_DIR/close_old_pending.py -p $TRAC_ENV -d 14 >> $LOGFILE 2>&1 }}} === For Trac 0.10 === Add a custom ticket field to your `trac.ini` file: {{{ [ticket-custom] pending = checkbox pending.label = Pending pending.value = 0 }}} If you're using the SimpleTicketPlugin, you may want to hide it: {{{ [simpleticket] hide = pending }}} Install the !PendingStatusRemovePlugin to have the pending flag automatically removed when the reporter responds. {{{ setup.py bdist_egg cp dist/RemovePendingStatusPlugin-x-y-z-py2.4.egg $TRAC_ENV/plugins }}} You'll also need to enable the Plugin in your `trac.ini` file: {{{ [components] removepending.* = enabled }}} To enable the automatic closing of tickets, you'll need to set up a script to be run by cron. Mine looks like this:[[BR]] {{{ #! /bin/bash TRAC_ENV=/somewhere/trac/project SCRIPT_DIR=$TRAC_ENV/localscripts LOGFILE=$SCRIPT_DIR/close_old_pending.log TRAC_URL=http://trac.mysite.com/project date >> $LOGFILE python $SCRIPT_DIR/close_old_pending.py -p $TRAC_ENV -d 14 -s $TRAC_URL >> $LOGFILE 2>&1 }}} == Recent Changes == [[ChangeLog(pendingticketplugin, 3)]] == Author/Contributors == '''Author:''' [wiki:datallah] [[BR]] '''Contributors:'''