Merge "Remove redundancy file and do relative modification"
[yardstick.git] / gui / app / scripts / controllers / project.controller.js
1 'use strict';
2
3 angular.module('yardStickGui2App')
4     .controller('ProjectController', ['$scope', '$state', '$stateParams', 'mainFactory', 'Upload', 'toaster', 'ngDialog', '$loading',
5         function($scope, $state, $stateParams, mainFactory, Upload, toaster, ngDialog, $loading) {
6
7
8             init();
9
10
11             function init() {
12
13
14                 getProjectList();
15                 $scope.openCreateProject = openCreateProject;
16                 $scope.createName = createName;
17                 $scope.gotoDetail = gotoDetail;
18
19
20             }
21
22             function getProjectList() {
23                 $loading.start('key');
24                 mainFactory.projectList().get({}).$promise.then(function(response) {
25                     $loading.finish('key');
26                     if (response.status == 1) {
27                         $scope.projectListData = response.result.projects;
28
29
30                     } else {
31
32                     }
33                 }, function(error) {
34                     $loading.finish('key');
35                     toaster.pop({
36                         type: 'error',
37                         title: 'fail',
38                         body: 'unknow error',
39                         timeout: 3000
40                     });
41
42                 })
43             }
44
45             function openCreateProject() {
46
47                 ngDialog.open({
48                     template: 'views/modal/projectCreate.html',
49                     scope: $scope,
50                     className: 'ngdialog-theme-default',
51                     width: 400,
52                     showClose: true,
53                     closeByDocument: false
54                 })
55             }
56
57             function createName(name) {
58
59                 mainFactory.createProjectName().post({
60                     'action': 'create_project',
61                     'args': {
62                         'name': name,
63                     }
64                 }).$promise.then(function(response) {
65                     if (response.status == 1) {
66                         toaster.pop({
67                             type: 'success',
68                             title: 'create project success',
69                             body: 'you can go next step',
70                             timeout: 3000
71                         });
72                         ngDialog.close();
73                         getProjectList();
74                     } else {
75                         toaster.pop({
76                             type: 'error',
77                             title: 'failed',
78                             body: 'create project failed',
79                             timeout: 3000
80                         });
81                     }
82
83                 }, function(error) {
84                     toaster.pop({
85                         type: 'error',
86                         title: 'failed',
87                         body: 'Something Wrong',
88                         timeout: 3000
89                     });
90                 })
91             }
92
93             function gotoDetail(id) {
94                 $state.go('app.projectdetail', { projectId: id })
95             }
96
97
98             $scope.openDeleteEnv = function openDeleteEnv(id, name) {
99                 $scope.deleteName = name;
100                 $scope.deleteId = id;
101                 ngDialog.open({
102                     template: 'views/modal/deleteConfirm.html',
103                     scope: $scope,
104                     className: 'ngdialog-theme-default',
105                     width: 500,
106                     showClose: true,
107                     closeByDocument: false
108                 })
109
110             }
111
112             $scope.deleteProject = function deleteProject() {
113                 mainFactory.deleteProject().delete({ 'project_id': $scope.deleteId }).$promise.then(function(response) {
114                     if (response.status == 1) {
115                         toaster.pop({
116                             type: 'success',
117                             title: 'delete Project success',
118                             body: 'you can go next step',
119                             timeout: 3000
120                         });
121                         ngDialog.close();
122                         getProjectList();
123                     } else {
124                         toaster.pop({
125                             type: 'error',
126                             title: 'Wrong',
127                             body: response.result,
128                             timeout: 3000
129                         });
130                     }
131
132                 }, function(error) {
133                     toaster.pop({
134                         type: 'error',
135                         title: 'fail',
136                         body: 'unknow error',
137                         timeout: 3000
138                     });
139
140                 })
141             }
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159         }
160     ]);