aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.html
blob: 4473ee3b8c27d28178428450d8c5d8a5a1ed4f04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<link rel="stylesheet" type="text/css" href="app/vid/styles/modal-create-new.css" />
<div class="modal-header">
    <h3 class="modal-title" id="modal-title">New VNF Change</h3>
    <span ng-click="vm.close()" class="pull-right modal-close" aria-hidden="true">&times;</span>
</div>
<form class="form-create" name="newChangeManagement" ng-submit="vm.openModal();vm.close();" novalidate>
    <div class="modal-body">
        <div class="form-group">
            <label class="control-label">Subscriber</label>
            <select class="form-control" ng-model="vm.changeManagement.subscriberId" ng-change="vm.loadServiceTypes()" name="subscriber" id="subscriber" data-tests-id="subscriberName" required>
                <option value="" disabled>Select subscriber</option>
                <option data-tests-id="subscriberNameOption" class="subscriberNameOption" ng-repeat="item in vm.subscribers" ng-value="item['global-customer-id']" ng-disabled="!(item['is-permitted'])">{{item['subscriber-name']}}</option>
            </select>
        </div>
        <div class="form-group">
            <label class="control-label">Service type</label>
            <select class="form-control" ng-model="vm.changeManagement.serviceType" ng-change="vm.loadVNFTypes()" name="serviceType" id="serviceType" ng-options="item['service-type'] disable when !(item['is-permitted']) for item in vm.serviceTypes" required data-ng-disabled="newChangeManagement.subscriber.$pristine" data-tests-id="serviceType">
                <option value="" disabled>Select service type</option>
            </select>
        </div>
        <div class="form-group">
            <label class="control-label">NF Role</label>
            <select class="form-control" ng-model="vm.changeManagement.vnfType" ng-change="vm.loadVNFVersions()" name="vnfType" id="vnfType" ng-options="item for item in vm.vnfTypes" required data-ng-disabled="newChangeManagement.serviceType.$pristine">
                <option value="" disabled>NF Role</option>
            </select>
        </div>
        <div class="form-group">
            <label class="control-label">Source VNF Model Version</label>
            <select class="form-control" ng-model="vm.changeManagement.fromVNFVersion" ng-change="vm.loadVNFNames()" name="fromVNFVersion" id="fromVNFVersion" ng-options="item.key as item.value for item in vm.fromVNFVersions" required data-ng-disabled="newChangeManagement.vnfType.$pristine">
                <option value="" disabled>Select VNF Model Version</option>
            </select>
        </div>
        <div class="form-group">
            <label class="control-label">Available VNF</label>
            <multiselect ng-model="vm.changeManagement.vnfNames" ng-change="vm.loadWorkFlows()" name="vnfName" id="vnfName" options="vm.vnfNames" display-prop="name" id-prop="id" required data-ng-disabled="newChangeManagement.fromVNFVersion.$pristine"></multiselect>
        </div>
        <div ng-show="vm.changeManagement.vnfNames && vm.changeManagement.vnfNames.length > 0" class="form-group vnf-versions-container">
            <table class="table table-bordered">
                <tbody>
                <tr ng-repeat="vnfName in vm.changeManagement.vnfNames">
                    <td class="col-md-2"><span class="vnf-versions-name">{{vnfName.name}}</span></td>
                    <td class="col-md-2">
                        <select ng-model="vnfName.version" ng-change="vm.selectVersionForVNFName(vnfName)" class="vnf-versions-select-as-text" id="{{vnfName['invariant-id']}}-target-version-select">
                            <option value="" disabled="" selected="selected">Select Target VNF Model Version</option>
                            <option ng-repeat="version in vnfName.availableVersions">{{version.modelInfo.modelVersion}}</option>
                        </select>
                    </td>
                    <td class="col-md-1 vnf-versions-name">
                        <input ng-model="vnfName.filePath" onchange="angular.element(this).scope().selectFileForVNFName(this)" type="file" id="{{vnfName['invariant-id']}}" class="vnf-files-select" />
                        <span class="vnf-versions-name">Select File<span class="caret"></span></span></td>
                </tr>
                </tbody>
            </table>
        </div>
        <div class="form-group">
            <label class="control-label">Workflow</label>
            <select class="form-control" ng-model="vm.changeManagement.workflow" name="workflow" id="workflow" ng-options="item for item in vm.workflows" required data-ng-disabled="newChangeManagement.vnfName.$pristine">
                <option value="" disabled>Select workflow</option>
            </select>
        </div>
        <div class="form-group" ng-if="vm.isConfigUpdate()">
            <label class="control-label">Attach configuration file</label>
            <div class="file-wrapper">
                <input id="config-update-input" class="file-input" type="file" ngf-select ng-model="vm.configUpdateFile" ngf-validate-async-fn="vm.uploadConfigFile($file)" name="configUpdateFile"
                       accept=".csv" ngf-pattern=".csv" required> </input>
                <label id="config-update-label" class="file-input-label">{{vm.configUpdateFile&&vm.configUpdateFile.name||"Select File"}} </label>
                <label for="config-update-input"><span class="icon-browse"></span></label>
            </div>
            <label id="errorLabel" class="icon-alert error" ng-if="newChangeManagement.configUpdateFile.$error.pattern">{{vm.configUpdatePatternError}}</label>
            <label id="errorContentLabel" class="icon-alert error" ng-if="newChangeManagement.configUpdateFile.$error.validateAsyncFn">{{vm.configUpdateContentError}}</label>
        </div>
        <div ng-if="vm.shouldShowVnfInPlaceFields()">
            <div class="form-group">
                <label class="control-label">operations-timeout</label>
                <input class="form-control" ng-model="vm.changeManagement.operationTimeout" name="operationTimeout" type="text" id="operations-timeout" pattern="[0-9]+" required>
            </div>
            <div class="form-group">
                <label class="control-label">existing-software-version</label>
                <input class="form-control" ng-model="vm.changeManagement.existingSoftwareVersion" name="existingSoftwareVersion" type="text" id="existing-software-version" pattern="{{vm.softwareVersionRegex}}" required>
            </div>
            <div class="form-group">
                <label class="control-label">new-software-version</label>
                <input class="form-control" ng-model="vm.changeManagement.newSoftwareVersion" name="newSoftwareVersion" type="text" id="new-software-version" pattern="{{vm.softwareVersionRegex}}" required>
            </div>

        </div>
    </div>
    <div class="modal-footer">
        <div class="pull-right">
            <button type="submit" id="submit" name="submit" class="btn btn-primary" data-ng-disabled="newChangeManagement.$invalid">Schedule</button>
            <button type="button" id="cancel" name="cancel" class="btn btn-white" ng-click="vm.close()">Cancel</button>
        </div>
    </div>
</form>