Exemple #1
0
 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()
Exemple #3
0
    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()
Exemple #4
0
    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()))
Exemple #5
0
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)
Exemple #7
0
    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)
Exemple #9
0
 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)
Exemple #10
0
    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", "")
Exemple #11
0
 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)
Exemple #12
0
 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")
Exemple #13
0
 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)
Exemple #15
0
 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")
Exemple #16
0
    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()
Exemple #18
0
 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")
Exemple #19
0
 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)
Exemple #20
0
    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()
Exemple #22
0
    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()
Exemple #23
0
    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()
Exemple #24
0
 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")
Exemple #25
0
 def loadEstados(self):
     s1 = models.sessions()
     valores = [(row.descripcion, row.id)
                for row in s1.query(models.TableEstadoCausa)]
     return valores
Exemple #26
0
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
Exemple #27
0
 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