2 class="dynamics365Account-dialog"
3 aria-label="New Dynamics365Account"
5 <form name="dynamics365AccountForm" class="md-inline-form" novalidate>
6 <md-toolbar class="md-accent md-hue-2">
8 class="md-toolbar-tools"
10 layout-align="space-between center"
12 <span class="title">{{ vm.title | translate }}</span>
13 <md-button class="md-icon-button" ng-click="vm.closeDialog()">
15 md-font-icon="icon-close"
16 aria-label="Close dialog"
22 <md-dialog-content ms-scroll>
23 <div class="error-list">
25 ng-repeat="error in vm.errors"
28 layout-align="space-between center"
31 <span class="message">{{error.message}}</span>
32 <span class="type">({{error.type}})</span>
34 <md-button class="md-icon-button">
36 md-font-icon="icon-alert-box"
37 aria-label="alert error"
43 <md-input-container class="md-block">
44 <label translate="INTEGRATIONS.NAME">Name</label>
48 ng-model="vm.dynamics365Account.name"
54 ng-messages="dynamics365AccountForm['name'].$error"
55 ng-show="dynamics365AccountForm['name'].$touched"
58 <div ng-message="required">
59 <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
60 >Name field is required</span
65 <md-input-container class="md-block">
66 <label translate="INTEGRATIONS.USERNAME">Username</label>
70 ng-model="vm.dynamics365Account.username"
75 ng-messages="dynamics365AccountForm['username'].$error"
76 ng-show="dynamics365AccountForm['username'].$touched"
79 <div ng-message="required">
80 <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
81 >Username field is required</span
86 <md-input-container class="md-block">
87 <label translate="INTEGRATIONS.PASSWORD">Password</label>
91 ng-model="vm.dynamics365Account.password"
92 placeholder="Password"
94 translate-attr-placeholder="INTEGRATIONS.PASSWORD"
98 ng-messages="dynamics365AccountForm['password'].$error"
101 <div ng-message="required">
102 <span translate="INTEGRATIONS.ERRORS.PASSWORD_REQUIRED"
103 >Password field is required</span
106 <div ng-message="pattern">
107 <span translate="INTEGRATIONS.ERRORS.SECURE_PASSWORD_PATTERN"
108 >Must contain at least 8 characters, with a minimum of 1 lowercase
109 letter, 1 uppercase letter, 1 numeric character and 1 special
110 character ~!?*@#$%^&-_=+[{]}.</span
114 </md-input-container>
116 <md-input-container class="md-block">
117 <label translate="INTEGRATIONS.URI">Uri</label>
121 ng-model="vm.dynamics365Account.remoteUri"
126 ng-messages="dynamics365AccountForm['remoteUri'].$error"
127 ng-show="dynamics365AccountForm['remoteUri'].$touched"
130 <div ng-message="required">
131 <span translate="INTEGRATIONS.ERRORS.URI_REQUIRED"
132 >Uri field is required</span
135 <div ng-message="url">
136 <span translate="INTEGRATIONS.ERRORS.URI_MUST_VALID_URL"
137 >Uri must be a valid url http://www.xcally.com</span
141 </md-input-container>
142 <md-input-container class="md-block">
143 <label translate="INTEGRATIONS.TENANTID">TenantId</label>
147 ng-model="vm.dynamics365Account.tenantId"
152 ng-messages="dynamics365AccountForm['tenantId'].$error"
153 ng-show="dynamics365AccountForm['tenantId'].$touched"
156 <div ng-message="required">
157 <span translate="INTEGRATIONS.ERRORS.TENANTID_REQUIRED"
158 >TenantId field is required</span
162 </md-input-container>
163 <md-input-container class="md-block">
164 <label translate="INTEGRATIONS.CLIENTID">ClientId</label>
168 ng-model="vm.dynamics365Account.clientId"
173 ng-messages="dynamics365AccountForm['clientId'].$error"
174 ng-show="dynamics365AccountForm['clientId'].$touched"
177 <div ng-message="required">
178 <span translate="INTEGRATIONS.ERRORS.CLIENTID_REQUIRED"
179 >ClientId field is required</span
183 </md-input-container>
184 <md-input-container class="md-block">
185 <label translate="INTEGRATIONS.CLIENTSECRET">ClientSecret</label>
189 ng-model="vm.dynamics365Account.clientSecret"
194 ng-messages="dynamics365AccountForm['clientSecret'].$error"
195 ng-show="dynamics365AccountForm['clientSecret'].$touched"
198 <div ng-message="required">
199 <span translate="INTEGRATIONS.ERRORS.CLIENTSECRET_REQUIRED"
200 >ClientSecret field is required</span
204 </md-input-container>
205 <md-input-container class="md-block">
206 <label translate="INTEGRATIONS.MOTIONPROXYADDRESS"
207 >MotionProxyAddress</label
212 ng-model="vm.dynamics365Account.serverUrl"
216 <span translate="INTEGRATIONS.HELP.MOTIONPROXYADDRESS"></span>
219 ng-messages="dynamics365AccountForm['serverUrl'].$error"
220 ng-show="dynamics365AccountForm['serverUrl'].$touched"
223 <div ng-message="required">
224 <span translate="INTEGRATIONS.ERRORS.MOTIONPROXYADDRESS_REQUIRED"
225 >MotionProxyAddress field is required</span
228 <div ng-message="url">
230 translate="INTEGRATIONS.ERRORS.MOTIONPROXYADDRESS_MUST_VALID_URL"
231 >MotionProxyAddress must be a valid url
232 http://www.xcally.com</span
236 </md-input-container>
237 <md-input-container class="md-block">
238 <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
242 ng-model="vm.dynamics365Account.description"
246 ng-messages="dynamics365AccountForm['description'].$error"
247 ng-show="dynamics365AccountForm['description'].$touched"
250 <div ng-message="required">
251 <span translate="INTEGRATIONS.ERRORS.DESCRIPTION_REQUIRED"
252 >Description field is required</span
256 </md-input-container>
258 <div class="error-list">
260 ng-repeat="error in vm.errors"
263 layout-align="space-between center"
266 <span class="message">{{error.message}}</span>
267 <span class="type">({{error.type}})</span>
269 <md-button class="md-icon-button">
271 md-font-icon="icon-alert-box"
272 aria-label="alert error"
282 layout-align="space-between center"
283 ng-if="!vm.crudPermissions.readOnly"
285 <div layout="row" layout-align="start center">
288 ng-if="vm.crudPermissions.canEdit && !vm.newDynamics365Account"
289 ng-click="vm.saveDynamics365Account()"
290 class="send-button md-accent md-raised"
291 ng-disabled="dynamics365AccountForm.$invalid || dynamics365AccountForm.$pristine"
293 translate="INTEGRATIONS.SAVE"
294 translate-attr-aria-label="INTEGRATIONS.SAVE"
301 ng-if="vm.crudPermissions.canEdit && vm.newDynamics365Account"
302 ng-click="vm.addNewDynamics365Account()"
303 class="send-button md-accent md-raised"
304 ng-disabled="dynamics365AccountForm.$invalid"
306 translate="INTEGRATIONS.ADD_DYNAMICS365ACCOUNT"
307 translate-attr-aria-label="INTEGRATIONS.ADD_DYNAMICS365ACCOUNT"
309 ADD DYNAMICS365ACCOUNT
314 class="md-icon-button"
315 ng-if="vm.crudPermissions.canDelete && !vm.newDynamics365Account"
316 ng-click="vm.deleteDynamics365Account($event)"
319 translate-attr-aria-label="INTEGRATIONS.DELETE"
321 <md-icon md-font-icon="icon-delete"></md-icon>
323 ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip