Project

General

Profile

Actions

Feature #8217

open

if-elseif-else construct

Added by Nicola Chiapolini almost 5 years ago. Updated about 3 years ago.

Status:
New
Priority:
Normal
Assignee:
Carsten Rose
Target version:
Start date:
16.04.2019
Due date:
% Done:

0%

Estimated time:
Discuss:
Prio Planung:
Vote:

Description

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:  use-cases_conditions-functions.txt


Files


Related issues

Related to QFQ - Feature #10716: Business Logic mit Externen SkriptenSome day maybeCarsten Rose04.06.2020

Actions
Actions #1

Updated by Carsten Rose almost 5 years ago

  • Target version set to 146
Actions #2

Updated by Carsten Rose almost 5 years ago

  • Tracker changed from Support to Feature
  • Target version changed from 146 to 141
Actions #3

Updated by Carsten Rose over 4 years ago

  • Status changed from New to Some day maybe
Actions #4

Updated by Carsten Rose over 4 years ago

  • Status changed from Some day maybe to New
Actions #5

Updated by Carsten Rose about 4 years ago

  • Target version changed from 141 to next8
Actions #6

Updated by Marc Egger almost 4 years ago

Actions #7

Updated by Marc Egger almost 4 years ago

  • Description updated (diff)
Actions #8

Updated by Marc Egger almost 4 years ago

  • Description updated (diff)
Actions #9

Updated by Marc Egger almost 4 years ago

  • Status changed from New to Priorize
Actions #10

Updated by Marc Egger almost 4 years ago

  • Related to Feature #10716: Business Logic mit Externen Skripten added
Actions #11

Updated by Marc Egger about 3 years ago

  • Status changed from Priorize to New
  • Assignee changed from Marc Egger to Carsten Rose

Ein relativ umfangreiches projekt, ist eher unrealistisch, dass ich da je wirklich dran arbeiten kann mit meinem Pensum.

Actions

Also available in: Atom PDF