'use strict';
angular.module('yardStickGui2App')
.controller('ProjectController', ['$scope', '$state', '$stateParams', 'mainFactory', 'Upload', 'toaster', 'ngDialog', '$loading',
function($scope, $state, $stateParams, mainFactory, Upload, toaster, ngDialog, $loading) {
init();
function init() {
getProjectList();
$scope.openCreateProject = openCreateProject;
$scope.createName = createName;
$scope.gotoDetail = gotoDetail;
}
function getProjectList() {
$loading.start('key');
mainFactory.projectList().get({}).$promise.then(function(response) {
$loading.finish('key');
if (response.status == 1) {
$scope.projectListData = response.result.projects;
} else {
}
}, function(error) {
$loading.finish('key');
toaster.pop({
type: 'error',
title: 'fail',
body: 'unknow error',
timeout: 3000
});
})
}
function openCreateProject() {
ngDialog.open({
template: 'views/modal/projectCreate.html',
scope: $scope,
className: 'ngdialog-theme-default',
width: 400,
showClose: true,
closeByDocument: false
})
}
function createName(name) {
mainFactory.createProjectName().post({
'action': 'create_project',
'args': {
'name': name,
}
}).$promise.then(function(response) {
if (response.status == 1) {
toaster.pop({
type: 'success',
title: 'create project success',
body: 'you can go next step',
timeout: 3000
});
ngDialog.close();
getProjectList();
} else {
toaster.pop({
type: 'error',
title: 'failed',
body: 'create project failed',
timeout: 3000
});
}
}, function(error) {
toaster.pop({
type: 'error',
title: 'failed',
body: 'Something Wrong',
timeout: 3000
});
})
}
function gotoDetail(id) {
$state.go('app.projectdetail', { projectId: id })
}
$scope.openDeleteEnv = function openDeleteEnv(id, name) {
$scope.deleteName = name;
$scope.deleteId = id;
ngDialog.open({
template: 'views/modal/deleteConfirm.html',
scope: $scope,
className: 'ngdialog-theme-default',
width: 500,
showClose: true,
closeByDocument: false
})
}
$scope.deleteProject = function deleteProject() {
mainFactory.deleteProject().delete({ 'project_id': $scope.deleteId }).$promise.then(function(response) {
if (response.status == 1) {
toaster.pop({
type: 'success',
title: 'delete Project success',
body: 'you can go next step',
timeout: 3000
});
ngDialog.close();
getProjectList();
} else {
toaster.pop({
type: 'error',
title: 'Wrong',
body: response.result,
timeout: 3000
});
}
}, function(error) {
toaster.pop({
type: 'error',
title: 'fail',
body: 'unknow error',
timeout: 3000
});
})
}
}
]);