1 <md-dialog class="smsAccount-dialog" aria-label="New SmsAccount">
2 <form name="smsAccountForm" class="md-inline-form" novalidate>
3 <md-toolbar class="md-accent md-hue-2">
4 <div class="md-toolbar-tools" layout="row" layout-align="space-between center">
5 <span class="title">{{ vm.title | translate }}</span>
6 <md-button class="md-icon-button" ng-click="vm.closeDialog()">
7 <md-icon md-font-icon="icon-close" aria-label="Close dialog"></md-icon>
12 <md-dialog-content ms-scroll>
13 <div class="error-list">
14 <div ng-repeat="error in vm.errors" class="error" layout="row" layout-align="space-between center">
16 <span class="message">{{error.message}}</span>
17 <span class="type">({{error.type}})</span>
19 <md-button class="md-icon-button">
20 <md-icon md-font-icon="icon-alert-box" aria-label="alert error" class="s16"></md-icon>
24 <md-input-container class="md-block">
25 <label translate="SMS.NAME">Name</label>
26 <input type="text" name="name" ng-model="vm.smsAccount.name" required autofocus>
27 <div ng-messages="smsAccountForm.name.$error" ng-show="smsAccountForm.name.$touched" role="alert">
28 <div ng-message="required">
29 <span translate="SMS.ERRORS.NAME_REQUIRED">Name field is required</span>
33 <md-input-container class="md-block">
34 <label translate="SMS.TYPE">Type</label>
35 <md-select ng-model="vm.smsAccount.type" required>
36 <md-option ng-value="'twilio'">Twilio</md-option>
37 <md-option ng-value="'skebby'">Skebby</md-option>
39 <div ng-messages="smsAccountForm.type.$error" ng-show="smsAccountForm.type.$touched" role="alert">
40 <div ng-message="required">
41 <span translate="SMS.ERRORS.TYPE_REQUIRED">Type field is required</span>
45 <md-input-container ng-if="vm.smsAccount.type == 'skebby'" class="md-block">
46 <label translate="SMS.SMSTYPE">smstype</label>
47 <md-select ng-model="vm.smsAccount.smstype" required>
48 <md-option ng-value="'basic'">Basic</md-option>
49 <md-option ng-value="'classic'">Classic</md-option>
50 <md-option ng-value="'classic+'">Classic+</md-option>
52 <div ng-messages="smsAccountForm.smstype.$error" ng-show="smsAccountForm.smstype.$touched" role="alert">
53 <div ng-message="required">
54 <span translate="SMS.ERRORS.SMSTYPE_REQUIRED">smstype field is required</span>
58 <md-input-container class="md-block">
59 <label translate="SMS.PHONE">phone</label>
60 <input type="text" name="phone" ng-model="vm.smsAccount.phone" required>
61 <div ng-messages="smsAccountForm.phone.$error" ng-show="smsAccountForm.phone.$touched" role="alert">
62 <div ng-message="required">
63 <span translate="SMS.ERRORS.PHONE_REQUIRED">phone field is required</span>
67 <md-input-container ng-if="vm.smsAccount.type == 'twilio'" class="md-block">
68 <label translate="SMS.SID">sid</label>
69 <input type="text" name="sid" ng-model="vm.smsAccount.sid" required>
70 <div ng-messages="smsAccountForm.sid.$error" ng-show="smsAccountForm.sid.$touched" role="alert">
71 <div ng-message="required">
72 <span translate="SMS.ERRORS.SID_REQUIRED">sid field is required</span>
76 <md-input-container ng-if="vm.smsAccount.type == 'twilio'" class="md-block">
77 <label translate="SMS.TOKEN">token</label>
78 <input type="text" name="token" ng-model="vm.smsAccount.token" required>
79 <div ng-messages="smsAccountForm.token.$error" ng-show="smsAccountForm.token.$touched" role="alert">
80 <div ng-message="required">
81 <span translate="SMS.ERRORS.TOKEN_REQUIRED">token field is required</span>
85 <md-input-container ng-if="vm.smsAccount.type == 'skebby'" class="md-block">
86 <label translate="SMS.USERNAME">username</label>
87 <input type="text" name="username" ng-model="vm.smsAccount.username" required>
88 <div ng-messages="smsAccountForm.username.$error" ng-show="smsAccountForm.username.$touched" role="alert">
89 <div ng-message="required">
90 <span translate="SMS.ERRORS.USERNAME_REQUIRED">username field is required</span>
94 <md-input-container class="md-block" ng-if="vm.smsAccount.type == 'skebby'">
95 <label translate="SMS.PASSWORD">password</label>
96 <input type="password" name="password" ng-model="vm.smsAccount.password" placeholder="Password" translate translate-attr-placeholder="SMS.PASSWORD" required>
97 <div ng-messages="smsAccountForm.password.$error" role="alert">
98 <div ng-message="required">
99 <span translate="SMS.ERRORS.PASSWORD_REQUIRED">Password field is required</span>
102 </md-input-container>
103 <md-input-container class="md-block" ng-if="vm.newSmsAccount && vm.smsAccount.type == 'skebby'">
104 <label translate="SMS.CONFIRM_PASSWORD">Confirm Password</label>
105 <input type="password" match-password="password" name="confirmPassword" ng-model="confirmPassword">
106 <div ng-messages="smsAccountForm.confirmPassword.$error" role="alert" multiple>
107 <div ng-message="required">
108 <span translate="SMS.ERRORS.CONFIRM_REQUIRED">Confirm field is required</span>
110 <div ng-message="passwordMatch">
111 <span translate="SMS.ERRORS.CONFIRM_NOT_MATCH">Your password did not match</span>
114 </md-input-container>
115 <md-input-container class="md-block">
116 <label translate="SMS.MOTIONADDRESS">motionaddress</label>
117 <input type="url" name="remote" ng-model="vm.smsAccount.remote" required>
118 <div ng-messages="smsAccountForm.remote.$error" ng-show="smsAccountForm.remote.$touched" role="alert">
119 <div ng-message="required">
120 <span translate="SMS.ERRORS.MOTIONADDRESS_REQUIRED">motionaddress field is required</span>
122 <div ng-message="url">
123 <span translate="SMS.ERRORS.MOTIONADDRESS_MUST_VALID_URL">motionaddress must be a valid url http://www.xcally.com</span>
126 </md-input-container>
127 <md-input-container class="md-block">
128 <label translate="SMS.DESCRIPTION">Description</label>
129 <input type="text" name="description" ng-model="vm.smsAccount.description">
130 <div ng-messages="smsAccountForm.description.$error" ng-show="smsAccountForm.description.$touched" role="alert">
131 <div ng-message="required">
132 <span translate="SMS.ERRORS.DESCRIPTION_REQUIRED">Description field is required</span>
135 </md-input-container>
137 <div class="error-list">
138 <div ng-repeat="error in vm.errors" class="error" layout="row" layout-align="space-between center">
140 <span class="message">{{error.message}}</span>
141 <span class="type">({{error.type}})</span>
143 <md-button class="md-icon-button">
144 <md-icon md-font-icon="icon-alert-box" aria-label="alert error" class="s16"></md-icon>
150 <md-dialog-actions layout="row" layout-align="space-between center">
151 <div layout="row" layout-align="start center">
152 <md-button type="submit" ng-if="!vm.newSmsAccount" ng-click="vm.saveSmsAccount()" class="send-button md-accent md-raised" ng-disabled="smsAccountForm.$invalid || smsAccountForm.$pristine" aria-label="SAVE" translate="SMS.SAVE" translate-attr-aria-label="SMS.SAVE">
156 <md-button type="submit" ng-if="vm.newSmsAccount" ng-click="vm.addNewSmsAccount()" class="send-button md-accent md-raised" ng-disabled="smsAccountForm.$invalid" aria-label="ADD" translate="SMS.ADD_SMSACCOUNT" translate-attr-aria-label="SMS.ADD_SMSACCOUNT">
161 <md-button class="md-icon-button" ng-if="!vm.newSmsAccount" ng-click="vm.deleteSmsAccount($event)" aria-label="DELETE" translate translate-attr-aria-label="SMS.DELETE">
162 <md-icon md-font-icon="icon-delete"></md-icon>
163 <md-tooltip><span translate="SMS.DELETE">DELETE</span></md-tooltip>