1 <md-dialog class="voicemail-dialog" aria-label="New Voicemail">
2 <form name="voicemailForm" 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="APP.FULLNAME">FullName</label>
45 ng-model="vm.voicemail.fullname"
51 ng-messages="voicemailForm['fullname'].$error"
52 ng-show="voicemailForm['fullname'].$touched"
55 <div ng-message="required">
56 <span translate="APP.ERRORS.FULLNAME_REQUIRED"
57 >FullName field is required</span
62 <md-input-container class="md-block">
63 <label translate="APP.EMAIL">Email</label>
67 ng-model="vm.voicemail.email"
68 ng-required="vm.voicemail.attach === 'yes'"
72 ng-messages="voicemailForm['email'].$error"
73 ng-show="voicemailForm['email'].$touched"
76 <div ng-message="required">
77 <span translate="APP.ERRORS.EMAIL_REQUIRED"
78 >Email field is required</span
81 <div ng-message="email">
82 <span translate="APP.ERRORS.EMAIL_MUST_VALID"
83 >Email must be a valid e-mail address</span
88 <md-input-container class="md-block">
89 <label translate="APP.PASSWORD">Password</label>
93 ng-model="vm.voicemail.password"
94 placeholder="Password"
96 translate-attr-placeholder="APP.PASSWORD"
99 <div ng-messages="voicemailForm['password'].$error" role="alert">
100 <div ng-message="required">
101 <span translate="APP.ERRORS.PASSWORD_REQUIRED"
102 >Password field is required</span
105 <div ng-message="pattern">
106 <span translate="VOICE.ERRORS.SECURE_PASSWORD_PATTERN"
107 >Must contain at least 8 characters, with a minimum of 1 lowercase
108 letter, 1 uppercase letter, 1 numeric character and 1 special
109 character ~!?*@#$%^&-_=+[{]}.</span
113 </md-input-container>
115 <md-input-container class="md-block" ng-if="vm.newVoicemail ">
116 <label translate="APP.CONFIRM_PASSWORD">Confirm Password</label>
119 match-password="password"
120 name="confirmPassword"
121 ng-model="confirmPassword"
125 ng-messages="voicemailForm.confirmPassword.$error"
129 <div ng-message="required">
130 <span translate="VOICE.ERRORS.CONFIRM_REQUIRED"
131 >Confirm field is required</span
134 <div ng-message="passwordMatch">
135 <span translate="VOICE.ERRORS.CONFIRM_NOT_MATCH"
136 >Your password did not match</span
140 </md-input-container>
142 <md-input-container class="md-block">
143 <label translate="APP.MAILBOX">MailBox</label>
147 ng-model="vm.voicemail.mailbox"
149 ng-disabled="!vm.newVoicemail"
153 ng-messages="voicemailForm['mailbox'].$error"
154 ng-show="voicemailForm['mailbox'].$touched"
157 <div ng-message="required">
158 <span translate="APP.ERRORS.MAILBOX_REQUIRED"
159 >MailBox field is required</span
163 </md-input-container>
164 <md-input-container class="md-block">
165 <label translate="APP.ATTACH">Attach</label>
166 <md-select name="attach" ng-model="vm.voicemail.attach">
167 <md-option ng-value="'yes'"> {{ 'APP.YES' | translate }} </md-option>
169 <md-option ng-value="'no'"> {{ 'APP.NO' | translate }} </md-option>
172 ng-messages="voicemailForm['attach'].$error"
173 ng-show="voicemailForm['attach'].$touched"
176 <div ng-message="required">
177 <span translate="VOICE.ERRORS.ATTACH_REQUIRED"
178 >Attach field is required</span
182 </md-input-container>
184 <div class="error-list">
186 ng-repeat="error in vm.errors"
189 layout-align="space-between center"
192 <span class="message">{{error.message}}</span>
193 <span class="type">({{error.type}})</span>
195 <md-button class="md-icon-button">
197 md-font-icon="icon-alert-box"
198 aria-label="alert error"
208 layout-align="space-between center"
209 ng-if="!vm.crudPermissions.readOnly"
211 <div layout="row" layout-align="start center">
214 ng-if="vm.crudPermissions.canEdit && !vm.newVoicemail"
215 ng-click="vm.saveVoicemail()"
216 class="send-button md-accent md-raised"
217 ng-disabled="voicemailForm.$invalid || voicemailForm.$pristine"
220 translate-attr-aria-label="APP.SAVE"
227 ng-if="vm.crudPermissions.canEdit && vm.newVoicemail"
228 ng-click="vm.addNewVoicemail()"
229 class="send-button md-accent md-raised"
230 ng-disabled="voicemailForm.$invalid"
232 translate="APP.ADD_VOICEMAIL"
233 translate-attr-aria-label="APP.ADD_VOICEMAIL"
240 class="md-icon-button"
241 ng-if="vm.crudPermissions.canDelete && !vm.newVoicemail"
242 ng-click="vm.deleteVoicemail($event)"
245 translate-attr-aria-label="APP.DELETE"
247 <md-icon md-font-icon="icon-delete"></md-icon>
248 <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>