Changes between Initial Version and Version 1 of TracTicketsCustomFields


Ignore:
Timestamp:
06/11/06 17:57:32 (18 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracTicketsCustomFields

    v1 v1  
     1= カスタムチケット属性 = 
     2Trac ではチケットにユーザ定義の属性を追加できます。カスタムチケット属性を使用すると、定型で、プロジェクト特有のプロパティをチケットに持たせることができます。 
     3 
     4== 設定方法 == 
     5カスタムチケット属性を設定するためには、 [wiki:TracIni trac.ini] ファイルを変更します。カスタムフィールドは、 trac.ini ファイルの `[ticket-custom]` セクションに書く必要があります。 
     6 
     7各属性の定義は以下のように記述します: 
     8{{{ 
     9 属性名 = タイプ 
     10 (属性名.オプション = 値) 
     11 ... 
     12}}} 
     13構文の詳細は以下の例を見てください。 
     14 
     15=== 属性のタイプとオプション === 
     16 * '''text''': シンプルな(1行の)テキスト。 
     17   * label: 説明となるラベル 
     18   * value: デフォルト値 
     19   * order: ソート時の並び順 (フォーム内での相対的位置を決定します。) 
     20 * '''checkbox''': ブーリアン値をもつチェックボックス。 
     21   * label: 説明となるラベル。 
     22   * value: デフォルト値 (0 または 1). 
     23   * order: ソート時の並び順 
     24 * '''select''': ドロップダウンするリストボックス。 
     25   * options: リストに表示する値を '''|''' (vertical pipe) 区切りで記述。 
     26   * value: デフォルト値 (0から始まるリスト内での番号) 。 
     27   * order: ソート時の並び順 
     28 * '''radio''': ラジオボタン。HTMLの '''select''' 要素と同じ。 
     29   * label: 説明となるラベル。 
     30   * options: リストに表示する値を '''|''' (vertical pipe) 区切りで記述。 
     31   * value: デフォルト値 (0から始まるリスト内での番号) 。 
     32   * order: ソート時の並び順 
     33 * '''textarea''': 複数行のテキストエリア。 
     34   * label: 説明となるラベル。 
     35   * value: デフォルトで設定されるテキスト。 
     36   * cols: 入力領域のカラム幅。 
     37   * rows: 入力領域の行数。 
     38   * order: ソート時の並び順 
     39 
     40=== サンプル === 
     41{{{ 
     42[ticket-custom] 
     43 
     44test_one = text 
     45test_one.label = Just a text box 
     46 
     47test_two = text 
     48test_two.label = Another text-box 
     49test_two.value = Just a default value 
     50 
     51test_three = checkbox 
     52test_three.label = Some checkbox 
     53test_three.value = 1 
     54 
     55test_four = select 
     56test_four.label = My selectbox 
     57test_four.options = one|two|third option|four 
     58test_four.value = 2 
     59 
     60test_five = radio 
     61test_five.label = Radio buttons are fun 
     62test_five.options = uno|dos|tres|cuatro|cinco 
     63test_five.value = 1 
     64 
     65test_six = textarea 
     66test_six.label = This is a large textarea 
     67test_six.value = Default text 
     68test_six.cols = 60 
     69test_six.rows = 30 
     70}}} 
     71 
     72''Note: `select` タイプのフィールドを非必須(optional)にしたい場合、 `フィールド名.options` オプションの先頭に `バーティカルパイプ (|)` を設定してください。'' 
     73 
     74=== カスタム属性を含むレポート === 
     75 
     76カスタム属性を含む TracReports では比較的 SQL を間違えやすいです。 `ticket_custom` 表の `JOIN` はカスタム属性ごとにそれぞれ必要です。 
     77 
     78以下の例は `progress` という名前のカスタム属性を含むレポートです: 
     79{{{ 
     80#!sql 
     81SELECT p.value AS __color__, 
     82   id AS ticket, summary, component, version, milestone, severity, 
     83   (CASE status WHEN 'assigned' THEN owner||' *' ELSE owner END) AS owner, 
     84   time AS created, 
     85   changetime AS _changetime, description AS _description, 
     86   reporter AS _reporter, 
     87  (CASE WHEN c.value = '0' THEN 'None' ELSE c.value END) AS progress 
     88  FROM ticket t 
     89     LEFT OUTER JOIN ticket_custom c ON (t.id = c.ticket AND c.name = 'progress') 
     90     JOIN enum p ON p.name = t.priority AND p.type='priority' 
     91  WHERE status IN ('new', 'assigned', 'reopened') 
     92  ORDER BY p.value, milestone, severity, time 
     93}}} 
     94 
     95この `LEFT OUTER JOIN` ステートメントに特に注意してください。 
     96 
     97---- 
     98See also: TracTickets, TracIni