146 lines
6.5 KiB
HTML
146 lines
6.5 KiB
HTML
<div class="edit-customer-card">
|
|
<form name="ticketPersonEdit" novalidate>
|
|
<div ng-class="{'required__label': isCustomerRequired()}" class="ticket__label-small" data-required="{{'common.label.required.bracketed' | i18n}}">
|
|
{{ 'create.ticket.affected.customer' | i18n }}
|
|
</div>
|
|
<div class="create-ticket__person-item" ng-if="(!editMode && !ticket.customer.loginId) || (editMode && personInfo[0].type != 'customer')">
|
|
<input type="text"
|
|
title="{{'create.ticket.affected.customer.placeholder' | i18n }}"
|
|
class="custom-input"
|
|
ng-model="customer.data"
|
|
ng-blur="validateCustomer()"
|
|
role="combobox"
|
|
typeahead-on-select="updateCustomer($item)"
|
|
typeahead-min-length="3"
|
|
typeahead-template-url="views/create/custom-add-user-dropdown.html"
|
|
typeahead="user as user.firstName + ' ' + user.lastName for user in getListPersonsByCompany($viewValue)"
|
|
placeholder="{{'create.ticket.affected.customer.placeholder' | i18n }}"
|
|
aria-required="isCustomerRequired()"
|
|
ng-required="isCustomerRequired()"
|
|
tabindex="0" />
|
|
<i class="icon-cross item-input__delete-btn" tabindex=0 role="link"
|
|
title="{{'common.button.clear' | i18n}} {{ 'personInfoCard.asset.caption.contactInfo' | i18n }}" ng-if="customer.data"
|
|
focus-input-on-clear ng-click="clearPerson(customer)" ng-enter="clearPerson(customer)">
|
|
</i>
|
|
</div>
|
|
<div class="create-ticket__person-item" ng-repeat="person in personInfo">
|
|
<div class="clearfix edit-customer-card__person-update">
|
|
<div class="col-xs-1">
|
|
<img alt="{{person.data.firstName}} {{person.data.lastName}}" class="ticket-assignee__thumbnail" user-availability="person.data" imgplaceholder="user"
|
|
thumbnail-img="{{'data:' +person.data.thumbnailMime + ';base64,' + person.data.thumbnail}}" />
|
|
</div>
|
|
<div class="col-xs-5">
|
|
|
|
<span>{{person.data.firstName}} {{person.data.lastName}}</span>
|
|
<span class="person-summary__VIP" ng-if="person.data.isVIP">{{'common.labels.vip' | i18n}}</span>
|
|
<div>{{person.data.organization }}</div>
|
|
<div>{{'common.label.' + person.type | i18n}}</div>
|
|
</div>
|
|
<div class="col-xs-6">
|
|
<label class="label_control-wrap">
|
|
<span id="contactLabel" class="label__text"
|
|
potentially-required-field
|
|
field-name="contact.phone"
|
|
entity="ticket">
|
|
{{'ticket.edit.person.alternate.contact' | i18n}}
|
|
</span>
|
|
<input class="form-control" type="text"
|
|
ng-model="person.data.phone"
|
|
potentially-required-field
|
|
field-name="contact.phone"
|
|
entity="ticket"
|
|
aria-labelledby="contactLabel">
|
|
</label>
|
|
</div>
|
|
<div class="pull-right">
|
|
<i title="{{person.data.firstName + '' + person.data.lastName}} {{'common.button.remove' | i18n}} {{'common.label.contact' | i18n}}"
|
|
class="icon-cross_circle edit-customer-card__delete-contact-btn"
|
|
ng-click="removePerson(person.type)" ng-enter="removePerson(person.type)" role="link" tabindex="0" aria-label="{{'common.label.' + person.type | i18n}} {{'common.button.remove' | i18n}} "></i>
|
|
|
|
</div>
|
|
|
|
<div class="col-xs-12 person-profile__site" ng-if="person.type != 'contact'">
|
|
<div class="col-xs-4">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text">
|
|
{{'create.change.wizard.basicDetails.impactedAreas.region' | i18n }}
|
|
</span>
|
|
<selection selection-items="selections.regions"
|
|
selected-item="selected.region"
|
|
title-text="{{'foundation.label.region' | i18n}}"
|
|
label="name"
|
|
value="name"
|
|
disabled-selection="!ticket.company"
|
|
loading-flag="state.regionsLoading"
|
|
update-selected-item="true"
|
|
show-clear="true">
|
|
</selection>
|
|
</label>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text">
|
|
{{'foundation.label.siteGroup' | i18n }}
|
|
</span>
|
|
<selection selection-items="selections.siteGroups"
|
|
selected-item="selected.siteGroup"
|
|
title-text="{{'create.change.wizard.basicDetails.impactedAreas.siteGroup' | i18n}}"
|
|
label="name"
|
|
value="name"
|
|
loading-flag="state.siteGroupsLoading"
|
|
update-selected-item="true"
|
|
show-clear="true">
|
|
</selection>
|
|
</label>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<label class="label_control-wrap">
|
|
<span id="siteLabel" class="label__text required__label" data-required="{{'common.label.required.bracketed' | i18n}}"
|
|
field-name="customer.site.name"
|
|
entity="ticket">
|
|
{{'common.label.site' | i18n}}
|
|
</span>
|
|
<selection selection-items="selections.sites"
|
|
selected-item="selected.site"
|
|
title-text="{{'foundation.label.site' | i18n}}"
|
|
label="name"
|
|
value="name"
|
|
selection-filter="true"
|
|
selection-filter-placeholder-text="console.filter.optionName.searchSite"
|
|
typeahead-mode="state.tooManySites"
|
|
typeahead-details="site as site.name for site in getList($viewValue)"
|
|
typeahead-get-list="loadSitesByName(name)"
|
|
loading-flag="state.sitesLoading"
|
|
aria-required="true"
|
|
required="true"
|
|
update-selected-item="true"
|
|
show-clear="true">
|
|
</selection>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="create-ticket__item">
|
|
<button type="button" class="small-btn_secondary" ng-click="addPerson()" ng-show="showAddContact">
|
|
{{ 'create.ticket.add.person.btn' | i18n }}
|
|
</button>
|
|
</div>
|
|
<div class="create-ticket__person-item" ng-if="personDropdown">
|
|
<input type="text"
|
|
title="{{ 'create.ticket.affected.customer.placeholder' | i18n }}"
|
|
class="custom-input"
|
|
ng-model="person.data"
|
|
role="combobox"
|
|
typeahead-on-select="updateContact($item)"
|
|
typeahead-min-length="3"
|
|
typeahead-template-url="views/create/custom-add-user-dropdown.html"
|
|
typeahead="user as user.firstName + ' ' + user.lastName for user in getList('person', $viewValue)"
|
|
placeholder="{{ 'create.ticket.affected.customer.placeholder' | i18n }}">
|
|
<i class="icon-cross item-input__delete-btn" tabindex=0 role="link"
|
|
title="{{'common.button.clear' | i18n}} {{ 'personInfoCard.asset.caption.contactInfo' | i18n }}" ng-if="person.data"
|
|
focus-input-on-clear ng-click="clearPerson(person)" ng-enter="clearPerson(person)">
|
|
</i>
|
|
</div>
|
|
</form>
|
|
</div> |