cobuild-angular-stack
Version:
Base stack angular sass jade gulp
120 lines (111 loc) • 3.6 kB
JavaScript
(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'));