Skip to content

Commit

Permalink
Mailing avec plus de dates de demandes
Browse files Browse the repository at this point in the history
  • Loading branch information
cvermot committed May 18, 2024
1 parent dbc0e5e commit 045be94
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 6 deletions.
17 changes: 17 additions & 0 deletions src/AeroDms.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -684,6 +684,15 @@ AeroDms::AeroDms(QWidget* parent) :QMainWindow(parent)
mailing->addAction(mailingPilotesActifsBrevetes);
mailingPilotesDerniereDemandeSubvention = new QAction(QIcon("./ressources/email-multiple.svg"), tr("Envoyer un mail aux pilotes concernés par la dernière demande de subvention"), this);
mailing->addAction(mailingPilotesDerniereDemandeSubvention);
QMenu* menuMailDemandesSubvention = mailing->addMenu(QIcon("./ressources/email-multiple.svg"), tr("Envoyer un mail aux pilotes concernés par une demande de subvention"));
QList<QDate> datesDemandes = db->recupererDatesDesDemandesDeSubventions();
for (int i = 0; i < datesDemandes.size(); i++)
{
QAction *action = new QAction(QIcon("./ressources/email-multiple.svg"), tr("Demande du ") + datesDemandes.at(i).toString("dd/MM/yyyy"), this);
action->setData(datesDemandes.at(i).toString("yyyy-MM-dd"));
menuMailDemandesSubvention->addAction(action);
connect(action, SIGNAL(triggered()), this, SLOT(envoyerMail()));
}
connect(mailingPilotesAyantCotiseCetteAnnee, SIGNAL(triggered()), this, SLOT(envoyerMail()));
connect(mailingPilotesActifsAyantCotiseCetteAnnee, SIGNAL(triggered()), this, SLOT(envoyerMail()));
connect(mailingPilotesActifsBrevetes, SIGNAL(triggered()), this, SLOT(envoyerMail()));
Expand Down Expand Up @@ -2308,6 +2317,14 @@ void AeroDms::envoyerMail()
+ "?subject=[Section aéronautique] Chèques aéro&body="
+ parametresMetiers.texteMailDispoCheques, QUrl::TolerantMode));
}
else
{
QAction* action = qobject_cast<QAction*>(sender());
QDesktopServices::openUrl(QUrl("mailto:"
+ db->recupererMailDerniereDemandeDeSubvention(action->data().toString())
+ "?subject=[Section aéronautique] Chèques aéro&body="
+ parametresMetiers.texteMailDispoCheques, QUrl::TolerantMode));
}

}

Expand Down
41 changes: 36 additions & 5 deletions src/ManageDb.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1460,16 +1460,47 @@ QString ManageDb::recupererMailPilotes( const int p_annee,
return listeMail;
}

QString ManageDb::recupererMailDerniereDemandeDeSubvention()
QList<QDate> ManageDb::recupererDatesDesDemandesDeSubventions()
{
QString listeMail;
QList<QDate> listeDemandes;

QSqlQuery query;
query.prepare("SELECT dateDemande FROM mailParDateDeDemandeDeSubvention GROUP BY dateDemande ORDER BY dateDemande DESC LIMIT 1");
query.prepare("SELECT dateDemande FROM mailParDateDeDemandeDeSubvention GROUP BY dateDemande ORDER BY dateDemande DESC LIMIT 5");
query.exec();
if (query.next())

while (query.next())
{
QDate date = QDate::fromString(query.value("dateDemande").toString(), "yyyy-MM-dd");
listeDemandes.append(date);
}

return listeDemandes;
}

QString ManageDb::recupererMailDerniereDemandeDeSubvention(const QString p_date)
{
QString listeMail;

QSqlQuery query;
QString date = "";

if (p_date == "")
{

query.prepare("SELECT dateDemande FROM mailParDateDeDemandeDeSubvention GROUP BY dateDemande ORDER BY dateDemande DESC LIMIT 1");
query.exec();
if (query.next())
{
date = query.value("dateDemande").toString();
}
}
else
{
date = p_date;
}

if (date != "")
{
const QString date = query.value("dateDemande").toString();
query.prepare("SELECT mail FROM mailParDateDeDemandeDeSubvention WHERE dateDemande = :dateDemande");
query.bindValue(":dateDemande", date);
query.exec();
Expand Down
3 changes: 2 additions & 1 deletion src/ManageDb.h
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,8 @@ class ManageDb : public QWidget {
const bool p_pilotesActifsSeulement,
const bool p_pilotesBrevetes = false);
const AeroDmsTypes::StatsAeronefs recupererStatsAeronefs(const int p_annee);
QString recupererMailDerniereDemandeDeSubvention();
QList<QDate> recupererDatesDesDemandesDeSubventions();
QString recupererMailDerniereDemandeDeSubvention(const QString p_date = "");

const AeroDmsTypes::StatsPilotes recupererStatsPilotes();

Expand Down

0 comments on commit 045be94

Please sign in to comment.