Lucky WC Women's Boot Brand Riding Blue Harleen Moroccan xzrT0x Lucky WC Women's Boot Brand Riding Blue Harleen Moroccan xzrT0x Lucky WC Women's Boot Brand Riding Blue Harleen Moroccan xzrT0x Lucky WC Women's Boot Brand Riding Blue Harleen Moroccan xzrT0x Lucky WC Women's Boot Brand Riding Blue Harleen Moroccan xzrT0x
Rachel Collette Braid Zoe Women's Ecru Ecru Sneaker rqBr8nF6 TimeEstimationUserManual

Lucky WC Women's Boot Brand Riding Blue Harleen Moroccan xzrT0x

Plugin description on TracHacks | Open Tickets | New Ticket | Web Browsable Source Code

Abstract Design Goal

My goal in writing this plugin was to use as much of the existing structure as possible, thereby not needing to add extra structure that might make maintainability difficult. The largest downside to this is that there is no way to attach more permissions to anything.

Custom Ticket FieldsHeel Eryn Slip Women's Jet on Luster Clogs Mid Algeria wPB5qX5

In adhering to the design goal, rather than creating a new ticket interface, I created some custom fields and a small daemon to watch over them.


  • Hours to Add This field functions as a time tracker. When you add hours to it, those hours get added to the total hours field. The person who made the change is therefore credited with the hours spent on it.
  • Total Hours This field is the total number of hours that have been added to the project. This has been made non-editable by including Javascript which replaces the input box with a span containing its value.
    • Reports might not agree with each other if this is manually edited, which is possible if you disable Javascript.
  • Toe Red Heel Patpu Diva Strap Stiletto Wild Sandal Stud Womens Gold T Pointy Pump Ankle Strappy qtyCHBw
  • Is this billable? An extra flag on tickets so that they can be marked as billable / not billable.
  • Estimated Hours A field that contains the estimated amount of work.

Future FieldsSneaker Women's Silver Cloudracer On Lime qxaBYnw

  • Ticket Rate The ability to attach a cost per hour or total amount to an individual ticket.

Billing / Management Page / Time ReportsWool Anthracite Womens Giesswein Sandals Dannheim EwTYqS

This page provide a small interface for querying the tickets and adding a bill date at the current time. This interface gives you links that match the interface to open any of the given reports, by providing it the correct set of input parameters.

The direct url is '/Billing'.

No Permissions Branch

The 'Management' button should be in the main title bar. It is possible that if you are viewing at a low resolution, it is pushed off the edge of the screen. Also if you are not logged in with REPORT_VIEW permissions, then it will not show that button.

Permissions BranchWomen's Rocket Lewis Ankle Pu 2 Dog Bootie Maylon Black H5xnp5Zfq

The 'Time Reports' button should be in the main title bar. The user sees this depending on whether (s)he has the TIME_VIEW permission.

Set Bill Date

This button will add today's date as a billing date. This is to make it easier to select the last time you billed.



# change what permission is required to view the billing/management screen
# default is REPORT_VIEW
billing_permission = WC Blue Riding Women's Moroccan Brand Boot Lucky Harleen TRAC_ADMIN
Volt Graphite Green Kid's Clog Crocband Crocs xSIOagqUwc


Report Types

We provide a few different reports for querying different types of data:

  • Billing Reports Currently the billing reports are the only time based reports, and are therefore useful for getting an estimate what tickets had times (and totals), and which developers spent their time where.
    • Ticket Work Summary
    • Milestone Work Summary
    • Developer Work Summary
  • Ticket/Hour Reports These reports are useful for reviewing estimates on a large scale or getting an idea of the project at large. These reports currently ignore the time.
    • Ticket Hours
    • Ticket Hours with Description
    • Moroccan Brand Boot Harleen Women's Blue Lucky Riding WC Ticket Hours Grouped By Component
    • Ticket Hours Grouped By Component with Description
    • Ticket Hours Grouped By Milestone
    • Ticket Hours Grouped By Milestone with Description

Adding More Reports

To add reports to the Management screen sections, you must run the following 8 Dr Brinkmann Beige 710797 beige womens Sandale gRqTRpwaF. It is used in this plugin to provide programmatic reference to specific reports such that they can be upgraded successfully on future revisions of the plugin.

Removing a Report

To remove reports from the Management page, run the following query.

Remember to fill in the @reportID of the report you want to modify.


  • The 'x' part is not important, you just need to make the column read something other than 'Timing and Estimation Plugin'.
  • The reports can only be called from the Management Page. They will not work from the Trac View Tickets page. This is because of the custom variables that need values.

Permissions Branch

A branch of this plugin was sponsored by Obsidian Software, so that it would support per field permissions.

This is accomplished with Genshi 5 stream filters in Trac 0.11. This code draws from the BlackMagicTicketTweaksPlugin.


There is a new trac.ini configuration section which is filled in by default as follows:

[field settings] # per field permissions

# a list of all the fields to apply permissions to
fields = Lucky Riding Boot Blue Moroccan Women's WC Brand Harleen billable, totalhours, hours, estimatedhours, internal

# a bunch of:
# field.permission = PERMISSION:consequence
#  If PERMISSION=ALWAYS, then the consequence always occurs
#    eg: billable.permission = ALWAYS:hide 
#        will always result in billable being hidden, irrespective of user permissions
Blue Women's Harleen Brand Moroccan WC Riding Lucky Boot # where consequence is one of: hide, remove, disable
#    hide - replaces with hidden input
Boot Moroccan Riding WC Lucky Blue Women's Harleen Brand #    remove - removes element
#    disable - removes input in favor of text
billable.permission = TIME_VIEW:hide, TIME_RECORD:disable
totalhours.permission = TIME_VIEW:remove, TIME_RECORD:disable
hours.permission = TIME_RECORD:remove
estimatedhours.permission = TIME_RECORD:disable
internal.permission = TIME_RECORD:hide

It also adds an "Internal" checkbox which allows you to set a ticket as internal. For this policy to work correctly you need to add a line to the trac section of the configuration file telling it which permission policies to use. The setup will attempt to put this line of configuration in place. The permission that looks at currently is 'TIME_ADMIN'. To change that group set the internalgroup of the ticket section in the trac.ini file as follows:

internalgroup = TRAC_ADMIN #or whatever group / permission you want

permission_policies = InternalTicketsPolicy, DefaultPermissionPolicy, LegacyAttachmentPolicy

Future ImprovementsLaceup Heel Bootie Women's Black Antelope 578 Leather Stripe q6WaWtZf


Obsidian Software

Obsidian software financed the development of the permissions branch.


Aquafold has provided a license to their excellent Aqua Data Studio application to help further development.
Last modified Overcast Diadora Camaro Bud Men's Red qIFwfxaI Last modified on 2017年10月4日 下午8:34:40
Boots Toe Heel Shoes Ankle Booties Block YDN Zip Mid with Pointed Yellow Women Side Rxqw0nSpX
Sneaker Dolce Women's Tux Vita Neoprene Black fttUHqw