aboutsummaryrefslogtreecommitdiffstats
path: root/d2ice.att.io/app/main/dashboard
diff options
context:
space:
mode:
Diffstat (limited to 'd2ice.att.io/app/main/dashboard')
-rwxr-xr-xd2ice.att.io/app/main/dashboard/account/account.controller.js150
-rwxr-xr-xd2ice.att.io/app/main/dashboard/account/account.html159
-rwxr-xr-xd2ice.att.io/app/main/dashboard/account/account.less215
-rwxr-xr-xd2ice.att.io/app/main/dashboard/account/account.module.js85
-rwxr-xr-xd2ice.att.io/app/main/dashboard/account/notifications/notifications.controller.js140
-rwxr-xr-xd2ice.att.io/app/main/dashboard/account/notifications/notifications.html60
-rwxr-xr-xd2ice.att.io/app/main/dashboard/account/notifications/notifications.less348
-rwxr-xr-xd2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.controller.js98
-rwxr-xr-xd2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.html66
-rwxr-xr-xd2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.less45
-rwxr-xr-xd2ice.att.io/app/main/dashboard/checklist/checklist.controller.js445
-rwxr-xr-xd2ice.att.io/app/main/dashboard/checklist/checklist.html117
-rwxr-xr-xd2ice.att.io/app/main/dashboard/checklist/checklist.less826
-rwxr-xr-xd2ice.att.io/app/main/dashboard/dashboard/dashboard.controller.js235
-rwxr-xr-xd2ice.att.io/app/main/dashboard/dashboard/dashboard.html111
-rwxr-xr-xd2ice.att.io/app/main/dashboard/dashboard/dashboard.less189
-rwxr-xr-xd2ice.att.io/app/main/dashboard/detailed-view/detailed-view.controller.js245
-rwxr-xr-xd2ice.att.io/app/main/dashboard/detailed-view/detailed-view.html109
-rwxr-xr-xd2ice.att.io/app/main/dashboard/detailed-view/detailed-view.less400
-rwxr-xr-xd2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.directive.js308
-rwxr-xr-xd2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.html38
-rwxr-xr-xd2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.less47
-rwxr-xr-xd2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.module.js48
-rwxr-xr-xd2ice.att.io/app/main/dashboard/get-started-modal/wizard/wizard-container.html192
-rwxr-xr-xd2ice.att.io/app/main/dashboard/get-started-modal/wizard/wizard.less255
-rwxr-xr-xd2ice.att.io/app/main/dashboard/main.module.js107
-rwxr-xr-xd2ice.att.io/app/main/dashboard/main/main.html172
-rwxr-xr-xd2ice.att.io/app/main/dashboard/overview/overview.controller.js833
-rwxr-xr-xd2ice.att.io/app/main/dashboard/overview/overview.html212
-rwxr-xr-xd2ice.att.io/app/main/dashboard/overview/overview.less575
30 files changed, 0 insertions, 6830 deletions
diff --git a/d2ice.att.io/app/main/dashboard/account/account.controller.js b/d2ice.att.io/app/main/dashboard/account/account.controller.js
deleted file mode 100755
index da648f73..00000000
--- a/d2ice.att.io/app/main/dashboard/account/account.controller.js
+++ /dev/null
@@ -1,150 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-(function () {
-
- 'use strict';
-
- angular
- .module('ice.dashboard.account')
- .controller('DashboardAccountController', ["$state", "usersService", "vfService", "$log",
- "$rootScope", "toastService", dashboardAccountController]);
-
- function dashboardAccountController($state,usersService,vfService, $log, $rootScope, toastService) {
-
- var vm = this;
- vm.data = {};
-
- var init = function()
- {
-
- vm.user = usersService.getUserData();
-
- if (vm.user == undefined) {
- $state.go('app.login');
- return;
- }
-
- var user_uuid = vm.user.uuid;
-
- $rootScope.ice.loader.show = true;
- usersService.getIceUser(user_uuid)
- .then
- (function (response)
- {
- if (response.status === 200)
- {
- vm.data.full_name = response.data.full_name;
- vm.data.email = response.data.email;
- vm.data.phone_number = response.data.phone_number;
- vm.data.password = ''; //user.password;
- vm.data.ssh_key = response.data.ssh_public_key;
- vm.data.company = response.data.company.name;
- vm.data.access_key = response.data.rgwa_access_key;
- vm.data.access_secret = "•••••••••••••••";
- $rootScope.ice.loader.show = false;
- }
- else
- {
- toastService.setToast('Error getting account', 'danger');
- $log.error("Error getting account: " + uuid);
- $rootScope.ice.loader.show = false;
- }
- }
- ).catch(function (error) {
- toastService.setToast(error.message, 'danger');
- $log.error(error.message);
- });
-
- vfService.getCompanies()
- .then(function (response) {
- if (response.status === 200)
- {
- vm.companies = response.data;
- }
- })
- .catch(function (error)
- {
- $log.error(error.message);
- });
-
-
-
- };
-
- init();
-
- vm.getAccessSecret = function ()
- {
- usersService.getRGWASecret()
- .then
- (function (response)
- {
- if (response.status === 200)
- {
- vm.data.access_secret = response.data.rgwa_secret_key;
- }
- else
- {
- toastService.setToast('Error getting user\'s access secret', 'danger');
- $log.error("Error getting access secret: " + uuid);
- $rootScope.ice.loader.show = false;
- }
- }
- ).catch(function (error) {
- toastService.setToast(error.message, 'danger');
- $log.error(error.message);
- });
- }
-
- vm.submitForm = function ()
- {
- var user = usersService.getUserData();
- usersService.updateAccount(user.uuid, vm.data)
- .then(function (response) {
- if (response.status === 200) {
- toastService.setToast('Account was updated successfully!', 'success');
- }
- })
- .catch(function (error) {
- toastService.setToast(error.message.detail, 'danger');
- });
- };
- }
-
-})();
diff --git a/d2ice.att.io/app/main/dashboard/account/account.html b/d2ice.att.io/app/main/dashboard/account/account.html
deleted file mode 100755
index de792d3a..00000000
--- a/d2ice.att.io/app/main/dashboard/account/account.html
+++ /dev/null
@@ -1,159 +0,0 @@
-<!--
-============LICENSE_START==========================================
-org.onap.vvp/portal
-===================================================================
-Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-===================================================================
-
-Unless otherwise specified, all software contained herein is licensed
-under the Apache License, Version 2.0 (the “License”);
-you may not use this software except in compliance with the License.
-You may obtain a copy of the License at
-
- http:www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-
-Unless otherwise specified, all documentation contained herein is licensed
-under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-you may not use this documentation except in compliance with the License.
-You may obtain a copy of the License at
-
- https:creativecommons.org/licenses/by/4.0/
-
-Unless required by applicable law or agreed to in writing, documentation
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-============LICENSE_END============================================
-
-ECOMP is a trademark and service mark of AT&T Intellectual Property.-->
-<ice-loader selector=".account-form"></ice-loader>
-
-<h2>Account</h2>
-
-<div data-ng-if="vm.stage!==vm.stages.intake">
- <progress-directive progress="{{vm.progress}}"
- callback="vm.updateProgress"
- enable-edit="vm.isEngagementEL()"
- engagement-uuid="{{vm.uuid}}"></progress-directive>
-</div>
-
-<!--div class="row main-section" -->
-<div class="row main-section">
-<get-started-modal></get-started-modal>
-
-
- <div class="col-md-8 steps">
-
- <form name="accountForm" ng-submit="vm.submitForm()" novalidate class="account-form col-md-8">
-<!--
- <div class="form-group">
- <h2>Account</h2>
- </div>
- -->
- <div class="form-group" ng-class="{ 'has-error' : registerForm.company.$invalid && !registerForm.company.$pristine }">
- <label class="ice-form-label required">Company</label>
- <select ng-model="vm.data.company" name="company" class="form-control" required>
- <option value>Please Select</option>
- <option ng-repeat="company in vm.companies" value="{{company.name}}" ng-selected="company.name===vm.data.company">
- {{company.name}}
- </option>
- </select>
- <div class="ice-form-error" data-ng-show="accountForm.company.$error">
- <span ng-show="accountForm.company.$error.required && !accountForm.company.$pristine" class="help-block">Please select company</span>
- </div>
- </div>
-
- <div class="form-group" ng-class="{ 'has-error' : accountForm.fullName.$invalid && !accountForm.fullName.$pristine }">
- <label class="ice-form-label required">Full Name</label>
- <input type="text" name="fullname" class="form-control" ng-model="vm.data.full_name" ng-minlength="3" ng-maxlength="50" maxlength="50" required>
- <div class="ice-form-error" data-ng-show="accountForm.fullname.$error">
- <span ng-show="accountForm.fullname.$error.required && !accountForm.fullname.$pristine">Full Name is a required field.</span>
- <span ng-show="accountForm.fullname.$error.minlength">Full Name is too short.</span>
- <span ng-show="accountForm.fullname.$error.maxlength">Full Name is too long.</span>
- </div>
- </div>
-
- <div class="form-group" ng-class="{ 'has-error' : accountForm.email.$invalid && !accountForm.email.$pristine }">
- <label class="ice-form-label">Email</label>
- <input id={{vm.data.email}} type="email" name="email" class="form-control" ng-model="vm.data.email" maxlength="254" ng-pattern='/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/' disabled>
- <div class="ice-form-error" data-ng-show="accountForm.email.$error">
- <span ng-show="accountForm.email.$error.required && !accountForm.email.$pristine">Email is a required field.</span>
- <span ng-show="accountForm.email.$invalid && !accountForm.email.$pristine" class="help-block">Enter a valid email.</span>
- </div>
- </div>
-
- <div class="form-group" ng-class="{ 'has-error' : accountForm.phone.$invalid && !accountForm.phone.$pristine }">
- <label class="ice-form-label required">Phone</label>
- <input type="text" name="phone" class="form-control" ng-intl-tel-input ng-model="vm.data.phone_number" required ng-minlength="6" ng-maxlength="30">
- <div class="has-error ice-form-error" data-ng-show="accountForm.phone.$error">
- <span ng-show="accountForm.phone.$error.required && !accountForm.phone.$pristine">Phone is a required field.</span>
- <span ng-show="accountForm.phone.$error.minlength" class="help-block">Phone is too short.</span>
- <span ng-show="accountForm.phone.$error.maxlength" class="help-block">Phone is too long.</span>
- <span ng-show="accountForm.phone.$invalid" class="help-block">Phone format invalid</span>
- </div>
- </div>
-
- <div class="form-group" ng-class="{ 'has-error' : accountForm.password.$invalid && !accountForm.password.$pristine }" >
- <label class="ice-form-label">Password</label>
- <input type="password" name="password" class="form-control" ng-model="vm.data.password" ng-minlength="4" ng-maxlength="32" maxlength="32" >
- <div class="ice-form-error" data-ng-show="accountForm.password.$error">
- <span ng-show="accountForm.password.$error.required && !accountForm.password.$pristine">Password is a required field.</span>
- <span ng-show="accountForm.password.$error.required && accountForm.$submitted ">Password is required.</span>
- <span ng-show="accountForm.password.$error.minlength" class="help-block">Password is too short.</span>
- <span ng-show="accountForm.password.$error.maxlength" class="help-block">Password is too long.</span>
- </div>
- </div>
-
- <div class="form-group" ng-class="{ 'has-error' : accountForm.confirm_password.$invalid && !accountForm.confirm_password.$pristine }">
- <label class="ice-form-label">Confirm password</label>
- <input type="password" name="confirm_password" class="form-control" ng-model="vm.data.confirm_password" ng-minlength="4" ng-maxlength="32" maxlength="32" >
- <div class="ice-form-error" data-ng-show="accountForm.confirm_password.$error">
- <span ng-show="accountForm.confirm_password.$error.required && !accountForm.confirm_password.$pristine">Confirm password is required field.</span>
-
- <span ng-show="!accountForm.confirm_password.$error.required && accountForm.confirm_password.$error.noMatch && accountForm.password.$dirty">Passwords do not match.</span>
-
- </div>
- </div>
-
- <div class="form-group" ng-class="{ 'has-error' : accountForm.password.$invalid && !accountForm.password.$pristine }">
- <label class="ice-form-label">SSH Key</label>
- <textarea name="ssh_key" class="form-control" ng-model="vm.data.ssh_key" ng-focus="clearMsg()" ></textarea>
- <div class="ice-form-error" data-ng-show="accountForm.password.$error">
- </div>
- </div>
-
- <button type="submit" id="upate-account" class="btn btn-primary" data-ng-disabled="!accountForm.$valid">Update</button>
- </form>
-
- </div>
-
- <div class="col-md-4 right-panel">
- <div class="personImage"></div>
- <div class="line-separator col-md-12"></div>
- <h3 id="storage-credentials">Your Storage Credentials</h3>
- <div class="storage-credentials">
-
- <div id="access-key-title">Access Key:
- <div class="access-key" id="access-key-value">{{vm.data.access_key}}</div>
- </div>
-
- <div id="access-secret-title">Access Secret (<span class="show-secret" ng-click="vm.getAccessSecret()" role="button" id="show-access-secret">Show</span>)
- <div class="access-secret" id="access-secret-value" type="password">{{vm.data.access_secret}}</div>
- </div>
-
- </div>
- </div>
- </div>
-
-</div>
-
diff --git a/d2ice.att.io/app/main/dashboard/account/account.less b/d2ice.att.io/app/main/dashboard/account/account.less
deleted file mode 100755
index d32db492..00000000
--- a/d2ice.att.io/app/main/dashboard/account/account.less
+++ /dev/null
@@ -1,215 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-.account {
-
- .btn {
- width: 100%;
- }
-
- .btn-primary {
- border: 1px solid #8799A3;
- border-radius: 6px;
- background: #1E79B0; /* For browsers that do not support gradients */
- background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */
- background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */
- background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */
- background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */
- }
-
- .content {
-
- .steps-progress-wrapper {
- margin-top: 10px;
- }
-
- h1 {
- .a_36;
- margin: 0 0 30px 0;
- }
-
- h2 {
- margin: 0 0 10px 0;
- .a_24_m;
- position: relative;
- .add-people,
- .add-step {
- .sprite;
- .sprite.add;
- display: inline-block;
- margin-left: 8px;
- cursor: pointer;
- }
- }
-
- h3 {
- .a_20_m;
- }
-
- .main-section {
- margin-top: 30px;
- }
-
- .steps {
-
- border-right: dashed 1px @main_color_a;
- height: 100%;
- padding-right: 20px;
-
- ul {
- li.step {
-
- &.selected {
- background-color: #DEF3FF;
- }
-
- list-style: none;
- position: relative;
- padding: 10px 10px 10px 4px;
-
- .description {
-
- .m_16_r;
- border-bottom: dashed 1px @main_color_n;
- padding: 10px 0;
-
- input {
- position: absolute;
- top: 10px;
- left: 0;
- margin-right: 20px;
- }
-
- .step-text {
- margin-left: 20px;
- }
-
- .step-state {
- position: absolute;
- top: 24px;
- &.todo {
- .steps-sprite;
- .steps-sprite.todo;
- display: inline-block;
- }
- &.confirmed {
- .steps-sprite;
- .steps-sprite.confirmed;
- display: inline-block;
- }
- &.completed {
- .steps-sprite;
- .steps-sprite.completed;
- display: inline-block;
- }
- &.completed-non-el {
- .steps-sprite;
- .steps-sprite.completed-non-el;
- display: inline-block;
- }
- }
- }
- .details {
- .m_12_r;
- margin-bottom: 20px;
- .actions {
- float: right;
- margin-top: 4px;
-
- .moveto-confirmed {
- .sprite;
- .sprite.success;
- display: inline-block;
- cursor: pointer;
- }
- .moveto-todo {
- .sprite;
- .sprite.delete-circle;
- display: inline-block;
- cursor: pointer;
- }
- .moveto-delete {
- .sprite;
- .sprite.delete;
- display: inline-block;
- cursor: pointer;
- }
- }
- }
- }
- }
- }
-
- .right-panel {
- height: 100%;
- padding-left: 20px;
- padding-bottom: 5px;
-
- .personImage
- {
- .profiles-sprite;
- .profiles-sprite.profile-large;
- display: block;
- }
-
- .line-separator {
- border-bottom: solid lightgrey;
- margin: 20px 0;
- }
-
- .storage-credentials {
- .m_18_r;
- }
-
- .access-key {
- margin-bottom: 10px;
- .m_16_r;
- }
-
- .access-secret {
- margin-bottom: 10px;
- .m_16_r;
- }
-
- .show-secret {
- .underline;
- cursor: pointer;
- }
- }
- }
-}
diff --git a/d2ice.att.io/app/main/dashboard/account/account.module.js b/d2ice.att.io/app/main/dashboard/account/account.module.js
deleted file mode 100755
index 052cbbfb..00000000
--- a/d2ice.att.io/app/main/dashboard/account/account.module.js
+++ /dev/null
@@ -1,85 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-(function () {
-
- 'use strict';
-
- angular
- .module('ice.dashboard.account')
- .config(config);
-
- function config($stateProvider) {
- $stateProvider
- .state('app.account', {
- url: '/account',
- views: {
- 'content@app': {
- templateUrl: 'main/dashboard/account/account.html',
- controller: 'DashboardAccountController as vm'
- },
- 'navigation@app': {
- templateUrl: 'core/navigation/layouts/account-navigation/navigation.html',
- controller: 'accountNavigationController as vm'
- }
- },
- params: {engagement_uuid: null},
- bodyClass: 'account'
- })
- .state('app.account.notifications', {
- url: '/account/notifications',
- views: {
- 'content@app': {
- templateUrl: 'main/dashboard/account/notifications/notifications.html',
- controller: 'DashboardNotificationsController as vm'
- }
- },
- bodyClass: 'notifications'
- })
- .state('app.account.userProfile', {
- url: '/account/userProfile',
- views: {
- 'content@app': {
- templateUrl: 'main/dashboard/account/user-profile-settings/user-profile-settings.html',
- controller: 'accountUserProfileSettingsController as vm'
- }
- },
- bodyClass: 'account'
- });
- }
-})();
diff --git a/d2ice.att.io/app/main/dashboard/account/notifications/notifications.controller.js b/d2ice.att.io/app/main/dashboard/account/notifications/notifications.controller.js
deleted file mode 100755
index 0e9542dd..00000000
--- a/d2ice.att.io/app/main/dashboard/account/notifications/notifications.controller.js
+++ /dev/null
@@ -1,140 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-(function () {
- 'use strict';
- angular
- .module('ice.dashboard.account')
- .controller('DashboardNotificationsController', ["$state","pageService","usersService", "toastService", "$rootScope", "$scope", "$log", dashboardNotificationsController]);
-
- function dashboardNotificationsController($state,pageService, usersService, toastService, $rootScope, $scope, $log) {
- var vm = this;
- vm.data = {};
- var init = function()
- {
- pageService.setPage('notification');
- $rootScope.timeGapLocal = moment().format("z");// timeGap();
- $rootScope.ampm = moment().format('A');
- $rootScope.mom =moment().tz( moment.tz.guess()).format('z');
-
- vm.pagination_num_of_objects = 10;
- vm.current_starting_offset = "0";
- vm.page_num = 1;
- vm.user = usersService.getUserData();
- if (vm.user == undefined) {
- $state.go('app.login');
- return;
- }
- vm.getNotifications(true)
- }
-
- vm.getNotifications = function (reset) {
- var user_uuid = vm.user.uuid;
- $rootScope.ice.loader.show = true;
- vm.current_starting_offset = (vm.page_num-1)*vm.pagination_num_of_objects;
- usersService.getNotificationsDescription(vm.user.uuid,vm.current_starting_offset,vm.pagination_num_of_objects)
- .then
- (function (response)
- {
- if (response.status === 200)
- {
- vm.notifications = response.data['serilizedActivitySet'];
- vm.num_of_returned_items = response.data['num_of_objects'];
- vm.notifications_display_list = vm.notifications;
- if (reset){
- usersService.resetNotificationNum(user_uuid)
- .then
- (function (response)
- {
- if (response.status === 200)
- {
- $scope.$emit('eventClearNotifications',0);
- }
- }
- )
- .catch(function (error) {
- toastService.setToast(error.message, 'danger');
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
- }
- $rootScope.ice.loader.show = false;
- }
- else
- {
- toastService.setToast(response.error, 'danger');
- $rootScope.ice.loader.show = false;
- }
- }
- )
- .catch(function (error) {
- toastService.setToast(error.message, 'danger');
- $rootScope.ice.loader.show = false;
- $log.error(error);
- }
- );
- };
-
- vm.delNotification = function(uuid)
- {
- var itemIndex = 0;
-
- for(var i=0; i < vm.notifications.length; i++)
- {
- if (vm.notifications[i].uuid == uuid)
- {
- itemIndex = i;
- break;
- }
- }
- usersService.notificationsDelete(uuid)
- .then
- (function (response) {
- if (response.status != 400){
- vm.notifications.splice(itemIndex , 1);
- }
- })
- .catch(function (error) {
- toastService.setToast(error.message, 'danger');
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
- }
- init();
- }
-})(); \ No newline at end of file
diff --git a/d2ice.att.io/app/main/dashboard/account/notifications/notifications.html b/d2ice.att.io/app/main/dashboard/account/notifications/notifications.html
deleted file mode 100755
index f92cc41a..00000000
--- a/d2ice.att.io/app/main/dashboard/account/notifications/notifications.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!--
-============LICENSE_START==========================================
-org.onap.vvp/portal
-===================================================================
-Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-===================================================================
-
-Unless otherwise specified, all software contained herein is licensed
-under the Apache License, Version 2.0 (the “License”);
-you may not use this software except in compliance with the License.
-You may obtain a copy of the License at
-
- http:www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-
-Unless otherwise specified, all documentation contained herein is licensed
-under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-you may not use this documentation except in compliance with the License.
-You may obtain a copy of the License at
-
- https:creativecommons.org/licenses/by/4.0/
-
-Unless required by applicable law or agreed to in writing, documentation
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-============LICENSE_END============================================
-
-ECOMP is a trademark and service mark of AT&T Intellectual Property.-->
-<ice-loader selector=".account-form"></ice-loader>
-
-<div class="row">
- <div class="col-md-12" id="notifications">
- <h2>Notifications</h2>
- </div>
- <div class="col-md-12">
- <form name="notificationsForm" novalidate class="notifications-form">
- <content class="row col-md-12" id="notifications-results">
- <div class=" row hoverCyan " dir-paginate="notification in vm.notifications_display_list | itemsPerPage: vm.pagination_num_of_objects"
- total-items="vm.num_of_returned_items" current-page="vm.page_num"
- ng-class="{lineColor: ($index % 2 == 0),boldFont: !notification.is_read}" track by notification.uuid >
- <div class="electricity col-md-1"></div>
- <div class="col-md-10" id="table-col-{{notification.uuid}}"><notifications activity="notification.activity"></notifications></div>
- <div class="col-md-1"><span class="delete" id="del-notification-{{notification.uuid}}" ng-click = "vm.delNotification(notification.uuid)"></span></div>
- </div>
- </div>
- <dir-pagination-controls on-page-change="vm.getNotifications(false)" class="col-md-12" id="notifications-pagination"></dir-pagination-controls>
- </content>
- </form>
- </div>
-</div>
diff --git a/d2ice.att.io/app/main/dashboard/account/notifications/notifications.less b/d2ice.att.io/app/main/dashboard/account/notifications/notifications.less
deleted file mode 100755
index 7981be89..00000000
--- a/d2ice.att.io/app/main/dashboard/account/notifications/notifications.less
+++ /dev/null
@@ -1,348 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-.engagement_link {
- text-decoration: underline;
- cursor:pointer;
-}
-.notifications {
-
- .table{
- margin-bottom: 0;
- }
-
- .table-container-flex {
-
- .data-row-wrapper {
- padding: 10px 20px;
- }
-
- .flex-item:nth-child(1) {
- padding-left: 5px;
- padding-top: 15px;
- flex-grow: 2;
- }
-
- .flex-item:nth-child(2) {
- padding-top: 12px;
- flex-grow: 93;
- }
-
- .flex-item:nth-child(3) {
- padding-top: 12px;
- flex-grow: 5;
- }
-
- }
-
- .pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus
- {
- background-color: #DEF3FF;
- border-color: #DDDDDD;
- color: #000000;
- cursor:pointer;
- z-index:2;
- }
-
- .btn {
- width: 100%;
- }
-
- .lineColor
- {
- background-color:#F6F3F3;
- }
-
- .electricity
- {
- .sprite;
- .sprite.electricity;
- display: block;
- margin-top: 10px;
- margin-left: 10px;
- }
-
- .delete
- {
- .sprite;
- .sprite.delete-circle;
- display: block;
- cursor:pointer;
- margin-top: 11px;
- }
-
-
- .fLeft
- {
- float:left;
- height:50px;
- }
-
- .hoverCyan
- {
- line-height: 40px;
- &:hover {
- background-color: #DEF3FF;
- }
- }
-
- .boldFont
- {
- font-weight: bold;
- }
-
- .marginLeft60
- {
- margin-left:-60px;
- }
-
- .height510
- {
- height:510px;
- margin-top:-30px;
- }
-
- .height50
- {
- height:50px;
- line-height:50px;
- width:1100px;
- }
-
- .marginLeft5
- {
- margin-left:5px;
- }
-
- .marginTop5
- {
- margin-top:5px;
- margin-left: 40px;
- }
-
- .personImage
- {
- .profiles-sprite;
- .profiles-sprite.profile-large;
- display: block;
- }
-
- .textAlignCenter
- {
- text-align:center;
- width:1100px
- }
-
- .btn-primary {
- border: 1px solid #8799A3;
- border-radius: 6px;
- background: #1E79B0; /* For browsers that do not support gradients */
- background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */
- background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */
- background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */
- background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */
- }
-
- .pad17
- {
- padding-top:17px;
- display: block;
- }
-
- .content {
-
- .steps-progress-wrapper {
- margin-top: 10px;
- }
-
- h1 {
- .a_36;
- margin: 0 0 30px 0;
- }
-
- h2 {
- margin: 0 0 10px 0;
- .a_24_m;
- position: relative;
- .add-people,
- .add-step {
- .sprite;
- .sprite.add;
- display: inline-block;
- margin-left: 8px;
- cursor: pointer;
- }
- }
-
- .main-section {
- margin-top: 30px;
- }
-
- .steps {
-
-
- height: 100%;
- padding-right: 20px;
-
- ul {
- li.step {
-
- &.selected {
- background-color: #DEF3FF;
- }
-
- list-style: none;
- position: relative;
- padding: 10px 10px 10px 4px;
-
- .description {
-
- .m_16_r;
-
- padding: 10px 0;
-
- input {
- position: absolute;
- top: 10px;
- left: 0;
- margin-right: 20px;
- }
-
- .step-text {
- margin-left: 20px;
- }
-
- .step-state {
- position: absolute;
- top: 24px;
- &.todo {
- .steps-sprite;
- .steps-sprite.todo;
- display: inline-block;
- }
- &.confirmed {
- .steps-sprite;
- .steps-sprite.confirmed;
- display: inline-block;
- }
- &.completed {
- .steps-sprite;
- .steps-sprite.completed;
- display: inline-block;
- }
- &.completed-non-el {
- .steps-sprite;
- .steps-sprite.completed-non-el;
- display: inline-block;
- }
- }
- }
- .details {
- .m_12_r;
- margin-bottom: 20px;
- .actions {
- float: right;
- margin-top: 4px;
-
- .moveto-confirmed {
- .sprite;
- .sprite.success;
- display: inline-block;
- cursor: pointer;
- }
- .moveto-todo {
- .sprite;
- .sprite.delete-circle;
- display: inline-block;
- cursor: pointer;
- }
- .moveto-delete {
- .sprite;
- .sprite.delete;
- display: inline-block;
- cursor: pointer;
- }
- }
- }
- }
- }
- }
-
- .team-and-logs {
- height: 100%;
- padding-left: 20px;
- .team {
- ul.team-avatars {
-
- li {
- list-style: none;
- display: inline-block;
- margin-right: 10px;
- .profiles-sprite;
- .profiles-sprite.profile-medium;
-
- &.me {
- .profiles-sprite;
- .profiles-sprite.avatar-blue;
- }
- }
- }
- }
-
- .activity-log {
- ul.activity-log-details {
- li {
- list-style: none;
- position: relative;
- margin-left: 30px;
-
- &:before {
- content: '';
- display: inline-block;
- .sprite;
- .sprite.electricity;
- position: absolute;
- top: 0;
- left: -30px;
- }
- }
- }
- }
- }
- }
-}
diff --git a/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.controller.js b/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.controller.js
deleted file mode 100755
index 6d51a440..00000000
--- a/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.controller.js
+++ /dev/null
@@ -1,98 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-(function () {
- 'use strict';
- angular
- .module('ice.dashboard.account')
- .controller('accountUserProfileSettingsController', ['toastService', 'usersService',
- accountUserProfileSettingsController]);
-
- function accountUserProfileSettingsController(toastService, usersService) {
- var vm = this;
-
- var init = function()
- {
- usersService.getIceUser()
- .then
- (function (response) {
- vm.receiveEmails = response.data.regular_email_updates;
- vm.receiveEmailsEveryTime = response.data.email_updates_on_every_notification;
- vm.receiveDigestEmails = response.data.email_updates_daily_digest;
-
- vm.receiveNotifications = vm.receiveEmailsEveryTime || vm.receiveDigestEmails;
- }
- ).catch(function (error) {
- toastService.setToast(error.message, 'danger');
- $log.error(error.message);
- });
- };
-
- vm.submitForm = function() {
- var user = usersService.getUserData();
- var userData = {};
-
- userData.regular_email_updates = vm.receiveEmails;
- userData.email_updates_on_every_notification = vm.receiveEmailsEveryTime;
- userData.email_updates_daily_digest = vm.receiveDigestEmails;
- userData.company = user.company.name;
- userData.full_name = user.full_name;
- userData.email = user.email;
- userData.phone_number = user.phone_number;
-
- usersService.updateAccount(user.uuid, userData)
- .then(function (response) {
- if (response.status === 200) {
- toastService.setToast('User profile settings was updated successfully!', 'success');
- }
- })
- .catch(function (error) {
- toastService.setToast(error.message.detail, 'danger');
- });
- };
-
- vm.changeReceiveNotifications = function() {
- if(!vm.receiveNotifications) {
- vm.receiveEmailsEveryTime = false;
- vm.receiveDigestEmails = false;
- }
- };
-
- init();
- }
-})();
diff --git a/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.html b/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.html
deleted file mode 100755
index 521c73ab..00000000
--- a/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!--
-============LICENSE_START==========================================
-org.onap.vvp/portal
-===================================================================
-Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-===================================================================
-
-Unless otherwise specified, all software contained herein is licensed
-under the Apache License, Version 2.0 (the “License”);
-you may not use this software except in compliance with the License.
-You may obtain a copy of the License at
-
- http:www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-
-Unless otherwise specified, all documentation contained herein is licensed
-under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-you may not use this documentation except in compliance with the License.
-You may obtain a copy of the License at
-
- https:creativecommons.org/licenses/by/4.0/
-
-Unless required by applicable law or agreed to in writing, documentation
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-============LICENSE_END============================================
-
-ECOMP is a trademark and service mark of AT&T Intellectual Property.-->
-<ice-loader selector=".user-profile-settings-form"></ice-loader>
-<h2 id="user-profile-settings-title">Settings</h2>
-<form name="userProfileSettingsForm" ng-submit="vm.submitForm()" novalidate class="user-profile-settings-form col-md-6">
- <div class="form-check">
- <label class="form-check-label">
- <input class="form-check-input" id="receive-emails" ng-model="vm.receiveEmails" type="checkbox"> I want to receive regular email updates and information from {{'program.name' | i18next}}
- </label>
- </div>
- <hr>
- <div class="form-check">
- <label class="form-check-label">
- <input class="form-check-input" id="receive-notifications" ng-model="vm.receiveNotifications" ng-click="vm.changeReceiveNotifications()" type="checkbox"> I want to receive email notifications when something happens on {{'program.name' | i18next}}
- </label>
- <div class="receive-email-options">
- <div class="form-check">
- <label class="form-check-label">
- <input class="form-check-input" id="receive-emails-every-time" ng-model="vm.receiveEmailsEveryTime" ng-disabled="!vm.receiveNotifications" type="checkbox"> I want to receive an email every time
- </label>
- </div>
- <div class="form-check">
- <label class="form-check-label">
- <input class="form-check-input" id="receive-digest-emails" ng-model="vm.receiveDigestEmails" ng-disabled="!vm.receiveNotifications" type="checkbox"> I want to receive a daily digest email
- </label>
- </div>
- </div>
- </div>
- <button type="submit" id="update-account-user-profile-settings" class="btn btn-primary" data-ng-disabled="userProfileSettingsForm.$invalid">Update</button>
-</form>
diff --git a/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.less b/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.less
deleted file mode 100755
index 41ad47ec..00000000
--- a/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.less
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-.user-profile-settings-form {
- .receive-email-options {
- padding-left: 20px;
- }
-}
-
-
diff --git a/d2ice.att.io/app/main/dashboard/checklist/checklist.controller.js b/d2ice.att.io/app/main/dashboard/checklist/checklist.controller.js
deleted file mode 100755
index 293134cd..00000000
--- a/d2ice.att.io/app/main/dashboard/checklist/checklist.controller.js
+++ /dev/null
@@ -1,445 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-(function () {
- 'use strict';
- angular
- .module('ice.dashboard.checklist',[])
- .controller('DashboardChecklistController', ["$scope", "$stateParams", "$rootScope", "checklistService",
- "iceConstants", "usersService", "$uibModal", "toastService", "$log", DashboardChecklistController]);
- function DashboardChecklistController($scope, $stateParams, $rootScope, checklistService, iceConstants,
- usersService, $uibModal, toastService, $log) {
-
- var vm = this;
- vm.data = {};
- var engagementUuid = $stateParams.engagement_uuid;
- vm.checklistUuid = $stateParams.sub_id;
- vm.selected_decision = false;
-
- var init = function() {
- if (vm.checklistUuid == null)
- return;
-
- checklistService.getChecklist(vm.checklistUuid)
- .then(function (response) {
- if (response.status === 200) {
- vm.data = response.data;
- vm.data.states = iceConstants.checklist_states;
- vm.me = usersService.getUserData();
- vm.is_peer_reviewer = usersService.isPeerReviewer(vm.me, response.data.checklist.engagement.peer_reviewer.uuid);
- // if state pending dont allow changing data manually
- if(vm.data.checklist.associated_files) {
- vm.has_files = true;
- }
- else {
- vm.has_files = false;
- }
- vm.formatDecisions();
-
- }
- })
- .catch(function (error) {
- if (error.status === 410) {
- $rootScope.$broadcast('onUpdateEngagements',{
- select:{
- uuid: $stateParams.engagement_uuid,
- view_type : 'overview',
- sub_id: undefined
- }
- });
- }
- else{
- $log.error(error.message);
- return false;
- }
- });
- };
-
-
- vm.formatDecisions = function () {
- var section_counter = 0;
- vm.data.checklistDecisions = _.orderBy(vm.data.checklistDecisions, 'weight');
- angular.forEach(vm.data.checklistDecisions, function(section,section_key) {
- section_counter ++;
- section.counter = section_counter;
- var decision_counter = 0;
- section.decisions = _.orderBy(section.decisions, 'weight');
- angular.forEach(section.decisions,function(decision,decision_key) {
- decision_counter++;
- // add text of section and line number E.g 2.1
- decision.counter = section_counter+'.'+decision_counter;
-
- // set selected decision default value
- if (vm.selected_decision == false)
- {
- vm.selected_decision = decision;
- vm.selectDecision(decision);
- }
-
- // choose which decision value to show
- var view_value;
- switch(vm.data.checklist.state)
- {
- case 'peer_review':
- view_value = decision.peer_review_value;
- break;
- case 'review':
- case 'approval':
- case 'handoff':
- case 'closed':
- view_value = decision.review_value;
- break;
- }
-
- // choose which ucib to show
- var view_value_css;
- switch(view_value)
- {
- case 'approved':
- view_value_css = 'sprite approved-cl';
- break;
- case 'denied':
- view_value_css = 'sprite denied-cl';
- break;
- case 'not_relevant':
- view_value_css = 'sprite not-relevant-cl';
- break;
- }
-
- // choose which line item type icon to show
- var auto_icon_css
- switch(decision.lineitem.line_type)
- {
- case 'auto':
- auto_icon_css = 'sprite automation-state';
- }
- vm.data.checklistDecisions[section_key].decisions[decision_key]['selected-value'] = view_value
- vm.data.checklistDecisions[section_key].decisions[decision_key]['view_value'] = view_value;
- vm.data.checklistDecisions[section_key].decisions[decision_key]['view_value_css'] = view_value_css;
- vm.data.checklistDecisions[section_key].decisions[decision_key]['auto_icon_css'] = auto_icon_css;
- });
- });
- // after decision change refresh which state buttons to shows
- vm.refreshStateOptions();
-
- };
-
- // set decision value
- vm.setDecision = function(decision,value) {
- checklistService.putChecklistDecision(decision.uuid,{value:value})
- .then(function (response) {
- if (response.status === 200) {
- switch(vm.data.checklist.state)
- {
- case 'peer_review':
- decision.peer_review_value = value;
- break;
- case 'review':
- decision.review_value = value;
- break;
- }
- vm.formatDecisions();
- }
- });
-
- };
-
- // decice which state change buttons to choose
- vm.refreshStateOptions = function () {
- var force_break = false;
- vm.is_able_to_approve = true;
- angular.forEach(vm.data.checklistDecisions, function (section,key) {
- if (!force_break)
- angular.forEach(section.decisions, function (decision,key) {
- if (!force_break){
- // if not all decisions have value only only next_step
- if ( decision['view_value'] != 'approved' && decision['view_value'] != 'not_relevant' ) {
- vm.is_able_to_approve = false;
- force_break=true;
- }
- }
- });
-
- });
- };
-
- // set state
- vm.stateAction = function(action) {
- switch(action)
- {
- case 'approve':
- var postData = {};
- postData["description"] = '';
- postData["decline"] = "False";
- checklistService.setState(vm.data.checklist.uuid, postData)
- .then(function (response) {
- if (response.status === 200) {
- $rootScope.$broadcast('onUpdateEngagements',{select:{uuid:engagementUuid,page_type:'overview',sub_id:vm.data.checklist.uuid}});
- }
- else {
- toastService.setToast(response.error, 'danger');
- $rootScope.ice.loader.show = false;
- }
- })
- .catch(function (error) {
- $log.error(error);
- toastService.setToast(error.status + ': Error changing progress!', 'danger');
- });
- break;
- case 'reject':
- vm.openSetState(action,vm.data.checklist);
- break;
- case 'next_step':
- vm.openNextSteps(vm.data.checklist);
- break;
- }
- };
-
- vm.formatDate = function (create_time) {
- var region = moment().tz( moment.tz.guess()).format('z');
- var dt = "";
- dt = moment(create_time).local().format('YYYY-MM-DD hh:mm:ss A') + " " + region;
- return dt;
- };
-
- // add decision log
- vm.submitDecisionAuditLog = function () {
-
- var jsonPost = {"description":vm.selected_decision.new_audit_log_description};
- checklistService.createAuditlogDecisionChecklist(vm.selected_decision.uuid, jsonPost)
- .then(function (response) {
- if (response.status === 200)
- {
- if (vm.data.decisionAuditLogs[vm.selected_decision.uuid] == undefined)
- vm.data.decisionAuditLogs[vm.selected_decision.uuid] = []
- vm.data.decisionAuditLogs[vm.selected_decision.uuid].push(response.data);
- vm.selected_decision.new_audit_log_description = ""
- }
- else
- {
- toastService.setToast(response.error, 'danger');
- $rootScope.ice.loader.show = false;
- }
- })
- .catch(function (error) {
- toastService.setToast(error.message, 'danger');
- $log.error(error.message);
- });
- }
-
- // choose active decision
- vm.selectDecision = function(decision,$event) {
- if(vm.selected_decision != decision || vm.selected_decision.selected === undefined) {
- // remove status from previos decision
- vm.selected_decision.selected = false;
-
- // populate new decision
- vm.selected_decision = decision;
- vm.selected_decision.selected = true;
-
- $scope.$$postDigest(function () {
- // Make extended window follow selected decision line
- if ($event != undefined)
- {
- var line_item_bottom_offset = angular.element($event.target).prop('offsetHeight') + angular.element($event.target).prop('offsetTop');
- var extendended_item_height = angular.element("#line-item-extended").prop('offsetHeight');
- var diff_between_elements = line_item_bottom_offset - extendended_item_height;
- if (diff_between_elements > 0)
- {
- angular.element("#line-item-extended").css('margin-top',(20+diff_between_elements) +'px')
- } else {
- angular.element("#line-item-extended").css('margin-top','')
- }
- }
- });
- }
- };
-
- // next steps modal
- vm.openNextSteps = function(checklist) {
- var modalInstance = $uibModal.open(
- {
- templateUrl: 'main/modals/next-steps/next-steps.html',
- controller: 'NextStepsModalController',
- controllerAs: 'vm',
- size: 'lg',
- resolve: {
- engagement_team: function () {
- return checklist.engagement.engagement_team;
- },
- title: function () {
- return checklist.name;
- },
- associated_files: function () {
- return checklist.repo_associated_files;
- },
- engagement_uuid: function () {
- return checklist.engagement.uuid;
- },
- checklist: function () {
- return checklist;
- },
- nextstep: function () {
- return undefined;
- }
-
- }
- });
-
- modalInstance.result.then(function (data) {
- if (data === 200) {
- $rootScope.$broadcast('onUpdateEngagements',{select:{uuid:engagementUuid,page_type:'overview',sub_id:checklist.uuid}});
- }
- }, function () {
- });
- };
-
- // set state modal
- vm.openSetState = function(action,checklist) {
- var modalInstance = $uibModal.open(
- {
- templateUrl: 'main/modals/checklist/state-approve-or-reject/state-approve-or-reject.html',
- controller: 'stateDecisionModalController',
- controllerAs: 'vm',
- resolve: {
- checklist: function () {return checklist},
- action: function () {return action}
- }
- });
-
- modalInstance.result.then(function (data) {
- if (data) {
- $rootScope.$broadcast('onUpdateEngagements',{select:{uuid:engagementUuid,page_type:'overview',sub_id:checklist.uuid}});
- }
- }, function () {
- });
-
- };
-
- vm.openJenkinsLogModal = function () {
- var modalInstance = $uibModal.open({
- templateUrl: 'main/modals/general-log-modal/general-log-modal.html',
- controller: 'GeneralLogModalController',
- controllerAs: 'vm',
- size: 'general-log-modal',
- resolve: {
- modalDetails: function () {
- return {
- "headline": 'Jenkins log',
- "body": vm.data.checklist.jenkins_log,
- };
- }
- }
- });
- };
-
- // audit log modal
- vm.auditLog = function() {
-
- var auditLogData = {
- name:vm.data.checklist.name,
- uuid:vm.data.checklist.uuid,
- checklistAuditLogs: vm.data.checklistAuditLogs
-
- };
-
- var modalInstance = $uibModal.open(
- {
- templateUrl: 'main/modals/audit-log/audit-log.html',
- controller: 'AuditLogModalController',
- controllerAs: 'vm',
- size: 'lg'
-
- ,
- resolve: {
- wizardData: function () {
- return auditLogData;
- }
- }
- });
-
- modalInstance.result.then(function (data) {
- if (data) {
- vm.data.checklistAuditLogs.push(data);
- }
- }, function () {
- $log.debug('Modal dismissed at: ' + new Date());
- });
- };
-
- // edit checklist
- vm.editChecklist = function() {
- var checklistData = {
- uuid:vm.data.checklist.uuid,
- name:vm.data.checklist.name,
- templates:vm.data.checklist.templates,
- selectedTemplateUuid:vm.data.checklist.template.uuid,
- selectedTemplateName:vm.data.checklist.template.name,
- associatedFiles:vm.data.checklist.associated_files,
- state:vm.data.checklist.state
- };
-
- var modalInstance = $uibModal.open({
- templateUrl: 'main/modals/checklist/checklist.html',
- controller: 'ChecklistModalController',
- controllerAs: 'vm',
- size: 'lg'
- ,
- resolve: {
- wizardData: function () {
- return checklistData;
- },
- engagementUuid: function () {
- return engagementUuid;
- },
- modal_type: function () {
- return 'update';
- }
- }
- });
- modalInstance.result.then(function (data) {
- if (data) {
- vm.data.checklist.name = data.checklist_name;
- vm.data.checklist.associated_files = data.associated_files;
- }
- });
- };
-
- init();
- }
-})();
diff --git a/d2ice.att.io/app/main/dashboard/checklist/checklist.html b/d2ice.att.io/app/main/dashboard/checklist/checklist.html
deleted file mode 100755
index b8da8836..00000000
--- a/d2ice.att.io/app/main/dashboard/checklist/checklist.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<!--
-============LICENSE_START==========================================
-org.onap.vvp/portal
-===================================================================
-Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-===================================================================
-
-Unless otherwise specified, all software contained herein is licensed
-under the Apache License, Version 2.0 (the “License”);
-you may not use this software except in compliance with the License.
-You may obtain a copy of the License at
-
- http:www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-
-Unless otherwise specified, all documentation contained herein is licensed
-under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-you may not use this documentation except in compliance with the License.
-You may obtain a copy of the License at
-
- https:creativecommons.org/licenses/by/4.0/
-
-Unless required by applicable law or agreed to in writing, documentation
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-============LICENSE_END============================================
-
-ECOMP is a trademark and service mark of AT&T Intellectual Property.-->
-<div class="checkList" ng-disabled="true" ng-if="vm.data != false">
-<section id="state-bar" class="row ">
- <ul class="nav nav-justified col-md-12">
- <li ng-attr-id="{{ vm.data.checklist.state.replace('_',' ') == state ? 'state'+'_'+vm.data.checklist.name : ''}}" ng-class="{'active' : vm.data.checklist.state.replace('_',' ') == state}" data-ng-repeat="state in vm.data.states" >
- <span class="state-icon sprite {{state.replace(' ','_')}}-state"></span>{{$index + 1}}. {{state}}
- </li>
- </ul>
-</section>
-<header class="row" id="cl-header"> <!-- start of header -->
- <h1 class="col-sm-12 col-xs-12 col-md-6" id="cl-title"> <!-- start of title -->
- <span id="edit-checklist" class="sprite edit-medium" ng-if="vm.data.checklist.state != 'closed' && !vm.is_peer_reviewer" ng-click="vm.editChecklist()" ></span>
- <span class="bold" >Checklist:</span>
- <span id="cl-name-id">{{vm.data.checklist.name}}</span>
- </h1> <!-- end of title -->
- <div class = "cl-action-buttons-frame col-sm-12 col-xs-12 col-md-6">
-
- <div ng-if="vm.data.checklist.state != 'closed'" id="state-actions" class="">
- <button class="btn btn-gradient-success" ng-if="vm.data.checklist.state != 'pending' && vm.data.checklist.state != 'automation' && (vm.data.checklist.state == 'pending' || vm.is_able_to_approve)" ng-click="vm.stateAction('approve')">
- {{vm.data.checklist.state == 'pending' ? 'Automate' : vm.data.checklist.state == 'handoff' ? 'Handoff complete?' : 'Approve'}}
- </button>
- <button id="state-actions-btn-reject" class="btn btn-gradient-danger" ng-if="vm.has_files && vm.data.checklist.state != 'handoff' && vm.data.checklist.state != 'pending' && vm.data.checklist.state != 'automation'" ng-click="vm.stateAction('reject')">Reject</button>
- <button id="state-actions-btn-add-next-steps" class="btn btn-gradient-primary" ng-if="vm.data.checklist.state != 'handoff' && vm.data.checklist.state != 'pending'" ng-click="vm.stateAction('next_step')">Add Next Steps</button>
- </div>
- <ul class="" id="cl-side-actions"> <!-- start of side actions -->
- <li><span id="audit-log" ng-click="vm.auditLog()">Audit Log ({{vm.data.checklistAuditLogs.length}})</span></li>
- <li><span id="jenkins-log" ng-click="vm.openJenkinsLogModal()">Jenkins Log</span></li>
-
- </ul>
- </div>
-</header>
-
-<article class="row" ng-class="{'blocked-area' : vm.data.checklist.state == 'pending' || vm.data.checklist.state == 'automation' }" id="checklist-main-section" >
- <ul class="col-md-6" id="line-item-list"> <!-- start of line item list -->
- <li data-ng-repeat="section in vm.data.checklistDecisions | toArray:false"><h2><span class="bold">Section {{section.counter}}:</span> {{section.section.name}}</h2> <!-- start of section -->
- <ul>
- <li data-ng-repeat="decision in section.decisions | toArray:false" class="line-item-row" ng-class="{'selected-line' : decision.selected }" ng-click="vm.selectDecision(decision,$event)"> <!-- start if line item row -->
- <span class="col-sm-2 col-xs-2 col-md-2 value-icon"><span ng-class="decision.view_value_css" id="{{decision.uuid}}_{{decision.view_value}}" ></span>{{decision.counter}}</span>
- <span class="col-sm-9 col-xs-9 col-md-9" ng-class="decision.lineitem.line_type" name="{{decision.lineitem.name}}">{{decision.lineitem.name}}</span>
- <span class="col-sm-1 col-xs-1 col-md-1 auto-icon"><span ng-class="decision.auto_icon_css"></span></span>
- <span class="selected-line-connector"></span>
- </li> <!-- end of line item row -->
- </ul>
- </li> <!-- end of section -->
- </ul> <!-- end of line item list -->
- <aside class="col-md-6" id="line-item-extended"> <!-- start of line item extended view -->
- <header class="row"> <!-- start of line-item extended header -->
- <h2 class="col-sm-8 col-xs-8 col-md-8"><span class="bold">{{vm.selected_decision.counter}} -</span> {{vm.selected_decision.lineitem.name}}</h2>
- <ul class="col-sm-4 col-xs-4 col-md-4" ng-if="(vm.data.checklist.state == 'review' || vm.data.checklist.state == 'peer_review' ) &&
- vm.selected_decision.lineitem.line_type == 'manual'" ng-class="{'active' : vm.selected_decision.lineitem.line_type == 'manual'}" id="decision-actions">
- <li class="not-relevant-btn" ng-class="{'active' : vm.selected_decision['selected-value'] == 'not_relevant'}" ng-click="vm.selected_decision.lineitem.line_type == 'manual' && vm.setDecision(vm.selected_decision,'not_relevant')"></li>
- <li class="denied-cl-btn" ng-class="{'active' : vm.selected_decision['selected-value'] == 'denied'}" ng-click="vm.selected_decision.lineitem.line_type == 'manual' && vm.setDecision(vm.selected_decision,'denied')"></li>
- <li class="approved-cl-btn" ng-class="{'active' : vm.selected_decision['selected-value'] == 'approved'}" ng-click="vm.selected_decision.lineitem.line_type == 'manual' && vm.setDecision(vm.selected_decision,'approved')"></li>
- </ul>
- </header> <!-- end of line-item extended header -->
- <section id="line-item-description" ng-bind-html="vm.selected_decision.lineitem.description | htmlspecialchars | htmlstylespan"></section>
- <section id="line-item-validation-instructions">
- <h3>Validation Instructions</h3>
- <p ng-bind-html="vm.selected_decision.lineitem.validation_instructions | htmlspecialchars"></p>
- </section>
- <section id="line-item-audit-logs" class="row"> <!-- start of line item audit logs -->
- <h3 class="col-md-12">audit logs</h3>
- <ul id="audit-log-list" class="col-md-12"> <!-- start of audit log list- -->
- <li class="row" ng-repeat="auditlog in vm.data.decisionAuditLogs[vm.selected_decision.uuid] | orderBy:'create_time'">
- <h4 class="col-md-6 audit-creator">{{auditlog.creator.full_name}}</h4><span class="col-md-6 audit-date">{{vm.formatDate(auditlog.create_time)}}</span>
- <p id="line-item-audit-log-{{$index}}" class="col-md-12 audit-text">{{auditlog.description}}</p>
- </li>
-
- </ul> <!-- end of audit log list -->
- <form name="checklistAuditLog" id="new-audit-log-from" ng-submit="vm.submitDecisionAuditLog()" novalidate class="row col-md-12"> <!-- start of new audit log form -->
- <textarea name="TextBox" class="col-sm-12 col-xs-12 col-md-12" ng-model="vm.selected_decision.new_audit_log_description" id="new-audit-log-text" ng-trim="false" required></textarea>
- <div data-ng-show="checklistAuditLog.TextBox.$error" class="ice-form-error">
- <span ng-show="checklistAuditLog.TextBox.$error.pattern">Inserted text should not include any special chars such as: \%_* ."</span>
- </div>
- <button type="submit" class="col-sm-12 col-xs-12 col-md-12 btn btn-gradient-primary" id="submit-new-audit-lop-text">Add Log Entry</button>
- </form> <!-- end of new audit log form -->
- </section> <!-- end of line item audit logs -->
- </aside> <!-- end of line item extended view -->
-</article> <!-- end of line item -->
-</div>
diff --git a/d2ice.att.io/app/main/dashboard/checklist/checklist.less b/d2ice.att.io/app/main/dashboard/checklist/checklist.less
deleted file mode 100755
index 5e0d228e..00000000
--- a/d2ice.att.io/app/main/dashboard/checklist/checklist.less
+++ /dev/null
@@ -1,826 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-.cl-action-button{
- width: 30%;
- margin-bottom: 2%;
- margin-right: 3%;
- &:last-child {
- margin-right: 0;
- }
-
-}
-#main .popover {
- max-width: 330px;
-}
-// Pop over rules
-.popover {
- border: 2px solid #15B3E8;
- .m_14_r;
- z-index:100000;
-}
-
-.popover .popover-title {
- background-color: white;
- margin-top: 5px;
- .a_18_m;
- padding: 5px 10px;
-}
-
-.popover .popover-content {
- padding: 5px 10px;
- .m_16_r;
-}
-.popover .popover-content ul{
- list-style-type: none;// square;
- padding-left:0px;
- margin-left:0px;
- .m_16_r;
- word-wrap: break-word;
-}
-.cl-action-control {
- padding-left:8%
-}
-
-.checkList {
- height:100%;
- > #checklist-main-section {
- height:80% !important;
- }
-
- .blocked-area {
- pointer-events: none;
- opacity: 0.5;
- filter: alpha(opacity=50);
- background-color: white;
- }
-
- #modal_header_checklist {
- margin-top:0px;
- padding: 0 29px;
- }
-
- #modal-header-checklist-15 {
- margin-top:0px;
- padding: 0 15px;
- }
-
- .rows {
-
- }
-
-
- .font-deco {
- text-decoration-line: underline;
- text-decoration-style: dashed;
- }
-
- .lineColor
- {
- background-color:#F6F3F3;
- }
-
- .font_header
- {
- .m_18_m;
- }
-
- .font_header_chk_name
- {
- .m_18_r;
- }
-
- .font_user_name
- {
- .m_18_m;
- }
-
- .font_date
- {
- .m_14_r;
- }
-
- .font_line
- {
- border-bottom: 1px solid grey;
- }
-
- .font_desc
- {
- .m_16_r;
- text-align:left;
- }
-
- .pad0
- {
- padding:0px;
- }
-
- .dash
- {
- border-bottom: dashed 1px;
- border-color: @main_color_q;
- padding: 0px;
- }
-
- .italic
- {
- font-style:italic;
- }
-
-
- #modal-title {
- margin: 0px;
- }
-
- .checkList-form {
- max-height: 100%;
- //overflow-y: auto;
- //overflow-x: hidden;
-
- #audit-log-lines {
-
- }
-
-
- #checklist-subject
- {
- padding:0 15px;
- margin-bottom: 0px;
- }
-
- .checklist-modal-multi-select {
- margin-top: 1%;
-
- .btn-group .btn {
- .m_14_m;
- }
- }
-
- .btn {
- width: 100%;
- }
-
- .action-buttons{
- width: 100%;
- margin-bottom: 7px;
- }
-
- .col-no-pad
- {
- padding:0px;
- }
-
- .col-no-top
- {
- margin:0px 0px 0px 0px;
- }
-
- .text-right
- {
- text-align:right;
- }
-
- .modal-header {
- display: flex;
- flex-direction: row;
-
- h2, h3 {
- display: inline-block;
- flex-grow: 10;
- }
- }
-
- .font_title
- {
- .a_16_m;
- }
-
- .add-icon {
- .sprite;
- .sprite.add;
- display: inline-block;
- }
-
-
- .add-button {
- margin-top: 8px;
- display: block;
- .add-text {
- .a_16_m;
- vertical-align: top;
- margin-left: 6px;
- }
-
- }
-
- .margin_btm
- {
- margin-bottom:12px;
- }
-
- .margin_top
- {
- margin-top:12px;
- }
-
- .margin_btm5
- {
- margin-bottom: 5px;
- }
-
-
- .personImage
- {
- .profiles-sprite;
- .profiles-sprite.profile-large;
- display: block;
- }
-
- .table{
- margin-bottom: 0;
- }
-
- .table-container-flex {
-
- .data-row-wrapper {
- padding: 10px 20px;
- }
-
- .flex-item:nth-child(1) {
- padding-left: 0;
- flex-grow: 25;
- }
-
- .flex-item:nth-child(2) {
- flex-grow: 25;
- }
-
- .flex-item:nth-child(3) {
- flex-grow: 25;
- }
-
- .flex-item:nth-child(4) {
- flex-grow: 25;
- }
-
- }
-
- .table-container-flex-a {
-
- .data-row-wrapper {
- padding: 10px 20px;
- }
-
- .flex-item-a:nth-child(1) {
-
- padding-left: 0;
- flex-grow: 40;
- width:90%;
- float:left;
- }
-
- .flex-item-a:nth-child(2) {
-
- flex-grow: 25;
- width:10%;
- float:left;
- }
- }
- //.a_16_m;
-
- .remove-icon {
- cursor: pointer;
- vertical-align: text-top;
- //.sprite;
- //.sprite.delete;//-circle;
- .actions-sprite;
- .actions-sprite.delete_large;
-
- display:block;
- position:relative;
- top:11px;
- }
-
-
-
-
- //.btn-primary-with-margin {
- // border: 1px solid #8799A3;
- // border-radius: 6px;
- // background: #1E79B0; /* For browsers that do not support gradients */
- // background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */
- // background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */
- // background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */
- // background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */
- // margin-bottom:7px;
- //}
- //
- //.btn-primary {
- // border: 1px solid #8799A3;
- // border-radius: 6px;
- // background: #1E79B0; /* For browsers that do not support gradients */
- // background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */
- // background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */
- // background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */
- // background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */
- //}
-
-
- .flex-item-a:nth-child(0) {
- padding-left: 0;
- flex-grow: 40;
- width:80%
- }
-
- .flex-item-a:nth-child(1) {
- flex-grow: 25;
- width:20%;
- }
-
- //.content {
-
- .steps-progress-wrapper {
- margin-top: 10px;
- }
-
- .fnt
- {
- font-size:20px;
- }
-
- h1 {
- .a_36;
- margin: 0 0 30px 0;
- }
-
- h3 {
- .m_18_m;
- }
- h2 {
- margin: 0 0 10px 0;
- .a_24_m;
- position: relative;
- .add-people,
- .add-step {
- .sprite;
- .sprite.add;
- display: inline-block;
- margin-left: 8px;
- cursor: pointer;
- }
- }
-
- .main-section {
- margin-top: 30px;
- }
- }
-
- // dashboard css
- padding:0 20px;
-
- #state-bar {
- float:none;
- height: 5%;
-
- }
- #state-bar > ul {
- border-bottom: dashed 1px;
- border-color: @main_color_q;
- padding-bottom:2px;
- }
- #state-bar > ul > li {
- .m_14_r;
- text-transform: uppercase;
- text-align: left;
- }
- #state-bar > ul > li.active {
- font-family:@font-omnes-bold;
- }
-
- #state-bar > ul > li > .state-icon {
- display: inline-block;
- position: relative;
- top: 2px;
- margin-right:5px;
- }
-
- #cl-header {
- height:12%;
- padding-top:1%;
- }
-
- #cl-header > #cl-title {
- padding-left: 0px;
- .a_24;
- }
- #cl-header > #cl-title > span.bold {
- .a_24_m;
- }
- #cl-header > #cl-title > #edit-checklist {
- display: inline-block;
- margin-right: 5px;
- cursor: pointer;
- }
-
- #cl-side-actions {
- list-style: none;
- margin-top: 5px;
- }
-
-
- #cl-side-actions > li {
- display:inline-block;
- margin-left:5px;
- .n_12_m;
- }
-
- .cl-action-buttons-frame{
-
- list-style: none;
- text-align: right;
- }
-
- .cl-btn-associated {
- border-bottom: 1px solid;
- border-color: @main_color_l;
- .a_26_m;
- }
-
- .cl-btn-cl-audit {
- margin-right: 15%;
- border-bottom: 1px solid;
- border-color: @main_color_l;
- }
-
-
- #state-actions {
- display: inline-block;
- border-bottom: 1px solid;
- border-color: @main_color_q;
- padding-bottom: 5px;
- }
- #state-actions button {
- margin-left: 10px;
- }
- #state-actions button:first-child {
- margin-left: 0px;
- }
- #cl-side-actions span {
- cursor: pointer;
- border-bottom: 2px solid @main_color_m;
- //text-transform: uppercase;
- border-bottom: 1px solid;
- border-color: @main_color_q;
-
- }
-
-
- #line-item-list {
- list-style: none;
- padding-right:15px;
- }
-
-
- #line-item-list > li {
- margin-bottom: 25px;
- }
- #line-item-list > li > h2 {
- text-transform: capitalize;
- border-bottom: 1px solid;
- border-color: @main_color_q;
- width: 100%;
- margin-bottom: 0px;
- padding-left: 5px;
- .m_24;
- }
- #line-item-list > li > h2 > span.bold {
- .m_24_m;
- }
-
- #line-item-list > li > ul {
- list-style: none;
- }
- #line-item-list > li > ul >li.line-item-row {
- border-bottom: 1px solid;
- border-color: @main_color_q;
- line-height: 30px;
- padding: 0px;
- vertical-align: middle;
- height: 30px;
- .m_16_r;
- cursor: pointer;
- }
-
- #line-item-list > li > ul >li.line-item-row .value-icon {
- padding: 0px;
- }
-
- #line-item-list > li > ul >li.line-item-row .value-icon span {
- display: inline-block;
- position: relative;
- top: 3px;
- margin-right: 5px;
- margin-left: 3px;
- width:15px;
- height:15px;
- }
-
- #line-item-list > li > ul >li.line-item-row .auto-icon {
- text-align:right;
- padding: 0px;
- }
-
- #line-item-list > li > ul >li.line-item-row .auto-icon span {
- display: inline-block;
- position: relative;
- top: 3px;
- margin-right: 3px;
- }
-
- #line-item-list > li > ul >li.line-item-row.selected-line {
- background-color: @bg_color_a;
- border-left: 2px solid;
- border-top: 2px solid;
- border-bottom: 2px solid;
- border-color: @main_color_a;
- position:relative;
- z-index:1;
- top: -1px;
- left: -2px;
- }
-
- #line-item-list > li > ul >li.line-item-row.selected-line > .selected-line-connector {
- position: absolute;
- right: -19px;
- width: 20px;
- height: 30px;
- top: -2px;
- background-color: @bg_color_a;
- border-top: 2px solid;
- border-bottom: 2px solid;
- border-color: @main_color_a;
- }
- #line-item-extended {
- background-color: @bg_color_a;
- border: 2px solid;
- border-color: @main_color_a;
- padding:15px;
- @media (min-width: 992px) {
- max-height: 100%;
- overflow-y: auto;
- }
- }
- #line-item-extended >header {
- padding: 0 30px;
- padding-bottom: 0px;
- }
- #line-item-extended >header > h2 {
- text-transform: capitalize;
- padding:0px;
- margin:0px;
- line-height:32px;
- .m_18_r;
- }
- #line-item-extended > header > h2 > span.bold {
- .m_18_m;
- }
- #line-item-extended >header > #decision-actions {
- list-style: none;
- text-align: right;
- margin:0px;
- }
- #line-item-extended >header > #decision-actions > li {
- display: inline-block;
- margin-left: 2px;
- .sprite;
- }
- #line-item-extended >header > #decision-actions.active > li {
- cursor:pointer;
- }
-
- #line-item-extended >header > #decision-actions > li.not-relevant-btn {
- .sprite.not-relevant-btn;
- }
-
- #line-item-extended >header > #decision-actions.active > li.not-relevant-btn:hover {
- .sprite.not-relevant-btn-active;
- }
- #line-item-extended >header > #decision-actions > li.not-relevant-btn.active {
- .sprite.not-relevant-btn-active;
- }
- #line-item-extended >header > #decision-actions > li.denied-cl-btn {
- .sprite.denied-cl-btn;
- }
- #line-item-extended >header > #decision-actions.active > li.denied-cl-btn:hover {
- .sprite.denied-cl-btn-active;
- }
- #line-item-extended >header > #decision-actions > li.denied-cl-btn.active {
- .sprite.denied-cl-btn-active;
- }
- #line-item-extended >header > #decision-actions > li.approved-cl-btn {
- .sprite.approved-cl-btn;
- }
- #line-item-extended >header > #decision-actions.active > li.approved-cl-btn:hover {
- .sprite.approved-cl-btn-active;
- }
- #line-item-extended >header > #decision-actions > li.approved-cl-btn.active {
- .sprite.approved-cl-btn-active;
- }
-
-
- #line-item-extended > #line-item-description {
- margin: 0 15px;
- .m_16_r;
- }
-
- #line-item-extended > #line-item-validation-instructions {
- .m_14_r;
- background-color: #fff;
- border: 1px solid;
- border-color: @main_color_a;
- padding: 15px;
- margin-top: 15px;
- }
-
- #line-item-extended > #line-item-validation-instructions h3 {
- text-transform: capitalize;
- margin: 0px;
- .m_18_m;
- }
-
- #line-item-extended > #line-item-validation-instructions p {
- margin-top: 5px;
-
- }
-
- #line-item-extended > #line-item-validation-instructions p ul {
- padding-left: 15px;
- }
-
- #line-item-extended > #line-item-audit-logs {
- padding:0 15px;
- }
-
- #line-item-extended > #line-item-audit-logs > h3 {
- text-transform: capitalize;
- .m_18_m;
-
- }
- #line-item-extended > #line-item-audit-logs > #audit-log-list {
- list-style:none;
-
- }
- #line-item-extended > #line-item-audit-logs > #audit-log-list > li {
- margin: 0 15px 10px;
- border-bottom: 2px solid;
- border-color: @main_color_q;
- }
- #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-creator {
- .m_16_m;
- margin:0px;
- padding:0px;
- }
- #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-date {
- text-align:right;
- .m_14_r;
- padding:0px;
- }
- #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-text {
- .m_16_r;
- margin-bottom:0px;
- padding:0px;
- }
-
- #line-item-extended > #line-item-audit-logs > #new-audit-log-from {
- margin: 0 0 15px;
- }
-
- #line-item-extended > #line-item-audit-logs > #new-audit-log-from #new-audit-log-text {
- border-color: @main_color_q;
- margin-bottom:15px;
- }
-
- .btn-gradient-primary {
- font-weight: bold;
- color: #FFFFFF;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- background-color: #37B2E5;
- *background-color: #37B2E5;
- background-image: -moz-linear-gradient(top, #0079AB, #37B2E5);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0079AB), to(#37B2E5));
- background-image: -webkit-linear-gradient(top, #0079AB, #37B2E5);
- background-image: -o-linear-gradient(top, #0079AB, #37B2E5);
- background-image: linear-gradient(to bottom, #0079AB, #37B2E5);
- background-repeat: repeat-x;
- border-color: #37B2E5;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0079AB', endColorstr='#37B2E5', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
- }
- .btn-sample:hover,
- .btn-sample:focus,
- .btn-sample:active,
- .btn-sample.active,
- .btn-sample.disabled,
- .btn-sample[disabled] {
- color: #FFFFFF;
- background-color: #37B2E5;
- *background-color: #003bb3;
- }
-
- .btn-gradient-success {
- font-weight: bold;
- color: #FFFFFF;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- background-color: #41A02C;
- *background-color: #41A02C;
- background-image: -moz-linear-gradient(top, #A2E652, #41A02C);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C));
- background-image: -webkit-linear-gradient(top, #A2E652, #41A02C);
- background-image: -o-linear-gradient(top, #A2E652, #41A02C);
- background-image: linear-gradient(to bottom, #A2E652, #41A02C);
- background-repeat: repeat-x;
- border-color: #41A02C;
- border-color: #888;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
- }
- .btn-sample:hover,
- .btn-sample:focus,
- .btn-sample:active,
- .btn-sample.active,
- .btn-sample.disabled,
- .btn-sample[disabled] {
- color: #FFFFFF;
- background-color: #41A02C;
- *background-color: #003bb3;
- }
-
- .btn-gradient-danger {
- font-weight: bold;
- color: #FFFFFF;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- background-color: #AE0020;
- *background-color: #AE0020;
- background-image: -moz-linear-gradient(top, #F74658, #AE0020);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020));
- background-image: -webkit-linear-gradient(top, #F74658, #AE0020);
- background-image: -o-linear-gradient(top, #F74658, #AE0020);
- background-image: linear-gradient(to bottom, #F74658, #AE0020);
- background-repeat: repeat-x;
- border-color: #AE0020;
- border-color: #888;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
- }
- .btn-sample:hover,
- .btn-sample:focus,
- .btn-sample:active,
- .btn-sample.active,
- .btn-sample.disabled,
- .btn-sample[disabled] {
- color: #FFFFFF;
- background-color: #AE0020;
- *background-color: #003bb3;
- }
-
-
-
-
-}
diff --git a/d2ice.att.io/app/main/dashboard/dashboard/dashboard.controller.js b/d2ice.att.io/app/main/dashboard/dashboard/dashboard.controller.js
deleted file mode 100755
index b6183b79..00000000
--- a/d2ice.att.io/app/main/dashboard/dashboard/dashboard.controller.js
+++ /dev/null
@@ -1,235 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-(function () {
- 'use strict';
- angular
- .module('ice.dashboard.dashboard',['angularUtils.directives.dirPagination', 'ngFileSaver'])
- .controller('DashboardMainController', ["$rootScope", "pageService", "stepsService", "vfService", "usersService",
- "iceConstants", "localStorageService", "FileSaver", "Blob", "cmsService", "$uibModal", "$log", dashboardMainController]);
-
- function dashboardMainController($rootScope, pageService, stepsService, vfService, usersService, iceConstants,
- localStorageService, FileSaver, Blob, cmsService, $uibModal, $log) {
- var vm = this;
-
- var init = function () {
- pageService.setPage('dashboard');
- cmsService.setAnnouncementToast();
- localStorageService.setJson("ice.settings.eng_uuid",undefined);
- vm.stages = iceConstants.stages;
- vm.stages.all = 'All';
- vm.search_keyword = '';
- vm.search_stage = 'All';
- vm.statistic_stage_filter = 'All';
- vm.current_starting_offset = "0";
- vm.num_of_returned_items = 0;
- vm.pagination_num_of_objects = 8;
- vm.me = vm.user = usersService.getUserData();
- vm.isAdminRo = usersService.isUserInRole(iceConstants.roles.admin_ro);
- vm.isEngagmentEL = usersService.isUserInRole(iceConstants.roles.el);
- vm.isEngagmentLead = usersService.isEngagementEL(vm.team);
- vm.isAdmin = usersService.isAdmin(vm.me);
- vm.page_num = 1;
- vm.searchEngagements(1);
- vm.request_statistics_data();
- getUserNextSteps();
- };
-
- vm.request_statistics_data = function(){
- vfService.getEngagements(vm.me.uuid)
- .then(function (response) {
- if (response.status === 200 && response.data && response.data !== '') {
- vm.enagements_search_list = response.data;
- var vfc_array = undefined;
- var vfc_num = 0;
- var eng_num = 0;
- vm.enagements_search_list.forEach(function (engagement) {
- if(vm.statistic_stage_filter == "All") {
- eng_num++;
- if (engagement.engagement_stage == "Validated" || engagement.engagement_stage == "Completed") {
- if (engagement.vfc.length > 1) {
- vfc_array = engagement.vfc.split(", ").length;
- vfc_num += vfc_array;
- }
- }
- }
- else {
- if(engagement.engagement_stage == vm.statistic_stage_filter){
- eng_num++;
- if (engagement.vfc.length > 1 && (engagement.engagement_stage == "Validated" || engagement.engagement_stage == "Completed")) {
- vfc_array = engagement.vfc.split(", ").length;
- vfc_num += vfc_array;
- }
- }
- }
-
- });
-
- vm.vfc_num = vfc_num;
- vm.eng_num = eng_num;
- }
- })
- .catch(function (error) {
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
-
- };
-
- vm.onStageChange = function() {
- vm.page_num = 1;
-
- vm.searchEngagements();
- };
-
- vm.onKeywordChange = function() {
- vm.page_num = 1;
-
- vm.searchEngagements();
- };
-
- vm.searchEngagements = function () {
- vm.current_starting_offset = (vm.page_num-1)*vm.pagination_num_of_objects;
- vm.postData = {'stage': vm.search_stage, 'keyword': vm.search_keyword, 'offset': vm.current_starting_offset, 'limit': vm.pagination_num_of_objects};
- vfService.getExpandedEngagements(vm.postData)
- .then(function (response) {
- if (response.status === 200 && response.data && response.data !== '') {
- vm.vf_search_list = response.data['array'];
- vm.num_of_returned_items = response.data['num_of_objects'];
- vm.vf_search_list.forEach(function (vf){
- var progress_needed_data = {
- enable_edit: false,
- completion_date: vf.engagement__target_completion_date,
- ecomp_release: vf.ecomp_release__name,
- vnf_version: vf.version,
- aic_version: vf.deployment_target__version,
- aic_instantiation_time:vf.engagement__aic_instantiation_time,
- asdc_onboarding_time:vf.engagement__asdc_onboarding_time,
- heat_validated_time:vf.engagement__heat_validated_time,
- image_scan_time: vf.engagement__image_scan_time,
- engagement_uuid: vf.engagement__uuid,
- manual_id: vf.engagement__engagement_manual_id,
- name: vf.vf__name,
- starred: false
- };
- vf.progress_needed_data = progress_needed_data;
- vf.starred_users.forEach(function (user) {
- if (vm.me.uuid == user) {
- vf.progress_needed_data.starred = true;
- }
- });
-
-
- });
- vm.vf_display_list = vm.vf_search_list;
-
- addStatusesLoadedAttr();
- }
- })
- .catch(function (error) {
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
- };
-
- vm.goToEngagement = function(uuid){
- $rootScope.$broadcast('searchSelectEngagement',uuid);
- };
-
- vm.exportEngagementCSV = function() {
- var stage = vm.search_stage || "";
- var keyword = vm.search_keyword || "";
- $rootScope.ice.loader.show = true;
-
- vfService.exportEngagementsCSV(stage, keyword)
- .then(function(response) {
- if(response && response.data) {
- var data = new Blob([response.data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'});
- FileSaver.saveAs(data, 'D2Ice.xlsx');
- $rootScope.ice.loader.show = false;
- }
- })
- .catch(function (error) {
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
- };
-
- vm.openCMSReadMoreModal = function(cmsPost) {
- if(cmsPost) {
- $uibModal.open({
- templateUrl: 'main/modals/cms-post-modal/cms-post-modal.html',
- controller: 'cmsPostModalController',
- controllerAs: 'vm',
- size: 'cms-post-read-more',
- resolve: {
- post: function () {
- return cmsPost;
- }
- }
- });
- } else {
- $log.warn("Cannot open cms post.")
- }
- };
-
- function getUserNextSteps() {
- vm.userNextSteps = [];
-
- stepsService.getByUser()
- .then(function(response) {
- vm.userNextSteps = response.data.data;
- vm.userNextStepsCount = response.data.count;
- })
- .catch(function (error) {
- $log.error(error);
- });
- };
-
- function addStatusesLoadedAttr() {
- angular.element(document).ready(function () {
- var statusesTitleElement = angular.element( document.querySelector('#dashboard-title'));
- if(statusesTitleElement && statusesTitleElement.length === 1) {
- statusesTitleElement.attr('list-loaded', 'true');
- }
- });
- };
-
- init();
- }
-})();
diff --git a/d2ice.att.io/app/main/dashboard/dashboard/dashboard.html b/d2ice.att.io/app/main/dashboard/dashboard/dashboard.html
deleted file mode 100755
index c03251b9..00000000
--- a/d2ice.att.io/app/main/dashboard/dashboard/dashboard.html
+++ /dev/null
@@ -1,111 +0,0 @@
-<!--
-============LICENSE_START==========================================
-org.onap.vvp/portal
-===================================================================
-Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-===================================================================
-
-Unless otherwise specified, all software contained herein is licensed
-under the Apache License, Version 2.0 (the “License”);
-you may not use this software except in compliance with the License.
-You may obtain a copy of the License at
-
- http:www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-
-Unless otherwise specified, all documentation contained herein is licensed
-under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-you may not use this documentation except in compliance with the License.
-You may obtain a copy of the License at
-
- https:creativecommons.org/licenses/by/4.0/
-
-Unless required by applicable law or agreed to in writing, documentation
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-============LICENSE_END============================================
-
-ECOMP is a trademark and service mark of AT&T Intellectual Property.-->
-<div class="dashboard-view row">
- <div class="col-md-8 " id="dashboard-main-panel">
- <header class="row col-md-12" id="dashboard-header">
- <h1 class="col-md-4" id="dashboard-title">Statuses</h1>
- <span class="col-md-8 search-filters">
- Stage
- <select id="search-filter-stage" class="form-control search-filter-stage" ng-model="vm.search_stage" ng-change='vm.onStageChange()' ng-options="stage for stage in vm.stages ">
- <option value="all" selected>All</option>
- <option value="Intake">Intake</option>
- <option value="Active">Active</option>
- <option value="3">3</option>
- </select>
- <input type="text"
- id="search-filter-keyword"
- ng-model="vm.search_keyword"
- ng-model-options="{ debounce: 150 }"
- placeholder="Search by EID, VF or VFC"
- class="form-control"
- ng-change='vm.onKeywordChange()'
- >
- </span>
- </header>
- <content class="row col-md-12" id="search-results">
- <div class="col-md-12 progress-bar-row" dir-paginate="engagement in vm.vf_display_list | itemsPerPage: vm.pagination_num_of_objects" total-items="vm.num_of_returned_items" current-page="vm.page_num" track by engagement.engagement__uuid >
- <progress-directive
- progress="{{engagement.engagement__progress}}"
- enable-edit=false
- data="engagement.progress_needed_data"
- statuses=true
- enable-refresh=false>
- </progress-directive>
- </div>
- <span class="col-md-12" id="export-to-csv" ng-click="vm.exportEngagementCSV()">Export to Excel >></span>
- <dir-pagination-controls on-page-change="vm.searchEngagements()" class="col-md-12" id="engagements-pagination"></dir-pagination-controls>
- </content>
- </div>
- <aside class="col-md-4 " id="dashboard-side-panel">
- <div class="col-md-12" id="assgined-nextsteps">
- <div id="next-steps-header">Assigned To You ({{vm.userNextStepsCount}})</div>
- <ul id="next-steps-list">
- <h4 class="engagement-title" ng-if="vm.userNextSteps.length == 0">No next steps are assigned to you.</h4>
- <li data-ng-repeat="step in vm.userNextSteps | orderBy: 'due_date'" class="next-step-details">
- <div class="next-step-details-header row">
- <h2 class="engagement-title col-md-8" name="{{step.engagement_manual_id}}" ng-click="vm.goToEngagement(step.engagement_uuid)">Engagement - <span class="engagement-name">{{step.engagement_manual_id}}: {{step.vf_name}}</span></h2>
- <span class="due-date col-md-4">
- <i class="fa fa-clock-o"></i>
- <span class="due-date-icon" name="duedate-{{step.due_date}}"></span>{{step.due_date | date2: 'EEEE MMMM doo yyyy'}}
- </span>
- </div>
- <p class="next-step-description" name="description-{{step.engagement_manual_id}}" ng-bind-html="step.description | htmlspecialchars"></p>
- <span class="next-step-creation" name="creator-full-name-{{step.creator_full_name}}">Added at {{step.create_time | date2: 'EEEE MMMM doo yyyy'}} by {{step.creator_full_name}}</span>
- </li>
- </ul>
- </div>
- <div class="line-seperator col-md-12" data-ng-if="vm.isEngagmentEL || vm.isAdmin || vm.isAdminRo" ></div>
- <div class="col-md-12" data-ng-if="vm.isEngagmentEL || vm.isAdmin || vm.isAdminRo" id="statistics">
- <div id="statistics-header" class="row">
- <h2 class="col-md-4">Statistics</h2>
- <span class="col-md-8 search-filters">
- Stage
- <select class="search-filter-stage" ng-model="vm.statistic_stage_filter" ng-change='vm.request_statistics_data()' ng-options="stage for stage in vm.stages "></select>
- </span>
- </div>
-
- <div id="statistics-list" class="row">
- <span class="col-md-8 statistic-name">Validations</span><span class="col-md-4 statistic-count" id="id-validations-num">{{vm.vfc_num}}</span>
- <span class="col-md-8 statistic-name">Engagements</span><span class="col-md-4 statistic-count" id="id-engagements-num">{{vm.eng_num}}</span>
- </div>
- </div>
- <div class="line-seperator col-md-12"></div>
- <ice-news-and-announcement limit="5" show-description="true"></ice-news-and-announcement>
- </aside>
-</div>
diff --git a/d2ice.att.io/app/main/dashboard/dashboard/dashboard.less b/d2ice.att.io/app/main/dashboard/dashboard/dashboard.less
deleted file mode 100755
index 4c824796..00000000
--- a/d2ice.att.io/app/main/dashboard/dashboard/dashboard.less
+++ /dev/null
@@ -1,189 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
- .dashboard .content-container #content {
- height: 100%;
- overflow-y: auto;
- }
-.dashboard-view {
- padding: 10px;
-
- .steps-progress-wrapper {
- border:none;
- background-color: @main_color_p;
- }
-
-
- #dashboard-main-panel {
- #dashboard-header {
- #dashboard-title {
- .a_26_m;
- margin:0px;
- line-height:40px;
- }
- .search-filters {
- text-align: right;
- .m_16_m;
- line-height:40px;
- .search-filter-stage {
- margin-left:10px;
- display: inline-block;
- width: 40%;
- }
- #search-filter-keyword {
- margin-left:10px;
- display: inline-block;
- width: 40%;
- }
-
- }
- }
- #search-results {
- .progress-bar-row {
- padding:0px;
- }
-
- .progress-bar-row:nth-child(even) .steps-progress-wrapper {
- background-color: @func_color_r;
- }
-
- #export-to-csv {
- text-align : right;
- .m_14_m;
- text-decoration: underline;
- cursor:pointer;
- }
- #engagements-pagination {
- text-align:center;
- .pagination {
- margin:0px;
- }
- }
-
- }
-
- }
- #dashboard-side-panel {
- border-left: solid 1px @main_color_gray;
-
- #assgined-nextsteps {
- border: 1px solid @toolbar_background_color;
- padding:0px;
-
- #next-steps-header {
- background-color: @toolbar_background_color;
- .p_22_m;
- padding: 10px 10px 0;
- }
- #next-steps-list {
- list-style:none;
- padding: 0 15px;
- .next-step-details {
- border-bottom: 1px dashed @main_color_a;
- padding-bottom:10px;
-
- .next-step-details-header {
- .engagement-title {
- cursor:pointer;
- .m_14_m;
- margin-top: 15px;
- margin-bottom: 0px;
- .engagement-name {
- text-decoration: underline;
- }
- }
- .due-date {
- .m_14_m;
- margin-top: 10px;
- margin-bottom: 0px;
- text-align:right;
- .due-date-icon {
- }
- }
- }
- .next-step-description {
- .m_18_r;
- margin: 3px 0px;
- line-height: 20px;
- }
- .next-step-creation {
- .m_14_r;
- }
-
- }
- .next-step-details:last-child {
- padding:0px;
- border:none;
- }
- }
- }
- .line-seperator {
- border-bottom: dashed 1px @main_color_gray;
- margin: 20px 0;
- }
- #statistics {
-
- border: 1px solid @main_color_gray;
- padding:15px;
-
- #statistics-header {
- margin-bottom: 10px;
- h2 {
- .m_24_m;
- color: @main_color_gray;
- margin: 0px;
- }
- .search-filters {
- text-align: right;
- .search-filter-stage {
- margin-left:10px;
- width:50%;
-
- }
- }
- }
- #statistics-list {
- .statistic-name {
- }
- .statistic-count {
- text-align:right;
- }
- }
- }
- }
-}
diff --git a/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.controller.js b/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.controller.js
deleted file mode 100755
index c8af53f7..00000000
--- a/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.controller.js
+++ /dev/null
@@ -1,245 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-(function () {
- 'use strict';
- angular
- .module('ice.dashboard.main')
- .controller('detailedViewController', ["$rootScope", "$stateParams", "vfcService", "dtsiteService", "usersService",
- "$uibModal", "vfService", "$log", "_", detailedViewController]);
-
- function detailedViewController($rootScope, $stateParams, vfcService, dtsiteService, usersService, $uibModal, vfService, $log, _) {
- var vm = this;
-
- var init = function () {
- $rootScope.timeGapLocal = moment().format("z");// timeGap();
- $rootScope.ampm = moment().format('A');
- $rootScope.mom = moment().tz(moment.tz.guess()).format('z');
- vm.is_aic_edit_mode = false;
- vm.is_ecomp_edit_mode = false;
- vm.aic_loaded = false;
- vm.ecomp_loaded = false;
-
- if($stateParams.engagement != undefined) {
- vm.engagement = $stateParams.engagement;
- }
-
- if (vm.engagement != undefined)
- {
- vm.me = usersService.getUserData();
- vfService.getSingleEngagement(vm.me.uuid,vm.engagement.uuid)
- .then(function (response) {
- $rootScope.ice.loader.show = false;
-
- if (response.status === 200 && response.data && response.data !== '') {
- var vf_data = response.data;
-
- vm.engagement_manual_id = vf_data.engagement.engagement_manual_id;
- vm.vf_name = vf_data.name;
- vm.vf_version = vf_data.version;
- vm.vf_uuid = vf_data.uuid;
- vm.ecomp_release = vf_data.ecomp_release;
- vm.target_lab = new Date(vf_data.target_lab_entry_date);
- vm.dtversion = vf_data.deployment_target;
- vm.selected_dt_uuid = vm.dtversion.uuid;
- vm.selected_ecomp_uuid = vm.ecomp_release.uuid;
- vm.me = usersService.getUserData();
- vm.name = vm.engagement.name;
- vm.isEngagementEL = usersService.isEngagementEL(vf_data.engagement.engagement_team);
- vm.isAdmin = usersService.isAdmin(vm.me);
- initDTsites();
- initVfcs();
- }
- })
- .catch(function (error) {
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
-
- }
- };
-
-
- vm.addVfc = function () {
- var modalInstance = $uibModal.open({
- templateUrl: 'main/modals/detailed-view/vfc/detailed-view-vfc-modal.html',
- controller: 'detailedViewVFCModalController',
- controllerAs: 'vm',
- resolve: {
- vf_uuid: function () {
- return vm.vf_uuid;
- },
- }
- });
- modalInstance.result.then(function (data) {
- if (data) {
- initVfcs();
- }
- });
- };
- this.personArray = [vm.dtversion,vm.vf_uuid];
-
- vm.editValidationDetails = function () {
- var modalInstance = $uibModal.open({
- templateUrl: 'main/modals/validation-details/detailed-view-validation-details-modal.html',
- controller: 'validationDetailsModalController',
- controllerAs: 'vm',
- resolve: {
- vf_uuid: function () {
- return vm.vf_uuid;
- }
- }
- });
- modalInstance.result.then(function (data) {
- if (data) {
- init();
- }
- });
- };
-
- vm.addDTS = function () {
- if(vm.isEngagementEL || vm.isAdmin) {
- var modalInstance = $uibModal.open({
- templateUrl: 'main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.html',
- controller: 'detailedViewDtsitesModalController',
- controllerAs: 'vm',
- resolve: {
- vf_uuid: function () {
- return vm.vf_uuid;
- },
- }
- });
-
- modalInstance.result.then(function (data) {
- if (data) {
- if(data === 200) {
- initDTsites();
- }
- }
- });
- }
- };
-
-
- vm.changeTargetLabEntry = function(){
- var modalInstance = $uibModal.open({
- templateUrl: 'main/modals/target-lab-entry/change-lab-entry-date.html',
- controller: 'ChangeLabEntryDateModalController',
- controllerAs: 'vm',
- resolve: {
- targetLabDate: function () {
- return vm.target_lab;
- },
- engagementUuid: function () {
- return vm.engagement.uuid;
- }
- }
- });
- modalInstance.result.then(function (data) {
- if (!data){
- return;
- }
- else {
- vm.target_lab = new Date(data.target_date);
- $log.debug("data.target_date",data.target_date)
- $log.debug("vm.target_lab",vm.target_lab)
- }
- }, function () {
- $log.error('Modal dismissed at: ' + new Date());
- });
- };
- //In case user press the delete icon next to a VFC, this function would be activated
- vm.deleteVfc = function(vfc_uuid){
- vfcService.delete(vfc_uuid,vm.vf_uuid)
- .then(function (response) {
- if (response.status === 204) {
- initVfcs();
- }
- })
- .catch(function (error) {
- $log.error(error);
- });
- };
-
- vm.deleteDTSite = function(vfUuid, dtsUuid){
- dtsiteService.delete(vm.vf_uuid, dtsUuid)
- .then(function (response) {
- if (response.status === 204) {
- initDTsites();
- }
- })
- .catch(function (error) {
- $log.error(error);
- });
- };
-
-
- var initDTsites = function() {
- if(vm.isEngagementEL || vm.isAdmin) {
- $rootScope.ice.loader.show = true;
- dtsiteService.getVFSites(vm.vf_uuid)
- .then(function (response) {
- $rootScope.ice.loader.show = false;
- if (response.status === 200) {
- vm.dtsites = response.data;
- }
- })
- .catch(function (error) {
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
- }
- };
-
- var initVfcs = function() {
- $rootScope.ice.loader.show = true;
- vfcService.get(vm.vf_uuid)
- .then(function (response) {
- $rootScope.ice.loader.show = false;
- if (response.status === 200) {
- vm.vfcs = response.data;
- }
- })
- .catch(function (error) {
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
- };
- init();
- }
-})();
diff --git a/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.html b/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.html
deleted file mode 100755
index 02eb760a..00000000
--- a/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<!--
-============LICENSE_START==========================================
-org.onap.vvp/portal
-===================================================================
-Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-===================================================================
-
-Unless otherwise specified, all software contained herein is licensed
-under the Apache License, Version 2.0 (the “License”);
-you may not use this software except in compliance with the License.
-You may obtain a copy of the License at
-
- http:www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-
-Unless otherwise specified, all documentation contained herein is licensed
-under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-you may not use this documentation except in compliance with the License.
-You may obtain a copy of the License at
-
- https:creativecommons.org/licenses/by/4.0/
-
-Unless required by applicable law or agreed to in writing, documentation
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-============LICENSE_END============================================
-
-ECOMP is a trademark and service mark of AT&T Intellectual Property.-->
-<div id="detailed-view">
- <div class="row">
- <h1 ><span class="bold">{{vm.engagement_manual_id + ': '}}</span>{{vm.vf_name}} </h1>
- </div>
- <div class="vfc-main-section row">
- <div class="col-xs-4 col-md-4 vfc-steps">
- <div id="validation-details">
- <div id="validation-details-header">
- <span id="vd-title">Validation Details</span><span class="add-vdetails"></span>
- <i class="edit-target-completion fa fa-pencil-square-o" id="update-validation-details" ng-click="vm.editValidationDetails()" class="add-vdetails" ></i>
- </div>
- <div id="validation-details-content">
- <div >
- <div class ="line ecomp_release_field " ng-if="!vm.is_ecomp_edit_mode"><span id="ecomp-release-headline">ECOMP Release:</span> <span id="ecomp_version_{{vm.ecomp_release.name}}">{{vm.ecomp_release.name}}</span></div>
- </div>
- <div>
- <div class ="line dtversion_field" ng-if = "vm.is_aic_edit_mode === false"><span id="target-aic-version-headline">Target AIC Version:</span><span id="aic_version_{{vm.dtversion.version}}">{{vm.dtversion.version}}</span></div>
- </div>
- <div>
- <div class ="line dtversion_field" ng-if = "vm.is_aic_edit_mode === false"><span id="vf-version-headline">VF Version: </span> <span id="vf_version_{{vm.vf_version}}">{{vm.vf_version}}</span></div>
- </div>
- </div>
- </div>
- <div id="target-lab-entry">
- <div id="target-lab-entry-header">
- <span>Target Lab Entry</span>
- <i class="edit-target-completion fa fa-pencil-square-o" id="change-lab-entry-date" data-ng-click="vm.changeTargetLabEntry()" aria-hidden="true"></i>
- </div>
- <div id="target-lab-entry-content">
- <h4 class="target-lab-entry-content">{{vm.target_lab | date:'shortDate'}}</h4>
- </div>
- </div>
- <div id="deployment-targets">
- <div id="deployment-targets-header">
- <span>Deployment Targets </span><span ng-click="vm.addDTS()" class="add-vfc"></span>
- <i class="edit-target-completion fa fa-pencil-square-o" id="add-dt" ng-show="vm.isEngagementEL || vm.isAdmin" ng-click="vm.addDTS()" class="add-vfc" aria-hidden="true"></i>
- </div>
- <div id="deployment-targets-content">
- <ul>
- <li class="step row" data-ng-repeat="dts in vm.dtsites track by dts.uuid" ng-mouseover="hoverEdit = true" ng-mouseleave="hoverEdit = false">
- <span id="visible-dts-{{dts.name}}" class = "col-md-10">{{dts.name}}</span>
-
- <span class = "remove-button col-md-2" ng-if="vm.dtsites.length > 0" ng-click='vm.deleteDTSite(vm.vf.uuid, dts.uuid)'>
- <span ng-show="hoverEdit"><span id="remove-dts-{{dts.uuid}}" class="remove-icon"></span></span>
- </span>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="col-xs-4 col-md-4 vfc-column">
- <div id="virtual-function-components" ng-if="vm.isEngagementEL || vm.isAdmin" >
- <div id="virtual-function-header">
- <span>Virtual Function Components </span><span id="virtual-vfc" ng-click="vm.addVfc()" class="add-vfc"></span>
- <i class="edit-target-completion fa fa-pencil-square-o" ng-show="vm.isEngagementEL || vm.isAdmin" id="add-vfc" ng-if="vm.isEngagementEL || vm.isAdmin" ng-click="vm.addVfc()" class = "add-vfc" ></i>
- </div>
- <div id="virtual-function-content">
- <ul>
- <li class="step row" data-ng-repeat="vfc in vm.vfcs track by vfc.uuid" ng-mouseover="hoverEdit = true" ng-mouseleave="hoverEdit = false">
- <span id="visible-dts-{{vfc.name}}" class = "col-md-10"> {{vfc.name +' (' + vfc.external_ref_id + ')'}} </span>
-
- <span class="remove-button col-md-2" ng-if="vm.vfcs.length > 0 && (vm.isEngagementEL || vm.isAdmin)" ng-click='vm.deleteVfc(vfc.uuid)'>
- <span ng-show="hoverEdit"><span id="remove-vfc-{{vfc.uuid}}" class="remove-icon"></span></span>
- </span>
- </li>
- </ul>
- </div>
- </div>
- </div>
-</div>
-</div>
diff --git a/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.less b/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.less
deleted file mode 100755
index dbac5c2d..00000000
--- a/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.less
+++ /dev/null
@@ -1,400 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-#detailed-view {
-
- padding:0px 30px 0px 30px;
-
- .glyphicon-cursor-detailed-view {
- cursor: pointer;
- margin-left: 0.5%;
- }
-
- .detailed-view-edit-mode {
- cursor: pointer;
- margin-left: 0.5%;
- display: inline-block;
- position: relative;
- top: 3px;
- .sprite;
- .sprite.edit-medium;
- }
-
- .hide-element {
- display:none;
- }
-
- .show-select {
- display:block;
- margin-bottom: 3%;
- }
-
- .row > h1 {
- padding: 0px;
- margin-bottom: 0px;
-
- .a_36;
-
- .bold {
- .a_36_m;
- }
- }
-
- .remove-button {
- height: 10px;
- .a_16_m;
- cursor: pointer;
-
-
- .remove-icon {
- .sprite;
- .sprite.delete;
- cursor: pointer;
- display: block;
- position: relative;
- }
- }
-
- .steps-progress-wrapper {
- margin-top: 10px;
- }
-
-
-
- h2 {
- display: inline-block;
- margin: 0 0 10px 0;
- .a_24_m;
- font-size: 20px;
- position: relative;
- .add-vfc {
- .sprite;
- .sprite.add;
- display: inline-block;
- margin-left: 8px;
- cursor: pointer;
- position: relative;
- top: 3px;
- }
- }
-
- .main-section {
- margin-top: 30px;
- }
-
- .steps-header {
-
- .steps-filter {
- display: inline-block;
- float: right;
- .a_16_m;
- .todo {
- .sprite;
- .sprite.todo;
- display: inline-block;
- cursor: pointer;
- }
- .completed {
- .sprite;
- .sprite.pending;
- display: inline-block;
- cursor: pointer;
- }
- .confirmed {
- .sprite;
- .sprite.approved;
- display: inline-block;
- cursor: pointer;
- }
- }
- }
-
- .vfc-column {
- height: 100%;
- padding-right: 20px;
- padding-left: 20px;
- padding-top: 20px;
-
- ul {
- li.step {
-
- list-style: none;
- position: relative;
- padding: 5px 10px 0px 4px;
- font-size: 16px;
- }
- }
- }
-
- .vfc-steps {
- border-right: dashed 1px @main_color_a;
- height: 100%;
- padding-right: 20px;
- padding-left: 0px;
- padding-top: 20px;
-
- ul {
- li.step {
-
- list-style: none;
- position: relative;
- padding: 5px 10px 0px 4px;
- font-size: 16px;
- &:hover {
- background-color: #DEF3FF;
-
- .details {
- .actions {
- span {
- visibility: visible;
- }
- }
- }
-
- }
-
- &.completed {
- background-color: #dddddd;
- opacity: 0.7;
- }
-
- .description {
-
- .m_16_r;
- border-bottom: dashed 1px @main_color_n;
- padding: 10px 0;
-
- input {
- position: absolute;
- top: 10px;
- left: 0;
- margin-right: 20px;
- }
-
- .step-text {
- margin-left: 20px;
- }
-
- .step-state {
-
- position: absolute;
- top: 24px;
-
- &.todo {
- .steps-sprite;
- .steps-sprite.todo;
- display: inline-block;
- }
- &.confirmed {
- .steps-sprite;
- .steps-sprite.confirmed;
- display: inline-block;
- }
- &.completed {
- .steps-sprite;
- .steps-sprite.completed;
- display: inline-block;
- }
- &.completed-non-el {
- .steps-sprite;
- .steps-sprite.completed-non-el;
- display: inline-block;
- }
- }
-
- }
- .details {
- .m_12_r;
- margin: 6px 0 10px 0;
-
- .actions {
- float: right;
- margin-top: 2px;
-
- span {
- visibility: hidden;
- }
-
- .moveto-confirmed {
- .actions-sprite;
- .actions-sprite.approve_large;
- display: inline-block;
- cursor: pointer;
- }
- .moveto-todo {
- .actions-sprite;
- .actions-sprite.reject_large;
- display: inline-block;
- cursor: pointer;
- }
- .moveto-delete {
- .actions-sprite;
- .actions-sprite.delete_large;
- display: inline-block;
- cursor: pointer;
- }
- }
- }
- }
- }
-
- }
- #deployment-targets {
- border: 1px solid @engagement_team_color;
- padding:0px;
- margin-bottom: 20px;
-
- #deployment-targets-header {
- background-color: @engagement_team_color;
- .p_18_m;
- padding: 5px 5px 0;
- line-height: 35px;
-
- .edit-target-completion {
- font-size: 21px;
- vertical-align: middle;
- padding-left: 6px;
- cursor:pointer;
- }
- }
-
- #deployment-targets-content {
- .f-type._16_r;
- margin: 15px;
- }
- }
- #virtual-function-components {
- border: 1px solid @engagement_status_color;
- padding:0px;
- margin-bottom: 20px;
-
- #virtual-function-header {
- background-color: @engagement_status_color;
- .p_18_m;
- padding: 5px 5px 0;
- line-height: 35px;
-
- .edit-target-completion {
- font-size: 21px;
- vertical-align: middle;
- padding-left: 6px;
- cursor:pointer;
- }
- }
-
- #virtual-function-content {
- .f-type._16_r;
- margin: 15px;
- }
- }
-
- #target-lab-entry {
- border: 1px solid @target_completion_color;
- padding:0px;
- margin-bottom: 20px;
-
- #target-lab-entry-header {
- background-color: @target_completion_color;
- .p_18_m;
- padding: 5px 5px 0;
- line-height: 35px;
-
- .edit-target-completion {
- font-size: 21px;
- vertical-align: middle;
- padding-left: 6px;
- cursor:pointer;
- }
- }
-
- #target-lab-entry-content {
- .f-type._16_r;
- margin: 15px;
- }
- }
- #validation-details {
- border: 1px solid #4990E2;
- padding:0px;
- margin-bottom: 20px;
-
- #validation-details-header {
- background-color: #4990E2;
- .p_18_m;
- padding: 5px 5px 0;
- line-height: 35px;
-
- .edit-target-completion {
- font-size: 21px;
- vertical-align: middle;
- padding-left: 6px;
- cursor:pointer;
- }
- }
-
- #validation-details-content {
- .f-type._16_r;
- margin: 15px;
- }
- }
- .team-and-logs {
- height: 100%;
- padding-left: 20px;
- padding-top: 20px;
- margin-left: -1px;
- border-left: dashed 1px @main_color_a;
-
- .line{
- margin-bottom: 10px;
- }
-
- }
-
- .add-next-step-form {
- .ice-wysiwyg {
- height: 200px;
- .wysiwyg-menu > div {
- background-color: #f1f1f1;
- padding: 2px;
- }
- }
- }
-
- .vfc-main-section {
- margin-top: 0px;
- }
-}
diff --git a/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.directive.js b/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.directive.js
deleted file mode 100755
index 3676e51c..00000000
--- a/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.directive.js
+++ /dev/null
@@ -1,308 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-(function () {
- 'use strict';
- angular
- .module('ice.dashboard.get-started-modal')
- .directive('getStartedModal', function () {
- return {
- restrict: 'AEC',
- scope: {},
- link: function (scope, elm, attrs) {
- scope.$emit('openGettingStartedWizardLoaded');
- },
- controller: ['$rootScope', '$scope', '$uibModal', 'toastService', '$log',
- function ($rootScope, $scope, $uibModal, toastService, $log) {
-
- var gm = this;
- gm.data = {};
-
- gm.openModal = function () {
- toastService.clearToast();
- var modalInstance = $uibModal.open({
- templateUrl: 'main/dashboard/get-started-modal/wizard/wizard-container.html',
- controller: 'ModalCtrl',
- controllerAs: 'wizard',
- resolve: {
- wizardData: function () {
- return gm.wizardData;
- }
- },
- backdrop: 'static'
- });
- };
-
- $scope.$on('openGettingStartedWizard', function (event, args) {
-
- gm.wizardData = args;
- gm.openModal();
- });
- }],
- controllerAs: 'gm'
- };
- })
- .controller('ModalCtrl', ['$rootScope', '$scope', '$uibModalInstance', 'vfService', 'usersService', 'localStorageService', 'wizardData', 'toastService', '$log', '$i18next',
- function ($rootScope, $scope, $uibModalInstance, vfService, usersService, localStorageService, wizardData, toastService, $log, $i18next) {
-
- var wizard = this;
- wizard.steps = [];
- wizard.data = {};
- wizard.user = wizardData.user;
- wizard.is_service_provider_internal = wizardData.is_service_provider_internal;
- wizard.eng_uuid = wizardData.eng_uuid;
- wizard.requiredStep = wizardData.requiredStep;
-
- var serviceProviderName = $i18next.t('serviceProvider.name');
-
- var availableSteps = {
- addVF: {name: 'addVF', title: 'Add a VF'},
- addSponsor: {
- name: 'addContact',
- title: 'Add ' + serviceProviderName +' Sponsor',
- mode: 'sponsor',
- submitButton: 'Add ' + serviceProviderName + ' Sponsor'
- },
- addVendor: {
- name: 'addContact',
- title: 'Add Vendor Contact',
- mode: 'vendor',
- submitButton: 'Add Vendor Cotact',
- },
- inviteMembers: {name: 'inviteMembers', title: 'Invite Team Members'},
- addSSH: {name: 'addSSH', title: 'Add SSH Key'}
- };
-
- wizard.setStep = function (step) {
- wizard.currentStep = step
- wizard.title = step.title;
- step.completed = true;
- };
-
- function initWizard() {
-
- $rootScope.ice.loader.show = true;
-
- if (wizardData.showActivationMessage) {
- toastService.setToast('You have successfully activated your account!', 'success', {displayFor: 'modal'});
- }
-
- wizard.stepIndex = 0;
-
- if (wizard.requiredStep) {
- wizard.steps.push(availableSteps[wizard.requiredStep]);
- wizard.setStep(wizard.steps[wizard.stepIndex]);
- $rootScope.ice.loader.show = false;
- return;
- }
-
- if (!wizard.eng_uuid || wizard.eng_uuid === "") {
- wizard.steps.push(availableSteps.addVF);
- }
- if (wizard.user.is_service_provider_contact === true && !wizard.is_service_provider_internal) {
- wizard.steps.push(availableSteps.addVendor);
- } else if (!wizard.user.is_service_provider_contact) {
- wizard.steps.push(availableSteps.addSponsor);
- }
-
- getCompanies();
-
- wizard.steps.push(availableSteps.inviteMembers);
-
- var userData = usersService.getUserData() || {};
- var ssh_public_key = userData.ssh_public_key;
- if ((wizard.user.ssh_public_key === "" || wizard.user.ssh_public_key === null) &&
- (ssh_public_key === "" || ssh_public_key === null)) {
- wizard.steps.push(availableSteps.addSSH);
- }
-
- $rootScope.ice.loader.show = false;
- wizard.setStep(wizard.steps[wizard.stepIndex]);
- }
-
- initWizard();
-
- wizard.getCurrentStep = function () {
- return wizard.currentStep.name;
- };
-
- wizard.nextStep = function () {
- wizard.clearMessage();
- wizard.stepIndex++;
-
- if (wizard.stepIndex === (wizard.steps.length)) {
- wizard.closeWizard();
- return;
- }
-
- wizard.setStep(wizard.steps[wizard.stepIndex]);
- };
-
- wizard.closeWizard = function () {
- wizard.clearMessage();
- $uibModalInstance.close();
-
- };
-
- wizard.clearMessage = function () {
- toastService.clearToast();
- };
-
- wizard.onAddContactSubmit = function () {
- $rootScope.ice.loader.show = true;
- wizard.data.addContact.eng_uuid = wizard.eng_uuid;
-
- if (wizard.user.is_main_vendor_contact === true && !wizard.is_service_provider_internal) {
- wizard.data.addContact.company = wizard.data.addContact.company;
- } else if (!wizard.user.is_main_vendor_contact) {
- wizard.data.addContact.company = wizard.data.attCompanyUuid;
- }
-
- usersService.addVendorContact(wizard.data.addContact)
- .then(function (response) {
- if (response.status === 200) {
- $rootScope.ice.loader.show = false;
- wizard.nextStep();
- }
- }, function (error) {
- toastService.setToast(error.message, 'danger', {displayFor: 'modal'});
- $log.error(error.message);
- $rootScope.ice.loader.show = false;
- })
- .catch(function (error) {
- wizard.Msg = error.status + " : " + error.statusText;
- wizard.bgColor = "#FFEBEB"; // RED #FFEBEB green DFF0D9
- $log.error(error);
- $rootScope.ice.loader.show = false;
- });
- };
-
- wizard.onInviteSubmit = function () {
- $rootScope.ice.loader.show = true;
- var is_service_provider_internal;
- var jsonInviteMembers = [];
- angular.forEach(wizard.inviteMembers.choices, function (value, key) {
- wizard.item = [];
- var jsonItem = new Object();
- jsonItem.email = value.email;
- jsonItem.eng_uuid = wizard.eng_uuid;
- jsonInviteMembers.push(jsonItem);
- });
-
- vfService.inviteMembers(JSON.stringify(jsonInviteMembers))
- .then(function (response) {
- if (response.status === 200) {
- wizard.nextStep();
- }
- $rootScope.ice.loader.show = false;
- })
- .catch(function (error) {
- toastService.setToast(error.message.detail, 'danger', {displayFor: 'modal'});
- $rootScope.ice.loader.show = false;
- $log.error(error.message);
- });
- };
-
- wizard.inviteMembers = {
- choices: [
- {
- email: '',
- eng_uuid: ''
- }]
- };
-
- wizard.addNewChoice = function () {
- var newItemNo = wizard.inviteMembers.choices.length + 1;
- wizard.inviteMembers.choices.push({'id': newItemNo});
- };
-
- wizard.removeChoice = function () {
- var lastItem = wizard.inviteMembers.choices.length - 1;
- wizard.inviteMembers.choices.splice(lastItem);
- };
-
- wizard.onAddSSHSubmit = function () {
- $rootScope.ice.loader.show = true;
- usersService.setSSHKey(wizard.user.uuid, wizard.data.addSSH)
- .then(function (response) {
- if (response.status === 200) {
- usersService.getIceUser()
- .then(function (response) {
- if (response.status === 200 && response.data && response.data !== '') {
- wizard.user = response.data;
- $rootScope.ice.loader.show = false;
- $scope.$emit('onUpdateEngagements');
- }
- });
- wizard.nextStep();
- }
-
- }).catch(function (error) {
- toastService.setToast(error.message.detail, 'danger', {displayFor: 'modal'});
- $rootScope.ice.loader.show = false;
- $log.error(error.message.detail);
- });
- };
-
- $scope.$on('moveWizardNextStep', function (event, args) {
- wizard.is_service_provider_internal = args.is_service_provider_internal;
- wizard.eng_uuid = args.engagement.uuid;
- wizard.nextStep();
- });
-
- function getCompanies() {
- vfService.getCompanies()
- .then(function (response) {
- if (response.status === 200) {
- wizard.companies = response.data;
- if(wizard.companies!=undefined){
- for(var i=0; i<wizard.companies.length; i++){
- if(wizard.companies[i].name=="AT&T"){
- wizard.data.attCompanyUuid=wizard.companies[i].uuid;
- break;
- }
- }
- }
- }
- })
- .catch(function (error) {
- $log.error(error);
- });
- }
- }]);
-})();
diff --git a/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.html b/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.html
deleted file mode 100755
index 13ccaa3d..00000000
--- a/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!--
-============LICENSE_START==========================================
-org.onap.vvp/portal
-===================================================================
-Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-===================================================================
-
-Unless otherwise specified, all software contained herein is licensed
-under the Apache License, Version 2.0 (the “License”);
-you may not use this software except in compliance with the License.
-You may obtain a copy of the License at
-
- http:www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-
-Unless otherwise specified, all documentation contained herein is licensed
-under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-you may not use this documentation except in compliance with the License.
-You may obtain a copy of the License at
-
- https:creativecommons.org/licenses/by/4.0/
-
-Unless required by applicable law or agreed to in writing, documentation
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-============LICENSE_END============================================
-
-ECOMP is a trademark and service mark of AT&T Intellectual Property.-->
diff --git a/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.less b/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.less
deleted file mode 100755
index 81381198..00000000
--- a/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.less
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-
-.getting-started-wizard {
-
- ul.step-indication {
- li {
- display: inline;
- }
- }
-}
diff --git a/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.module.js b/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.module.js
deleted file mode 100755
index 6e54399a..00000000
--- a/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.module.js
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-
-(function () {
-
- 'use strict';
-
- angular
- .module('ice.dashboard.get-started-modal', ['ngAnimate', 'ui.bootstrap', 'ice.activation.addVf']);
-
-
-})();
diff --git a/d2ice.att.io/app/main/dashboard/get-started-modal/wizard/wizard-container.html b/d2ice.att.io/app/main/dashboard/get-started-modal/wizard/wizard-container.html
deleted file mode 100755
index 97628a62..00000000
--- a/d2ice.att.io/app/main/dashboard/get-started-modal/wizard/wizard-container.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<!--
-============LICENSE_START==========================================
-org.onap.vvp/portal
-===================================================================
-Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-===================================================================
-
-Unless otherwise specified, all software contained herein is licensed
-under the Apache License, Version 2.0 (the “License”);
-you may not use this software except in compliance with the License.
-You may obtain a copy of the License at
-
- http:www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-
-Unless otherwise specified, all documentation contained herein is licensed
-under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-you may not use this documentation except in compliance with the License.
-You may obtain a copy of the License at
-
- https:creativecommons.org/licenses/by/4.0/
-
-Unless required by applicable law or agreed to in writing, documentation
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-============LICENSE_END============================================
-
-ECOMP is a trademark and service mark of AT&T Intellectual Property.-->
-<ice-toast is-modal="true"></ice-toast>
-<div class="getting-started-wizard">
- <ice-loader selector=".modal-content"></ice-loader>
-
- <div class="modal-header">
- <h2 name="{{wizard.title}}" class="modal-title">{{wizard.title}}</h2>
- <ul class="step-indication" ng-if="wizard.steps.length > 1">
- <li ng-repeat="step in wizard.steps" ng-class="{selected: step.completed}">{{$index + 1}}</li>
- </ul>
-
- <button id="close-wizard-button" type="button" ng-click="wizard.closeWizard()" class="close" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">&times;</span></button>
- </div>
- <div class="modal-body">
-
- <div ng-switch="wizard.getCurrentStep()" class="slide-frame">
- <div ng-switch-when="addVF">
- <add-vf is-modal="true"></add-vf>
- </div>
-
- <div ng-switch-when="addContact">
- <div>
- Please take a couple of moments to provide some additional details around your virtual function to
- get the process started. Do note that you can exit this wizard at any time to complete these items.
- </div>
-
- <form name="addContactForm" ng-submit="wizard.onAddContactSubmit()" novalidate
- class="addVendorContact-form col-md-12">
-
- <div class="form-group" ng-if="wizard.currentStep.mode === 'vendor'"
- ng-class="{ 'has-error' : addContactForm.company.$invalid && !addContactForm.company.$pristine }">
- <label class="ice-form-label required">Company</label>
- <select style="width:100%" name="company" ng-model="wizard.data.addContact.company"
- ng-options="company.uuid as company.name for company in wizard.companies track by company.uuid"
- class="form-control" ng-required="wizard.currentStep.mode === 'vendor'"></select>
- <div class="ice-form-error" data-ng-show="addContactForm.company.$error">
- <span
- ng-show="addContactForm.company.$error.required && !addContactForm.company.$pristine"
- class="help-block">Please select a company</span>
- </div>
- </div>
-
- <div class="form-group"
- ng-class="{ 'has-error' : addContactForm.fullName.$invalid && !addContactForm.fullName.$pristine }">
- <label class="ice-form-label required">Full Name</label>
- <input type="text" name="fullname" class="form-control"
- ng-model="wizard.data.addContact.full_name"
- ng-minlength="3" ng-maxlength="50" maxlength="50" required>
- <div class="ice-form-error" data-ng-show="addContactForm.fullname.$error">
- <span
- ng-show="addContactForm.fullname.$error.required && !addContactForm.fullname.$pristine">Full Name is a required field.</span>
- <span ng-show="addContactForm.fullname.$error.minlength">Full Name is too short.</span>
- <span ng-show="addContactForm.fullname.$error.maxlength">Full Name is too long.</span>
- </div>
- </div>
-
- <div class="form-group"
- ng-class="{ 'has-error' : addContactForm.email.$invalid && !addContactForm.email.$pristine }">
- <label class="ice-form-label required">Email</label>
- <input type="email" name="email" class="form-control" ng-model="wizard.data.addContact.email"
- ng-pattern='/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/'
- maxlength="254"
- required>
- <div class="ice-form-error" data-ng-show="addContactForm.email.$error">
- <span
- ng-show="addContactForm.email.$error.required && !addContactForm.email.$pristine">Email is a required field.</span>
- <span ng-show="addContactForm.email.$invalid && !addContactForm.email.$pristine"
- class="help-block">Enter a valid email.</span>
- </div>
- </div>
-
- <div class="form-group"
- ng-class="{ 'has-error' : addContactForm.phone.$invalid && !addContactForm.phone.$pristine }">
- <label class="ice-form-label required">Phone</label>
- <input type="text" name="phone" class="form-control" ng-intl-tel-input ng-model="wizard.data.addContact.phone_number" required ng-minlength="6" ng-maxlength="30">
- <div class="ice-form-error" data-ng-show="addContactForm.phone.$error">
- <span
- ng-show="addContactForm.phone.$error.required && !addContactForm.phone.$pristine">Phone is a required field.</span>
- <span ng-show="addContactForm.phone.$error.minlength"
- class="help-block">Phone is too short.</span>
- <span ng-show="addContactForm.phone.$error.maxlength"
- class="help-block">Phone is too long.</span>
- <span ng-show="addContactForm.phone.$error.pattern" class="help-block">Phone must consist of numbers only.</span>
- <span ng-show="addContactForm.phone.$invalid" class="help-block">Phone format invalid</span>
-
- </div>
- </div>
- <button class="btn btn-primary" type="submit" data-ng-disabled="!addContactForm.$valid">
- {{wizard.currentStep.submitButton}}
- </button>
- </form>
- </div>
-
- <div ng-switch-when="inviteMembers">
- <div>
- You can invite up to 10 team members at a time to collaborate around your virtual function as you would like.
- Please do remember that <em>anyone</em> who is invited to collaborate around the virtual function will have equal access.
- </div>
-
- <form name="inviteMembersForm" ng-submit="wizard.onInviteSubmit()" novalidate
- class="inviteMembers-form col-md-12">
- <div>
- <fieldset data-ng-repeat="choice in wizard.inviteMembers.choices|limitTo:10">
- <div id="containera" class="input-wrapper"><input type="email" name="email" class="form-control" ng-model="choice.email" maxlength="50" class="form-control" ng-pattern='/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/' required></div>
- <div class="ice-form-error" data-ng-show="inviteMembersForm.email.$error">
- <span
- ng-show="inviteMembersForm.email.$error.required && !inviteMembersForm.email.$pristine">Email is a required field.</span>
- <span ng-show="inviteMembersForm.email.$invalid && !inviteMembersForm.email.$pristine"
- class="help-block">Enter a valid email.</span>
- </div>
- <div class="remove-button" ng-click='wizard.removeChoice()' ng-show="$last"><span class="remove-icon"></span>Remove</div>
- </fieldset>
- </div>
- <a ng-if="wizard.inviteMembers.choices.length < 10" class="add-button" ng-click='wizard.addNewChoice()'>
- <span class="add-icon"></span>
- <span class="add-text">Invite another team member</span>
- </a>
-
- <button type="submit" class="btn btn-primary" data-ng-disabled="!inviteMembersForm.$valid">Send
- invitations
- </button>
-
- </form>
- </div>
-
- <div ng-switch-when="addSSH">
- <div>
- It looks like you have not yet added your SSH key to your profile. You can add one
- now. Please do remember that only team members who have added SSH keys to their
- profile can add files.
- </div>
- <form name="addSSHForm" ng-submit="wizard.onAddSSHSubmit()" novalidate class="addSsh-form col-md-12">
-
- <div class="form-group"
- ng-class="{ 'has-error' : addSSHForm.key.$invalid && !addSSHForm.key.$pristine }">
- <label class="ice-form-label required">SSH Key</label>
- <textarea type="text" name="key" class="form-control" ng-model="wizard.data.addSSH.ssh_key"
- ng-minlength="3" ng-maxlength="2048" required></textarea>
- <div class="ice-form-error" data-ng-show="addSSHForm.key.$error">
- <span
- ng-show="addSSHForm.key.$error.required && !addSSHForm.key.$pristine"
- class="help-block">Please enter your SSH key</span>
- </div>
- </div>
-
- <button class="btn btn-primary" data-ng-disabled="!addSSHForm.$valid" type="submit">Add SSH Key</button>
- </form>
- </div>
- </div>
- </div>
- <div class="modal-footer">
-
- </div>
-</div>
diff --git a/d2ice.att.io/app/main/dashboard/get-started-modal/wizard/wizard.less b/d2ice.att.io/app/main/dashboard/get-started-modal/wizard/wizard.less
deleted file mode 100755
index 4398d975..00000000
--- a/d2ice.att.io/app/main/dashboard/get-started-modal/wizard/wizard.less
+++ /dev/null
@@ -1,255 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-.dev-button {
- position: absolute;
- top: 0;
- left: 0;
-}
-
-.reject_large {
- .actions-sprite;
- .actions-sprite.reject_large;
- cursor: pointer;
-}
-
-.modal-content {
- .getting-started-wizard {
- .modal-header {
- display: flex;
- flex-direction: row;
-
- h2, h3 {
- display: inline-block;
- flex-grow: 10;
- }
- }
-
- .modal-body {
- .btn {
- width: 100%;
- }
-
- .btn-primary {
- border: 1px solid #8799A3;
- border-radius: 6px;
- background: #1E79B0; /* For browsers that do not support gradients */
- background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */
- background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */
- background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */
- background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */
- }
- }
- }
-}
-
-.getting-started-wizard {
-
-
-
-
-
- md-datepicker.btn.datepicker_btn {
- .md-datepicker-input {
- width: 100%;
- text-align: center;
- line-height: 32px;
- }
- }
- #vf-name-title {
- font-size: 16px;
- }
- #title-key-metadata{
- font-size: 16px;
- position: relative;
- top: 20px;
- left: 30px;
- background: white;
- padding: 0 20px;
- margin-top: -15px;
- }
- .fields_key_metadata{
- border:1px solid #ccc;
- padding: 26px 10px;
-
- }
- /* Override addVf pages styles */
- .container {
- width: auto;
-
- .col-md-2 { width: 0; }
- .col-md-8 { width: 100%; }
-
- .table-container-flex .flex-item {
- padding: 5px 5px;
- }
-
- .remove-button {
- display: none;
- }
- }
-
- .table-container-flex {
-
- .flex-item:nth-child(1) {
- padding-left: 0;
- flex-grow: 33;
- }
-
- .flex-item:nth-child(2) {
- flex-grow: 33;
- }
-
- .flex-item:nth-child(3) {
- flex-grow: 33;
- }
-
- }
-
- ul.step-indication {
- list-style: none;
- display: inline-block;
-
- li {
- display: inline-block;
- background-color: #DDDDDD;
- width: 30px;
- height: 30px;
- margin-right: 10px;
- padding: 6px 11px;
- .m_14_m;
-
- &.selected {
- .p_14_m;
- background-color: #1370A3;
- }
-
- &:last-child {
- margin-right: 0;
- }
- }
- }
-
- .addVendorContact-form {
- padding: 20px 0 0 0;
-
- button {
- margin-top: 10px;
- }
- }
-
- .inviteMembers-form {
- padding: 20px 0 0 0;
-
- button {
- margin-top: 10px;
- }
-
- .add-button {
- margin-top: 8px;
- display: block;
- .add-text {
- .a_16_m;
- vertical-align: top;
- margin-left: 6px;
- }
- .add-icon {
- .sprite;
- .sprite.add;
- display: inline-block;
- }
- }
-
- .remove-button {
- vertical-align:middle;
- .a_16_m;
- cursor: pointer;
-
- .remove-icon {
- display: inline-block;
- vertical-align: text-top;
- margin-right: 6px;
- .sprite;
- .sprite.delete-circle;
- cursor: pointer;
- }
- }
-
-
- .remove-button {
- vertical-align:middle;
- .a_16_m;
- cursor: pointer;
-
- .reject-large {
- display: inline-block;
- vertical-align: text-top;
- margin-right: 6px;
- .sprite;
- .sprite.delete-circle;
- cursor: pointer;
- }
- }
-
- .input-wrapper {
- margin-bottom: 10px;
- }
-
- }
-
- .addVf-form {
- padding: 0;
- }
-
- .addSsh-form {
- padding: 0;
-
- .form-group {
- margin-top: 20px;
- }
-
- button {
- margin-top: 10px;
- }
-
- textarea {
- min-height: 80px;
- }
- }
-
-}
diff --git a/d2ice.att.io/app/main/dashboard/main.module.js b/d2ice.att.io/app/main/dashboard/main.module.js
deleted file mode 100755
index 01a34a84..00000000
--- a/d2ice.att.io/app/main/dashboard/main.module.js
+++ /dev/null
@@ -1,107 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-(function () {
-
- 'use strict';
-
- angular
- .module('ice.dashboard.main', ['ice.dashboard.get-started-modal'])
- .config(config);
-
- function config($stateProvider) {
-
- $stateProvider
- .state('app.dashboard', {
- abstract: true,
- views: {
- 'navigation@app': {
- templateUrl: 'core/navigation/layouts/horizontal-navigation/navigation.html',
- controller: 'NavigationController as vm'
- }
- },
- bodyClass: 'dashboard'
- }).
- state('app.dashboard.dashboard', {
- url: '/dashboard/dashboard',
- views: {
- 'content@app': {
- templateUrl: 'main/dashboard/dashboard/dashboard.html',
- controller: 'DashboardMainController as vm'
- },
- },
- params: {engagement_uuid: null,engagement:null,messagePass: null},
- bodyClass: 'dashboard'
- }).
- state('app.dashboard.overview', {
- url: '/dashboard/overview',
- views: {
- 'content@app': {
- templateUrl: 'main/dashboard/overview/overview.html',
- controller: 'OverviewMainController as vm'
- },
- },
- params: {engagement_uuid: null,engagement:null,messagePass: null},
- bodyClass: 'dashboard'
- }).
- state('app.dashboard.detailedview', {
- url: '/dashboard/detailedview',
- views: {
- 'content@app': {
- templateUrl: 'main/dashboard/detailed-view/detailed-view.html',
- controller: 'detailedViewController as vm'
- },
- },
- params: {engagement_uuid: null,engagement:null},
- bodyClass: 'dashboard'
- }).
- state('app.dashboard.checklist', {
- url: '/dashboard/checklist',
- views: {
- 'content@app': {
- templateUrl: 'main/dashboard/checklist/checklist.html',
- controller: 'DashboardChecklistController as vm'
- },
- },
- params: {engagement_uuid: null,sub_id:null,engagement:null},
- bodyClass: 'dashboard'
- });
-
- }
-
-})();
diff --git a/d2ice.att.io/app/main/dashboard/main/main.html b/d2ice.att.io/app/main/dashboard/main/main.html
deleted file mode 100755
index f768619e..00000000
--- a/d2ice.att.io/app/main/dashboard/main/main.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!--
-============LICENSE_START==========================================
-org.onap.vvp/portal
-===================================================================
-Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-===================================================================
-
-Unless otherwise specified, all software contained herein is licensed
-under the Apache License, Version 2.0 (the “License”);
-you may not use this software except in compliance with the License.
-You may obtain a copy of the License at
-
- http:www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-
-Unless otherwise specified, all documentation contained herein is licensed
-under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-you may not use this documentation except in compliance with the License.
-You may obtain a copy of the License at
-
- https:creativecommons.org/licenses/by/4.0/
-
-Unless required by applicable law or agreed to in writing, documentation
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-============LICENSE_END============================================
-
-ECOMP is a trademark and service mark of AT&T Intellectual Property.-->
-<div class="row main-wrapper">
-<ice-loader selector=".steps"></ice-loader>
-<ice-loader selector=".activity-log"></ice-loader>
-<div class="row">
- <div class="col-md-8">
- <span id="star-engagement-action_{{vm.name}}" class="sprite starred" ng-class="vm.starred == true ? 'is_starred' : 'not_starred'" ng-click="vm.starEngagement()"></span>
- <h1>{{vm.name}}</h1>
- </div>
- <span class="col-md-8 git-repo-url" ng-if="vm.git_repo_url && vm.stage!=vm.stages.intake"><B>GIT:</B>&nbsp;{{vm.git_repo_url}}</span>
-</div>
-<step-stages-directive stage="vm.stage" eng-name="{{vm.vf_name}}" reviewer="{{vm.reviewer_uuid}}" stage-num="vm.stage_num" eng-uuid="{{vm.uuid}}"></step-stages-directive>
-<div data-ng-if="vm.stage!=vm.stages.intake">
- <progress-directive progress="{{vm.progress}}"
- vf="{{vm.vf}}"
- callback="vm.updateProgress"
- enable-edit="vm.isEngagementEL || vm.isAdmin"
- completion-date="{{vm.completion_date}}"
- engagement-uuid="{{vm.uuid}}"></progress-directive>
-</div>
-<div class="row main-section">
- <div class="col-md-8 steps">
- <div class="row steps-header">
- <h2 class="col-md-6">Next Steps<span data-ng-if="vm.isEngagementEL || vm.isAdmin" id="add-next-step-button" class="add-step" data-ng-click="vm.addStep()"></span></h2>
- <span class="col-md-6 filter-wrapper row">
- <span >Files<multiselect id="selected-file-filter-dropdown" class="state-filter" ng-model="vm.chosen_files_filter" options="item for item in vm.files_filter_options" data-multiple="true" scroll-after-rows="5" filter-after-rows="5" ng-change="vm.is_all_files()" ms-header="Select files" tabindex="-1">
- </multiselect></span>
- <span >States<multiselect class="state-filter" ng-model="vm.selected_state_filter" options="item for item in vm.states_select" id="selected-state-filter-dropdown" data-multiple="true" scroll-after-rows="5" filter-after-rows="5" ng-change="vm.update_next_steps_choice()" ms-header="Select states" tabindex="-1">
- </multiselect></span>
- </span>
- </div>
- <ul class="step-indication">
- <li class="step" data-ng-repeat="step in vm.steps | orderBy: 'due_date' as filtered_result track by step.uuid" ng-if="vm.is_match_both_filters(step)">
- <div class="step-wrapper row" id="step-{{step.uuid}}" data-ng-class="{'completed': vm.states.completed==step.state && !vm.isEngagementEL, 'confirmed': vm.states.confirmed==step.state}">
- <aside class="next-step-actions" data-ng-if="vm.isEngagementEL || vm.isAdmin">
- <span class="moveto-confirmed"
- data-ng-if="vm.states.confirmed != step.state && vm.states.completed==step.state"
- title="Confirm"
- data-ng-click="vm.updateStep(step.uuid,vm.states.confirmed)" id="confirmed_{{step.uuid}}"></span>
- <span class="moveto-todo"
- data-ng-if="vm.states.confirmed!=step.state && vm.states.todo!=step.state"
- title="Deny"
- data-ng-click="vm.updateStep(step.uuid,vm.states.todo)" id="todo_{{step.uuid}}"></span>
- <span class="moveto-delete"
- title="Delete"
- data-ng-if="vm.states.confirmed != step.state"
- data-ng-click="vm.deleteStep(step.uuid)" id="delete-{{step.uuid}}"></span>
- </aside>
- <div class="description col-xs-8 col-sm-8 col-md-8">
- <div class="last-action-details">
- <span class="name" id="{{step.last_updater.full_name}}_{{step.last_update_type}}">
- {{step.last_updater && step.last_updater.full_name || step.creator.full_name}}
- &nbsp;{{step.last_update_type}}:&nbsp;
- </span>
- <span class="time">{{(step.last_update_time) | date2: 'EEEE MMMM doo yyyy'}} at {{(step.last_update_time) | date: 'hh:mm' : timeGapLocal }} {{ampm}} {{mom}}</span>
- </div>
- <div id={{step.uuid}} class="step-state {{step.state | lowercase}}" data-ng-click="(step.state==vm.states.todo || step.state==vm.states.completed) && vm.toggleCompleted(step.uuid)"></div>
- <div class="step-text" ng-bind-html="step.description | htmlspecialchars"></div>
- </div>
- <div class="details col-xs-4 col-sm-4 col-md-4">
- <span class="next-step-due-date" ng-if="step['due_date'].length >0"><span class="icon"></span>{{(step['due_date']) | date2: 'EEEE MMMM doo yyyy'}}</span>
- <span ng-if="step.engagement != null" class="edit-next-step glyphicon glyphicon-pencil" ng-click="vm.editStep(step)"></span>
-
- <ul class="next-step-team-mates">
-
- <li data-ng-repeat="member in step['assignees'] track by member.uuid"
- data-ng-class="{'me': member.uuid == vm.me.uuid}"
- title="{{member.full_name}} ({{member.email}})">
- </li>
- </ul>
- <span uib-popover-template="'myPopoverTemplate.html'"
- popover-title="Associated Files"
- popover-trigger="mouseenter"
- popover-html='true'
- popover-placement="left"
- class="" ng-if="step.files.length > 0">Associated Files ({{step.files.length}})</span>
- <script type="text/ng-template" id="myPopoverTemplate.html">
- <ul>
- <li ng-repeat="file in step['files'] track by $index">- {{file}}</li>
- </ul>
- </script>
- </div>
- </div>
- </li>
- </ul>
- </div>
- <div class="col-md-4 team-and-logs">
-
- <div id="engagement-status">
- <h2>Current Status<span ng-if="vm.isEngagementEL || vm.isAdmin" ng-click="vm.addStatus()" id="add-status"></span><span ng-if="(vm.isEngagementEL || vm.isAdmin) && vm.status" ng-click="vm.editStatus()" id="edit-status"></span></h2>
- <span id="status-update-details" ng-if="vm.status">
- Last updated {{(vm.status.update_time) | date2: 'EEEE MMMM doo yyyy'}} at {{(vm.status.update_time) | date: 'hh:mm' : timeGapLocal }} {{ampm}} {{mom}}
- by {{vm.status.creator.full_name}}
- </span>
- <p id="status-description">{{vm.status.description == undefined && 'No status update has been provided yet.' || vm.status.description }}</p>
- </div>
-
- <div class="team">
- <h2><span>Team Members</span><span id="team-members-plus-button-id" ng-click="vm.addPeople()" class="add-people" ng-if="vm.name.length > 0"></span></h2>
- <ul class="team-avatars">
- <li id="c-l-te-am-me-mb-er-s-po-po-ve-r"
- data-ng-repeat="member in vm.team track by member.uuid"
- data-ng-class="{'me': member.uuid == vm.me.uuid}"
- uib-popover-template="'myClTeamMembersPopoverTemplate.html'"
- popover-trigger='mouseenter'
- popover-html='true'
- popover-placement='bottom'
- >
- <script type="text/ng-template" id="myClTeamMembersPopoverTemplate.html">
- <span class="row">
- <span class="popover-title-name col-md-12">{{member.full_name}} -<span class="popover-title-company">{{member.company.name}}</span></span>
- <span class="popover-role-title col-md-12"> {{member.role.name == 'el' ? 'Engagement Lead' : '' }} {{member.role.name == 'el' && vm.reviewer_uuid == member.uuid ? ' - ' : ''}} {{vm.reviewer_uuid == member.uuid ? 'Reviewer' : ''}}</span>
- <span class="popover-details">
- <span class="popover-details-topic col-md-4">Email:</span><span class="popover-details-detail col-md-8">{{member.email}}</span>
- <span class="popover-details-topic col-md-4">Phone:</span><span class="popover-details-detail col-md-8">{{member.phone_number}}</span>
- </span>
- </span>
- </script>
- </li>
- </ul>
- </div>
-
- <div class="activity-log">
- <h2>Activity Log</h2>
- <ul class="activity-log-details">
- <li data-ng-repeat="activity in vm.activities track by activity.uuid">
- <notifications activity="activity"></notifications>
- </li>
- </ul>
- </div>
-
- </div>
-
-</div>
-</div>
diff --git a/d2ice.att.io/app/main/dashboard/overview/overview.controller.js b/d2ice.att.io/app/main/dashboard/overview/overview.controller.js
deleted file mode 100755
index 19d9839f..00000000
--- a/d2ice.att.io/app/main/dashboard/overview/overview.controller.js
+++ /dev/null
@@ -1,833 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-(function () {
-//test
- 'use strict';
-
- angular
- .module('ice.dashboard.overview',[])
- .controller('OverviewMainController', ["$scope","$rootScope", "_","$stateParams", "statusService", "stepsService", "vfService", "usersService", "iceConstants", "$uibModal", "cmsService", "toastService", "$state", "$log", overviewMainController]);
-
- function overviewMainController($scope,$rootScope,_, $stateParams, statusService, stepsService, vfService, usersService, iceConstants, $uibModal, cmsService, toastService, $state, $log) {
- var vm = this;
-
- vm.sortableOptions = {
- handle: ' .order-nextstep',
- axis: 'y',
- update: function(e, ui) {
- stepsService.order_next_steps(vm.engagement.uuid, vm.steps)
- .then(function (response) {
- if (response.status === 200) {
- $log.debug('updated');
- }
- })
- .catch(function (error) {
- $log.error(error);
- });
- }
- };
-
- var init = function () {
- cmsService.setAnnouncementToast();
- $rootScope.timeGapLocal = moment().format("z");// timeGap();
- $rootScope.ampm = moment().format('A');
- $rootScope.mom =moment().tz( moment.tz.guess()).format('z');
-
- vm.engagement = $stateParams.engagement;
-
- if (vm.engagement != undefined)
- {
- vm.me = usersService.getUserData();
- vfService.getSingleEngagement(vm.me.uuid,vm.engagement.uuid)
- .then(function (response) {
- $rootScope.ice.loader.show = false;
-
- if (response.status === 200 && response.data && response.data !== '') {
- vm.vf = response.data;
- vm.is_service_provider_internal = vm.vf.is_service_provider_internal;
- vm.name = vm.vf.name;
- vm.manual_id = vm.vf.engagement.engagement_manual_id;
- if(!vm.vf.git_repo_url || vm.vf.git_repo_url==-1){
- vm.git_repo_url = false;
- }
- else {
- vm.git_repo_url = vm.vf.git_repo_url;
- }
- vm.storage_bucket_url = vm.manual_id + '_' + vm.name.toLowerCase();
- vm.team = vm.vf.engagement.engagement_team;
- vm.me = usersService.getUserData();
- vm.stages = iceConstants.stages;
- vm.stage = vm.vf.engagement.engagement_stage;
- vm.stage_num = 0;
- vm.set_stage_num(vm.stage);
- vm.in_overview_page = true;
- vm.uuid = vm.engagement.uuid;
- vm.progress = vm.vf.engagement.progress;
- vm.completion_date = vm.vf.engagement.target_completion_date;
- vm.starred = false;
- vm.isEngagmentLead = usersService.isUserInRole('el');
- vm.isEngagementEL = usersService.isEngagementEL(vm.team);
- vm.isAdmin = usersService.isAdmin(vm.me);
- vm.does_user_role_allow_action_array = [vm.isAdmin, vm.isEngagementEL];
- vm.unremoveable_users_from_eng_team_array = [vm.vf.engagement.reviewer.uuid, vm.vf.engagement.peer_reviewer.uuid,
- vm.vf.engagement.creator.uuid]
- if (vm.vf.engagement.contact_user != null) {
- vm.unremoveable_users_from_eng_team_array.push(vm.vf.engagement.contact_user.uuid);
- }
- vm.states = iceConstants.states;
- vm.states_select = serializeStates(iceConstants.states);
- vm.selected_state_filter = getSelectedStatesByUserType();
- vm.steps = [];
- vm.vf_name = vm.vf.name;
- vm.vf.engagement.starred_engagement.forEach(function(user) {
- if (vm.me.uuid == user.uuid)
- vm.starred = true;
- });
- vm.all_states = false;
- vm.all_files = true;
- initSteps();
- vm.initActivityLogs();
- vm.files = vm.vf.files;
- vm.files_filter_options = [];
- vm.files_filter_options = vm.files_filter_options.concat(vm.files);
- vm.files_filter_options.push("Any file");
- vm.chosen_files_filter = ["Any file"];
- vm.show_step = true;
- vm.status = false;
- statusService.get(vm.uuid)
- .then(function (response) {
- if (response.status === 200)
- {
- vm.status = response.data;
- } else
- {
- $log.error(response);
- }
- })
- .catch(function (error) {
- vm.status = false;
- $log.error(error.message);
- });
- vm.progress_needed_data = getEngagementProgressData();
- }
- })
- .catch(function (error) {
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
-
- }
- };
-
- vm.set_stage_num = function(state) {
- switch (state) {
- case 'Intake':
- vm.stage_num = 1;
- break;
- case 'Active':
- vm.stage_num = 2;
- break;
- case 'Validated':
- vm.stage_num = 3;
- break;
- case 'Completed':
- vm.stage_num = 4;
- break;
- };
- };
-
- vm.checkIfAdmin = function(user){
- return usersService.isAdmin(user);
- };
-
-
- vm.is_user_allowed = function(){
- if(_.includes(vm.does_user_role_allow_action_array, true) == true){
- return true;
- }
- else {
- return false;
- }
- }
-
-
- vm.is_able_to_delete = function(requested_user){
- if(vm.is_user_allowed() && !_.includes(vm.unremoveable_users_from_eng_team_array, requested_user.uuid)
- && !vm.checkIfAdmin(requested_user)) {
- return true;
- }
- else {
- return false;
- }
- };
-
-
- vm.remove_user_from_eng = function(requested_user){
- if(vm.is_able_to_delete(requested_user)) {
- var modalInstance = $uibModal.open({
- templateUrl: 'main/modals/general-prompt-modal/general-prompt-modal.html',
- controller: 'generalPromptModalController',
- controllerAs: 'vm',
- resolve: {
- modalDetails: function () {
- return {
- "upper_headline": 'Remove user from engagement team: ',
- "upper_headline_value": requested_user.full_name,
- "headline": 'Are you sure you would like to remove the user out of the team members?',
- "is_message":false,
- "message": '',
- "approve": 'Yes',
- "cancelText": 'No',
- "is_close_modal_button":true
- };
- }
- }
- });
- //in order to close the ui-popover before opening the confirmation modal.
- angular.element('body').click();
-
- modalInstance.result.then(function (approve_deletion) {
- if(approve_deletion) {
- var data = {'eng_uuid': vm.vf.engagement.uuid, 'user_uuid': requested_user.uuid}
- vfService.remove_user_from_eng(data).then(function (response) {
- $rootScope.ice.loader.show = false;
- if (response.status === 204) {
- $rootScope.$broadcast('onUpdateEngagements',{select : {uuid:vm.engagement.uuid,page_type:'overview',sub_id:undefined}});
- }
- })
- .catch(function (error) {
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
- }
- });
- }
- else {
- toastService.setToast('Action is not allowed.', 'danger');
- $rootScope.ice.loader.show = false;
- return;
- }
- };
-
-
- $scope.is_match_both_filters = function () {
- return function (step) {
-
- var result = false;
-
- if(vm.all_files && vm.all_states) {
- result = true;
- }
- else if (vm.all_states && vm.is_contain_files(step)){
- result = true;
- }
- else if (vm.all_files && vm.is_same_state(step.state)){
- result = true;
- }
- else if (vm.is_contain_files(step) && vm.is_same_state(step.state)){
- result = true;
- }
-
- if (result) {
- return step;
- }
- return false;
- }
- }
-
- vm.is_all_files = function() {
- vm.all_files = vm.chosen_files_filter.indexOf("Any file") !== -1;
- }
-
- vm.is_contain_files = function(step) {
- if (step.files) {
- for (var i = 0; i < step.files.length; i++) {
- if (vm.chosen_files_filter.indexOf(step.files[i]) !== -1) {
- return true;
- }
- }
- }
-
- return false;
- };
-
- vm.is_same_state = function(step_state){
- return vm.selected_state_filter.indexOf(step_state) !== -1;
- };
-
- vm.update_next_steps_choice = function(){
- if(vm.selected_state_filter.indexOf("All") !== -1){
- vm.all_states = true;
- }
- else {
- vm.all_states = false;
- }
- };
-
- vm.editStatus = function () {
- var modalInstance = $uibModal.open({
- templateUrl: 'main/modals/status/status.html',
- controller: 'StatusModalController',
- controllerAs: 'vm',
- size: 'lg',
- resolve: {
-
- engagement_uuid: function () {
- return vm.engagement.uuid;
- },
- action: function () {
- return 'edit';
- }
- }
- });
-
- // Update the progress after modal closed.
- modalInstance.result.then(function (data) {
- if (data) {
- vm.status = data;
- }
- }, function () {
- $log.debug('Modal dismissed at: ' + new Date());
- });
- };
-
- vm.addStatus = function () {
- var modalInstance = $uibModal.open({
- templateUrl: 'main/modals/status/status.html',
- controller: 'StatusModalController',
- controllerAs: 'vm',
- size: 'lg',
- resolve: {
-
- engagement_uuid: function () {
- return vm.engagement.uuid;
- },
- action: function () {
- return 'add';
- }
- }
- });
-
- // Update the progress after modal closed.
- modalInstance.result.then(function (data) {
- if (data) {
- vm.status = data;
- }
- }, function () {
- $log.debug('Modal dismissed at: ' + new Date());
- });
- };
-
- vm.deleteStep = function(step_uuid){
- var modalInstance = $uibModal.open({
- templateUrl: 'main/modals/general-prompt-modal/general-prompt-modal.html',
- controller: 'generalPromptModalController',
- controllerAs: 'vm',
- resolve: {
- modalDetails: function () {
- return {
- "headline": 'Delete Step',
- "is_message":true,
- "message": 'Are you sure you want to delete this step?',
- "approve": 'Delete Step',
- "is_close_modal_button":true
- };
- }
- }
- });
-
- modalInstance.result.then(function (deletionApproved) {
- if(deletionApproved) {
- stepsService.delete(step_uuid)
- .then(function (response) {
- if (response.status === 204) {
- initSteps();
- initActivityLogs();
- }
- })
- .catch(function (error) {
- $log.error(error);
- });
- }
- });
- };
-
- // next steps modal
- vm.editStep = function (nextstep) {
- var modalInstance = $uibModal.open({
- templateUrl: 'main/modals/next-steps/next-steps.html',
- controller: 'NextStepsModalController',
- controllerAs: 'vm',
- size: 'lg',
- resolve: {
-
- engagement_team: function () {
- return vm.team;
- },
- title: function () {
- return vm.engagement.name;
- },
- associated_files: function () {
- return vm.files;
- },
- engagement_uuid: function () {
- return vm.engagement.uuid;
- },
- checklist: function () {
- return undefined;
- },
- nextstep: function () {
- return nextstep;
- }
- }
- });
-
- // Update the progress after modal closed.
- modalInstance.result.then(function (data) {
- if (data) {
- initSteps();
- }
- }, function () {
- $log.debug('Modal dismissed at: ' + new Date());
- });
- };
-
- vm.addStep = function () {
- var modalInstance = $uibModal.open({
- templateUrl: 'main/modals/next-steps/next-steps.html',
- controller: 'NextStepsModalController',
- controllerAs: 'vm',
- size: 'lg',
- resolve: {
- engagement_team: function () {
- return vm.team;
- },
- title: function () {
- return vm.engagement.name;
- },
- associated_files: function () {
- return vm.files;
- },
- engagement_uuid: function () {
- return vm.engagement.uuid;
- },
- checklist: function () {
- return undefined;
- },
- nextstep: function () {
- return undefined;
- }
- }
- });
-
- // Update the progress after modal closed.
- modalInstance.result.then(function (data) {
- if (data) {
- data.forEach(function (step) {
- step['creator'] = vm.me;
- vm.steps.push(step);
- });
- initSteps();
- }
- }, function () {
- $log.debug('Modal dismissed at: ' + new Date());
- });
- };
-
- $rootScope.$on('onUpdateNextSteps', function (event, args) {
- if(args.eng_uuid && args.stage){
- vm.uuid = args.eng_uuid;
- vm.stage = args.stage;
- }
- else{
- $log.error("onUpdateNextStep expecting args");
- return;
- }
- initSteps();
- });
-
- vm.starEngagement = function () {
-
- vfService.putStarredEngagements(vm.engagement.uuid)
- .then(function (response) {
- $rootScope.ice.loader.show = false;
- if (response.status === 200 && response.data && response.data !== '') {
- if (vm.starred == true)
- vm.starred = false
- else
- vm.starred = true
- $rootScope.$broadcast('onUpdateEngagements',{select : {uuid:vm.engagement.uuid,page_type:'overview',sub_id:undefined}});
-
- }
- })
- .catch(function (error) {
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
- }
-
- vm.updateStep = function (stepUuid, stepState) {
- var data = {"state":stepState};
- stepsService.update(stepUuid, data)
- .then(function (response) {
- if (response.status === 200) {
- var step = getStepByUuid(stepUuid);
- if (step){
- initSteps();
- vm.initActivityLogs();
- }
- }
- })
- .catch(function (error) {
- $log.error(error);
- });
- };
-
- vm.toggleCompleted = function (stepUuid) {
- var step = getStepByUuid(stepUuid);
- if (step){
- if(step.state == vm.states.incomplete){
- vm.updateStep(stepUuid, iceConstants.states.completed);
- }else if(step.state == vm.states.completed){
- vm.updateStep(stepUuid, iceConstants.states.incomplete);
- }
-
- }
- };
-
- vm.updateProgress = function(data) {
- if (data && data.progress){
- vm.progress = data.progress;
- } else if (data && data.target_date){
- vm.completion_date = data.target_date;
- vm.target_completion_date = data.target_date;
- }
- };
-
- vm.addPeople = function () {
-
- var args = {
- user: vm.me,
- eng_uuid: vm.engagement.uuid,
- is_service_provider_internal: vm.is_service_provider_internal,
- requiredStep: 'inviteMembers'
- };
-
- $rootScope.$broadcast('openGettingStartedWizard', args);
- };
-
- var initSteps = function() {
- $rootScope.ice.loader.show = true;
- stepsService.get(vm.uuid, vm.stage)
- .then(function (response) {
- $rootScope.ice.loader.show = false;
- if (response.status === 200) {
- vm.steps = [];
- response.data.forEach(function (step) {
- vm.steps.push(step);
- });
- }
- })
- .catch(function (error) {
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
- };
-
- vm.initActivityLogs = function() {
- $rootScope.ice.loader.show = true;
- vfService.getActivities(vm.uuid)
- .then(function (response) {
- $rootScope.ice.loader.show = false;
- if (response.status === 200) {
- vm.activities = response.data;
-
- }
- })
- .catch(function (error) {
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
- };
-
- var getStepByUuid = function(stepUuid) {
- var foundStep;
- if (vm.steps) {
- vm.steps.forEach(function (step) {
- if (step.uuid === stepUuid) {
- foundStep = step;
- }
- });
- }
- return foundStep;
- };
-
- var serializeStates = function(states) {
- var result = []
- for(var key in states) {
- result.push(states[key])
- }
-
- return result;
- };
-
- var getSelectedStatesByUserType = function() {
- var result = [];
-
-// if(vm.isEngagementEL || vm.isAdmin) {
-// result.push("All","Completed","Incomplete");
-// } else { //For normal users:
- result.push("Incomplete")
-// }
-
- return result;
- };
-
- var getEngagementProgressData = function() {
- var result = {
- "enable_edit": ((vm.isEngagementEL || vm.isAdmin) && vm.in_overview_page),
- "completion_date":vm.vf.engagement.target_completion_date,
- "ecomp_release": vm.vf.ecomp_release.name,
- "vnf_version": vm.vf.version,
- "aic_version":vm.vf.deployment_target.version,
- "aic_instantiation_time":vm.vf.engagement.aic_instantiation_time,
- "asdc_onboarding_time":vm.vf.engagement.asdc_onboarding_time,
- "heat_validated_time":vm.vf.engagement.heat_validated_time,
- "image_scan_time":vm.vf.engagement.image_scan_time,
- "engagement_uuid": vm.uuid, manual_id: vm.manual_id
- };
-
- return result;
- };
-
- vm.archiveEngagement = function() {
- var modalInstance = $uibModal.open({
- templateUrl: 'main/modals/archive-engagement-modal/archive-engagement-modal.html',
- controller: 'archiveEngagementModalController',
- controllerAs: 'vm',
- resolve: {
- engagementDetails: function () {
- return {
- "manual_id": vm.manual_id,
- "name": vm.name,
- "engagement": vm.engagement
- };
- }
- }
- });
-
- modalInstance.result.then(function (archiveReason) {
- if(archiveReason && vm.engagement && vm.engagement.uuid) {
- vfService.archiveEngagement(vm.engagement.uuid, archiveReason)
- .then(function() {
- $state.go('app.dashboard.dashboard');
- toastService.setToast("Engagement '" + vm.engagement.name + "' archived successfully.", 'success');
- })
- .catch (function(error) {
- toastService.setToast("Server failed archiving engagement.", 'danger');
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
- } else {
- toastService.setToast("No reason was supplied, therefor engagement cannot be archived.", 'danger');
- }
- });
- };
-
- vm.changeReviewer = function() {
- var modalInstance = $uibModal.open({
- templateUrl: 'main/modals/select-el-modal/select-el-modal.html',
- controller: 'selectELModalController',
- controllerAs: 'vm',
- resolve: {
- // We are not allow the reviewer and peer reviewer to be the same:
- excludeUuids: function () {
- return [vm.engagement.peer_reviewer_uuid];
- },
- selectedOption: function() {
- return vm.engagement.reviewer_uuid;
- }
- }
- });
-
- modalInstance.result.then(function (userUuid) {
- if(vm.engagement && vm.engagement.uuid) {
-
- if (userUuid == vm.engagement.peer_reviewer_uuid) {
- vfService.switchEngagementReviewers(vm.engagement.uuid, userUuid, vm.engagement.reviewer_uuid)
- .then(function (response) {
- vm.engagement.reviewer_uuid = response.data.reviewer;
- vm.engagement.peer_reviewer_uuid = response.data.peerreviewer;
- toastService.setToast("Reviewer and peer reviewer updated successfully.", 'success');
- })
- .catch(function (error) {
- toastService.setToast("Server failed to update engagement reviewers.", 'danger');
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
- } else {
- vfService.updateEngagementReviewer(vm.engagement.uuid, userUuid)
- .then(function(response){
- _.remove(vm.team, function(user) {return user.uuid === vm.engagement.reviewer_uuid;});
- vm.team.push(response.data);
- vm.engagement.reviewer_uuid = response.data.uuid;
- toastService.setToast("Reviewer updated successfully.", 'success');
- })
- .catch(function(error) {
- toastService.setToast("Server failed to update engagement reviewer.", 'danger');
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
- }} else {
- toastService.setToast("Problem occurred while updating reviewer - missing engagement uuid.", 'danger');
- }
- })
- };
-
- vm.changePeerReviewer = function() {
- var modalInstance = $uibModal.open({
- templateUrl: 'main/modals/select-el-modal/select-el-modal.html',
- controller: 'selectELModalController',
- controllerAs: 'vm',
- resolve: {
- // We are not allow the reviewer and peer reviewer to be the same:
- excludeUuids: function () {
- return [vm.engagement.reviewer_uuid];
- },
- selectedOption: function() {
- return vm.engagement.peer_reviewer_uuid;
- }
- }
- });
-
- modalInstance.result.then(function (userUuid) {
- if(vm.engagement && vm.engagement.uuid) {
-
- if (userUuid == vm.engagement.reviewer_uuid) {
- vfService.switchEngagementReviewers(vm.engagement.uuid, vm.engagement.peer_reviewer_uuid, userUuid)
- .then(function (response) {
- vm.engagement.reviewer_uuid = response.data.reviewer;
- vm.engagement.peer_reviewer_uuid = response.data.peerreviewer;
- toastService.setToast("Peer reviewer and reviewer updated successfully.", 'success');
- })
- .catch(function (error) {
- toastService.setToast("Server failed to update engagement reviewers.", 'danger');
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
- } else {
- vfService.updateEngagementPeerReviewer(vm.engagement.uuid, userUuid)
- .then(function(response) {
- $log.debug("vm.team", vm.team);
- _.remove(vm.team, function(user) {return user.uuid === vm.engagement.peer_reviewer_uuid;});
- vm.team.push(response.data);
- vm.engagement.peer_reviewer_uuid = response.data.uuid;
- toastService.setToast("Peer reviewer updated successfully.", 'success');
- })
- .catch(function(error) {
- toastService.setToast("Server failed to update engagement peer reviewer.", 'danger');
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
- }} else {
- toastService.setToast("Problem occurred while updating peer reviewer - missing engagement uuid.", 'danger');
- }
- })
- };
-
- vm.updateEngagementStatus = function() {
- vm.vf.engagement.progress = parseInt(vm.progress);
- var modalInstance = $uibModal.open({
- templateUrl: 'main/modals/update-engagement-status-modal/update-engagement-status-modal.html',
- controller: 'updateEngagementStatusModalController',
- controllerAs: 'vm',
- resolve: {
- engagement: function () {
- // We will deliver a copy of the engagement so if the user hit 'Cancel' we won't change the original:
- return angular.copy(vm.vf.engagement);
- }
- }
- });
-
- modalInstance.result.then(function (result) {
- vfService.updateEngagement(result.engagement, result.status)
- .then(function(response) {
- vm.vf.engagement = result.engagement;
- vm.progress = vm.vf.engagement.progress;
- vm.progress_needed_data = getEngagementProgressData();
- vm.status = response.data;
- toastService.setToast("Engagement status updated successfully.", 'success');
- })
- .catch(function(error){
- toastService.setToast("Server failed to update engagement status.", 'danger');
- $rootScope.ice.loader.show = false;
- $log.error(error);
- });
- })
- };
-
- vm.changeTargetCompletion = function(){
- var modalInstance = $uibModal.open({
- templateUrl: 'main/modals/change-date/change-date.html',
- controller: 'ChangeDateModalController',
- controllerAs: 'vm',
- resolve: {
- completionDate: function () {
- return vm.vf.engagement.target_completion_date;
- },
- engagementUuid: function () {
- return vm.engagement.uuid;
- }
- }
- });
-
- modalInstance.result.then(function (data) {
- if (!data){
- return;
- }
- vm.completion_date = data.target_date || vm.vf.engagement.target_completion_date;
- vm.vf.engagement.target_completion_date = vm.completion_date;
- }, function () {
- $log.debug('Modal dismissed at: ' + new Date());
- });
- };
-
- init();
- }
-})();
diff --git a/d2ice.att.io/app/main/dashboard/overview/overview.html b/d2ice.att.io/app/main/dashboard/overview/overview.html
deleted file mode 100755
index d1b3fc40..00000000
--- a/d2ice.att.io/app/main/dashboard/overview/overview.html
+++ /dev/null
@@ -1,212 +0,0 @@
-<!--
-============LICENSE_START==========================================
-org.onap.vvp/portal
-===================================================================
-Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-===================================================================
-
-Unless otherwise specified, all software contained herein is licensed
-under the Apache License, Version 2.0 (the “License”);
-you may not use this software except in compliance with the License.
-You may obtain a copy of the License at
-
- http:www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-
-Unless otherwise specified, all documentation contained herein is licensed
-under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-you may not use this documentation except in compliance with the License.
-You may obtain a copy of the License at
-
- https:creativecommons.org/licenses/by/4.0/
-
-Unless required by applicable law or agreed to in writing, documentation
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-============LICENSE_END============================================
-
-ECOMP is a trademark and service mark of AT&T Intellectual Property.-->
-<div class="no-display-text" ng-if="vm.engagement == undefined"></div>
-
-<div ng-class="vm.engagement == undefined ? 'no-display' : 'overview main-wrapper'">
- <ice-loader selector=".steps"></ice-loader>
- <ice-loader selector=".activity-log"></ice-loader>
- <div class="row">
- <div class="col-md-6">
- <span id="star-engagement-action" class="sprite starred" ng-class="vm.starred == true ? 'is_starred' : 'not_starred'" ng-click="vm.starEngagement()"></span>
- <h1 id="engagement-title">
- <span class="manual-id" id="title-id-{{vm.manual_id}}: {{vm.name}}">{{vm.manual_id}}: </span>{{vm.name}}
- </h1>
- <span ng-show="vm.isEngagementEL || vm.isAdmin" uib-dropdown uib-dropdown-toggle on-toggle="toggled(open)" id="admin-actions-dropdown" class="admin-actions-dropdown sprite">
- <ul class="dropdown-menu" uib-dropdown-menu role="menu">
- <li role="menuitem" ng-show="vm.isAdmin"><a data-ng-click="vm.archiveEngagement()">Archive</a></li>
- <li class="divider" ng-show="vm.isAdmin"></li>
- <li role="menuitem" ng-show="vm.isAdmin"><a data-ng-click="vm.changeReviewer()">Change Reviewer</a></li>
- <li class="divider" ng-show="vm.isAdmin"></li>
- <li role="menuitem" ng-show="vm.isAdmin"><a data-ng-click="vm.changePeerReviewer()">Change Peer Reviewer</a></li>
- <li class="divider" ng-show="vm.isAdmin" ></li>
- <li role="menuitem" ng-show="vm.isEngagementEL || vm.isAdmin" ><a data-ng-click="vm.updateEngagementStatus()">Update Status</a></li>
- </ul>
- </span>
- </div>
- <div class="col-md-6 row">
- <span class="col-md-12 git-repo-url" ng-if="vm.git_repo_url && vm.stage!=vm.stages.intake" id="git-url"><B>GIT:</B>&nbsp;{{vm.git_repo_url}}</span>
- <span class="col-md-11 line-separator" ng-if="vm.git_repo_url && vm.stage!=vm.stages.intake"></span>
- <span class="col-md-12 storage-bucket-url" ng-if="vm.stage!=vm.stages.intake" id="bucket-url"><B>STORAGE BUCKET:</B>&nbsp;{{vm.storage_bucket_url}}</span>
- </div>
- </div>
- <step-stages-directive stage="vm.stage" eng-name="{{vm.vf_name}}" team="vm.team" stage-num="vm.stage_num" eng-uuid="{{vm.uuid}}"></step-stages-directive>
- <div data-ng-if="vm.stage!=vm.stages.intake">
- <progress-directive
- progress="{{vm.progress}}"
- callback="vm.updateProgress"
- data="vm.progress_needed_data">
- </progress-directive>
- </div>
-
- <div class="row main-section">
- <div class="col-md-8 steps">
- <div class="row steps-header">
- <h2 class="col-md-6">Next Steps<span data-ng-if="vm.isEngagementEL || vm.isAdmin" id="add-next-step-button" class="add-step fa fa-plus-circle" data-ng-click="vm.addStep()"></span></h2>
- <span class="col-md-6 filter-wrapper row">
- <span >Files<multiselect id="selected-file-filter-dropdown" class="state-filter" ng-model="vm.chosen_files_filter" options="item for item in vm.files_filter_options" data-multiple="true" scroll-after-rows="5" filter-after-rows="5" ng-change="vm.is_all_files()" ms-header="Select files" tabindex="-1">
- </multiselect></span>
- <span >States<multiselect class="state-filter" ng-model="vm.selected_state_filter" options="item for item in vm.states_select" id="selected-state-filter-dropdown" data-multiple="true" scroll-after-rows="5" filter-after-rows="5" ng-change="vm.update_next_steps_choice()" ms-header="Select states" tabindex="-1">
- </multiselect></span>
- </span>
- </div>
- <ul class="step-indication" ui-sortable="vm.sortableOptions" ng-model="vm.steps" >
- <li class="step" data-ng-repeat="step in sorted_results=( vm.steps | filter:is_match_both_filters()) track by step.uuid" >
- <!-- ng-if="vm.is_match_both_filters(step)" -->
- <div class="step-wrapper row" id="step-{{step.uuid}}" data-ng-class="{'completed': vm.states.completed==step.state && !vm.isEngagementEL, 'confirmed': vm.states.confirmed==step.state}">
- <aside class="next-step-actions" data-ng-show="vm.isEngagementEL || vm.isAdmin">
- <span class="order-nextstep fa fa-bars"></span>
- <span ng-show="step.engagement" class="edit-next-step fa fa-pencil-square-o" ng-click="vm.editStep(step)"></span>
- <span class="moveto-delete fa fa-minus-circle"
- title="Delete"
- data-ng-if="vm.states.confirmed != step.state"
- data-ng-click="vm.deleteStep(step.uuid)" id="delete-{{step.uuid}}"></span>
- </aside>
- <div class="description col-xs-8 col-sm-8 col-md-8">
- <div class="last-action-details">
- <span class="name" id="{{step.last_updater.full_name}}_{{step.last_update_type}}">
- <!--When the nex step is not related to engagement that's means it ssh key next step and we will display 'System Next Step' as tha last updater-->
- {{step.engagement ? (step.last_updater && step.last_updater.full_name || step.creator.full_name) : "System Next Step"}}
- &nbsp;{{step.last_update_type}}:&nbsp;
- </span>
- <span class="time">{{(step.last_update_time) | date2: 'EEEE MMMM doo yyyy'}} at {{(step.last_update_time) | date: 'hh:mm' : timeGapLocal }} {{ampm}} {{mom}}</span>
- </div>
- <div id={{step.uuid}} class="step-state {{step.state | lowercase}} fa" ng-class="{'fa-check-circle': step.state == 'Completed', 'fa-check-circle-o': step.state == 'Incomplete'}" data-ng-click="(step.state==vm.states.incomplete || step.state==vm.states.completed) && vm.toggleCompleted(step.uuid)"></div>
- <div id="step-description-{{$index}}" class="step-text" ng-bind-html="step.description | htmlspecialchars"></div>
- </div>
- <div class="details col-xs-4 col-sm-4 col-md-4">
- <span class="next-step-due-date" ng-if="step['due_date'].length >0"><span class="icon fa fa-clock-o"></span>{{(step['due_date']) | date2: 'EEEE MMMM doo yyyy'}}</span>
- <ul class="next-step-team-mates">
- <li data-ng-repeat="member in step['assignees'] track by member.uuid"
- data-ng-class="{'me': member.uuid == vm.me.uuid}"
- class="fa fa-user-circle-o"
- title="{{member.full_name}} ({{member.email}})">
- </li>
- </ul>
- <span uib-popover-template="'myPopoverTemplate.html'"
- popover-title="Associated Files"
- popover-trigger="outsideClick"
- popover-html='true'
- popover-placement="bottom"
- class="associated-files"
- id="associated-files">Associated Files <span class="fa fa-caret-square-o-down"></span></span>
- <script type="text/ng-template" id="myPopoverTemplate.html">
- <span id="associated-files-empty-msg" ng-if="!step.files || step.files.length === 0">There are no files for this next step</span>
- <ul>
- <li id="file{{$index}}" ng-repeat="file in step.files track by $index">- {{file}}</li>
- </ul>
- </script>
- </div>
- </div>
- </li>
- <h4 ng-show="!sorted_results || sorted_results.length === 0">No next steps matching filtered results.</h4>
- </ul>
- </div>
- <div class="col-md-4 team-and-logs">
- <div id="engagement-target-completion">
- <div id="target-completion-header">
- <span>Target Completion</span>
- <i class="edit-target-completion fa fa-pencil-square-o" ng-show="vm.isEngagementEL || vm.isAdmin" data-ng-click="vm.changeTargetCompletion()" aria-hidden="true"></i>
- </div>
- <div id="target-completion-content">
- <h4 class="target-completion-content">{{vm.completion_date | date:'shortDate'}}</h4>
- </div>
- </div>
- <div id="engagement-status">
- <div id="engagement-status-header">
- <span>Current Status</span>
- <i class="add-engagement-status fa fa-plus-circle" ng-show="vm.isEngagementEL || vm.isAdmin" ng-click="vm.addStatus()" aria-hidden="true"></i>
- </div>
- <div id="engagement-status-content">
- <h4 class="engagement-status-content">
- <i class="edit-engagement-status fa fa-pencil-square-o pull-right" ng-show="(vm.isEngagementEL || vm.isAdmin) && vm.status" ng-click="vm.editStatus()" aria-hidden="true"></i>
- <span id="status-update-details" ng-if="vm.status">
- Last updated {{(vm.status.update_time) | date2: 'EEEE MMMM doo yyyy'}} at {{(vm.status.update_time) | date: 'hh:mm' : timeGapLocal }} {{ampm}} {{mom}}
- by {{vm.status.creator.full_name}}
- </span>
- <p id="status-description">{{vm.status.description == undefined && 'No status update has been provided yet.' || vm.status.description }}</p>
- </h4>
- </div>
- </div>
- <div id="engagement-team">
- <div id="engagement-team-header">
- <span>Team Members</span>
- <i class="add-team-member fa fa-plus-circle" id="team-members-plus-button-id" ng-show="vm.name.length > 0" data-ng-click="vm.addPeople()" aria-hidden="true"></i>
- </div>
- <div class="engagement-team-content">
- <ul class="team-avatars">
- <li id="team-member-{{member.full_name}}"
- data-ng-repeat="member in vm.team track by member.uuid"
- data-ng-class="{'me': member.uuid == vm.me.uuid}"
- uib-popover-template="'myClTeamMembersPopoverTemplate.html'"
- popover-trigger='outsideClick'
- popover-html='true'
- class="team-member-avatar fa fa-user-circle-o"
- popover-placement='bottom'>
- <script type="text/ng-template" id="myClTeamMembersPopoverTemplate.html">
- <span class="row">
- <span id="team-member-title" class="popover-title-name col-md-12">
- {{member.full_name}}
- <span ng-show="member.company && member.company.name" class="popover-title-company"> - {{member.company.name}}</span>
- <span class="popover-role-title ">{{vm.engagement.reviewer_uuid == member.uuid ? 'Reviewer' : ''}}{{vm.engagement.peer_reviewer_uuid == member.uuid ? 'Peer Reviewer' : ''}}</span>
- </span>
- <span class="popover-details">
- <span class="popover-details-topic col-md-4">Email:</span><span id="team-member-email" class="popover-details-detail col-md-8">{{member.email}}</span>
- <span ng-show="member.phone_number" class="popover-details-topic col-md-4">Phone:</span><span id="team-member-phone" class="popover-details-detail col-md-8">{{member.phone_number}}</span>
- </span>
- <span id="remove-member" ng-if="vm.is_able_to_delete(member)" class="remove-user-from-eng" ng-click="vm.remove_user_from_eng(member)">
- <span>Remove</span><span class="remove-icon"></span>
- </span>
- </span>
- </script>
- </li>
- </ul>
- </div>
- </div>
-
- <div class="activity-log">
- <div id="activity-log-header">Activity Log</div>
- <ul class="activity-log-details">
- <li data-ng-repeat="activity in vm.activities track by activity.uuid">
- <notifications id="activity-log-{{$index}}" activity="activity"></notifications>
- </li>
- </ul>
- </div>
- </div>
- </div>
-</div>
diff --git a/d2ice.att.io/app/main/dashboard/overview/overview.less b/d2ice.att.io/app/main/dashboard/overview/overview.less
deleted file mode 100755
index 48f76a47..00000000
--- a/d2ice.att.io/app/main/dashboard/overview/overview.less
+++ /dev/null
@@ -1,575 +0,0 @@
-//
-// ============LICENSE_START==========================================
-// org.onap.vvp/portal
-// ===================================================================
-// Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-// ===================================================================
-//
-// Unless otherwise specified, all software contained herein is licensed
-// under the Apache License, Version 2.0 (the “License”);
-// you may not use this software except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http:www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-//
-//
-// Unless otherwise specified, all documentation contained herein is licensed
-// under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
-// you may not use this documentation except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https:creativecommons.org/licenses/by/4.0/
-//
-// Unless required by applicable law or agreed to in writing, documentation
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// ============LICENSE_END============================================
-//
-// ECOMP is a trademark and service mark of AT&T Intellectual Property.
-.dashboard {
-
- .remove-user-from-eng {
- .x_16_r;
- float: right;
- cursor: pointer;
- .remove-icon {
- .sprite;
- .sprite.red-delete;
- display: inline-block;
- margin-left: 8px;
- position: relative;
- top: 3px;
- }
- }
-
- .popover-title-name {
- .a_18_m;
- }
-
- .popover-title-company {
- .a_18_r;
- }
-
- .popover-role-title {
- .n_16_i;
- }
-
- .popover-details {
- .popover-details-topic {
- .m_16_m;
- }
- .popover-details-detail {
- word-wrap: break-word;
-
- .m_16_r;
- }
- }
-
- .content-container #content .main-wrapper {
- height: 100%;
- overflow-y: auto;
- overflow-x: hidden;
- padding: 10px ;
- }
-
- .no-display-text{
- .a_36_m;
- }
-
- .no-display{
- display: none;
- }
-
- .overview {
- #engagement-title {
- color: @toolbar_background_color;
- }
- .manual-id {
- .m_36_m;
- color: @toolbar_background_color;
- }
-
- .filter-wrapper {
- text-align: right;
- padding:0px;
- span {
- padding: 0px;
- margin-left: 5px;
-
- }
- .form-control-main-view{
- margin-left: 5px;
- display: inline;
- padding: 6px;
- font-size: 14px;
- line-height: 1.42857143;
- color: #555;
- background-color: #fff;
- background-image: none;
- border: 1px solid #ccc;
- border-radius: 4px;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
- transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
- }
- }
-
- .state-filter {
- button {
- padding: 0px 5px 0px 8px;
- margin-bottom: 1px;
- }
-
- span {
- right: 6px !important;
- top: 9px !important;
- }
-
- a {
- font-size: 14px;
- }
- }
-
- .steps-progress-wrapper {
- margin-top: 10px;
- }
-
- h1 {
- display: inline-block;
- .a_36;
- margin: 0 0 30px 0;
- }
-
- h2 {
- display: inline-block;
- margin: 0 0 10px 0;
- .a_24_m;
- position: relative;
- .add-people,
- .add-step {
- display: inline-block;
- margin-left: 8px;
- cursor: pointer;
- position: relative;
- top: 2px;
- }
- }
-
- .main-section {
- margin-top: 30px;
- }
-
- .steps-header {
- background-color: @toolbar_background_color;
- color: @main_color_p;
- padding: 10px 0px 0px 0px;
- margin: 0px 0px 0px -5px;
-
- h2 {
- font-size: 20px;
- color: @main_color_p;
- }
-
- .steps-filter {
- display: inline-block;
- float: right;
- .a_16_m;
- .todo {
- .sprite;
- .sprite.todo;
- display: inline-block;
- cursor: pointer;
- }
- .completed {
- .sprite;
- .sprite.pending;
- display: inline-block;
- cursor: pointer;
- }
- .confirmed {
- .sprite;
- .sprite.approved;
- display: inline-block;
- cursor: pointer;
- }
- }
- }
-
- #engagement-target-completion {
- border: 1px solid @target_completion_color;
- padding:0px;
- margin-bottom: 20px;
-
- #target-completion-header {
- background-color: @target_completion_color;
- .p_18_m;
- padding: 5px 5px 0;
- line-height: 35px;
-
- .edit-target-completion {
- font-size: 21px;
- vertical-align: middle;
- padding-left: 6px;
- cursor:pointer;
- }
- }
-
- .target-completion-content {
- .f-type._16_r;
- margin: 15px;
- }
- }
-
- #engagement-status {
- border: 1px solid @engagement_status_color;
- padding:0px;
- margin-bottom: 20px;
-
- #engagement-status-header {
- background-color: @engagement_status_color;
- .p_18_m;
- padding: 5px 5px 0;
- line-height: 35px;
-
- .add-engagement-status {
- font-size: 21px;
- vertical-align: middle;
- padding-left: 6px;
- cursor:pointer;
- }
- }
-
- .engagement-status-content {
- .f-type._16_r;
- margin: 15px;
-
- #status-update-details {
- display:block;
- .m_12_r;
- }
-
- #status-description {
- margin: 3px 0px 0px 0px;
- .m_16_r;
- }
-
- .edit-engagement-status {
- font-size: 21px;
- padding-left: 6px;
- cursor:pointer;
- color: @main_color_m;
- }
- }
- }
-
- #engagement-team {
- border: 1px solid @engagement_team_color;
- padding:0px;
- margin-bottom: 20px;
-
- #engagement-team-header {
- background-color: @engagement_team_color;
- .p_18_m;
- padding: 5px 5px 0;
- line-height: 35px;
-
- .add-team-member {
- font-size: 21px;
- vertical-align: middle;
- padding-left: 6px;
- cursor:pointer;
- }
- }
-
- .engagement-team-content {
- .f-type._16_r;
- margin: 15px;
-
- ul.team-avatars {
- li.team-member-avatar {
- font-size: 40px;
- cursor:pointer;
- color: @engagement_team_color;
- }
-
- li {
- list-style: none;
- display: inline-block;
- margin-right: 10px;
- }
- }
- }
- }
-
- #star-engagement-action {
- display: inline-block;
- cursor:pointer;
- position: relative;
- bottom: 3px;
- margin-right: 5px;
- }
-
- #star-engagement-action.not_starred{
- .sprite.starred;
- }
-
- #star-engagement-action.is_starred {
- .sprite.starred-selected;
- }
-
- #star-engagement-action.not_starred:hover{
- .sprite.starred-selected;
- }
-
- #star-engagement-action.is_starred:hover {
- .sprite.starred;
- }
-
- .steps {
- padding-bottom: 140px;
- padding-right: 20px;
- padding-left: 20px;
-
- ul {
- li.step {
- border-bottom: dashed 1px @main_color_n;
- .step-wrapper {
- border-left: 2px solid transparent;
- margin: 7px 0px 7px 1px;
- &:hover {
- border-left: 2px solid @main_color_a;
- background-color: #DEF3FF;
-
- .description {
- .step-state {
- &.incomplete {
- color: @main_color_d;
- opacity: 0.7;
- }
- }
- }
- }
- }
- .next-step-actions {
- display:none;
- height: 100%;
- width: 20px;
- position: relative;
- padding-top: 10px;
- float: left;
- left: -18px;
- margin-right: -20px;
-
- > span {
- margin-bottom: 3px;
- cursor: pointer;
- display:block;
- }
- .order-nextstep {
- color: @main_color_o;
- cursor:pointer;
- }
- .edit-next-step {
- cursor:pointer;
- color: @main_color_o;
- }
- .moveto-confirmed {
- .actions-sprite;
- .actions-sprite.approve_large;
-
- }
- .moveto-todo {
- .actions-sprite;
- .actions-sprite.reject_large;
- }
- .moveto-delete {
- cursor:pointer;
- color: @main_color_o;
- }
-
- }
- &:hover {
- .next-step-actions {
- display:block;
- }
- .details {
- .actions {
- span {
- visibility: visible;
- }
- }
- }
- }
-
- div.completed {
- opacity: 0.7;
- }
- div.confirmed {
- opacity: 0.7;
- }
-
- .details {
- text-align: right;
- .next-step-due-date {
- color: @main_color_m;
- font-weight: bold;
-
- .icon {
- display: inline-block;
- margin-right: 5px;
- position: relative;
- }
- }
-
- .associated-files {
- color: @main_color_m;
- font-weight: bold;
- cursor: pointer;
- }
-
- ul.next-step-team-mates {
- li {
- list-style: none;
- display: inline-block;
- font-size: 27px;
- padding-left: 5px;
- color: @engagement_team_color;
-
- &.me {
- color: @main_color_a;
- }
- }
-
- }
-
- }
- list-style: none;
- position: relative;
-
- .description {
- .m_16_r;
-
- padding:5px;
-
- input {
- position: absolute;
- top: 10px;
- left: 0;
- margin-right: 20px;
- }
-
- .step-text {
- margin-left: 35px;
- }
- .last-action-details {
- .m_12_r;
- .name {
- font-weight: bold;
- .m_12_m;
-
- }
- }
- .step-state {
- position: absolute;
- top: 25px;
- font-size: 25px;
-
- &.incomplete {
- color: @main_color_o;
- display: inline-block;
- }
- &.completed {
- color: @main_color_d;
- display: inline-block;
- }
- }
- }
- }
- }
- }
-
- .team-and-logs {
- border-left: dashed 1px @main_color_a;
- padding-left: 20px;
- padding-right: 20px;
-
- .activity-log {
-
- border: 1px solid @engagement_team_color;
- padding:0px;
- margin-bottom: 20px;
-
- #activity-log-header {
- background-color: @engagement_team_color;
- .p_18_m;
- padding: 5px 5px 0;
- line-height: 35px;
- }
- ul.activity-log-details {
- margin:15px;
- li {
- list-style: none;
- position: relative;
- margin: 0 0 10px;
-
- }
- }
- }
-
- }
-
- .admin-actions-dropdown {
- .sprite.admin-dropdown;
- color: @main_color_a;
- font-size: 20px;
- vertical-align: 4px;
- margin-left: 5px;
- cursor: pointer;
- display: inline-block;
- }
- }
-
- .add-next-step-form {
- .ice-wysiwyg {
- height: 200px;
- .wysiwyg-menu > div {
- background-color: #f1f1f1;
- padding: 2px;
- }
- }
- }
-
- .git-repo-url{
- text-align: left;
- .m_16_m;
- }
-
- .storage-bucket-url{
- text-align: left;
- .m_16_m;
- }
-
- .line-separator {
- border-bottom: solid thin;
- margin-top: 5px;
- margin-bottom: 7px;
- align-items: left;
- }
-}
-
-.intl-tel-input {
- width: 100%;
-}
-
-.iti-flag {
- background-image: url(images/flags.png);
-}