close
Warning:
Can't synchronize with repository "(default)" (Unsupported version control system "darcs": Can't find an appropriate component, maybe the corresponding plugin was not enabled? ). Look in the Trac log for more information.
- Timestamp:
-
2011-10-10 03:59:07 (13 years ago)
- Author:
-
trac
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v1
|
v2
|
|
18 | 18 | * value: Default value. |
19 | 19 | * order: Sort order placement. (Determines relative placement in forms with respect to other custom fields.) |
| 20 | * format: Either `plain` for plain text or `wiki` to interpret the content as WikiFormatting. (''since 0.11.3'') |
20 | 21 | * '''checkbox''': A boolean value check box. |
21 | 22 | * label: Descriptive label. |
… |
… |
|
30 | 31 | * label: Descriptive label. |
31 | 32 | * options: List of values, separated by '''|''' (vertical pipe). |
32 | | * value: Default value (Item #, starting at 0). |
| 33 | * value: Default value (one of the values from options). |
33 | 34 | * order: Sort order placement. |
34 | 35 | * '''textarea''': Multi-line text area. |
… |
… |
|
38 | 39 | * rows: Height in lines. |
39 | 40 | * order: Sort order placement. |
| 41 | * format: Either `plain` for plain text or `wiki` to interpret the content as WikiFormatting. (''since 0.11.3'') |
40 | 42 | |
41 | 43 | === Sample Config === |
… |
… |
|
48 | 50 | test_two = text |
49 | 51 | test_two.label = Another text-box |
50 | | test_two.value = Just a default value |
| 52 | test_two.value = Default [mailto:joe@nospam.com owner] |
| 53 | test_two.format = wiki |
51 | 54 | |
52 | 55 | test_three = checkbox |
… |
… |
|
62 | 65 | test_five.label = Radio buttons are fun |
63 | 66 | test_five.options = uno|dos|tres|cuatro|cinco |
64 | | test_five.value = 1 |
| 67 | test_five.value = dos |
65 | 68 | |
66 | 69 | test_six = textarea |
… |
… |
|
107 | 110 | Note in particular the `LEFT OUTER JOIN` statement here. |
108 | 111 | |
| 112 | === Updating the database === |
| 113 | |
| 114 | As noted above, any tickets created before a custom field has been defined will not have a value for that field. Here's a bit of SQL (tested with SQLite) that you can run directly on the Trac database to set an initial value for custom ticket fields. Inserts the default value of 'None' into a custom field called 'request_source' for all tickets that have no existing value: |
| 115 | |
| 116 | {{{ |
| 117 | #!sql |
| 118 | INSERT INTO ticket_custom |
| 119 | (ticket, name, value) |
| 120 | SELECT |
| 121 | id AS ticket, |
| 122 | 'request_source' AS name, |
| 123 | 'None' AS value |
| 124 | FROM ticket |
| 125 | WHERE id NOT IN ( |
| 126 | SELECT ticket FROM ticket_custom |
| 127 | ); |
| 128 | }}} |
| 129 | |
| 130 | If you added multiple custom fields at different points in time, you should be more specific in the subquery on table {{{ticket}}} by adding the exact custom field name to the query: |
| 131 | |
| 132 | {{{ |
| 133 | #!sql |
| 134 | INSERT INTO ticket_custom |
| 135 | (ticket, name, value) |
| 136 | SELECT |
| 137 | id AS ticket, |
| 138 | 'request_source' AS name, |
| 139 | 'None' AS value |
| 140 | FROM ticket |
| 141 | WHERE id NOT IN ( |
| 142 | SELECT ticket FROM ticket_custom WHERE name = 'request_source' |
| 143 | ); |
| 144 | }}} |
| 145 | |
109 | 146 | ---- |
110 | 147 | See also: TracTickets, TracIni |