[Gitec] Erro JavaScript emProposições
Luciano De Fázio
luciano em camaracatanduva.sp.gov.br
Segunda Maio 24 07:53:08 BRT 2004
Prezado Fernando:
Agora está funcionando sem erro. Obrigado.
Abraço,
Luciano
Fernando Ciciliati escreveu:
> Olá Luciano,
>
> Muito obrigado pelo "bug report"!
>
> Já verificamos e "matamos" o dito cujo.
>
> Estou enviando em anexo um novo arquivo "proposicao_form.xml"
> para ser importado para a pasta /sapl/cadastros/proposicao/ ,
> substituindo
> o objeto proposicao_form que lá está.
>
> A importação de arquivos zope .xml é feita da mesma forma que
> com os arquivos ".zexp" .
>
> Como você mesmo diagnosticou, esse não é um problema que afeta a
> operação normal do sistema, e, portanto, fica a critério de cada Casa
> decidir
> se deseja fazer essa atualização ou não. De qualquer forma, as próximas
> versões do SAPL sairão corrigidas.
>
> Um abraço,
> Ciciliati.
>
>
>
>
> Luciano De Fázio escreveu:
>
>> Erro ao editar detalhes básicos da proposição.
>>
>> Obs.: Não impede a visualização, edição ou envio da mesma.
>>
>> Em anexo tela capturada com os detalhes, no Internet Explorer.
>>
>> Abraço,
>>
>> Luciano
>
>
>
>
>
>------------------------------------------------------------------------
>
><?xml version="1.0"?>
><ZopeData>
> <record id="4617" aka="AAAAAAAAEgk=">
> <pickle>
> <tuple>
> <tuple id="4617.3">
> <string id="4617.1" encoding="repr">OFS.DTMLMethod</string>
> <string id="4617.2" encoding="repr">DTMLMethod</string>
> </tuple>
> <none/>
> </tuple>
> </pickle>
> <pickle>
> <dictionary id="4617.4">
> <item>
> <key> <string id="4617.5" encoding="repr">_vars</string> </key>
> <value>
> <dictionary id="4617.6"/>
> </value>
> </item>
> <item>
> <key> <string id="4617.7" encoding="repr">title</string> </key>
> <value> <string encoding="repr"></string> </value>
> </item>
> <item>
> <key> <string id="4617.8" encoding="repr">raw</string> </key>
> <value> <string id="4617.9" encoding="cdata"><![CDATA[
>
><SCRIPT LANGUAGE = "JavaScript">\n
><!--\n
>\n
> function redir_texto_integral(){\n
> var ok = 1;\n
> var form = document.proposicao_form;\n
> \n
> if (form.hdn_alterou.value!=0)\n
> if (confirm("Dados b\xe1sicos foram alterados, e essas altera\xe7\xf5es podem ser perdidas. Deseja salv\xe1-las antes de prosseguir?"))\n
> ok = campos_criticar(form);\n
>\n
> if (ok)\n
> location.href="proposicao_editar_texto_form?cod_proposicao=<dtml-var cod_proposicao missing>";\n
> return;\n
> }\n
>\n
>\n
> function campos_criticar(form){\n
> /*-----------------------------\n
> Fun\xe7\xe3o: Critica os campos obrigat\xf3rios do formul\xe1rio. \xc9 chamada\n
> pelo bot\xe3o btn_proposicao_salvar do formul\xe1rio para valida\xe7\xe3o \n
> dos campos.\n
> Argumentos: form : formul\xe1rio em si.\n
> Retorno: Invoca o SUBMIT do formul\xe1rio ou retorna valor booleano \n
> falso, caso haja algum campo incorreto, juntamente com uma\n
> uma mensagem de erro e o cursor no campo a ser corrigido.\n
> ------------------------------*/ \n
>\n
> if (form.lst_tip_proposicao[form.lst_tip_proposicao.selectedIndex].value == "-1") {\n
> alert("Deve ser selecionado um Tipo de Proposi\xe7\xe3o!");\n
> form.lst_tip_proposicao.focus();\n
> return false;\n
> }\n
> \n
> if (form.txt_descricao.value=="") {\n
> alert("Deve ser informada uma descri\xe7\xe3o para a Proposi\xe7\xe3o!");\n
> form.txt_descricao.focus();\n
> return false;\n
> }\n
>\n
> var tipo_proposicao = form.lst_tip_proposicao[form.lst_tip_proposicao.selectedIndex].value;\n
> var separador = tipo_proposicao.indexOf("&");\n
> var ind_mat_ou_doc = tipo_proposicao.substring(separador+1, tipo_proposicao.length);\n
> if (ind_mat_ou_doc==\'D\') {\n
> if ((form.lst_tip_id_basica[form.lst_tip_id_basica.selectedIndex].value == "") ||\n
> (form.txt_num_ident_basica.value == "") || (form.txt_ano_ident_basica.value == "")) {\n
> alert("Devem ser informados Tipo, N\xfamero e Ano da mat\xe9ria legislativa a qual esta proposi\xe7\xe3o ser\xe1 vinculada!");\n
> form.lst_tip_id_basica.focus(); \n
> return false;\n
> }\n
> }\n
>\n
> if ((form.radTipTxtIntegral.value == "Arq") && (form.file_nom_arquivo.value != "")) {\n
> form.hdn_file.value = "1";\n
> }\n
> else {\n
> form.hdn_file.value = "0";\n
> }\n
>\n
> if (form.hdn_cod_proposicao.value == "" && form.hdn_file.value == "0" && form.radTipTxtIntegral.value == "Arq"){\n
> alert("Voc\xea Deve Escolher Um Arquivo!");\n
> return false;\n
> } \n
>\n
> form.hdn_tip_proposicao.value = tipo_proposicao.substring(0, separador);\n
> form.submit();\n
> return;\n
> }\n
>\n
> function proposicao_excluir(){\n
> /*-----------------------------\n
> Fun\xe7\xe3o: Chama o M\xe9todo DTML de exclus\xe3o da proposicao.\n
> Apenas uma proposi\xe7\xe3o que n\xe3o foi recebida, ou que foi descartada(criar esse estado?), pode ser exclu\xedda.\n
> ------------------------------*/\n
> \n
> if (confirm("Deseja realmente excluir?")) { \n
> location.href="proposicao_excluir_proc?cod_proposicao=<dtml-var cod_proposicao missing>";\n
> }\n
> }\n
>\n
> function proposicao_retomar(){\n
> /*-----------------------------\n
> Fun\xe7\xe3o: Chama o M\xe9todo DTML de retomada de proposicao enviada.\n
> Apenas uma proposi\xe7\xe3o que n\xe3o foi recebida, pode ser retomada.\n
> ------------------------------*/\n
> \n
> location.href="proposicao_retomar_proc?cod_proposicao=<dtml-var cod_proposicao missing>";\n
> } \n
>\n
> function tipo_proposicao_mudou(){\n
> /*-----------------------------\n
> Fun\xe7\xe3o: Reinvoca a p\xe1gina habilitando os campos da mat\xe9ria legislativa caso ind_mat_ou_doc=\'D\'.\n
> Retorno: A p\xe1gina atualizada com os campos da mat\xe9ria legislativa habilitados ou n\xe3o.\n
> Man Qi em 18/12/03.\n
> ------------------------------*/\n
> \n
> var form = document.proposicao_form;\n
>\n
> form.hdn_alterou.value=1;\n
>\n
> var tipo_proposicao = form.lst_tip_proposicao[form.lst_tip_proposicao.selectedIndex].value;\n
> var separador = tipo_proposicao.indexOf("&");\n
> var ind_mat_ou_doc = tipo_proposicao.substring(separador+1, tipo_proposicao.length);\n
> if (ind_mat_ou_doc==\'D\') {\n
> form.lst_tip_id_basica.disabled = 0;\n
> form.txt_num_ident_basica.disabled = 0;\n
> form.txt_ano_ident_basica.disabled = 0;\n
> }\n
> else {\n
> form.lst_tip_id_basica.disabled = 1;\n
> form.txt_num_ident_basica.disabled = 1;\n
> form.txt_ano_ident_basica.disabled = 1;\n
> }\n
> return;\n
>\n
> } \n
>\n
> function tipo_texto_integral(tipo) {\n
> var form = document.proposicao_form;\n
> if (tipo==\'A\') {\n
> form.file_nom_arquivo.disabled = 0;\n
> form.btn_proposicao_salvar.value = "Salvar Dados B\xe1sicos e Enviar Proposi\xe7\xe3o";\n
> form.radTipTxtIntegral.value = \'Arq\';\n
> }\n
> else {\n
> form.file_nom_arquivo.disabled = 1;\n
> form.btn_proposicao_salvar.value = "Salvar Dados B\xe1sicos e Criar Texto Integral";\n
> form.radTipTxtIntegral.value = \'XML\';\n
> }\n
> return;\n
> }\n
> \n
> function exe_carrega(){\n
> var form = document.proposicao_form;\n
>\n
><dtml-unless cod_proposicao>\n
> if (form.radTipTxtIntegral[0].checked == true)\n
> form.radTipTxtIntegral.value = "XML";\n
> if (form.radTipTxtIntegral[1].checked == true)\n
> form.radTipTxtIntegral.value = "Arq";\n
></dtml-unless>\n
>\n
> if (form.radTipTxtIntegral.value == "XML")\n
> if (form.estah_alterando == \'1\')\n
> form.btn_proposicao_salvar.value = "Salvar Dados B\xe1sicos";\n
> else\n
> form.btn_proposicao_salvar.value = "Salvar Dados B\xe1sicos e Criar Texto Integral";\n
> if (form.radTipTxtIntegral.value == "Arq") {\n
> form.btn_proposicao_salvar.value = "Salvar Dados B\xe1sicos e Enviar Proposi\xe7\xe3o";\n
> form.file_nom_arquivo.disabled = 0;\n
> }\n
> }\n
>//-->\n
></SCRIPT>\n
><body onload="exe_carrega()">\n
><dtml-unless dat_envio>\n
> <dtml-call expr="REQUEST.set(\'dat_envio\',\'00/00/0000\')">\n
></dtml-unless>\n
><dtml-call expr="REQUEST.set(\'prop_enviada\',(dat_envio!=\'00/00/0000\'))">\n
>\n
><dtml-if cod_proposicao>\n
> <dtml-call expr="REQUEST.set(\'usr_eh_autor\',(col_username==AUTHENTICATED_USER.getUserName()))">\n
> <dtml-call expr="REQUEST.set(\'estah_alterando\',\'1\')">\n
><dtml-else>\n
> <dtml-call expr="REQUEST.set(\'usr_eh_autor\',(1==1))">\n
> <dtml-call expr="REQUEST.set(\'estah_alterando\',\'0\')">\n
></dtml-if>\n
>\n
><dtml-if cod_proposicao>\n
> <dtml-call expr="REQUEST.set(\'tipo_txtint\',(pysc.proposicao_tipo_texto_integral_pysc(cod_proposicao)))">\n
></dtml-if>\n
>\n
><dtml-if expr="usr_eh_autor or (AUTHENTICATED_USER.hasRole(this(), [\'Operador\', \'Operador Materia\']))"> \n
> <dtml-var standard_html_header>\n
> <table width="98%" border="0" cellspacing="0" cellpadding="0" align="center">\n
> <tr bgcolor="#9EBEDE">\n
> <dtml-if cod_proposicao>\n
> <td class="form-label">\n
> <dtml-if expr="not (prop_enviada)">\n
> <dtml-if expr="tipo_txtint==\'XML\'">\n
> <span> | </span><a href="javascript:redir_texto_integral()">Editar Texto Integral</a> |\n
> </dtml-if>\n
> <dtml-else>\n
> <dtml-if usr_eh_autor>\n
> <dtml-let cod_doc="pysc.proposicao_calcular_checksum_pysc(cod_proposicao)">\n
> <span> </span>| <a target="blank" href="proposicao_recibo_imprimir?cod_documento=<dtml-var cod_doc>">Imprimir Recibo</a> | | <a target="blank" href="proposicao_texto_imprimir?cod_documento=<dtml-var cod_doc>">Imprimir Texto Integral</a> |\n
> </dtml-let>\n
> </dtml-if>\n
> </dtml-if>\n
> </td>\n
> <dtml-else>\n
> <td class="form-label"> </td>\n
> </dtml-if>\n
> </tr>\n
> </table>\n
> <form name ="proposicao_form" method="post" action="proposicao_salvar_proc" enctype="multipart/form-data">\n
> <table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td height="10"></td></tr></table> \n
> <table width="98%" border="1" cellspacing="0" cellpadding="0" bordercolor="#9EBEDE" vspace="0" hspace="0" align="center">\n
> <tr align="center" valign="top"> \n
> <td> \n
> <input type="hidden" name="hdn_alterou" value="0"> \n
> <input type="hidden" name="hdn_tip_proposicao" value="">\n
> <input type="hidden" name="hdn_file" value=0>\n
> <dtml-if cod_proposicao>\n
> <input type="hidden" name="hdn_cod_proposicao" value="<dtml-var cod_proposicao>">\n
> <dtml-else>\n
> <input type="hidden" name="hdn_cod_proposicao" value="">\n
> </dtml-if>\n
> <table width="98%" border="0" cellspacing="0" cellpadding="0" align="center" vspace="0" hspace="0">\n
> <tr align="left" bgcolor="#9EBEDE"> \n
> <td class="form-label"> Dados Básicos</td>\n
> </tr>\n
> <tr>\n
> <td>\n
> <table width="100%" border="0" cellspacing="0" align="center">\n
> <dtml-if cod_proposicao>\n
> <dtml-if expr="(prop_enviada and usr_eh_autor) or dat_recebimento">\n
> <tr height="30" valign="middle"> \n
> <td width="100%" colspan=3 class="form-element">C\xf3digo do Documento: <dtml-var expr="pysc.proposicao_calcular_checksum_pysc(cod_proposicao)"></b>\n
> </td>\n
> </tr>\n
> </dtml-if>\n
> </dtml-if>\n
> <tr height="40" valign="top">\n
> <td width="40%" class="form-element">\n
> Tipo<br> \n
>\n
> <select name="lst_tip_proposicao" onChange="javascript:tipo_proposicao_mudou()"\n
> <dtml-if "prop_enviada or _.has_key(\'cod_proposicao\')">\n
> disabled \n
> </dtml-if>\n
> > \n
> <option value="-1"></option>\n
> <dtml-in expr="zsql.tipo_proposicao_obter_zsql()">\n
> <option\n
> <dtml-if tip_proposicao_sel>\n
> <dtml-if expr="_.int(tip_proposicao) == _.int(tip_proposicao_sel)">\n
> selected\n
> </dtml-if>\n
> </dtml-if>\n
> value="<dtml-var tip_proposicao>&<dtml-var ind_mat_ou_doc url_quote>"><dtml-var des_tipo_proposicao>\n
> </option>\n
> </dtml-in>\n
> </select>\n
>\n
>\n
>\n
> </td>\n
> <td width="30%" class="form-text">\n
> <dtml-if cod_proposicao>\n
> <b>Data de Envio</b><br>\n
> <dtml-if prop_enviada>\n
> <input type="text" name="txt_dat_criacao" value="<dtml-var dat_envio missing>" size="10" maxlength="10" onChange="javascript:form.hdn_alterou.value=1" readonly><span class="nota"> (dd/mm/aaaa)</span>\n
> <dtml-else>\n
> Proposi\xe7\xe3o ainda n\xe3o enviada. \n
> </dtml-if>\n
> <dtml-else>\n
> <input type="hidden" name="txt_dat_criacao" value="00/00/0000">\n
> </dtml-if>\n
> </td>\n
> <td width="30%" class="form-text">\n
> <dtml-if cod_proposicao>\n
> <b>Data de Recebimento</b><br>\n
> <dtml-if dat_recebimento>\n
> <input type="text" name="txt_dat_recebimento" value="<dtml-var dat_recebimento missing>" size="10" maxlength="10" onChange="javascript:form.hdn_alterou.value=1" readonly><span class="nota"> (dd/mm/aaaa)</span>\n
><!-- ********* v 2.1 start-block ********* -->\n
> <dtml-if cod_mat_ou_doc>\n
> <dtml-if expr="ind_mat_ou_doc==\'D\'">\n
> <dtml-in expr="zsql.documento_acessorio_obter_zsql(cod_documento=cod_mat_ou_doc)">\n
> <dtml-call expr="REQUEST.set(\'cod_mat\', cod_materia)">\n
> </dtml-in>\n
> <dtml-else>\n
> <dtml-call expr="REQUEST.set(\'cod_mat\', cod_mat_ou_doc)">\n
> </dtml-if>\n
> <dtml-in expr="zsql.materia_obter_zsql(cod_materia=cod_mat)">\n
> <br>Mat. Leg.: <dtml-var sgl_tipo_materia>-<dtml-var num_ident_basica>/<dtml-var ano_ident_basica>\n
> </dtml-in>\n
> <dtml-else>\n
> <br>PROPOSI\xc7\xc3O RECEBIDA, MAS N\xc3O APROVEITADA AINDA!\n
> </dtml-if>\n
><!-- ********* v 2.1 end-block ********* -->\n
> <dtml-else>\n
> Proposi\xe7\xe3o ainda n\xe3o recebida.\n
> </dtml-if>\n
> <dtml-else>\n
> <input type="hidden" name="txt_dat_recebimento" value="">\n
> </dtml-if>\n
> </td> \n
> </tr>\n
> <tr height="40" valign="top"> \n
> <td width="100%" colspan=3 class="form-element">Descrição<br>\n
> <input type="text" name="txt_descricao" value="<dtml-var txt_descricao missing>" size="80" maxlength="100" onChange="javascript:form.hdn_alterou.value=1" <dtml-if prop_enviada>readonly</dtml-if>>\n
> </td>\n
> </tr>\n
> <tr height="40" valign="top"> \n
> <td width="40%" class="form-element">Matéria Legislativa<br>\n
> <select name="lst_tip_id_basica" \n
> <dtml-if "not _.has_key(\'tip_id_basica_sel\') or prop_enviada"> \n
> disabled\n
> </dtml-if>\n
> > \n
> <option></option>\n
> <dtml-in expr="zsql.tipo_materia_legislativa_obter_zsql(ind_excluido=0)">\n
> <option\n
> <dtml-if tip_id_basica_sel>\n
> <dtml-if expr="_.int(tip_materia) == _.int(tip_id_basica_sel)">\n
> selected\n
> </dtml-if>\n
> </dtml-if>\n
> value="<dtml-var tip_materia missing>"> \n
> <dtml-var sgl_tipo_materia> - <dtml-var des_tipo_materia></option>\n
> </dtml-in>\n
> </select>\n
> </td>\n
> <td width="30%" class="form-element">Número<br>\n
> <input type="text" name="txt_num_ident_basica" size="5" value="<dtml-var num_ident_basica_sel missing>" maxlength="5" \n
> <dtml-if "not _.has_key(\'num_ident_basica_sel\') or prop_enviada"> \n
> disabled>\n
> </dtml-if>\n
> </td>\n
> <td width="30%" class="form-element">Ano<br>\n
> <input type="text" name="txt_ano_ident_basica" size="4" value="<dtml-var ano_ident_basica_sel missing>" maxlength="4" \n
> <dtml-if "not _.has_key(\'ano_ident_basica_sel\') or prop_enviada"> \n
> disabled>\n
> </dtml-if>\n
> </td>\n
> </tr>\n
> <dtml-if prop_enviada>\n
> <tr height="10">\n
> <td></td>\n
> </tr>\n
> <dtml-else>\n
> <dtml-if cod_proposicao>\n
> <dtml-if expr="tipo_txtint==\'XML\'">\n
> <input type="hidden" name="radTipTxtIntegral" value="XML">\n
> <dtml-else>\n
> <tr>\n
> <td colspan="3" class="form-text" valign="center">\n
> <dtml-let id_documento="_.str(cod_proposicao)">\n
> <dtml-if "_.hasattr(sapl.documentos.proposicao,id_documento)">\n
> <dtml-let documento="_.getattr(sapl.documentos.proposicao,id_documento).absolute_url">\n
> <b>Texto Integral</b><br>\n
> <a target="_blank" href="<dtml-var documento>"><img align="middle" border="0" src="sapl/imagens/archiv.gif" alt="Texto integral"></a>\n
> </dtml-let>\n
> </dtml-if>\n
> </dtml-let>\n
> <span> Substituir por: </span><input type="file" name="file_nom_arquivo" size="40" maxlength="100">\n
> </td> \n
> <tr>\n
> <input type="hidden" name="radTipTxtIntegral" value="Arq">\n
> </dtml-if>\n
> <tr height="10">\n
> <td></td>\n
> </tr>\n
> <dtml-else>\n
> <tr height="40" valign="top">\n
> <td colspan=3 class="form-element">Texto Integral:<br>\n
> <input type="radio" class="form-element" name="radTipTxtIntegral" value="XML" onClick="tipo_texto_integral(\'X\')" checked> Criar texto em XML\n
> </td>\n
> </tr>\n
> <tr> \n
> <td colspan="3" class="form-element">\n
> <input type="radio" class="form-element" name="radTipTxtIntegral" value="Arq" onClick="tipo_texto_integral(\'A\')"> Carregar Arquivo Externo \n
> <input type="file" name="file_nom_arquivo" size="40" maxlength="100" disabled>\n
> </td>\n
> </tr>\n
> </dtml-if>\n
> </dtml-if>\n
> </table>\n
> </td>\n
> </tr>\n
> </table>\n
>\n
> </td>\n
> </tr>\n
> </table>\n
> <table border="0" width="100%">\n
> <tr height="40" valign="bottom">\n
> <td align="center">\n
> <dtml-if usr_eh_autor>\n
> <dtml-if cod_proposicao>\n
> <dtml-if prop_enviada>\n
> <dtml-unless dat_recebimento>\n
> <input type="button" name="btn_proposicao_retomar" value="Retomar proposi\xe7\xe3o enviada" onClick="proposicao_retomar()">\n
> </dtml-unless>\n
> <dtml-else>\n
> <dtml-if expr="tipo_txtint==\'ArqExt\'">\n
> <input type="button" name="btn_proposicao_salvar" value="Salvar e Enviar Proposi\xe7\xe3o" onClick="campos_criticar(document.proposicao_form)">\n
> <dtml-else>\n
> <input type="button" name="btn_proposicao_salvar" value="Salvar dados b\xe1sicos" onClick="campos_criticar(document.proposicao_form)">\n
> </dtml-if>\n
> <input type="button" name="btn_proposicao_excluir" value="Excluir" onClick="proposicao_excluir()">\n
> </dtml-if>\n
> <dtml-else>\n
> <input type="button" name="btn_proposicao_salvar" value="Salvar Dados B\xe1sicos e Criar Texto Integral" onClick="campos_criticar(document.proposicao_form)">\n
> </dtml-if>\n
> </dtml-if>\n
> </td> \n
> </tr>\n
> </table>\n
> </form>\n
> <dtml-var standard_html_footer>\n
><dtml-else>\n
> <dtml-let mensagem="\'Voc\xea n\xe3o tem permiss\xe3o para ver esta proposi\xe7\xe3o!\'">\n
> <dtml-var mensagem_emitir>\n
> </dtml-let>\n
></dtml-if>\n
></body>\n
>
>
>]]></string> </value>
> </item>
> <item>
> <key> <string id="4617.10" encoding="repr">globals</string> </key>
> <value>
> <dictionary id="4617.11"/>
> </value>
> </item>
> <item>
> <key> <string id="4617.12" encoding="repr">__name__</string> </key>
> <value> <string id="4617.13" encoding="repr">proposicao_form</string> </value>
> </item>
> <item>
> <key> <string id="4617.14" encoding="repr">__ac_local_roles__</string> </key>
> <value>
> <dictionary id="4617.15">
> <item>
> <key> <string id="4617.16" encoding="repr">manqi</string> </key>
> <value>
> <list id="4617.17">
> <string id="4617.18" encoding="repr">Owner</string>
> </list>
> </value>
> </item>
> </dictionary>
> </value>
> </item>
> </dictionary>
> </pickle>
> </record>
></ZopeData>
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Gitec mailing list
>Gitec em listas.interlegis.gov.br
>http://listas.interlegis.gov.br/mailman/listinfo/gitec
>
>
Mais detalhes sobre a lista de discussão Gitec