mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-04-09 14:33:28 +02:00
Added ability to use QStringList for schedule codes
This commit is contained in:
parent
f8b223ec05
commit
f43a5dbe08
@ -116,6 +116,18 @@ QString RDSchedSearchText(const QString &schedcode)
|
||||
}
|
||||
|
||||
|
||||
QString RDSchedSearchText(const QStringList &schedcodes)
|
||||
{
|
||||
QString ret="";
|
||||
|
||||
for(int i=0;i<schedcodes.size();i++) {
|
||||
ret+=QString().sprintf(" inner join CART_SCHED_CODES as S%d on (CART.NUMBER=S%d.CART_NUMBER and S%d.SCHED_CODE='%s')",i,i,i,(const char *)schedcodes.at(i));
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
QString RDCartSearchText(QString filter,const QString &group,
|
||||
const QString &schedcode,bool incl_cuts)
|
||||
{
|
||||
@ -130,6 +142,20 @@ QString RDCartSearchText(QString filter,const QString &group,
|
||||
return ret;
|
||||
}
|
||||
|
||||
QString RDCartSearchText(QString filter,const QString &group,
|
||||
const QStringList &schedcodes,bool incl_cuts)
|
||||
{
|
||||
QString ret="";
|
||||
|
||||
ret+=RDSchedSearchText(schedcodes);
|
||||
ret+=QString(" where ")+RDBaseSearchText(filter,incl_cuts);
|
||||
if(!group.isEmpty()) {
|
||||
ret+=QString("&&(CART.GROUP_NAME=\"")+RDEscapeString(group)+"\")";
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
QString RDAllCartSearchText(const QString &filter,const QString &schedcode,
|
||||
const QString &user,bool incl_cuts)
|
||||
@ -153,3 +179,25 @@ QString RDAllCartSearchText(const QString &filter,const QString &schedcode,
|
||||
|
||||
return search;
|
||||
}
|
||||
|
||||
QString RDAllCartSearchText(const QString &filter,const QStringList &schedcodes,
|
||||
const QString &user,bool incl_cuts)
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
QString search="";
|
||||
|
||||
search+=RDSchedSearchText(schedcodes);
|
||||
search+=" where (";
|
||||
sql=QString("select GROUP_NAME from USER_PERMS where ")+
|
||||
"USER_NAME=\""+RDEscapeString(user)+"\"";
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
search+=QString("(CART.GROUP_NAME=\"")+
|
||||
RDEscapeString(q->value(0).toString())+"\")||";
|
||||
}
|
||||
delete q;
|
||||
search=search.left(search.length()-2)+QString(")");
|
||||
search+=QString("&&")+RDBaseSearchText(filter,incl_cuts);
|
||||
return search;
|
||||
}
|
||||
|
@ -22,14 +22,19 @@
|
||||
#define RDCART_SEARCH_TEXT_H
|
||||
|
||||
#include <qstring.h>
|
||||
#include <qstringlist.h>
|
||||
|
||||
#include <rdstation.h>
|
||||
|
||||
|
||||
QString RDCartSearchText(QString filter,const QString &group,
|
||||
const QString &schedcode,bool incl_cuts);
|
||||
QString RDCartSearchText(QString filter,const QString &group,
|
||||
const QStringList &schedcodes,bool incl_cuts);
|
||||
QString RDAllCartSearchText(const QString &filter,const QString &schedcode,
|
||||
const QString &user,bool incl_cuts);
|
||||
QString RDAllCartSearchText(const QString &filter,const QStringList &schedcodes,
|
||||
const QString &user,bool incl_cuts);
|
||||
|
||||
|
||||
#endif // RDCART_SEARCH_TEXT_H
|
||||
|
Loading…
x
Reference in New Issue
Block a user