def test_a_estadocausa(self): tipos = ["Ingresado", "Asignado", "En confección", "Terminado"] s1 = models.sessions() s1.add_all([models.TableEstadoCausa(descripcion=x) for x in tipos]) s1.commit() nro = s1.query(models.TableEstadoCausa).count() self.assertEqual(nro, len(tipos), "No agrego todos los estados")
def AddTipoOficinaOnLeftDClick(self, event): dlg = wx.TextEntryDialog( self, "Ingrese la descripción del nuevo tipo de destinatario", "Editar Tipo Destinatario", "", ) dlg.SetValue("") if dlg.ShowModal() == wx.ID_OK: # self.log.WriteText('You entered: %s\n' % dlg.GetValue()) s1 = models.sessions() model = models.TableTipoDestinatario() try: model.descripcion = dlg.GetValue() s1.add(model) s1.commit() self.mapper.idTipo.reload(self.loadTipoDestinatarios()) self.mapper.idTipo.SetValue(model.id) except IntegrityError: wx.MessageDialog( self, "El tipo de oficina ya se encuentra agregado").ShowModal() s1.rollback() dlg.Destroy()
def btGuardarOnButtonClick(self, event): s1 = models.sessions() self.paEscritoNvo.to_model(self.model) self.error = False if self.btGuardar.GetLabel() == BORRAR_LABEL: try: s1.add(self.model) s1.delete(self.model) s1.commit() self.resultado = True # self.enable_edicion_escritos(True) except IntegrityError as e: self.error = "El escrito no puede ser borrado\n" + str(e) else: try: s1.add(self.model) s1.commit() self.resultado = True except IntegrityError as e: self.error = "El escrito no puede ser grabado\n" + str(e) if self.error: wx.MessageDialog(self, self.error).ShowModal() s1.rollback() else: self.Close()
def test_g_relobjetoescrito(self): s1 = models.sessions() idCausa = s1.query(models.TableCausa)[0].idCausa objetos = models.objects_rel_causa(idCausa) relaciones = s1.query(models.TableRelEscObj).\ filter(models.TableRelEscObj.idCausa == idCausa).all() self.assertEqual(len(relaciones), len(objetos.all()))
def test_db(usr): s1 = models.sessions() userlogin = (s1.query( models.TableUsuario).filter(models.TableUsuario.id == usr).first()) if userlogin: return usr else: return False
def lsOficinasOnListItemSelected(self, event): idOficina = self.list.get_key(event.Index) s1 = models.sessions() self.model = (s1.query(models.TableDestinatario).filter( models.TableDestinatario.id == idOficina).first()) self.from_model(self.model) self.selected = self.model.id s1.expunge(self.model)
def __init__( self, parent, idCausa=None, idEscrito=None, ObjetoRelacionado="", idObjetoRelacionado=None, idObjeto=None, delete=False, ): super().__init__(parent) self.error = False self.paObjetoNvo = PanelObjeto.ctrlPanelObjeto(self, ObjetoRelacionado) replace_widget(self, self.paObjeto, self.paObjetoNvo) self.Layout() self.idCausa = idCausa self.idObjeto = idObjeto self.idEscrito = idEscrito self.idObjetoRelacionado = idObjetoRelacionado if idObjeto is None: # self.enable_edicion_Objetos(False) if idObjetoRelacionado: s1 = models.sessions() parentobject = (s1.query( models.TableObjeto).filter(models.TableObjeto.idObjeto == idObjetoRelacionado).first()) if parentobject: self.paObjetoNvo.from_model(parentobject) self.paObjetoNvo.tcDescripcion.Clear() self.model = models.TableObjeto() else: s1 = models.sessions() self.model = (s1.query(models.TableObjeto).filter( models.TableObjeto.idObjeto == idObjeto).first()) self.paObjetoNvo.from_model(self.model) s1.expunge(self.model) if delete: self.paObjetoNvo.mapper.enable(False) self.btGuardar.SetLabel(BORRAR_LABEL) Tools.changeFont(self, 2) Tools.changeFont(self.paObjetoNvo, 2)
def __init__(self, parent, idCausa=None): super().__init__(parent) self.Maximize() self.paCausaNvo = PanelCausa.ctrlPanelCausa(self) replace_widget(self, self.paCausa, self.paCausaNvo) self.Layout() self.idCausa = idCausa self.list = ListViewObject.ListViewObject( self.lsEscritos, [ ListViewObject.Column("Escrito", "idEscrito"), ListViewObject.Column("Descripción", "descripcion", size=2), ListViewObject.Column("Ubicación", "ubicacionFisica"), ], itemkey="idEscrito", ) self.styles = self.list.styles self.error = False self.last_selected_item = None if idCausa is None: self.enable_edicion_lista(False) self.model = models.TableCausa() self.CreateTreeRoot() else: s1 = models.sessions() self.model = ( s1.query(models.TableCausa) .filter(models.TableCausa.idCausa == idCausa) .first() ) self.paCausaNvo.from_model(self.model) s1.expunge(self.model) s1 = models.sessions() for row in s1.query(models.TableEscrito).filter( models.TableEscrito.idCausa == idCausa ): self.list.change_item_list(row) self.LoadTree() Tools.changeFont(self, 2) Tools.changeFont(self.paCausaNvo, 2)
def test_h_creaobjeto(self): s1 = models.sessions() escrito = s1.query(models.TableEscrito)[0] objeto = models.TableObjeto(objetoRelacionado=None, descripcion="celular nokia", ubicacionFisica="ppp") relacion = models.TableRelEscObj(idCausa=escrito.idCausa, idEscrito=escrito.idEscrito, TableObjeto=objeto) s1.add(objeto) s1.add(relacion) s1.commit() s2 = models.sessions() nobjeto = s2.query(models.TableObjeto).\ filter(models.TableObjeto.idObjeto == objeto.idObjeto).all() self.assertEqual(objeto.idObjeto, nobjeto[0].idObjeto) relaciones = s2.query(models.TableRelEscObj).\ filter(models.TableRelEscObj.idCausa == escrito.idCausa).\ filter(models.TableRelEscObj.idEscrito == escrito.idEscrito).\ filter(models.TableRelEscObj.idObjeto == objeto.idObjeto).\ all() self.assertEqual(relacion.idObjeto, relaciones[0].idObjeto)
def btGuardarOnButtonClick(self, event): if auth.test_ldap(self.tcUsuario.GetValue(), self.tcClave.GetValue()): wx.MessageBox("El usuario es correcto! Guardando", "") s1 = models.sessions() self.mapper.to_model(self.model) s1.add(self.model) s1.commit() self.confirm = True self.Close() else: print(self.mapper.id, self.tcClave.GetValue()) wx.MessageBox("Ingrese un usuario de windows correcto", "")
def init_lista_causas(self): # for normal, simple columns, you can add them like this: self.list = ListViewObject.ListViewObject( self.lsPrincipal, [ ListViewObject.Column("Exp Judicial", "expteJud"), ListViewObject.Column("Carátula", "caratula", size=3), ListViewObject.Column("Exp Policial", "exptePol"), ListViewObject.Column("Id", "idCausa"), ], itemkey="idCausa", ) s1 = models.sessions() for row in s1.query(models.TableCausa).all(): self.list.change_item_list(row)
def test_b_causa(self): """Crear una causa.""" s1 = models.sessions() rows = [ models.TableCausa(idCausa=1, expteJud="123-15", exptePol="1234", expteOtro="zzz", idEstado=s1.query(models.TableEstadoCausa)[0].id, caratula="Perez Jose s/pavada"), ] s1.add_all(rows) s1.commit() nro = s1.query(models.TableCausa).count() self.assertEqual(nro, len(rows), "No agrego todas las causas")
def test_c_escritos(self): """Agregarle escritos""" s1 = models.sessions() rows = [ models.TableEscrito(idCausa=s1.query(models.TableCausa)[0].idCausa, idEscrito=1, descripcion="oficio NN", ubicacionFisica="kkk"), models.TableEscrito(idCausa=s1.query(models.TableCausa)[0].idCausa, idEscrito=2, descripcion="oficio NN+1", ubicacionFisica="lll") ] s1.add_all(rows) s1.commit() nro = s1.query(models.TableEscrito).count() self.assertEqual(nro, len(rows), "No agrego todos los escritos")
def init_lista_destinatarios(self): # for normal, simple columns, you can add them like this: self.item = None self.lsOficinas.ClearAll() self.list = ListViewObject.ListViewObject( self.lsOficinas, [ ListViewObject.Column("Circunscripcion", "circunscripcion"), ListViewObject.Column("Nombre", "nombre", size=2), ListViewObject.Column("A cargo", "aCargo", size=2), ListViewObject.Column("Id", "id"), ], itemkey="id", ) s1 = models.sessions() for row in s1.query(models.TableDestinatario).all(): self.list.change_item_list(row)
def test_e_objetorelacionado(self): """Agrego objetos relacionados a otros objetos""" s1 = models.sessions() nro_anterior = s1.query(models.TableObjeto).count() rows = [ models.TableObjeto(objetoRelacionado=s1.query( models.TableObjeto)[0].idObjeto, descripcion="disco rígido compu negra", ubicacionFisica="kkk"), models.TableObjeto(objetoRelacionado=s1.query( models.TableObjeto)[1].idObjeto, descripcion="disco rígido compu blanca", ubicacionFisica="kkk") ] s1.add_all(rows) s1.commit() nro = s1.query(models.TableObjeto).count() self.assertEqual(nro, nro_anterior + len(rows), "No agrego todos los objetos")
def btGuardarOnButtonClick(self, event): s1 = models.sessions() self.paCausaNvo.to_model(self.model) try: s1.add(self.model) s1.commit() self.idCausa = self.model.idCausa self.enable_edicion_lista(True) except IntegrityError as e: self.error = "La causa no puede ser grabada\n" + str(e) if self.error: wx.MessageDialog( self, "La causa no puede ser grabada\n" + str(e) ).ShowModal() s1.rollback()
def btDeleteOnButtonClick(self, event): if not self.model: wx.MessageDialog(self, "No hay oficina seleccionada").ShowModal() else: s1 = models.sessions() try: s1.add(self.model) s1.delete(self.model) s1.commit() wx.MessageDialog(self, "Oficina eliminada").ShowModal() self.list.delete_item() self.model = None self.clear() self.selected = None except IntegrityError as e: wx.MessageDialog(self, "La oficina no puede ser borrada\n" + str(e)).ShowModal() s1.rollback()
def test_d_objeto(self): """Creo objetos""" s1 = models.sessions() rows = [ models.TableObjeto(objetoRelacionado=None, descripcion="computadora negra", ubicacionFisica="kkk"), models.TableObjeto(objetoRelacionado=None, descripcion="celular samsung", ubicacionFisica="ppp"), models.TableObjeto(objetoRelacionado=None, descripcion="computadora blanca", ubicacionFisica="ppp"), models.TableObjeto(objetoRelacionado=None, descripcion="celular nokia", ubicacionFisica="ppp") ] s1.add_all(rows) s1.commit() nro = s1.query(models.TableObjeto).count() self.assertEqual(nro, len(rows), "No agrego todos los objetos")
def __init__(self, parent, idCausa, idEscrito=None, delete=False): super().__init__(parent) self.paEscritoNvo = PanelEscrito.ctrlPanelEscrito(self, idCausa) replace_widget(self, self.paEscrito, self.paEscritoNvo) self.Layout() self.resultado = False if idEscrito is None: # self.enable_edicion_escritos(False) self.model = models.TableEscrito() else: s1 = models.sessions() self.model = (s1.query(models.TableEscrito).filter( models.TableEscrito.idCausa == idCausa).filter( models.TableEscrito.idEscrito == idEscrito).first()) self.paEscritoNvo.from_model(self.model) s1.expunge(self.model) if delete: self.paEscritoNvo.mapper.enable(False) self.btGuardar.SetLabel(BORRAR_LABEL) Tools.changeFont(self, 2) Tools.changeFont(self.paEscritoNvo, 2)
def __init__(self, parent, usuario=None): super().__init__(parent) self.confirm = False self.mapper = Mapper( MapObj(self.tcUsuario, "id"), MapObj(self.tcNombre, "nombre"), MapObj(self.tcPresentacion, "presentacion"), MapObj(self.tcSello, "sello"), MapObj(self.tcDirectorio, "directorio"), MapObj(self.chGrupo, "grupousuario"), ) if usuario is None: self.mapper.id = getpass.getuser() self.model = models.TableUsuario() else: s1 = models.sessions() self.model = (s1.query(models.TableUsuario).filter( models.TableUsuario.id == usuario.name).first()) self.mapper.from_model(self.model) s1.expunge(self.model) Tools.changeFont(self, 2)
def btAddOnButtonClick(self, event): s1 = models.sessions() if not self.model: self.model = models.TableDestinatario() self.list.clear_item() self.to_model(self.model) try: s1.add(self.model) s1.commit() idx = self.list.change_item_list(self.model) self.selected = self.model.id self.list.show_selection() self.model = None self.clear() except IntegrityError as e: wx.MessageDialog( self, "La oficina no puede ser agregada agregado\n" + str(e)).ShowModal() s1.rollback()
def btGuardarOnButtonClick(self, event): s1 = models.sessions() self.paObjetoNvo.to_model(self.model) self.error = False if self.btGuardar.GetLabel() == BORRAR_LABEL: try: s1.add(self.model) s1.delete(self.model) s1.commit() except IntegrityError as error: self.error = "El Objeto no puede ser borrado\n" + str(error) else: try: s1.add(self.model) self.model.objetoRelacionado = self.idObjetoRelacionado if not self.idObjeto: relacion = models.TableRelEscObj(idCausa=self.idCausa, idEscrito=self.idEscrito, TableObjeto=self.model) s1.add(relacion) s1.commit() # wx.MessageDialog( # self, "El Objeto fue agregado" # + repr(self.model) # ).ShowModal() self.idObjeto = self.model.idObjeto self.Descripcion = self.model.descripcion s1.expunge(self.model) except IntegrityError as error: self.error = "El Objeto no puede ser grabado\n" + str(error) if self.error: wx.MessageDialog(self, self.error).ShowModal() s1.rollback() self.Close()
def lblEstadoOnLeftDClick(self, event): dlg = wx.TextEntryDialog(self, "Ingrese la descripción del nuevo estado", "Editar Estado", "") dlg.SetValue("") if dlg.ShowModal() == wx.ID_OK: s1 = models.sessions() modelEstado = models.TableEstadoCausa() try: modelEstado.descripcion = dlg.GetValue() s1.add(modelEstado) s1.commit() self.mapper.idEstado.reload(self.loadEstados()) self.mapper.idEstado.SetValue(modelEstado.id) except IntegrityError: wx.MessageDialog( self, "El estado ya se encuentra agregado").ShowModal() s1.rollback() dlg.Destroy()
def test_f_relobjetoescrito(self): """Agrego objetos relacionados a escritos""" s1 = models.sessions() escritos = s1.query(models.TableEscrito) objetos = s1.query(models.TableObjeto) rows = [ models.TableRelEscObj(idCausa=escritos[0].idCausa, idEscrito=escritos[0].idEscrito, idObjeto=objetos[0].idObjeto), models.TableRelEscObj(idCausa=escritos[0].idCausa, idEscrito=escritos[0].idEscrito, idObjeto=objetos[1].idObjeto), models.TableRelEscObj(idCausa=escritos[1].idCausa, idEscrito=escritos[1].idEscrito, idObjeto=objetos[2].idObjeto), models.TableRelEscObj(idCausa=escritos[1].idCausa, idEscrito=escritos[1].idEscrito, idObjeto=objetos[3].idObjeto) ] s1.add_all(rows) s1.commit() nro = s1.query(models.TableRelEscObj).count() self.assertEqual(nro, len(rows), "No agrego todas las relaciones escrito objeto")
def loadEstados(self): s1 = models.sessions() valores = [(row.descripcion, row.id) for row in s1.query(models.TableEstadoCausa)] return valores
def webhook(): # endpoint for processing incoming messaging events data = request.get_json() print("##############FROM webhook()################") log( data ) # you may not want to log every incoming message in production, but it's good for testing if data["object"] == "page": for entry in data["entry"]: for messaging_event in entry["messaging"]: if messaging_event.get("message"): # someone sent us a message if "attachments" in messaging_event['message']: if messaging_event['message']['attachments'][0][ 'type'] == "image": x = "hello" else: sender_id = messaging_event["sender"][ "id"] # the facebook ID of the person sending you the message recipient_id = messaging_event["recipient"][ "id"] # the recipient's ID, which should be your page's facebook ID message_text = messaging_event["message"][ "text"] # the message's text regex = "SUBSCRIBE.[UuPpIi].[0-9].[a-zA-z].[0-9][0-9]" pattern = re.compile(regex) string = message_text.upper() if pattern.match(string): add_subscriber(string, sender_id) send_message( sender_id, "You have been sucessfully subscribed !!") else: users = subscribers.query.filter( subscribers.user_fb_id == sender_id).all() if not users: send_message( sender_id, "You have not subscribed yet !!!!\nPlease Subscribe to use the bot" ) send_message( sender_id, "To Subscribe send message\nEg. SUBSCRIBE U15COXXX" ) else: upper_case_letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" digits = "0123456789" sessionID = ''.join( random.SystemRandom().choice( upper_case_letters + digits) for _ in range(7)) s = sessions(senderID=sender_id, sessionsID=sessionID) db.session.add(s) db.session.commit() send_message( sender_id, process_text_message( message_text, sessionID)) db.session.delete(s) db.session.commit() if messaging_event.get("delivery"): # delivery confirmation pass if messaging_event.get("optin"): # optin confirmation pass if messaging_event.get( "postback" ): # user clicked/tapped "postback" button in earlier message pass return "ok", 200
def loadDestinatarios(self): s1 = models.sessions() valores = [(row.id, row.id) for row in s1.query(models.TableDestinatario)] return valores
def loadTipoDestinatarios(self): s1 = models.sessions() valores = [(row.descripcion, row.id) for row in s1.query(models.TableTipoDestinatario)] return valores