mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-04-16 14:13:37 +02:00
Merge branch 'deltecent-scheduler'
This commit is contained in:
commit
4150c62789
@ -18369,3 +18369,7 @@
|
|||||||
notifications.
|
notifications.
|
||||||
2019-01-11 Fred Gleason <fredg@paravelsystems.com>
|
2019-01-11 Fred Gleason <fredg@paravelsystems.com>
|
||||||
* Incremented the package version to 3.0.0alpha05.
|
* Incremented the package version to 3.0.0alpha05.
|
||||||
|
2019-01-14 Patrick Linstruth <patrick@deltecent.com>
|
||||||
|
* Fixed regression in scheduler that caused events with two
|
||||||
|
scheduler codes to fail.
|
||||||
|
* Updated scheduler reports to indicate scheduler codes.
|
||||||
|
@ -553,22 +553,6 @@
|
|||||||
<source>Database version mismatch, should be</source>
|
<source>Database version mismatch, should be</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Rule broken: Must have code</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Must have second code</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Title Separation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Artist Separation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Rule broken: Max. in a Row/Min. Wait for </source>
|
<source>Rule broken: Max. in a Row/Min. Wait for </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -761,6 +745,22 @@
|
|||||||
<source>MP4</source>
|
<source>MP4</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rule broken: Title separation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source> with sched code(s): </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rule broken: Artist separation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>No carts found in group</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RDAddCart</name>
|
<name>RDAddCart</name>
|
||||||
|
@ -549,22 +549,6 @@
|
|||||||
<source>Database version mismatch, should be</source>
|
<source>Database version mismatch, should be</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Rule broken: Must have code</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Must have second code</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Title Separation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Artist Separation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Rule broken: Max. in a Row/Min. Wait for </source>
|
<source>Rule broken: Max. in a Row/Min. Wait for </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -757,6 +741,22 @@
|
|||||||
<source>MP4</source>
|
<source>MP4</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rule broken: Title separation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source> with sched code(s): </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rule broken: Artist separation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>No carts found in group</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RDAddCart</name>
|
<name>RDAddCart</name>
|
||||||
|
@ -549,22 +549,6 @@
|
|||||||
<source>Database version mismatch, should be</source>
|
<source>Database version mismatch, should be</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Rule broken: Must have code</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Must have second code</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Title Separation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Artist Separation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Rule broken: Max. in a Row/Min. Wait for </source>
|
<source>Rule broken: Max. in a Row/Min. Wait for </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -757,6 +741,22 @@
|
|||||||
<source>MP4</source>
|
<source>MP4</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rule broken: Title separation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source> with sched code(s): </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rule broken: Artist separation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>No carts found in group</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RDAddCart</name>
|
<name>RDAddCart</name>
|
||||||
|
@ -519,22 +519,6 @@
|
|||||||
<source>Database version mismatch, should be</source>
|
<source>Database version mismatch, should be</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Rule broken: Must have code</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Must have second code</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Title Separation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Artist Separation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Rule broken: Max. in a Row/Min. Wait for </source>
|
<source>Rule broken: Max. in a Row/Min. Wait for </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -727,6 +711,22 @@
|
|||||||
<source>MP4</source>
|
<source>MP4</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rule broken: Title separation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source> with sched code(s): </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rule broken: Artist separation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>No carts found in group</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RDAddCart</name>
|
<name>RDAddCart</name>
|
||||||
|
@ -549,22 +549,6 @@
|
|||||||
<source>Database version mismatch, should be</source>
|
<source>Database version mismatch, should be</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Rule broken: Must have code</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Must have second code</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Title Separation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Artist Separation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Rule broken: Max. in a Row/Min. Wait for </source>
|
<source>Rule broken: Max. in a Row/Min. Wait for </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -757,6 +741,22 @@
|
|||||||
<source>MP4</source>
|
<source>MP4</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rule broken: Title separation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source> with sched code(s): </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rule broken: Artist separation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>No carts found in group</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RDAddCart</name>
|
<name>RDAddCart</name>
|
||||||
|
@ -549,22 +549,6 @@
|
|||||||
<source>Database version mismatch, should be</source>
|
<source>Database version mismatch, should be</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Rule broken: Must have code</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Must have second code</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Title Separation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Artist Separation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Rule broken: Max. in a Row/Min. Wait for </source>
|
<source>Rule broken: Max. in a Row/Min. Wait for </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -757,6 +741,22 @@
|
|||||||
<source>MP4</source>
|
<source>MP4</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rule broken: Title separation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source> with sched code(s): </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rule broken: Artist separation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>No carts found in group</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RDAddCart</name>
|
<name>RDAddCart</name>
|
||||||
|
@ -549,22 +549,6 @@
|
|||||||
<source>Database version mismatch, should be</source>
|
<source>Database version mismatch, should be</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Rule broken: Must have code</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Must have second code</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Title Separation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rule broken: Artist Separation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Rule broken: Max. in a Row/Min. Wait for </source>
|
<source>Rule broken: Max. in a Row/Min. Wait for </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -757,6 +741,22 @@
|
|||||||
<source>MP4</source>
|
<source>MP4</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rule broken: Title separation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source> with sched code(s): </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rule broken: Artist separation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>No carts found in group</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RDAddCart</name>
|
<name>RDAddCart</name>
|
||||||
|
@ -446,7 +446,7 @@ bool RDEventLine::save(RDConfig *config)
|
|||||||
|
|
||||||
|
|
||||||
bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
||||||
QString *errors, unsigned artistsep,
|
QString *report, unsigned artistsep,
|
||||||
QString clockname)
|
QString clockname)
|
||||||
{
|
{
|
||||||
QString sql;
|
QString sql;
|
||||||
@ -579,9 +579,9 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
|||||||
grace_time=-1;
|
grace_time=-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Scheduler
|
// Scheduler
|
||||||
|
|
||||||
if(event_import_source == RDEventLine::Scheduler ) {
|
if(event_import_source == RDEventLine::Scheduler) {
|
||||||
int titlesep;
|
int titlesep;
|
||||||
int stackid;
|
int stackid;
|
||||||
int counter;
|
int counter;
|
||||||
@ -591,18 +591,17 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
|||||||
svcname_rp.replace(" ","_");
|
svcname_rp.replace(" ","_");
|
||||||
|
|
||||||
time.addMSecs(postimport_length);
|
time.addMSecs(postimport_length);
|
||||||
|
|
||||||
sql=QString("select ")+
|
sql=QString("select NUMBER,ARTIST from CART");
|
||||||
"NUMBER,"+
|
if(event_have_code!="") {
|
||||||
"ARTIST, "+
|
sql+=" INNER JOIN CART_SCHED_CODES AS S1 on (NUMBER=S1.CART_NUMBER AND S1.SCHED_CODE='"+RDEscapeString(event_have_code)+"')";
|
||||||
"SCHED_CODE "+
|
}
|
||||||
"from CART "+
|
if(event_have_code2!="") {
|
||||||
"left join CART_SCHED_CODES on CART.NUMBER=CART_SCHED_CODES.CART_NUMBER "+
|
sql+=" INNER JOIN CART_SCHED_CODES AS S2 on (NUMBER=S2.CART_NUMBER AND S2.SCHED_CODE='"+RDEscapeString(event_have_code2)+"')";
|
||||||
"where "+
|
}
|
||||||
"GROUP_NAME=\""+RDEscapeString(SchedGroup())+"\"";
|
sql+=" where GROUP_NAME='"+RDEscapeString(SchedGroup())+"'";
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
if(q->size()>0)
|
if(q->size()>0) {
|
||||||
{
|
|
||||||
if(event_title_sep>=0 && event_title_sep<=50000)
|
if(event_title_sep>=0 && event_title_sep<=50000)
|
||||||
{
|
{
|
||||||
titlesep = (int)event_title_sep;
|
titlesep = (int)event_title_sep;
|
||||||
@ -616,12 +615,10 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
|||||||
SchedCartList *schedCL;
|
SchedCartList *schedCL;
|
||||||
schedCL=new SchedCartList(querysize);
|
schedCL=new SchedCartList(querysize);
|
||||||
|
|
||||||
QString schedcode;
|
QString schedcode; // No longer needed - possibly remove at a later date
|
||||||
for(counter=0;counter<querysize;counter++)
|
for(counter=0;counter<querysize;counter++)
|
||||||
{
|
{
|
||||||
q->seek(counter);
|
q->seek(counter);
|
||||||
schedcode=q->value(2).toString()+" ";
|
|
||||||
schedcode=schedcode.left(11);
|
|
||||||
schedCL->insertItem(q->value(0).toUInt(),0,0,q->value(1).toString(),schedcode);
|
schedCL->insertItem(q->value(0).toUInt(),0,0,q->value(1).toString(),schedcode);
|
||||||
}
|
}
|
||||||
delete q;
|
delete q;
|
||||||
@ -644,39 +641,6 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
|||||||
|
|
||||||
|
|
||||||
// Add deconflicting rules here
|
// Add deconflicting rules here
|
||||||
// Reduce schedCL to match requested scheduler code
|
|
||||||
if(event_have_code!="") {
|
|
||||||
schedCL->save();
|
|
||||||
for(counter=0;counter<schedCL->getNumberOfItems();counter++) {
|
|
||||||
if(!schedCL->itemHasCode(counter,event_have_code)) {
|
|
||||||
schedCL->removeItem(counter);
|
|
||||||
counter--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(schedCL->getNumberOfItems()==0) {
|
|
||||||
*errors+=time.toString("hh:mm:ss")+
|
|
||||||
" "+QObject::tr("Rule broken: Must have code")+" "+event_have_code+"\n";
|
|
||||||
}
|
|
||||||
schedCL->restore();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Reduce schedCL to match second requested scheduler code
|
|
||||||
if(event_have_code2!="") {
|
|
||||||
schedCL->save();
|
|
||||||
for(counter=0;counter<schedCL->getNumberOfItems();counter++) {
|
|
||||||
if(!schedCL->itemHasCode(counter,event_have_code2)) {
|
|
||||||
schedCL->removeItem(counter);
|
|
||||||
counter--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(schedCL->getNumberOfItems()==0) {
|
|
||||||
*errors+=time.toString("hh:mm:ss")+" "+
|
|
||||||
QObject::tr("Rule broken: Must have second code")+" "+
|
|
||||||
event_have_code2+"\n";
|
|
||||||
}
|
|
||||||
schedCL->restore();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Title separation
|
// Title separation
|
||||||
schedCL->save();
|
schedCL->save();
|
||||||
sql=QString("select CART from STACK_LINES where ")+
|
sql=QString("select CART from STACK_LINES where ")+
|
||||||
@ -692,9 +656,14 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
delete q;
|
delete q;
|
||||||
if(schedCL->getNumberOfItems()==0)
|
if(schedCL->getNumberOfItems()==0) {
|
||||||
*errors+=time.toString("hh:mm:ss")+" "+
|
*report+=time.toString("hh:mm:ss")+" "+
|
||||||
QObject::tr("Rule broken: Title Separation")+"\n";
|
QObject::tr("Rule broken: Title separation");
|
||||||
|
if(!HaveCode().isEmpty()) {
|
||||||
|
*report+=QObject::tr(" with sched code(s): ")+HaveCode()+" "+HaveCode2();
|
||||||
|
}
|
||||||
|
*report+="\n";
|
||||||
|
}
|
||||||
schedCL->restore();
|
schedCL->restore();
|
||||||
|
|
||||||
// Artist separation
|
// Artist separation
|
||||||
@ -713,8 +682,12 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
|||||||
}
|
}
|
||||||
delete q;
|
delete q;
|
||||||
if(schedCL->getNumberOfItems()==0) {
|
if(schedCL->getNumberOfItems()==0) {
|
||||||
*errors+=time.toString("hh:mm:ss")+" "+
|
*report+=time.toString("hh:mm:ss")+" "+
|
||||||
QObject::tr("Rule broken: Artist Separation")+"\n";
|
QObject::tr("Rule broken: Artist separation");
|
||||||
|
if(!HaveCode().isEmpty()) {
|
||||||
|
*report+=QObject::tr(" with sched code(s): ")+HaveCode()+" "+HaveCode2();
|
||||||
|
}
|
||||||
|
*report+="\n";
|
||||||
}
|
}
|
||||||
schedCL->restore();
|
schedCL->restore();
|
||||||
|
|
||||||
@ -751,7 +724,7 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
|||||||
}
|
}
|
||||||
delete q1;
|
delete q1;
|
||||||
if(schedCL->getNumberOfItems()==0) {
|
if(schedCL->getNumberOfItems()==0) {
|
||||||
*errors+=time.toString("hh:mm:ss")+" "+
|
*report+=time.toString("hh:mm:ss")+" "+
|
||||||
QObject::tr("Rule broken: Max. in a Row/Min. Wait for ")+
|
QObject::tr("Rule broken: Max. in a Row/Min. Wait for ")+
|
||||||
q->value(0).toString()+"\n";
|
q->value(0).toString()+"\n";
|
||||||
}
|
}
|
||||||
@ -776,7 +749,7 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
|||||||
}
|
}
|
||||||
delete q1;
|
delete q1;
|
||||||
if(schedCL->getNumberOfItems()==0) {
|
if(schedCL->getNumberOfItems()==0) {
|
||||||
*errors+=time.toString("hh:mm:ss")+" "+
|
*report+=time.toString("hh:mm:ss")+" "+
|
||||||
QObject::tr("Rule broken: Do not schedule ")+
|
QObject::tr("Rule broken: Do not schedule ")+
|
||||||
q->value(0).toString()+" "+QObject::tr("after")+" "+
|
q->value(0).toString()+" "+QObject::tr("after")+" "+
|
||||||
q->value(3).toString()+"\n";
|
q->value(3).toString()+"\n";
|
||||||
@ -802,7 +775,7 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
|||||||
}
|
}
|
||||||
delete q1;
|
delete q1;
|
||||||
if(schedCL->getNumberOfItems()==0) {
|
if(schedCL->getNumberOfItems()==0) {
|
||||||
*errors+=time.toString("hh:mm:ss")+" "+
|
*report+=time.toString("hh:mm:ss")+" "+
|
||||||
QObject::tr("Rule broken: Do not schedule")+" "+
|
QObject::tr("Rule broken: Do not schedule")+" "+
|
||||||
q->value(0).toString()+" "+QObject::tr("after")+" "+
|
q->value(0).toString()+" "+QObject::tr("after")+" "+
|
||||||
q->value(4).toString()+"\n";
|
q->value(4).toString()+"\n";
|
||||||
@ -828,7 +801,7 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
|||||||
}
|
}
|
||||||
delete q1;
|
delete q1;
|
||||||
if(schedCL->getNumberOfItems()==0) {
|
if(schedCL->getNumberOfItems()==0) {
|
||||||
*errors+=time.toString("hh:mm:ss")+" "+
|
*report+=time.toString("hh:mm:ss")+" "+
|
||||||
QObject::tr("Rule broken: Do not schedule")+" "+
|
QObject::tr("Rule broken: Do not schedule")+" "+
|
||||||
q->value(0).toString()+" "+QObject::tr("after")+" "+
|
q->value(0).toString()+" "+QObject::tr("after")+" "+
|
||||||
q->value(5).toString()+"\n";
|
q->value(5).toString()+"\n";
|
||||||
@ -837,8 +810,7 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
delete q;
|
delete q;
|
||||||
|
|
||||||
|
|
||||||
// end of deconflicting rules
|
// end of deconflicting rules
|
||||||
|
|
||||||
int schedpos=rand()%schedCL->getNumberOfItems();
|
int schedpos=rand()%schedCL->getNumberOfItems();
|
||||||
@ -875,6 +847,13 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// We don't have any carts to work with
|
||||||
|
*report+=time.toString("hh:mm:ss")+
|
||||||
|
" "+QObject::tr("No carts found in group")+" "+SchedGroup();
|
||||||
|
if(!HaveCode().isEmpty()) {
|
||||||
|
*report+=QObject::tr(" with sched code(s): ")+HaveCode()+" "+HaveCode2();
|
||||||
|
}
|
||||||
|
*report+="\n";
|
||||||
delete q;
|
delete q;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -200,7 +200,7 @@ int RDLogEvent::validate(QString *report,const QDate &date)
|
|||||||
// Report Header
|
// Report Header
|
||||||
//
|
//
|
||||||
*report="Rivendell Log Exception Report\n";
|
*report="Rivendell Log Exception Report\n";
|
||||||
*report=QString("Generated at: ")+
|
*report+=QString("Generated at: ")+
|
||||||
QDate::currentDate().toString("MM/dd/yyyy")+" - "+
|
QDate::currentDate().toString("MM/dd/yyyy")+" - "+
|
||||||
QTime::currentTime().toString("hh:mm:ss")+"\n";
|
QTime::currentTime().toString("hh:mm:ss")+"\n";
|
||||||
*report+=QString("Log: ")+log_name+"\n";
|
*report+=QString("Log: ")+log_name+"\n";
|
||||||
@ -277,10 +277,10 @@ int RDLogEvent::validate(QString *report,const QDate &date)
|
|||||||
}
|
}
|
||||||
*report+="\n";
|
*report+="\n";
|
||||||
if(errs==1) {
|
if(errs==1) {
|
||||||
*report+=QString().sprintf("%d exception found.\n\n",errs);
|
*report+=QString().sprintf("%d validation exception found.\n\n",errs);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
*report+=QString().sprintf("%d exceptions found.\n\n",errs);
|
*report+=QString().sprintf("%d validation exceptions found.\n\n",errs);
|
||||||
}
|
}
|
||||||
return errs;
|
return errs;
|
||||||
}
|
}
|
||||||
|
@ -39,6 +39,9 @@ SchedCartList::~SchedCartList()
|
|||||||
delete []sched_codes;
|
delete []sched_codes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// stack_schedcodes should no longer be needed. Possibly remove at a later date. P. Linstruth 01/12/2019
|
||||||
|
//
|
||||||
void SchedCartList::insertItem(unsigned cartnumber,int cartlength,int stack_id,QString stack_artist,QString stack_schedcodes)
|
void SchedCartList::insertItem(unsigned cartnumber,int cartlength,int stack_id,QString stack_artist,QString stack_schedcodes)
|
||||||
{
|
{
|
||||||
cartnum[itemcounter]=cartnumber;
|
cartnum[itemcounter]=cartnumber;
|
||||||
|
@ -367,10 +367,19 @@ void GenerateLog::createData()
|
|||||||
event->load();
|
event->load();
|
||||||
if((event->validate(&report,gen_date_edit->date())==0)&&
|
if((event->validate(&report,gen_date_edit->date())==0)&&
|
||||||
unused_report.isEmpty()) {
|
unused_report.isEmpty()) {
|
||||||
QMessageBox::information(this,tr("No Errors"),tr("No exceptions found."));
|
QMessageBox::information(this,tr("No Errors"),\
|
||||||
|
tr("No broken rules or validation exceptions found."));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
RDTextFile(report+"\n\n"+unused_report);
|
int errs=unused_report.count("\n");
|
||||||
|
if(errs==1) {
|
||||||
|
unused_report+=QString().sprintf("\n%d broken rule.\n",errs);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
unused_report+=QString().sprintf("\n%d broken rules.\n",errs);
|
||||||
|
}
|
||||||
|
|
||||||
|
RDTextFile(report+"\n"+unused_report);
|
||||||
}
|
}
|
||||||
delete event;
|
delete event;
|
||||||
|
|
||||||
|
@ -891,7 +891,7 @@ Pokračovat?</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No exceptions found.</source>
|
<source>No exceptions found.</source>
|
||||||
<translation type="unfinished">Nenalezena žádná chyba.</translation>
|
<translation type="obsolete">Nenalezena žádná chyba.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>already contains merged music and/or traffic data.
|
<source>already contains merged music and/or traffic data.
|
||||||
@ -981,6 +981,10 @@ Opětovné sloučení tato data smaže. Sloučit znovu?</translation>
|
|||||||
<source>cannot be relinked.</source>
|
<source>cannot be relinked.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>No broken rules or validation exceptions found.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ImportListView</name>
|
<name>ImportListView</name>
|
||||||
|
@ -891,7 +891,7 @@ Fortfahren?</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No exceptions found.</source>
|
<source>No exceptions found.</source>
|
||||||
<translation type="unfinished">Keine Fehler gefunden.</translation>
|
<translation type="obsolete">Keine Fehler gefunden.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>already contains merged music and/or traffic data.
|
<source>already contains merged music and/or traffic data.
|
||||||
@ -981,6 +981,10 @@ Einbinden wird diese entfernen. Fortfahren?</translation>
|
|||||||
<source>cannot be relinked.</source>
|
<source>cannot be relinked.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>No broken rules or validation exceptions found.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ImportListView</name>
|
<name>ImportListView</name>
|
||||||
|
@ -845,7 +845,7 @@ Do you want to save?</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No exceptions found.</source>
|
<source>No exceptions found.</source>
|
||||||
<translation type="unfinished">No se encontraron errores.</translation>
|
<translation type="obsolete">No se encontraron errores.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This will also delete the</source>
|
<source>This will also delete the</source>
|
||||||
@ -983,6 +983,10 @@ removerá estos datos. ¿Remezclar?</translation>
|
|||||||
<source>cannot be relinked.</source>
|
<source>cannot be relinked.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>No broken rules or validation exceptions found.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ImportListView</name>
|
<name>ImportListView</name>
|
||||||
|
@ -874,11 +874,11 @@ Do you want to save?</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No exceptions found.</source>
|
<source>cannot be relinked.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>cannot be relinked.</source>
|
<source>No broken rules or validation exceptions found.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
@ -904,7 +904,7 @@ Hald fram?</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No exceptions found.</source>
|
<source>No exceptions found.</source>
|
||||||
<translation type="unfinished">Fann ingen unntak.</translation>
|
<translation type="obsolete">Fann ingen unntak.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>already contains merged music and/or traffic data.
|
<source>already contains merged music and/or traffic data.
|
||||||
@ -986,6 +986,10 @@ Flettar du på nytt, vil du fjerna desse dataa. Flett på nytt?</translation>
|
|||||||
<source>cannot be relinked.</source>
|
<source>cannot be relinked.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>No broken rules or validation exceptions found.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ImportListView</name>
|
<name>ImportListView</name>
|
||||||
|
@ -904,7 +904,7 @@ Hald fram?</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No exceptions found.</source>
|
<source>No exceptions found.</source>
|
||||||
<translation type="unfinished">Fann ingen unntak.</translation>
|
<translation type="obsolete">Fann ingen unntak.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>already contains merged music and/or traffic data.
|
<source>already contains merged music and/or traffic data.
|
||||||
@ -986,6 +986,10 @@ Flettar du på nytt, vil du fjerna desse dataa. Flett på nytt?</translation>
|
|||||||
<source>cannot be relinked.</source>
|
<source>cannot be relinked.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>No broken rules or validation exceptions found.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ImportListView</name>
|
<name>ImportListView</name>
|
||||||
|
@ -897,7 +897,7 @@ Continue</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No exceptions found.</source>
|
<source>No exceptions found.</source>
|
||||||
<translation type="unfinished">Exceções não encontradas. Parabéns. </translation>
|
<translation type="obsolete">Exceções não encontradas. Parabéns. </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>already contains merged music and/or traffic data.
|
<source>already contains merged music and/or traffic data.
|
||||||
@ -983,6 +983,10 @@ Re-agregar removerá estes dados. Re-agregar? </translation>
|
|||||||
<source>cannot be relinked.</source>
|
<source>cannot be relinked.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>No broken rules or validation exceptions found.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ImportListView</name>
|
<name>ImportListView</name>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user