SmartIT_Extensions/BMC/smart-it-full/views/common/print-action-blade.html

1200 lines
76 KiB
HTML

<div role="dialog" aria-labelledby="modalLabel">
<span class="modal-content__508-hidden-span">{{'common.labels.508BeginContent' | i18n}}</span>
<div class="action-blade__header">
<h2 id="modalLabel" class="action-blade__title">{{'printDialog.' + type + '.title' | i18n}}</h2>
</div>
<div class="action-blade__body_print clearfix">
<!--KA section begin-->
<div ng-if="type === 'knowledge'" class="print-version" aria-label="{{'controls.action.print' | i18n}} {{'ticket.region.details' | i18n}}" role="region">
<div class="ka-profile__header_print clearfix">
<div class="ka-profile__title"><h2>{{entity.title}}</h2></div>
<div class="ka__article-id">
<h3 class="header__inline-item"><i class="icon-lightbulb_o ka-details__icon"></i></h3>
<span class="header__ticket-id">{{'knowledge.detail.summary.orderId.label' | i18n:(entity.articleId || '')}}</span>
</div>
<div class="clearfix ka-header__bottom-bar">
<div class="clearfix pull-left">
<div class="ka-header__status-print">
{{entity.status.value | localizeLabel: 'status':'knowledge'}}
</div>
<div class="ka-header__status-print">
{{'common.labels.version' | i18n}} {{entity.version}} - {{entity.createDate | date:'short'}}
</div>
</div>
</div>
</div>
<div class="ka-profile__body_print clearfix">
<div class="ka__content">
<div aria-label="{{'ticket.region.details' | i18n}}" role="region">
<!--Approvals for KA-->
<div ng-if="entity.approvalList" class="print__ticket-section-ka">
<span ng-if="entity.approvalList.open && entity.approvalList.open.length" class="print__ticket__approvals-list-label">Open Approvals</span>
<div ng-if="entity.approvalList.open && entity.approvalList.open.length" class="service-request__approvals-list print__ticket__approvals-list" ng-repeat="approval in entity.approvalList.open">
<ng-include src="'views/approval/approval-list-item.html'"></ng-include>
</div>
<span ng-if="entity.approvalList.closed && entity.approvalList.closed.length" class="print__ticket__approvals-list-label">Closed Approvals</span>
<div ng-if="entity.approvalList.closed && entity.approvalList.closed.length" class="service-request__approvals-list print__ticket__approvals-list" ng-repeat="approval in entity.approvalList.closed">
<ng-include src="'views/approval/approval-list-item.html'"></ng-include>
</div>
<span ng-if="entity.approvalList.rejected && entity.approvalList.rejected.length" class="print__ticket__approvals-list-label">Rejected Approvals</span>
<div ng-if="entity.approvalList.rejected && entity.approvalList.rejected.length" class="service-request__approvals-list print__ticket__approvals-list" ng-repeat="approval in entity.approvalList.rejected">
<ng-include src="'views/approval/approval-list-item.html'"></ng-include>
</div>
</div>
<div class="ka__text print__ticket-section-ka" ng-repeat="paragraph in entity.content">
<div><h2>{{paragraph.label}}</h2></div>
<div class="ka-text__section-text clearfix" process-ka-content="{{paragraph.snippet}}"></div>
</div>
</div>
<!--KA resources & activity-->
<div class="print_profile__support-panel" ng-if="!kcsAssessMode">
<tabset justified="true" class="tabset_short-relative-tabs">
<tab class="print__ticket-tabs" heading="{{'common.tabs.resources' | i18n}}" select="setRatingVisibility(true)"></tab>
<div class="{{showRateTool ? 'ka-profile__resource-slice-container' : 'full-height'}}">
<rs context="entity" ng-if="entity">
<!--KA metadata-->
<div class="rs-group" ng-cloak role="region" tabindex="0">
<h3 class="rs-group__header" id="rs-group__knowledge-header" tabindex="0">
{{'create.knowledge.article.metadata' | i18n}}
</h3>
<editable-content-section edit-mode-allowed="false" hide-edit-button="true" class="ka-editable-section">
<ka-metadata-directive edit-mode="false"
article="entity"
class="editable-content-section-block">
</ka-metadata-directive>
</editable-content-section>
</div>
<rs-ka-attachments print-mode="true"></rs-ka-attachments>
</rs>
</div>
<tab ng-if="feed.length" class="print__ticket-tabs" heading="{{'common.tabs.activity' | i18n}}"></tab>
<div ng-if="feed.length" class="print__ticket-tab-activity">
<timeline-item-renderer ng-repeat="feedItem in feed" type="type" parent-context="entity" item="feedItem" show-context="showContext(feedItem)"
expand-item="expandItem(feedItem)" handle-attachment-click="handleAttachmentClick(type, attachment, returnAsBlob, isMyITComment)"
save-note="saveNote(noteData)" handle-like-click="handleLikeClick(feedItem)" is-unflag-edit-allowed="isUnflagEditAllowed">
</timeline-item-renderer>
</div>
</tabset>
</div>
</div>
</div>
</div>
<!--KA section end-->
<!--Incident and Change 2.0 section begin-->
<div ng-if="type === 'incident' || type === 'change' || type === 'task' || type === 'workorder'" class="print-version" aria-label="{{'controls.action.print' | i18n}} {{'ticket.region.details' | i18n}}" role="region">
<editable-layout-section id="ticket-record-summary" class="top-border full-height" ticket="entity" metadata="metadata"
is-draft="isDraft" is-full-version = "isFullVersion">
<title-bar is-draft="isDraft" screen-layout="screenLayout" ticket="entity" metadata="metadata" is-full-version="isFullVersion"></title-bar>
<!--Status section-->
<div class="print__ticket-status-section">
<div>
<div class="ka-header__status-print">
{{entity.status.value | localizeLabel: 'status':type}}
</div>
<div class="clearfix pull-right">
<sla-reach-time sla="entity.SLA"></sla-reach-time>
</div>
</div>
<div class="clearfix pull-left print__ticket-status-reason" ng-if="entity.status.reason">
<div class="ka-header__status-print">
{{entity.status.reason | i18n}}
</div>
</div>
<div class="clearfix pull-left print__ticket-status-reason" ng-if="entity.status.reason && entity.resolution">
<div class="ka-header__status-print">
{{entity.resolution | i18n}}
</div>
</div>
</div>
<div class="clearfix print__ticket-margin"></div>
<!--Approvals-->
<div ng-if="type === 'change' && entity.approvalList" class="print__ticket-section">
<span ng-if="entity.approvalList.open && entity.approvalList.open.length" class="print__ticket__approvals-list-label">Open Approvals</span>
<div ng-if="entity.approvalList.open && entity.approvalList.open.length" class="service-request__approvals-list print__ticket__approvals-list" ng-repeat="approval in entity.approvalList.open">
<ng-include src="'views/approval/approval-list-item.html'"></ng-include>
</div>
<span ng-if="entity.approvalList.closed && entity.approvalList.closed.length" class="print__ticket__approvals-list-label">Closed Approvals</span>
<div ng-if="entity.approvalList.closed && entity.approvalList.closed.length" class="service-request__approvals-list print__ticket__approvals-list" ng-repeat="approval in entity.approvalList.closed">
<ng-include src="'views/approval/approval-list-item.html'"></ng-include>
</div>
<span ng-if="entity.approvalList.rejected && entity.approvalList.rejected.length" class="print__ticket__approvals-list-label">Rejected Approvals</span>
<div ng-if="entity.approvalList.rejected && entity.approvalList.rejected.length" class="service-request__approvals-list print__ticket__approvals-list" ng-repeat="approval in entity.approvalList.rejected">
<ng-include src="'views/approval/approval-list-item.html'"></ng-include>
</div>
</div>
<!--Change Collisions-->
<div ng-if="type === 'change' && hasCollisions" class="print__ticket-section">
<div class="clearfix" role="region">
<div class="collision-banner__header">
<div class="pull-left collision-banner__message">
<div class="collision-banner__message-text">
<i class="icon-exclamation_triangle"></i>
{{'collision.labels.changeListMessage' | i18n}} <a ng-click="toggle()" ng-enter="toggle()" tabindex="0">{{collisions.count > 1 ? 'collision.labels.changeListCount.plural' : 'collision.labels.changeListCount.singular' | i18n:(collisions.count)}}</a>.
</div>
<div class="row collision-banner__change-row" ng-show="visible" >
<div ng-repeat="changeItem in collisions.changeList">
<div class="col-md-6">
<a href="#/change/{{changeItem.id}}">{{changeItem.displayId}}: {{changeItem.summary}}</a>
</div>
<div class="col-md-6 label__text " >
{{'change.detail.changeCoordinator' | i18n}}: <a href="#/person/{{changeItem.assignee.id | escape}}">{{changeItem.assignee.fullName}}</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="ticket__customized-main-section">
<!--Task section-->
<div ng-if="type === 'task'" class="print__task-parent-details">
<div ng-if="isParentAppEnabled" aria-label="{{'ticket.region.parent' | i18n}}" role="region" tabindex="0">
{{'task.parent.label' | i18n}}
<strong><a href="#/{{entity.parentName}}/{{entity.parentId}}">{{entity.parentDisplayId}}</a>: {{entity.parentSummary}}</strong>
</div>
<div ng-if="!isParentAppEnabled" aria-label="{{'ticket.region.parent' | i18n}}" role="region" tabindex="0">
{{'task.parent.label' | i18n}}
<strong><span>{{entity.parentDisplayId}}: {{entity.parentSummary}}</span></strong>
</div>
</div>
<layout-renderer screen-layout="screenLayout" ticket="entity" metadata="metadata" edit-mode="editMode"></layout-renderer>
<change-profile-plans context="entity" types="metadata.documentTypes" class="change change-section__profile-plans-areas-color"
edit-mode-allowed="false" ng-if="type === 'change'">
</change-profile-plans>
<mcsm-details ticket="entity" ng-if="type === 'change' && entity.brokerVendorName"></mcsm-details>
<!-- Vendor Ticket information section -->
<div class="ticket__vendor-info-section" ng-if="type === 'incident' && entity.brokerVendorName"
aria-label="{{'ticket.region.vendor.ticket.info' | i18n}}" role="region" tabindex="0">
<accordion close-others="true">
<div accordion-group
class="panel-default"
is-open="isOpen"
ng-repeat="vendorInfo in entity.vendorInfo">
<accordion-heading>
<i ng-class="{'icon-angle_right': !isOpen, 'icon-angle_down': isOpen}"></i>
{{'ticket.vendor.label.details' | i18n : vendorInfo.vendor && vendorInfo.vendor.name || entity.brokerVendorName }}
</accordion-heading>
<div class="ticket__vendor-info-section-details col-sm-12">
<div class="ticket__label-small">{{'ticket.vendor.label.id' | i18n}}</div>
<div class="ticket__field-value" ng-if="vendorInfo.vendorTicketUrl">
<a aria-haspopup="true" target="_blank" href="{{vendorInfo.vendorTicketUrl}}">
{{ vendorInfo.id || ''}}
</a>
<i class="icon-pop_up"></i>
</div>
<div class="ticket__field-value" ng-if="!vendorInfo.vendorTicketUrl">
{{ vendorInfo.id || ''}}
</div>
</div>
<div class="ticket__vendor-info-section-details col-sm-12">
<div class="col-sm-6 ticket__vendor-info-section-col">
<div class="ticket__label-small">{{'ticket.vendor.label.lastUpdate' | i18n}}</div>
<div class="ticket__field-value">
{{ vendorInfo.updated ? ((vendorInfo.updated | date:'mediumDate') + ' ' + (vendorInfo.updated | date:'shortTime')) : ('common.label.none' | i18n) }}
</div>
</div>
<div class="col-sm-6 ticket__vendor-info-section-col">
<div class="ticket__label-small">{{'ticket.vendor.label.status' | i18n}}</div>
<div class="ticket__field-value">
{{ vendorInfo.status || ''}}
</div>
</div>
</div>
<div class="ticket__vendor-info-section-details col-sm-12">
<div class="ticket__label-small">{{'ticket.vendor.label.title' | i18n}}</div>
<div class="ticket__field-value">
{{ vendorInfo.title || ''}}
</div>
</div>
<div class="ticket__vendor-info-section-details col-sm-12">
<div class="ticket__label-small">{{'ticket.vendor.label.description' | i18n}}</div>
<div class="ticket__field-value">
{{ vendorInfo.description || ''}}
</div>
</div>
<div class="ticket__vendor-info-section-details col-sm-12">
<div class="ticket__vendor-info-section-custom-col col-sm-4"
ng-repeat="property in vendorInfo.properties">
<div class="ticket__label-small">{{property.name}}</div>
<div class="ticket__field-value" ng-if="property.type !== 'date'">
{{ property.value || ''}}
</div>
<div class="ticket__field-value" ng-if="property.type === 'date'">
{{ property.value ? ((property.value | date:'mediumDate') + ' ' + (property.value | date:'shortTime')) : ('common.label.none' | i18n) }}
</div>
</div>
</div>
</div>
</accordion>
</div>
<!-- Tasks & Linked Items -->
<div ng-if="isFullVersion && !editMode" class="profile__relation" aria-label="{{'ticket.region.relationship' | i18n}}" role="region" tabindex="0">
<tabset justified="true" class="tabset_short-relative-tabs">
<tab ng-if="type !== 'task' && relationCounters.tasks" class="print__ticket-tabs" heading="{{'common.label.tasks' | i18n}} ({{relationCounters.tasks}})"></tab>
<ticket-tasks ng-if="type !== 'change' && type !== 'task' && relationCounters.tasks" ticket="entity" relation-counters="relationCounters" tasks-disabled="true"></ticket-tasks>
<change-tasks ng-if="type === 'change' && type !== 'task' && relationCounters.tasks" ticket="entity" tasks-disabled="true"></change-tasks>
<tab ng-if="type === 'change' && relationCounters.CIs" class="print__ticket-tabs" heading="{{'common.tabs.configurationItem' | i18n}} ({{relationCounters.CIs}})"></tab>
<related-item-list ng-if="type === 'change' && relationCounters.CIs" dependency="change-to-cis" context="entity" is-draft="isDraft"></related-item-list>
<tab ng-if="relationCounters.linkedItems || relationCounters.CIs" class="print__ticket-tabs" id="linkedResourcesTab_{{entity.id}}" heading="{{'common.tabs.linkedItems' | i18n}} ({{relationCounters.linkedItems}})"></tab>
<related-item-list ng-if="relationCounters.linkedItems || relationCounters.CIs" dependency="ticket-to-all" context="entity" is-draft="isDraft" relation-counters="relationCounters"></related-item-list>
</tabset>
</div>
<!--Activity & resources -->
<div class="print_profile__support-panel" aria-label="{{'common.labels.' + type | i18n}} {{'ticket.region.support' | i18n}}" role="region">
<tabset justified="true" class="tabset_short-relative-tabs">
<tab ng-if="feed.length" class="print__ticket-tabs" heading="{{'common.tabs.activity' | i18n}}"></tab>
<div ng-if="feed.length" class="print__ticket-tab-activity"><timeline-item-renderer ng-repeat="feedItem in feed" type="type" parent-context="entity" item="feedItem" show-context="showContext(feedItem)"
expand-item="expandItem(feedItem)" handle-attachment-click="handleAttachmentClick(type, attachment, returnAsBlob, isMyITComment)"
save-note="saveNote(noteData)" handle-like-click="handleLikeClick(feedItem)" is-unflag-edit-allowed="isUnflagEditAllowed"></timeline-item-renderer></div>
<tab ng-if="type !== 'change' && type !== 'request' && type !== 'task' && type !== 'person'" class="print__ticket-tabs" active="isDraft" heading="{{'common.tabs.resources' | i18n}}"></tab>
<rs ng-if="type !== 'change' && type !== 'request' && type !== 'task' && type !== 'person' && entity.id" context="entity">
<rs-recommended-outages ng-if="type === 'incident'"></rs-recommended-outages>
</rs>
</tabset>
</div>
</div>
</editable-layout-section>
</div>
<!--Incident and Change 2.0 section end-->
<!--Ticket section begin-->
<div ng-if="type === 'problem' || type === 'knownerror' || type === 'request' || type === 'person'" class="print-version" aria-label="{{'controls.action.print' | i18n}} {{'ticket.region.details' | i18n}}" role="region">
<div ng-if="type !== 'person'" class="ka-profile__header_print clearfix">
<div class="ka-profile__title"><h2>{{entity.summary}}</h2></div>
<div class="ka__article-id">
<h3 class="header__inline-item"><i class="icon-file_text_o ka-details__icon"></i></h3>
<span class="header__ticket-id">{{(type + '.detail.summary.orderId.label') | i18n:(entity.displayId || '')}}</span>
</div>
<div class="clearfix ka-header__bottom-bar">
<div class="clearfix pull-left">
<div class="ka-header__status-print">
{{entity.status.value | localizeLabel: 'status':type}}
</div>
</div>
<div class="clearfix pull-right">
<sla-reach-time sla="entity.SLA"></sla-reach-time>
</div>
</div>
</div>
<div ng-if="type === 'person'" class="ka-profile__header_print clearfix">
<span class="profile__title">{{entity.fullName}}</span>
<span class="person-summary__VIP" ng-if="person.isVIP">{{'common.labels.vip' | i18n}}</span>
<div class="person__department-section">
<div>{{entity.jobTitle}}</div>
<div>{{entity.organization}}</div>
<div>{{entity.department}}</div>
</div>
<div class="person__company-name">
{{entity.company.name}}
</div>
</div>
<div class="ka-profile__body_print clearfix">
<div class="ka__content">
<div aria-label="{{'ticket.region.details' | i18n}}" role="region">
<!--Customer card section -->
<div ng-if="type === 'request'" class="print__ticket-section">
<person-info-card context="entity" person-type="customer" person="entity.customer" class="ticket__owner no-border" profile-type="incident"
label="entity.contact.firstName? 'personInfoCard.person.caption.contactInfo' : ''"></person-info-card>
<div ng-show="entity.contact.firstName" class="ticket__contact">
<div class="ticket__contact-header" tabindex="0">
<!-- TODO: replace with entity-profile-link -->
<span class="person-summary__full-name_link">{{entity.contact.firstName}} {{entity.contact.lastName}} </span>
<span> {{'ticket.contact.madeRequest'| i18n}}</span>
</div>
<person-info-card context="entity" person-type="contact" collapse="isContactCollapsed" profile-type="incident" person="entity.contact"
label=" 'personInfoCard.person.caption.contact'" ng-if="entity.contact.firstName"></person-info-card>
</div>
</div>
<!--Approvals-->
<div ng-if="type === 'request'" class="print__ticket-section">
<span ng-if="entity.approvalList.open && entity.approvalList.open.length" class="print__ticket__approvals-list-label">Open Approvals</span>
<div ng-if="entity.approvalList.open && entity.approvalList.open.length" class="service-request__approvals-list print__ticket__approvals-list" ng-repeat="approval in entity.approvalList.open">
<ng-include src="'views/approval/approval-list-item.html'"></ng-include>
</div>
<span ng-if="entity.approvalList.closed && entity.approvalList.closed.length" class="print__ticket__approvals-list-label">Closed Approvals</span>
<div ng-if="entity.approvalList.closed && entity.approvalList.closed.length" class="service-request__approvals-list print__ticket__approvals-list" ng-repeat="approval in entity.approvalList.closed">
<ng-include src="'views/approval/approval-list-item.html'"></ng-include>
</div>
<span ng-if="entity.approvalList.rejected && entity.approvalList.rejected.length" class="print__ticket__approvals-list-label">Rejected Approvals</span>
<div ng-if="entity.approvalList.rejected && entity.approvalList.rejected.length" class="service-request__approvals-list print__ticket__approvals-list" ng-repeat="approval in entity.approvalList.rejected">
<ng-include src="'views/approval/approval-list-item.html'"></ng-include>
</div>
</div>
<!--Person profile section-->
<div class="person-profile__summary-section" ng-show="!editMode">
<person-info-card person="entity" person-type="person" profile-type="person" class="person__location-section clearfix"></person-info-card>
<div class="person__agent" ng-show="entity.isSupportStaff">
<button type="button" class="btn_link" ng-click="isCollapsed = !isCollapsed" ng-enter="isCollapsed = !isCollapsed">
{{ isCollapsed ? ('common.labels.showMore' | i18n) : ('common.labels.showLess' | i18n) }}
<i class="person__agent-icon" ng-class="isCollapsed ? 'icon-angle_down' : 'icon-angle_up'"></i>
</button>
<div class="person__agent-info" collapse="isCollapsed">
<div class="person__introduction-title">{{'person.details.introduction' | i18n}}</div>
<div class="person__introduction-desc">
{{entity.introduction}}
</div>
<div class="person__agent-info-block">
<div class="person__agent-availability">
<div>
<span class="person__info-label">{{'person.details.enabled' | i18n}}:</span>
<span class="person__point-value">{{entity.enabled? ('common.labels.yes' | i18n) : ('common.labels.no' | i18n)}}</span>
</div>
<div>
<span class="person__info-label">{{'person.details.availableForAssignment' | i18n}}:</span>
<span class="person__point-value">{{entity.availableForAssignment? ('common.labels.yes' | i18n) : ('common.labels.no' | i18n)}}</span>
</div>
</div>
<div class="person__agent-network">
<div>
<span class="person__info-label">{{'person.details.linkedin' | i18n}}:</span>
<span class="person__point-value">{{entity.linkedIn}}</span>
</div>
<div>
<span class="person__info-label">{{'person.details.twitter' | i18n}}:</span>
<span class="person__point-value">{{entity.twitter}}</span>
</div>
</div>
<div class="person__agent-organization">
<div>
<span class="person__info-label">{{'person.details.agentsManager' | i18n}}:</span>
<a aria-label="{{'person.details.agentsManager' | i18n}} {{entity.manager.fullName}}" class="person__point-link" href="#/person/{{entity.manager.loginId | escape}}">{{entity.manager.fullName}}</a>
</div>
<div>
<span class="person__info-label">{{'person.details.costCenter' | i18n}}:</span>
<span class="person__point-value">{{entity.costCenter}}</span>
</div>
</div>
</div>
</div>
</div>
</div>
<!--Service Request Request info-->
<div ng-if="type === 'request'" class="service-request__center-info clearfix" aria-label="{{'serviceRequest.details.requestCoordinator' | i18n}}" role="region" tabindex="0">
<div class="service-request__coordinator">
<div class="ticket__assignee-thumbnail">
<img alt="{{entity.assignee.fullName}}" class="ticket-assignee__thumbnail"
user-availability="entity.assignee" thumbnail-img="{{'data:' + entity.assignee.thumbnailMime + ';base64,' + entity.assignee.thumbnail}}" imgplaceholder="user">
</div>
<span class="label__text">{{'serviceRequest.details.requestCoordinator'|i18n}}</span><br />
<b><a class="person-summary__full-name_link" href="#/person/{{entity.assignee.loginId | escape}}"
aria-label="{{'serviceRequest.details.requestCoordinator'|i18n}} {{entity.assignee.fullName}}" role="link">
{{entity.assignee.fullName}} </a></b>
</div>
<div class="service-request__quantity" ng-if="!entity.isAttributeHidden['quantity']">
<form name="forms.requestQuantity">
<label>
<span class="label__text" ng-class="{'required__label': isDraft}" data-required="{{'common.label.required.bracketed' | i18n}}">
{{'serviceRequest.details.quantity' | i18n}}
</span>
<div ng-if="!isDraft"><b>{{entity.quantity}}</b></div>
</label>
</form>
</div>
<div class="service-request__price " ng-if="!entity.isAttributeHidden['price']">
<span class="label__text">{{'serviceRequest.details.price' | i18n}}</span>
<div><b>{{(entity.quantity || 1) * entity.price | number:2}} {{entity.currency}}</b></div>
</div>
</div>
<div ng-if="type === 'request'" class="service-request__definition-section clearfix" aria-label="{{'serviceRequest.details.requestDefinition' | i18n}}" role="region" tabindex="0">
<div class="service-request__definition">
<div class="service-request-definition-label label__text">{{'serviceRequest.details.requestDefinition'|i18n}}</div>
<div class="service-request-definition-name">{{entity.requestTemplateTitle}}</div>
<div class="service-request-definition-label label__text">{{'serviceRequest.details.detailedDesc' | i18n}}</div>
<div class="service-request-definition-name">{{entity.desc}}</div>
</div>
<div class="service-request__questions">
<div class="srd-questions-placeholder">
<div ng-repeat="question in entity.questionResponses">
<span class="service-request-definition-label label__text">{{ question.questionText }} :</span>
<div class="service-request-definition-name">{{ question.displayValue }}</div>
</div>
</div>
</div>
</div>
<div ng-if="type === 'request'" class="profile__relation print__request-fulfillment" aria-label="{{'ticket.region.relationship' | i18n}}" role="region" tabindex="0">
<tabset justified="true" class="tabset_short-relative-tabs">
<tab heading="{{'serviceRequest.details.fulfillment' | i18n}}"></tab>
<fulfillment-map context="entity" is-draft="isDraft"></fulfillment-map>
</tabset>
</div>
<!--Record summary section-->
<div ng-if="type !== 'request' && type !== 'person'" class="print__ticket-record-details row">
<div class="col-md-8">
<div ng-if ="type === 'problem' || type === 'knownerror'" class="clearfix row">
<div ng-if="type === 'problem' || type === 'knownerror'" class="ticket__problem-details-row col-md-4" >
<div class="ticket__label-small">{{'ticket.detail.company' | i18n}}</div>
<span ng-if="entity.company.name" class="ticket__field-value">{{entity.company.name}}</span>
<span ng-if="!entity.company.name" class="ticket__field-value">{{'common.label.na' | i18n}}</span>
</div>
<div ng-if="entity.impactedService.name" class="ticket-category-section__impacted-service col-sm-6 print__ticket-category-section">
<div class="ticket__label-small">{{'ticket.detail.affectedService' | i18n}}</div>
<a class="ticket-impacted-service__title" ng-if="entity.impactedService.name"
href="#/asset/{{entity.impactedService.reconciliationId | escape}}/{{entity.impactedService.classId}}">
{{entity.impactedService.name}}
</a>
<span ng-if="!entity.impactedService.name" class="ticket__field-value">{{'common.label.na' | i18n}}</span>
</div>
<div ng-if="entity.causalCI.name" class="ticket-category-section__impacted-asset col-sm-6 print__ticket-category-section">
<div class="ticket__label-small">{{'ticket.detail.affectedAsset' | i18n}}</div>
<a class="ticket-impacted-asset__title" ng-if="entity.causalCI.name"
href="#/asset/{{entity.causalCI.reconciliationId | escape}}/{{entity.causalCI.classId}}">
{{entity.causalCI.name}}
</a>
<span ng-if="!entity.causalCI.name" class="ticket__field-value">{{'common.label.na' | i18n}}</span>
</div>
<div class="col-sm-12" ng-if="type === 'incident'">
<div class="ticket-category-section__service-type col-sm-6">
<div class="ticket__label-small">{{'create.incident.incidentType' | i18n}}</div>
<span class="ticket__field-value" ng-if="entity.serviceType">
{{entity.serviceType | localizeLabel: 'serviceType':'incident' }}
</span>
<span ng-if="!entity.serviceType" class="ticket__field-value">{{'common.label.na' | i18n}}</span>
</div>
</div>
</div>
<div ng-if="type === 'problem'" class="row">
<div class="ticket__problem-details-row col-md-4">
<div class="ticket__label-small">{{'ticket.detail.problemLocation' | i18n}}</div>
<span ng-if="entity.location.region" class="ticket__field-value">{{buildSiteTag(entity.location)}}</span>
<span ng-if="!entity.location.region" class="ticket__field-value">{{entity.company.name}}</span>
</div>
<div class="ticket__problem-details-row col-md-4">
<div class="ticket__label-small">{{'ticket.detail.investigationDriver' | i18n}}</div>
<span ng-if="entity.investigationDriver" class="ticket__field-value">{{entity.investigationDriver | localizeLabel: 'investigationDriver': 'problem'}}</span>
<span ng-if="!entity.investigationDriver" class="ticket__field-value">{{'common.label.na' | i18n}}</span>
</div>
</div>
<form ng-if ="type === 'problem' || type === 'knownerror'" name="forms.editIncidentRecordSummarySection">
<label class="label_control-wrap">
<span class="label__text">
{{label || ('common.label.desc' | i18n)}}
</span>
<div class="print__ticket-desc ticket__field-value">
{{entity.desc}}
</div>
<div class="attached-files" ng-class="{'file__drop-target' : dropable} " ng-if="attachments && attachments.length > 0">
<div ng-include="'views/common/feed-attachments.html'"></div>
</div>
</label>
<div class="print__ticket-impacted-areas" ng-if="entity.impactedAreas && entity.impactedAreas.length > 0">
<div class="ticket__change-impacted-areas-label">{{'ticket.detail.impactedAreas' | i18n}}</div>
<impacted-areas ticket="entity" removable="editMode"></impacted-areas>
</div>
<div ng-if="type === 'knownerror' && entity.viewAccess" class="col-sm-12">
<label class="label_control-wrap">
<span>{{'create.knownerror.viewAccess' | i18n}}</span>
<div class="ticket__field-value">{{entity.viewAccess | localizeLabel: 'viewAccess':'knownerror'}}</div>
</label>
</div>
<div class="row" ng-if="entity.rootCause">
<div class="ticket__problem-details-row col-md-12">
<div class="ticket__label-small">{{'ticket.detail.rootCause' | i18n}}</div>
<span class="ticket__field-value">{{entity.rootCause}}</span>
</div>
</div>
<div class="row" ng-if="entity.workaround">
<div class="ticket__problem-details-row col-md-12">
<div class="ticket__label-small">{{'ticket.detail.workaround' | i18n}}</div>
<div class="print__ticket-desc ticket__field-value">
{{entity.workaround}}
</div>
</div>
</div>
<div ng-if="entity.resolution">
<div class="ticket__label-small">{{'ticket.resolutionNote' | i18n}}</div>
<div class="print__ticket-desc ticket__field-value">
{{entity.resolution}}
</div>
</div>
<custom-field-area ng-if="type !== 'change'" ticket="entity" panel-id="{{ticketDetailsScreen + '.Record Summary'}}"
update-is-handled-by-parent="true" class="editable-content-section-block" stacked="true">
</custom-field-area>
</form>
</div>
<div class="col-md-4">
<form name="forms.editIncidentCategorizationSection">
<categories-section context="entity" class="editable-content-section-block"
update-is-handled-by-parent="true"></categories-section>
<custom-field-area ng-if="type !== 'change'" ticket="entity" panel-id="{{ticketDetailsScreen + '.Categorization'}}"
update-is-handled-by-parent="true" class="editable-content-section-block" stacked="true"></custom-field-area>
</form>
</div>
</div>
<!-- Dynamic fields section -->
<editable-content-section id="ticket-dynamic-fields-section" hide-edit-button="editDisabledFor('ticket-dynamic-fields-section')"
edit-mode-allowed="false"
class="print__ticket-section" ng-if="entity.dynamicFields.length"
aria-label="{{'customArea.header.dynamicFields' | i18n}}"
edit-button-label = "'dynamicFields'" role="region" tabindex="0">
<dynamic-field-area ticket="entity" class="custom-area_padded editable-content-section-block"></dynamic-field-area>
</editable-content-section>
<!-- Assignment section -->
<div ng-if="type !== 'request'" class="row ticket-assignement-section">
<div ng-if="(type === 'problem' || type === 'knownerror') && (entity.coordinator || entity.coordinatorGroup)" class="ticket__assignee col-sm-6">
<div class="col-sm-1">
<img ng-if="entity.coordinator.loginId" alt="{{entity.coordinator.fullName}}" class="ticket-assignee__thumbnail " user-availability="entity.coordinator" imgplaceholder="user"
thumbnail-img="{{'data:' + entity.coordinator.thumbnailMime + ';base64,' + entity.coordinator.thumbnail}}" />
<span ng-if="!entity.coordinator.loginId" class="ticket-assignee__none icon-question_circle"></span>
</div>
<div class="ticket-assignee__details">
<div class="ticket__label-small">{{(type === 'change' ? 'change.detail.changeCoordinator' : 'problem.details.coordinator') | i18n }}</div>
<span ng-if="!entity.coordinator.loginId" class="ticket__field-value">{{'common.label.noneYet' | i18n }}</span>
<span ng-if="entity.coordinator.loginId" class="ticket__field-value">
<a aria-label="{{'problem.details.coordinator' | i18n}} {{entity.coordinator.fullName}}"
href="#/person/{{entity.coordinator.id | escape}}">{{entity.coordinator.fullName}}</a>
</span>
<div class="ticket__label-small">{{'common.labels.coordinatorGroup' | i18n}}</div>
<span class="ticket__field-value">{{ entity.coordinatorGroup.name || ('common.label.noneYet' | i18n ) }}</span>
</div>
</div>
<div ng-if="entity.assignee || entity.supportGroup" class="print__ticket-assignee col-sm-6">
<div class="col-sm-1">
<img alt="{{entity.assignee.fullName}}" ng-if="entity.assignee.loginId" class="ticket-assignee__thumbnail" user-availability="entity.assignee" imgplaceholder="user"
thumbnail-img="{{'data:' + entity.assignee.thumbnailMime + ';base64,' + entity.assignee.thumbnail}}" />
<span ng-if="!entity.assignee.loginId" class="ticket-assignee__none icon-question_circle"></span>
</div>
<div class="ticket-assignee__details">
<div class="ticket__label-small">{{(type === 'change' ? 'change.detail.changeCoordinator' : 'common.labels.assignedTo') | i18n}}</div>
<span ng-if="!entity.assignee.loginId" class="ticket__field-value">{{'common.label.noneYet' | i18n }}</span>
<span ng-if="entity.assignee.loginId" class="ticket__field-value">
<a aria-label="{{'common.labels.assignee' | i18n}} {{entity.assignee.fullName}}"
href="#/person/{{entity.assignee.loginId | escape}}">{{entity.assignee.fullName}}</a>
</span>
<div class="ticket__label-small">{{(type === 'change' ? 'common.labels.coordinatorGroup' : 'common.labels.supportGroup') | i18n}}</div>
<span class="ticket__field-value">{{ entity.supportGroup.name || ('common.label.noneYet' | i18n ) }}</span>
</div>
</div>
</div>
<!-- Additional info section -->
<editable-content-section ng-if="type !== 'change'" id="ticket-additional-info" class="top-border" hide-edit-button="true"
edit-mode-allowed="false" aria-label="{{'customArea.header.additionalInfo' | i18n}}"
edit-button-label = "'additionalInfo'" role="region" tabindex="0"
ng-if="customFields">
<form name="forms.editIncidentAdditionalInfoSection">
<custom-field-area panel-id="{{ticketDetailsScreen + '.Additional Info'}}" ticket="entity" class="editable-content-section-block"></custom-field-area>
</form>
</editable-content-section>
<!-- Tasks & Linked Items -->
<div ng-if="type !== 'request' && type !== 'person'" class="profile__relation" aria-label="{{'ticket.region.relationship' | i18n}}" role="region" tabindex="0">
<tabset justified="true" class="tabset_short-relative-tabs">
<tab ng-if="type !== 'task' && relationCounters.tasks" class="print__ticket-tabs" heading="{{'common.label.tasks' | i18n}} ({{relationCounters.tasks}})"></tab>
<ticket-tasks ng-if="type !== 'change' && type !== 'task' && relationCounters.tasks" ticket="entity" relation-counters="relationCounters" tasks-disabled="true"></ticket-tasks>
<change-tasks ng-if="type === 'change' && type !== 'task' && relationCounters.tasks" ticket="entity" tasks-disabled="true"></change-tasks>
<tab ng-if="relationCounters.linkedItems || relationCounters.CIs" class="print__ticket-tabs" id="linkedResourcesTab_{{entity.id}}" heading="{{'common.tabs.linkedItems' | i18n}} ({{relationCounters.linkedItems}})"></tab>
<related-item-list ng-if="relationCounters.linkedItems || relationCounters.CIs" dependency="ticket-to-all" context="entity" is-draft="isDraft" relation-counters="relationCounters"></related-item-list>
</tabset>
</div>
<!--Person profile tabs-->
<div ng-if="type === 'person'" class="person__relationships-section" aria-label="{{'ticket.region.relationship' | i18n}}" role="region" tabindex="0">
<tabset justified="true" class="tabset_short-relative-tabs" ng-if="!entity.isSupportStaff">
<tab heading="{{'common.tabs.openTickets' | i18n}}"></tab>
<div role="region" aria-label="{{'common.tabs.openTickets' | i18n}}" tabindex="0">
<div tabindex="0" class="person-items__no-tickets-found" ng-show="!personOpenTickets.length">
{{'person.details.tickets.noTicketsFound' | i18n}}
</div>
<div class="person-item__template" ng-repeat="ticket in personOpenTickets" aria-label="{{'common.tabs.tickets' | i18n}} {{'ticket.region.details' | i18n}}"
tabindex="0" role="heading" aria-labelledby="personInfo_{{data.id}}">
<person-ticket-renderer data="ticket" ng-click="showProfileDetails(ticket, 'ticket', $event)"></person-ticket-renderer>
</div>
</div>
<tab heading="{{'common.tabs.allTickets' | i18n}}"></tab>
<div role="region" aria-label="{{'common.tabs.allTickets' | i18n}}" tabindex="0">
<div tabindex="0" class="person-items__no-tickets-found" ng-show="!personAllTickets.length">
{{'person.details.tickets.noTicketsFound' | i18n}}
</div>
<div class="person-item__template" ng-repeat="ticket in personAllTickets" aria-label="{{'common.tabs.tickets' | i18n}} {{'ticket.region.details' | i18n}}"
tabindex="0" role="heading" aria-labelledby="personInfo_{{data.id}}">
<person-ticket-renderer data="ticket" ng-click="showProfileDetails(ticket, 'ticket', $event)"></person-ticket-renderer>
</div>
</div>
<tab heading="{{'common.tabs.assets' | i18n}}"></tab>
<div role="region" aria-label="{{'common.tabs.assets' | i18n}}" tabindex="0">
<div tabindex="0" class="person-items__no-assets-found" ng-show="!personAssetList.length">
{{'person.details.assets.noAssetsFound' | i18n}}
</div>
<div class="person-item__template" ng-repeat="asset in personAssetList" aria-label="{{'common.tabs.assets' | i18n}} {{'ticket.region.details' | i18n}}"
tabindex="0" role="heading" aria-labelledby="assetInfo_{{data.name}}">
<person-asset-renderer data="asset" ng-click="showProfileDetails(asset, 'asset', $event)"></person-asset-renderer>
</div>
</div>
</tabset>
<tabset justified="true" class="tabset_short-relative-tabs" ng-if="entity.isSupportStaff">
<tab heading="{{'common.tabs.tickets' | i18n}}"></tab>
<div role="region" aria-label="{{'common.tabs.tickets' | i18n}}" tabindex="0">
<div tabindex="0" class="person-items__no-tickets-found"
ng-show="!personOpenTickets.length && !personAssignedTickets.length">
{{'person.details.tickets.noTicketsFound' | i18n}}
</div>
<div class="person-items__tickets" ng-if="personOpenTickets.length">
<div tabindex="0" role="heading" class="person-ticket__type-title">{{'person.details.tickets.requestedBy' | i18n}} {{entity.firstName}} ({{personOpenTicketsTotalMatches || 0}})</div>
<div class="person-item__template" ng-repeat="ticket in personOpenTickets | orderBy :'modifiedDate': true" aria-label="{{'common.tabs.tickets' | i18n}} {{'ticket.region.details' | i18n}}" tabindex="0"
role="heading" aria-labelledby="personInfo_{{data.id}}">
<person-ticket-renderer data="ticket" ng-click="showProfileDetails(ticket, 'ticket', $event)"></person-ticket-renderer>
</div>
</div>
<div class="clearfix person-items__tickets-assigned" ng-if="personAssignedTickets.length">
<div tabindex="0" role="heading" class="person-ticket__type-title">{{'person.details.tickets.assignedTo' | i18n}} {{entity.firstName}} ({{personAssignedTicketsTotalMatches || 0}})</div>
<div class="person-item__template" ng-repeat="ticket in personAssignedTickets | orderBy :'modifiedDate':true" aria-label="{{'common.tabs.tickets' | i18n}} {{'ticket.region.details' | i18n}}"
tabindex="0" aria-labelledby="personInfo_{{data.id}}" role="heading">
<person-ticket-renderer data="ticket" ng-click="showProfileDetails(ticket, 'ticket', $event)"></person-ticket-renderer>
</div>
</div>
</div>
<tab heading="{{'common.tabs.assets' | i18n}}"></tab>
<div role="region" aria-label="{{'common.tabs.assets' | i18n}}" tabindex="0">
<div tabindex="0" class="person-items__no-assets-found" ng-show="!personAssetList.length">
{{'person.details.assets.noAssetsFound' | i18n}}
</div>
<div class="person-item__template" ng-repeat="asset in personAssetList" aria-label="{{'common.tabs.assets' | i18n}} {{'ticket.region.details' | i18n}}"
tabindex="0" role="heading" aria-labelledby="assetInfo_{{data.name}}">
<person-asset-renderer data="asset" ng-click="showProfileDetails(asset, 'asset', $event)"></person-asset-renderer>
</div>
</div>
<tab heading="{{'common.tabs.supportGroups' | i18n}}"></tab>
<div role="region" aria-label="{{'common.tabs.supportGroups' | i18n}}" tabindex="0">
<div tabindex="0" class="person-items__no-groups-found" ng-show="!personSupportGroups.length">
{{'person.details.supportGroups.noGroupsFound' | i18n}}
</div>
<div class="person-item__template" ng-repeat="group in personSupportGroups" aria-label="{{'common.tabs.supportGroups' | i18n}} {{'ticket.region.details' | i18n}}"
tabindex="0" role="heading" aria-labelledby="personSupportGroupInfo_{{data.name}}">
<person-support-group-renderer data="group"></person-support-group-renderer>
</div>
</div>
<tab heading="{{'common.tabs.knowledge' | i18n}}"></tab>
<div role="region" aria-label="{{'common.tabs.knowledge' | i18n}}" tabindex="0">
<div tabindex="0" class="person-items__no-knowledge-articles-found" ng-show="!personKnowledgeArticles.length">
{{'person.details.knowledgeArticles.noArticlesFound' | i18n}}
</div>
<div class="person-item__template" ng-repeat="article in personKnowledgeArticles" aria-label="{{'common.tabs.knowledge' | i18n}} {{'ticket.region.details' | i18n}}"
tabindex="0" role="heading" aria-labelledby="personKnowledgeInfo_{{data.title}}">
<person-knowledge-renderer data="article" ng-click="showProfileDetails(article, 'knowledge', $event)"></person-knowledge-renderer>
</div>
</div>
</tabset>
</div>
<!--Activity & resources -->
<div class="print_profile__support-panel" aria-label="{{'common.labels.' + type | i18n}} {{'ticket.region.support' | i18n}}" role="region">
<tabset justified="true" class="tabset_short-relative-tabs">
<tab ng-if="feed.length" class="print__ticket-tabs" heading="{{'common.tabs.activity' | i18n}}"></tab>
<div ng-if="feed.length" class="print__ticket-tab-activity"><timeline-item-renderer ng-repeat="feedItem in feed" type="type" parent-context="entity" item="feedItem" show-context="showContext(feedItem)"
expand-item="expandItem(feedItem)" handle-attachment-click="handleAttachmentClick(type, attachment, returnAsBlob, isMyITComment)"
save-note="saveNote(noteData)" handle-like-click="handleLikeClick(feedItem)" is-unflag-edit-allowed="isUnflagEditAllowed"></timeline-item-renderer></div>
<tab ng-if="type !== 'change' && type !== 'request' && type !== 'task' && type !== 'person'" class="print__ticket-tabs" active="isDraft" heading="{{'common.tabs.resources' | i18n}}"></tab>
<rs ng-if="type !== 'change' && type !== 'request' && type !== 'task' && type !== 'person' && entity.id" context="entity">
<rs-recommended-outages ng-if="type === 'incident'"></rs-recommended-outages>
</rs>
</tabset>
</div>
</div>
</div>
</div>
</div>
<!--Ticket section end-->
<!--Service Broker section begin-->
<div ng-if="type === 'sberequest'" class="print-version" aria-label="{{'controls.action.print' | i18n}} {{'ticket.region.details' | i18n}}" role="region">
<div class="ka-profile__header_print clearfix">
<div class="ka-profile__title"><h2>{{entity.serviceName}}</h2></div>
<div class="ka__article-id">
<h3 class="header__inline-item"><i class="icon-file_text_o ka-details__icon"></i></h3>
<span class="header__ticket-id">{{'sbeRequest.detail.summary.orderId.label' | i18n:(entity.id || '')}}</span>
</div>
<div class="clearfix ka-header__bottom-bar">
<div class="clearfix">
<div class="ka-header__status-print">
<span class="label__text">{{'common.labels.status' | i18n}}: </span> {{'serviceRequest.status.'+entity.status.value | i18n}}
</div>
<div class="ka-header__status-print" ng-if="entity.status.reason">
<span class="label__text">{{'ticket.statusReason' | i18n}}: </span> {{entity.status.reason}}
</div>
</div>
</div>
</div>
<div class="ka-profile__body_print clearfix">
<div class="ka__content">
<div aria-label="{{'ticket.region.details' | i18n}}" role="region">
<!--Customer card section -->
<div class="print__ticket-section">
<person-info-card context="entity" person-type="customer" person="entity.requestedFor" class="ticket__owner no-border" profile-type="incident"
label="entity.contact.firstName? 'personInfoCard.person.caption.contactInfo' : ''"></person-info-card>
<div ng-show="entity.requestedBy.firstName" class="ticket__contact">
<div class="ticket__contact-header" tabindex="0">
<!-- TODO: replace with entity-profile-link -->
<span class="person-summary__full-name_link">{{entity.requestedBy.firstName}} {{entity.requestedBy.lastName}} </span>
<span> {{'ticket.contact.madeRequest'| i18n}}</span>
</div>
<person-info-card context="entity" person-type="contact" collapse="isContactCollapsed" profile-type="incident" person="entity.requestedBy"
label=" 'personInfoCard.person.caption.contact'" ng-if="entity.requestedBy.firstName"></person-info-card>
</div>
</div>
<!--Approvals-->
<div class="print__ticket-section">
<span ng-if="entity.approvalList.open && entity.approvalList.open.length" class="print__ticket__approvals-list-label">Open Approvals</span>
<div ng-if="entity.approvalList.open && entity.approvalList.open.length" class="service-request__approvals-list print__ticket__approvals-list" ng-repeat="approval in entity.approvalList.open">
<ng-include src="'views/approval/approval-list-item.html'"></ng-include>
</div>
<span ng-if="entity.approvalList.closed && entity.approvalList.closed.length" class="print__ticket__approvals-list-label">Closed Approvals</span>
<div ng-if="entity.approvalList.closed && entity.approvalList.closed.length" class="service-request__approvals-list print__ticket__approvals-list" ng-repeat="approval in entity.approvalList.closed">
<ng-include src="'views/approval/approval-list-item.html'"></ng-include>
</div>
<span ng-if="entity.approvalList.rejected && entity.approvalList.rejected.length" class="print__ticket__approvals-list-label">Rejected Approvals</span>
<div ng-if="entity.approvalList.rejected && entity.approvalList.rejected.length" class="service-request__approvals-list print__ticket__approvals-list" ng-repeat="approval in entity.approvalList.rejected">
<ng-include src="'views/approval/approval-list-item.html'"></ng-include>
</div>
</div>
<!--Person profile section-->
<div class="person-profile__summary-section" ng-show="!editMode">
<person-info-card person="entity" person-type="person" profile-type="person" class="person__location-section clearfix"></person-info-card>
<div class="person__agent" ng-show="entity.isSupportStaff">
<button type="button" class="btn_link" ng-click="isCollapsed = !isCollapsed" ng-enter="isCollapsed = !isCollapsed">
{{ isCollapsed ? ('common.labels.showMore' | i18n) : ('common.labels.showLess' | i18n) }}
<i class="person__agent-icon" ng-class="isCollapsed ? 'icon-angle_down' : 'icon-angle_up'"></i>
</button>
<div class="person__agent-info" collapse="isCollapsed">
<div class="person__introduction-title">{{'person.details.introduction' | i18n}}</div>
<div class="person__introduction-desc">
{{entity.introduction}}
</div>
<div class="person__agent-info-block">
<div class="person__agent-availability">
<div>
<span class="person__info-label">{{'person.details.enabled' | i18n}}:</span>
<span class="person__point-value">{{entity.enabled? ('common.labels.yes' | i18n) : ('common.labels.no' | i18n)}}</span>
</div>
<div>
<span class="person__info-label">{{'person.details.availableForAssignment' | i18n}}:</span>
<span class="person__point-value">{{entity.availableForAssignment? ('common.labels.yes' | i18n) : ('common.labels.no' | i18n)}}</span>
</div>
</div>
<div class="person__agent-network">
<div>
<span class="person__info-label">{{'person.details.linkedin' | i18n}}:</span>
<span class="person__point-value">{{entity.linkedIn}}</span>
</div>
<div>
<span class="person__info-label">{{'person.details.twitter' | i18n}}:</span>
<span class="person__point-value">{{entity.twitter}}</span>
</div>
</div>
<div class="person__agent-organization">
<div>
<span class="person__info-label">{{'person.details.agentsManager' | i18n}}:</span>
<a aria-label="{{'person.details.agentsManager' | i18n}} {{entity.manager.fullName}}" class="person__point-link" href="#/person/{{entity.manager.loginId | escape}}">{{entity.manager.fullName}}</a>
</div>
<div>
<span class="person__info-label">{{'person.details.costCenter' | i18n}}:</span>
<span class="person__point-value">{{entity.costCenter}}</span>
</div>
</div>
</div>
</div>
</div>
</div>
<!--Service Request Request info-->
<div class="service-request__center-info clearfix" aria-label="{{'sbeRequest.details.order' | i18n}}" role="region" tabindex="0">
<div class="row service-request__col1">
<div>
<div class="sbe-request__price" ng-if="entity.orderId">
<span class="label__text">{{'sbeRequest.detail.summary.sbeorderId' | i18n}}</span>
<div><b>{{entity.orderId}}</b></div>
</div>
<div class="sbe-request__price" ng-if="entity.paymentType">
<span class="label__text">{{'sbeRequest.details.paymentType' | i18n}}</span>
<div><b>{{entity.paymentType}}</b></div>
</div>
<div class="sbe-request__price" ng-if="entity.quantity">
<span class="label__text">{{'sbeRequest.details.quantity' | i18n}}</span>
<div><b>{{entity.quantity}}</b></div>
</div>
</div>
<div>
<div class="sbe-request__price" ng-if="entity.onceCost">
<span class="label__text">{{'sbeRequest.details.onceCost' | i18n}}</span>
<div><b>{{entity.onceCost}} {{entity.currency}}</b></div>
</div>
<div class="sbe-request__price" ng-if="entity.monthlyCost">
<span class="label__text">{{'sbeRequest.details.monthlyCost' | i18n}}</span>
<div><b>{{entity.monthlyCost}} {{entity.currency}}</b></div>
</div>
<div class="sbe-request__price" ng-if="entity.yearlyCost">
<span class="label__text">{{'sbeRequest.details.yearlyCost' | i18n}}</span>
<div><b>{{entity.yearlyCost}} {{entity.currency}}</b></div>
</div>
</div>
<div class="sbe-request__price">
<span class="label__text">{{'sbeRequest.details.completion.date' | i18n}}</span>
<div><b>{{ entity.completedDate ? ((entity.completedDate | date:'mediumDate') + ' ' + (entity.completedDate| date:'shortTime')) : '-' }}</b></div>
</div>
</div>
</div>
<div class="service-request__definition-section clearfix" aria-label="{{'serviceRequest.details.requestDefinition' | i18n}}" role="region" tabindex="0">
<div class="service-request__definition">
<div class="service-request-definition-label label__text" ng-if="entity.orderTitle">{{'serviceRequest.details.orderTitle' | i18n}}</div>
<div class="service-request-definition-name service-request-definition-desc" ng-if="entity.orderTitle">{{entity.orderTitle}}</div>
<div class="service-request-definition-label label__text" ng-if="entity.excerpt">{{'serviceRequest.details.excerpt' | i18n}}</div>
<div class="service-request-definition-name service-request-definition-desc" ng-if="entity.excerpt">{{entity.excerpt}}</div>
<div class="service-request-definition-label label__text" ng-if="entity.description">{{'serviceRequest.details.detailedDesc' | i18n}}</div>
<div class="service-request-definition-name service-request-definition-desc" ng-if="entity.description">{{entity.description}}</div>
</div>
<div class="service-request__questions">
<div class="srd-questions-container">
<div class="srd-questions-placeholder">
<div ng-repeat="question in entity.answers">
<span class="service-request-definition-label label__text">{{ question.questionText }} :</span>
<div class="service-request-definition-name" ng-if="question.format != 'ATTACHMENT'">{{ question.displayValue }}</div>
<div class="service-request-definition-name" ng-if="question.format == 'ATTACHMENT'">
<div ng-if="question.displayValues.length" ng-repeat="attachment in question.additionalInfo">
<i class="icon-paperclip"></i> {{attachment.metadataFileName}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="profile__relation print__request-fulfillment" aria-label="{{'ticket.region.relationship' | i18n}}" role="region" tabindex="0">
<tabset justified="true" class="tabset_short-relative-tabs">
<tab heading="{{'serviceRequest.details.fulfillment' | i18n}}"></tab>
<fulfillment-map context="entity" is-draft="isDraft"></fulfillment-map>
</tabset>
</div>
<!--Activity & resources -->
<!--<div class="print_profile__support-panel" aria-label="{{'common.labels.' + type | i18n}} {{'ticket.region.support' | i18n}}" role="region">-->
<!--<tabset justified="true" class="tabset_short-relative-tabs">-->
<!--<tab ng-if="feed.length" class="print__ticket-tabs" heading="{{'common.tabs.activity' | i18n}}"></tab>-->
<!--<div ng-if="feed.length" class="print__ticket-tab-activity"><timeline-item-renderer ng-repeat="feedItem in feed" type="type" parent-context="entity" item="feedItem" show-context="showContext(feedItem)"-->
<!--expand-item="expandItem(feedItem)" handle-attachment-click="handleAttachmentClick(type, attachment, returnAsBlob, isMyITComment)"-->
<!--save-note="saveNote(noteData)" handle-like-click="handleLikeClick(feedItem)" is-unflag-edit-allowed="isUnflagEditAllowed"></timeline-item-renderer></div>-->
<!--<tab ng-if="type !== 'change' && type !== 'request' && type !== 'task' && type !== 'person'" class="print__ticket-tabs" active="isDraft" heading="{{'common.tabs.resources' | i18n}}"></tab>-->
<!--<rs ng-if="type !== 'change' && type !== 'request' && type !== 'task' && type !== 'person' && entity.id" context="entity">-->
<!--<rs-recommended-outages ng-if="type === 'incident'"></rs-recommended-outages>-->
<!--</rs>-->
<!--</tabset>-->
<!--</div>-->
</div>
</div>
</div>
</div>
<!--Service Broker section end-->
<!--Asset section begin-->
<div ng-if="type === 'asset'" class="print-version" aria-label="{{'controls.action.print' | i18n}} {{'ticket.region.details' | i18n}}" role="region">
<div class="ka-profile__header_print clearfix">
<div class="ka-profile__title"><h2>{{entity.name}}</h2></div>
<div class="asset__header-details-section row">
<div ng-if="asset.isPoi" class="row">
<div class="col-md-12 asset-point__value">
{{'asset.details.crowdsourcedAsset' | i18n}}
</div>
<div class="col-md-4 col-sm-6 asset-point">
<div class="asset-point__label"><span class="icon-users_o asset__status-poi-icon"></span>{{'asset.details.poi.status' | i18n}}:</div>
<div class="asset-point__value">{{ (entity.poiInfo.status | localizeLabel: 'status':'asset') || entity.poiInfo.status }}</div>
</div>
<div class="col-md-4 col-sm-6 asset-point">
<div class="asset-point__label"><span class="icon-users_o asset__status-poi-icon"></span>{{'asset.details.poi.type' | i18n}}:</div>
<span class="asset-point__value">{{(entity.poiInfo.type | localizeLabel: 'type':'asset') || entity.poiInfo.type }}</span>
</div>
</div>
<div class="row">
<div class="col-md-4 col-sm-6 asset-point">
<div class="asset-point__label">{{'common.labels.status' | i18n}}: </div>{{ (entity.status.value | localizeLabel: 'status':'asset') || entity.status.value }}
</div>
<div ng-if="!entity.isPoiOnly" class="col-md-4 col-sm-6 asset-point">
<div class="asset-point__label">{{'common.labels.type' | i18n}}: </div>{{ (entity.type | localizeLabel: 'type':'asset') || entity.typeLabel }}
</div>
<div ng-if="entity.subType" class="col-md-4 col-sm-6 asset-point">
<div class="asset-point__label">{{'common.labels.subtype' | i18n}}: </div>{{entity.subTypeLabel}}
</div>
<div ng-if="entity.status.reason" class="col-md-4 col-sm-6 asset-point">
<div class="asset-point__label">{{'ticket.statusReason' | i18n}}: </div>{{(entity.status.reason | localizeLabel: 'statusReason':'asset') || entity.status.reason }}
</div>
<div ng-if="entity.company.name" class="col-md-4 col-sm-6 asset-point">
<div class="asset-point__label">{{'common.label.company' | i18n}}: </div>{{entity.company.name}}
</div>
<div ng-if="entity.tagNumber" class="col-md-4 col-sm-6 asset-point">
<div class="asset-point__label">{{'asset.attributes.tag' | i18n}}: </div>{{entity.tagNumber}}
</div>
</div>
</div>
</div>
<div class="ka-profile__body_print clearfix">
<div class="ka__content">
<div aria-label="{{'ticket.region.details' | i18n}}" role="region">
<div>
<!--computer section-->
<div class="print__asset-section" ng-show="customFieldsAvailable || entity.assetType === 'Computer System'">
<div class="row" ng-if="entity.assetType === 'Computer System'">
<div class="col-md-6 col-sm-12">
<div class="row">
<div class="col-sm-6 asset-point" ng-if="entity.assetExtension.hostName">
<div class="asset-point__label">{{'asset.attributes.hostName' | i18n}}:</div>
{{entity.assetExtension.hostName}}
</div>
<div class="col-sm-6 asset-point" ng-if="entity.assetExtension.primaryCapability">
<div class="asset-point__label">{{'asset.attributes.primaryCapability' | i18n}}:</div>
{{entity.assetExtension.primaryCapability}}
</div>
<div class="col-sm-6 asset-point" ng-if="entity.assetExtension.systemType">
<div class="asset-point__label">{{'asset.attributes.systemType' | i18n}}:</div>
{{entity.assetExtension.systemType}}
</div>
<div class="col-sm-6 asset-point" ng-if="entity.assetExtension.virtualSystemType">
<div class="asset-point__label">{{'asset.attributes.virtualSystemType' | i18n}}:</div>
{{entity.assetExtension.virtualSystemType}}
</div>
<div class="col-sm-6 asset-point" ng-if="entity.assetExtension.capabilityList">
<div class="asset-point__label">{{'asset.attributes.capabilityList' | i18n}}:</div>
{{entity.assetExtension.capabilityList}}
</div>
</div>
</div>
<div class="col-md-6 col-sm-12 asset-flatten-view">
<div class="asset-point" ng-if="assetFlattenRelations.BMC_PROCESSOR.length">
<span class="asset-point__label">{{'asset.attributes.processor' | i18n}}</span>
<a ng-click="entity.processorExpand=!entity.processorExpand">{{assetFlattenRelations.BMC_PROCESSOR.length}}
<i ng-class="(!!entity.processorExpand)?'icon-angle_up':'icon-angle_down'"></i></a>
<div ng-show="(!!entity.processorExpand)" ng-repeat="item in assetFlattenRelations['BMC_PROCESSOR']">
<a href="#/asset/{{item.realObject.reconciliationId | escape}}/{{item.realObject.classId}}">{{item.realObject.name}}</a>
</div>
</div>
<div class="asset-point" ng-if="assetFlattenRelations.BMC_OPERATINGSYSTEM.length">
<span class="asset-point__label">{{'asset.attributes.os' | i18n}}</span>
<a ng-click="entity.osExpand=!entity.osExpand">{{assetFlattenRelations.BMC_OPERATINGSYSTEM.length}}
<i ng-class="(!!entity.osExpand)?'icon-angle_up':'icon-angle_down'"></i></a>
<div ng-show="(!!entity.osExpand)" ng-repeat="item in assetFlattenRelations['BMC_OPERATINGSYSTEM']">
<a href="#/asset/{{item.realObject.reconciliationId | escape}}/{{item.realObject.classId}}">{{item.realObject.name}}</a>
</div>
</div>
<div class="asset-point" ng-if="assetFlattenRelations.BMC_DISKDRIVE.length">
<span class="asset-point__label">{{'asset.attributes.disk' | i18n}}</span>
<a ng-click="entity.diskExpand=!entity.diskExpand">{{assetFlattenRelations.BMC_DISKDRIVE.length}}
<i ng-class="(!!entity.diskExpand)?'icon-angle_up':'icon-angle_down'"></i></a>
<div ng-show="(!!entity.diskExpand)" ng-repeat="item in assetFlattenRelations['BMC_DISKDRIVE']">
<a href="#/asset/{{item.realObject.reconciliationId | escape}}/{{item.realObject.classId}}">{{item.realObject.name}}</a>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="row asset-point">
<custom-field-area ticket="asset"
metadata="metadata"
panel-id="assetScreen.Type Specific">
</custom-field-area>
</div>
</div>
</div>
</div>
<!--Generic section-->
<div class="row print__asset-section">
<div class="col-md-6 col-sm-12">
<div class="row">
<div class="asset-point col-sm-6" ng-if="entity.assetId">
<div class="asset-point__label">{{'asset.attributes.classId' | i18n}}: </div> {{entity.assetId}}
</div>
<div class="asset-point col-sm-6" ng-if="entity.impact">
<div class="asset-point__label">{{'asset.attributes.impact' | i18n}}: </div> {{entity.impact}}
</div>
<div class="asset-point col-sm-6" ng-if="entity.manufacturer">
<div class="asset-point__label">{{'asset.attributes.manufacturer' | i18n}}: </div> {{entity.manufacturer}}
</div>
<div class="asset-point col-sm-6" ng-if="entity.urgency">
<div class="asset-point__label">{{'asset.attributes.urgency' | i18n}}: </div> {{entity.urgency}}
</div>
<div class="asset-point col-sm-6" ng-if="entity.systemRole">
<div class="asset-point__label">{{'asset.attributes.systemRole' | i18n}}: </div> {{entity.systemRole}}
</div>
<div class="asset-point col-sm-6" ng-if="entity.product && entity.product.name">
<div class="asset-point__label">{{'asset.attributes.productName' | i18n}}: </div> {{entity.product.name}}
</div>
<div class="asset-point col-sm-6" ng-if="entity.product && entity.product.model">
<div class="asset-point__label">{{'asset.attributes.model' | i18n}}: </div> {{entity.product.model}}
</div>
<div class="asset-point col-sm-6" ng-if="entity.supplier">
<div class="asset-point__label">{{'asset.attributes.supplier' | i18n}}: </div> {{entity.supplier}}
</div>
<div class="asset-point col-sm-6" ng-if="entity.id">
<div class="asset-point__label">{{'asset.attributes.id' | i18n}}: </div>{{entity.id}}
</div>
<div class="asset-point col-sm-6" ng-if="entity.supported != null">
<div class="asset-point__label">{{'asset.attributes.supported' | i18n}}: </div>{{entity.supported? ('common.labels.yes' | i18n) : ('common.labels.no' | i18n)}}
</div>
<div class="asset-point col-sm-6" ng-if="entity.floor">
<div class="asset-point__label">{{'console.column.floor' | i18n}}: </div>{{entity.floor}}
</div>
<div class="asset-point col-sm-6" ng-if="entity.room">
<div class="asset-point__label">{{'console.column.room' | i18n}}: </div>{{entity.room}}
</div>
<div class="asset-point col-sm-6" ng-if="entity.submitter && entity.submitter.loginId && entity.submitter.fullName">
<div class="asset-point__label">{{'console.filter.name.submitter' | i18n}}: </div><a href="#/person/{{entity.submitter.loginId | escape}}">{{entity.submitter.fullName}}</a>
</div>
<div class="asset-point col-sm-6" ng-if="entity.lastModifiedBy && entity.lastModifiedBy.loginId && entity.lastModifiedBy.fullName">
<div class="asset-point__label">{{'asset.attributes.lastModifiedBy' | i18n}}: </div><a href="#/person/{{entity.lastModifiedBy.loginId | escape}}">{{entity.lastModifiedBy.fullName}}</a>
</div>
</div>
<div class="row">
<div class="asset-point col-sm-6" ng-if="entity.financial && entity.accessMappings.financialReadAllowed">
<div class="asset-point__label">{{'asset.attributes.financial' | i18n}}</div>
<a ng-if="!!entity.financialExpand" ng-click="entity.financialExpand=!entity.financialExpand" ng-enter="entity.financialExpand=!entity.financialExpand" tabindex="0" role="list">{{'common.labels.hide' | i18n}} <i class="icon-angle_up"></i></a>
<a ng-if="!entity.financialExpand" ng-click="entity.financialExpand=!entity.financialExpand" ng-enter="entity.financialExpand=!entity.financialExpand" tabindex="0" role="list">{{'common.labels.show' | i18n}} <i class="icon-angle_down"></i></a>
<div class="asset-point__financial" ng-show="(!!entity.financialExpand)" ng-repeat="(key, value) in entity.financial">
<div ng-if="!value.currencycode"><div class="asset-point__label">{{'asset.attributes.'+key | i18n}}: </div> {{value}}</div>
<div ng-if="value.currencycode"><div class="asset-point__label">{{'asset.attributes.'+key | i18n}}: </div> {{value.value | currency : value.currencycode+" " : 2}}</div>
</div>
</div>
<div class="asset-point col-sm-6" ng-if="entity.lifecycleDates">
<div class="asset-point__label">{{'asset.attributes.lifecycleDates' | i18n}}</div>
<a ng-if="!!entity.lifecycleDatesExpand" ng-click="entity.lifecycleDatesExpand=!entity.lifecycleDatesExpand" ng-enter="entity.lifecycleDatesExpand=!entity.lifecycleDatesExpand" tabindex="0" role="list">{{'common.labels.hide' | i18n}} <i class="icon-angle_up"></i></a>
<a ng-if="!entity.lifecycleDatesExpand" ng-click="entity.lifecycleDatesExpand=!entity.lifecycleDatesExpand" ng-enter="entity.lifecycleDatesExpand=!entity.lifecycleDatesExpand" tabindex="0" role="list">{{'common.labels.show' | i18n}} <i class="icon-angle_down"></i></a>
<div class="asset-point__dates" ng-show="(!!entity.lifecycleDatesExpand)" ng-repeat="(key, value) in entity.lifecycleDates">
<div class="asset-point__label">{{'asset.attributes.'+key | i18n}}: </div> {{value | date:"MMM d, y h:mm a"}}
</div>
</div>
</div>
</div>
<div class="col-md-6 col-sm-12">
<div class="asset-point" ng-if="entity.partNumber">
<div class="asset-point__label">{{'asset.attributes.partNumber' | i18n}}: </div>{{entity.partNumber}}
</div>
<div class="asset-point" ng-if="entity.serialNumber">
<div class="asset-point__label">{{'asset.attributes.serialNumber' | i18n}}: </div> {{entity.serialNumber}}
</div>
<div class="asset-point" ng-if="!editMode">
<categories-section context="entity"></categories-section>
</div>
<div class="asset-point" ng-if="entity.desc">
<label class="label_control-wrap">
<span class="label__text">
{{label || ('common.label.desc' | i18n)}}
</span>
<div class="print__ticket-desc ticket__field-value">
{{entity.desc}}
</div>
</label>
</div>
</div>
<div class="asset-point asset-point__custom-field-area">
<custom-field-area ticket="entity"
panel-id="assetScreen.Generic">
</custom-field-area>
</div>
</div>
<!--Assigment section-->
<div class="col-sm-12 print__asset-assignment-section">
<div ng-include="'views/asset/asset-owner-details.html'"></div>
</div>
<!--Linked items -->
<div ng-if="!entity.isPoiOnly" class="asset__relationships-section" aria-label="{{'ticket.region.relationship' | i18n}}" role="region" tabindex="0">
<tabset justified="true" class="tabset_short-relative-tabs">
<tab heading="{{'common.tabs.linkedItems' | i18n}}"></tab>
<related-item-list dependency="asset-to-tickets" context="entity" is-draft="isDraft"></related-item-list>
<tab heading="{{'common.tabs.assets' | i18n}}"></tab>
<related-item-list dependency="asset-to-assets" context="entity" is-draft="isDraft"></related-item-list>
<tab ng-if="entity.type != 'Business Service'" heading="{{'common.tabs.contract' | i18n}}"></tab>
<asset-contract context="entity" is-draft="isDraft"></asset-contract>
<tab heading="{{'common.tabs.outages' | i18n}}"></tab>
<outage-resources context="entity" is-draft="isDraft" ng-if="entity.outageResourceAvailable"></outage-resources>
<tab heading="{{'common.tabs.people' | i18n}}"></tab>
<div class="resource-slice__body" aria-label="{{'common.tabs.people' | i18n}}" role="region" tabindex="0">
<div loading-spinner if="state.isPersonRelationsLoading" centered="true" overlay="true"></div>
<div>
<div tabindex="0" role="heading" class="resource-slice__empty-list-message" ng-hide="'assetPeopleRelations.' + key">
{{'asset.details.noPeople' | i18n}}
</div>
<div class="asset-items__people" ng-show="'assetPeopleRelations.' + key" ng-repeat="(key, value) in assetPeopleRelations | orderBy: key">
<div class="profile-relation__group-title" role="heading" tabindex="0"
aria-label="{{'common.relationship.type.' + key | i18n}} {{'common.tabs.people' | i18n}}">
{{'asset.details.people.' + key | i18n}}
</div>
<div class="template-item" ng-repeat="person in value" aria-label="{{'common.tabs.people' | i18n}} {{'ticket.region.details' | i18n}}"
role="heading" tabindex="0">
<asset-person-renderer data="person" is-people-type="isPeopleType(person)" remove-people="removePeople(person)"
edit-mode-allowed="false" show-person-details="showPersonDetails(person, $event)"></asset-person-renderer>
</div>
</div>
</div>
</div>
</tabset>
</div>
<!--Activity-->
<div class="print_profile__support-panel">
<tabset justified="true" class="tabset_short-relative-tabs">
<tab ng-if="feed.length" class="print__ticket-tabs" heading="{{'common.tabs.activity' | i18n}}"></tab>
<div ng-if="feed.length" class="print__ticket-tab-activity">
<timeline-item-renderer ng-repeat="feedItem in feed" type="type" parent-context="entity" item="feedItem" show-context="showContext(feedItem)"
expand-item="expandItem(feedItem)" handle-attachment-click="handleAttachmentClick(type, attachment, returnAsBlob, isMyITComment)"
save-note="saveNote(noteData)" handle-like-click="handleLikeClick(feedItem)" is-unflag-edit-allowed="isUnflagEditAllowed">
</timeline-item-renderer>
</div>
</tabset>
</div>
</div>
</div>
</div>
</div>
</div>
<!--Asset section end-->
</div>
<div class="action-blade__footer clearfix">
<div class="action-blade__button-container" aria-label="{{'printDialog.actions' | i18n}}" role="region">
<button type="submit" class="btn_primary" print-element print-element-id=".print-version" entity="entity"
ng-click="printItem()">{{'printDialog.' + type + '.button.print' | i18n}}</button>
<button type="button" class="btn_secondary" ng-click="$dismiss()">{{'printDialog.button.cancel' | i18n}}</button>
</div>
</div>
<span class="modal-content__508-hidden-span">{{'common.labels.508EndContent' | i18n}}</span>
</div>