Skip to content

Commit

Permalink
- Cadastro e edição de curso e evento
Browse files Browse the repository at this point in the history
  • Loading branch information
FannyVieira authored and FannyVieira committed Sep 29, 2016
1 parent b8fea1d commit 33a562f
Show file tree
Hide file tree
Showing 11 changed files with 280 additions and 146 deletions.
3 changes: 3 additions & 0 deletions nutrif-web-refactor/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,9 @@
<script type="text/javascript" src="js/controllers/editarFuncionarioCtrl.js"></script>
<script type="text/javascript" src="js/controllers/cadastrarEditalCtrl.js"></script>
<script type="text/javascript" src="js/controllers/estatisticasCtrl.js"></script>
<script type="text/javascript" src="js/controllers/cadastrarEventoCtrl.js"></script>
<script type="text/javascript" src="js/controllers/editarCursoCtrl.js"></script>
<script type="text/javascript" src="js/controllers/editarEventoCtrl.js"></script>
<script type="text/javascript" src="js/controllers/webcamCtrl.js"></script>
<script type="text/javascript" src="js/controllers/cadastrarRefeicaoCtrl.js"></script>
<script type="text/javascript" src="js/controllers/listarRefeicaoCtrl.js"></script>
Expand Down
22 changes: 20 additions & 2 deletions nutrif-web-refactor/js/config/routesConfig.js
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,15 @@ angular.module('NutrifApp').config(function ($stateProvider, $urlRouterProvider)
module: 'admin'
})

.state('home.editar-curso', {
url: '/editar/curso/:id',
title: 'Editar Curso',
templateUrl: 'view/manager/admin/editar-curso.html',
controller: 'editarCursoCtrl',
controllerAs: 'editar',
module: 'admin'
})

/* Evento */

.state('home.listar-eventos', {
Expand All @@ -184,11 +193,20 @@ angular.module('NutrifApp').config(function ($stateProvider, $urlRouterProvider)
url: '/adicionar/evento',
title: 'Adicionar Evento',
templateUrl: 'view/manager/admin/adicionar-evento.html',
controller: 'cadstrarEventoCtrl',
controller: 'cadastrarEventoCtrl',
controllerAs: 'cadastrarEvento',
module: 'admin'
})

.state('home.editar-evento', {
url: '/editar/evento/:id',
title: 'Editar Evento',
templateUrl: 'view/manager/admin/editar-evento.html',
controller: 'editarEventoCtrl',
controllerAs: 'editar',
module: 'admin'
})


/* Pretensão */
.state('pretensao', {
Expand Down Expand Up @@ -225,4 +243,4 @@ angular.module('NutrifApp').config(function ($stateProvider, $urlRouterProvider)
controllerAs: 'listarRefeicao',
module: 'admin'
});
});
});
250 changes: 125 additions & 125 deletions nutrif-web-refactor/js/controllers/cadastrarEditalCtrl.js
Original file line number Diff line number Diff line change
@@ -1,125 +1,125 @@
/**
* Cadastro do Edital.
*/
angular.module('NutrifApp').controller('cadastrarEditalCtrl', function ($scope, $mdToast, $state, $window,
editalService, userService, funcionarioService, campusService, eventoService) {

$scope.campi = [];
$scope.eventos = [];

// Responsáveis
this.selectedItem = null;
this.searchText = null;
this.autocompleteDemoRequireMatch = true;
$scope.responsaveis = [];

this.cadastrar = function (edital) {

// Adicionar funcionário.
edital.funcionario = {};
edital.funcionario.id = userService.getUser().id;

// Responsável
console.log(this.selectedItem);
edital.responsavel = this.selectedItem;

console.log(edital);

// Enviar para o serviço de cadastro de Edital.
editalService.cadastrarEdital(edital)
.success(onSuccessCallback)
.error(onErrorCallback);
}

function onSuccessCallback (data, status) {

$mdToast.show(
$mdToast.simple()
.textContent('Edital cadastrado com sucesso!')
.position('top right')
.action('OK')
.hideDelay(6000)
);

$state.transitionTo('home.listar-edital');
}

function onErrorCallback (data, status) {
var _message = '';

if (!data) {
_message = 'Ocorreu um erro na comunicação com o servidor, favor chamar o suporte.'
} else {
_message = data.mensagem
}

$mdToast.show(
$mdToast.simple()
.textContent(_message)
.position('top right')
.action('OK')
.hideDelay(6000)
);

$state.transitionTo('home.listar-edital');
}

// Selecionar responsável pelo Edital.
this.buscarResponsaveis = function buscarResponsaveis(query) {

var lowerCaseQuery = angular.lowercase(query);

console.log(lowerCaseQuery);

var results = this.listarFuncionario(lowerCaseQuery);

return results || [];
}

// Consultar responsável no serviço.
this.listarFuncionario = function listarFuncionario(query) {

funcionarioService.getFuncionarioByNome(query)
.success(onSuccessListarFuncionario)
.error(onErrorCallback);

return $scope.responsaveis;
}

function onSuccessListarFuncionario(data, status) {
return $scope.responsaveis = data;
}

function transformChip(responsavel) {
// If it is an object, it's already a known chip
if (angular.isObject(responsavel)) {
console.log("Responsá" + responsavel);
return responsavel;
}
}

// Carregar os Campi para seleção no Edital
function carregarCampi () {
campusService.listarCampi()
.success(function (data, status){
$scope.campi = data;
})
.error(function (data, status){
alert("Houve um problema ao carregar os Campus.");
});
}

// Carregar os Eventos para definir o tipo do Edital.
function carregarEventos () {
eventoService.listarEvento()
.success(function (data, status){
$scope.eventos = data;
})
.error(function (data, status){
alert("Houve um problema ao carregar os Eventos.");
});
}

carregarEventos();
carregarCampi();
});
/**
* Cadastro do Edital.
*/
angular.module('NutrifApp').controller('cadastrarEditalCtrl', function ($scope, $mdToast, $state, $window,
editalService, userService, funcionarioService, campusService, eventoService) {

$scope.campi = [];
$scope.eventos = [];

// Responsáveis
this.selectedItem = null;
this.searchText = null;
this.autocompleteDemoRequireMatch = true;
$scope.responsaveis = [];

this.cadastrar = function (edital) {

// Adicionar funcionário.
edital.funcionario = {};
edital.funcionario.id = userService.getUser().id;

// Responsável
console.log(this.selectedItem);
edital.responsavel = this.selectedItem;

console.log(edital);

// Enviar para o serviço de cadastro de Edital.
editalService.cadastrarEdital(edital)
.success(onSuccessCallback)
.error(onErrorCallback);
}

function onSuccessCallback (data, status) {

$mdToast.show(
$mdToast.simple()
.textContent('Edital cadastrado com sucesso!')
.position('top right')
.action('OK')
.hideDelay(6000)
);

$state.transitionTo('home.listar-edital');
}

function onErrorCallback (data, status) {
var _message = '';

if (!data) {
_message = 'Ocorreu um erro na comunicação com o servidor, favor chamar o suporte.'
} else {
_message = data.mensagem
}

$mdToast.show(
$mdToast.simple()
.textContent(_message)
.position('top right')
.action('OK')
.hideDelay(6000)
);

$state.transitionTo('home.listar-edital');
}

// Selecionar responsável pelo Edital.
this.buscarResponsaveis = function buscarResponsaveis(query) {

var lowerCaseQuery = angular.lowercase(query);

console.log(lowerCaseQuery);

var results = this.listarFuncionario(lowerCaseQuery);

return results || [];
}

// Consultar responsável no serviço.
this.listarFuncionario = function listarFuncionario(query) {

funcionarioService.getFuncionarioByNome(query)
.success(onSuccessListarFuncionario)
.error(onErrorCallback);

return $scope.responsaveis;
}

function onSuccessListarFuncionario(data, status) {
return $scope.responsaveis = data;
}

function transformChip(responsavel) {
// If it is an object, it's already a known chip
if (angular.isObject(responsavel)) {
console.log("Responsá" + responsavel);
return responsavel;
}
}

// Carregar os Campi para seleção no Edital
function carregarCampi () {
campusService.listarCampi()
.success(function (data, status){
$scope.campi = data;
})
.error(function (data, status){
alert("Houve um problema ao carregar os Campus.");
});
}

// Carregar os Eventos para definir o tipo do Edital.
function carregarEventos () {
eventoService.listarEvento()
.success(function (data, status){
$scope.eventos = data;
})
.error(function (data, status){
alert("Houve um problema ao carregar os Eventos.");
});
}

carregarEventos();
carregarCampi();
});
12 changes: 12 additions & 0 deletions nutrif-web-refactor/js/controllers/listarCursoCtrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,18 @@ angular.module('NutrifApp').controller('listarCursoCtrl', function ($scope, $mdT
.error(onErrorCallback);
}

$scope.pesquisar = function (texto){
if(texto.length > 2) {
if (texto.match(/[a-zA-Z]/i) != null) {
cursoService.buscarCursoPorNome(texto)
.success(onSuccessCallback)
.error(onErrorCallback);
}
} else if (texto.length === 0) {
$scope.carregarCursos();
}
};


function onSuccessCallback(data, status) {
$scope.cursos = data;
Expand Down
12 changes: 12 additions & 0 deletions nutrif-web-refactor/js/controllers/listarEventoCtrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,18 @@ angular.module('NutrifApp').controller('listarEventoCtrl', function ($scope, $md
};


$scope.pesquisar = function (texto){
if(texto.length > 2) {
if (texto.match(/[a-zA-Z]/i) != null) {
eventoService.buscarEventoPorNome(texto)
.success(onSuccessCallback)
.error(onErrorCallback);
}
} else if (texto.length === 0) {
$scope.carregarEventos();
}
};

$scope.carregarEventos = function() {
eventoService.listarEvento()
.success(onSuccessCallback)
Expand Down
21 changes: 20 additions & 1 deletion nutrif-web-refactor/js/services/api/cursoService.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,28 @@ angular.module("NutrifApp").factory("cursoService", function($http, config){
return $http.post(_path + "/inserir", curso);
}


var _buscarCursoPorNome = function(nome){
return $http.get(_path + "/listar/nome/"+ nome);
};

var _getCursoById = function(id){
return $http.get(_path + "/id/"+ id);
};

var _atualizarCurso = function(curso){
return $http.post(_path + "/atualizar", curso);
};


return {

listarCursos: _listarCursos,
cadastrarCurso: _cadastrarCurso
cadastrarCurso: _cadastrarCurso,
buscarCursoPorNome: _buscarCursoPorNome,
getCursoById: _getCursoById,
atualizarCurso: _atualizarCurso

};

});
Loading

0 comments on commit 33a562f

Please sign in to comment.