SmartIT_Extensions/BMC/smart-it-full/views/asset/asset-details-generic-area....

786 lines
36 KiB
HTML

<editable-content-section id="asset-generic"
class="no-border"
edit-mode-allowed="isFullVersion ? asset.accessMappings.detailsEditAllowed : false"
role="region"
tabindex="0"
aria-label="{{'common.aria.labels.asset-detail' | i18n}}"
ng-if="!asset.isPoiOnly"
edit-button-label = "'Asset Details'"
>
<div class="row asset-generic-section" ng-if="!editMode">
<div class="col-md-6 col-sm-12">
<div class="row">
<div class="asset-point col-sm-6" ng-if="asset.assetId">
<div class="asset-point__label">{{'asset.attributes.classId' | i18n}}: </div> {{asset.assetId}}
</div>
<div class="asset-point col-sm-6" ng-if="asset.impact">
<div class="asset-point__label">{{'asset.attributes.impact' | i18n}}: </div>
{{asset.impact | localizeLabel: 'impact': asset.ticketType}}
</div>
<div class="asset-point col-sm-6" ng-if="asset.manufacturer">
<div class="asset-point__label">{{'asset.attributes.manufacturer' | i18n}}: </div> {{asset.manufacturer}}
</div>
<div class="asset-point col-sm-6" ng-if="asset.urgency">
<div class="asset-point__label">{{'asset.attributes.urgency' | i18n}}: </div>
{{asset.urgency | localizeLabel: 'urgency': asset.ticketType}}
</div>
<div class="asset-point col-sm-6" ng-if="asset.systemRole">
<div class="asset-point__label">{{'asset.attributes.systemRole' | i18n}}: </div> {{asset.systemRole}}
</div>
<div class="asset-point col-sm-6" ng-if="asset.product && asset.product.name">
<div class="asset-point__label">{{'asset.attributes.productName' | i18n}}: </div> {{asset.product.name}}
</div>
<div class="asset-point col-sm-6" ng-if="asset.product && asset.product.model">
<div class="asset-point__label">{{'asset.attributes.model' | i18n}}: </div> {{asset.product.model}}
</div>
<div class="asset-point col-sm-6" ng-if="asset.supplier">
<div class="asset-point__label">{{'asset.attributes.supplier' | i18n}}: </div> {{asset.supplier}}
</div>
<div class="asset-point col-sm-6" ng-if="asset.id">
<div class="asset-point__label">{{'asset.attributes.id' | i18n}}: </div>{{asset.id}}
</div>
<div class="asset-point col-sm-6" ng-if="asset.supported != null">
<div class="asset-point__label">{{'asset.attributes.supported' | i18n}}: </div>{{asset.supported? ('common.labels.yes' | i18n) : ('common.labels.no' | i18n)}}
</div>
<div class="asset-point col-sm-6" ng-if="asset.floor">
<div class="asset-point__label">{{'console.column.floor' | i18n}}: </div>{{asset.floor}}
</div>
<div class="asset-point col-sm-6" ng-if="asset.room">
<div class="asset-point__label">{{'console.column.room' | i18n}}: </div>{{asset.room}}
</div>
<div class="asset-point col-sm-6" ng-if="asset.submitter && asset.submitter.loginId && asset.submitter.fullName">
<div class="asset-point__label">{{'console.filter.name.submitter' | i18n}}: </div><a href="#/person/{{asset.submitter.loginId | escape}}">{{asset.submitter.fullName}}</a>
</div>
<div class="asset-point col-sm-6" ng-if="asset.lastModifiedBy && asset.lastModifiedBy.loginId && asset.lastModifiedBy.fullName">
<div class="asset-point__label">{{'asset.attributes.lastModifiedBy' | i18n}}: </div><a href="#/person/{{asset.lastModifiedBy.loginId | escape}}">{{asset.lastModifiedBy.fullName}}</a>
</div>
</div>
<div class="row">
<div class="asset-point col-sm-6" ng-if="asset.financial && asset.accessMappings.financialReadAllowed">
<div class="asset-point__label">{{'asset.attributes.financial' | i18n}}</div>
<a ng-if="!!asset.financialExpand" ng-click="asset.financialExpand=!asset.financialExpand" ng-enter="asset.financialExpand=!asset.financialExpand" tabindex="0" aria-label="{{'asset.attributes.financial' | i18n}} {{'common.labels.hide' | i18n}} {{'common.aria.labels.clickable' | i18n}}" role="list">{{'common.labels.hide' | i18n}} <i class="icon-angle_up"></i></a>
<a ng-if="!asset.financialExpand" ng-click="asset.financialExpand=!asset.financialExpand" ng-enter="asset.financialExpand=!asset.financialExpand" tabindex="0" aria-label="{{'asset.attributes.financial' | i18n}} {{'common.labels.show' | i18n}} {{'common.aria.labels.clickable' | i18n}}" role="list">{{'common.labels.show' | i18n}} <i class="icon-angle_down"></i></a>
<div class="asset-point__financial" ng-show="(!!asset.financialExpand)" ng-repeat="(key, value) in asset.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="asset.lifecycleDates">
<div class="asset-point__label">{{'asset.attributes.lifecycleDates' | i18n}}</div>
<a ng-if="!!asset.lifecycleDatesExpand" ng-click="asset.lifecycleDatesExpand=!asset.lifecycleDatesExpand" ng-enter="asset.lifecycleDatesExpand=!asset.lifecycleDatesExpand" aria-label="{{'asset.attributes.lifecycleDates' | i18n}} {{'common.labels.hide' | i18n}} {{'common.aria.labels.clickable' | i18n}}" tabindex="0" role="list">{{'common.labels.hide' | i18n}} <i class="icon-angle_up"></i></a>
<a ng-if="!asset.lifecycleDatesExpand" ng-click="asset.lifecycleDatesExpand=!asset.lifecycleDatesExpand" ng-enter="asset.lifecycleDatesExpand=!asset.lifecycleDatesExpand" aria-label="{{'asset.attributes.lifecycleDates' | i18n}} {{'common.labels.show' | i18n}} {{'common.aria.labels.clickable' | i18n}}" tabindex="0" role="list">{{'common.labels.show' | i18n}} <i class="icon-angle_down"></i></a>
<div class="asset-point__dates" ng-show="(!!asset.lifecycleDatesExpand)" ng-repeat="(key, value) in asset.lifecycleDates">
<div class="asset-point__label">{{'asset.attributes.'+key | i18n}}: </div> {{(value | date:'mediumDate') + ' ' + (value | date:'shortTime')}}
</div>
</div>
</div>
</div>
<div class="col-md-6 col-sm-12">
<div class="asset-point" ng-if="asset.partNumber">
<div class="asset-point__label">{{'asset.attributes.partNumber' | i18n}}: </div>{{asset.partNumber}}
</div>
<div class="asset-point" ng-if="asset.serialNumber">
<div class="asset-point__label">{{'asset.attributes.serialNumber' | i18n}}: </div> {{asset.serialNumber}}
</div>
<div class="asset-point" ng-if="!editMode">
<categories-section context="asset"></categories-section>
</div>
<div class="asset-point" ng-if="asset.desc">
<edit-summary ticket="asset" context="'detail'" attachment="false"
class="editable-content-section-block" update-is-handled-by-parent="true">
</edit-summary>
</div>
</div>
<div class="asset-point asset-point__custom-field-area">
<custom-field-area ticket="asset"
metadata="metadata"
panel-id="assetScreen.Generic">
</custom-field-area>
</div>
</div>
<form name="assetGenericAttrForm">
<div class="asset-generic-section editable-content-section-block" ng-show="editMode" ng-controller="AssetEditDetailsController">
<div loading-spinner if="isAssetSaving" centered="true" overlay="true"></div>
<div class="row">
<div class="col-md-3 col-sm-6">
<div class="asset-point">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="assetId" entity="asset">
{{'asset.attributes.classId' | i18n}}
</span>
<input type="text" class="text-input form-control" ng-model="updatedModel.assetId"
potentially-required-field field-name="assetId" entity="asset"/>
</label>
</div>
<div class="asset-point">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="impact" entity="asset">
{{'asset.attributes.impact' | i18n}}
</span>
<selection selection-items="metadata.impacts"
selected-item="selectedImpact"
label="label"
value="label"
show-clear=true
selection-callback="updateAssetField('impact',item)"
update-selected-item="true"
field-name="impact"
entity="asset">
</selection>
</label>
</div>
<div class="asset-point">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="manufacturer" entity="asset">
{{'asset.attributes.manufacturer' | i18n}}
</span>
<div class="relative-position">
<input type="text" class="text-input form-control"
ng-model="updatedModel.manufacturer"
placeholder="{{'common.labels.startTyping' | i18n}}"
typeahead="item as item.name for item in getCompaniesByType($viewValue,'Manufacturer')"
typeahead-wait-ms="500"
typeahead-on-select="setCompanyByType($item, 'manufacturer')"
potentially-required-field
field-name="manufacturer"
entity="asset"
ng-blur="onInputFocusBlur()"
uib-tooltip="{{'search.category.exceedsChunkSize' | i18n}}"
tooltip-is-open="state.isTooltipOpenManufacturer"
tooltip-enable="state.exceedsChunkSizeManufacturer"
tooltip-trigger="'none'"
tooltip-placement="auto"
/>
<i class="icon-cross item-input__delete-btn" tabindex=0 role="link"
title="{{'common.button.clear' | i18n}} {{ 'asset.attributes.manufacturer' | i18n }}" ng-if="updatedModel.manufacturer"
focus-input-on-clear ng-click="setCompanyByType({}, 'manufacturer')" ng-enter="setCompanyByType({}, 'manufacturer')">
</i>
</div>
</label>
</div>
<div class="asset-point">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="serialNumber" entity="asset">
{{'asset.attributes.serialNumber' | i18n}}
</span>
<input type="text" class="text-input form-control" ng-model="updatedModel.serialNumber"
potentially-required-field field-name="serialNumber" entity="asset">
</label>
</div>
<div class="asset-point">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="floor" entity="asset">
{{'console.column.floor' | i18n}}
</span>
<input type="text" class="text-input form-control" ng-model="updatedModel.floor"
potentially-required-field field-name="floor" entity="asset">
</label>
</div>
<div class="asset-point">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="room" entity="asset">
{{'console.column.room' | i18n}}
</span>
<input type="text" class="text-input form-control" ng-model="updatedModel.room"
potentially-required-field field-name="room" entity="asset">
</label>
</div>
</div>
<div class="col-md-3 col-sm-6">
<div class="asset-point">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="urgency" entity="asset">
{{'asset.attributes.urgency' | i18n}}
</span>
<selection selection-items="metadata.urgencies"
selected-item="selectedUrgency"
label="label"
value="label"
show-clear=true
selection-callback="updateAssetField('urgency',item)"
update-selected-item="true"
field-name="urgency"
entity="asset">
</selection>
</label>
</div>
<div class="asset-point">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="systemRole" entity="asset">
{{'asset.attributes.systemRole' | i18n}}
</span>
<input type="text" class="text-input form-control" ng-model="updatedModel.systemRole"
potentially-required-field field-name="systemRole" entity="asset">
</label>
</div>
<div class="asset-point">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="supplier" entity="asset">
{{'asset.attributes.supplier' | i18n}}
</span>
<div class="relative-position">
<input type="text" class="text-input form-control"
ng-model="updatedModel.supplier"
placeholder="{{'common.labels.startTyping' | i18n}}"
typeahead="item as item.name for item in getCompaniesByType($viewValue,'Supplier')"
typeahead-wait-ms="500"
typeahead-on-select="setCompanyByType($item, 'supplier')"
potentially-required-field
field-name="supplier"
entity="asset"
ng-blur="hideTooManyResultsMessage()"
uib-tooltip="{{'search.category.exceedsChunkSize' | i18n}}"
tooltip-is-open="state.isTooltipOpenSupplier"
tooltip-enable="state.exceedsChunkSizeSupplier"
tooltip-trigger="'none'"
tooltip-placement="top"
/>
<i class="icon-cross item-input__delete-btn" tabindex=0 role="link"
title="{{'common.button.clear' | i18n}} {{ 'asset.attributes.supplier' | i18n }}" ng-if="updatedModel.supplier"
focus-input-on-clear ng-click="setCompanyByType({}, 'supplier')" ng-enter="setCompanyByType({}, 'supplier')">
</i>
</div>
</label>
</div>
<div class="asset-point">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="partNumber" entity="asset">
{{'asset.attributes.partNumber' | i18n}}
</span>
<input type="text" class="text-input form-control" ng-model="updatedModel.partNumber"
potentially-required-field field-name="partNumber" entity="asset">
</label>
</div>
</div>
<div class="col-md-6 col-sm-12">
<div class="asset-point">
<categories-section context="asset" class="editable-content-section-block"></categories-section>
</div>
<div class="asset-point">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="desc" entity="asset"> {{'common.label.desc' | i18n}} </span>
<textarea ng-model="updatedModel.desc" name="desc" class="text-input form-control"
potentially-required-field field-name="desc" entity="asset"></textarea>
</label>
</div>
</div>
</div>
<div class="row" ng-if="asset.accessMappings.financialEditAllowed">
<div class="asset-point col-md-3 col-sm-6">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="invoiceNumber" entity="asset">
{{'asset.attributes.invoiceNumber' | i18n}}
</span>
<input type="text" class="text-input form-control" ng-model="updatedModel.invoiceNumber"
potentially-required-field field-name="invoiceNumber" entity="asset">
</label>
</div>
<div class="asset-point col-md-3 col-sm-6">
<label class="label_control-wrap">
<span class="label__text"
potentially-required-field
field-name="financial.costCenter"
entity="asset">{{'asset.attributes.costCenter' | i18n}}</span>
<div class="relative-position">
<input type="text"
class="text-input form-control"
autocomplete="off"
potentially-required-field
field-name="financial.costCenter"
entity="asset"
name="costCenter"
ng-model="updatedModel.financial.costCenter"
placeholder="{{'common.labels.startTyping' | i18n}}"
typeahead-editable="false"
typeahead="item as item.label for item in getCostCentersByCompany($viewValue)"
typeahead-on-select="updateCostCenter($item)"
typeahead-wait-ms="500"
typeahead-loading="loadingCostCenters"
ng-blur="onInputFocusBlur()"
uib-tooltip="{{'search.category.exceedsChunkSize' | i18n}}"
tooltip-is-open="state.isTooltipOpenCostCenter"
tooltip-enable="state.exceedsChunkSizeCostCenter"
tooltip-trigger="'none'"
/>
<i class="icon-cross item-input__delete-btn" tabindex=0 role="link"
title="{{'common.button.clear' | i18n}} {{ 'asset.attributes.costCenter' | i18n }}" ng-if="updatedModel.financial.costCenter"
focus-input-on-clear ng-click="updateCostCenter({})" ng-enter="updateCostCenter({})">
</i>
<loading-spinner class="typeahead-loader" if="loadingCostCenters" inline="true"></loading-spinner>
</div>
</label>
</div>
<div class="asset-point col-md-3 col-sm-6">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="financial.budgetCode" entity="asset">
{{'asset.attributes.budgetCode' | i18n}}
</span>
<input type="text" class="text-input form-control" ng-model="updatedModel.financial.budgetCode"
potentially-required-field field-name="financial.budgetCode" entity="asset">
</label>
</div>
<div class="asset-point col-md-3 col-sm-6">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="financial.projectNumber" entity="asset">
{{'asset.attributes.projectNumber' | i18n}}
</span>
<input type="text" class="text-input form-control" ng-model="updatedModel.financial.projectNumber"
potentially-required-field field-name="financial.projectNumber" entity="asset">
</label>
</div>
<!--<div class="asset-point col-md-3 col-sm-6">-->
<!--<label class="label_control-wrap">-->
<!--<span class="label__text">{{'asset.attributes.depreciated' | i18n}}</span>-->
<!--<selection selection-items="metadata.depreciated"-->
<!--selected-item="selectedDepreciated"-->
<!--label="label"-->
<!--value="label"-->
<!--selection-callback="updateAssetField('depreciated',item)"-->
<!--update-selected-item="true">-->
<!--</selection>-->
<!--</label>-->
<!--</div>-->
<!--SW00503167 - hiding currency fields for the time being till this issue is resolved-->
<!--<div class="asset-point col-md-3 col-sm-6">
<label class="label_control-wrap">
<span class="label__text">{{'asset.attributes.unitPrice' | i18n}}</span>
<currency-input
field-name="unitPrice"
model="updatedModel.financial.unitPrice"
title="{{'asset.attributes.unitPrice' | i18n}}">
</currency-input>
</label>
</div>
<div class="asset-point col-md-3 col-sm-6">
<label class="label_control-wrap">
<span class="label__text">{{'asset.attributes.salesTax' | i18n}}</span>
<currency-input
field-name="salesTax"
model="updatedModel.financial.salesTax"
title="{{'asset.attributes.salesTax' | i18n}}">
</currency-input>
</label>
</div>
<div class="asset-point col-md-3 col-sm-6">
<label class="label_control-wrap">
<span class="label__text">{{'asset.attributes.marketValue' | i18n}}</span>
<currency-input
field-name="marketValue"
model="updatedModel.financial.marketValue"
title="{{'asset.attributes.marketValue' | i18n}}">
</currency-input>
</label>
</div>-->
</div>
<div class="row">
<div class="asset-point col-md-4 col-sm-6">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="lifecycleDates.availableDate" entity="asset">
{{'asset.attributes.availableDate' | i18n}}
</span>
<div class="create-ticket__date-time-item">
<div class="custom-field__date">
<input type="text"
class="form-control"
datepicker-popup="mediumDate"
ng-model="lifecycleDates.availableDate.date"
is-open="assetDate.availableDatePicker.open"
show-button-bar="false"
ng-click="openDatePicker(assetDate.availableDatePicker, $event)"
ng-enter="openDatePicker(assetDate.availableDatePicker)"
datepicker-options="datePickerOptions"
ng-change="updateDateTime('availableDate')"
potentially-required-field
field-name="lifecycleDates.availableDate"
entity="asset"
aria-label="{{'asset.attributes.availableDate' | i18n}} {{'common.aria.labels.dateField' | i18n}}"
/>
<i class="icon-calendar custom-field__date-icon"></i>
</div>
<div class="custom-field__time">
<div class="dropdown timepicker">
<div class="dropdown-toggle">
<input class="form-control custom-field__time-input"
type="text"
value="{{lifecycleDates.availableDate.time | date : 'shortTime'}}"
ng-disabled="!lifecycleDates.availableDate.date"
aria-label="{{'asset.attributes.availableDate' | i18n}} {{'common.aria.labels.timeField' | i18n}}"
/>
<i class="icon-clock_o custom-field__time-icon"></i>
</div>
<!--
-->
<div class="dropdown-menu" prevent-click-event>
<timepicker ng-model="lifecycleDates.availableDate.time"
ng-change="updateDateTime('availableDate')"
show-meridian="showMeridian">
</timepicker>
</div>
</div>
</div>
</div>
</label>
</div>
<div class="asset-point col-md-4 col-sm-6">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="lifecycleDates.installationDate" entity="asset">
{{'asset.attributes.installationDate' | i18n}}
</span>
<div class="create-ticket__date-time-item">
<div class="custom-field__date">
<input type="text"
class="form-control"
datepicker-popup="mediumDate"
ng-model="lifecycleDates.installationDate.date"
is-open="assetDate.installationDatePicker.open"
show-button-bar="false"
ng-click="openDatePicker(assetDate.installationDatePicker, $event)"
ng-enter="openDatePicker(assetDate.installationDatePicker)"
datepicker-options="datePickerOptions"
ng-change="updateDateTime('installationDate')"
potentially-required-field
field-name="lifecycleDates.installationDate"
entity="asset"
aria-label="{{'asset.attributes.installationDate' | i18n}} {{'common.aria.labels.dateField' | i18n}} "
/>
<i class="icon-calendar custom-field__date-icon"></i>
</div>
<div class="custom-field__time">
<div class="dropdown timepicker">
<div class="dropdown-toggle">
<input class="form-control custom-field__time-input"
type="text"
value="{{lifecycleDates.installationDate.time | date : 'shortTime'}}"
ng-disabled="!lifecycleDates.installationDate.date"
aria-label="{{'asset.attributes.installationDate' | i18n}} {{'common.aria.labels.timeField' | i18n}}"
/>
<i class="icon-clock_o custom-field__time-icon"></i>
</div>
<!--
-->
<div class="dropdown-menu" prevent-click-event>
<timepicker ng-model="lifecycleDates.installationDate.time"
ng-change="updateDateTime('installationDate')"
show-meridian="showMeridian">
</timepicker>
</div>
</div>
</div>
</div>
</label>
</div>
<div class="asset-point col-md-4 col-sm-6">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="lifecycleDates.receivedDate" entity="asset">
{{'asset.attributes.receivedDate' | i18n}}
</span>
<div class="create-ticket__date-time-item">
<div class="custom-field__date">
<input type="text"
class="form-control"
datepicker-popup="mediumDate"
ng-model="lifecycleDates.receivedDate.date"
is-open="assetDate.receivedDatePicker.open"
show-button-bar="false"
ng-click="openDatePicker(assetDate.receivedDatePicker, $event)"
ng-enter="openDatePicker(assetDate.receivedDatePicker)"
datepicker-options="datePickerOptions"
ng-change="updateDateTime('receivedDate')"
potentially-required-field
field-name="lifecycleDates.receivedDate"
entity="asset"
aria-label="{{'asset.attributes.receivedDate' | i18n}} {{'common.aria.labels.dateField' | i18n}} "
/>
<i class="icon-calendar custom-field__date-icon"></i>
</div>
<div class="custom-field__time">
<div class="dropdown timepicker">
<div class="dropdown-toggle">
<input class="form-control custom-field__time-input"
type="text"
value="{{lifecycleDates.receivedDate.time | date : 'shortTime'}}"
ng-disabled="!lifecycleDates.receivedDate.date"
aria-label="{{'asset.attributes.receivedDate' | i18n}} {{'common.aria.labels.timeField' | i18n}}"
/>
<i class="icon-clock_o custom-field__time-icon"></i>
</div>
<!--
-->
<div class="dropdown-menu" prevent-click-event>
<timepicker ng-model="lifecycleDates.receivedDate.time"
ng-change="updateDateTime('receivedDate')"
show-meridian="showMeridian">
</timepicker>
</div>
</div>
</div>
</div>
</label>
</div>
<div class="asset-point col-md-4 col-sm-6">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="lifecycleDates.returnDate" entity="asset">
{{'asset.attributes.returnDate' | i18n}}
</span>
<div class="create-ticket__date-time-item">
<div class="custom-field__date">
<input type="text"
class="form-control"
datepicker-popup="mediumDate"
ng-model="lifecycleDates.returnDate.date"
is-open="assetDate.returnDatePicker.open"
show-button-bar="false"
ng-click="openDatePicker(assetDate.returnDatePicker, $event)"
ng-enter="openDatePicker(assetDate.returnDatePicker)"
datepicker-options="datePickerOptions"
ng-change="updateDateTime('returnDate')"
potentially-required-field
field-name="lifecycleDates.returnDate"
entity="asset"
aria-label="{{'asset.attributes.returnDate' | i18n}} {{'common.aria.labels.dateField' | i18n}} "
/>
<i class="icon-calendar custom-field__date-icon"></i>
</div>
<div class="custom-field__time">
<div class="dropdown timepicker">
<div class="dropdown-toggle">
<input class="form-control custom-field__time-input"
type="text"
value="{{lifecycleDates.returnDate.time | date : 'shortTime'}}"
ng-disabled="!lifecycleDates.returnDate.date"
aria-label="{{'asset.attributes.returnDate' | i18n}} {{'common.aria.labels.timeField' | i18n}}"
/>
<i class="icon-clock_o custom-field__time-icon"></i>
</div>
<!--
-->
<div class="dropdown-menu" prevent-click-event>
<timepicker ng-model="lifecycleDates.returnDate.time"
ng-change="updateDateTime('returnDate')"
show-meridian="showMeridian">
</timepicker>
</div>
</div>
</div>
</div>
</label>
</div>
<div class="asset-point col-md-4 col-sm-6">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="lifecycleDates.disposalDate" entity="asset">
{{'asset.attributes.disposalDate' | i18n}}
</span>
<div class="create-ticket__date-time-item">
<div class="custom-field__date">
<input type="text"
class="form-control"
datepicker-popup="mediumDate"
ng-model="lifecycleDates.disposalDate.date"
is-open="assetDate.disposalDatePicker.open"
show-button-bar="false"
ng-click="openDatePicker(assetDate.disposalDatePicker, $event)"
ng-enter="openDatePicker(assetDate.disposalDatePicker)"
datepicker-options="datePickerOptions"
ng-change="updateDateTime('disposalDate')"
potentially-required-field
field-name="lifecycleDates.disposalDate"
entity="asset"
aria-label="{{'asset.attributes.disposalDate' | i18n}} {{'common.aria.labels.dateField' | i18n}} "
/>
<i class="icon-calendar custom-field__date-icon"></i>
</div>
<div class="custom-field__time">
<div class="dropdown timepicker">
<div class="dropdown-toggle">
<input class="form-control custom-field__time-input"
type="text"
value="{{lifecycleDates.disposalDate.time | date : 'shortTime'}}"
ng-disabled="!lifecycleDates.disposalDate.date"
aria-label="{{'asset.attributes.disposalDate' | i18n}}{{'common.aria.labels.timeField' | i18n}}"
/>
<i class="icon-clock_o custom-field__time-icon"></i>
</div>
<!--
-->
<div class="dropdown-menu" prevent-click-event>
<timepicker ng-model="lifecycleDates.disposalDate.time"
ng-change="updateDateTime('disposalDate')"
show-meridian="showMeridian">
</timepicker>
</div>
</div>
</div>
</div>
</label>
</div>
<div class="asset-point col-md-4 col-sm-6">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="lifecycleDates.purchaseDate" entity="asset">
{{'asset.attributes.purchaseDate' | i18n}}
</span>
<div class="create-ticket__date-time-item">
<div class="custom-field__date">
<input type="text"
class="form-control"
datepicker-popup="mediumDate"
ng-model="lifecycleDates.purchaseDate.date"
is-open="assetDate.purchaseDatePicker.open"
show-button-bar="false"
ng-click="openDatePicker(assetDate.purchaseDatePicker, $event)"
ng-enter="openDatePicker(assetDate.purchaseDatePicker)"
datepicker-options="datePickerOptions"
ng-change="updateDateTime('purchaseDate')"
potentially-required-field
field-name="lifecycleDates.purchaseDate"
entity="asset"
aria-label="{{'asset.attributes.purchaseDate' | i18n}} {{'common.aria.labels.dateField' | i18n}} "
/>
<i class="icon-calendar custom-field__date-icon"></i>
</div>
<div class="custom-field__time">
<div class="dropdown timepicker">
<div class="dropdown-toggle">
<input class="form-control custom-field__time-input"
type="text"
value="{{lifecycleDates.purchaseDate.time | date : 'shortTime'}}"
ng-disabled="!lifecycleDates.purchaseDate.date"
aria-label="{{'asset.attributes.purchaseDate' | i18n}} {{'common.aria.labels.timeField' | i18n}}"
/>
<i class="icon-clock_o custom-field__time-icon"></i>
</div>
<!--
-->
<div class="dropdown-menu" prevent-click-event>
<timepicker ng-model="lifecycleDates.purchaseDate.time"
ng-change="updateDateTime('purchaseDate')"
show-meridian="showMeridian">
</timepicker>
</div>
</div>
</div>
</div>
</label>
</div>
<div class="asset-point col-md-4 col-sm-6">
<label class="label_control-wrap">
<span class="label__text" potentially-required-field field-name="lifecycleDates.lastScanDate" entity="asset">
{{'asset.attributes.lastScanDate' | i18n}}
</span>
<div class="create-ticket__date-time-item">
<div class="custom-field__date">
<input type="text"
class="form-control"
datepicker-popup="mediumDate"
ng-model="lifecycleDates.lastScanDate.date"
is-open="assetDate.lastScanDatePicker.open"
show-button-bar="false"
ng-click="openDatePicker(assetDate.lastScanDatePicker, $event)"
ng-enter="openDatePicker(assetDate.lastScanDatePicker)"
datepicker-options="datePickerOptions"
ng-change="updateDateTime('lastScanDate')"
potentially-required-field
field-name="lifecycleDates.lastScanDate"
entity="asset"
aria-label="{{'asset.attributes.lastScanDate' | i18n}} {{'common.aria.labels.dateField' | i18n}} "
/>
<i class="icon-calendar custom-field__date-icon"></i>
</div>
<div class="custom-field__time">
<div class="dropdown timepicker">
<div class="dropdown-toggle">
<input class="form-control custom-field__time-input"
type="text"
value="{{lifecycleDates.lastScanDate.time | date : 'shortTime'}}"
ng-disabled="!lifecycleDates.lastScanDate.date"
aria-label="{{'asset.attributes.lastScanDate' | i18n}} {{'common.aria.labels.timeField' | i18n}}"
/>
<i class="icon-clock_o custom-field__time-icon"></i>
</div>
<!--
-->
<div class="dropdown-menu" prevent-click-event>
<timepicker ng-model="lifecycleDates.lastScanDate.time"
ng-change="updateDateTime('lastScanDate')"
show-meridian="showMeridian">
</timepicker>
</div>
</div>
</div>
</div>
</label>
</div>
</div>
<div class="row">
<div class="asset-point asset-point__custom-field-area">
<custom-field-area ticket="asset"
panel-id="assetScreen.Generic"
class="editable-content-section-block"
update-is-handled-by-parent="true">
</custom-field-area>
<!--<custom-field-container ticket="updatedModel" fields="genericCustomFields"></custom-field-container>-->
</div>
</div>
</div>
</form>
</editable-content-section>
<editable-content-section id="asset-owner-card" class="no-border" edit-mode-allowed="isFullVersion ? asset.accessMappings.detailsEditAllowed : false"
role="region" tabindex="0" aria-label="{{'asset.owner.site' | i18n}}" ng-if="!asset.isPoiOnly"
edit-button-label = "'Asset Owner'"
>
<div class="asset-owner__editable-content" ng-show="editMode">
<form name="editAssetOwnerCardSection">
<edit-asset-owner asset = "asset" update="updateAssetOwner(data)"></edit-asset-owner>
</form>
</div>
<div ng-show="!editMode" class="asset__owner col-sm-12">
<div ng-include="'views/asset/asset-owner-details.html'"></div>
</div>
</editable-content-section>
<div class="asset__poi-section row" ng-if="asset.isPoi">
<div class="col-md-6">
<div class="asset__poi-title col-sm-12">
<span class="icon-users_o asset__poi-title-icon"></span>
<span>{{'asset.details.crowdsourcedInfo' | i18n}}</span>
<a class="asset__poi-link" href="{{asset.poiLink}}" aria-label="{{'asset.details.viewInMyIT' | i18n}}">{{'asset.details.viewInMyIT' | i18n}}</a>
</div>
<div>
<div class="asset__primary-attributes col-sm-6" ng-if="asset.poiInfo.name">
<div class="asset-point__label">{{'asset.details.poi.name' | i18n}}</div>
<div class="asset-point__value">{{asset.poiInfo.name}}</div>
</div>
<div class="asset__primary-attributes col-sm-6" ng-if="asset.poiInfo.desc">
<div class="asset-point__label">{{'asset.details.poi.desc' | i18n}}</div>
<div class="asset-point__value">{{asset.poiInfo.desc}}</div>
</div>
<div class="asset__primary-attributes col-sm-6" ng-repeat="poiAttribute in asset.poiAttributes" ng-if="poiAttribute[1].length">
<div class="asset-point__label">{{'asset.details.poi.' + poiAttribute[0] | i18n}}</div>
<div class="asset-point__value">{{ poiAttribute[1] }}</div>
</div>
<div class="col-sm-6">
<div class="asset__primary-attributes">
<div class="asset-point__label">{{'asset.details.poi.owner' | i18n}}</div>
<span ng-if="!poiOwner.id" class="asset-owner__no-owner">{{poiOwnerNoAccess ? ('asset.owner.noAccess' | i18n) : ('common.label.noneYet' | i18n) }}</span>
<a ng-if="poiOwner.id" aria-label="{{'asset.details.poi.owner' | i18n}} {{poiOwner.fullName}}"
href="#/person/{{asset.poiInfo.owner | escape}}">{{poiOwner.fullName || asset.poiInfo.owner}}</a>
</div>
</div>
</div>
</div>
<div class="col-md-6" ng-if="poiFloorMap">
<a ng-if="poiLocationLink" href="{{poiLocationLink}}"><img class="asset__poi-map" ng-src="{{poiFloorMap}}" /></a>
<img ng-if="!poiLocationLink" class="asset__poi-map" ng-src="{{poiFloorMap}}" />
</div>
</div>