Пример #1
0
    def getEstabelecimentosPublicados(self, limit=None, offset=None,
                                      exportar=1, admin=1):

        portal = Portal(id_site=self.id_site,
                        request=self.request)

        
        res = []
        for i in self.execSql("select_estabelecimento_publicado",
                               limit=int(limit),
                               offset=int(offset)):
            i['url'] = self._getUrlByApp(env_site=self.id_site,
                                          schema=self.schema,
                                          id_conteudo=i["id_conteudo"],
                                          exportar=exportar,
                                          admin=admin)
            i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site)
            i["categorias"]=[]
            for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])):
                categoria = {"id_categoria":j["id_categoria"],
                             "nome":j["nome"]}
                i["categorias"].append(categoria)
            res.append(i)
            
        qtde = self.execSql("select_estabelecimento_publicado_count").next()["qtde"]

        return {"itens":res, "qtde": qtde}
Пример #2
0
    def getEstabelecimentosCategoria(self, limit=None, offset=None,
                                     regiao=None, categoria=None, nome=None,
                                     exportar=1, admin=1):

        portal = Portal(id_site=self.id_site,
                        request=self.request)

        if nome=='todos':
            nome=None
        res = []
        if categoria=='todas' and regiao !='todas' and nome == None :
            qtde = self.execSql("select_count_estabelecimento_regiao",
                                 regiao=int(regiao)).next()["qtde"]

            for i in self.execSql("select_estabelecimento_regiao",
                                   regiao=int(regiao),
                                   limit=int(limit),
                                   offset=int(offset)):
                i['url'] = self._getUrlByApp(env_site=self.id_site,
                                              schema=self.schema,
                                              id_conteudo=i["id_conteudo"],
                                              exportar=exportar,
                                              admin=admin)
                i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site)
                i["categorias"]=[]
                for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])):
                    categoria = {"id_categoria":j["id_categoria"],
                                 "nome":j["nome"]}
                    i["categorias"].append(categoria)

                res.append(i)

            return {"itens":res, "qtde":qtde}
      
        elif regiao =='todas' and categoria !='todas' and nome == None :
            qtde = self.execSql("select_count_estabelecimento_categoria",
                                 categoria=int(categoria)).next()["qtde"]

            for i in self.execSql("select_estabelecimento_categoria",
                                   categoria=int(categoria),
                                   limit=int(limit),
                                   offset=int(offset)):
                i['url'] = self._getUrlByApp(env_site=self.id_site,
                                              schema=self.schema,
                                              id_conteudo=i["id_conteudo"],
                                              exportar=exportar,
                                              admin=admin)
                i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site)
                i["categorias"]=[]
                for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])):
                    categoria = {"id_categoria":j["id_categoria"],
                                 "nome":j["nome"]}
                    i["categorias"].append(categoria)
                res.append(i)

            return {"itens":res, "qtde":qtde}

        
        elif regiao =='todas' and categoria =='todas' and nome !=None :

            qtde = self.execSql("select_estabelecimento_nome_count",
                                 nome=nome).next()["qtde"]

            for i in self.execSql("select_estabelecimento_nome",
                                   nome=nome,
                                   limit=int(limit),
                                   offset=int(offset)):
                i['url'] = self._getUrlByApp(env_site=self.id_site,
                                              schema=self.schema,
                                              id_conteudo=i["id_conteudo"],
                                              exportar=exportar,
                                              admin=admin)
                i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site)
                i["categorias"]=[]
                for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])):
                    categoria = {"id_categoria":j["id_categoria"],
                                 "nome":j["nome"]}
                    i["categorias"].append(categoria)

                res.append(i)

            return {"itens":res, "qtde":qtde}
    
        elif categoria =='todas' and regiao !='todas' and nome != None :
    
            qtde = self.execSql("select_estabelecimento_nome_regiao_count",
                                 regiao=int(regiao),
                                 nome=nome).next()["qtde"]

            for i in self.execSql("select_estabelecimento_nome_regiao",
                                   nome=nome,
                                   regiao=int(regiao),
                                   limit=int(limit),
                                   offset=int(offset)):
                i['url'] = self._getUrlByApp(env_site=self.id_site,
                                              schema=self.schema,
                                              id_conteudo=i["id_conteudo"],
                                              exportar=exportar,
                                              admin=admin)
                i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site)
                i["categorias"]=[]
                for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])):
                    categoria = {"id_categoria":j["id_categoria"],
                                 "nome":j["nome"]}
                    i["categorias"].append(categoria)

                res.append(i)

            return {"itens":res, "qtde":qtde}


        elif regiao =='todas' and  categoria !='todas' and nome != None : 

            qtde = self.execSql("select_estabelecimento_nome_categoria_count",
                                 categoria=int(categoria),
                                 nome=nome).next()["qtde"]

            for i in self.execSql("select_estabelecimento_nome_categoria",
                                   nome=nome,
                                   categoria=int(categoria),
                                   limit=int(limit),
                                   offset=int(offset)):
                i['url'] = self._getUrlByApp(env_site=self.id_site,
                                              schema=self.schema,
                                              id_conteudo=i["id_conteudo"],
                                              exportar=exportar,
                                              admin=admin)
                i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site)
                i["categorias"]=[]
                for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])):
                    categoria = {"id_categoria":j["id_categoria"],
                                 "nome":j["nome"]}
                    i["categorias"].append(categoria)

                res.append(i)

            return {"itens":res, "qtde":qtde}
              

        elif categoria != 'todas' and regiao !='todas' and nome==None:
            qtde = self.execSql("select_count_estabelecimento_categoria_regiao",
                                 categoria=int(categoria),
                                 regiao=int(regiao)).next()["qtde"]

            for i in self.execSql("select_estabelecimento_categoria_regiao",
                                   categoria=int(categoria),
                                   regiao=int(regiao),
                                   limit=int(limit),
                                   offset=int(offset)):
                i['url'] = self._getUrlByApp(env_site=self.id_site,
                                              schema=self.schema,
                                              id_conteudo=i["id_conteudo"],
                                              exportar=exportar,
                                              admin=admin)
                i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site)
                i["categorias"]=[]
                for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])):
                    categoria = {"id_categoria":j["id_categoria"],
                                 "nome":j["nome"]}
                    i["categorias"].append(categoria)

                res.append(i)

            return {"itens":res, "qtde":qtde}

        elif categoria != 'todas' and regiao !='todas' and nome !=None:

            qtde = self.execSql("select_count_estabelecimento_categoria_regiao_nome",
                                 nome= nome,
                                 categoria=int(categoria),
                                 regiao=int(regiao)).next()["qtde"]

            for i in self.execSql("select_estabelecimento_categoria_regiao_nome",
                                   nome=nome,
                                   categoria=int(categoria),
                                   regiao=int(regiao),
                                   limit=int(limit),
                                   offset=int(offset)):
                i['url'] = self._getUrlByApp(env_site=self.id_site,
                                              schema=self.schema,
                                              id_conteudo=i["id_conteudo"],
                                              exportar=exportar,
                                              admin=admin)
                i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site)
                i["categorias"]=[]
                for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])):
                    categoria = {"id_categoria":j["id_categoria"],
                                 "nome":j["nome"]}
                    i["categorias"].append(categoria)

                res.append(i)

            return {"itens":res, "qtde":qtde}

        else:
        
            qtde = self.execSql("select_estabelecimento_publicado_count").next()["qtde"]
            
            for i in self.execSql("select_estabelecimento_publicado",
                                   limit=int(limit),
                                   offset=int(offset)):
                i['url'] = self._getUrlByApp(env_site=self.id_site,
                                              schema=self.schema,
                                              id_conteudo=i["id_conteudo"],
                                              exportar=exportar,
                                              admin=admin)
                i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site)
                i["categorias"]=[]
                for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])):
                    categoria = {"id_categoria":j["id_categoria"],
                                 "nome":j["nome"]}
                    i["categorias"].append(categoria)

                res.append(i)

            return {"itens":res, "qtde":qtde}
Пример #3
0
    def getMoreEventos(self, limit, date, titulo, num, flag, date_limit = None):
        """
        returns more events
        """
        titulo = titulo.decode('utf-8').encode('latin-1')
        limit = int(limit)
        portal = Portal(id_site=self.id_site,
                        request=self.request)
        num = int(num)
        de = (num-1) * limit
        ate = limit
        evento = None
        lista = []
        flag = int(flag)
        if flag:
            select = "select_more_eventos_inicial"
            select_count = "select_more_eventos_inicial_count"
        else:
            select = "select_more_eventos_by_calendar"
            select_count = "select_more_eventos_by_calendar_count"

        if titulo!='todos' and date !='todas':

            for evento in self.execSql("select_eventos_by_calendar_and_title",
                                       de=int(de),
                                       ate=int(ate),
                                       date = str(date),
                                       titulo=titulo):
                
                evento["link"] = \
                portal.getUrlByApp(env_site=self.id_site,
                                   schema=self.schema,
                                   id_conteudo=evento["id_conteudo"],
                                   exportar=1,
                                   admin=1)
                p = strptime(evento["data_inicio"], "%Y-%m-%d %H:%M:%S")
                evento["data_inicio"] = strftime("%d/%m/%Y", p)
                evento["categorias"]=[]
                for k in self.execSql("select_categoria_evento", id_conteudo=int(evento['id_conteudo'])):
                    categoria = {"id_categoria":k["id_categoria"],
                                 "nome_categoria":k["nome_categoria"]}
                    evento["categorias"].append(categoria)
                for j in self.execSql("select_destaque",
                                      id_conteudo=evento["id_conteudo"]):

                    evento["destaque"] = {"id_destaque": j["id_destaque"],
                                          "titulo_destaque": j["titulo"],
                                          "descricao_destaque": j["descricao"],
                                          "imagem_destaque": j["img"],
                                          "peso_destaque": j["peso"]}
                    evento['destaque']['imagem_destaque'] = \
                    portal.getUrlByFile(evento['destaque']['imagem_destaque'],
                                        id_site=self.id_site)
                lista.append(evento)

        elif titulo=='todos' and date !='todas':

            for evento in self.execSql(select,
                                       de=int(de),
                                       ate=int(ate),
                                       date = str(date)):

                evento["link"] = \
                portal.getUrlByApp(env_site=self.id_site,
                                   schema=self.schema,
                                   id_conteudo=evento["id_conteudo"],
                                   exportar=1,
                                   admin=1)
                p = strptime(evento["data_inicio"], "%Y-%m-%d %H:%M:%S")
                evento["data_inicio"] = strftime("%d/%m/%Y", p)
                evento["categorias"]=[]
                for k in self.execSql("select_categoria_evento", id_conteudo=int(evento['id_conteudo'])):
                    categoria = {"id_categoria":k["id_categoria"],
                                 "nome_categoria":k["nome_categoria"]}
                    evento["categorias"].append(categoria)
                for j in self.execSql("select_destaque",
                                      id_conteudo=evento["id_conteudo"]):

                    evento["destaque"] = {"id_destaque": j["id_destaque"],
                                          "titulo_destaque": j["titulo"],
                                          "descricao_destaque": j["descricao"],
                                          "imagem_destaque": j["img"],
                                          "peso_destaque": j["peso"]}
                    evento['destaque']['imagem_destaque'] = \
                    portal.getUrlByFile(evento['destaque']['imagem_destaque'],
                                        id_site=self.id_site)
                lista.append(evento)

        elif titulo !='todos' and date=='todas':

            for evento in self.execSql("select_more_eventos_by_titulo",
                                       de=int(de),
                                       ate=int(ate),
                                       titulo=titulo):

                evento["link"] = portal.getUrlByApp(env_site=self.id_site,
                                                    schema=self.schema,
                                                    id_conteudo=evento["id_conteudo"],
                                                    exportar=1,
                                                    admin=1)

                p = strptime(evento["data_inicio"],
                             "%Y-%m-%d %H:%M:%S")

                evento["data_inicio"] = strftime("%d/%m/%Y", p)
                evento["categorias"]=[]
                for k in self.execSql("select_categoria_evento", id_conteudo=int(evento['id_conteudo'])):
                    categoria = {"id_categoria":k["id_categoria"],
                                 "nome_categoria":k["nome_categoria"]}
                    evento["categorias"].append(categoria)
                for j in self.execSql("select_destaque",
                                      id_conteudo=evento["id_conteudo"]):

                    evento["destaque"] = {"id_destaque": j["id_destaque"],
                                          "titulo_destaque": j["titulo"],
                                          "descricao_destaque": j["descricao"],
                                          "imagem_destaque": j["img"],
                                          "peso_destaque": j["peso"]}

                    evento['destaque']['imagem_destaque'] = \
                    portal.getUrlByFile(evento['destaque']['imagem_destaque'],
                                        id_site=self.id_site)

                lista.append(evento)

        #verifica se a data é a atual e coloca da um set no "ate"
        if(date_limit):

            date_limit = date_limit

        else:

            date_limit = date

        #monta a paginação
        if titulo!='todos' and date !='todas':

            cont = list(self.execSql("select_eventos_by_calendar_title_count",
                                     date=str(date),
                                     titulo=titulo))

        if titulo=='todos' and date !='todas':

            cont = list(self.execSql(select_count,
                                     date = str(date)))

        if titulo !='todos' and date=='todas':

            cont = list(self.execSql("select_more_eventos_by_titulo_count",
                        titulo = titulo))

        num = cont[0].get("count")

        if num>limit:

            result = (num /float(limit))
            result = math.ceil(result)

        else:

            result = 1

        x = ""

        for x in range(int(result)):

            paginas = {}
            pagina_int = x+1
            pagina = str(pagina_int)
            paginas["pagina"]=pagina
            lista.append(paginas)

        #transforma os dados em string pra retornar na lista
        if titulo != 'todos' and date != 'todas':

            cabecalho_lista = {"paginas":result,
                               "total":num}
            lista.append(cabecalho_lista)
            return lista

        if titulo == 'todos' and date != 'todas':

            p = strptime(date, "%Y-%m-%d")
            dated = strftime("%d/%m/%Y", p)
            date = str(dated)
            result = str(result)
            num = str(num)
            #total_eventos= list(self.execSql("select_count_eventos"))
            #total = total_eventos[0].get("count")
            #ultima_data= list(self.execSql("select_ultima_data",
            #                               ultima_date = int(total-1)))
            #date_down= ultima_data[0].get("data_inicio")
            #o = strptime(date_down, "%Y-%m-%d %H:%M:%S")
            #dateli = strftime("%d/%m/%Y", o)
            #date_limit = str(dateli)
            cabecalho_lista = {"paginas":result,
                               "de":date,
                               "total":num}

            lista.append(cabecalho_lista)
            return lista

        if titulo != 'todos' and date == 'todas':

            cabecalho_lista = {"paginas":result,
                               "total":num}
            lista.append(cabecalho_lista)
            return lista