Project

General

Profile

Feature #8217

Updated by Marc Egger almost 4 years ago

Prio2 für Nicola 

 Da if-elseif-else situationen ziemlich häuffig vorkommen, wäre es schön, wenn QFQ das direkt anbieten würde und wir nicht jeweils ein Pseudo-Query schreiben müssten. 
 (Intern könnte das aber natürlich problemlos über ein Pseudo-Query gelöst werden). 

 Mein Vorschlag für die Syntax wäre: 

  @10.if = "{{feUser:TE:alnumx:s}}"="nchiapol" 
 10 { 
 1.sql = SELECT shortname, mail FROM persons_ldap 
 [...] 
 } 
 11.elseif = "{{feUser:TE:alnumx:s}}"="crose" 
 [...] 
 12.else 
 [...]@  

 sollte identisch sein mit 

  @10.sql = SELECT 1 AS _ FROM (SELECT "") AS fake WHERE ("{{feUser:TE:alnumx:s}}"="nchiapol") LIMIT 1 
 10.1.sql = SELECT shortname FROM persons_ldap 
 [...] 
 11.sql = SELECT 1 AS _ FROM (SELECT "") AS fake WHERE NOT ("{{feUser:TE:alnumx:s}}"="nchiapol") AND ("{{feUser:TE:alnumx:s}}"="crose") LIMIT 1 
 [...] 
 12.sql = SELECT 1 AS _ FROM (SELECT "") AS fake WHERE NOT ("{{feUser:TE:alnumx:s}}"="nchiapol") OR ("{{feUser:TE:alnumx:s}}"="crose") LIMIT 1 
 [...]@  

 Falls für if-elseif-else statt 10-11-12 drei mal 10 verwendet werden kann, wäre das natürlich noch eleganter. Aber ich glaube schon diese Lösung wäre ein grosser Fortschritt. 

 Vorteile: * viel intuitivere Syntax * leichter lesbar * falls später Probleme entdeckt werden, können diese Zentral behoben werden. 

 Use Cases von Nicola:  attachment:use-cases_conditions-functions.txt

Back