diff options
Diffstat (limited to 'd2ice.att.io/app/main/dashboard')
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">×</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> {{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}} - {{step.last_update_type}}: - </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> {{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> {{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"}} - {{step.last_update_type}}: - </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); -} |