b4827603357e3e9aab6fd157745349284a585960
[groupbasedpolicy.git] / groupbasedpolicy-ui / module / src / main / resources / gbp / contract / contract.controller.js
1 define([
2     'app/gbp/contract/contract.service',
3     'app/gbp/contract/contract-list.service',
4 ], function () {
5     'use strict';
6
7     angular.module('app.gbp').controller('ContractController', ContractController);
8
9     ContractController.$inject = ['$mdDialog', '$scope', 'TenantListService', 'TenantService', 'ContractService', 'ContractListService', '$stateParams'];
10
11     function ContractController($mdDialog, $scope, TenantListService, TenantService, ContractService, ContractListService, $stateParams) {
12         $scope.contracts = ContractListService.createList();
13         $scope.openContractDialog = openContractDialog;
14         $scope.contractsTableQuery = {
15             order: 'data.id',
16             limit: 25,
17             page: 1,
18             options: [25, 50, 100],
19             filter: '',
20         };
21         $scope.getContractList = getContractList;
22         $scope.deleteContractDialog = deleteContractDialog;
23
24         getContractList();
25
26         function getContractList() {
27             $scope.contracts.clearData();
28             $scope.contracts.get($scope.rootTenant.data.id);
29         }
30
31         function openContractDialog(contractData) {
32             $mdDialog.show({
33                 clickOutsideToClose: true,
34                 controller: 'AddContractController',
35                 preserveScope: true,
36                 templateUrl: 'src/app/gbp/contract/dialog-add-contract.tpl.html',
37                 parent: angular.element(document.body),
38                 scope: $scope,
39                 locals: {
40                     contract: contractData,
41                 },
42             });
43         }
44
45         function deleteContractDialog(contractData) {
46             var confirm = $mdDialog.confirm()
47                 .title('Delete contract')
48                 .textContent('Do you want to delete contract ' + contractData.data.id + '?')
49                 .ok('Delete')
50                 .cancel('Cancel');
51
52             $mdDialog.show(confirm).then(function () {
53                 contractData.deleteContract($scope.rootTenant.data.id,
54                     function () {
55                         $scope.getContractList();
56                     }
57                 );
58             }, function () {
59
60             });
61         }
62
63         $scope.$on('ROOT_TENANT_CHANGED', getContractList);
64     }
65 });