Merge "Use AAAShiroFilter as TokenAuthFilter was deprecated in Be"
[groupbasedpolicy.git] / groupbasedpolicy-old-ui / module / src / main / resources / gbp-old / views / wizards / accessModelWizard.tpl.html
1 <div ng-controller="accessModelWizardCtrl">
2     <div class="modal-canvas"></div>
3     <div class="modal-dialog">
4         <div class="modal-header">
5             <i class="icon-remove align-right padding" ng-click="closeWizard('accessModelWizard')"></i>
6             <h2>Access model wizard</h2>
7         </div>
8         <aside class="modal-navigation">
9             <ul>
10                 <li class="navigation-item {{wizardPage === 'tenants' ? 'selected' : ''}}">Tenants</li>
11                 <li class="navigation-item {{wizardPage === 'contracts' ? 'selected' : ''}}">Contracts</li>
12                 <li class="navigation-item {{wizardPage === 'epgs' ? 'selected' : ''}}">Endpoint groups</li>
13             </ul>
14         </aside>
15         <section class="modal-content-container">
16             <div ng-show="wizardPage === 'tenants'" ng-controller="wizardTenantCtrl" ng-init="init()">
17                 <div class="content">
18                     <h2>Tenant</h2>
19                     <div class="clearfix">
20                         <div class="rowWrapper">
21                             <label class="block basicLabel">Select tenant</label>
22                             <select class="form-control" ng-model="selectedTenant"  ng-options="getDisplayLabel(c, displayLabel) for c in tenantList" ng-change="reloadTenants(selectedTenant)">
23                                 <option value="">Select option</option>
24                             </select>
25                         </div>
26                     </div>
27                     <div class="formWrapper clearfix">OR Add New</div>
28                     <div class="clearfix">
29                         <form name="tenantForm" novalidate="novalidate">
30                             <div class="rowWrapper">
31                                 <label class="block basicLabel">Id:</label>
32                                 <input class="form-control" type="text" ng-model="newTenantObj.id" disabled/>
33                             </div>
34
35                             <div class="rowWrapper">
36                                 <label class="block basicLabel">Name:
37                                     <i class="icon-exclamation-sign red" tooltip="{{tenantForm.name.$error.required ? 'Required field' : tenantForm.name.$error.pattern ? 'Value must start with letter followed by letters and digits without space' : ''}}" ng-show="tenantForm.name.$error.required || tenantForm.name.$error.pattern"></i>
38                                 </label>
39                                 <input class="form-control" type="text" name="name" ng-model="newTenantObj.name" ng-required="true" ng-disabled="view.tenantEdit" ng-pattern="/^[a-zA-Z]([a-zA-Z0-9\-_.])*$/"/>
40                             </div>
41
42                             <div class="rowWrapper">
43                                 <label class="block basicLabel">Description:</label>
44                                 <input class="form-control" type="text" ng-model="newTenantObj.description" ng-disabled="view.tenantEdit"/>
45                             </div>
46                         </form>
47                     </div>
48                 </div>
49                 <div class="bottom-navigation clearfix">
50                     <button class="btn btn-primary" ng-click="setPage('contracts', newTenantObj)" ng-disabled="!tenantForm.$valid">Next</button>
51                 </div>
52             </div>
53
54             <div ng-show="wizardPage === 'contracts'" ng-controller="wizardContractCtrl" ng-init="init()">
55                 <div class="content">
56                     <h2 class="text-center">Contracts</h2> 
57                     <div ng-include src="view_path+'parts/crud.tpl.html'"></div>
58                     
59                     <div class="formWrapper clearfix" ng-show="contractFormView">
60                         <form name="contractForm" novalidate="novalidate">
61                             <label class="block">Add contract</label>
62
63                             <div class="rowWrapper">
64                                 <label class="block basicLabel">Id:</label>
65                                 <input class="form-control" type="text" ng-model="newContractObj.id" disabled />
66                             </div>
67
68                             <div class="rowWrapper">
69                                 <label class="block basicLabel">Description:</label>
70                                 <input class="form-control" type="text" ng-model="newContractObj.description" />
71                             </div>
72
73                             <div class="rowWrapper">
74                                 <label class="block basicLabel">Parent:</label>
75                                 <select class="form-control" ng-model="newContractObj.parent" ng-options="d.id as getDisplayLabel(d, displayLabel) for d in list">
76                                     <option value="">Select option</option>
77                                 </select>
78                             </div>
79
80                             <button class="btn btn-primary col-md-12" ng-click="save()" ng-disabled="!contractForm.$valid">Save contract</button>
81                         </form>
82                     </div>
83
84                     <fieldset ng-disabled="!selectedContract">
85                         <div class="formWrapper clearfix">
86                             <div ng-controller="wizardSubjectCtrl" ng-init="init()">
87                                 <div ng-include src="view_path+'parts/crud.tpl.html'"></div>
88
89                                 <div ng-show="internalView.subject">
90                                     <form name="subjectForm" novalidate="novalidate">
91                                         <i class="icon-remove align-right" ng-click="close()"></i>
92
93                                         <div class="rowWrapper">
94                                             <label class="block basicLabel"><span>Name:</span>
95                                                 <i class="icon-exclamation-sign red" tooltip="Required field" ng-show="subjectForm.name.$error.required"></i>
96                                             </label>
97                                             <input class="form-control" type="text" ng-model="newSubjectObj.name" name="name" ng-required="true" />
98                                         </div>
99
100                                         <div class="rowWrapper" ng-hide="internalView.edit === 'view' && !newSubjectObj['order']">
101                                             <label class="block basicLabel"><span>Order:</span>
102                                                 <i class="icon-exclamation-sign red" tooltip="Required field" ng-show="subjectForm.order.$error.required"></i>
103                                                 <i class="icon-exclamation-sign red" tooltip="Invalid pattern" ng-show="errors.int32 && !subjectForm.order.$error.required"></i>
104                                             </label>
105                                             <input class="form-control" type="text" name="order" ng-required="true" ng-model="newSubjectObj.order" ng-change="validate(newSubjectObj.order, errors)"/>
106                                         </div>
107
108                                         <button class="btn btn-primary col-md-12" ng-click="save()" ng-disabled="!subjectForm.$valid">Save subject</button>
109                                     </form>
110                                 </div>
111
112                                 <fieldset ng-disabled="!selectedSubject">
113                                     <div class="formWrapper clearfix">
114                                         <div ng-controller="wizardRuleCtrl" ng-init="init()">
115
116                                             <div ng-include src="view_path+'parts/crud.tpl.html'"></div>
117
118                                             <div ng-show="internalView.rule">
119                                                 <form name="rulesForm" novalidate="novalidate">
120                                                     <i class="icon-remove align-right" ng-click="close()"></i>
121                                                     
122                                                     <div class="rowWrapper">
123                                                         <label class="block basicLabel"><span>Name:</span>
124                                                             <i class="icon-exclamation-sign red" tooltip="{{rulesForm.name.$error.required ? 'Required field' : rulesForm.name.$error.pattern ? 'Value must start with letter followed by letters and digits without space' : ''}}" ng-show="rulesForm.name.$error.required || rulesForm.name.$error.pattern"></i>
125                                                         </label>
126                                                         <input class="form-control" type="text" ng-model="newRuleObj.name" name="name" ng-required="true" ng-pattern="/^[a-zA-Z]([a-zA-Z0-9\-_.])*$/"/>
127                                                     </div>
128
129                                                     <div class="rowWrapper" ng-hide="internalView.edit === 'view' && !newRuleObj['order']">
130                                                         <label class="block basicLabel"><span>Order:</span>
131                                                             <i class="icon-exclamation-sign red" tooltip="Required field" ng-show="rulesForm.order.$error.required"></i>
132                                                             <i class="icon-exclamation-sign red" tooltip="Invalid pattern" ng-show="errors.int32 && !rulesForm.order.$error.required"></i>
133                                                         </label>
134                                                         <input class="form-control" type="text" name="order" ng-required="true" ng-model="newRuleObj.order" ng-change="validate(newRuleObj.order, errors)"/>
135                                                     </div>
136                                                     
137                                                     <button class="btn btn-primary col-md-12" ng-click="save()" ng-disabled="!rulesForm.$valid">Save rule</button>
138                                                 </form>
139                                             </div>
140
141                                             <fieldset ng-disabled="!selectedRule">
142                                                 <div class="formWrapper clearfix">
143                                                     <div ng-controller="wizardActionRefCtrl" ng-init="init()">
144
145                                                         <div ng-include src="view_path+'parts/crud.tpl.html'"></div>
146
147                                                         <div ng-show="internalView.actionRef">
148                                                             <form name="actionRefForm" novalidate="novalidate">
149                                                                 <i class="icon-remove align-right" ng-click="close()"></i>
150                                                                 
151                                                                 <div class="rowWrapper">
152                                                                     <label class="block basicLabel"><span>Name:</span>
153                                                                         <i class="icon-exclamation-sign red" tooltip="Required field" ng-show="actionRefForm.name.$error.required"></i>
154                                                                     </label>
155                                                                     <select class="form-control" ng-model="newActionRefObj.name" ng-options="c.name as getDisplayLabel(c, actionInstanceNames.labels) for c in actionInstanceNames.options" name="name" ng-required="true">
156                                                                         <option>--</option>
157                                                                     </select>
158                                                                 </div>
159
160                                                                 <div class="rowWrapper" ng-hide="internalView.edit === 'view' && !newActionRefObj['order']">
161                                                                     <label class="block basicLabel"><span>Order:</span>
162                                                                         <i class="icon-exclamation-sign red" tooltip="Invalid pattern" ng-show="errors.int32"></i>
163                                                                     </label>
164                                                                     <input class="form-control" type="text" ng-model="newActionRefObj.order" ng-change="validate(newActionRefObj.order, errors)"/>
165                                                                 </div>
166                                                                 
167                                                                 <button class="btn btn-primary col-md-12" ng-click="save()" >Save</button>
168                                                             </form>
169                                                         </div>
170                                                     </div>
171
172                                                     <div ng-controller="wizardClassifierRefCtrl" ng-init="init()">
173
174                                                         <div ng-include src="view_path+'parts/crud.tpl.html'"></div>
175                                                         
176                                                         <div ng-show="internalView.classifierRef">
177                                                             <form name="classifierRefForm" novalidate="novalidate">
178                                                                 <i class="icon-remove align-right" ng-click="close()"></i>
179
180                                                                 <div class="rowWrapper">
181                                                                     <label class="block basicLabel"><span>Name:</span>
182                                                                         <i class="icon-exclamation-sign red" tooltip="{{classifierRefForm.name.$error.required ? 'Required field' : classifierRefForm.name.$error.pattern ? 'Value must start with letter followed by letters and digits without space' : ''}}" ng-show="classifierRefForm.name.$error.required || classifierRefForm.name.$error.pattern"></i>
183                                                                     </label>
184                                                                     <input class="form-control" type="text" ng-model="newClassifierRefObj.name" name="name" ng-required="true" ng-pattern="/^[a-zA-Z]([a-zA-Z0-9\-_.])*$/"/>
185                                                                 </div>
186                                                                 
187                                                                 <div class="rowWrapper" ng-hide="internalView.edit === 'view' && !newClassifierRefObj['instance-name']">
188                                                                     <label class="block basicLabel"><span>Instance name:</span></label>
189                                                                     <select class="form-control" ng-model="newClassifierRefObj['instance-name']" ng-options="c.name as getDisplayLabel(c, instanceNames.labels) for c in instanceNames.options" >
190                                                                         <option>--</option>
191                                                                     </select>
192                                                                 </div>
193
194                                                                 <div class="rowWrapper" ng-hide="internalView.edit === 'view' && !newClassifierRefObj['direction']">
195                                                                     <label class="block basicLabel"><span>Direction:</span></label>
196                                                                     <select class="form-control" ng-model="newClassifierRefObj.direction" ng-options="c for c in formDirections" >
197                                                                         <option>--</option>
198                                                                     </select>
199                                                                 </div>
200
201                                                                 <div class="rowWrapper" ng-hide="internalView.edit === 'view' && !newClassifierRefObj['connection-tracking']">
202                                                                     <label class="block basicLabel"><span>Connection tracking:</span></label>
203                                                                     <select class="form-control" ng-model="newClassifierRefObj['connection-tracking']" ng-options="c for c in formConnectionTracking" >
204                                                                         <option>--</option>
205                                                                     </select>
206                                                                 </div>
207                                                                 
208                                                                 <button class="btn btn-primary col-md-12" ng-click="save()" >Save</button>
209                                                             </form>
210                                                         </div>
211                                                     </div>
212                                                 </div>
213                                             </fieldset>
214                                         </div>
215                                     </div>
216                                 </fieldset>
217                             </div>
218
219                             <div ng-controller="wizardClauseCtrl" ng-init="init()">
220                                 <div ng-include src="view_path+'parts/crud.tpl.html'"></div>
221
222                                 <div class="formWrapper clearfix" ng-show="internalView.clause">
223                                     <form name="clauseForm" novalidate="novalidate">
224                                         <i class="icon-remove align-right" ng-click="close()"></i>
225
226                                         <div class="rowWrapper">
227                                             <label class="block basicLabel"><span>Name:</span>
228                                                 <i class="icon-exclamation-sign red" tooltip="{{clauseForm.name.$error.required ? 'Required field' : clauseForm.name.$error.pattern ? 'Value must start with letter followed by letters and digits without space' : ''}}" ng-show="clauseForm.name.$error.required || clauseForm.name.$error.pattern"></i>
229                                             </label>
230                                             <input class="form-control" type="text" ng-model="newClauseObj.name" name="name" ng-required="true" ng-pattern="/^[a-zA-Z]([a-zA-Z0-9\-_.])*$/"/>
231                                         </div>
232
233                                         <div class="rowWrapper" ng-hide="internalView.edit === 'view' && !newClauseObj['subject-refs']">
234                                             <label class="basicLabel"><span>Clause subjects:</span></label>
235                                             <button class="btn btn-primary btn-slim" ng-click="addNewElem()"><i class="icon-plus"></i></button>
236
237                                             <div ng-repeat="subjectRef in newClauseObj['subject-refs'] track by $index">
238                                                 <div class="selectWrapper col-md-10">
239                                                     <select class="form-control" ng-model="subjectRef" ng-change="updateAt($index, subjectRef)" ng-options="s.name as getDisplayLabel(s, subjects.labels) for s in subjects.options">
240                                                         <option>--</option>
241                                                     </select>
242                                                 </div>
243                                                 <button class="btn btn-danger col-md-2" ng-click="deleteElemAt($index)" ><i class="icon-remove"></i></button>
244                                             </div>
245                                         </div>
246
247                                         <button class="btn btn-primary col-md-12" ng-click="save()" ng-disabled="!clauseForm.$valid">Save</button>
248                                     </form>
249                                 </div>
250                             </div>
251                         </div>
252                     </fieldset>
253
254                 </div>
255
256                 <div class="bottom-navigation clearfix">
257                     <button class="btn" ng-click="setPage('tenants')">Previous</button>
258                     <button class="btn btn-primary" ng-click="setPage('epgs', list)">Next</button>
259                 </div>
260             </div>
261                 
262             <div ng-show="wizardPage === 'epgs'" ng-controller="wizardEpgCtrl" ng-init="init()">
263                 <div class="content">
264                     <h2 class="text-center">Endpoint groups</h2> 
265                     <div ng-include src="view_path+'parts/crud.tpl.html'"></div>
266
267                     <div class=" clearfix" ng-show="epgFormView">
268                         <form name="epgForm" novalidate="novalidate">
269                             <i class="icon-remove align-right" ng-click="close()"></i>
270                             <div class="rowWrapper">
271                                 <label class="block basicLabel">Id:</label>
272                                 <input class="form-control" type="text" ng-model="newEpgObj.id" disabled />
273                             </div>
274
275                             <div class="rowWrapper">
276                                 <label class="block basicLabel">Name:
277                                     <i class="icon-exclamation-sign red" tooltip="{{epgForm.name.$error.required ? 'Required field' : epgForm.name.$error.pattern ? 'Value must start with letter followed by letters and digits without space' : ''}}" ng-show="epgForm.name.$error.required || epgForm.name.$error.pattern"></i>
278                                 </label>
279                                 <input class="form-control" type="text" name="name" ng-model="newEpgObj.name" ng-required="true" ng-pattern="/^[a-zA-Z]([a-zA-Z0-9\-_.])*$/"/>
280                             </div>
281
282                             <div class="rowWrapper">
283                                 <label class="block basicLabel">Description:</label>
284                                 <input class="form-control" type="text" ng-model="newEpgObj.description" />
285                             </div>
286
287                             <div class="rowWrapper">
288                                 <label class="block basicLabel">Intra group policy:</label>
289                                 <select class="form-control" ng-model="newEpgObj['intra-group-policy']" ng-options="opt for opt in igpOpts">
290                                     <option>--</option>
291                                 </select>
292                             </div>
293
294                             <div class="rowWrapper">
295                                 <label class="block basicLabel">Network domain:
296                                     <i class="icon-exclamation-sign red" tooltip="Invalid pattern" ng-show="epgForm.netDomain.$error.pattern"></i>
297                                 </label>
298                                 <input class="form-control" type="text" ng-model="newEpgObj['network-domain']" name="netDomain" ng-pattern="/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/"/>
299                             </div>
300
301                             <div class="rowWrapper">
302                                 <label class="block basicLabel">Parent:</label>
303                                 <select class="form-control" ng-model="newEpgObj.parent" ng-options="d.id as getDisplayLabel(d, displayLabel) for d in list">
304                                     <option>--</option>
305                                 </select>
306                             </div>
307
308                             <button class="btn btn-primary col-md-12" ng-click="save()" ng-disabled="!epgForm.$valid">Save</button>
309                         </form>
310                     </div>
311
312                     <fieldset ng-disabled="!selectedEpg">
313                         <div class="formWrapper clearfix">
314                             <div ng-controller="wizardCnsCtrl" ng-init="init()">
315
316                                 <div ng-include src="view_path+'parts/crud.tpl.html'"></div>
317
318                                 <div class="formWrapper clearfix" ng-show="internalView.cns">
319                                     <form name="cnsForm" novalidate="novalidate">
320                                         <i class="icon-remove align-right" ng-click="close()"></i>
321
322                                         <div class="rowWrapper">
323                                             <label class="block basicLabel">Name:
324                                                 <i class="icon-exclamation-sign red" tooltip="Required field" ng-show="cnsForm.name.$error.required"></i>
325                                             </label>
326                                             <input class="form-control" type="text" name="name" ng-model="newCNSObj.name" ng-required="true" />
327                                         </div>
328
329                                         <div class="rowWrapper" ng-hide="internalView.edit === 'view' && !newCNSObj['contract']">
330                                             <label class="basicLabel">Contracts:</label>
331                                             <button class="btn btn-primary btn-slim" ng-click="addNewElem()" ><i class="icon-plus"></i></button>
332
333                                             <div ng-repeat="contractRef in newCNSObj.contract track by $index">
334                                                 <div class="selectWrapper col-md-10">
335                                                     <select class="form-control" ng-model="contractRef" ng-change="updateAt($index, contractRef)" ng-options="c.id as getDisplayLabel(c, contractList.labels) for c in contractList.options" ng->
336                                                         <option value="">Select option</option>
337                                                     </select>
338                                                 </div>
339                                                 <button class="btn btn-danger col-md-2" ng-click="deleteElemAt($index)" ><i class="icon-remove"></i></button>
340                                             </div>
341                                         </div>
342
343                                         <button class="btn btn-primary col-md-12" ng-click="save()" ng-disabled="!cnsForm.$valid">Save</button>
344                                     </form>
345                                 </div>
346
347                             </div>
348                         </div>
349
350                         <div class="clearfix">
351                             <div ng-controller="wizardPnsCtrl" ng-init="init()">
352
353                                 <div ng-include src="view_path+'parts/crud.tpl.html'"></div>
354
355                                 <section class="formWrapper clearfix" ng-show="internalView.pns">
356                                     <form name="pnsForm" novalidate="novalidate">
357                                         <i class="icon-remove align-right" ng-click="close()"></i>
358
359                                         <div class="rowWrapper">
360                                             <label class="block basicLabel">Name:
361                                                 <i class="icon-exclamation-sign red" tooltip="Required field" ng-show="pnsForm.name.$error.required"></i>
362                                             </label>
363                                             <input class="form-control" type="text" ng-model="newPNSObj.name"  name="name" ng-required="true" />
364                                         </div>
365
366                                         <div class="rowWrapper" ng-hide="internalView.edit === 'view' && !newPNSObj['contract']">
367                                             <label class="basicLabel">Contracts:</label>
368                                             <button class="btn btn-primary btn-slim" ng-click="addNewElem()" ><i class="icon-plus"></i></button>
369
370
371                                             <div ng-repeat="contractRef in newPNSObj.contract track by $index">
372
373                                                 <div class="selectWrapper col-md-10">
374                                                     <select class="form-control" ng-model="contractRef" ng-change="updateAt($index, contractRef)" ng-options="c.id as getDisplayLabel(c, contractList.labels) for c in contractList.options" >
375                                                         <option>--</option>
376                                                     </select>
377                                                 </div>
378                                                 <button class="btn btn-danger col-md-2" ng-click="deleteElemAt($index)" ><i class="icon-remove"></i></button>
379
380                                             </div>
381                                         </div>
382
383                                         <button class="btn btn-primary col-md-12" ng-click="save()" ng-disabled="!pnsForm.$valid">Save</button>
384                                     </form>
385                                 </section>
386
387                             </div>
388                         </div>
389                     </fieldset>
390                 </div>
391
392                 <div class="bottom-navigation clearfix">
393                     <button class="btn" ng-click="setPage('contracts')">Previous</button>
394                     <!-- <button class="btn btn-primary" ng-click="setPage('summary', list)">Next</button> -->
395                     <button class="btn btn-primary"ng-click="submit(list)">Submit</button>
396                 </div>
397             </div>
398         </section>
399     </div>
400 </div>