1 <md-dialog class="request-dialog" aria-label="Send Request">
2 <form name="requestForm" 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" translate="SETTINGS.REQUEST_LICENSE"
10 >Request License</span
12 <md-button class="md-icon-button" ng-click="vm.closeDialog()">
14 md-font-icon="icon-close"
15 aria-label="Close dialog"
21 <md-dialog-content ms-scroll>
22 <div class="error-list">
24 ng-repeat="error in vm.errors"
27 layout-align="space-between center"
30 <span class="message">{{error.message}}</span>
31 <span class="type">({{error.type}})</span>
33 <md-button class="md-icon-button">
35 md-font-icon="icon-alert-box"
36 aria-label="alert error"
42 <md-input-container class="md-block">
43 <label translate="APP.NAME">Name</label>
44 <input type="text" name="name" ng-model="vm.license.name" required />
46 ng-messages="requestForm.name.$error"
47 ng-show="requestForm.name.$touched"
50 <div ng-message="required">
51 <span translate="APP.ERRORS.NAME_REQUIRED"
52 >Address field is required</span
57 <md-input-container class="md-block">
58 <label translate="APP.EMAIL">Email</label>
59 <input type="email" name="email" ng-model="vm.license.email" required />
61 ng-messages="requestForm.email.$error"
62 ng-show="requestForm.email.$touched"
65 <div ng-message="required">
66 <span translate="APP.ERRORS.EMAIL_REQUIRED"
67 >Email field is required</span
70 <div ng-message="email">
71 <span translate="APP.ERRORS.EMAIL_MUST_VALID"
72 >Email must be a valid e-mail address</span
77 <md-input-container class="md-block">
78 <label translate="SETTINGS.PLAN">Plan</label>
79 <md-select name="plan" ng-model="vm.license.months" required>
80 <md-option ng-value="1"
81 ><span translate="SETTINGS.MONTH_TO_MONTH"
85 <md-option ng-value="12"
86 ><span translate="SETTINGS.ANNUALLY">ANNUALLY</span></md-option
88 <md-option ng-value="36"
89 ><span translate="SETTINGS.PERPETUAL">PERPETUAL</span></md-option
93 ng-messages="requestForm.plan.$error"
94 ng-show="requestForm.plan.$touched"
97 <div ng-message="required">
98 <span translate="SETTINGS.ERRORS.PLAN_REQUIRED"
99 >Plan field is required</span
103 </md-input-container>
104 <md-subheader class="md-no-sticky"
105 >{{ 'APP.STAFF' | translate }}</md-subheader
107 <div layout="row" layout-align="space-between center">
108 <md-input-container class="md-block" flex>
109 <label translate="APP.USERS">Users</label>
113 ng-model="vm.license.users"
117 ng-messages="requestForm.users.$error"
118 ng-show="requestForm.users.$touched"
121 <div ng-message="required">
122 <span translate="SETTINGS.ERRORS.USERS_REQUIRED"
123 >Users field is required</span
127 </md-input-container>
128 <md-input-container class="md-block" flex>
129 <label translate="APP.AGENTS">Agents</label>
133 ng-model="vm.license.agents"
137 ng-messages="requestForm.agents.$error"
138 ng-show="requestForm.agents.$touched"
141 <div ng-message="required">
142 <span translate="SETTINGS.ERRORS.AGENTS_REQUIRED"
143 >Agents field is required</span
147 </md-input-container>
148 <md-input-container class="md-block" flex>
149 <label translate="APP.TELEPHONES">Telephones</label>
153 ng-model="vm.license.telephones"
157 ng-messages="requestForm.telephones.$error"
158 ng-show="requestForm.telephones.$touched"
161 <div ng-message="required">
162 <span translate="SETTINGS.ERRORS.TELEPHONES_REQUIRED"
163 >Telephones field is required</span
167 </md-input-container>
170 <md-subheader class="md-no-sticky"
171 >{{ 'APP.CHANNELS' | translate }}</md-subheader
173 <div layout="row" layout-align="space-between center">
175 ng-model="vm.license[channel.name]"
176 aria-label="{{channel.name}}"
177 ng-repeat="channel in vm.channels | limitTo:3"
178 ><span translate="SETTINGS.{{channel.name | uppercase}}"></span>
181 ng-model="vm.license[channel.name]"
182 aria-label="{{channel.name}}"
183 ng-repeat="channel in vm.channels | limitTo:3:3"
184 ><span translate="SETTINGS.{{channel.name | uppercase}}"></span
188 <md-subheader class="md-no-sticky"
189 >{{ 'APP.MODULES' | translate }}</md-subheader
191 <div layout="row" layout-align="space-between center">
193 ng-model="vm.license[module.name]"
194 aria-label="{{module.name}}"
195 ng-repeat="module in vm.modules"
197 <span translate="SETTINGS.{{module.name | uppercase}}"></span
201 <md-subheader class="md-no-sticky"
202 >{{ 'APP.SESSIONS' | translate }}</md-subheader
206 ng-repeat="session in vm.sessions"
211 >{{ 'SETTINGS.' + session.name | uppercase | translate }} ({{
212 'SETTINGS.' + session.label | uppercase | translate }})</label
216 name="{{session.name}}"
217 ng-model="vm.license[session.name]"
221 <span>0={{ 'SETTINGS.UNLIMITED_CHANNELS' | translate }}</span>
224 ng-messages="requestForm[session.name].$error"
225 ng-show="requestForm[session.name].$touched"
228 <div ng-message="required">
229 <span translate="SETTINGS.ERRORS.CHANNEL_REQUIRED"
230 >Mandatory field</span
234 </md-input-container>
237 <md-subheader class="md-no-sticky"
238 >{{ 'SETTINGS.ADDONS' | translate }}</md-subheader
240 <div layout="row" layout-align="space-between center">
242 ng-model="vm.license[addon.name]"
243 aria-label="{{module.name}}"
244 ng-repeat="addon in vm.addons"
245 ><span translate="SETTINGS.{{addon.name | uppercase}}"></span
249 <md-subheader class="md-no-sticky"
250 >{{ 'APP.OTHERS' | translate }}</md-subheader
252 <div layout="row" layout-align="space-between center">
254 ng-model="vm.license[other.name]"
255 aria-label="{{other.name}}"
256 ng-repeat="other in vm.others"
257 ><span translate="SETTINGS.{{other.name | uppercase}}"></span
261 <md-input-container class="md-block">
262 <label translate="APP.DESCRIPTION">Description</label>
265 ng-model="vm.license.description"
267 </md-input-container>
269 <div class="error-list">
271 ng-repeat="error in vm.errors"
274 layout-align="space-between center"
277 <span class="message">{{error.message}}</span>
278 <span class="type">({{error.type}})</span>
280 <md-button class="md-icon-button">
282 md-font-icon="icon-alert-box"
283 aria-label="alert error"
291 <md-dialog-actions layout="row" layout-align="space-between center">
292 <div layout="row" layout-align="start center">
295 ng-click="vm.sendRequest()"
296 class="send-button md-accent md-raised"
297 ng-disabled="requestForm.$invalid || requestForm.$pristine"
300 translate-attr-aria-label="APP.SEND"