/* ** Copyright (c) 2007 D. Richard Hipp ** ** This program is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public ** License version 2 as published by the Free Software Foundation. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ** General Public License for more details. ** ** You should have received a copy of the GNU General Public ** License along with this library; if not, write to the ** Free Software Foundation, Inc., 59 Temple Place - Suite 330, ** Boston, MA 02111-1307, USA. ** ** Author contact information: ** drh@hwaci.com ** http://www.hwaci.com/drh/ ** ******************************************************************************* ** ** This file contains a string constant that is the default ticket ** configuration. */ #include "config.h" #include "tktconfig.h" /* ** This is a sample "ticket configuration" file for fossil. ** ** There is considerable flexibility in how tickets are defined ** in fossil. Each repository can define its own ticket setup ** differently. Each repository has an instance of a file, like ** this one that defines how that repository deals with tickets. ** ** This file is in the form of a script in an exceedingly ** minimalist scripting language called "subscript". Here are ** the rules: ** ** SYNTAX ** ** * The script consists of a sequence of whitespace ** separated tokens. Whitespace is ignored, except ** as its role as a token separator. ** ** * Lines that begin with '#' are considered to be whitespace. ** ** * Text within matching {...} is consider to be a single "string" ** token, even if the text spans multiple lines and includes ** embedded whitespace. The outermost {...} are not part of ** the text of the token. ** ** * A token that begins with "/" is a string token. ** ** * A token that looks like a number is a string token. ** ** * Tokens that do not fall under the previous three rules ** are "verb" tokens. ** ** PROCESSING: ** ** * When a script is processed, the engine reads tokens ** one by one. ** ** * String tokens are pushed onto the stack. ** ** * Verb tokens which correspond to the names of variables ** cause the corresponding variable to be pushed onto the ** stack. ** ** * Verb tokens which correspond to procedures cause the ** procedures to run. The procedures might push or pull ** values from the stack. ** ** There are just a handful of verbs. For the purposes of this ** configuration script, there is only a single verb: "set". The ** "set" verb pops two arguments from the stack. The topmost is ** the name of a variable. The second element is the value. The ** "set" verb sets the value of the named variable. ** ** VALUE NAME set ** ** This configuration file just sets the values of various variables. ** Some of the variables have special meanings. The content of some ** of the variables are additional subscript scripts. */ /* @-comment: # */ const char zDefaultTicketConfig[] = @ ########################################################################## @ # @ # Every ticket configuration file should have a title. When you @ # come up with a new ticket configuration, please change the title @ # to something descriptive. @ # @ {Default Ticket Configuration} /ticket_config_title set @ @ ############################################################################ @ # Every ticket configuration *must* define a set of columns for the @ # "ticket" table of the database. These column names will also be @ # used as CGI parameter names, so to avoid problems it is best that @ # the names be all lower-case alphabetic characters. The names must @ # be unique and must not begin with "tkt_". @ # @ { @ type @ status @ subsystem @ priority @ severity @ contact @ title @ comment @ } /ticket_fields @ { @ CREATE TABLE ticket( @ -- Do not change any column that begins with tkt_ @ tkt_id INTEGER PRIMARY KEY, @ tkt_uuid TEXT UNIQUE, @ tkt_mtime DATE, @ tkt_valid BOOLEAN, @ -- Add as many field as required below this line @ type TEXT, @ status TEXT, @ subsystem TEXT, @ priority TEXT, @ severity TEXT, @ title TEXT, @ comment TEXT @ ); @ -- Add indices as desired @ } /ticket_sql set @ @ ############################################################################ @ # You can define additional variables here. These variables will be @ # accessible to the page templates when they run. @ # @ {Code Build_Problem Documentation Feature_Request Incident} /type_choices set @ {High Medium Low} /priority_choices set @ {Critical Severe Important Minor Cosmetic} /severity_choices set @ { @ Open @ Fixed @ Rejected @ Unable_To_Reproduce @ Works_As_Designed @ External_Bug @ Not_A_Bug @ Duplicate @ Overcome_By_Events @ Drive_By_Patch @ } /resolution_choices set @ { @ Open @ Verified @ In_Process @ Deferred @ Fixed @ Tested @ Closed @ } /status_choices set @ @ ########################################################################## @ # The "tktnew_template" variable is set to text which is a template for @ # the HTML of the "New Ticket" page. Within this template, text contained @ # within [...] is subscript. That subscript runs when the page is @ # rendered. @ # @ { @ @ @ [{Open} /status set /submit submit_new_ticket] @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ [0 /preview get enable_output] @ @ [1 enable_output] @ @ @ @ @ @
@ Enter a one-line summary of the problem:
@ @
Type: @ [/type typechoices 20 combobox] @ What type of ticket is this?
Version: @ @ In what version or build number do you observer the problem?
Severity: @ [/severity {High Medium Low} 8 combobox] @ How debilitating is the problem? How badly does the problem @ effect the operation of the product?
@ Enter a detailed description of the problem. @ For code defects, be sure to provide details on exactly how @ the problem can be reproduced. Provide as much detail as @ possible. @
@
@
@ @
@ Description Preview:

@ [/comment html] @
@
@ @ After filling in the information above, press this button to create @ the new ticket
@ @ } /tktnew_template set @ @ ########################################################################## @ # The template for the "edit ticket" page @ { @ @ @ [{
%USER% added on %DATE%:
} @ /cmappnd /comment append_remark] @ [/submit submit_ticket_change] @ @ @ @ @ @ @ @ @ [/e hascap enable_output] @ @ [1 enable_output] @ @ @ @
Title: @ @
Status: @ [/status status_choices 20 combobox] @
Type: @ [/type type_choices 20 combobox] @
Severity: @ [/severity {High Medium Low} 10 combobox] @
Priority: @ [/priority {High Medium Low} 10 combobox] @
Resolution: @ [/resolution resolution_choices 20 combobox] @
Subsystem: @ [/subsystem subsystem_choices 30 combobox] @
Contact: @ @
Version Found In: @ @
@ [0 /eall 0 get /eall set] @ [/aonlybtn exists not /eall set] @ [/eallbtn exists /eall set] @ [/w hascap eall and /eall set] @ [eall enable_output] @ Description And Comments:
@
@ @ @ [eall not enable_output] @ Append Remark:
@
@ [ok_wrtkt enable_output] @ @ [1 enable_output] @
@ @
@ @ } /tktedit_template set @ @ ########################################################################## @ # The template for the "view ticket" page @ { @ @ @ @ @ @ @ @ @ @ [{e} hascap enable_output] @ @ [1 enable_output] @ @ @
Title: @ [/title html] @
Status: @ [/status html] @
Type: @ [/type html] @
Severity: @ [/severity html] @
Priority: @ [/priority html] @
Resolution: @ [/priority html] @
Subsystem: @ [/subsystem html] @
Contact: @ [/contact html] @
Version Found In: @ [/foundin html] @
@ Description And Comments:
@ [/comment html] @
@ } /tktview_template set ;