def addConteudo(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): """ Metodo chamado ao adicionar um estabelecimento. """ portal = Portal(id_site=self.id_site, request=self.request) id_conteudo = self.execSql("select_nextval_conteudo").next()["id"] 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.execSqlBatch("insert_conteudo_", titulo=titulo, filiado=filiado, descricao=descricao, informacoes=informacoes, publicado=publicado, 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) self.execSqlBatch("insert_destaque", id_conteudo=int(id_conteudo), titulo=titulo_destaque, descricao=descricao_destaque, img=imagem_destaque) 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._addConteudo(env_site=self.id_site, id_pk=id_conteudo, id_aplicativo=id_aplicativo, schema=self.schema, meta_type=self.meta_type, 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 adicionado com sucesso! " "Publicação iniciada.") portal._insertLog(self.id_site, "Estabelecimento '%s' adicionado" % titulo) return "Estabelecimento adicionado com sucesso!"
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, musica="",**kargs): """ Edita os dados """ 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.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), musica=musica) self.execSqlBatch("delete_persona", id_conteudo=id_conteudo) for i in kargs.get("persona"): self.execSqlBatch("insert_persona", id_conteudo=id_conteudo, id_caracteristica=int(i)) 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() 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_xml == "null": exportar_xml = 0 if exportar_json == "null": exportar_json = 0 if exportar or exportar_xml or exportar_json: portal._insertLog(self.id_site, "Conteúdo '%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 ("Conteúdo editado com sucesso! " "Publicação iniciada.") portal._insertLog(self.id_site, "Conteúdo '%s' editado" % titulo) return "Conteúdo editado com sucesso!"
def addConteudo(self, titulo, publicado_em, publicado, id_aplicativo, id_treeapp, permissao, relacionamento="", exportar="", expira_em="", imagem="", descricao="", titulo_destaque="", descricao_destaque="", imagem_destaque="", musica="", **kargs): """ Metodo chamado ao adicionar """ portal = Portal(id_site=self.id_site, request=self.request) id_conteudo = self.execSql("select_nextval_conteudo").next()["id"] publicado = True if publicado else False tags = kargs.get("tags") 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.execSqlBatch("insert_conteudo_", titulo=titulo, descricao=descricao, publicado=publicado, imagem=id_imagem, publicado_em=publicado_em, expira_em=expira_em, id_conteudo=int(id_conteudo), musica=musica) for i in kargs.get("persona"): self.execSqlBatch("insert_persona", id_conteudo=id_conteudo, id_caracteristica=int(i)) 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) self.execSqlBatch("insert_destaque", id_conteudo=int(id_conteudo), titulo=titulo_destaque, descricao=descricao_destaque, img=imagem_destaque) self.execSqlCommit() dados = self._setDados(id_conteudo=id_conteudo) portal._addConteudo(env_site=self.id_site, id_pk=id_conteudo, id_aplicativo=id_aplicativo, schema=self.schema, meta_type=self.meta_type, 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) exportar_xml = kargs.get("exportar_xml") != "null" exportar_json = kargs.get("exportar_xml") != "null" if exportar or exportar_xml or exportar_json: portal._insertLog(self.id_site, "Conteúdo '%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 ("Conteúdo adicionado com sucesso! " "Publicação iniciada.") portal._insertLog(self.id_site, "Conteúdo '%s' adicionado" % titulo) return "Conteúdo adicionado com sucesso!"
except ValueError, e: raise UserError(("Ocorreu um erro: " "Data de publicaçåo " "inválida (%s)") % publicado_em) try: p = strptime(expira_em, "%d/%m/%Y %H:%M") expira_em = strftime("%Y-%m-%d %H:%M", p) except ValueError, e: expira_em = None # inserir conteudo portal = Portal(id_site=self.id_site, request=self.request) id_conteudo = self.execSql("select_nextval_conteudo").next()["id"] id_imagem = portal.addArquivo(arquivo=imagem, id_conteudo=id_conteudo, schema=self.schema, dt=dt) if not endereco: endereco = "{0}, n.{1}, {2}, {3}".format(rua, num, cidade, estado) if not (lat) or not (lng): try: lat, lng = self.gerarMapa(endereco) except Exception, exp: lat, lng = (0,0) self.execSqlBatch("insert_conteudo", id_conteudo=id_conteudo, titulo=titulo, pagamento=pagamento, descricao=descricao,