コード例 #1
0
    def __call__(self, REQUEST, RESPONSE):
        anonuid = None
        #pode_votar_anonimo = api.portal.portal.getProperty(
        #    'cioppino.twothumbs.anonymousvoting')
        if api.user.is_anonymous():
            return RESPONSE.redirect(
                '%s/login?came_from=%s' %
                (api.portal.get().absolute_url(), REQUEST['HTTP_REFERER']))
            # if not pode_votar_anonimo:
            #     return RESPONSE.redirect(
            #         '%s/login?came_from=%s' %
            #         (api.portal.get().absolute_url(), REQUEST['HTTP_REFERER']))
            # anonuid = self.request.cookies.get(COOKIENAME, None)
            # if anonuid is None:
            #     anonuid = str(uuid4())
            #     RESPONSE.setCookie(COOKIENAME, anonuid)

        form = self.request.form

        try:
            paragrafo_id = int(form.get('paragrafo_id'))
        except TypeError:
            return 'Erro: paragrafo invalido'

        comentario = form.get('comentario', None)

        action = form.get('action', None)

        if action == 'concordar':
            action = rate.concordar(self.context, paragrafo_id, userid=anonuid)
        elif action == 'concordar_ressalva':
            action = rate.concordar_ressalva(self.context,
                                             paragrafo_id,
                                             userid=anonuid)
        elif action == 'discordar':
            action = rate.discordar(self.context, paragrafo_id, userid=anonuid)
        elif action == 'comentar' and comentario != '':
            action = rate.comentar(self.context,
                                   paragrafo_id,
                                   comentario,
                                   userid=anonuid)
        else:
            return 'Erro: ou você concorda ou você discorda.'

        if not form.get('ajax', False):
            return RESPONSE.redirect(REQUEST['HTTP_REFERER'])
        else:
            resultado = rate.get_total(self.context, paragrafo_id)
            resultado['action'] = action
            resultado['msg'] = _get_message(action)
            # Devolve resposta json para solicitação ajax
            response_json = json.dumps(resultado)
            RESPONSE.setHeader('Content-Type',
                               'application/json; charset=utf-8')
            RESPONSE.setHeader('content-length', len(response_json))
            return response_json
コード例 #2
0
ファイル: views.py プロジェクト: davilima6/smdu.participacao
    def __call__(self, REQUEST, RESPONSE):
        anonuid = None
        #pode_votar_anonimo = api.portal.portal.getProperty(
        #    'cioppino.twothumbs.anonymousvoting')
        if api.user.is_anonymous():
            return RESPONSE.redirect(
                '%s/login?came_from=%s' %
                (api.portal.get().absolute_url(), REQUEST['HTTP_REFERER']))
            # if not pode_votar_anonimo:
            #     return RESPONSE.redirect(
            #         '%s/login?came_from=%s' %
            #         (api.portal.get().absolute_url(), REQUEST['HTTP_REFERER']))
            # anonuid = self.request.cookies.get(COOKIENAME, None)
            # if anonuid is None:
            #     anonuid = str(uuid4())
            #     RESPONSE.setCookie(COOKIENAME, anonuid)

        form = self.request.form

        try:
            paragrafo_id = int(form.get('paragrafo_id'))
        except TypeError:
            return 'Erro: paragrafo invalido'

        comentario = form.get('comentario', None)

        action = form.get('action', None)

        if action == 'concordar':
            action = rate.concordar(self.context, paragrafo_id, userid=anonuid)
        elif action == 'concordar_ressalva':
            action = rate.concordar_ressalva(self.context, paragrafo_id, userid=anonuid)
        elif action == 'discordar':
            action = rate.discordar(self.context, paragrafo_id, userid=anonuid)
        elif action == 'comentar' and comentario != '':
            action = rate.comentar(self.context,
                                   paragrafo_id,
                                   comentario,
                                   userid=anonuid)
        else:
            return 'Erro: ou você concorda ou você discorda.'

        if not form.get('ajax', False):
            return RESPONSE.redirect(REQUEST['HTTP_REFERER'])
        else:
            resultado = rate.get_total(self.context, paragrafo_id)
            resultado['action'] = action
            resultado['msg'] = _get_message(action)
            # Devolve resposta json para solicitação ajax
            response_json = json.dumps(resultado)
            RESPONSE.setHeader('Content-Type',
                               'application/json; charset=utf-8')
            RESPONSE.setHeader('content-length', len(response_json))
            return response_json
コード例 #3
0
ファイル: views.py プロジェクト: CGTIC/smdu.participacao
 def get_total(self):
     """ Examina a anotação no objeto e devolve o numero de concordancias
     e discordancias por parágrafo
     """
     return rate.get_total(self.context, self.paragrafo_id)
コード例 #4
0
 def get_total(self):
     """ Examina a anotação no objeto e devolve o numero de concordancias
     e discordancias por parágrafo
     """
     return rate.get_total(self.context, self.paragrafo_id)