diff --git a/panels/cadastro_jogos-desktop.xml b/panels/cadastro_jogos-desktop.xml index 122c6a2..f2846a9 100644 --- a/panels/cadastro_jogos-desktop.xml +++ b/panels/cadastro_jogos-desktop.xml @@ -20,7 +20,6 @@ 'GENERO', 'ANO_LANCAMENTO', 'PRODUTORA', - 'NOTA_MEDIA', 'DESCRICAO' ], camposTable: [ @@ -29,7 +28,6 @@ 'GENERO', 'ANO_LANCAMENTO', 'PRODUTORA', - 'NOTA_MEDIA', 'DESCRICAO' ], }, @@ -39,7 +37,6 @@ ['GENERO', 'cbbGenero', 'String'], ['ANO_LANCAMENTO', 'txfAnoLancamento', 'Number'], ['PRODUTORA', 'txfProdutora', 'String'], - ['NOTA_MEDIA', 'txfNotaMedia', 'Number'], ['DESCRICAO', 'txaDescricao', 'String'] ], validacaoExclusao: [], @@ -106,7 +103,7 @@ engine.getField("txfEmail").setValue(""); engine.getField("txfComentario").setValue(""); engine.getField("dcfNota").setValue(""); - + engine.getField("dtfDataAvaliacao").setValue(null); } function resetPanelGames(){ @@ -119,29 +116,26 @@ engine.getField("txfNotaMedia").setValue(""); } + /* + * Gerencia apenas os campos de negócio obrigatórios. + * Os campos de ID (CODIGO) NÃO entram aqui, pois são + * gerados automaticamente e ficariam vazios em uma inclusão. + */ function organizeRequiredFields(whichForm, isToRequest) { var fields = []; if(whichForm === "jogos"){ - fields = ["txfCodigo", "txfTitulo", "cbbGenero", "txfAnoLancamento", "txfProdutora", "txaDescricao"]; + fields = ["txfTitulo", "cbbGenero", "txfAnoLancamento", "txfProdutora", "txaDescricao"]; } else if(whichForm === "avaliacoes") { - fields = ["txfCodigoAvaliacao", "txfCodigoJogo", "txfNome", "txfEmail", "txfComentario", "dcfNota"]; - } + fields = ["txfNome", "txfEmail", "txfComentario", "dcfNota"]; + } - if(isToRequest) { - fields.forEach(function(fieldId) { - var field = engine.getField(fieldId); - if (field) { - field.setRequired(true); - } - }); - } else { - fields.forEach(function(fieldId) { - var field = engine.getField(fieldId); - if (field) { - field.setRequired(false); - } - }); - }}; + fields.forEach(function(fieldId) { + var field = engine.getField(fieldId); + if (field) { + field.setRequired(isToRequest); + } + }); + } function showTableReviews(gameId) { if(!gameId) { @@ -195,13 +189,37 @@ caption="Comentário" required="true" /> + required="true"> + + + + @@ -255,7 +276,11 @@ var sqlBase = "SELECT * FROM TB_MATHEUS_MEDEIROS_AVALIACOES ORDER BY CODIGO"; var id_jogo = engine.getField("dbtJogos").getValue(); if(id_jogo != null){ - sqlBase = "SELECT * FROM TB_MATHEUS_MEDEIROS_AVALIACOES WHERE ID_JOGO = " + id_jogo + " ORDER BY CODIGO"; + /* Cast numérico para evitar injeção via concatenação */ + id_jogo = parseInt(id_jogo, 10); + if(!isNaN(id_jogo)){ + sqlBase = "SELECT * FROM TB_MATHEUS_MEDEIROS_AVALIACOES WHERE ID_JOGO = " + id_jogo + " ORDER BY CODIGO"; + } } return sqlBase; } @@ -350,7 +375,7 @@
- + Lista de jogos Cadastro de jogos
@@ -382,7 +407,7 @@ - + @@ -529,7 +558,7 @@ - + @@ -540,19 +569,32 @@ - - - + + +