1 <div ng-controller="accessModelWizardCtrl" ng-init="init()">
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>
8 <aside class="modal-navigation">
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>
15 <section class="modal-content-container">
16 <div ng-show="wizardPage === 'tenants'" ng-controller="wizardTenantCtrl" ng-init="init()">
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>
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/>
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>
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\-_.])*$/"/>
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"/>
49 <div class="bottom-navigation clearfix">
50 <button class="btn btn-primary" ng-click="setPage('contracts', newTenantObj)" ng-disabled="!tenantForm.$valid">Next</button>
54 <div ng-show="wizardPage === 'contracts'" ng-controller="wizardContractCtrl" ng-init="init()">
56 <h2 class="text-center">Contracts</h2>
57 <div ng-include src="view_path+'parts/crud.tpl.html'"></div>
59 <div class="formWrapper clearfix" ng-show="contractFormView">
60 <form name="contractForm" novalidate="novalidate">
61 <label class="block">Add contract</label>
63 <div class="rowWrapper">
64 <label class="block basicLabel">Id:</label>
65 <input class="form-control" type="text" ng-model="newContractObj.id" disabled />
68 <div class="rowWrapper">
69 <label class="block basicLabel">Description:</label>
70 <input class="form-control" type="text" ng-model="newContractObj.description" />
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>
80 <button class="btn btn-primary col-md-12" ng-click="save()" ng-disabled="!contractForm.$valid">Save contract</button>
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>
89 <div ng-show="internalView.subject">
90 <form name="subjectForm" novalidate="novalidate">
91 <i class="icon-remove align-right" ng-click="close()"></i>
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>
97 <input class="form-control" type="text" ng-model="newSubjectObj.name" name="name" ng-required="true" />
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>
105 <input class="form-control" type="text" name="order" ng-required="true" ng-model="newSubjectObj.order" ng-change="validate(newSubjectObj.order, errors)"/>
108 <button class="btn btn-primary col-md-12" ng-click="save()" ng-disabled="!subjectForm.$valid">Save subject</button>
112 <fieldset ng-disabled="!selectedSubject">
113 <div class="formWrapper clearfix">
114 <div ng-controller="wizardRuleCtrl" ng-init="init()">
116 <div ng-include src="view_path+'parts/crud.tpl.html'"></div>
118 <div ng-show="internalView.rule">
119 <form name="rulesForm" novalidate="novalidate">
120 <i class="icon-remove align-right" ng-click="close()"></i>
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>
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\-_.])*$/"/>
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>
134 <input class="form-control" type="text" name="order" ng-required="true" ng-model="newRuleObj.order" ng-change="validate(newRuleObj.order, errors)"/>
137 <button class="btn btn-primary col-md-12" ng-click="save()" ng-disabled="!rulesForm.$valid">Save rule</button>
141 <fieldset ng-disabled="!selectedRule">
142 <div class="formWrapper clearfix">
143 <div ng-controller="wizardActionRefCtrl" ng-init="init()">
145 <div ng-include src="view_path+'parts/crud.tpl.html'"></div>
147 <div ng-show="internalView.actionRef">
148 <form name="actionRefForm" novalidate="novalidate">
149 <i class="icon-remove align-right" ng-click="close()"></i>
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>
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">
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>
164 <input class="form-control" type="text" ng-model="newActionRefObj.order" ng-change="validate(newActionRefObj.order, errors)"/>
167 <button class="btn btn-primary col-md-12" ng-click="save()" >Save</button>
172 <div ng-controller="wizardClassifierRefCtrl" ng-init="init()">
174 <div ng-include src="view_path+'parts/crud.tpl.html'"></div>
176 <div ng-show="internalView.classifierRef">
177 <form name="classifierRefForm" novalidate="novalidate">
178 <i class="icon-remove align-right" ng-click="close()"></i>
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>
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\-_.])*$/"/>
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" >
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" >
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" >
208 <button class="btn btn-primary col-md-12" ng-click="save()" >Save</button>
219 <div ng-controller="wizardClauseCtrl" ng-init="init()">
220 <div ng-include src="view_path+'parts/crud.tpl.html'"></div>
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>
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>
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\-_.])*$/"/>
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>
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">
243 <button class="btn btn-danger col-md-2" ng-click="deleteElemAt($index)" ><i class="icon-remove"></i></button>
247 <button class="btn btn-primary col-md-12" ng-click="save()" ng-disabled="!clauseForm.$valid">Save</button>
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>
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>
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 />
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>
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\-_.])*$/"/>
282 <div class="rowWrapper">
283 <label class="block basicLabel">Description:</label>
284 <input class="form-control" type="text" ng-model="newEpgObj.description" />
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">
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>
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}$/"/>
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">
308 <button class="btn btn-primary col-md-12" ng-click="save()" ng-disabled="!epgForm.$valid">Save</button>
312 <fieldset ng-disabled="!selectedEpg">
313 <div class="formWrapper clearfix">
314 <div ng-controller="wizardCnsCtrl" ng-init="init()">
316 <div ng-include src="view_path+'parts/crud.tpl.html'"></div>
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>
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>
326 <input class="form-control" type="text" name="name" ng-model="newCNSObj.name" ng-required="true" />
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>
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>
339 <button class="btn btn-danger col-md-2" ng-click="deleteElemAt($index)" ><i class="icon-remove"></i></button>
343 <button class="btn btn-primary col-md-12" ng-click="save()" ng-disabled="!cnsForm.$valid">Save</button>
350 <div class="clearfix">
351 <div ng-controller="wizardPnsCtrl" ng-init="init()">
353 <div ng-include src="view_path+'parts/crud.tpl.html'"></div>
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>
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>
363 <input class="form-control" type="text" ng-model="newPNSObj.name" name="name" ng-required="true" />
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>
371 <div ng-repeat="contractRef in newPNSObj.contract track by $index">
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" >
378 <button class="btn btn-danger col-md-2" ng-click="deleteElemAt($index)" ><i class="icon-remove"></i></button>
383 <button class="btn btn-primary col-md-12" ng-click="save()" ng-disabled="!pnsForm.$valid">Save</button>
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>