zettapi_client
Version:
Client side CRUD operations in angular to use with zettapi_server rest api to get started quickly in any CMS project
74 lines (56 loc) • 2.01 kB
JavaScript
//manage tasks Controller
app.controller('taskCtrl', function ($scope, $date, ErrorSvc, $task, mySocket, blockUI) {
$scope.taskTypes = [];
$scope.getError = function (task, tasks) {
if (!task) {
return ErrorSvc.validationArgs(true);
}
if (!task.name) {
return ErrorSvc.validationArgs(true, "Indique um nome para a tarefa");
}
if (task.name.trim() === "") {
return ErrorSvc.validationArgs(true, "Indique um nome para a tarefa");
}
if (!task.type) {
return ErrorSvc.validationArgs(true, "Escolha um tipo de tarefa");
}
if (!task.criteria) {
return ErrorSvc.validationArgs(true, "Complete o critério de periodicidade");
}
if (!task.criteria.month) {
return ErrorSvc.validationArgs(true, "Complete o critério de periodicidade");
}
if (!task.criteria.monthday) {
return ErrorSvc.validationArgs(true, "Complete o critério de periodicidade");
}
if (!task.criteria.weekday) {
return ErrorSvc.validationArgs(true, "Complete o critério de periodicidade");
}
if (!task.criteria.hour) {
return ErrorSvc.validationArgs(true, "Complete o critério de periodicidade");
}
if (!task.criteria.minute) {
return ErrorSvc.validationArgs(true, "Complete o critério de periodicidade");
}
return ErrorSvc.validationArgs(false);
};
$scope.formatDatetime = $date.formatDatetime;
$scope.calculateTimespan = $date.calculateTimespan;
$scope.toggleState = $task.toggleState;
$scope.run = function (task) {
$task.run(task)
.then(function (response) {
blockUI.start('A executar...');
})
.catch(function (response) {
swal('Ocorreu um erro ao iniciar a tarefa manualmente.', response.data, 'error');
});
};
mySocket.on($scope.login._id, function(data) {
swal('Tarefa executada com sucesso.', null, 'success');
blockUI.stop();
});
$task.getTypes(function (types) {
$scope.taskTypes = types;
});
});