Built motion from commit 362b9399b4d0ed5560fbb795af995925d345fc38. Version 3.0.0...
[motion-next.git] / public / templates / main / apps / settings / views / license / request / dialog.html / dialog.html
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">
4       <div
5         class="md-toolbar-tools"
6         layout="row"
7         layout-align="space-between center"
8       >
9         <span class="title" translate="SETTINGS.REQUEST_LICENSE"
10           >Request License</span
11         >
12         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
13           <md-icon
14             md-font-icon="icon-close"
15             aria-label="Close dialog"
16           ></md-icon>
17         </md-button>
18       </div>
19     </md-toolbar>
20
21     <md-dialog-content ms-scroll>
22       <div class="error-list">
23         <div
24           ng-repeat="error in vm.errors"
25           class="error"
26           layout="row"
27           layout-align="space-between center"
28         >
29           <div>
30             <span class="message">{{error.message}}</span>
31             <span class="type">({{error.type}})</span>
32           </div>
33           <md-button class="md-icon-button">
34             <md-icon
35               md-font-icon="icon-alert-box"
36               aria-label="alert error"
37               class="s16"
38             ></md-icon>
39           </md-button>
40         </div>
41       </div>
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 />
45         <div
46           ng-messages="requestForm.name.$error"
47           ng-show="requestForm.name.$touched"
48           role="alert"
49         >
50           <div ng-message="required">
51             <span translate="APP.ERRORS.NAME_REQUIRED"
52               >Address field is required</span
53             >
54           </div>
55         </div>
56       </md-input-container>
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 />
60         <div
61           ng-messages="requestForm.email.$error"
62           ng-show="requestForm.email.$touched"
63           role="alert"
64         >
65           <div ng-message="required">
66             <span translate="APP.ERRORS.EMAIL_REQUIRED"
67               >Email field is required</span
68             >
69           </div>
70           <div ng-message="email">
71             <span translate="APP.ERRORS.EMAIL_MUST_VALID"
72               >Email must be a valid e-mail address</span
73             >
74           </div>
75         </div>
76       </md-input-container>
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"
82               >MONTH TO MONTH</span
83             ></md-option
84           >
85           <md-option ng-value="12"
86             ><span translate="SETTINGS.ANNUALLY">ANNUALLY</span></md-option
87           >
88           <md-option ng-value="36"
89             ><span translate="SETTINGS.PERPETUAL">PERPETUAL</span></md-option
90           >
91         </md-select>
92         <div
93           ng-messages="requestForm.plan.$error"
94           ng-show="requestForm.plan.$touched"
95           role="alert"
96         >
97           <div ng-message="required">
98             <span translate="SETTINGS.ERRORS.PLAN_REQUIRED"
99               >Plan field is required</span
100             >
101           </div>
102         </div>
103       </md-input-container>
104       <md-subheader class="md-no-sticky"
105         >{{ 'APP.STAFF' | translate }}</md-subheader
106       >
107       <div layout="row" layout-align="space-between center">
108         <md-input-container class="md-block" flex>
109           <label translate="APP.USERS">Users</label>
110           <input
111             type="number"
112             name="users"
113             ng-model="vm.license.users"
114             required
115           />
116           <div
117             ng-messages="requestForm.users.$error"
118             ng-show="requestForm.users.$touched"
119             role="alert"
120           >
121             <div ng-message="required">
122               <span translate="SETTINGS.ERRORS.USERS_REQUIRED"
123                 >Users field is required</span
124               >
125             </div>
126           </div>
127         </md-input-container>
128         <md-input-container class="md-block" flex>
129           <label translate="APP.AGENTS">Agents</label>
130           <input
131             type="number"
132             name="agents"
133             ng-model="vm.license.agents"
134             required
135           />
136           <div
137             ng-messages="requestForm.agents.$error"
138             ng-show="requestForm.agents.$touched"
139             role="alert"
140           >
141             <div ng-message="required">
142               <span translate="SETTINGS.ERRORS.AGENTS_REQUIRED"
143                 >Agents field is required</span
144               >
145             </div>
146           </div>
147         </md-input-container>
148         <md-input-container class="md-block" flex>
149           <label translate="APP.TELEPHONES">Telephones</label>
150           <input
151             type="number"
152             name="telephones"
153             ng-model="vm.license.telephones"
154             required
155           />
156           <div
157             ng-messages="requestForm.telephones.$error"
158             ng-show="requestForm.telephones.$touched"
159             role="alert"
160           >
161             <div ng-message="required">
162               <span translate="SETTINGS.ERRORS.TELEPHONES_REQUIRED"
163                 >Telephones field is required</span
164               >
165             </div>
166           </div>
167         </md-input-container>
168       </div>
169
170       <md-subheader class="md-no-sticky"
171         >{{ 'APP.CHANNELS' | translate }}</md-subheader
172       >
173       <div layout="row" layout-align="space-between center">
174         <md-switch
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>
179         </md-switch>
180         <md-switch
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
185         ></md-switch>
186       </div>
187
188       <md-subheader class="md-no-sticky"
189         >{{ 'APP.MODULES' | translate }}</md-subheader
190       >
191       <div layout="row" layout-align="space-between center">
192         <md-switch
193           ng-model="vm.license[module.name]"
194           aria-label="{{module.name}}"
195           ng-repeat="module in vm.modules"
196         >
197           <span translate="SETTINGS.{{module.name | uppercase}}"></span
198         ></md-switch>
199       </div>
200
201       <md-subheader class="md-no-sticky"
202         >{{ 'APP.SESSIONS' | translate }}</md-subheader
203       >
204       <div layout="row">
205         <md-input-container
206           ng-repeat="session in vm.sessions"
207           class="md-block"
208           flex="50"
209         >
210           <label
211             >{{ 'SETTINGS.' + session.name | uppercase | translate }} ({{
212             'SETTINGS.' + session.label | uppercase | translate }})</label
213           >
214           <input
215             type="number"
216             name="{{session.name}}"
217             ng-model="vm.license[session.name]"
218             required
219           />
220           <div class="hint">
221             <span>0={{ 'SETTINGS.UNLIMITED_CHANNELS' | translate }}</span>
222           </div>
223           <div
224             ng-messages="requestForm[session.name].$error"
225             ng-show="requestForm[session.name].$touched"
226             role="alert"
227           >
228             <div ng-message="required">
229               <span translate="SETTINGS.ERRORS.CHANNEL_REQUIRED"
230                 >Mandatory field</span
231               >
232             </div>
233           </div>
234         </md-input-container>
235       </div>
236
237       <md-subheader class="md-no-sticky"
238         >{{ 'SETTINGS.ADDONS' | translate }}</md-subheader
239       >
240       <div layout="row" layout-align="space-between center">
241         <md-switch
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
246         ></md-switch>
247       </div>
248
249       <md-subheader class="md-no-sticky"
250         >{{ 'APP.OTHERS' | translate }}</md-subheader
251       >
252       <div layout="row" layout-align="space-between center">
253         <md-switch
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
258         ></md-switch>
259       </div>
260
261       <md-input-container class="md-block">
262         <label translate="APP.DESCRIPTION">Description</label>
263         <textarea
264           name="description"
265           ng-model="vm.license.description"
266         ></textarea>
267       </md-input-container>
268
269       <div class="error-list">
270         <div
271           ng-repeat="error in vm.errors"
272           class="error"
273           layout="row"
274           layout-align="space-between center"
275         >
276           <div>
277             <span class="message">{{error.message}}</span>
278             <span class="type">({{error.type}})</span>
279           </div>
280           <md-button class="md-icon-button">
281             <md-icon
282               md-font-icon="icon-alert-box"
283               aria-label="alert error"
284               class="s16"
285             ></md-icon>
286           </md-button>
287         </div>
288       </div>
289     </md-dialog-content>
290
291     <md-dialog-actions layout="row" layout-align="space-between center">
292       <div layout="row" layout-align="start center">
293         <md-button
294           type="submit"
295           ng-click="vm.sendRequest()"
296           class="send-button md-accent md-raised"
297           ng-disabled="requestForm.$invalid || requestForm.$pristine"
298           aria-label="SEND"
299           translate="APP.SEND"
300           translate-attr-aria-label="APP.SEND"
301         >
302           SAVE
303         </md-button>
304       </div>
305     </md-dialog-actions>
306   </form>
307 </md-dialog>