zettapi_client
Version:
Admin panel and client-side CRUD operations in angular to use with zettapi_server rest api to get started quickly in any CMS project.
43 lines (37 loc) • 1.39 kB
JavaScript
app.directive('zlSignup', function () {
return {
restrict: 'E',
scope: {
item: '=',
zlClass: '@?',
onComplete: '&'
},
replace: false,
templateUrl: 'directives/auth/signup/signup.html',
controller: function ($scope, $entity, $uibModalStack, blockUI, zapi) {
if (typeof $scope.zlClass === 'undefined') $scope.zlClass = "form-control";
$scope.useInputLarge = zapi.useInputLarge;
$scope.signup = function (item) {
if ($scope.validateSignup(item)) return;
blockUI.start("A reservar conta...");
$entity.add('user', item, $scope).then(function (response) {
swal("Está quase!", "Consulte o seu email para ativar a conta de utilizador", "success");
if ($scope.onComplete && typeof $scope.onComplete() === 'function') return $scope.onComplete()();
$uibModalStack.dismissAll();
}).catch(function (response) {
swal("Erro", response.data, "error");
}).finally(function () {
blockUI.stop();
});
};
$scope.validateSignup = function (item) {
if (!item) return true;
if (!item.username) return true;
var validUsername = new RegExp('^[a-zA-Z0-9.\-_$@*!]{3,30}$');
if (!validUsername.test(item.username)) return true;
if (!item.email) return true;
return false;
};
}
};
});