[define category_css]css/ph_detail.css[end]
[include "../framework/header.ezt" "showtabs"]

[if-any read_only][include "../framework/read-only-rejection.ezt"]
[else]

<form action="adminStatuses.do" id="adminStatuses" method="POST">
 <input type="hidden" name="token" value="[form_token]">

  [if-any perms.EditProject]
    <table class="vt">
     <tr><td>
       <h4>Open Issue Status Values</h4>
       <div class="section">
         <textarea name="predefinedopen" rows="6" cols="75"  style="tab-size:18">[open_text]</textarea>
         [if-any errors.open_statuses]
           <div class="fielderror">[errors.open_statuses]</div>
         [end]
       </div>
       <h4>Closed Issue Status Values</h4>
       <div class="section">
         <textarea name="predefinedclosed" rows="6" cols="75"  style="tab-size:18">[closed_text]</textarea><br><br>
         [if-any errors.closed_statuses]
           <div class="fielderror">[errors.closed_statuses]</div>
         [end]

         If an issue's status is being set to one of these values, offer to merge issues:<br>
         <input type="text" size="75" name="statuses_offer_merge"
                value="[for config.statuses_offer_merge][config.statuses_offer_merge][if-index config.statuses_offer_merge last][else], [end][end]">
       </div>
      </td>
      <td style="padding-left:.7em">
       <div class="tip">
           <b>Instructions:</b><br> List one status value per line in desired sort-order.<br><br>
           Optionally, use an equals-sign to document the meaning of each status value.
       </div>
      </td>
     </tr>
    </table>
  [else]
    <h4>Open Issue Status Values</h4>
    <div class="section">
    <table cellspacing="0" cellpadding="2" border="0" class="results striped" width="100%">
      <tr>
        <th style="min-width:14em">Status</th>
        <th width="100%">Meaning</th>
      </tr>
      [for config.open_statuses]
        <tr>
          <td style="white-space:nowrap; padding-right:2em;">[config.open_statuses.name]</td>
          <td>[config.open_statuses.docstring]</td>
        </tr>
      [end]
    </table>
    </div>

    <h4>Closed Issue Status Values</h4>
    <div class="section">
    <table cellspacing="0" cellpadding="2" border="0" class="results striped" width="100%">
      <tr>
        <th style="min-width:14em">Status</th>
        <th width="100%">Meaning</th>
      </tr>
      [for config.closed_statuses]
        <tr>
          <td  style="white-space:nowrap; padding-right:2em;">[config.closed_statuses.name]</td>
          <td>[config.closed_statuses.docstring]</td>
        </tr>
      [end]
    </table>
    </div>
  [end]


 [if-any perms.EditProject]
   <input type="submit" id="savechanges" name="btn" value="Save changes" class="submit">
 [end]
</form>

[end]

[include "../framework/footer.ezt"]
