155 lines
6.0 KiB
HTML
155 lines
6.0 KiB
HTML
<div class="edit-header">
|
|
<div>
|
|
<label class="label_control-wrap">
|
|
<span id="titleLabel" class="label__text"
|
|
potentially-required-field
|
|
field-name="summary"
|
|
entity="ticket">
|
|
{{'common.labels.title' | i18n}}
|
|
</span>
|
|
<input type="text" class="edit-header__title form-control" ng-change="onSummaryChange()" ng-model="updatedInfo.summary"
|
|
potentially-required-field
|
|
field-name="summary"
|
|
entity="ticket" maxlength="{{ticket.type == 'task' ? 255 : 100}}" aria-labelledby="titleLabel">
|
|
<character-limit-message field="updatedInfo.summary" limit="{{ticket.type == 'task' ? 255 : 100}}"></character-limit-message>
|
|
</label>
|
|
</div>
|
|
<div ng-if="showImpactField()">
|
|
<div class="edit-header__element">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text"
|
|
potentially-required-field
|
|
field-name="impact"
|
|
entity="ticket">
|
|
{{ 'create.ticket.impact' | i18n }}
|
|
</span>
|
|
<selection selection-items="metadata.impacts"
|
|
selected-item="updatedInfo.impact"
|
|
selection-callback="updatePriority()"
|
|
title-text="{{'create.ticket.impact' | i18n}}"
|
|
label="label"
|
|
value="label"
|
|
field-name="impact"
|
|
entity="ticket"
|
|
disabled-selection="!ticket.accessMappings.priorityEditAllowed"
|
|
update-selected-item="true">
|
|
</selection>
|
|
</label>
|
|
</div>
|
|
<div class="edit-header__element">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text"
|
|
potentially-required-field
|
|
field-name="urgency"
|
|
entity="ticket">
|
|
{{ 'create.ticket.urgency' | i18n }}
|
|
</span>
|
|
<selection selection-items="metadata.urgencies"
|
|
selected-item="updatedInfo.urgency"
|
|
selection-callback="updatePriority()"
|
|
title-text="{{'create.ticket.urgency' | i18n}}"
|
|
label="label"
|
|
value="name"
|
|
field-name="urgency"
|
|
entity="ticket"
|
|
disabled-selection="!ticket.accessMappings.priorityEditAllowed"
|
|
update-selected-item="true">
|
|
</selection>
|
|
</label>
|
|
</div>
|
|
<div class="edit-header__priority-content">
|
|
<div ticket-priority-display priority-value="{{updatedInfo.priority.name | lowercase}}">
|
|
{{updatedInfo.priority.label}}
|
|
</div>
|
|
<input type="hidden" ng-model="updatedInfo.priority" ng-required="isPriorityRequired()">
|
|
</div>
|
|
</div>
|
|
<div ng-if="showPriorityField()">
|
|
<div class="edit-header__element">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text"
|
|
potentially-required-field
|
|
field-name="priority"
|
|
entity="ticket">
|
|
{{ 'create.ticket.priority' | i18n }}
|
|
</span>
|
|
<selection selection-items="metadata.priorities"
|
|
selected-item="updatedInfo.priority"
|
|
selection-callback="updatePriority()"
|
|
title-text="{{'create.ticket.priority' | i18n}}"
|
|
label="label"
|
|
value="name"
|
|
field-name="priority"
|
|
entity="ticket"
|
|
disabled-selection="!ticket.accessMappings.priorityEditAllowed"
|
|
update-selected-item="true">
|
|
</selection>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div ng-if="ticket.type == 'problem' || ticket.type == 'knownerror'">
|
|
<label class="label_control-wrap">
|
|
<span id="targetDateLabel" class="label__text"
|
|
ng-class = "{'required__label': ticket.status.value != 'Draft' && ticket.status.value != 'Cancelled'}"
|
|
entity="ticket"
|
|
data-required="{{'common.label.required.bracketed' | i18n}}">
|
|
{{'create.ticket.target.date' | i18n}}
|
|
</span>
|
|
<div>
|
|
<div class="custom-field__date">
|
|
<input ng-if="ticket.type == 'knownerror'"
|
|
ng-required = "ticket.status.value != 'Draft' && ticket.status.value != 'Cancelled'"
|
|
type="text"
|
|
aria-labelledby="targetDateLabel"
|
|
title="{{'common.label.date' | i18n}}"
|
|
class="form-control"
|
|
datepicker-popup="mediumDate"
|
|
ng-model="updatedInfo.targetDate"
|
|
init-date="currentDate"
|
|
show-button-bar="false"
|
|
datepicker-options="datePickerOptions"
|
|
is-open="ticket.targetDatePicker.open"
|
|
ng-click="ticket.targetDatePicker.open = true"
|
|
ng-enter="ticket.targetDatePicker.open = true">
|
|
<input ng-if="ticket.type == 'problem'"
|
|
ng-required = "ticket.status.value != 'Draft' && ticket.status.value != 'Cancelled'"
|
|
type="text"
|
|
aria-labelledby="targetDateLabel"
|
|
title="{{'common.label.date' | i18n}}"
|
|
class="form-control"
|
|
datepicker-popup="mediumDate"
|
|
ng-model="updatedInfo.targetDate"
|
|
min-date="currentDate"
|
|
init-date="currentDate"
|
|
show-button-bar="false"
|
|
datepicker-options="datePickerOptions"
|
|
is-open="ticket.targetDatePicker.open"
|
|
ng-click="ticket.targetDatePicker.open = true"
|
|
ng-enter="ticket.targetDatePicker.open = true">
|
|
<i class="icon-calendar custom-field__date-icon"></i>
|
|
</div>
|
|
|
|
<div class="custom-field__time custom-field__timeHeader">
|
|
<div class="dropdown timepicker">
|
|
<div class="dropdown-toggle">
|
|
<input class="form-control custom-field__time-input" type="text" value="{{ updatedInfo.targetDate | date: 'shortTime' }}"
|
|
title="{{'common.label.time' | i18n}}" aria-labelledby="targetDateLabel" readonly="readonly"/>
|
|
<i class="icon-clock_o custom-field__time-icon"></i>
|
|
</div>
|
|
<div class="dropdown-menu" prevent-click-event>
|
|
<timepicker ng-model="updatedInfo.targetDate"
|
|
show-meridian="showMeridian"
|
|
default-hours="12"
|
|
default-minutes="0">
|
|
</timepicker>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</label>
|
|
</div>
|
|
<div class="edit-header__control-bar">
|
|
<button type="button" class="small-btn_primary" ng-click="save()" ng-disabled="disableSave">{{'controls.action.ok' | i18n}}</button>
|
|
<button type="button" class="small-btn_secondary" ng-click="cancel()">{{'common.button.cancel' | i18n}}</button>
|
|
</div>
|
|
</div> |