cobuild-angular-stack
Version:
Base stack angular sass jade gulp
116 lines (103 loc) • 4.65 kB
JavaScript
(function (module) {
'use strict';
module.controller('AdminSettingsController', SettingsController);
SettingsController.$inject = ['$rootScope', '$scope', 'Utils', 'UtilData', 'AdminAccount', 'toastr', '$uibModal', 'lodash'];
function SettingsController($rootScope, $scope, Utils, UtilData, AdminAccount, toastr, $uibModal, lodash) {
$scope.payPrice = [];
$scope.comissions = {};
$scope.crons = [];
$scope.is2FA = {};
$scope.refresh = function () {
Utils
.listAll()
.then(function (response) {
var list = response.data;
$scope.payPrice = lodash.filter(list, {type: 'payPrice'});
$scope.comissions = lodash.find(list, {name: 'comission_data'});
$scope.crons = lodash.filter(list, {type: 'cron'});
$scope.is2FA = lodash.filter(list, {name: 'is2FA'});
$scope.isExperiences = lodash.filter(list, {name: 'isExperiences'});
});
};
$scope.changePassword = function() {
var id = localStorage["$co.uniko$currentUserId"];
if($.trim($scope.password).length == 0) {
return toastr.error('Falta la contraseña');
}
AdminAccount.changedPassword({
password: $scope.password,
}, function(save) {
toastr.success('La contraseña fue actualizada correctamente');
}, function() {
toastr.error('La contraseña no actualizó');
});
};
$scope.updatePayPrices = function () {
var pending = $scope.payPrice.length;
var success = function () {
pending--;
if (pending === 0) {
toastr.success('Los datos se han almacenado correctamente');
}
};
lodash.forEach($scope.payPrice, function (price) {
UtilData.prototype$updateAttributes({id: price.id}, {'value.value': price.value.value, 'value.description': price.value.description}, success, function () {
toastr.error('Los datos no han podido ser almacenados correctamente');
});
});
$rootScope.$emit('reloadUtils');
};
$scope.updateCrons = function () {
var pending = $scope.crons.length;
var success = function () {
pending--;
if (pending === 0) {
toastr.success('Los datos se han almacenado correctamente');
}
};
lodash.forEach($scope.crons, function (cron) {
UtilData.prototype$updateAttributes({id: cron.id}, {'value.time': cron.value.time}, success, function () {
toastr.error('Los datos no han podido ser almacenados correctamente');
});
});
$rootScope.$emit('reloadUtils');
};
$scope.updateCommissions = function () {
UtilData.prototype$updateAttributes(
{id: $scope.comissions.id},
{'value': $scope.comissions.value},
function () {
toastr.success('Los datos se han almacenado correctamente');
},
function () {
toastr.error('Los datos no han podido ser almacenados correctamente');
});
$rootScope.$emit('reloadUtils');
};
$scope.update2FA = function () {
UtilData.prototype$updateAttributes(
{id: $scope.is2FA[0].id},
{'value': $scope.is2FA[0].value},
function () {
toastr.success('Los datos se han almacenado correctamente');
},
function () {
toastr.error('Los datos no han podido ser almacenados correctamente');
});
$rootScope.$emit('reloadUtils');
};
$scope.updateDiscount= function () {
UtilData.prototype$updateAttributes(
{id: $scope.discountPrice.id},
{'value': $scope.discountPrice.value},
function () {
toastr.success('Los datos se han almacenado correctamente');
},
function () {
toastr.error('Los datos no han podido ser almacenados correctamente');
});
$rootScope.$emit('reloadUtils');
};
$scope.refresh();
}
})(angular.module('uniko.admin.settings'));