示例#1
0
 def abrirprincipal(self):
     self.MainWindow = principal.Ui_MainWindow
     tela_principal = QtGui.QMainWindow()
     ui = principal.Ui_MainWindow()
     ui.setupUi(tela_principal)
     tela_principal.show()
     sys.exit(app.exec_())
示例#2
0
 def abrirprincipal(self):
     self.MainWindow = principal.Ui_MainWindow
     tela_principal = QtGui.QMainWindow()
     ui = principal.Ui_MainWindow()
     ui.setupUi(tela_principal, self.usuarios, self.nome_completo,
                self.telefone, self.email)
     tela_principal.show()
     sys.exit(app.exec_())
示例#3
0
    def registrarperfil(self):
        if self.senhainput.text() == self.confirmarsenhainput.text(
        ) and self.nomeinput.text() != '' and self.emailinput.text(
        ) != '' and self.celularinput.text() != '' and self.celularinput.text(
        ) != '' and self.usuarioinput.text() != '':
            dlg = QtGui.QMessageBox(None)
            dlg.setWindowTitle("Confirmação")
            dlg.setIcon(QtGui.QMessageBox.Question)
            dlg.setText("Deseja confirmar as informações?")
            dlg.setStandardButtons(QtGui.QMessageBox.Yes
                                   | QtGui.QMessageBox.No)
            dlg.setDefaultButton(QtGui.QMessageBox.Yes)
            dlg.setEscapeButton(QtGui.QMessageBox.No)
            resultado = dlg.exec_()

            if resultado == QtGui.QMessageBox.Yes:

                fb = firebase.FirebaseApplication(
                    'https://caronas.firebaseio.com')
                dicionario = {
                    'Nome': self.nomeinput.text(),
                    'email': self.emailinput.text(),
                    'telefone': self.celularinput.text(),
                    'senha': self.senhainput.text()
                }
                fb.put('Users', self.usuarioinput.text(), dicionario)
                self.nome_completo = self.nomeinput.text()
                self.telefone = self.celularinput.text()
                self.email = self.emailinput.text()

                self.MainWindow = principal.Ui_MainWindow
                tela_principal = QtGui.QMainWindow()
                ui = principal.Ui_MainWindow()
                ui.setupUi(tela_principal, self.usuarios, self.nome_completo,
                           self.telefone, self.email)
                tela_principal.show()
                sys.exit(app.exec_())

        else:
            dlg2 = QtGui.QMessageBox(None)
            dlg2.setWindowTitle("Erro")
            dlg2.setIcon(QtGui.QMessageBox.Warning)
            dlg2.setText("Preencha os campos corretamente, por favor.")
            dlg2.exec_()
示例#4
0
    def abrirprincipal(self):
        self.usuario = self.usuarioinput.text()

        fb = firebase.FirebaseApplication('https://caronas.firebaseio.com')
        pessoas = fb.get('/Users', None)

        if self.usuario in pessoas:

            fb2 = firebase.FirebaseApplication(
                'https://caronas.firebaseio.com/Users/')
            self.senha_pra_conferir = fb2.get(self.usuario, 'senha')

            if self.senha_pra_conferir == self.senhainput.text():
                self.nome_completo = fb2.get(self.usuario, 'Nome')
                self.telefone = fb2.get(self.usuario, 'telefone')
                self.email = fb2.get(self.usuario, 'email')

                self.MainWindow = principal.Ui_MainWindow
                tela_principal = QtGui.QMainWindow()
                ui = principal.Ui_MainWindow()
                ui.setupUi(tela_principal, self.usuario, self.nome_completo,
                           self.telefone, self.email)
                tela_principal.show()
                sys.exit(app.exec_())

            else:
                dlg = QtGui.QMessageBox(None)
                dlg.setWindowTitle("Erro")
                dlg.setIcon(QtGui.QMessageBox.Warning)
                dlg.setText("Senha incorreta.")
                dlg.exec_()

        else:
            dlg2 = QtGui.QMessageBox(None)
            dlg2.setWindowTitle("Erro")
            dlg2.setIcon(QtGui.QMessageBox.Warning)
            dlg2.setText("Usuário inexistente.")
            dlg2.exec_()
示例#5
0
    def registraroferta(self):
        dlg = QtGui.QMessageBox(None)
        dlg.setWindowTitle("Confirmação")
        dlg.setIcon(QtGui.QMessageBox.Question)
        dlg.setText("Deseja confirmar a oferta?")
        dlg.setStandardButtons(QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)
        dlg.setDefaultButton(QtGui.QMessageBox.Yes)
        dlg.setEscapeButton(QtGui.QMessageBox.No)
        resultado = dlg.exec_()

        if resultado == QtGui.QMessageBox.Yes:
            fb = firebase.FirebaseApplication('https://caronas.firebaseio.com',
                                              None)
            dicionario = {
                'Horário': self.horario.currentText(),
                'Dia': self.dia.currentText(),
                'Mês': self.mes.currentText(),
                'Local de Partida': self.partida.currentText(),
                'Local de Destino': self.destino.currentText(),
                'Lugares Necessários': self.lugares.currentText()
            }
            fb.put('/Ofertas', self.usuarios, dicionario)

            pedidos = fb.get('Pedidos', None)

            fb2 = firebase.FirebaseApplication(
                'https://caronas.firebaseio.com/Pedidos/')
            fb3 = firebase.FirebaseApplication(
                'https://caronas.firebaseio.com/Ofertas/')
            fb4 = firebase.FirebaseApplication(
                'https://caronas.firebaseio.com/Users/')

            lugar_saida_oferta = fb3.get(self.usuarios, 'Local de Partida')
            lugar_chegada_oferta = fb3.get(self.usuarios, 'Local de Destino')
            horario_oferta = fb3.get(self.usuarios, 'Horário')
            dia_oferta = fb3.get(self.usuarios, 'Dia')
            mes_oferta = fb3.get(self.usuarios, 'Mês')
            lugares_necessarios_oferta = fb3.get(self.usuarios,
                                                 'Lugares Necessários')

            for passageiro in pedidos:
                lugar_saida_pedido = fb2.get(passageiro, 'Local de Partida')
                lugar_chegada_pedido = fb2.get(passageiro, 'Local de Destino')
                horario_pedido = fb2.get(passageiro, 'Horário')
                dia_pedido = fb2.get(passageiro, 'Dia')
                mes_pedido = fb2.get(passageiro, 'Mês')
                lugares_necessarios_pedido = fb2.get(passageiro,
                                                     'Lugares Necessários')

                lgno = int(lugares_necessarios_oferta
                           )  #lugares ofertados transformado em número inteiro
                if lugares_necessarios_pedido != None:
                    lgnp = int(
                        lugares_necessarios_pedido
                    )  #lugares pedidos transformado em número inteiro
                else:
                    continue

                if lugar_saida_oferta == lugar_saida_pedido and lugar_chegada_oferta == lugar_chegada_pedido and lugares_necessarios_oferta >= lugares_necessarios_pedido and horario_oferta == horario_pedido and dia_oferta == dia_pedido and mes_oferta == mes_pedido:
                    nome = fb4.get(passageiro, 'Nome')
                    celular = fb4.get(passageiro, 'telefone')
                    email = fb4.get(passageiro, 'email')

                    fromaddr = '*****@*****.**'
                    toaddrs = email

                    msg = 'Seu passageiro é: {0}\nSeu telefone é: {1}\nSeu email é: {2}\nData: {3}/{4}\nHorário: {5}\n\nEntre em contato com seu carona para marcarem melhor!\nObrigado por escolher o Caronas Insper!\nA equipe agradece!!'.format(
                        nome, celular, email, dia_pedido, mes_pedido,
                        horario_pedido).encode('UTF-8')

                    server = smtplib.SMTP('insper.edu.br')
                    server.set_debuglevel(1)
                    server.sendmail(fromaddr, toaddrs, msg)
                    server.quit()

                    fromaddr = '*****@*****.**'
                    toaddrs = self.email

                    msg = 'Seu motorista é: {0}\nSeu telefone é: {1}\nSeu email é: {2}\nData: {3}/{4}\nHorário: {5}\n\nEntre em contato com seu carona para combinarem melhor!\nObrigado por escolher o Caronas Insper!\nA equipe agradece!!'.format(
                        self.nome_completo, self.telefone, self.email,
                        dia_oferta, mes_oferta, horario_oferta).encode('UTF-8')

                    server = smtplib.SMTP('insper.edu.br')
                    server.set_debuglevel(1)
                    server.sendmail(fromaddr, toaddrs, msg)
                    server.quit()

                    lgno -= lgnp

                    fb.delete('/Pedidos', passageiro)

                    if lgno > 0:
                        dicionario['Lugares Necessários'] = lgno
                        fb.put('/Ofertas', self.usuarios, dicionario)

                    dlg = QtGui.QMessageBox(None)
                    dlg.setWindowTitle("Carona")
                    dlg.setIcon(QtGui.QMessageBox.Information)
                    dlg.setText(
                        "As informações do seu passageiro estão no seu e-mail!"
                    )
                    dlg.exec_()
                    break
            else:
                dlg = QtGui.QMessageBox(None)
                dlg.setWindowTitle("Carona")
                dlg.setIcon(QtGui.QMessageBox.Information)
                dlg.setText(
                    "Não existem pedidos de carona no momento. Quando existir alguém, você será notificado por e-mail!"
                )
                dlg.exec_()

            self.MainWindow = principal.Ui_MainWindow
            tela_principal = QtGui.QMainWindow()
            ui = principal.Ui_MainWindow()
            ui.setupUi(tela_principal, self.usuarios, self.nome_completo,
                       self.telefone, self.email)
            tela_principal.show()
            sys.exit(app.exec_())