Ejemplo n.º 1
0
    def filtrar(self):
        logger.info("Aplico filtre...")
        body = self.msg.get_body()

        subject = self.msg.get_subject()
        if len(subject) == 0:
            subject = "Ticket de %s" % self.solicitant

        if self.msg.get_reply_to() is not None:
            from_or_reply_to = self.msg.get_reply_to()
        else:
            from_or_reply_to = self.msg.get_from()

        parametres_addicionals = self.obtenir_parametres_addicionals()
        logger.info("A veure si puc crear el ticket de %s" % self.solicitant)
        descripcio = (
            "[Tiquet creat des del correu de %s a %s del %s a les %s]" %
            (self.msg.get_from(),
             self.msg.get_to(), self.msg.get_date().strftime("%d/%m/%Y"),
             self.msg.get_date().strftime("%H:%M"))) + "<br><br>" + body

        parametres = {
            'assumpte': subject,
            'solicitant': self.solicitant,
            'emailSolicitant': from_or_reply_to,
            'descripcio': self.netejar_html(descripcio)
        }
        parametres.update(parametres_addicionals)
        resultat = self.tickets.alta_tiquet(**parametres)

        if SOAService.resultat_erroni(resultat):
            logger.info("Error: %s - %s" %
                        (resultat['codiRetorn'], resultat['descripcioError']))
            return False

        logger.info("Ticket creat")

        ticket_id = resultat['codiTiquet']
        descripcio = self.afegir_attachments_canviant_body(
            ticket_id, self.solicitant, descripcio)

        logger.info("Attachments (si n'hi ha) afegits")

        if settings.get("assignar_data_resolucio_amb_data_creacio"):
            data_resolucio = time.strftime("%d-%m-%Y")
        else:
            data_resolucio = ''

        resultat = self.tickets.modificar_tiquet(
            codiTiquet=ticket_id,
            descripcio=self.netejar_html(descripcio),
            dataResol=data_resolucio)

        if SOAService.resultat_erroni(resultat):
            logger.info("Error: %s - %s" %
                        (resultat['codiRetorn'], resultat['descripcioError']))
        else:
            logger.info("Mail modificat a %s" % self.msg.get_from())

        return True
Ejemplo n.º 2
0
    def filtrar(self):
        body = self.msg.get_body()
        if self.solicitant == self.solicitant_segons_ticket:
            notificat = 'N'
        else:
            notificar_comentaris = settings.get("notificar_comentaris_afegits")
            if notificar_comentaris is None:
                notificar_comentaris = True
            notificat = 'S' if notificar_comentaris else 'N'
        body = self.afegir_attachments_canviant_body(self.ticket_id,
                                                     self.solicitant, body)
        funcio_netejar_mail_reply = settings.get("netejar_mail_reply")
        if funcio_netejar_mail_reply:
            body = funcio_netejar_mail_reply(body)
        resultat = self.tickets.afegir_comentari_tiquet(
            codiTiquet=self.ticket_id,
            usuari=self.solicitant,
            descripcio=("[Comentari afegit des del correu de %s" %
                        self.msg.get_from()) +
            (" del %s" % self.msg.get_date().strftime("%d/%m/%Y")) +
            (" a les %s]<br><br>" % self.msg.get_date().strftime("%H:%M")) +
            body,
            tipusComentari='COMENT_TIQUET_PRIVAT'
            if self.privat else 'COMENT_TIQUET_PUBLIC',
            esNotificat=notificat if not self.privat else 'N')

        if SOAService.resultat_erroni(resultat):
            logger.info("Error: %s - %s" %
                        (resultat['codiRetorn'], resultat['descripcioError']))
            return False

        logger.info("Comentari afegit")
        return True
Ejemplo n.º 3
0
    def filtrar(self):
        body = self.msg.get_body()
        if self.solicitant == self.solicitant_segons_ticket:
            notificat = 'N'
        else:
            notificar_comentaris = settings.get("notificar_comentaris_afegits")
            if notificar_comentaris is None:
                notificar_comentaris = True
            notificat = 'S' if notificar_comentaris else 'N'
        body = self.afegir_attachments_canviant_body(
            self.ticket_id,
            self.solicitant,
            body
        )
        funcio_netejar_mail_reply = settings.get("netejar_mail_reply")
        if funcio_netejar_mail_reply:
            body = funcio_netejar_mail_reply(body)
        resultat = self.tickets.afegir_comentari_tiquet(
            codiTiquet=self.ticket_id,
            usuari=self.solicitant,
            descripcio=(
                "[Comentari afegit des del correu de %s" % self.msg.get_from()
            ) + (
                " del %s" % self.msg.get_date().strftime("%d/%m/%Y")
            ) + (
                " a les %s]<br><br>" % self.msg.get_date().strftime("%H:%M")
            ) + body,
            tipusComentari='COMENT_TIQUET_PRIVAT'
            if self.privat else 'COMENT_TIQUET_PUBLIC',
            esNotificat=notificat if not self.privat else 'N'
        )

        if SOAService.resultat_erroni(resultat):
            logger.info("Error: %s - %s" % (
                resultat['codiRetorn'],
                resultat['descripcioError']
            ))
            return False

        logger.info("Comentari afegit")
        return True
Ejemplo n.º 4
0
 def __init__(self):
     self.url = "https://bus-soa.upc.edu/GestioIdentitat/Personesv6?wsdl"
     self.identitat_local = GestioIdentitatLocal()
     SOAService.__init__(self)
Ejemplo n.º 5
0
 def test_resultat_erroni_false(self):
     resultat = {'codiRetorn': "1"}
     self.assertFalse(SOAService.resultat_erroni(resultat))
Ejemplo n.º 6
0
 def test_resultat_erroni_true(self):
     resultat = {'codiRetorn': "2"}
     self.assertTrue(SOAService.resultat_erroni(resultat))
Ejemplo n.º 7
0
 def __init__(self):
     self.url = "https://bus-soa.upc.edu/gN6/GestioTiquetsv5?wsdl"
     self.username_gn6 = settings.get("username_gn6")
     self.password_gn6 = settings.get("password_gn6")
     self.domini = settings.get("domini")
     SOAService.__init__(self)
Ejemplo n.º 8
0
 def test_resultat_erroni_true(self):
     resultat = {'codiRetorn': "2"}
     self.assertTrue(SOAService.resultat_erroni(resultat))
Ejemplo n.º 9
0
 def test_resultat_erroni_false(self):
     resultat = {'codiRetorn': "1"}
     self.assertFalse(SOAService.resultat_erroni(resultat))
Ejemplo n.º 10
0
 def __init__(self):
     self.url = "https://bus-soa.upc.edu/gN6/GestioTiquetsv5?wsdl"
     self.username_gn6 = settings.get("username_gn6")
     self.password_gn6 = settings.get("password_gn6")
     self.domini = settings.get("domini")
     SOAService.__init__(self)
Ejemplo n.º 11
0
    def filtrar(self):
        logger.info("Aplico filtre...")
        body = self.msg.get_body()

        subject = self.msg.get_subject()
        if len(subject) == 0:
            subject = "Ticket de %s" % self.solicitant

        if self.msg.get_reply_to() is not None:
            from_or_reply_to = self.msg.get_reply_to()
        else:
            from_or_reply_to = self.msg.get_from()

        parametres_addicionals = self.obtenir_parametres_addicionals()
        logger.info("A veure si puc crear el ticket de %s" % self.solicitant)
        descripcio = (
            "[Tiquet creat des del correu de %s del %s a les %s]<br><br>" % (
                self.msg.get_from(),
                self.msg.get_date().strftime("%d/%m/%Y"),
                self.msg.get_date().strftime("%H:%M")
            )
        ) + body

        parametres = {
            'assumpte': subject,
            'solicitant': self.solicitant,
            'emailSolicitant': from_or_reply_to,
            'descripcio': self.netejar_html(descripcio)
        }
        parametres.update(parametres_addicionals)
        resultat = self.tickets.alta_tiquet(**parametres)

        if SOAService.resultat_erroni(resultat):
            logger.info("Error: %s - %s" % (
                resultat['codiRetorn'],
                resultat['descripcioError']
            ))
            return False

        logger.info("Ticket creat")

        ticket_id = resultat['codiTiquet']
        descripcio = self.afegir_attachments_canviant_body(
            ticket_id,
            self.solicitant,
            descripcio
        )

        logger.info("Attachments (si n'hi ha) afegits")

        if settings.get("assignar_data_resolucio_amb_data_creacio"):
            data_resolucio = time.strftime("%d-%m-%Y")
        else:
            data_resolucio = ''

        resultat = self.tickets.modificar_tiquet(
            codiTiquet=ticket_id,
            descripcio=self.netejar_html(descripcio),
            dataResol=data_resolucio
        )

        if SOAService.resultat_erroni(resultat):
            logger.info("Error: %s - %s" % (
                resultat['codiRetorn'],
                resultat['descripcioError']
            ))
        else:
            logger.info("Mail modificat a %s" % self.msg.get_from())

        return True