165 lines
8.4 KiB
HTML
165 lines
8.4 KiB
HTML
<div class="change-details-editor row">
|
|
<div class="col-sm-8">
|
|
<div class="row ticket__row">
|
|
<div class="col-sm-4">
|
|
<label class="label_control-wrap">
|
|
<span class="{{editMode ? 'required__label' : 'label__text'}}" data-required="{{'common.label.required.bracketed' | i18n}}">
|
|
{{'create.change.wizard.basicDetails.timing' | i18n }}
|
|
</span>
|
|
|
|
<div ng-if="editMode && ticket.accessMappings.priorityEditAllowed" class="create-ticket__item">
|
|
<selection selection-items="metadata.timings"
|
|
selected-item="updatedInfo.timing"
|
|
title-text="{{'create.change.wizard.basicDetails.timing' | i18n | uppercase}}"
|
|
label="label"
|
|
value="label"
|
|
aria-required="true"
|
|
update-selected-item="true">
|
|
</selection>
|
|
</div>
|
|
<div ng-if="!editMode || !ticket.accessMappings.priorityEditAllowed" class="ticket__field-value">
|
|
{{ ticket.timing | localizeLabel: 'timing':'change'}}
|
|
</div>
|
|
</label>
|
|
</div>
|
|
<div class="col-sm-4">
|
|
<label class="label_control-wrap" ng-show="editMode && ticket.accessMappings.priorityEditAllowed && updatedInfo.timing.name == 'Expedited'">
|
|
<span class="label__text" ng-class="{'required__label' : updatedInfo.timing.name == 'Expedited'}" data-required="{{'common.label.required.bracketed' | i18n}}">
|
|
{{'create.change.wizard.basicDetails.timingReason' | i18n }}
|
|
</span>
|
|
|
|
<div class="create-change-wizard__item">
|
|
<selection selection-items="metadata.timingReasons"
|
|
selected-item="updatedInfo.timingReason"
|
|
title-text="{{'create.change.wizard.basicDetails.timingReason' | i18n | uppercase}}"
|
|
label="label"
|
|
value="name"
|
|
update-selected-item="true"
|
|
required="updatedInfo.timing.name == 'Expedited'">
|
|
</selection>
|
|
</div>
|
|
</label>
|
|
<label class="label_control-wrap" ng-show="!editMode && ticket.timing == 'Expedited'">
|
|
<span class="label__text">
|
|
{{'create.change.wizard.basicDetails.timingReason' | i18n }}
|
|
</span>
|
|
<div class="ticket__field-value">
|
|
{{ ticket.timingReason | localizeLabel: 'timingReason':'change'}}
|
|
</div>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<priority-editor class="editable-content-section-block ticket__row" ticket="ticket" allow-overwrite="true" update-is-handled-by-parent="true"></priority-editor>
|
|
<div class="row ticket__row">
|
|
<div class="col-sm-4">
|
|
<div ng-if="!ticket.accessMappings.detailsEditAllowed || !editMode">
|
|
<div class="label__text">
|
|
{{'ticket.detail.affectedService' | i18n }}
|
|
</div>
|
|
<div>
|
|
<a ng-if="ticket.impactedService.name"
|
|
href="#/asset/{{ticket.impactedService.reconciliationId | escape}}/{{ticket.impactedService.classId}}">
|
|
{{ticket.impactedService.name}}
|
|
</a>
|
|
<span ng-if="!ticket.impactedService.name" class="ticket__field-value">{{'common.label.na' | i18n}}</span>
|
|
</div>
|
|
</div>
|
|
<edit-affected-assets ticket="ticket" meta-data="metadata" is-draft="false" ng-show="editMode && ticket.accessMappings.detailsEditAllowed"
|
|
class="editable-content-section-block" update-is-handled-by-parent="true">
|
|
</edit-affected-assets>
|
|
</div>
|
|
<div class="col-sm-4">
|
|
<label class="label_control-wrap">
|
|
<div class="label__text">
|
|
{{'create.change.wizard.basicDetails.changeReason' | i18n }}
|
|
</div>
|
|
|
|
<div ng-if="ticket.accessMappings.detailsEditAllowed && editMode" >
|
|
<selection selection-items="metadata.changeReasons"
|
|
selected-item="updatedInfo.changeReason"
|
|
title-text="{{'create.change.wizard.basicDetails.changeReason' | i18n | uppercase}}"
|
|
label="label"
|
|
value="label"
|
|
update-selected-item="true">
|
|
</selection>
|
|
</div>
|
|
<div ng-if="!ticket.accessMappings.detailsEditAllowed || !editMode">
|
|
<span ng-if="!ticket.changeReason" class="ticket__field-value">{{'common.label.na' | i18n}}</span>
|
|
<span ng-if="ticket.changeReason" class="ticket__field-value">{{ ticket.changeReason | localizeLabel: 'changeReason':'change' }}</span>
|
|
</div>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="ticket__row">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text" for="foundation-selector__site">
|
|
{{'create.change.location' | i18n }}
|
|
</span>
|
|
</label>
|
|
<foundation-selector ng-if="editMode && ticket.accessMappings.detailsEditAllowed" type="site" inline="true" multiple="false" options="siteOptions" selected-foundations="updatedInfo.location"></foundation-selector>
|
|
<div ng-if="!editMode || !ticket.accessMappings.detailsEditAllowed">
|
|
<span ng-if="!ticket.location.region" class="ticket__field-value">{{ticket.company.name}}</span>
|
|
<span ng-if="ticket.location.region" >{{buildSiteTag(ticket.location)}}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-4">
|
|
<div ng-if="!editMode || !ticket.accessMappings.requestedforEditAllowed" class="row ticket__row">
|
|
<div class="col-sm-1">
|
|
<img ng-if="ticket.customer.fullName" alt="{{ticket.customer.fullName}}" class="ticket-assignee__thumbnail " user-availability="ticket.customer" imgplaceholder="user"
|
|
thumbnail-img="{{'data:' + ticket.customer.thumbnailMime + ';base64,' + ticket.customer.thumbnail}}" />
|
|
<span ng-if="!ticket.customer.fullName" class="ticket-assignee__none icon-question_circle"></span>
|
|
</div>
|
|
<div class="col-sm-3 ticket-assignee__details">
|
|
<div class="ticket-assignee__info ticket-assignee__width-limit">
|
|
<div class="ticket__label-small">{{'create.change.requestedFor' | i18n }}</div>
|
|
<span ng-if="!ticket.customer.fullName" class="ticket__field-value">{{'common.label.noneYet' | i18n }}</span>
|
|
<div ng-if="ticket.customer.fullName" class="ticket__field-value">
|
|
<a aria-label="{{'create.change.requestedFor' | i18n}} {{ticket.customer.fullName}}"
|
|
href="#/person/{{ticket.customer.id | escape}}">{{ticket.customer.fullName}}</a>
|
|
<span class="person-summary__VIP" ng-if="ticket.customer.isVIP">{{'common.labels.vip' | i18n}}</span>
|
|
</div>
|
|
<div ng-if="ticket.customer.phone" class="ticket__field-value">
|
|
<a aria-label="{{'personInfoCard.label.phoneNumber' | i18n}} {{ticket.customer.phone}}" href="tel:{{ticket.customer.phone}}">{{ticket.customer.phone}}</a>
|
|
</div>
|
|
<div ng-if="ticket.customer.email" class="ticket__field-value ticket__field-email">
|
|
<a aria-label="{{'personInfoCard.label.email' | i18n}} {{ticket.customer.email}}"
|
|
href="mailto:{{ticket.customer.email}}?subject={{ticket.displayId}}: {{ticket.summary}}">{{ticket.customer.email}}</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div ng-if="editMode && ticket.accessMappings.requestedforEditAllowed && !ticket.isAutomatic" class="ticket__change-requestedFor ticket__row">
|
|
<label class="label_control-wrap">
|
|
<span class="required__label" data-required="{{'common.label.required.bracketed' | i18n}}">
|
|
{{'create.change.requestedFor' | i18n }}
|
|
</span>
|
|
<input type="text"
|
|
aria-required="true"
|
|
required
|
|
title="{{ 'create.change.requestedFor' | i18n }}"
|
|
class="custom-input"
|
|
ng-model="updatedInfo.customer"
|
|
typeahead-min-length="3"
|
|
ng-blur="validateRequestedFor()"
|
|
typeahead-template-url="views/create/custom-add-user-dropdown.html"
|
|
typeahead="customer as customer.firstName + ' ' + customer.lastName for customer in getListPersons($viewValue, ticket.company.name)"
|
|
typeahead-on-select="setChangeLocation()"
|
|
placeholder="{{ 'create.change.requestedFor.placeholder' | i18n }}"/>
|
|
<div loading-spinner if="searchingPersons" inline="true"></div>
|
|
<i class="icon-cross item-input__delete-btn" tabindex=0 role="link"
|
|
title="{{'common.button.clear' | i18n}} {{ 'create.change.requestedFor' | i18n }}" ng-if="updatedInfo.customer && !searchingPersons"
|
|
focus-input-on-clear ng-click="clear('customer')" ng-enter="ticketActions.clear('customer')">
|
|
</i>
|
|
</label>
|
|
</div>
|
|
<categories-section tooltip-position="left" context="ticket" ng-class="{'editable-content-section-block': ticket.accessMappings.detailsEditAllowed}"
|
|
update-is-handled-by-parent="true" edit-disabled="!ticket.accessMappings.detailsEditAllowed"></categories-section>
|
|
</div>
|
|
<div class="col-sm-8" ng-if="editMode && isDatesRequired()">
|
|
<edit-ticket-dates
|
|
ticket="ticketCopy" date-form="form"
|
|
update-is-handled-by-parent="true" class="editable-content-section-block">
|
|
</edit-ticket-dates>
|
|
</div>
|
|
</div> |