Built motion from commit 7e022ab.|2.0.15
[motion2.git] / public / app / main / apps / tools / views / trunks / edit / view.html
1 <div id="tools-trunk" class="page-layout simple tabbed" layout="column">
2
3     <!-- HEADER -->
4     <div class="header md-accent-bg" layout="row" layout-align="start center">
5         <div class="white-fg" layout="row" layout-align="start center" flex>
6             <md-button class="goto-trunks-button md-icon-button" aria-label="Go to trunks" ng-click="vm.gotoTrunks()" translate translate-attr-aria-label="TOOLS.GO_TO_TRUNKS">
7                 <md-icon md-font-icon="icon-arrow-left"></md-icon>
8             </md-button>
9
10             <div layout="row" layout-align="start center">
11
12                 <div ng-if="vm.trunk.userpic" class="trunk-image" hide-xs>
13                     <img ng-src="api/users/{{vm.trunk.id}}/avatar">
14                 </div>
15
16                 <div ng-if="!vm.trunk.userpic" class="trunk-image" hide-xs>
17                     <img ng-src="assets/images/business/trunks.jpg">
18                 </div>
19
20                 <div layout="column" layout-align="start start">
21                     <div class="h2">
22                         #{{vm.trunk.id}} {{vm.trunk.name}}
23                     </div>
24                     <div class="subtitle secondary-text">
25                         <span translate="TOOLS.CREATED_AT"></span> <span>{{vm.trunk.createdAt | date:'medium'}}</span>
26                     </div>
27                 </div>
28             </div>
29         </div>
30
31         <div>
32             <md-button type="submit" ng-click="vm.saveTrunk()" class="send-button md-accent md-raised" ng-disabled="(generalForm.$invalid) || (advancedForm.$invalid) || (otherFieldsForm.$invalid)" translate="TOOLS.SAVE" translate-attr-aria-label="TOOLS.SAVE">
33                 SAVE
34             </md-button>
35         </div>
36
37     </div>
38     <!-- / HEADER -->
39
40     <!-- CONTENT -->
41     <div class="content">
42
43         <md-tabs md-selected="vm.selectedTab" md-dynamic-height>
44             <md-tab>
45                 <md-tab-label>
46                     <span translate="TOOLS.SETTINGS">SETTINGS</span>
47                 </md-tab-label>
48
49                 <md-tab-body>
50                     <div class="trunk-detail-form-container general md-background-bg md-whiteframe-1dp">
51                         <div class="pb-16" layout="row" layout-align="start center">
52                             <div class="h2 secondary-text" translate="TOOLS.GENERAL">GENERAL</div>
53                         </div>
54                         <form name="generalForm" novalidate>
55                             <md-input-container class="md-block">
56                                 <label translate="TOOLS.NAME">Name</label>
57                                 <input type="text" name="name" ng-model="vm.trunk.name" ng-pattern="/^[A-Za-z0-9\.\_]+$/i" required autofocus ng-disabled="true">
58                                 <div ng-messages="generalForm.name.$error" ng-show="generalForm.name.$touched" role="alert">
59                                     <div ng-message="required">
60                                         <span translate="TOOLS.ERRORS.NAME_REQUIRED">Name field is required</span>
61                                     </div>
62                                     <div ng-message="pattern">
63                                         <span translate="TOOLS.ERRORS.NAME_MUST_VALID_PATTERN" translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }">Name must be valid pattern </span>
64                                     </div>
65                                 </div>
66                             </md-input-container>
67                             <md-input-container class="md-block">
68                                 <md-switch ng-model="vm.trunk.active" aria-label="active"><span translate="TOOLS.ACTIVE">active</span></md-switch>
69                             </md-input-container>
70                             <md-input-container class="md-block">
71                                 <label translate="TOOLS.HOST">host</label>
72                                 <input type="text" name="host" ng-model="vm.trunk.host" required>
73                                 <div class="hint"><span translate="TOOLS.HELP.HOST"></span></div>
74                                 <div ng-messages="generalForm.host.$error" ng-show="generalForm.host.$touched" role="alert">
75                                     <div ng-message="required">
76                                         <span translate="TOOLS.ERRORS.HOST_REQUIRED">host field is required</span>
77                                     </div>
78                                 </div>
79                             </md-input-container>
80                             <md-input-container class="md-block">
81                                 <label translate="TOOLS.SECRET">secret</label>
82                                 <input type="password" name="secret" ng-model="vm.trunk.secret" placeholder="Password" translate translate-attr-placeholder="TOOLS.PASSWORD">
83                                 <div class="hint"><span translate="TOOLS.HELP.SECRET"></span></div>
84                                 <div ng-messages="generalForm.password.$error" role="alert">
85                                     <div ng-message="required">
86                                         <span translate="TOOLS.ERRORS.PASSWORD_REQUIRED">Password field is required</span>
87                                     </div>
88                                 </div>
89                             </md-input-container>
90                             <md-input-container class="md-block" ng-if="vm.newTrunk ">
91                                 <label translate="TOOLS.CONFIRM_PASSWORD">Confirm Password</label>
92                                 <input type="password" match-password="secret" name="confirmPassword" ng-model="confirmPassword">
93                                 <div class="hint"><span translate="TOOLS.HELP.SECRET"></span></div>
94                                 <div ng-messages="generalForm.confirmPassword.$error" role="alert" multiple>
95                                     <div ng-message="required">
96                                         <span translate="TOOLS.ERRORS.CONFIRM_REQUIRED">Confirm field is required</span>
97                                     </div>
98                                     <div ng-message="passwordMatch">
99                                         <span translate="TOOLS.ERRORS.CONFIRM_NOT_MATCH">Your password did not match</span>
100                                     </div>
101                                 </div>
102                             </md-input-container>
103                             <md-input-container class="md-block">
104                                 <label translate="TOOLS.DEFAULTUSER">defaultuser</label>
105                                 <input type="text" name="defaultuser" ng-model="vm.trunk.defaultuser" required>
106                                 <div class="hint"><span translate="TOOLS.HELP.DEFAULTUSER"></span></div>
107                                 <div ng-messages="generalForm.defaultuser.$error" ng-show="generalForm.defaultuser.$touched" role="alert">
108                                     <div ng-message="required">
109                                         <span translate="TOOLS.ERRORS.DEFAULTUSER_REQUIRED">defaultuser field is required</span>
110                                     </div>
111                                 </div>
112                             </md-input-container>
113                             <md-input-container class="md-block">
114                                 <label translate="TOOLS.CONTEXT">context</label>
115                                 <md-select ng-model="vm.trunk.context" required>
116                                     <md-option ng-value="context.name" ng-repeat="context in vm.contexts">{{ context.name }}</md-option>
117                                 </md-select>
118                                 <div class="hint"><span translate="TOOLS.HELP.CONTEXT"></span></div>
119                                 <div ng-messages="generalForm.context.$error" ng-show="generalForm.context.$touched" role="alert">
120                                     <div ng-message="required">
121                                         <span translate="TOOLS.ERRORS.CONTEXT_REQUIRED">context field is required</span>
122                                     </div>
123                                 </div>
124                             </md-input-container>
125                             <md-input-container class="md-block">
126                                 <label translate="TOOLS.CALLERID">callerid</label>
127                                 <input type="text" name="callerid" ng-model="vm.trunk.callerid" required>
128                                 <div class="hint"><span translate="TOOLS.HELP.CALLERID"></span></div>
129                                 <div ng-messages="generalForm.callerid.$error" ng-show="generalForm.callerid.$touched" role="alert">
130                                     <div ng-message="required">
131                                         <span translate="TOOLS.ERRORS.CALLERID_REQUIRED">callerid field is required</span>
132                                     </div>
133                                 </div>
134                             </md-input-container>
135                             <md-input-container class="md-block">
136                                 <label translate="TOOLS.TYPE">Type</label>
137                                 <md-select ng-model="vm.trunk.type" required>
138                                     <md-option ng-value="'friend'">Friend</md-option>
139                                     <md-option ng-value="'user'">User</md-option>
140                                     <md-option ng-value="'peer'">Peer</md-option>
141                                 </md-select>
142                                 <div class="hint"><span translate="TOOLS.HELP.TYPE"></span></div>
143                                 <div ng-messages="generalForm.type.$error" ng-show="generalForm.type.$touched" role="alert">
144                                     <div ng-message="required">
145                                         <span translate="TOOLS.ERRORS.TYPE_REQUIRED">Type field is required</span>
146                                     </div>
147                                 </div>
148                             </md-input-container>
149                             <md-input-container class="md-block">
150                                 <label translate="TOOLS.DTMFMODE">dtmfmode</label>
151                                 <md-select ng-model="vm.trunk.dtmfmode" required>
152                                     <md-option ng-value="'rfc2833'">rfc2833</md-option>
153                                     <md-option ng-value="'info'">info</md-option>
154                                     <md-option ng-value="'shortinfo'">shortinfo</md-option>
155                                     <md-option ng-value="'inband'">inband</md-option>
156                                     <md-option ng-value="'auto'">auto</md-option>
157                                 </md-select>
158                                 <div class="hint"><span translate="TOOLS.HELP.DTMFMODE"></span></div>
159                                 <div ng-messages="generalForm.dtmfmode.$error" ng-show="generalForm.dtmfmode.$touched" role="alert">
160                                     <div ng-message="required">
161                                         <span translate="TOOLS.ERRORS.DTMFMODE_REQUIRED">dtmfmode field is required</span>
162                                     </div>
163                                 </div>
164                             </md-input-container>
165                             <md-input-container class="md-block">
166                                 <label translate="TOOLS.NAT">nat</label>
167                                 <md-select ng-model="vm.trunk.nat" required multiple>
168                                     <md-option ng-value="'force_rport'">force_rport</md-option>
169                                     <md-option ng-value="'comedia'">comedia</md-option>
170                                     <md-option ng-value="'yes'">yes</md-option>
171                                     <md-option ng-value="'no'">no</md-option>
172                                     <md-option ng-value="'never'">never</md-option>
173                                     <md-option ng-value="'route'">route</md-option>
174                                 </md-select>
175                                 <div class="hint"><span translate="TOOLS.HELP.NAT"></span></div>
176                                 <div ng-messages="generalForm.nat.$error" ng-show="generalForm.nat.$touched" role="alert">
177                                     <div ng-message="required">
178                                         <span translate="TOOLS.ERRORS.NAT_REQUIRED">nat field is required</span>
179                                     </div>
180                                 </div>
181                             </md-input-container>
182                             <md-input-container class="md-block">
183                                 <label translate="TOOLS.QUALIFY">qualify</label>
184                                 <md-select ng-model="vm.trunk.qualify" required>
185
186                                     <md-option ng-value="'yes'"> {{ 'TOOLS.YES' | translate }}</md-option>
187
188                                     <md-option ng-value="'user'"> {{ 'TOOLS.NO' | translate }}</md-option>
189                                 </md-select>
190                                 <div class="hint"><span translate="TOOLS.HELP.QUALIFY"></span></div>
191                                 <div ng-messages="generalForm.qualify.$error" ng-show="generalForm.qualify.$touched" role="alert">
192                                     <div ng-message="required">
193                                         <span translate="TOOLS.ERRORS.QUALIFY_REQUIRED">qualify field is required</span>
194                                     </div>
195                                 </div>
196                             </md-input-container>
197                             <md-input-container class="md-block">
198                                 <label translate="TOOLS.ALLOWCODECS">AllowCodecs</label>
199                                 <md-select ng-model="vm.trunk.allow" required multiple>
200                                     <md-option ng-value="'alaw'">alaw</md-option>
201                                     <md-option ng-value="'ulaw'">ulaw</md-option>
202                                     <md-option ng-value="'gsm'">gsm</md-option>
203                                     <md-option ng-value="'g723'">g723</md-option>
204                                     <md-option ng-value="'g726'">g726</md-option>
205                                     <md-option ng-value="'g722'">g722</md-option>
206                                     <md-option ng-value="'g729'">g729</md-option>
207                                     <md-option ng-value="'ilbc'">ilbc</md-option>
208                                     <md-option ng-value="'opus'">opus</md-option>
209                                 </md-select>
210                                 <div class="hint"><span translate="TOOLS.HELP.ALLOWCODECS"></span></div>
211                                 <div ng-messages="generalForm.allow.$error" ng-show="generalForm.allow.$touched" role="alert">
212                                     <div ng-message="required">
213                                         <span translate="TOOLS.ERRORS.ALLOWCODECS_REQUIRED">AllowCodecs field is required</span>
214                                     </div>
215                                 </div>
216                             </md-input-container>
217                             <md-input-container class="md-block">
218                                 <label translate="TOOLS.INSECURE">insecure</label>
219                                 <md-select ng-model="vm.trunk.insecure" required multiple>
220                                     <md-option ng-value="'port'">port</md-option>
221                                     <md-option ng-value="'invite'">invite</md-option>
222                                     <md-option ng-value="'very'">very</md-option>
223                                 </md-select>
224                                 <div class="hint"><span translate="TOOLS.HELP.INSECURE"></span></div>
225                                 <div ng-messages="generalForm.insecure.$error" ng-show="generalForm.insecure.$touched" role="alert">
226                                     <div ng-message="required">
227                                         <span translate="TOOLS.ERRORS.INSECURE_REQUIRED">insecure field is required</span>
228                                     </div>
229                                 </div>
230                             </md-input-container>
231                             <md-input-container class="md-block">
232                                 <label translate="TOOLS.CALL_LIMIT">call_limit</label>
233                                 <input type="number" name="call_limit" ng-model="vm.trunk.call_limit">
234                                 <div class="hint"><span translate="TOOLS.HELP.CALL_LIMIT"></span></div>
235                                 <div ng-messages="generalForm.call_limit.$error" ng-show="generalForm.call_limit.$touched" role="alert">
236                                     <div ng-message="required">
237                                         <span translate="TOOLS.ERRORS.CALL_LIMIT_REQUIRED">call_limit field is required</span>
238                                     </div>
239                                 </div>
240                             </md-input-container>
241                             <md-input-container class="md-block">
242                                 <label translate="TOOLS.DESCRIPTION">Description</label>
243                                 <input type="text" name="description" ng-model="vm.trunk.description">
244                                 <div ng-messages="generalForm.description.$error" ng-show="generalForm.description.$touched" role="alert">
245                                     <div ng-message="required">
246                                         <span translate="TOOLS.ERRORS.DESCRIPTION_REQUIRED">Description field is required</span>
247                                     </div>
248                                 </div>
249                             </md-input-container>
250
251                         </form>
252                     </div>
253                 </md-tab-body>
254             </md-tab>
255             <md-tab>
256                 <md-tab-label>
257                     <span translate="TOOLS.ADVANCED">ADVANCED</span>
258                 </md-tab-label>
259
260                 <md-tab-body>
261                     <div class="trunk-detail-form-container advanced md-background-bg md-whiteframe-1dp">
262                         <div class="pb-16" layout="row" layout-align="start center">
263                             <div class="h2 secondary-text" translate="TOOLS.ADVANCED">ADVANCED</div>
264                         </div>
265                         <form name="advancedForm" novalidate>
266                             <md-input-container class="md-block">
267                                 <label translate="TOOLS.REGISTRY">registry</label>
268                                 <input type="text" name="registry" ng-model="vm.trunk.registry" autofocus>
269                                 <div class="hint"><span translate="TOOLS.HELP.REGISTRY"></span></div>
270                                 <div ng-messages="advancedForm.registry.$error" ng-show="advancedForm.registry.$touched" role="alert">
271                                     <div ng-message="required">
272                                         <span translate="TOOLS.ERRORS.REGISTRY_REQUIRED">registry field is required</span>
273                                     </div>
274                                 </div>
275                             </md-input-container>
276                             <md-input-container class="md-block">
277                                 <label translate="TOOLS.DIRECTMEDIA">directmedia</label>
278                                 <md-select ng-model="vm.trunk.directmedia" required>
279                                     <md-option ng-value="'yes'">yes</md-option>
280                                     <md-option ng-value="'no'">no</md-option>
281                                     <md-option ng-value="'nonat'">nonat</md-option>
282                                     <md-option ng-value="'update'">update</md-option>
283                                 </md-select>
284                                 <div class="hint"><span translate="TOOLS.HELP.DIRECTMEDIA"></span></div>
285                                 <div ng-messages="advancedForm.directmedia.$error" ng-show="advancedForm.directmedia.$touched" role="alert">
286                                     <div ng-message="required">
287                                         <span translate="TOOLS.ERRORS.DIRECTMEDIA_REQUIRED">directmedia field is required</span>
288                                     </div>
289                                 </div>
290                             </md-input-container>
291                             <md-input-container class="md-block">
292                                 <label translate="TOOLS.CALLCOUNTER">callcounter</label>
293                                 <md-select ng-model="vm.trunk.callcounter" required>
294
295                                     <md-option ng-value="'yes'"> {{ 'TOOLS.YES' | translate }}</md-option>
296
297                                     <md-option ng-value="'no'"> {{ 'TOOLS.NO' | translate }}</md-option>
298                                 </md-select>
299                                 <div class="hint"><span translate="TOOLS.HELP.CALLCOUNTER"></span></div>
300                                 <div ng-messages="advancedForm.callcounter.$error" ng-show="advancedForm.callcounter.$touched" role="alert">
301                                     <div ng-message="required">
302                                         <span translate="TOOLS.ERRORS.CALLCOUNTER_REQUIRED">callcounter field is required</span>
303                                     </div>
304                                 </div>
305                             </md-input-container>
306                             <md-input-container class="md-block">
307                                 <label translate="TOOLS.FROMDOMAIN">fromdomain</label>
308                                 <input type="text" name="fromdomain" ng-model="vm.trunk.fromdomain">
309                                 <div class="hint"><span translate="TOOLS.HELP.FROMDOMAIN"></span></div>
310                                 <div ng-messages="advancedForm.fromdomain.$error" ng-show="advancedForm.fromdomain.$touched" role="alert">
311                                     <div ng-message="required">
312                                         <span translate="TOOLS.ERRORS.FROMDOMAIN_REQUIRED">fromdomain field is required</span>
313                                     </div>
314                                 </div>
315                             </md-input-container>
316                             <md-input-container class="md-block">
317                                 <label translate="TOOLS.FROMUSER">fromuser</label>
318                                 <input type="text" name="fromuser" ng-model="vm.trunk.fromuser">
319                                 <div class="hint"><span translate="TOOLS.HELP.FROMUSER"></span></div>
320                                 <div ng-messages="advancedForm.fromuser.$error" ng-show="advancedForm.fromuser.$touched" role="alert">
321                                     <div ng-message="required">
322                                         <span translate="TOOLS.ERRORS.FROMUSER_REQUIRED">fromuser field is required</span>
323                                     </div>
324                                 </div>
325                             </md-input-container>
326                             <md-input-container class="md-block">
327                                 <label translate="TOOLS.OUTBOUNDPROXY">outboundproxy</label>
328                                 <input type="text" name="outboundproxy" ng-model="vm.trunk.outboundproxy">
329                                 <div class="hint"><span translate="TOOLS.HELP.OUTBOUNDPROXY"></span></div>
330                                 <div ng-messages="advancedForm.outboundproxy.$error" ng-show="advancedForm.outboundproxy.$touched" role="alert">
331                                     <div ng-message="required">
332                                         <span translate="TOOLS.ERRORS.OUTBOUNDPROXY_REQUIRED">outboundproxy field is required</span>
333                                     </div>
334                                 </div>
335                             </md-input-container>
336                             <md-input-container class="md-block">
337                                 <label translate="TOOLS.ADD_PHONE_TO_URI">Add_phone_to_URI</label>
338                                 <md-select ng-model="vm.trunk.usereqphone" required>
339
340                                     <md-option ng-value="'yes'"> {{ 'TOOLS.YES' | translate }}</md-option>
341
342                                     <md-option ng-value="'no'"> {{ 'TOOLS.NO' | translate }}</md-option>
343                                 </md-select>
344                                 <div class="hint"><span translate="TOOLS.HELP.ADD_PHONE_TO_URI"></span></div>
345                                 <div ng-messages="advancedForm.usereqphone.$error" ng-show="advancedForm.usereqphone.$touched" role="alert">
346                                     <div ng-message="required">
347                                         <span translate="TOOLS.ERRORS.ADD_PHONE_TO_URI_REQUIRED">Add_phone_to_URI field is required</span>
348                                     </div>
349                                 </div>
350                             </md-input-container>
351                             <md-input-container class="md-block">
352                                 <label translate="TOOLS.TRUST_REMOTE_PARTY_ID">Trust_Remote_Party_ID</label>
353                                 <md-select ng-model="vm.trunk.trustrpid" required>
354
355                                     <md-option ng-value="'yes'"> {{ 'TOOLS.YES' | translate }}</md-option>
356
357                                     <md-option ng-value="'no'"> {{ 'TOOLS.NO' | translate }}</md-option>
358                                 </md-select>
359                                 <div class="hint"><span translate="TOOLS.HELP.TRUST_REMOTE_PARTY_ID"></span></div>
360                                 <div ng-messages="advancedForm.trustrpid.$error" ng-show="advancedForm.trustrpid.$touched" role="alert">
361                                     <div ng-message="required">
362                                         <span translate="TOOLS.ERRORS.TRUST_REMOTE_PARTY_ID_REQUIRED">Trust_Remote_Party_ID field is required</span>
363                                     </div>
364                                 </div>
365                             </md-input-container>
366                             <md-input-container class="md-block">
367                                 <label translate="TOOLS.SEND_REMOTE_PARTY_ID_HEADER">Send_Remote_Party_ID_header</label>
368                                 <md-select ng-model="vm.trunk.sendrpid" required>
369
370                                     <md-option ng-value="'yes'"> {{ 'TOOLS.YES' | translate }}</md-option>
371
372                                     <md-option ng-value="'no'"> {{ 'TOOLS.NO' | translate }}</md-option>
373                                 </md-select>
374                                 <div class="hint"><span translate="TOOLS.HELP.SEND_REMOTE_PARTY_ID_HEADER"></span></div>
375                                 <div ng-messages="advancedForm.sendrpid.$error" ng-show="advancedForm.sendrpid.$touched" role="alert">
376                                     <div ng-message="required">
377                                         <span translate="TOOLS.ERRORS.SEND_REMOTE_PARTY_ID_HEADER_REQUIRED">Send_Remote_Party_ID_header field is required</span>
378                                     </div>
379                                 </div>
380                             </md-input-container>
381                             <md-input-container class="md-block">
382                                 <label translate="TOOLS.ENCRYPTION">encryption</label>
383                                 <md-select ng-model="vm.trunk.encryption" required>
384
385                                     <md-option ng-value="'yes'"> {{ 'TOOLS.YES' | translate }}</md-option>
386
387                                     <md-option ng-value="'no'"> {{ 'TOOLS.NO' | translate }}</md-option>
388                                 </md-select>
389                                 <div class="hint"><span translate="TOOLS.HELP.ENCRYPTION"></span></div>
390                                 <div ng-messages="advancedForm.encryption.$error" ng-show="advancedForm.encryption.$touched" role="alert">
391                                     <div ng-message="required">
392                                         <span translate="TOOLS.ERRORS.ENCRYPTION_REQUIRED">encryption field is required</span>
393                                     </div>
394                                 </div>
395                             </md-input-container>
396                             <md-input-container class="md-block">
397                                 <label translate="TOOLS.PORT">port</label>
398                                 <input type="number" name="port" ng-model="vm.trunk.port">
399                                 <div class="hint"><span translate="TOOLS.HELP.PORT"></span></div>
400                                 <div ng-messages="advancedForm.port.$error" ng-show="advancedForm.port.$touched" role="alert">
401                                     <div ng-message="required">
402                                         <span translate="TOOLS.ERRORS.PORT_REQUIRED">port field is required</span>
403                                     </div>
404                                 </div>
405                             </md-input-container>
406                             <md-input-container class="md-block">
407                                 <label translate="TOOLS.TRANSPORT">Transport</label>
408                                 <md-select ng-model="vm.trunk.transport" required multiple>
409                                     <md-option ng-value="'udp'">udp</md-option>
410                                     <md-option ng-value="'tcp'">tcp</md-option>
411                                     <md-option ng-value="'ws'">ws</md-option>
412                                     <md-option ng-value="'wss'">wss</md-option>
413                                     <md-option ng-value="'tls'">tls</md-option>
414                                 </md-select>
415                                 <div class="hint"><span translate="TOOLS.HELP.TRANSPORT"></span></div>
416                                 <div ng-messages="advancedForm.transport.$error" ng-show="advancedForm.transport.$touched" role="alert">
417                                     <div ng-message="required">
418                                         <span translate="TOOLS.ERRORS.TRANSPORT_REQUIRED">Transport field is required</span>
419                                     </div>
420                                 </div>
421                             </md-input-container>
422
423                         </form>
424                     </div>
425                 </md-tab-body>
426             </md-tab>
427             <md-tab>
428                 <md-tab-label>
429                     <span translate="TOOLS.OTHERFIELDS">OTHERFIELDS</span>
430                 </md-tab-label>
431
432                 <md-tab-body>
433                     <div class="trunk-detail-form-container otherfields md-background-bg md-whiteframe-1dp">
434                         <div class="pb-16" layout="row" layout-align="start center">
435                             <div class="h2 secondary-text" translate="TOOLS.OTHERFIELDS">OTHERFIELDS</div>
436                         </div>
437                         <form name="otherFieldsForm" novalidate>
438                             <md-input-container class="md-block">
439                                 <label translate="TOOLS.OTHERFIELDS">otherFields</label>
440                                 <textarea ng-model="vm.trunk.otherFields" md-maxlength="150" max-rows="5" autofocus></textarea>
441                                 <div class="hint"><span translate="TOOLS.HELP.OTHERFIELDS"></span></div>
442                             </md-input-container>
443
444                         </form>
445                     </div>
446                 </md-tab-body>
447             </md-tab>
448         </md-tabs>
449
450     </div>
451     <!-- / CONTENT -->
452
453 </div>