예제 #1
0
파일: app.py 프로젝트: intip/da-apps
    def editMenu(self, id_aplicativo, id_treeapp, id_conteudo, titulo, json,
                       exportar=None, exportar_json=None, exportar_xml=None):
        """
        """
        self.execSqlu("update_menu",
                      id_conteudo=int(id_conteudo),
                      titulo=titulo,
                      json=unquote(json)) 

        portal = Portal(id_site=self.id_site,
                        request=self.request)
        portal._editConteudo(env_site=self.id_site,
                             id_pk=id_conteudo,
                             id_aplicativo=int(id_aplicativo),
                             schema=self.schema,
                             id_treeapp=id_treeapp,
                             titulo=titulo,
                             publicado=True,
                             publicado_em=strftime("%Y-%m-%d %H:%M"),
                             expira_em=None,
                             titulo_destaque=None,
                             descricao_destaque=None,
                             imagem_destaque=None,
                             permissao=None,
                             tags=None)

        if exportar_xml or exportar_json or exportar:

            portal._insertLog(self.id_site,
                              "DA-Menu '%s' editado e publicado" % titulo)

            portal._exportarFormatosConteudo(id_aplicativo=id_aplicativo,
                                             id_conteudo=id_conteudo,
                                             schema=self.schema,
                                             id_treeapp=id_treeapp,
                                             html=exportar,
                                             xml=None,
                                             json=None,
                                             dados={},
                                             subitems=None,
                                             edit=1)

            return ("DA-Menu editado com sucesso! "
                    "Publicação iniciada.")

        self.logmsg = "DA-Menu editado '%s'" % titulo
        return "Menu editado com sucesso!"
예제 #2
0
파일: adm.py 프로젝트: intip/da-apps
    def editConteudo(self, id_conteudo=None, id_treeapp=None, 
                     id_aplicativo=None,
                     titulo_destaque=None, imagem_destaque=None, publicado=None,
                     relacionamento=[], titulo=None, descricao=None,
                     filiado=None, informacoes=None, imagem=None, tags=None,
                     publicado_em=None, expira_em=None, exportar=None,
                     id_destaque=None, exportar_xml=None, exportar_json=None,
                     descricao_destaque=None, permissao=None, tipo=None):
        """
            Edita os dados de um estabelecimento
        """
        portal = Portal(id_site=self.id_site, request=self.request)
        publicado = True if publicado else False
        tags = tags if tags else None
        data_publicado = publicado_em

        try:
            nova_data = strptime(publicado_em, "%d/%m/%Y %H:%M")
            publicado_em = strftime("%Y-%m-%d %H:%M", nova_data)
        except ValueError:
            raise UserError("Ocorreu um erro: "
                            "Data de publicaçåo "
                            "inválida (%s)" % publicado_em)
        try:
            novo_expira = strptime(expira_em, "%d/%m/%Y %H:%M")
            expira_em = strftime("%Y-%m-%d %H:%M", novo_expira)
        except ValueError:
            expira_em = None

        id_imagem = portal.addArquivo(arquivo=imagem,
                             id_conteudo=id_conteudo,
                             schema=self.schema,
                             dt=data_publicado)
        
        self.execSqlu("delete_tipo_conteudo", id_conteudo=int(id_conteudo))

        self.execSqlBatch("update_conteudo", titulo=titulo, filiado=filiado,
                      descricao=descricao, informacoes=informacoes,
                      imagem=id_imagem, publicado_em=publicado_em,
                      expira_em=expira_em, id_conteudo=int(id_conteudo))

        if titulo_destaque or imagem_destaque or descricao_destaque:
            if not imagem_destaque:
                imagem_destaque = None
            else:
                imagem_destaque = portal.addArquivo(arquivo=imagem_destaque,
                                                    id_conteudo=id_conteudo,
                                                    schema=self.schema,
                                                    dt=data_publicado)

            if id_destaque:
                self.execSqlBatch("update_destaque",
                                  id_destaque=int(id_destaque),
                                  titulo=titulo_destaque,
                                  descricao=descricao_destaque,
                                  img=imagem_destaque)
            else:
                self.execSqlBatch("insert_destaque",
                                  id_conteudo=int(id_conteudo),
                                  titulo=titulo_destaque,
                                  descricao=descricao_destaque,
                                  img=imagem_destaque)
        elif id_destaque:
            self.execSqlBatch("delete_destaque",
                              id_destaque=int(id_destaque))
            titulo_destaque = None
            descricao_destaque = None
            imagem_destaque = None

        self.execSqlCommit()
        try:
            for tipo_selecionado in tipo:
                tipo_selecionado = tipo_selecionado.strip('d')
                self.execSqlu("insert_tipo_conteudo", 
                                  id_tipo=int(tipo_selecionado), 
                                  id_conteudo=int(id_conteudo),
                                  nome=self.getNomeTipo(int(tipo_selecionado)))
        except TypeError:
            raise UserError("Selecione ao menos um tipo de estabelecimento.")
        dados = self._setDados(id_conteudo=id_conteudo)
        portal._editConteudo(env_site=self.id_site,
                             id_pk=id_conteudo,
                             id_aplicativo=int(id_aplicativo),
                             schema=self.schema,
                             id_treeapp=id_treeapp,
                             titulo=titulo,
                             publicado=publicado,
                             publicado_em=publicado_em,
                             expira_em=expira_em,
                             titulo_destaque=titulo_destaque,
                             descricao_destaque=descricao_destaque,
                             imagem_destaque=imagem_destaque,
                             permissao=permissao,
                             tags=tags,
                             relacionamento=relacionamento,
                             dados=dados)

        if exportar or exportar_xml or exportar_json:
            portal._insertLog(self.id_site,
                              "Estabelecimento '%s' editado" % titulo)
            portal._exportarFormatosConteudo(id_aplicativo=id_aplicativo,
                                             id_conteudo=id_conteudo,
                                             schema=self.schema,
                                             id_treeapp=id_treeapp,
                                             html=exportar,
                                             xml=exportar_xml,
                                             json=exportar_json,
                                             subitems=None,
                                             add=1)
            return ("Estabelecimento editado com sucesso! "
                    "Publicação iniciada.")

        portal._insertLog(self.id_site,
                          "Estabelecimento'%s' editado" % titulo)
        return "Estabelecimento editado com sucesso!"