Posso sim!!!

CODIGO PAGE TEMPLATE
<html metal:use-macro="here/main_template/macros/master">

  <head>
    <title tal:content="template/title">The title</title>
  </head>
  <body> <div metal:fill-slot="main">
   <div align="center"><b class="state-private"><span
tal:replace="options/mensagem | default"></span></b></div>
   <fieldset>
   <legend>Definir um cargo ao usuário</legend>
   <table cellspacing="4" cellpadding="0" border="0">
   <form action="salvar_cargo" method="post" enctype="multipart/form-data">
   <tr><input type="hidden" name="codigo" tal:attributes="value
options/codigo">
   <th align="left">Cargos</th>
   <td>
   </td>
   <td>
   </td>
   <td>
   </td>
   <th align=left>Cargo Atual
   </th>
   </tr>
   <tr>
   <td><select name="cargo">
   <option tal:repeat="grupos python:here.script_listar_cargos()"
tal:content="grupos"></option>
   </select>
   </td>
   <td>
   </td>
   <td>
   </td>
   <td>
   </td>
   <td align=left tal:content="python:here.script_buscar_cargo(options)">
   </td>
   </tr>
   <tr><td>&nbsp</td></tr>
   <tr><td>&nbsp</td><td>&nbsp</td><td>&nbsp</td>
   <td><input type="submit" name="submit" value="salvar" />
   </td>
   </tr>
   </form>
   </table>
  </fieldset>
  </div>
  </body>
</html>

CODIGO DO PYTHON SCRIPT
# Example code:

# Import a standard function, and get the HTML request and response objects.
from Products.CMFCore.utils import getToolByName
from Products.PythonScripts.standard import html_quote
request = container.REQUEST
RESPONSE =  request.RESPONSE

cod = request.get('codigo')
usr_dados = context.sql_buscar_dados_colaborador(cod_colab=int(cod))[0]
cod_plone = usr_dados.cod_usr_plone_colab
id = context.sql_buscar_usr_plone(cod_usr=cod_plone)[0].nome_plone_usr
groupname = request.get('cargo')
status=""

if not usr_dados.cargo_colab == 'ind':
   try:
      group = context.portal_groups.getGroupById(str(usr_dados.cargo_colab))
      group.removeMember(id)
   except:
      status += "O usuário "+id+" não foi removido do cargo
"+groupname+".\n"
      return context.pagina_escolher_cargo_user(mensagem=status)

#try:
group = context.portal_groups.getGroupById(groupname)
group.addMember(id)
#
context.sql_adicionar_cargo(cargo=str(groupname),cod_usr_plone_colab=int(cod_plone))
status += "O usuário "+id+" foi adicionado com sucesso no cargo
"+groupname+".\n"
#except:
#status += "O usuário "+id+" não foi adicionado no cargo "+groupname+".\n"

return context.pagina_escolher_cargo_user(codigo=int(cod),mensagem=status)

Existem algusn scripts intermediarios.
Que podem ser removidos!

Valeu


2008/12/2 José Henrique <[EMAIL PROTECTED]>

>   2008/12/2 Guilherme Lopes <[EMAIL PROTECTED]>
>
>  To usando "post"!
>> <form action="salvar_cargo" method="post" enctype="multipart/form-data">
>>
>> Guilherme lopes
>>
>>
> Você poderia colar o códito do template e do script em alguma parte para eu
> poder testar?
>
> Zénrique.
>  
>

Responder a