1 <md-dialog class="servicenowAccount-dialog" aria-label="New ServicenowAccount">
 
   2   <form name="servicenowAccountForm" class="md-inline-form" novalidate>
 
   3     <md-toolbar class="md-accent md-hue-2">
 
   5         class="md-toolbar-tools"
 
   7         layout-align="space-between center"
 
   9         <span class="title">{{ vm.title | translate }}</span>
 
  10         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
 
  12             md-font-icon="icon-close"
 
  13             aria-label="Close dialog"
 
  19     <md-dialog-content ms-scroll>
 
  20       <div class="error-list">
 
  22           ng-repeat="error in vm.errors"
 
  25           layout-align="space-between center"
 
  28             <span class="message">{{error.message}}</span>
 
  29             <span class="type">({{error.type}})</span>
 
  31           <md-button class="md-icon-button">
 
  33               md-font-icon="icon-alert-box"
 
  34               aria-label="alert error"
 
  40       <md-input-container class="md-block">
 
  41         <label translate="INTEGRATIONS.NAME">Name</label>
 
  45           ng-model="vm.servicenowAccount.name"
 
  51           ng-messages="servicenowAccountForm['name'].$error"
 
  52           ng-show="servicenowAccountForm['name'].$touched"
 
  55           <div ng-message="required">
 
  56             <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
 
  57               >Name field is required</span
 
  62       <md-input-container class="md-block">
 
  63         <label translate="INTEGRATIONS.USERNAME">Username</label>
 
  67           ng-model="vm.servicenowAccount.username"
 
  72           ng-messages="servicenowAccountForm['username'].$error"
 
  73           ng-show="servicenowAccountForm['username'].$touched"
 
  76           <div ng-message="required">
 
  77             <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
 
  78               >Username field is required</span
 
  83       <md-input-container class="md-block">
 
  84         <label translate="INTEGRATIONS.PASSWORD">Password</label>
 
  88           ng-model="vm.servicenowAccount.password"
 
  89           placeholder="Password"
 
  91           translate-attr-placeholder="INTEGRATIONS.PASSWORD"
 
  95           ng-messages="servicenowAccountForm['password'].$error"
 
  98           <div ng-message="required">
 
  99             <span translate="INTEGRATIONS.ERRORS.PASSWORD_REQUIRED"
 
 100               >Password field is required</span
 
 103           <div ng-message="pattern">
 
 104             <span translate="INTEGRATIONS.ERRORS.SECURE_PASSWORD_PATTERN"
 
 105               >Must contain at least 8 characters, with a minimum of 1 lowercase
 
 106               letter, 1 uppercase letter, 1 numeric character and 1 special
 
 107               character ~!?*@#$%^&-_=+[{]}.</span
 
 111       </md-input-container>
 
 113       <md-input-container class="md-block">
 
 114         <label translate="INTEGRATIONS.EMAIL">Email</label>
 
 118           ng-model="vm.servicenowAccount.email"
 
 123           ng-messages="servicenowAccountForm['email'].$error"
 
 124           ng-show="servicenowAccountForm['email'].$touched"
 
 127           <div ng-message="required">
 
 128             <span translate="INTEGRATIONS.ERRORS.EMAIL_REQUIRED"
 
 129               >Email field is required</span
 
 132           <div ng-message="email">
 
 133             <span translate="INTEGRATIONS.ERRORS.EMAIL_MUST_VALID"
 
 134               >Email must be a valid e-mail address</span
 
 138       </md-input-container>
 
 139       <md-input-container class="md-block">
 
 140         <label translate="INTEGRATIONS.HOST">Host</label>
 
 144           ng-model="vm.servicenowAccount.remoteUri"
 
 149           ng-messages="servicenowAccountForm['remoteUri'].$error"
 
 150           ng-show="servicenowAccountForm['remoteUri'].$touched"
 
 153           <div ng-message="required">
 
 154             <span translate="INTEGRATIONS.ERRORS.HOST_REQUIRED"
 
 155               >Host field is required</span
 
 158           <div ng-message="url">
 
 159             <span translate="INTEGRATIONS.ERRORS.HOST_MUST_VALID_URL"
 
 160               >Host must be a valid url http://www.xcally.com</span
 
 164       </md-input-container>
 
 165       <md-input-container class="md-block">
 
 166         <label translate="INTEGRATIONS.MOTIONPROXYADDRESS"
 
 167           >MotionProxyAddress</label
 
 172           ng-model="vm.servicenowAccount.serverUrl"
 
 176           <span translate="INTEGRATIONS.HELP.MOTIONPROXYADDRESS"></span>
 
 179           ng-messages="servicenowAccountForm['serverUrl'].$error"
 
 180           ng-show="servicenowAccountForm['serverUrl'].$touched"
 
 183           <div ng-message="required">
 
 184             <span translate="INTEGRATIONS.ERRORS.MOTIONPROXYADDRESS_REQUIRED"
 
 185               >MotionProxyAddress field is required</span
 
 188           <div ng-message="url">
 
 190               translate="INTEGRATIONS.ERRORS.MOTIONPROXYADDRESS_MUST_VALID_URL"
 
 191               >MotionProxyAddress must be a valid url
 
 192               http://www.xcally.com</span
 
 196       </md-input-container>
 
 197       <md-input-container class="md-block">
 
 198         <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
 
 202           ng-model="vm.servicenowAccount.description"
 
 206           ng-messages="servicenowAccountForm['description'].$error"
 
 207           ng-show="servicenowAccountForm['description'].$touched"
 
 210           <div ng-message="required">
 
 211             <span translate="INTEGRATIONS.ERRORS.DESCRIPTION_REQUIRED"
 
 212               >Description field is required</span
 
 216       </md-input-container>
 
 218       <div class="error-list">
 
 220           ng-repeat="error in vm.errors"
 
 223           layout-align="space-between center"
 
 226             <span class="message">{{error.message}}</span>
 
 227             <span class="type">({{error.type}})</span>
 
 229           <md-button class="md-icon-button">
 
 231               md-font-icon="icon-alert-box"
 
 232               aria-label="alert error"
 
 242       layout-align="space-between center"
 
 243       ng-if="!vm.crudPermissions.readOnly"
 
 245       <div layout="row" layout-align="start center">
 
 248           ng-if="vm.crudPermissions.canEdit && !vm.newServicenowAccount"
 
 249           ng-click="vm.saveServicenowAccount()"
 
 250           class="send-button md-accent md-raised"
 
 251           ng-disabled="servicenowAccountForm.$invalid || servicenowAccountForm.$pristine"
 
 253           translate="INTEGRATIONS.SAVE"
 
 254           translate-attr-aria-label="INTEGRATIONS.SAVE"
 
 261           ng-if="vm.crudPermissions.canEdit && vm.newServicenowAccount"
 
 262           ng-click="vm.addNewServicenowAccount()"
 
 263           class="send-button md-accent md-raised"
 
 264           ng-disabled="servicenowAccountForm.$invalid"
 
 266           translate="INTEGRATIONS.ADD_SERVICENOWACCOUNT"
 
 267           translate-attr-aria-label="INTEGRATIONS.ADD_SERVICENOWACCOUNT"
 
 269           ADD SERVICENOWACCOUNT
 
 274           class="md-icon-button"
 
 275           ng-if="vm.crudPermissions.canDelete && !vm.newServicenowAccount"
 
 276           ng-click="vm.deleteServicenowAccount($event)"
 
 279           translate-attr-aria-label="INTEGRATIONS.DELETE"
 
 281           <md-icon md-font-icon="icon-delete"></md-icon>
 
 283             ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip