UNPKG

cobuild-angular-stack

Version:

Base stack angular sass jade gulp

120 lines (111 loc) 3.6 kB
(function (module) { AdminDiscountListController.$inject = ['$scope' , '$state', '$stateParams','$translate', 'toastr', '$uibModal', 'DiscountCategory', 'DiscountCode']; module.controller('AdminDiscountListController', AdminDiscountListController); function AdminDiscountListController($scope, $state, $stateParams, $translate, toastr, $uibModal, DiscountCategory, DiscountCode) { $scope.discountCodes = []; $scope.filterName = ''; $scope.discountCategory = {}; $scope.discountSubcategory = {}; $scope.loader = false; $scope.role = localStorage.role; $scope.getDiscountCode = function() { $scope.loader = true; $scope.discountCodes = []; DiscountCategory.findById({ id: $stateParams.id, filter: { include:{ relation: "discountSubcategories", scope:{ include:"discountCodes" }, where: { id: $stateParams.discountSubCategoryId } } } }).$promise.then(function(discountCategory) { $scope.discountCategory = discountCategory; $scope.discountSubcategory = _.find(discountCategory.discountSubcategories, function(data) { return data.id == $stateParams.discountSubCategoryId; }); $scope.loader = false; $scope.discountCodes = $scope.discountSubcategory.discountCodes ? $scope.discountSubcategory.discountCodes : []; }, function(err) { $scope.loader = false; console.log(err) }).catch(function(err) { $scope.loader = false; console.log(err); }); } $scope.disabled = function(discount) { var discountCodes = $scope.discountCodes; if(discount.status) { swal({ title: 'Desactivar código -' + discount.prefix, text: '¿Está seguro?', type: "info", showCancelButton: true, closeOnConfirm: false, showLoaderOnConfirm: true }, function(data){ if(data) { DiscountCode.disable({id: discount.id}).$promise.then(function(discount) { $scope.getDiscountCode(); swal("Código desactivado!"); }, function(err) { console.log(err); $scope.getDiscountCode(); swal("Error", err.data.error.message, "error"); }); } }); } }; $scope.reports = function() { var modalInstance = $uibModal.open({ animation: true, templateUrl: 'partials/admin.discount.reports.html', controller: 'AdminDiscountReportsController' }); modalInstance.result.then(function() { }, $scope.error).catch($scope.error) } $scope.add = function() { var modalInstance = $uibModal.open({ animation: true, templateUrl: 'partials/admin.discount.subcategories.add.html', controller: 'AdminDiscountSubCategoriesAddController', resolve: { discountCategory: $scope.discountCategory } }); modalInstance.result.then(function() { $scope.getDiscountCode(); }, $scope.error).catch($scope.error) } $scope.addCodes = function() { var modalInstance = $uibModal.open({ animation: true, templateUrl: 'partials/admin.discount.code.add.html', controller: 'AdminDiscountCodeAddController', resolve: { discountSubCategory: $scope.discountSubcategory, discountCategory: $scope.discountCategory } }); modalInstance.result.then(function() { $scope.getDiscountCode(); }, $scope.error).catch($scope.error) } $scope.error = function(err) { if(err == 'cancel') return false; toastr.error(err); } $scope.formatDate = function(date) { return moment(date).format("DD-MM-YYYY") } $scope.getDiscountCode(); } })(angular.module('uniko.admin.discount'));