Conjunto de mudanças 7584 no repositório publico


Ignorar:
Timestamp:
24/07/2014 15:53:39 (5 anos atrás)
Autor:
gustavolepri
Mensagem:

ajustes na votação secreta

Localização:
ILSAPL/trunk
Arquivos:
5 editados

Legenda:

Não Modificado
Adicionado
Removido
  • ILSAPL/trunk/SAPLTool.py

    r7453 r7584  
    5252
    5353    nome_arquivo = 'tmp_token_' + str(os.getpid())
     54    nome_arquivo_atribuido = 'tmp_atribuido_' + str(os.getpid())
    5455    local_arquivo = '/tmp'
     56
     57    def arquivo_atribuido(self, criar=None):
     58        path = self.local_arquivo + '/' + self.nome_arquivo_atribuido
     59        temporarios = os.listdir(self.local_arquivo)
     60
     61        for temporario in temporarios:
     62            if temporario.startswith('tmp_atribuido_') and temporario != self.nome_arquivo_atribuido:
     63                os.unlink(self.local_arquivo + '/' + temporario)
     64
     65        if criar:
     66            try:
     67                os.unlink(path)
     68                return os.fdopen(os.open(path, os.O_WRONLY | os.O_CREAT, 0600), 'wb')
     69            except OSError:
     70                return os.fdopen(os.open(path, os.O_WRONLY | os.O_CREAT, 0600), 'wb')
     71        else:
     72            return os.fdopen(os.open(path, os.O_WRONLY | os.O_CREAT, 0600), 'wb')
     73
     74    def remover_arquivo_atribuido(self):
     75        arquivo = self.arquivo_atribuido()
     76        arquivo.close()
     77        path = self.local_arquivo + '/' + self.nome_arquivo_atribuido
     78        os.unlink(path)
     79
     80    def grava_arquivo_atribuido(self, arquivo, data):
     81        pickle.dump(data, arquivo)
     82
     83    def ler_arquivo_atribuido(self):
     84        lista = []
     85        path = self.local_arquivo + '/' + self.nome_arquivo_atribuido
     86        try:
     87            arquivo = open(path, 'rb')
     88        except IOError:
     89            return []
     90        while 1:
     91            try:
     92                lista.append(pickle.load(arquivo))
     93            except:
     94                break
     95
     96        arquivo.close()
     97
     98        return lista
    5599
    56100    def arquivo_token(self, criar=None):
  • ILSAPL/trunk/skins/sk_sapl/cadastros/sessao_plenaria/votacao_parlamentar/votacao_parlamentar_index_html.dtml

    r7568 r7584  
    2424        <dtml-else>
    2525            <dtml-call expr="REQUEST.set('presente', 0)">
     26            <dtml-in expr="zsql.recomposicao_presencas_obter_zsql(cod_sessao_plen=cod_sessao_plen, ind_excluido=0)">
     27                <dtml-call expr="REQUEST.set('ind_status_pre', ind_status_pre)">
     28            </dtml-in>
    2629        </dtml-if>
    2730    </dtml-in>
     
    6265            <dtml-call expr="REQUEST.set('cod_parlamentar', cod_parlamentar)">
    6366            <dtml-if expr="cod_votacao is not None">
    64                 <dtml-if expr="tip_votacao!=3">
    65                     <dtml-in expr="zsql.votacao_parlamentar_obter_zsql(cod_votacao=cod_votacao, cod_parlamentar=cod_parlamentar, ind_excluido=0)">
    66                         <dtml-call expr="REQUEST.set('votou', vot_parlamentar)">
    67                     </dtml-in>
    68                 </dtml-if>
     67                <dtml-in expr="zsql.votacao_parlamentar_obter_zsql(cod_votacao=cod_votacao, cod_parlamentar=cod_parlamentar, ind_excluido=0)">
     68                    <dtml-call expr="REQUEST.set('votou', vot_parlamentar)">
     69                </dtml-in>
     70            <dtml-else>
     71                <dtml-call expr="REQUEST.set('votou', 0)">
    6972            </dtml-if>
    7073        </dtml-in>
     
    130133            <p class="texto"><b>Não lhe foi atribuído nenhum token para esta votação secreta</b></p>
    131134        </dtml-if>
    132         <dtml-if expr="pysc.tokens_atribuido_pysc(verificar=True)">
     135        <dtml-if expr="pysc.tokens_atribuido_pysc(votou=True, cod_votacao=cod_votacao)">
     136            <dtml-call expr="REQUEST.set('votou', 1)">
     137        <dtml-else>
     138            <dtml-call expr="REQUEST.set('votou', 0)">
     139        </dtml-if>
     140        <dtml-if expr="pysc.tokens_atribuido_pysc(verificar=True, cod_votacao=cod_votacao) and votou == 0">
    133141            <fieldset>
    134142                <legend>Vota&ccedil;&atilde;o Secreta</legend>
     
    142150                        </td>
    143151                    </tr>
    144 
    145                     <dtml-if expr="pysc.tokens_atribuido_pysc(votou=True)">
    146                         <dtml-call expr="REQUEST.set('vot_parlamentar', pysc.votacao_secreta_obter_pysc(sec=True))">
    147                         <tr>
    148                             <td>
    149                                 <input type="radio" name="rad_voto_parlamentar" value="Sim"
    150                                 <dtml-if expr="vot_parlamentar == 'Sim'">checked=1</dtml-if> />
    151                                 <span class="texto">Sim</span>
    152                             </td>
    153                             <td>
    154                                 <input type="radio" name="rad_voto_parlamentar" value="Não"
    155                                 <dtml-if expr="vot_parlamentar == 'Não'">checked=1</dtml-if> />
    156                                 <span class="texto">N&atilde;o</span>
    157                             </td>
    158                             <td>
    159                                 <input type="radio" name="rad_voto_parlamentar" value="Abstenção"
    160                                 <dtml-if expr="vot_parlamentar == 'Abstenção'">checked=1</dtml-if> />
    161                                 <span class="texto">Absten&ccedil;&atilde;o</span>
    162                             </td>
    163                         </tr>
    164                         <dtml-else>
    165                         <tr>
    166                             <td>
    167                                 <input type="radio" name="rad_voto_parlamentar" value="Sim" />
    168                                 <span class="texto">Sim</span>
    169                             </td>
    170                             <td>
    171                                 <input type="radio" name="rad_voto_parlamentar" value="Não" />
    172                                 <span class="texto">N&atilde;o</span>
    173                             </td>
    174                             <td>
    175                                 <input type="radio" name="rad_voto_parlamentar" value="Abstenção" />
    176                                 <span class="texto">Absten&ccedil;&atilde;o</span>
    177                             </td>
    178                         </tr>
    179                     </dtml-if>
    180                     </table>
    181                     <div style="text-align: center">
    182                         <input class="botao" type="submit" name="button" value="Salvar" />
    183                     </div>
     152                    <tr>
     153                        <td>
     154                            <input type="radio" name="rad_voto_parlamentar" value="Sim" />
     155                            <span class="texto">Sim</span>
     156                        </td>
     157                        <td>
     158                            <input type="radio" name="rad_voto_parlamentar" value="Não" />
     159                            <span class="texto">N&atilde;o</span>
     160                        </td>
     161                        <td>
     162                            <input type="radio" name="rad_voto_parlamentar" value="Abstenção" />
     163                            <span class="texto">Absten&ccedil;&atilde;o</span>
     164                        </td>
     165                    </tr>
     166                </table>
     167                <div style="text-align: center">
     168                    <input class="botao" type="submit" name="button" value="Salvar" />
     169                </div>
    184170            </fieldset>
     171        </dtml-if>
     172        <dtml-if expr="votou == 1">
     173            <p class="texto">
     174            Matéria em votação: <br />
     175            <dtml-in expr="zsql.materia_obter_zsql(cod_materia=cod_materia, ind_excluido=0)">
     176                Mat&eacute;ria: <b><dtml-var sgl_tipo_materia missing> <dtml-var num_ident_basica missing> <dtml-var ano_ident_basica missing> - <dtml-var des_tipo_materia></b><br />
     177                Ementa: <b><dtml-var txt_ementa><b>
     178            </dtml-in>
     179            </p>
     180            <p class="texto">Obrigado por ter registrado o seu voto!</p>
    185181        </dtml-if>
    186182    </dtml-if>
     
    190186</dtml-if>
    191187<dtml-else>
    192     <p class="texto">A sua presença não foi registrada. Clique <a href="parlamentar_presenca?hdn_url=votacao_parlamentar_index_html">aqui</a> para contabilizar a sua presença</p>
     188    <dtml-if ind_status_pre>
     189        <p class="texto">A sua presença não foi registrada. Clique <a href="parlamentar_presenca?hdn_url=votacao_parlamentar_index_html">aqui</a> para contabilizar a sua presença</p>
     190    <dtml-else>
     191        <p class="texto">A sua presença não foi registrada. Porém, não será possível contabilizá-la, pois não existe nenhuma recomposição de presenças em aberto.</p>
     192    </dtml-if>
    193193</dtml-if>
    194194</div>
  • ILSAPL/trunk/skins/sk_sapl/pysc/tokens_atribuido_pysc.py

    r7458 r7584  
    55##bind script=script
    66##bind subpath=traverse_subpath
    7 ##parameters=votou=None, verificar=None
     7##parameters=cod_votacao=None, votou=None, verificar=None
    88##title=
    99##
     
    1313st = getToolByName(context, 'portal_sapl')
    1414
     15# identifica o login do parlamentar que esta buscando atribuicao do token
     16membership_tool = getToolByName(context, 'portal_membership')
     17member = membership_tool.getAuthenticatedMember()
     18username = member.getUserName()
     19
     20# apos identificar o login, identificamos o parlamentar pelo codigo
     21parlamentar = context.zsql.parlamentar_obter_zsql(txt_login=username)
     22if len(parlamentar) > 0:
     23    cod_parlamentar = parlamentar[0].cod_parlamentar
     24
    1525request = context.REQUEST
    1626
    1727if votou:
    18     token_cookie = request.get('__token', None)
    19 
    20     if token_cookie:
    21         lista = st.ler_token()
     28    if cod_votacao:
    2229        try:
    23             voto = [item[token_cookie][1] for item in lista if item.keys()[0] == token_cookie]
    24             if len(voto[0]) > 0:
    25                 return True
    26             else:
    27                 return False
    28         except IndexError:
     30            context.zsql.votacao_parlamentar_obter_zsql(cod_parlamentar=cod_parlamentar, cod_votacao = cod_votacao)[0].vot_parlamentar
     31            return True
     32        except:
    2933            return False
    3034    else:
     
    3337if verificar:
    3438    token_cookie = request.get('__token', None)
     39    atribuidos = st.ler_arquivo_atribuido()
    3540    if token_cookie:
    3641        lista = st.ler_token()
     42
    3743        try:
    3844            token = [item.keys()[0] for item in lista if item.keys()[0] == token_cookie]
     
    4551    else:
    4652        return False
     53
     54
  • ILSAPL/trunk/skins/sk_sapl/pysc/tokens_atribuir_pysc.py

    r7458 r7584  
    1313st = getToolByName(context, 'portal_sapl')
    1414
     15# identifica o login do parlamentar que esta buscando atribuicao do token
     16membership_tool = getToolByName(context, 'portal_membership')
     17member = membership_tool.getAuthenticatedMember()
     18username = member.getUserName()
     19
     20# apos identificar o login, identificamos o parlamentar pelo codigo
     21parlamentar = context.zsql.parlamentar_obter_zsql(txt_login=username)
     22if len(parlamentar) > 0:
     23    cod_parlamentar = parlamentar[0].cod_parlamentar
     24
    1525REQUEST = context.REQUEST
    1626
    1727if atribuir:
    1828    lista = st.ler_token()
     29    atribuidos = st.ler_arquivo_atribuido()
    1930
    2031#    tokens = [item.keys()[0] for item in lista]
     
    2536#        REQUEST.RESPONSE.expireCookie('__token', path='/')
    2637
     38    if cod_parlamentar in atribuidos:
     39        atribuido = True
     40    else:
     41        atribuidos.append(cod_parlamentar)
     42        arquivo_atribuido = st.arquivo_atribuido()
     43        for item in atribuidos:
     44            st.grava_arquivo_atribuido(arquivo_atribuido, item)
     45        atribuido = False
     46
    2747    try:
    2848        token = [item.keys()[0] for item in lista if item.keys()[0] == token_cookie]
     
    3151    count = 0
    3252    for item in lista:
    33         if token_cookie:
     53        if token_cookie or atribuido:
    3454            if token_cookie == item.keys()[0]:
    3555                break
    3656
    37         if len(token) == 0 and item[item.keys()[0]][0] != 1:
     57        if len(token) == 0 and item[item.keys()[0]][0] != 1 and not atribuido:
    3858            REQUEST.RESPONSE.setCookie('__token', item.keys()[0], path='/')
    3959            lista[count][item.keys()[0]][0] = 1
    4060            break
    4161
    42         if not token_cookie and item[item.keys()[0]][0] != 1:
     62        if not token_cookie and item[item.keys()[0]][0] != 1 and not atribuido:
    4363            REQUEST.RESPONSE.setCookie('__token', item.keys()[0], path='/')
    4464            lista[count][item.keys()[0]][0] = 1
  • ILSAPL/trunk/skins/sk_sapl/pysc/votacao_parlamentar_salvar_pysc.py

    r7568 r7584  
    1414
    1515REQUEST = context.REQUEST
     16
     17votacao=context.zsql.votacao_obter_zsql(cod_ordem=cod_ordem,cod_materia=cod_materia,ind_excluido=0)
     18
     19try:
     20    cod_votacao = votacao[0].cod_votacao
     21except:
     22    cod_votacao = None
     23    context.zsql.votacao_incluir_zsql(
     24        num_votos_sim=0,
     25        num_votos_nao=0,
     26        num_abstencao=0,
     27        txt_observacao='',
     28        cod_ordem=cod_ordem,
     29        cod_materia=cod_materia,
     30        tip_resultado_votacao=0
     31    )
     32    votacao_incluida=context.zsql.votacao_incluida_obter_zsql()
     33    cod_votacao = votacao_incluida[0].cod_votacao
    1634
    1735if tip_votacao == '3':
     
    3351        st.grava_token(arquivo, item)
    3452
     53
     54    context.zsql.votacao_parlamentar_incluir_zsql(
     55        cod_votacao=cod_votacao,
     56        cod_parlamentar=cod_parlamentar,
     57        vot_parlamentar='V'
     58    )
     59
    3560    return 1
    3661
    37 votacao=context.zsql.votacao_obter_zsql(cod_ordem=cod_ordem,cod_materia=cod_materia,ind_excluido=0)
    3862
    39 try:
    40     cod_votacao = votacao[0].cod_votacao
    41 except:
    42     cod_votacao = None
    4363
    4464if cod_votacao is None:
Note: Veja TracChangeset para ajuda no uso do visualizador de conjunto de mudanças.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.