I have ported the user() and cgi() sql functions from cvstrac to fossil.

Also, I implemented functionality similar to cvstrac's wiki() function.

I described what I did in a comment on this ticket:
http://fossil-scm.org/index.html/info/66de526498.

I have deployed a clone of the fossil repo containing my changes.  See
the branch with my changes at
http://tkoutline.sourceforge.net/cgi-bin/fossil/timeline?t=sql-func.

I am running my modified version of fossil and created sample reports
illustrating the cgi() and wiki functionality.

Report 6 shows a count of tickets grouped by ticket type.  The count
column in this report are wiki formatted hyperlinks to report 5.  The
hyperlinks contain an extra url parameter named 'type'.  The value of
this url parameter is dynamically built from the sql results.
Clicking the link launches report 5 which uses the cgi() function to
grab the 'type' parameter and filter the report results based on the
value.  Essentially this is "drill-down" functionality.  Difficult for
me to describe, but see the reports in action:

    http://tkoutline.sourceforge.net/cgi-bin/fossil/rptview?rn=6

The sql for report 6 is:
        
  SELECT
    type,
    '[/rptview?rn=5&type=' || type || '|' || count(type) || ']' as _wiki_count
  FROM ticket
  WHERE status IN ('Open', 'Verified')
  GROUP BY type
  ORDER BY count(type) DESC

The wiki formatting is triggered by the special '_wiki_' prefix on the
column name.

The sql for report 5 has "type=cgi('type', 'Feature_Request')" in the
where clause.

Brian
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to