summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/sdk-app/src/main/webapp/app/fusion/scripts/controllers/workflows/workflowController.js
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/sdk-app/src/main/webapp/app/fusion/scripts/controllers/workflows/workflowController.js')
-rw-r--r--ecomp-sdk/sdk-app/src/main/webapp/app/fusion/scripts/controllers/workflows/workflowController.js509
1 files changed, 0 insertions, 509 deletions
diff --git a/ecomp-sdk/sdk-app/src/main/webapp/app/fusion/scripts/controllers/workflows/workflowController.js b/ecomp-sdk/sdk-app/src/main/webapp/app/fusion/scripts/controllers/workflows/workflowController.js
deleted file mode 100644
index 169a8868..00000000
--- a/ecomp-sdk/sdk-app/src/main/webapp/app/fusion/scripts/controllers/workflows/workflowController.js
+++ /dev/null
@@ -1,509 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file 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.
- * ================================================================================
- */
-app.controller('workflowsController', function($scope, $http, $uibModal, $log, modalService, $modal) {
-
- $scope.viewPerPage = 5;
- $scope.scrollViewsPerPage = 20;
- $scope.currentPage = 2;
- $scope.totalPage;
- $scope.searchCategory = "";
- $scope.searchString = "";
- $scope.radio = {
- value: ""
- };
-
-
- $scope.showModal = false;
- $scope.toggleModal = function(){
- $scope.showModal = !$scope.showModal;
- };
-
- $scope.workflow = {};
- $scope.workflow.active = "true";
-
- $scope.updateAllWorkflowStatus = function() {
- angular.forEach($scope.workflows,function(value){
- $scope.checkWorkflowStatus(value);
- })
- }
-
- $scope.fetchWorkflowsList = function() {
- $http.get('workflows/list').then(function(workflowList){
- console.log('Got new list from server = ' + workflowList.data);
- $scope.workflows = workflowList.data;
- $scope.updateAllWorkflowStatus();
- });
- };
-
- $scope.addNewWorkflow = function(newWorkflow) {
- $http.post('workflows/addWorkflow/', JSON.stringify(newWorkflow)).success(function() {
- $scope.fetchWorkflowsList();
- });
-
- $scope.workflow.name = '';
-
- };
-
- $scope.updateWorkflow = function (workflowToEdit) {
- //workflowToEdit.active='true';
- var modalInstance = $uibModal.open({
- animation: $scope.animationsEnabled,
- templateUrl: 'app/fusion/scripts/view-models/workflows/workflow-new.html',
- //size : modalSize,
- controller: ['$scope', '$uibModalInstance', '$http', function ($scope, $uibModalInstance, $http) {
- $scope.workflow = workflowToEdit;
- $scope.ok = function() {
- console.log('Updating existing workflow ... ' + JSON.stringify($scope.workflow));
- $http.post('workflows/editWorkflow/', JSON.stringify($scope.workflow)).then(function(returnedWorkflow){
- console.log('Returned Workflow = ' + JSON.stringify(returnedWorkflow));
- $uibModalInstance.close($scope.workflow);
- });
- };
-
- $scope.cancel = function() {
- $uibModalInstance.dismiss();
- };
- }],
- //End of inner controller
- resolve: {
- workflow: function() {
- console.log('Passing ' + JSON.stringify($scope.workflow));
- return $scope.workflow;
- }
- }
- });
-
- modalInstance.result.then(function (editedWorkFlow) {
- //Need to convert to proper date - later
- delete editedWorkFlow.created;
- delete editedWorkFlow.updated;
-
- delete editedWorkFlow.createdBy;
- delete editedWorkFlow.modifiedBy;
-
- console.log('selected Item ' + JSON.stringify(editedWorkFlow));
- $scope.$emit('workflowAdded', editedWorkFlow);
-
- }, function () {
- $log.info('Modal dismissed at: ' + new Date());
- });
- };
-
- $scope.reset = function(){
- console.log("Resetting ....");
- };
-
- $scope.update = function(){
- console.log("updating ....");
- };
-
- $scope.createWorkflow = function (modalSize) {
-
- var modalInstance = $uibModal.open({
- animation: $scope.animationsEnabled,
- templateUrl: 'app/fusion/scripts/view-models/workflows/workflow-new.html',
- size : modalSize,
- controller: ['$scope', '$uibModalInstance', '$http', function ($scope, $uibModalInstance, $http) {
- $scope.workflow = {};
- $scope.workflow.active = 'true';
- $scope.ok = function() {
- console.log('Saving new workflow ... ' + JSON.stringify($scope.workflow));
- $http.post('workflows/addWorkflow/', JSON.stringify($scope.workflow)).then(function(returnedWorkflow){
- console.log('Returned Workflow = ' + JSON.stringify(returnedWorkflow));
- $uibModalInstance.close($scope.workflow);
- });
- };
-/* console.log(size);*/
- $scope.cancel = function() {
- $uibModalInstance.dismiss();
- };
- }],
- //End of inner controller
- resolve: {
- workflow: function() {
- console.log('Passing ' + JSON.stringify($scope.workflow));
- return $scope.workflow;
- }
- }
- });
-
- modalInstance.result.then(function (newWorkflow) {
- console.log('selected Item ' + JSON.stringify(newWorkflow));
- $scope.$emit('workflowAdded', newWorkflow);
-
- }, function () {
- $log.info('Modal dismissed at: ' + new Date());
- });
- };//End of createWorkflow function
-
-
- $scope.removeWorkflow = function(workflowToRemove){
- var modalInstance = $uibModal.open({
- animation: $scope.animationsEnabled,
- templateUrl: 'app/fusion/scripts/view-models/workflows/workflow-remove.html',
- controller: ['$scope', '$uibModalInstance', '$http', function ($scope, $uibModalInstance, $http) {
- $scope.workflowToRemove = workflowToRemove;
- $scope.ok = function() {
- console.log('Removing workflow ... ' + JSON.stringify($scope.workflowToRemove) + ' on client request.');
- $http.post('workflows/removeWorkflow/', JSON.stringify($scope.workflowToRemove.id)).then(function(){
- console.log('Workflow successfully removed !!!');
- $uibModalInstance.close();
- });
- };
-
- $scope.cancel = function() {
- $uibModalInstance.dismiss();
- };
- }]
- });
-
- modalInstance.result.then(function () {
- $scope.$emit('workflowRemoved');
- }, function () {
- $log.info('Modal dismissed at: ' + new Date());
- });
-
- };
-
-
-
- $scope.scheduleWorkflow = function(workflowToSchedule){
- var modalInstance = $uibModal.open({
- animation: $scope.animationsEnabled,
- templateUrl: 'app/fusion/scripts/view-models/workflows/workflow-schedule.html',
- size:'lg',
-
- controller: ['$scope', '$uibModalInstance', '$http','dateFilter', function ($scope, $uibModalInstance, $http,dateFilter) {
-
- $scope.workflowToSchedule = workflowToSchedule;
- $scope.dt = new Date();
- $scope.dt2 = new Date();
- $scope.dateformat = 'MM/dd/yyyy',
- $scope.datetimeformat = "hh:mm a";
-
- $scope.recurrenceOptions =[{
- index:0, value:'One-Time', title:'One-Time'
- },{
- index:1, value: 'Hourly',title:'Hourly'
- },{
- index:2, value: 'Daily',title:'Daily'
- },{
- index:3, value: 'Weekly',title:'Weekly'
- }]
- $scope.selectRecurrenceOpt = $scope.recurrenceOptions[0];
-
- $scope.hours = [];
- for (var i=0; i<24; i++){
- var newObj={}
- newObj.index = i;
- newObj.value = ""+i;
- newObj.title = ""+i;
- $scope.hours.push(newObj);
- }
-
- $scope.minutes = [];
- for (var i=0; i<60; i++){
- var newObj={}
- newObj.index = i;
- newObj.value = ""+i;
- newObj.title = ""+i;
- $scope.minutes.push(newObj);
- }
-
- $scope.AMPMOptions =[
- {
- index:0, value:'AM', title:'AM'
- },{
- index:1, value: 'PM',title:'PM'
- }]
-
- $scope.selectFirstHour =$scope.hours[0];
- $scope.selectFirstMinute =$scope.minutes[0];
-
- $scope.selectLastHour =$scope.hours[0];
- $scope.selectLastMinute =$scope.minutes[0];
-
- $scope.selectStartAMPMOption=$scope.AMPMOptions[0];
- $scope.selectLastAMPMOption=$scope.AMPMOptions[0];
-
- var GenerateCronExpression = function(trigger_dt, RecurrenceOpt) {
- var CRON_sec = trigger_dt.getSeconds();
- var CRON_min = trigger_dt.getMinutes();
- var CRON_hr = trigger_dt.getHours();
- var CRON_date= trigger_dt.getDate();
- var CRON_month = trigger_dt.toLocaleString('en-US', {month: 'short'}).toUpperCase();
- var CRON_day = trigger_dt.toLocaleString('en-US', {weekday: 'short'}).toUpperCase();
- var CRON_year = trigger_dt.getFullYear();
- if (RecurrenceOpt ==="One-Time") {
- CRON_day = '?'
- } else {
- if (RecurrenceOpt ==="Hourly") {
- CRON_hr = '*';
- CRON_date = '*'
- CRON_month = '*'
- CRON_day = '?'
- CRON_year = '*'
- } else if (RecurrenceOpt ==="Daily") {
- CRON_date = '*'
- CRON_month = '*'
- CRON_day = '?'
- CRON_year = '*'
- } else if (RecurrenceOpt ==="Weekly") {
- CRON_date = '*'
- CRON_month = '*'
- CRON_year = '*'
- }
- }
-
- var CRON_Expression = [CRON_sec, CRON_min, CRON_hr, CRON_date, CRON_month, CRON_day, CRON_year];
- return CRON_Expression.join(" ");
- }
-
- $scope.ok = function() {
-
- // DateTime for the start time: it should be noted that the start time
- // for a CRON job should be prior to the trigger time.
- $scope.trigger_dt = new Date( $scope.dt.getFullYear() +
- "-" + ("0"+($scope.dt.getMonth()+1)).slice(-2) +
- "-" +("0"+ $scope.dt.getDate()).slice(-2) +
- " " + ("0" + $scope.selectFirstHour.value).slice(-2) +
- ":" +("0" + $scope.selectFirstMinute.value).slice(-2) +
- ":00.0");
-
- $scope.startDateTime_CRON = GenerateCronExpression($scope.trigger_dt, $scope.selectRecurrenceOpt.value)
-
- //roll back the the start date time by 30 seconds (start time should be 30 seconds prior to trigger time)
- dt_st = new Date($scope.trigger_dt - 30*1000)
-
- startDateTime = dt_st.getFullYear() +
- "-" + ("0"+(dt_st.getMonth()+1)).slice(-2) +
- "-" +("0"+ dt_st.getDate()).slice(-2) +
- " " + ("0" + dt_st.getHours()).slice(-2) +
- ":" +("0" + dt_st.getMinutes()).slice(-2) +
- ":" + ("0" + dt_st.getSeconds()).slice(-2) +".0";
- $scope.startDateTime = startDateTime;
-
- $scope.endDateTime = $scope.dt2.getFullYear() +
- "-" + ("0"+($scope.dt2.getMonth()+1)).slice(-2) +
- "-" +("0"+ $scope.dt2.getDate()).slice(-2) +
- " " + ("0"+ $scope.selectLastHour.value).slice(-2) +
- ":" +("0" + $scope.selectLastMinute.value).slice(-2) +
- ":00.0"
-
- $scope.WorkflowScheduleObject = {};
- $scope.WorkflowScheduleObject['startDateTime_CRON'] = $scope.startDateTime_CRON;
- $scope.WorkflowScheduleObject['startDateTime'] = $scope.startDateTime;
- $scope.WorkflowScheduleObject['endDateTime'] = $scope.endDateTime;
- $scope.WorkflowScheduleObject['workflowKey'] = $scope.workflowToSchedule.workflowKey;
- $scope.WorkflowScheduleObject['recurrence'] = $scope.selectRecurrenceOpt.value;
- $scope.WorkflowScheduleObject['workflow_arguments'] = "test";
- $scope.WorkflowScheduleObject['workflow_server_url'] = $scope.workflowToSchedule.runLink;
-
-
- TimeFromNowToStart = new Date($scope.startDateTime)-new Date()
- TimeStartToEnd = new Date($scope.endDateTime)-new Date($scope.startDateTime)
-
- if (TimeFromNowToStart<=0) {
- console.log("invalid start time input")
- alert("Please ensure the scheduled start date time is later than current time.")
- return;
- }
- if (TimeStartToEnd<=0) {
- console.log("invalid end time input")
- alert("Please ensure the schduled end date time is later than the start time.")
- return;
- }
- // if successful then save and close
- $scope.saveCronJob($scope.WorkflowScheduleObject);
- $uibModalInstance.close();
-
- };
-
- $scope.saveCronJob = function(cronJobData){
-
- console.log('saving cron job data: ' + cronJobData);
- var uuu = "workflows/saveCronJob.htm";
- var postData={cronJobDataObj: cronJobData};
- $.ajax({
- type : 'POST',
- url : uuu,
- //dataType: 'json', // data type expected from server
- contentType: 'application/json',
- data: JSON.stringify(postData), // data type sent to server
- success : function(data){
- $scope.$apply(function(){
- //$scope.availableRoleFunctions=[];$scope.$apply();
- // new // $scope.availableFnMenuItems=data.availableFnMenuItems;
- }
- );
- //alert("Update Successful.") ;
- //$scope.editRoleFunction = null;
- // new /// $modalInstance.close({availableFnMenuItems:$scope.availableRoleFunctions});
- },
- error : function(data){
- alert("Error while saving.");
- }
- });
-
- };
-
- $scope.cancel = function() {
- console.log("cancel triggered")
- $uibModalInstance.dismiss();
- };
- }]
- });
-
- modalInstance.result.then(function () {
- $scope.$emit('workflowRemoved');
- }, function () {
- $log.info('Modal dismissed at: ' + new Date());
- });
-
- };
-
-
-
-
-
-
-
-
- $scope.previewWorkflow = function(workflowToPreview,modalSize){
- var modalInstance = $uibModal.open({
- animation: $scope.animationsEnabled,
- templateUrl: 'app/fusion/scripts/view-models/workflows/workflow-preview.html',
- size:modalSize,
- controller: ['$scope', '$uibModalInstance', '$http', function ($scope, $uibModalInstance, $http) {
- $scope.workflowToPreview = workflowToPreview;
- console.log('previewWorkFlow invoked');
- console.log($scope.workflowToPreview);
-
- $scope.cancel = function() {
- $uibModalInstance.dismiss();
- };
- }]
- });
-
- modalInstance.result.then(function () {
- $scope.$emit('workflowRemoved');
- }, function () {
- $log.info('Modal dismissed at: ' + new Date());
- });
-
- };
-
-
- /* change work flow status based on the boolean variable "suspendBool" which corresponds whether
- * we would like to suspend or activate a workflow specified by key. */
- $scope.changeWorkflowStatus = function(workflowToChangeStatus,suspendBool){
- if (workflowToChangeStatus!==null) {
- var statusUrl= workflowToChangeStatus.runLink+"/engine-rest/process-definition/key/"+workflowToChangeStatus.workflowKey
- var suspendedUrl= statusUrl+"/suspended"
- var xmlHttp = new XMLHttpRequest();
- xmlHttp.open('PUT', suspendedUrl, false);
- xmlHttp.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
- xmlHttp.onload = function() {
- if (suspendBool) {
- console.log("process definition is now suspended");
- workflowToChangeStatus.active="false"
- } else {
- console.log("process definition is now activated");
- workflowToChangeStatus.active="true"
- }
- };
- xmlHttp.send(JSON.stringify({
- "suspended" : suspendBool,
- "includeProcessInstances" : true,
- "executionDate" : "2013-11-21T10:49:45"
- }));
- }
-
- };
-
- $scope.activateWorkflow = function(workflowToActivate){
- $scope.changeWorkflowStatus(workflowToActivate,false)
-
- };
-
- $scope.suspendWorkflow = function(workflowToActivate){
- $scope.changeWorkflowStatus(workflowToActivate,true)
- };
-
- $scope.checkWorkflowStatus = function(workflow) {
- if (workflow!==null) {
- var statusUrl= workflow.runLink+"/engine-rest/process-definition/key/"+workflow.workflowKey
- var xmlHttp3 = new XMLHttpRequest();
- xmlHttp3.open('GET', statusUrl, true);
- xmlHttp3.withCredentials = true;
- xmlHttp3.send();
- xmlHttp3.onreadystatechange = function() {
- if (xmlHttp3.readyState == 4 && xmlHttp3.status == 200) {
- // do something with the response in the variable data
- var temp = JSON.parse(xmlHttp3.responseText)
- if (temp.suspended == false){
- console.log("Activated")
- workflow.active="true"
- } else {
- console.log("Suspended")
- workflow.active="false"
- }
- }
- }
- }
- };
-
- $scope.StartWorkflowInstance = function(workflowToStart){
- if (workflowToStart!==null) {
- var statusUrl= workflowToStart.runLink+"/engine-rest/process-definition/key/"+workflowToStart.workflowKey
- var suspendedUrl= statusUrl+"/submit-form"
- var xmlHttp = new XMLHttpRequest();
- xmlHttp.open('POST', suspendedUrl, false);
- xmlHttp.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
- xmlHttp.onload = function() {
- };
- xmlHttp.send(JSON.stringify({
- "variables": {
- "customerId": {"value":"asdasda","type":"String"},
- "amount":{"value":"100","type":"String"}
- }
- }));
- }
-
- };
-
-
- $scope.$on('workflowAdded', function(event, newWorkflow) {
- console.log("New Workflow to be added in list scope " + JSON.stringify(newWorkflow));
- //$scope.workflows.push(newWorkflow);
- $scope.fetchWorkflowsList();
- console.log('newly added workflow = ' + JSON.stringify(newWorkflow));
- });
-
- $scope.$on('workflowRemoved', function(event) {
- $scope.fetchWorkflowsList();
- });
-
- $scope.fetchWorkflowsList();
-
-
-
-});
-