From 0a0e73771ac92280e5e397bf275ef71d443eb844 Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Mon, 23 Nov 2020 12:48:47 -0500 Subject: [PATCH] 2020-11-23 Fred Gleason * Added a 'DROPBOXES.SEND_EMAIL' field to the database. * Incremented the database version to 345. * Added 'RDDropbox::sendEmail()' and 'RDDropbox::setSendEmail()' methods. * Added a 'Send e-mail reports' checkbox to the 'Dropbox Configuration' dialog in rdadmin(1). Signed-off-by: Fred Gleason --- ChangeLog | 7 +++ docs/tables/dropboxes.txt | 1 + lib/dbversion.h | 2 +- lib/rddropbox.cpp | 14 +++++ lib/rddropbox.h | 4 +- rdadmin/edit_dropbox.cpp | 97 +++++++++++++++++++--------------- rdadmin/edit_dropbox.h | 3 +- rdadmin/rdadmin_cs.ts | 4 ++ rdadmin/rdadmin_de.ts | 4 ++ rdadmin/rdadmin_es.ts | 4 ++ rdadmin/rdadmin_fr.ts | 4 ++ rdadmin/rdadmin_nb.ts | 4 ++ rdadmin/rdadmin_nn.ts | 4 ++ rdadmin/rdadmin_pt_BR.ts | 4 ++ rdservice/startup.cpp | 9 +++- utils/rddbmgr/revertschema.cpp | 15 ++++-- utils/rddbmgr/schemamap.cpp | 2 +- utils/rddbmgr/updateschema.cpp | 9 ++++ 18 files changed, 139 insertions(+), 52 deletions(-) diff --git a/ChangeLog b/ChangeLog index 91904d1a..db89e260 100644 --- a/ChangeLog +++ b/ChangeLog @@ -20620,3 +20620,10 @@ dialog in rdadmin(1). 2020-11-23 Fred Gleason * Added '--send-mail' and '--mail-per-file' options to rdimport(1). +2020-11-23 Fred Gleason + * Added a 'DROPBOXES.SEND_EMAIL' field to the database. + * Incremented the database version to 345. + * Added 'RDDropbox::sendEmail()' and 'RDDropbox::setSendEmail()' + methods. + * Added a 'Send e-mail reports' checkbox to the 'Dropbox + Configuration' dialog in rdadmin(1). diff --git a/docs/tables/dropboxes.txt b/docs/tables/dropboxes.txt index 5368eab8..27483cd9 100644 --- a/docs/tables/dropboxes.txt +++ b/docs/tables/dropboxes.txt @@ -20,6 +20,7 @@ USE_CARTCHUNK_ID enum('N','Y') TITLE_FROM_CARTCHUNK_ID enum('N','Y') Set Rivendell cart title from cartchunk cutid. DELETE_CUTS enum('N','Y') DELETE_SOURCE enum('N','Y') +SEND_EMAIL enum('N','Y') METADATA_PATTERN varchar(64) STARTDATE_OFFSET int(11) ENDDATE_OFFSET int(11) diff --git a/lib/dbversion.h b/lib/dbversion.h index 98eb8824..85dee887 100644 --- a/lib/dbversion.h +++ b/lib/dbversion.h @@ -24,7 +24,7 @@ /* * Current Database Version */ -#define RD_VERSION_DATABASE 344 +#define RD_VERSION_DATABASE 345 #endif // DBVERSION_H diff --git a/lib/rddropbox.cpp b/lib/rddropbox.cpp index 623911f4..6d792c51 100644 --- a/lib/rddropbox.cpp +++ b/lib/rddropbox.cpp @@ -73,6 +73,7 @@ int RDDropbox::duplicate() const new_box->setTitleFromCartchunkId(titleFromCartchunkId()); new_box->setDeleteCuts(deleteCuts()); new_box->setDeleteSource(deleteSource()); + new_box->setSendEmail(sendEmail()); new_box->setMetadataPattern(metadataPattern()); new_box->setUserDefined(userDefined()); new_box->setStartdateOffset(startdateOffset()); @@ -239,6 +240,19 @@ void RDDropbox::setDeleteSource(bool state) const } +bool RDDropbox::sendEmail() const +{ + return RDBool(RDGetSqlValue("DROPBOXES","ID",box_id,"SEND_EMAIL"). + toString()); +} + + +void RDDropbox::setSendEmail(bool state) const +{ + SetRow("SEND_EMAIL",state); +} + + QString RDDropbox::metadataPattern() const { return RDGetSqlValue("DROPBOXES","ID",box_id,"METADATA_PATTERN").toString(); diff --git a/lib/rddropbox.h b/lib/rddropbox.h index bd0334af..96d95788 100644 --- a/lib/rddropbox.h +++ b/lib/rddropbox.h @@ -2,7 +2,7 @@ // // Abstract a Rivendell Dropbox Configuration // -// (C) Copyright 2002-2007,2016 Fred Gleason +// (C) Copyright 2002-2020 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -54,6 +54,8 @@ class RDDropbox void setDeleteCuts(bool state) const; bool deleteSource() const; void setDeleteSource(bool state) const; + bool sendEmail() const; + void setSendEmail(bool state) const; QString metadataPattern() const; void setMetadataPattern(const QString &str) const; QString userDefined() const; diff --git a/rdadmin/edit_dropbox.cpp b/rdadmin/edit_dropbox.cpp index dee21f09..aac924db 100644 --- a/rdadmin/edit_dropbox.cpp +++ b/rdadmin/edit_dropbox.cpp @@ -2,7 +2,7 @@ // // Edit a Rivendell Dropbox Configuration // -// (C) Copyright 2002-2019 Fred Gleason +// (C) Copyright 2002-2020 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -192,13 +192,23 @@ EditDropbox::EditDropbox(int id,bool duplicate,QWidget *parent) label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); + // + // Send E-mail Reports + // + box_send_email_box=new QCheckBox(this); + box_send_email_box->setGeometry(90,221,15,15); + label=new QLabel(box_send_email_box,tr("Send e-mail reports"),this); + label->setGeometry(110,219,sizeHint().width()-120,20); + label->setFont(labelFont()); + label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); + // // Force To Mono // box_force_to_mono_box=new QCheckBox(this); - box_force_to_mono_box->setGeometry(90,221,15,15); + box_force_to_mono_box->setGeometry(90,243,15,15); label=new QLabel(box_force_to_mono_box,tr("Force to Monaural"),this); - label->setGeometry(110,219,sizeHint().width()-120,20); + label->setGeometry(110,241,sizeHint().width()-120,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); @@ -206,21 +216,21 @@ EditDropbox::EditDropbox(int id,bool duplicate,QWidget *parent) // Normalization // box_normalization_box=new QCheckBox(this); - box_normalization_box->setGeometry(90,243,15,15); + box_normalization_box->setGeometry(90,264,15,15); label=new QLabel(box_normalization_box,tr("Normalize Levels"),this); - label->setGeometry(110,241,100,20); + label->setGeometry(110,262,100,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); box_normalization_level_spin=new QSpinBox(this); - box_normalization_level_spin->setGeometry(275,241,50,20); + box_normalization_level_spin->setGeometry(275,263,50,20); box_normalization_level_spin->setRange(-100,-1); box_normalization_level_label=new QLabel(tr("Level:"),this); - box_normalization_level_label->setGeometry(210,241,60,20); + box_normalization_level_label->setGeometry(210,263,60,20); box_normalization_level_label->setFont(labelFont()); box_normalization_level_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight); box_normalization_level_unit=new QLabel(tr("dBFS"),this); box_normalization_level_unit->setFont(labelFont()); - box_normalization_level_unit->setGeometry(330,241,60,20); + box_normalization_level_unit->setGeometry(330,263,60,20); box_normalization_level_unit->setAlignment(Qt::AlignVCenter|Qt::AlignLeft); connect(box_normalization_box,SIGNAL(toggled(bool)), this,SLOT(normalizationToggledData(bool))); @@ -229,21 +239,21 @@ EditDropbox::EditDropbox(int id,bool duplicate,QWidget *parent) // Autotrim // box_autotrim_box=new QCheckBox(this); - box_autotrim_box->setGeometry(90,267,15,15); + box_autotrim_box->setGeometry(90,289,15,15); label=new QLabel(box_autotrim_box,tr("Autotrim Cuts"),this); - label->setGeometry(110,265,100,20); + label->setGeometry(110,287,100,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); box_autotrim_level_spin=new QSpinBox(this); - box_autotrim_level_spin->setGeometry(275,265,50,20); + box_autotrim_level_spin->setGeometry(275,287,50,20); box_autotrim_level_spin->setRange(-100,-1); box_autotrim_level_label=new QLabel(tr("Level:"),this); - box_autotrim_level_label->setGeometry(210,265,60,20); + box_autotrim_level_label->setGeometry(210,287,60,20); box_autotrim_level_label->setFont(labelFont()); box_autotrim_level_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight); box_autotrim_level_unit=new QLabel(tr("dBFS"),this); box_autotrim_level_unit->setFont(labelFont()); - box_autotrim_level_unit->setGeometry(330,265,60,20); + box_autotrim_level_unit->setGeometry(330,287,60,20); box_autotrim_level_unit->setAlignment(Qt::AlignVCenter|Qt::AlignLeft); connect(box_autotrim_box,SIGNAL(toggled(bool)), this,SLOT(autotrimToggledData(bool))); @@ -252,35 +262,35 @@ EditDropbox::EditDropbox(int id,bool duplicate,QWidget *parent) // Segue // box_segue_box=new QCheckBox(this); - box_segue_box->setGeometry(90,293,15,15); + box_segue_box->setGeometry(90,315,15,15); label=new QLabel(box_segue_box,tr("Insert Segue Markers"),this); - label->setGeometry(110,291,sizeHint().width()-40,20); + label->setGeometry(110,313,sizeHint().width()-40,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); box_segue_level_spin=new QSpinBox(this); - box_segue_level_spin->setGeometry(285,317,50,20); + box_segue_level_spin->setGeometry(285,339,50,20); box_segue_level_spin->setRange(-100,0); box_segue_level_label= new QLabel(box_segue_level_spin,tr("Segue Level:"),this); - box_segue_level_label->setGeometry(120,317,160,20); + box_segue_level_label->setGeometry(120,339,160,20); box_segue_level_label->setFont(labelFont()); box_segue_level_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight); box_segue_level_unit=new QLabel(box_segue_level_spin,("dBFS"),this); box_segue_level_unit->setFont(labelFont()); - box_segue_level_unit->setGeometry(360,318,60,20); + box_segue_level_unit->setGeometry(360,340,60,20); box_segue_level_unit->setAlignment(Qt::AlignVCenter|Qt::AlignLeft); box_segue_length_spin=new QSpinBox(this); - box_segue_length_spin->setGeometry(285,342,70,20); + box_segue_length_spin->setGeometry(285,364,70,20); box_segue_length_spin->setRange(0,180000); box_segue_length_label= new QLabel(box_segue_length_spin,tr("Segue Length:"),this); - box_segue_length_label->setGeometry(120,342,160,20); + box_segue_length_label->setGeometry(120,364,160,20); box_segue_length_label->setFont(labelFont()); box_segue_length_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight); box_segue_length_unit=new QLabel(box_segue_length_spin,("msec"),this); box_segue_length_unit->setFont(labelFont()); - box_segue_length_unit->setGeometry(375,343,60,20); + box_segue_length_unit->setGeometry(375,365,60,20); box_segue_length_unit->setAlignment(Qt::AlignVCenter|Qt::AlignLeft); connect(box_segue_box,SIGNAL(toggled(bool)), this,SLOT(segueToggledData(bool))); @@ -289,10 +299,10 @@ EditDropbox::EditDropbox(int id,bool duplicate,QWidget *parent) // Use CartChunk ID // box_use_cartchunk_id_box=new QCheckBox(this); - box_use_cartchunk_id_box->setGeometry(90,372,15,15); + box_use_cartchunk_id_box->setGeometry(90,394,15,15); label=new QLabel(box_use_cartchunk_id_box, tr("Get cart number from CartChunk CutID"),this); - label->setGeometry(110,370,sizeHint().width()-40,20); + label->setGeometry(110,392,sizeHint().width()-40,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); @@ -300,10 +310,10 @@ EditDropbox::EditDropbox(int id,bool duplicate,QWidget *parent) // Title from CartChunk ID // box_title_from_cartchunk_id_box=new QCheckBox(this); - box_title_from_cartchunk_id_box->setGeometry(90,396,15,15); + box_title_from_cartchunk_id_box->setGeometry(90,418,15,15); label=new QLabel(box_title_from_cartchunk_id_box, tr("Get cart title from CartChunk CutID"),this); - label->setGeometry(110,394,sizeHint().width()-40,20); + label->setGeometry(110,416,sizeHint().width()-40,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); @@ -311,10 +321,10 @@ EditDropbox::EditDropbox(int id,bool duplicate,QWidget *parent) // Fix Broken Formats // box_fix_broken_formats_box=new QCheckBox(this); - box_fix_broken_formats_box->setGeometry(90,420,15,15); + box_fix_broken_formats_box->setGeometry(90,442,15,15); label=new QLabel(box_fix_broken_formats_box, tr("Attempt to work around malformatted input files"),this); - label->setGeometry(110,418,sizeHint().width()-40,20); + label->setGeometry(110,440,sizeHint().width()-40,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); @@ -322,14 +332,14 @@ EditDropbox::EditDropbox(int id,bool duplicate,QWidget *parent) // Start Date Offset // box_startoffset_spin=new QSpinBox(this); - box_startoffset_spin->setGeometry(215,444,50,20); + box_startoffset_spin->setGeometry(215,466,50,20); box_startoffset_spin->setRange(-7,7); label=new QLabel(box_startoffset_spin,tr("Offset start date by"),this); - label->setGeometry(90,444,120,20); + label->setGeometry(90,466,120,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); label=new QLabel(box_startoffset_spin,tr("days"),this); - label->setGeometry(275,446,100,20); + label->setGeometry(275,468,100,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); @@ -337,14 +347,14 @@ EditDropbox::EditDropbox(int id,bool duplicate,QWidget *parent) // End Date Offset // box_endoffset_spin=new QSpinBox(this); - box_endoffset_spin->setGeometry(215,468,50,20); + box_endoffset_spin->setGeometry(215,490,50,20); box_endoffset_spin->setRange(-7,7); label=new QLabel(box_endoffset_spin,tr("Offset end date by"),this); - label->setGeometry(90,468,120,20); + label->setGeometry(90,490,120,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); label=new QLabel(box_endoffset_spin,tr("days"),this); - label->setGeometry(275,468,100,20); + label->setGeometry(275,490,100,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); @@ -352,40 +362,40 @@ EditDropbox::EditDropbox(int id,bool duplicate,QWidget *parent) // Create Dates // box_create_dates_box=new QCheckBox(this); - box_create_dates_box->setGeometry(90,492,15,15); + box_create_dates_box->setGeometry(90,514,15,15); label=new QLabel(box_create_dates_box,tr("Create Dates when no Dates Exist"), this); - label->setGeometry(110,490,sizeHint().width()-40,20); + label->setGeometry(110,512,sizeHint().width()-40,20); label->setFont(labelFont()); label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); box_create_startdate_offset_spin=new QSpinBox(this); - box_create_startdate_offset_spin->setGeometry(285,516,50,20); + box_create_startdate_offset_spin->setGeometry(285,538,50,20); box_create_startdate_offset_spin->setRange(-180,180); box_create_startdate_label= new QLabel(box_create_startdate_offset_spin,tr("Create start date offset:"), this); - box_create_startdate_label->setGeometry(120,516,160,20); + box_create_startdate_label->setGeometry(120,538,160,20); box_create_startdate_label->setFont(labelFont()); box_create_startdate_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight); box_create_startdate_unit= new QLabel(box_create_startdate_offset_spin,("days"),this); box_create_startdate_unit->setFont(labelFont()); - box_create_startdate_unit->setGeometry(345,517,60,20); + box_create_startdate_unit->setGeometry(345,539,60,20); box_create_startdate_unit->setAlignment(Qt::AlignVCenter|Qt::AlignLeft); box_create_enddate_offset_spin=new QSpinBox(this); - box_create_enddate_offset_spin->setGeometry(285,538,50,20); + box_create_enddate_offset_spin->setGeometry(285,560,50,20); box_create_enddate_offset_spin->setRange(-180,180); box_create_enddate_label= new QLabel(box_create_enddate_offset_spin,tr("Create end date offset:"), this); - box_create_enddate_label->setGeometry(120,536,160,20); + box_create_enddate_label->setGeometry(120,558,160,20); box_create_enddate_label->setFont(labelFont()); box_create_enddate_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight); box_create_enddate_unit= new QLabel(box_create_enddate_offset_spin,("days"),this); box_create_enddate_unit->setFont(labelFont()); - box_create_enddate_unit->setGeometry(345,536,60,20); + box_create_enddate_unit->setGeometry(345,558,60,20); box_create_enddate_unit->setAlignment(Qt::AlignVCenter|Qt::AlignLeft); connect(box_create_dates_box,SIGNAL(toggled(bool)), this,SLOT(createDatesToggledData(bool))); @@ -442,6 +452,7 @@ EditDropbox::EditDropbox(int id,bool duplicate,QWidget *parent) box_metadata_pattern_edit->setText(box_dropbox->metadataPattern()); box_user_defined_edit->setText(box_dropbox->userDefined()); box_delete_source_box->setChecked(box_dropbox->deleteSource()); + box_send_email_box->setChecked(box_dropbox->sendEmail()); box_force_to_mono_box->setChecked(box_dropbox->forceToMono()); box_normalization_box->setChecked(box_dropbox->normalizationLevel()<0); box_normalization_level_spin-> @@ -491,8 +502,7 @@ EditDropbox::EditDropbox(int id,bool duplicate,QWidget *parent) QSize EditDropbox::sizeHint() const { - return QSize(490,644); - // return QSize(450,644); + return QSize(490,666); } @@ -637,6 +647,7 @@ void EditDropbox::okData() box_dropbox->setToCart(box_to_cart_edit->text().toUInt()); } box_dropbox->setDeleteCuts(box_delete_cuts_box->isChecked()); + box_dropbox->setSendEmail(box_send_email_box->isChecked()); box_dropbox->setMetadataPattern(box_metadata_pattern_edit->text()); box_dropbox->setUserDefined(box_user_defined_edit->text()); box_dropbox->setDeleteSource(box_delete_source_box->isChecked()); diff --git a/rdadmin/edit_dropbox.h b/rdadmin/edit_dropbox.h index 23c549be..9a6f7b66 100644 --- a/rdadmin/edit_dropbox.h +++ b/rdadmin/edit_dropbox.h @@ -2,7 +2,7 @@ // // Edit a Rivendell Dropbox Configuration // -// (C) Copyright 2002-2019 Fred Gleason +// (C) Copyright 2002-2020 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -78,6 +78,7 @@ class EditDropbox : public RDDialog QLineEdit *box_log_path_edit; QPushButton *box_log_path_button; QCheckBox *box_delete_source_box; + QCheckBox *box_send_email_box; QCheckBox *box_normalization_box; QLabel *box_normalization_level_label; QSpinBox *box_normalization_level_spin; diff --git a/rdadmin/rdadmin_cs.ts b/rdadmin/rdadmin_cs.ts index ecfc6b1f..10bb90af 100644 --- a/rdadmin/rdadmin_cs.ts +++ b/rdadmin/rdadmin_cs.ts @@ -1310,6 +1310,10 @@ files, causing any whose files remain to be imported again. Select Log File + + Send e-mail reports + + EditEncoder diff --git a/rdadmin/rdadmin_de.ts b/rdadmin/rdadmin_de.ts index f10e6b5c..aa48e46d 100644 --- a/rdadmin/rdadmin_de.ts +++ b/rdadmin/rdadmin_de.ts @@ -1226,6 +1226,10 @@ files, causing any whose files remain to be imported again. Select Log File + + Send e-mail reports + + EditEncoder diff --git a/rdadmin/rdadmin_es.ts b/rdadmin/rdadmin_es.ts index eff40442..6b8670ac 100644 --- a/rdadmin/rdadmin_es.ts +++ b/rdadmin/rdadmin_es.ts @@ -1312,6 +1312,10 @@ files, causing any whose files remain to be imported again. Select Log File + + Send e-mail reports + + EditEncoder diff --git a/rdadmin/rdadmin_fr.ts b/rdadmin/rdadmin_fr.ts index 7bb6a959..5c673209 100644 --- a/rdadmin/rdadmin_fr.ts +++ b/rdadmin/rdadmin_fr.ts @@ -929,6 +929,10 @@ files, causing any whose files remain to be imported again. Select Log File + + Send e-mail reports + + EditEndpoint diff --git a/rdadmin/rdadmin_nb.ts b/rdadmin/rdadmin_nb.ts index 3cfb424c..f3efaa5d 100644 --- a/rdadmin/rdadmin_nb.ts +++ b/rdadmin/rdadmin_nb.ts @@ -1208,6 +1208,10 @@ files, causing any whose files remain to be imported again. Select Log File + + Send e-mail reports + + EditEncoder diff --git a/rdadmin/rdadmin_nn.ts b/rdadmin/rdadmin_nn.ts index 3cfb424c..f3efaa5d 100644 --- a/rdadmin/rdadmin_nn.ts +++ b/rdadmin/rdadmin_nn.ts @@ -1208,6 +1208,10 @@ files, causing any whose files remain to be imported again. Select Log File + + Send e-mail reports + + EditEncoder diff --git a/rdadmin/rdadmin_pt_BR.ts b/rdadmin/rdadmin_pt_BR.ts index 5fc42369..fc883363 100644 --- a/rdadmin/rdadmin_pt_BR.ts +++ b/rdadmin/rdadmin_pt_BR.ts @@ -1197,6 +1197,10 @@ files, causing any whose files remain to be imported again. Select Log File + + Send e-mail reports + + EditEncoder diff --git a/rdservice/startup.cpp b/rdservice/startup.cpp index 911977eb..51e41b0a 100644 --- a/rdservice/startup.cpp +++ b/rdservice/startup.cpp @@ -2,7 +2,7 @@ // // Startup routines for the Rivendell Services Manager // -// (C) Copyright 2018-2019 Fred Gleason +// (C) Copyright 2018-2020 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -248,7 +248,8 @@ bool MainObject::StartDropboxes(QString *err_msg) "SET_USER_DEFINED,"+ // 20 "FORCE_TO_MONO,"+ // 21 "SEGUE_LEVEL,"+ // 22 - "SEGUE_LENGTH "+ // 23 + "SEGUE_LENGTH,"+ // 23 + "SEND_EMAIL "+ // 24 "from DROPBOXES where "+ "STATION_NAME=\""+RDEscapeString(rda->config()->stationName())+"\""; q=new RDSqlQuery(sql); @@ -300,6 +301,10 @@ bool MainObject::StartDropboxes(QString *err_msg) if(q->value(13).toString()=="Y") { args.push_back("--delete-source"); } + if(q->value(24).toString()=="Y") { + args.push_back("--send-mail"); + args.push_back("--mail-per-file"); + } if(q->value(17).toString()=="Y") { args.push_back(QString().sprintf("--create-startdate-offset=%d", q->value(18).toInt())); diff --git a/utils/rddbmgr/revertschema.cpp b/utils/rddbmgr/revertschema.cpp index 21979f43..1a8615d3 100644 --- a/utils/rddbmgr/revertschema.cpp +++ b/utils/rddbmgr/revertschema.cpp @@ -41,10 +41,10 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) // - // Revert 343 + // Revert 345 // - if((cur_schema==343)&&(set_schemacur_schema)) { + sql=QString("alter table DROPBOXES add column ")+ + "SEND_EMAIL enum('N','Y') not null default 'N' after DELETE_SOURCE"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + WriteSchemaVersion(++cur_schema); + } + // NEW SCHEMA UPDATES GO HERE...