mirror of
				https://github.com/ElvishArtisan/rivendell.git
				synced 2025-10-31 06:03:51 +01:00 
			
		
		
		
	Added ability to use QStringList for schedule codes
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user