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