Esempio n. 1
0
    def __init__(self, width=None, height=None):
        super(QMainWindow, self).__init__()

        self.requested_width = width
        self.requested_height = height
        if self.requested_width and self.requested_height:
            self.resize(self.requested_width, self.requested_height)
        self.setWindowTitle(Constants.APP_TITLE)
        self.setWindowIcon(QIcon(Constants.intpath(Constants.PNG_ICON)))
        self.setWindowFlags(Qt.WindowMinimizeButtonHint)
        self.reset()

        QMessageBox.information(
            self,
            Constants.APP_TITLE,
            "Cette application vous permet d'exporter les données d'une "
            "collecte mobile effectuée avec ODK Collect et ODK Aggregate.\n\n"
            "Commencez par exporter vos données au format JSON depuis "
            "l'interface web d'ODK Aggregate ({odk_url}) puis utilisez cette "
            "application pour générer les formulaires d'enquêtes remplis.\n\n"
            "Ils seront ensuite disponible au format PDF pour impression et "
            "seront accompagnés de tous les médias (photos) pour transfert "
            "aux autres département par clé USB.\n\n"
            "{author} - {email} - {phone}\n{copy} - {date}"
            .format(author=Constants.AUTHOR,
                    copy=Constants.AUTHOR_COPY,
                    date=Constants.APP_DATE,
                    email=Constants.AUTHOR_EMAIL,
                    phone=Constants.AUTHOR_PHONE,
                    odk_url=Constants.AGGREGATE_URL),
            QMessageBox.Ok,
            QMessageBox.NoButton)
Esempio n. 2
0
    def __init__(self, parent=None, *args, **kwargs):
        super(QDialog, self).__init__(parent)
        super(BaseWidget, self).__init__(parent)

        self.setWindowTitle("ODK Aggregate indisponible")
        self.setWindowIcon(QIcon(Constants.intpath(Constants.PNG_ICON)))

        icon_label = QLabel()
        icon_label.setPixmap(
            QPixmap(Constants.intpath([Constants.IMAGES_FOLDER, 'alert.png'])))
        title = Label(
            "<h3><font color='orange'>ODK Aggregate indisponible</font></h3>")
        message = Label(
            "<p>Impossible de joindre le serveur ODK Aggregate.</p>"
            "<h6>Merci de vérifier la configuration du réseau et le lancement "
            "de la machine virtuelle. </h6>"
            "<hr/>"
            "<h6> Sans le serveur ODK Aggregate; vous pourrez exporter les "
            "fiches d'enquête préremplies, </h6>"
            "mais vous ne pourrez pas exporter les médias."
            "<h4> Voulez-vous continuer sans ODK Aggregate ?</h4>")

        continue_button = PushButton("Continuez sans les médias")
        continue_button.clicked.connect(self.accept)

        cancel_button = PushButton("Annuler l'export")
        cancel_button.clicked.connect(self.close)
        cancel_button.setFocus()

        # grid layout
        gridBox = QGridLayout()
        gridBox.addWidget(icon_label, 0, 0)
        gridBox.addWidget(title, 0, 1)
        gridBox.addWidget(message, 1, 1, 2, 2)
        gridBox.addWidget(cancel_button, 4, 2)
        gridBox.addWidget(continue_button, 4, 1)
        gridBox.setRowStretch(3, 2)

        vbox = QVBoxLayout()
        vbox.addLayout(gridBox)
        self.setLayout(vbox)
Esempio n. 3
0
    def __init__(self, parent=None, *args, **kwargs):
        super(QDialog, self).__init__(parent)
        super(BaseWidget, self).__init__(parent)

        self.setWindowTitle("ODK Aggregate indisponible")
        self.setWindowIcon(QIcon(Constants.intpath(Constants.PNG_ICON)))

        icon_label = QLabel()
        icon_label.setPixmap(
            QPixmap(Constants.intpath([Constants.IMAGES_FOLDER, 'alert.png'])))
        title = Label(
            "<h3><font color='orange'>ODK Aggregate indisponible</font></h3>")
        message = Label(
            "<p>Impossible de joindre le serveur ODK Aggregate.</p>"
            "<h6>Merci de vérifier la configuration du réseau et le lancement "
            "de la machine virtuelle. </h6>"
            "<hr/>"
            "<h6> Sans le serveur ODK Aggregate; vous pourrez exporter les "
            "fiches d'enquête préremplies, </h6>"
            "mais vous ne pourrez pas exporter les médias."
            "<h4> Voulez-vous continuer sans ODK Aggregate ?</h4>")

        continue_button = PushButton("Continuez sans les médias")
        continue_button.clicked.connect(self.accept)

        cancel_button = PushButton("Annuler l'export")
        cancel_button.clicked.connect(self.close)
        cancel_button.setFocus()

        # grid layout
        gridBox = QGridLayout()
        gridBox.addWidget(icon_label, 0, 0)
        gridBox.addWidget(title, 0, 1)
        gridBox.addWidget(message, 1, 1, 2, 2)
        gridBox.addWidget(cancel_button, 4, 2)
        gridBox.addWidget(continue_button, 4, 1)
        gridBox.setRowStretch(3, 2)

        vbox = QVBoxLayout()
        vbox.addLayout(gridBox)
        self.setLayout(vbox)
Esempio n. 4
0
    def __init__(self, parent,
                 nb_instances_successful,
                 nb_instances_failed,
                 nb_medias_successful,
                 nb_medias_failed,
                 from_date, to_date, *args, **kwargs):
        super(ConfirmationWidget, self).__init__(parent=parent)

        title_label = Label(
            "<h2><font color='green'>Félicitations !</font></h2>")
        icon_label = QLabel()
        icon_label.setPixmap(QPixmap(Constants.intpath(
            [Constants.IMAGES_FOLDER, 'success.png'])))

        date_fmt = "%d-%m-%Y"
        nb_submissions_total = nb_instances_successful + nb_instances_failed
        message_label = Label(
            "<p>L'ensemble des données de la collecte ;<br />"
            "({nb_submissions_total}) enregistrements entre le {from_date} "
            "et le {to_date} ;<br />"
            "ont été exportées avec succes.</p>"
            "<h6>Nombre enregistrements : {nb_instances_successful} </h6>"
            "<h6> Nombre de médias : {nb_medias_successful} </h6>"
            .format(nb_submissions_total=nb_submissions_total,
                    from_date=from_date.strftime(date_fmt),
                    to_date=to_date.strftime(date_fmt),
                    nb_instances_successful=nb_instances_successful,
                    nb_medias_successful=nb_medias_successful))

        size_policy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        message_label.setSizePolicy(size_policy)

        reset_button = PushButton("Nouvel export")
        reset_button.clicked.connect(self.parentWidget().reset)

        quit_button = PushButton("Quitter")
        quit_button.clicked.connect(self.parentWidget().close)

        gridBox = QGridLayout()
        gridBox.addWidget(icon_label, 0, 1)
        gridBox.addWidget(title_label, 0, 2)
        gridBox.addWidget(message_label, 1, 1, 3, 2)
        gridBox.addWidget(reset_button, 4, 1)
        gridBox.addWidget(quit_button, 4, 2)
        gridBox.setRowStretch(1, 3)

        vBox = QVBoxLayout()
        vBox.addLayout(gridBox)
        self.setLayout(vBox)
Esempio n. 5
0
    def __init__(self, parent, nb_instances_successful, nb_instances_failed,
                 nb_medias_successful, nb_medias_failed, from_date, to_date,
                 *args, **kwargs):
        super(ConfirmationWidget, self).__init__(parent=parent)

        title_label = Label(
            "<h2><font color='green'>Félicitations !</font></h2>")
        icon_label = QLabel()
        icon_label.setPixmap(
            QPixmap(Constants.intpath([Constants.IMAGES_FOLDER,
                                       'success.png'])))

        date_fmt = "%d-%m-%Y"
        nb_submissions_total = nb_instances_successful + nb_instances_failed
        message_label = Label(
            "<p>L'ensemble des données de la collecte ;<br />"
            "({nb_submissions_total}) enregistrements entre le {from_date} "
            "et le {to_date} ;<br />"
            "ont été exportées avec succes.</p>"
            "<h6>Nombre enregistrements : {nb_instances_successful} </h6>"
            "<h6> Nombre de médias : {nb_medias_successful} </h6>".format(
                nb_submissions_total=nb_submissions_total,
                from_date=from_date.strftime(date_fmt),
                to_date=to_date.strftime(date_fmt),
                nb_instances_successful=nb_instances_successful,
                nb_medias_successful=nb_medias_successful))

        size_policy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        message_label.setSizePolicy(size_policy)

        reset_button = PushButton("Nouvel export")
        reset_button.clicked.connect(self.parentWidget().reset)

        quit_button = PushButton("Quitter")
        quit_button.clicked.connect(self.parentWidget().close)

        gridBox = QGridLayout()
        gridBox.addWidget(icon_label, 0, 1)
        gridBox.addWidget(title_label, 0, 2)
        gridBox.addWidget(message_label, 1, 1, 3, 2)
        gridBox.addWidget(reset_button, 4, 1)
        gridBox.addWidget(quit_button, 4, 2)
        gridBox.setRowStretch(1, 3)

        vBox = QVBoxLayout()
        vBox.addLayout(gridBox)
        self.setLayout(vBox)