Project @ iMath: Issueshttps://project.math.uzh.ch/https://project.math.uzh.ch/favicon.ico?16668783892024-03-28T11:41:14ZProject @ iMath
Redmine QFQ - Feature #18236 (New): MultiForm re order via drag&drophttps://project.math.uzh.ch/issues/182362024-03-28T11:41:14ZZhoujie Li
<p>MultiForm wie subrecord per drag&drop neu anordnern</p> QFQ - Bug #18184 (New): _link combination of g:_blank and q:.. not workinghttps://project.math.uzh.ch/issues/181842024-03-20T23:59:51ZEnis Nuredini
<p>Wird das special column name _link in Verbindung mit g:_blank und q:... verwendet dann wird nach Klick darauf nicht in einem neuem Tab geöffnet sondern im aktuellen. Das Attribut target wird auf den Button korrekt gesetzt. Es scheint etwas mit dem Handling beim Bestätigen des Alerts zu tun.</p> QFQ - Bug #18163 (New): Form: reload current record after use of sqlBefore/sqlAfter and before Fo...https://project.math.uzh.ch/issues/181632024-03-17T15:40:12ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Scheinbar wird der primary Record nicht neu geladen, falls dieser mit sqlBefore/sqlAfter in einem Native FE nochmal angepasst wurde. Erst nach Page Reload wird der aktuelle Wert gezeigt.</p>
<p>Wird die gleiche Query in einem Action FE gefeuert stimmen die angezeigten Werte direkt nach dem Save, der akuelle Record wird nochmal neu geladen bevor er angezeigt wird.</p>
<p>Aufgefallen ist bei der Erfassung einer getrennten Zeitangabe im Form `myVorlesungPruefungNotiz`.</p>
<p><img src="https://project.math.uzh.ch/attachments/download/9519/clipboard-202403171638-kglq1.png" alt="" /></p>
<p><img src="https://project.math.uzh.ch/attachments/download/9520/clipboard-202403171639-tlp2t.png" alt="" /></p> QFQ - Feature #18162 (New): Form / Select List: save outdated key/value even it no longer exist i...https://project.math.uzh.ch/issues/181622024-03-17T14:56:05ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Szenario:</p>
<ul>
<li>Fuer eine Masterarbeit wird ein Betreuer eingetragen. </li>
<li>Die Liste der potentiellen Betreuer veraendert sich. Z.B. koennte eine Person von frueher heute nicht mehr den Status 'Betreuer' haben.</li>
<li>Wird eine solche MA aufgerufen wird nicht mehr der urspruengliche Betreuer angezeigt und beim erneuten Speichern gibt es ein Problem.</li>
</ul>
<p>Vorschlag:</p>
<ul>
<li><code>FE.parameter.sqlGetItemSaved = {{SELECT p.id, p.name FROM Person AS p WHERE p.id={{pId:R}}</code></li>
<li>Wird die ItemList gebaut, wird überprüft ob die gespeicherte Id (oder Value falls es keine ID gibt) noch existiert.</li>
<li>Ja: all done, no further action</li>
<li>Nein:
<ul>
<li>Evaluate <code>FE.parameter.sqlGetItemSaved</code></li>
<li>Fuege Key/Value an der richtigen Stelle (Sortierung) ein.</li>
<li>Falls moeglich stelle den Eintrag 'kursiv' dar ('muted' waere schlecht, denn das suggeriert das der Eintrag nicht ausgewaehlt werden koennte).</li>
</ul></li>
</ul>
<ul>
<li>Die Situation koennte auftreten bei: SELECT, CHEKBOX, RADIO</li>
</ul> QFQ - Feature #18161 (New): QFQ Variable: New escape/action class 'strip_tags'https://project.math.uzh.ch/issues/181612024-03-17T11:21:55ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Mitunter werden Variablen ausgegeben und koennen potentiell HTML Tags enthalten die an der Stelle unerwuenscht sind.</p>
<p>Vorschlag 'r' fuer 'remove tags' (c=clean & s=striptags, p=purge sidn schon benutzt) - <a class="external" href="https://docs.qfq.io/en/master/Variable.html#variable-escape">https://docs.qfq.io/en/master/Variable.html#variable-escape</a></p>
<pre>
{{label:R::r}}
</pre>
<p>Koennte verwendet werden in <a class="issue tracker-2 status-1 priority-2 priority-default" title="Feature: Title of 'FormElement'-form: shortened, link to form (New)" href="https://project.math.uzh.ch/issues/18160">#18160</a> damit keine HTML Tags im Titel ausgegeben werden.</p> QFQ - Feature #18160 (New): Title of 'FormElement'-form: shortened, link to formhttps://project.math.uzh.ch/issues/181602024-03-17T11:04:14ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>a) Mir passiert es haeufig das ich ein FormElement bearbeite und dann gerne das ganze Form bearbeiten moechte.</li>
<li>b) Der Titel des FormElement-Forms enthaelt Elemente die wenig Informationsinhalt haben</li>
</ul>
<a name="Aktuell"></a>
<h2 >Aktuell:<a href="#Aktuell" class="wiki-anchor">¶</a></h2>
<p><img src="https://project.math.uzh.ch/attachments/download/9516/clipboard-202403171125-ffl17.png" alt="" /></p>
<a name="Vorschlag"></a>
<h2 >Vorschlag:<a href="#Vorschlag" class="wiki-anchor">¶</a></h2>
<p><img src="https://project.math.uzh.ch/attachments/download/9517/clipboard-202403171202-1quit.png" alt="" /></p>
<p><img src="https://project.math.uzh.ch/attachments/download/9518/clipboard-202403171203-bzxni.png" alt="" /></p>
<a name="Neue-Definition"></a>
<h2 >Neue Definition<a href="#Neue-Definition" class="wiki-anchor">¶</a></h2>
<pre>
{{ "{{SELECT 'p:form?form=form&r=', f.id, '|E|b:btn-small btn-default|s|o:Form: ', f.id, ' / ', f.name, CHAR(10), 'DB: {{dbNameQfq:Y}}' FROM Form AS f WHERE f.id = {{formId:SR0}} }}" AS _link}} <span style="font-weight: 100;">FE:</span> {{name:R:::New}} / {{label:RE}}
</pre> QFQ - Bug #18155 (New): Form escapeTypeDefault btn-group not workinghttps://project.math.uzh.ch/issues/181552024-03-15T11:03:10ZEnis Nuredini
<p>Die Auswahl eines escapeTypeDefault im Form Editor macht keinen Unterschied. Es verändert sich nichts.</p> QFQ - Bug #18154 (New): Form autofocus not workinghttps://project.math.uzh.ch/issues/181542024-03-15T11:01:48ZEnis Nuredini
<p>Autofocus funktioniert im Formular schon seit längerem nicht mehr. Obwohl das Attribut richtig gesetzt wird beim jeweiligem Element ist der Effekt nicht aktiv im Frontend.</p>
<p>Wir konnten beobachten dass beim erstmaligem Laden der Autofocus für 1sek. erschienen und danach verschwunden ist. Folgende Reloads zeigten diesen gar nicht mehr an.</p> QFQ - Feature #18141 (New): In Config/Dynamic neue fill store 'SYSTEM' by SQL ROW mit variablen ...https://project.math.uzh.ch/issues/181412024-03-14T07:18:20ZZhoujie Li
<p>Es wurde herausgestellt, dass man eine neue Config/Dynamic input möchte, indem man den fillstore 'SYSTEM'-Speicher durch SQL-ROW die variablen ersetzt, um beispielsweise pIdUser aus dem system store zu holen anstatt {{feUser}}.</p>
<p>Beispiel<br />SELECT p.id AS pIdUser FROM Person AS p WHERE p.account = '{{feUser:T}}'</p>
<p>pIdUser ist dann im Systemstore gespeichert.</p> QFQ - Feature #18085 (New): FE Input Email Adressbook: a) Typeahead, b) check valid and markhttps://project.math.uzh.ch/issues/180852024-03-06T09:07:34ZCarsten Rosecarsten.rose@math.uzh.ch
<a name="Request"></a>
<h2 >Request<a href="#Request" class="wiki-anchor">¶</a></h2>
<ul>
<li>Im IK Tool werden beim Antrag Email-Adressen von weiteren verantwortlichen Personen erfasst.</li>
<li>Es kommt regelmaessig vor das die Adressen einen Typo enthalten.</li>
<li>Ziel
<ul>
<li>Bei der Eingabe TypeAhead vom UZH Adressebook anbieten.</li>
<li>Bei 'Focus Lost' Emailadressen pruefen und markieren ok/fail.</li>
</ul></li>
</ul>
<a name="Vorschlag"></a>
<h2 >Vorschlag<a href="#Vorschlag" class="wiki-anchor">¶</a></h2>
<ul>
<li>Wird erkannt dass die Email Adresse eine <code>uzh.ch</code> Adresse ist, kann ein LDAP Lookup gemacht werden um zu ueberpruefen ob die Adresse im UZH AD vorhanden ist.</li>
<li>Ist die Adresse bekannt, wird sie gruen, sonst gelb (Tooltip: Address not found in UZH adress book).</li>
<li>Non uzh.ch Adressen werden so nicht geprueft.</li>
<li>Option 'internal check': es koennen Tabellen, Spalten spezifiziert werden (Tool intern),ob die Adresse bereits benutzt wurde. Falls gefunden wird sie ebenfalls gruen.</li>
<li>Der Check gegen das Adressbuch muss erst gemacht werden bei Focus Lost.</li>
<li>Der Check sollte vom Server gestartet werden: Zugriff auf den AD ist beschraenkt (Firewall, Credentials)</li>
<li>Wir brauchen einen neuen API Call der SIP protected ist.</li>
<li>Beim Laden des Forms ist der Check vermutlich nicht so wichtig, kann erstmal weggelassen werden.</li>
<li>Die Credentials sollten in der zentrallen QFQ config Datei sein (wie UZH webpass)</li>
<li>Die LDAP Abfrage sollte zentral in der QFQ Extension Config konfigurierbar sein, pro FE kann das Setting uberschrieben werden.</li>
<li>Option: mehrere Emailadressen in einem FE-Input Elemente erfassen (space, komma separiert) und individuell pruefen & markieren.</li>
</ul>
<p>EmailAdressbookVerify=<br />EmailAdressbookTypeahead=</p>
<a name="Check"></a>
<h2 >Check<a href="#Check" class="wiki-anchor">¶</a></h2>
<p>Beispiel via Commandline:</p>
<pre>
$ ldapsearch -LLL -x -H "ldap://iduzhz2dc01.d.uzh.ch ldap://iduzhz2dc02.d.uzh.ch" -b "DC=d,DC=uzh,DC=ch" -D "srv-math-sync@d.uzh.ch" -W "proxyAddresses=smtp:carsten.rose@math.uzh.ch" proxyAddresses
Enter LDAP Password:
dn: CN=Rose Carsten (crose),OU=Users,OU=Users UZH,DC=d,DC=uzh,DC=ch
proxyAddresses: smtp:crose@access.uzh.ch
proxyAddresses: X500:/o=ExchangeLabs/ou=Exchange Administrative Group (FYDIBOH
F23SPDLT)/cn=Recipients/cn=d99ada2cb78c406ea039453c26f86dab-Rose Carste
proxyAddresses: smtp:caro@math.uzh.ch
proxyAddresses: smtp:m200143@access.uzh.ch
proxyAddresses: smtp:carsten.rose@uzh.ch
proxyAddresses: smtp:crose@uzh.mail.onmicrosoft.com
proxyAddresses: SMTP:carsten.rose@math.uzh.ch
# refldap://DomainDnsZones.d.uzh.ch/DC=DomainDnsZones,DC=d,DC=uzh,DC=ch
# refldap://ForestDnsZones.d.uzh.ch/DC=ForestDnsZones,DC=d,DC=uzh,DC=ch
# refldap://d.uzh.ch/CN=Configuration,DC=d,DC=uzh,DC=ch
</pre>
<ul>
<li>Bei der Abfrage koennen mehrere LDAP Server angegeben werden.</li>
<li>Liefert die Abfrage min. einen Treffer zurueck, ist die Adresse ok.</li>
<li>Die obige Abfrage geht auf 'proxyAddresses', da dort scheinbar auch die weiteren Adressen angegeben sind.
<ul>
<li>Bei 'proxyAddresses' muss ein 'smtp:' vorangestellt werden fuer einen 100% match</li>
</ul></li>
</ul> QFQ - Support #18057 (New): {{sqlLog:Y}} returns empty string when not configuredhttps://project.math.uzh.ch/issues/180572024-03-05T07:31:43ZElias Villiger
<p>When the QFQ config for <code>sqlLog</code> (or <code>qfqLog</code>, <code>mailLog</code>) is empty, the default log directory (<code>fileadmin/protected/qfqProject/log/sql.log</code>) is used.</p>
<p>When retrieving <code>{{sqlLog:Y}}</code> from the System Store, this returns an empty string (corresponding to the config value).</p>
<p>Expected behavior: When there's no specific log path configured, I would expect it to return the default/actual path to the log file.</p>
<p>Example use case: <a class="external" href="https://docs.qfq.io/en/master/Report.html#monitor">https://docs.qfq.io/en/master/Report.html#monitor</a></p> QFQ - Support #18048 (New): Upload (filepond): FE.downloadButton missing tooltiphttps://project.math.uzh.ch/issues/180482024-03-03T22:31:55ZCarsten Rosecarsten.rose@math.uzh.ch
<p>QFQ Version 24.3.0</p>
<a name="In-v1-funktioniert-die-Anzeige-des-Tooltips"></a>
<h2 >In 'v1' funktioniert die Anzeige des Tooltips<a href="#In-v1-funktioniert-die-Anzeige-des-Tooltips" class="wiki-anchor">¶</a></h2>
<pre>
downloadButton = t:Download|o:check file
</pre>
<p><img src="https://project.math.uzh.ch/attachments/download/9401/clipboard-202403032329-8x1vp.png" alt="" /></p>
<a name="In-v2-funktioniert-die-Anzeige-des-Tooltips-nicht-nicht-als-Tooltip"></a>
<h2 >In 'v2' funktioniert die Anzeige des Tooltips nicht (nicht als Tooltip)<a href="#In-v2-funktioniert-die-Anzeige-des-Tooltips-nicht-nicht-als-Tooltip" class="wiki-anchor">¶</a></h2>
<p>Es wird der ganze Text gerendert - d.h. vermutlich werden die Angaben wie tooltip, glyphicon nicht ausgewertet. Aktuell weiss ich nicht was noch alles verwendet werden kann - am besten bei V1 nachschauen.</p>
<p><img src="https://project.math.uzh.ch/attachments/download/9402/clipboard-202403032330-ki9qk.png" alt="" /></p>
<p>Laut Doku (<a class="external" href="https://docs.qfq.io/en/master/Form.html#id14">https://docs.qfq.io/en/master/Form.html#id14</a>):</p>
<p><img src="https://project.math.uzh.ch/attachments/download/9403/clipboard-202403032331-l8bqw.png" alt="" /></p> QFQ - Feature #18047 (New): (filepond) uploadType: a) report invalid value, b) change v1/v2 to 1/...https://project.math.uzh.ch/issues/180472024-03-03T22:20:55ZCarsten Rosecarsten.rose@math.uzh.ch
<p>FormElement.paramter.uploadType:</p>
<p>a) report invalid value</p>
<p>Wird ein ungueltiger Wert konfiguriert, sollte es eine Fehlermeldung geben - aktuell funktioniert das Upload Element dann nicht - aber es gibt keine Fehlermeldung.</p>
<p>b) change v1/v2 to 1/2</p>
<p>Ich wuerde vorschlagen wir nennen die Typen nicht v1/v2 sondern einfach 1/2. Grund: keep it simpel.</p>
<p>Sicher werden wir auch Beispiele finden an denen 'v..' angibt, aber meiner Wahrnehmung nach ist meistens kein 'v' angegeben:</p>
<p><img src="https://project.math.uzh.ch/attachments/download/9395/clipboard-202403032310-ira1s.png" alt="" /></p>
<p><img src="https://project.math.uzh.ch/attachments/download/9394/clipboard-202403032309-befkx.png" alt="" /></p>
<p>c) Im CodeMirror fehlen scheinbar ein paar Keywords fileSplit, tableNameSplit, uploadType - koenntest du die mit aufnehmen? Elias sollte eine Doku geschrieben haben wo das zu machen ist.</p>
<p><img src="https://project.math.uzh.ch/attachments/download/9400/clipboard-202403032320-priqn.png" alt="" /></p> QFQ - Bug #17991 (New): filepond: broken filter in file dialog boxhttps://project.math.uzh.ch/issues/179912024-02-25T10:30:21ZCarsten Rosecarsten.rose@math.uzh.ch
<p><img src="https://project.math.uzh.ch/attachments/download/9323/clipboard-202402251120-9qtxg.png" alt="" /><br /><pre>
accept = image/*,application/pdf,text/plain,.r,.m,.nb,.rmd,.rnw,.zip,.dat
</pre></p>
<p>Brave: Die Files werden nicht angezeigt:</p>
<p><img src="https://project.math.uzh.ch/attachments/download/9324/clipboard-202402251121-gc9vx.png" alt="" /></p>
<p>Wird der Filter auf 'All Files' gesetzt koennen die Files ausgewaehlt werden:</p>
<p><img src="https://project.math.uzh.ch/attachments/download/9325/clipboard-202402251123-9xavd.png" alt="" /></p>
<p>Firefox das gleiche:</p>
<p><img src="https://project.math.uzh.ch/attachments/download/9326/clipboard-202402251125-2i1lx.png" alt="" /></p>
<p>Mit <code>uploadType=v1</code> werden die Files korrekt angezeigt (Brave & FF)</p>
<p><img src="https://project.math.uzh.ch/attachments/download/9327/clipboard-202402251128-aluit.png" alt="" /></p> QFQ - Feature #17647 (New): Chat Ratchet Websocket Server: a) start on boot, b) multiple racthet ...https://project.math.uzh.ch/issues/176472024-01-18T12:28:35ZCarsten Rosecarsten.rose@math.uzh.ch
<p>a) start on boot</p>
<ul>
<li>Ratched soll beim Boot automatisch starten. </li>
<li>Es gibt kein Stop mehr</li>
</ul>
<p>b) multiple racthet instances,</p>
<ul>
<li>Pro Host koennen mehere Ratchets gestartet/beendet werden.</li>
<li>Ratchet Config Datei entsprehcend anpassen.</li>
<li>Optionale Check ob nginx/apache entsprechende Proxy Anweisungen enthalten</li>
</ul>
<p>c) update QFQ not to start/stop</p>
<ul>
<li>Aus dem Controller das 'start' und aus QFQ das 'stop' entfernen.</li>
</ul>
<p>d) Update installation doc</p>
<ul>
<li>NGINX/Apache Config Beispiel</li>
<li>Start Script fuer Ratched in QFQ mit verteilen.</li>
</ul> QFQ - Bug #17569 (New): Form.title text/children not centeredhttps://project.math.uzh.ch/issues/175692024-01-12T10:12:13ZJan Haller
<p>Normalerweise ist reiner Text in <em>form.title</em> vertikal zentriert:<br /><img src="https://project.math.uzh.ch/attachments/download/8973/clipboard-202401121036-p0kxs.png" alt="" /></p>
<p>Sobald ein z.B. ein <em>qfq-badge</em> in <em>form.title</em> verwendet wird, vergrössert sich die Höhe des Titel-Elements und der Text ist nicht mehr vertikal zentriert:<br /><img src="https://project.math.uzh.ch/attachments/download/8974/clipboard-202401121043-djwxs.png" alt="" /></p>
<p>Wird jedoch z.B. <em>pull-right</em> in <em>form.title</em> verwendet, bleibt die Höhe des Titel-Elements gleich und der Text ist vertikal zentriert. Das <em>pull-right</em> jedoch nicht:<br /><img src="https://project.math.uzh.ch/attachments/download/8975/clipboard-202401121048-o6uwb.png" alt="" /><br /><img src="https://project.math.uzh.ch/attachments/download/8976/clipboard-202401121049-65fpx.png" alt="" /></p>
<p>Durch Ergänzung der CSS-Klassen können alle children (inkl. Text) von <em>qfq-form-title</em> vertikal zentriert werden:<br /><pre><code class="css syntaxhl"><span class="nc">.qfq-form-title</span> <span class="p">{</span>
<span class="nl">display</span><span class="p">:</span> <span class="n">flex</span><span class="p">;</span>
<span class="nl">align-items</span><span class="p">:</span> <span class="nb">center</span><span class="p">;</span>
<span class="p">}</span><span class="o">;</span>
<span class="nc">.pull-right</span> <span class="p">{</span>
<span class="nl">margin-left</span><span class="p">:</span> <span class="nb">auto</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></p>
<p>Resultat: <em>qfq-badge</em> und Text vertikal zentriert:<br /><img src="https://project.math.uzh.ch/attachments/download/8977/clipboard-202401121055-m2jmp.png" alt="" /></p>
<p>Resultat: <em>pull-right</em> und Text vertikal zentriert:<br /><img src="https://project.math.uzh.ch/attachments/download/8978/clipboard-202401121057-yjx9h.png" alt="" /></p>
<p>Ist dieser Lösungsansatz der richtige? Gibt es weitere Klassen die angepasst werden müssen? Wird nichts bestehendes kaputt gemacht?</p> QFQ - Feature #17544 (New): QFQ Installation Wizard / Defaultshttps://project.math.uzh.ch/issues/175442024-01-09T12:19:59ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Im Meeting mit Philipp, Enis, Benj und Carsten wurden besprochen das wir einen Installation Wizard benoetigen.</p>
<ul>
<li>Kontrolle das die BaseURL stimmt (falls nicht ok, bitte im Installtool setzen).</li>
<li>Frage ob Tabellen angelegt werden sollen:
<ul>
<li>Period</li>
<li>Category (ex Ggroup) - Weiterer Vorschlag: Grp (in dem Fall kann 'gr' als Prefix weiter verwendet werden). implement mit Ticket <a class="issue tracker-2 status-2 priority-3 priority-high3" title="Feature: Per Form: note, tag, reminder date, done flag (In Progress)" href="https://project.math.uzh.ch/issues/17412">#17412</a> </li>
<li>Glue (ex GroupMember) implement mit Ticket <a class="issue tracker-2 status-2 priority-3 priority-high3" title="Feature: Per Form: note, tag, reminder date, done flag (In Progress)" href="https://project.math.uzh.ch/issues/17412">#17412</a></li>
<li>Upload. implement mit Ticket #filepond</li>
<li>Translation</li>
<li>Chat implement mit Ticket #chat</li>
<li>Note</li>
<li>NoteItem ( fuer form NoteItem Ticket <a class="issue tracker-2 status-2 priority-3 priority-high3" title="Feature: Per Form: note, tag, reminder date, done flag (In Progress)" href="https://project.math.uzh.ch/issues/17412">#17412</a>)</li>
<li>Person</li>
<li>Account</li>
<li>Address</li>
<li>PersonRole</li>
<li>Role</li>
</ul></li>
</ul>
<ul>
<li>BestPractice Doku & Seite / ttcontent anlegen (Auswahl als welches Child Element)
<ul>
<li>Settings (based on Grp/Glue) via.</li>
<li>Person / Adresse / Account / Rolle</li>
<li>FormEditor</li>
<li>Beispiel Chat</li>
</ul></li>
</ul>
<p><img src="https://project.math.uzh.ch/attachments/download/8961/clipboard-202401091319-wrmqh.png" alt="" /></p>
<p>switchdrive/qfq/DB/QFQ_Best_Practice_Tables.drawio</p>
<ul>
<li>Der Wizard soll bei der ersten Installation automatisch aufgehen.</li>
<li>Der Wizard soll auch spaeter noch gestartet werden koennen.</li>
<li>Im Wizard angeben wie man ihn spaeter erneut starten kann.</li>
<li>Aufruf koennte via einem HTML/PHP Form gemacht werden, das nur startet wenn ein BE User eingeloggt ist: BE Cookie mit der T3 BE User Tabelle vergleichen).</li>
</ul> QFQ - Feature #17442 (New): Rearrange form buttonshttps://project.math.uzh.ch/issues/174422023-12-07T12:53:28ZKrzysztof Putyra
<a name="Overview-of-the-problem"></a>
<h1 >Overview of the problem<a href="#Overview-of-the-problem" class="wiki-anchor">¶</a></h1>
The current arrangement <code>[save][close] [delete] [new]</code> is flawed: it makes people afraid to click "close", because the impression is that the button deletes data. This is caused by how our brain processes this information:
<ul>
<li>the two buttons are next to each other with icons suggesting opposite actions</li>
<li>opposite <em>action</em> to "safe" is "delete" ("don't safe" is <em>no action</em>)</li>
<li>close button is normally the last one in a group, so our brain does not expect it at the current position</li>
</ul>
<p>Moreover, because [save] and [close] are next to each other and [delete] is separated, the brain ignores [delete] when looking at [close] and tries to make connection only with [save]. This could be improved by placing [delete] between [safe] and [close]</p>
<a name="An-alternate-arrangement"></a>
<h1 >An alternate arrangement<a href="#An-alternate-arrangement" class="wiki-anchor">¶</a></h1>
<p><code>[safe] [new][delete] [close]</code></p>
<ul>
<li>[close] is the last button</li>
<li>[delete] does not touch [safe], which prevents accidental clicks</li>
<li>[delete] is between [safe] and [close] to prevent the brain making a connection between these two buttons</li>
<li>choosing for [safe] an icon related to [delete] instead of a tick may improve the situation as well</li>
</ul> QFQ - Bug #17257 (New): Migrate QFQ system tables: set default valuehttps://project.math.uzh.ch/issues/172572023-11-09T20:42:54ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Bug #17142 (New): UZH CD: Typo3 clean search bar migrationhttps://project.math.uzh.ch/issues/171422023-10-19T12:47:54ZEnis Nuredini
<p>The search bar isn't working correctly in typo3 v11. Executing search maybe shows correct results but the path is completely wrong. index.php isn't used anymore in Typo3 v11. Switching languages and using search bar changes the language always to default.</p>
<p>A solution is found to clean this behaviour: <a class="external" href="https://project.math.uzh.ch/projects/qfq/wiki/Migration#Search-bar-configuration">https://project.math.uzh.ch/projects/qfq/wiki/Migration#Search-bar-configuration</a></p>
<p>Those changes needs to be implemented directly in the UZH extension (old CD, new CD). And documentation for new custom variables should be added.</p> QFQ - Bug #16911 (New): TG wants to insert record but nothing was changedhttps://project.math.uzh.ch/issues/169112023-09-21T15:20:21ZPhilipp Gröbelbauer
<p>Template group is trying to do an Insert, even though none of its fields have been changed.<br />As a result, an empty string is passed to the insert statement for what should be a date value.<br />This produces the following error, which does not appear in qfq.log:</p>
<p><img src="https://project.math.uzh.ch/attachments/download/8428/clipboard-202309211608-fobf3.png" alt="" /></p>
<p>Error occurred on <a class="external" href="https://webwork22.math.uzh.ch/my/finanztool-anstellungen">https://webwork22.math.uzh.ch/my/finanztool-anstellungen</a>, when saving an employment record while leaving one of the date fields on the 'Pauschalzahlungen' tab empty.<br />(Error no longer occurrs, because of the following checks in the TG afterSave:</p>
<p><img src="https://project.math.uzh.ch/attachments/download/8429/clipboard-202309211714-eurla.png" alt="" /></p>
<p>(Remove these if you want to reproduce error)</p>
<p>There is a select FE (pauschal_cost_type_%d) in this template group. Disabling that FE fixes the error, suggesting that it is somehow responsible for initiating the faulty insert request.</p> QFQ - Bug #16572 (New): Filter bei qfq-vertical/qfq-vertical-text funktioniert nicht richtighttps://project.math.uzh.ch/issues/165722023-07-06T10:23:46ZEnis Nuredini
<p>Bei Verwendung folgender Header in einer Tabelle funktioniert die Sortierfunktion nicht richtig und es wird nur auf die eine Richtung sortiert.<br /><pre>
<th class="qfq-vertical filter-false"><span class="qfq-vertical-text">
</pre></p>
<p>Ebenfalls sollten die Sortierpfeile zu unterst sein und nicht eingemittet.</p>
<p>Beim Laden in Firefox werden die Pfeile manchmal nicht neben der Bezeichnung geladen sonder darüber. Korrigiert sich sobald die Entwickler Tools im Browser geöffnet werden.</p> QFQ - Feature #16346 (New): Tablesorter: clearme missinghttps://project.math.uzh.ch/issues/163462023-06-02T16:04:21ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Es waere gut wenn auch im Tablesorter das ClearMe X angezeigt werden wuerde:</p>
<p><img src="https://project.math.uzh.ch/attachments/download/8004/clipboard-202306021803-oktid.png" alt="" /></p>
<p><img src="https://project.math.uzh.ch/attachments/download/8005/clipboard-202306021803-2thou.png" alt="" /></p>
<p><img src="https://project.math.uzh.ch/attachments/download/8006/clipboard-202306021804-neuxg.png" alt="" /></p> QFQ - Feature #16113 (New): Report, Subrecord: action on multiple elementshttps://project.math.uzh.ch/issues/161132023-04-26T15:11:17ZCarsten Rosecarsten.rose@math.uzh.ch
Alternativer Titel: <strong>HTML table row multi select action</strong>
<ul>
<li>Records können auf Report und Formebene (Subrecord) selektiert und zusammen "bearbeitet" werden (Action wird auf alle selektierten Records angewendet).</li>
<li>Actions sind über Dropdown abrufbar</li>
<li>1 Action = 1 <em>Function</em>
<ul>
<li><em>Anmerkung CR:</em> das mit 'Functions' (weil wir so viele brauchen pro Menu) muessen wir trennen von qfqFunctions - denn 'Functions' stehen ja im aktuellen tt-content wuerden nicht gefunden werden wenn sie in einem anderen Record stehen. Aus meiner Sicht aber genau so sinnvoll! Ein tt-content Record entspricht einer Klasse.</li>
</ul></li>
</ul>
<p><img src="https://project.math.uzh.ch/attachments/download/7783/clipboard-202304261709-sosbw.png" alt="" /></p>
<p><img src="clipboard-202304261709-w1hfg.png" alt="" /></p> QFQ - Feature #15970 (New): Inline Editinghttps://project.math.uzh.ch/issues/159702023-04-06T12:48:56ZPhilipp Gröbelbauer
<p>Sammelticket für alles related to Inline Editing in QFQ.</p>
<p>IPA proess - Umsetzung von zwei Varianten:<br /><code><br />SELECT 'table=tableName&column=colName&type=text&r=myId' AS _edit<br />SELECT 'form=formName&fe=feName&r=myId' AS _edit</code></p>
<p>Weitere, schlanke Variante diskutiert am 6.4.23 (crose, pgroeb):<br />(implizites Edit, wenn tableName ODER formName angegeben ist, und eine Spalte mit Alias selektiert wird, der dem FE-Name oder Column-Name entspricht)</p>
<p><code>10{<br />sql = SELECT p.id AS _r , CONCAT(p.firstName, ', ', p.lastName) AS personName<br />formName = ...<br />tableName = ...<br />}</code></p> QFQ - Feature #15969 (New): Auto Update Stored Procedurehttps://project.math.uzh.ch/issues/159692023-04-06T07:58:57ZEnis Nuredini
<p>Wird eine QFQ Instanz als ganzes kopiert und ein SQL Dump von einer DB zur anderen importiert, so fehlen die Stored Procedures. Bisher wurden diese manuell übertragen.</p>
<p>1) Neu braucht es in der QFQ Extension Config unter dem Tab Debug bei database.update eine dritte Option 'autoDb'. Es gibt schon 'auto' und 'always'. 'auto' würde alles triggern beim DB Update inkl. einem Check ob Stored Procedures existieren und diese erstellen falls nicht (sollte bestehender Code existieren). 'autoDb' führt alles aus wie bisher mit Ausnahme der Stored Procedures. Bei 'always' wird sowieso alles ausgeführt und das bei jedem Load wie gewohnt. Permissions werden vorausgesetzt damit Typo3 die Stored Procedures erstellen kann.</p>
<p>2) Was noch ein Thema war: Triggern der Create Stored Procedures falls QFQ Fehlermeldung erscheint dass eine aufzurufende SQL Function nicht gefunden wurde (Idee wurde wieder verworfen.). Danach ein Check ob das Create Stored Procedures erfolgreich ausgeführt wurde.</p> QFQ - Feature #15904 (New): QFQ: T3 V12 Compatibilityhttps://project.math.uzh.ch/issues/159042023-03-30T07:07:56ZEnis Nuredini
<p>QFQ ist nicht kompatibel mit T3 V12. Hier müssen Anpassungen vorgenommen werden.</p>
<p>Testseite verfügbar: <a class="external" href="http://webwork22.math.uzh.ch/typo12/typo3/">http://webwork22.math.uzh.ch/typo12/typo3/</a></p>
<p>Extension ist schon mal auf der Testseite hinzugefügt, damit es in Typo3 keine Fehlermeldung (Access denied) gibt mussten in folgenden Files (ext_tables.php, ext_localconf.php, tt_content-php) Zeilen Code auskommentiert werden:<br /><pre>
if (!defined('TYPO3_MODE')) {
# die('Access denied.');
}
</pre></p>
<p>Upload über T3 Backend ist aktuell nicht mehr möglich, nur das einfügen ins Verzeichnis typo3conf/ext/</p> QFQ - Feature #15903 (New): UZH CD: T3 V12 Compatibilityhttps://project.math.uzh.ch/issues/159032023-03-30T07:00:25ZEnis Nuredini
<p>UZH CD ist aktuell nicht kompatibel mit T3 V12. Hier gibt es Handlungsbedarf.</p>
<p>Verfügbare Testseite: <a class="external" href="http://webwork22.math.uzh.ch/typo12/typo3/">http://webwork22.math.uzh.ch/typo12/typo3/</a></p>
<p>Extension ist schon mal auf der Testseite hinzugefügt, damit es in Typo3 keine Fehlermeldung (Access denied) gibt mussten in folgenden Files (ext_tables.php) Zeilen Code auskommentiert werden:<br /><pre>
if (!defined('TYPO3_MODE')) {
# die('Access denied.');
}
</pre></p>
<p>Upload über T3 Backend ist aktuell nicht mehr möglich, nur das einfügen ins Verzeichnis typo3conf/ext/</p> QFQ - Bug #15866 (New): FE.type=checkbox: error message 'empty sql1, itemlist' even if FE is hidden.https://project.math.uzh.ch/issues/158662023-03-23T12:18:06ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Sollten wir Fehlermeldungen beim Bau des Elements unterdruecken, wenn ein FE Element 'hidden' ist?</p>
<p>Konkret ging es darum das sql1/itemList leer war, in dem Modus war es aber bereits ausgeblendet. Die Markierungen im 2. Screenshot war der Fix das die Exception nicht geworfen wird.</p>
<p><img src="https://project.math.uzh.ch/attachments/download/7576/clipboard-202303231314-ca6ft.png" alt="" /></p>
<p><img src="https://project.math.uzh.ch/attachments/download/7577/clipboard-202303231315-1hj9l.png" alt="" /></p> QFQ - Feature #15812 (New): Upload: download button appears after uploading filehttps://project.math.uzh.ch/issues/158122023-03-16T12:01:35ZJan Haller
<p>Weiterentwicklung von <a class="issue tracker-1 status-1 priority-2 priority-default" title="Bug: Upload: download button not shown after pressing save (New)" href="https://project.math.uzh.ch/issues/15795">#15795</a>:<br />Nach dem Upload (Datei auswaehlen, noch kein Save gedrueckt) soll ein Downloadbutton erscheinen, um die Datei direkt wieder herunzerzuladen.</p>
<p><img src="https://project.math.uzh.ch/attachments/download/7532/clipboard-202303161301-3ezmi.png" alt="" /></p> QFQ - Feature #15524 (New): Generic Report Pagehttps://project.math.uzh.ch/issues/155242023-02-11T09:59:41ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Ziel: einfach beliebige Daten anschauen / bearbeiten / exportieren koennen.</p>
<p>Features:</p>
<ul>
<li>Repository enthaelt beliebige vorgegebene oder benutzerdefierte Reports. Das sind <strong>keine</strong> QFQ Reports mit <code>10.sql=...</code> sondern ein simples SQL Statement.</li>
<li>Optional koennen Eintraege in dem Repository durch Benutzer erstellt/angepasst werden. </li>
<li>Damit haben wir einen generischen Report Generator auf SQL Basis.</li>
<li>Jeder GenericReport hat einen Excel Exports (Button)</li>
<li>Fuer jeden Report kann QFQ 'on the fly' ein Form Detail rendern.</li>
<li>Jede Row (Record) kenn editiert oder geloescht werden.</li>
</ul>
<p>Details:</p>
<ul>
<li>In einer Tabelle 'GenericReport' werden pro Report alle Details hinterlegt.
<ul>
<li>Spalten: sql1, genericReport (uniq name for this report), description, required (comma list of required SIP arguments), sqlStoreVar (SELECT Definition), formForDelete (siehe unten), fileNameExcelExport (kann QFQ Variablen enthalten), head (Textarea Feld mit QFQ Variablen welches ueber dem Report und im Excel ueber den Daten ausgegeben wird). showNew, showEdit, showDelete (default: on).</li>
</ul></li>
</ul>
<ul>
<li>Eine T3 Page 'Generic Report' wird mit dem SIP Parameter 'genericReport=<uniq name>' und weiteren SIP Parametern aufgerufen.
<ul>
<li>Report Code: <code>genericReport = {{genericReport:SE}}</code></li>
</ul></li>
</ul>
<ul>
<li>Der Report wird mit TableSorter dargestellt, inkl. ColumnSelector.</li>
<li>Die Spaltennamen des SQL Statements:
<ul>
<li>a) referenzieren direkt eine Tabellenspalte (darueber kann der Spaltentyp ermittelt werden fuer einen Excel Export oder das generische Formular).</li>
<li>b) bei z.B. <abbr title="">CONCAT</abbr> oder '... AS something' oder bei einem SQL View Statement: im Spaltennamen die Definition. Bsp: 'Person|<abbr title="20">VARCHAR</abbr>|'.
<ul>
<li>Ein SET mit 2 Angaben (yes/no, on/off, 1/0, true/false) wird automatisch zu einer Checkbox. Der unchecked Wert ist der Default aus der Spaltendefinition.</li>
<li>Ein SET mit mehr als 2 Angaben oder ein ENUM fuehrt zu einem Multi-Select.</li>
</ul></li>
</ul></li>
</ul>
<ul>
<li>Mit den Spaltendefinitionen kann:
<ul>
<li>Der Tablesorter auch nach Datum oder numerisch sortieren.</li>
<li>Kann ein generisches Excel erzeugt werden, inkl. korrekter Zellendefinition (Tex, Int, Float, Dezimal, Datum, Zeit, Datum-Zeit)</li>
<li>Ein generisches Formular erzeugt werden (Form wird 'on demand'in die Tabelle Form/FormElement gerendert).
<ul>
<li>FormName: _<genericReport></li>
<li>Edit: Wird angezeigt wenn es min. eine Spalte 'id' gibt - es wird ein Edit-Link gerendert der das zuvor dynamisch erstellte Form verwendet (mit der ersten 'id' Spalte aus der aktuellen Row). </li>
<li>Delete: Wird angezeigt wenn es min. eine Spalte 'id' gibt und eine primary Tabelle bestimmt werden kann (erste Tabelle nach dem FROM Statement) oder ein Form in <code>formForDelete</code> gesetzt ist. </li>
<li>New: Button.</li>
</ul></li>
</ul></li>
</ul>
<ul>
<li>Fuer den Report wird vergleichbar dem Schluesselwort 'form' das neue Wort 'genericReport' einefuehrt.
<ul>
<li>BSP: genericReport = {{genericReport:SE}}</li>
<li>Excel Export
<ul>
<li>via <code>fileNameExcelExport</code> kann der Exportdateiname vorgegeben werden. Falls nicht gesetzt: Tabellenname_Datum.xlsx. </li>
<li><br> erzeugt eine neue Zeile im Excel.</li>
<li>Die Titelzeile wird gesetzt.</li>
</ul></li>
</ul></li>
</ul> QFQ - Bug #15317 (New): view-saver (tablesorter) is blocking header if header column contains lin...https://project.math.uzh.ch/issues/153172023-01-05T10:13:53ZJan Haller
<p>Beinhaltet der Header einer Tabelle eine Spalte mit linebreak/<br>, überlappt der view-saver den Header.</p>
<p><img src="https://project.math.uzh.ch/attachments/download/7099/clipboard-202301051111-bqhsm.png" alt="" /></p> QFQ - Feature #15310 (New): Direct File Upload on pagehttps://project.math.uzh.ch/issues/153102023-01-04T13:40:06ZEnis Nuredini
<p>Es braucht eine Möglichkeit über den Report ein Upload Feld darzustellen um den direkten Upload über eine Taste oder per Drag and Drop zu ermöglichen. Somit wird kein extra Formular benötigt um ein Upload auszuführen.</p> QFQ - Bug #15108 (New): Wert in Note nach speichern nicht aktualisierthttps://project.math.uzh.ch/issues/151082022-12-05T15:46:11ZJan Haller
<p>Testformular: Medtool>Admin>Setup>Form>note_test</p>
<p>Text in Note (Notiz) wird mit Query abgefragt. Liefert die Query kein Resultat, bleibt nach dem Speichern der vorherige Wert erhalten. Die Seite muss neu geladen werden, damit der Inhalt entfernt wird.</p> QFQ - Bug #15050 (New): Farbe Textfeld grau bei Wechsel von readonly auf show https://project.math.uzh.ch/issues/150502022-11-18T15:05:39ZJan Haller
<p>Textfeld mit TypeAhead bleibt grau, wenn mit Dynamic Update von readonly auf show gewechselt wird. Ursache <input background-color:"transparent"> (siehe Screenshot).</p> QFQ - Bug #15047 (New): {{allRequiredGiven:V}} = 0, wenn Note Formelement auf required isthttps://project.math.uzh.ch/issues/150472022-11-18T10:11:34ZPascal Rössler
<p>Wenn ein Note Formelement auf mode=required hat, ist {{allRequiredGiven:V}} immer = 0. Da man ein Formelement vom Typ Note gar nicht ausfüllen kann.</p> QFQ - Bug #14999 (New): FormElement 'text'/'select': horizontal alignment of symbol 'dropdown', '...https://project.math.uzh.ch/issues/149992022-11-06T16:18:24ZCarsten Rosecarsten.rose@math.uzh.ch
<p><img src="https://project.math.uzh.ch/attachments/download/6847/clipboard-202211061716-4merq.png" alt="" /></p> QFQ - Bug #14998 (New): Default Escape-Type different between `sql`and `head|tail`https://project.math.uzh.ch/issues/149982022-11-06T14:39:18ZCarsten Rosecarsten.rose@math.uzh.ch
<pre>
10 {
sql = SELECT CHAR(10) AS _lf
}
20 {
sql = SELECT '{{lf:R}}', '[hello 1]', '{{lf:R}}'
head = '{{lf:R}}[hello 2]{{lf:R}}'
# head = '{{lf:R::-}}[ hello 2]{{lf:R::-}}'
}
# Das kommt heraus:
\n[ hello 2]\n
[hello 1]
# Folgendes sollte heraus kommen
[hello 2]
[hello 1]
# Das gewuenschte kann erreicht werden, in dem die erste head Zeile durch die zweite ersetzt wird.
</pre>
<ul>
<li>Es ist schlecht das unterschiedliche Defaults beim escapen gelten. </li>
<li>Bitte nachschauen woran das liegt und mit CR beschrechen.</li>
<li>Wenn wir das einfach umstellen wird es Probleme mit mit alten Instanzen geben.</li>
<li>Bitte check was fuer <code>rbeg,rend,fbeg,fend,rsep,fsep,althead,altsql</code> gilt.</li>
</ul> QFQ - Feature #14884 (New): Darstellung Pflichtfelder / Beschreibung was fehlt oder falsch isthttps://project.math.uzh.ch/issues/148842022-10-13T08:15:11ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Die Variante wie 'Planon' required Felder anzeigt (duenner roter Rahmen) und im Schritt 2>3 dann genauere Meldungen anzeigt find ich optisch sehr ansprechend.</p>
<p>Die Alerts oben summieren sich auf.</p>
<p><img src="https://project.math.uzh.ch/attachments/download/6707/clipboard-202210131011-fckqz.png" alt="" /></p>
<p>Sollen wir das bei QFQ mal schoener machen oder besser das auf nach BS5 Migration warten?</p> QFQ - Bug #14753 (New): Folgeproblem zu #14304: keine Befriedigend Lösung für JS-Fileshttps://project.math.uzh.ch/issues/147532022-09-20T13:10:52ZNicola Chiapolini
<p>Wenn ich wie in <a class="issue tracker-1 status-6 priority-2 priority-default closed" title="Bug: table sorter view safer does not work (Rejected)" href="https://project.math.uzh.ch/issues/14304">#14304</a> identifiziert <code>bootstrap.min.js</code> aus meiner liste entferne, funktioniert anschliessend zwar der tabelsorter-viewsafer, dafür ist der Button des tablesorter-columnselector tot... (und auch alle weiteren meiner "popover" tools funktionieren dann nicht mehr).</p> QFQ - Bug #14705 (New): Tablesorter Viewsaver: Icons broken in dropdownlist (only in firefox)https://project.math.uzh.ch/issues/147052022-09-09T10:58:15ZCarsten Rosecarsten.rose@math.uzh.ch
<ul>
<li>Tritt nur im Firefox auf.</li>
<li>Wir eine Optione ausgewaehlt, ist das Icon oben korrekt dargestellt.</li>
<li>In der Dropdownliste ist es kaputt.</li>
</ul>
<p><img src="https://project.math.uzh.ch/attachments/download/6532/clipboard-202209091256-ozgts.png" alt="" /></p> QFQ - Feature #14639 (New): FormEditor > Preview: also with 'PermitNew=logged_in/out/always'https://project.math.uzh.ch/issues/146392022-08-31T08:29:47ZCarsten Rosecarsten.rose@math.uzh.ch
<p>FormEditor > Preview: sollte angeboten werden wenn 'PermitNew=logged_in/out/always' steht.</p> QFQ - Feature #14637 (New): Remove 'CopyForm' and tables 'extForm', 'extFormElement'https://project.math.uzh.ch/issues/146372022-08-31T08:21:28ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Copy Form ist ersetzt durch JSON Kopie</p> QFQ - Bug #14508 (New): _exec: output will not be passed downhttps://project.math.uzh.ch/issues/145082022-07-12T10:48:54ZBenjamin Baerbenjamin.baer@math.uzh.ch
<p>The output of _exec can't be passed down to fields below, even with AS '_exec|column'</p>
<p>{{column}} will return the command, not the output
{{&column}} will return empty, not the output</p>
<p>BTW: folgender Code verhaelt sich korrekt</p>
<pre>
10.sql = SELECT 'echo "Hello World"' AS '_exec'
20.sql = SELECT '{{10.exec}}'
</pre> QFQ - Bug #12327 (New): Copy to clipboard: a) Glyphicon can not be changed, b) Visualisierung & Texthttps://project.math.uzh.ch/issues/123272021-04-07T06:18:33ZCarsten Rosecarsten.rose@math.uzh.ch
<p>a) Scheinbar kann das Glyphicon nicht veraendert werden.</p>
<p>Moeglich sein sollte</p>
<ul>
<li>eines der fixen Icons: N/E/D/...</li>
<li>ein beliebiges via G:gpyphicon-...</li>
</ul>
<p>Der Unittest 'testGlyphiconCopyToClipboard()' testet zur Zeit nur den Standardfall.</p>
<p>b) Visualisierung ziemlich schwach</p>
<ul>
<li>Mitunter ist es wuenschenswert das es eine gut sichtbare Meldung gibt wenn 'copy to clipboard' gedrueckt wird.</li>
<li>Die aktuelle Animation ist leicht zu uebersehen.</li>
<li>Der Text sollte einen Default haben der angepasst werden kann.</li>
<li>Die jetzige Animation ist fuer kleine Aktionen gut, aber nicht fuer wichtige Aktionen.</li>
<li>Man koennte den Typ der Visiualisierung einstellbar machen entweder via I) Systemweit/Form/FormElement oder II) via Parameter bei der Definition.</li>
</ul>
<p><img src="https://project.math.uzh.ch/attachments/download/9512/clipboard-202403161035-agnef.png" alt="" /></p> QFQ - Bug #11195 (New): Dynamic Update: Note not updated if new text is empty (v20.4)https://project.math.uzh.ch/issues/111952020-09-25T09:14:05ZNicola Chiapolini
<p>We had a dynamic updated note-Element with value</p>
<p><code>#!report<br />10.sql = SELECT notes FROM rooms WHERE building = '{{building:FSRD:alnumx}}' AND room = '{{room:FSRD:alnumx}}'<br />10.twig = {{ result.0.notes }}<br /></code></p>
<p>The note-Element is not updated, if the notes is empty or the query does not return a row.<br />The following code works:</p>
<p><code>#!report<br />10.sql = SELECT notes, RAND() AS dummy FROM rooms WHERE building = '{{building:FSRD:alnumx}}' AND room = '{{room:FSRD:alnumx}}'<br />10.twig = <span>{{ result.0.notes }}</span><br /></code></p>
<p>(Since we only update via T3 Extension store, we are still running 20.4 so this might be fixed by now.)</p> QFQ - Bug #7456 (Some day maybe): Todos in Code: solve or make tickethttps://project.math.uzh.ch/issues/74562018-12-11T09:23:08ZMarc EggerQFQ - Feature #3567 (Some day maybe): 'Save', 'Close', 'New' als FormElementhttps://project.math.uzh.ch/issues/35672017-04-13T10:47:15ZCarsten Rosecarsten.rose@math.uzh.chQFQ - Feature #3537 (Some day maybe): SHOW COLUMNS FROM tableName - Extend '{{!...' definitionhttps://project.math.uzh.ch/issues/35372017-04-09T08:09:34ZCarsten Rosecarsten.rose@math.uzh.ch
<p>Ziel war urspruenglich ein TypeAhead fuer Spaltennamen im Form 'FormElement' zu implementieren.<br />Bei der folgenden Beschreibung ist nicht klar ob sich der Aufwand lohnt das zu implementieren:</p>
<pre>
{{!'%s',1,'id'|'%s %s %s',1,2,3,'value'|SHOW COLUMNS FROM {{SELECT f.tableName FROM Form AS f WHERE f.id={{formId:S0}} LIMIT 1}} }}
</pre><br />Erklaerung:
* Kommt nach dem '{{!' kein SQL Schluesselwort, wird der String nach '|' explodiert.
* Ab dem ersten Einzelelement welches mit einem SQL Schluesselwort beginnt, werden alle folgende Einzelelemente wieder zu einem Element zusammengesetzt.
* Die vorderen Einzelelemente sind printf() Anweisungen, mit der Ergaenzung das falls der letzte Parameter (z.B. 'id') in Ticks steht, dies der neue Spaltenname ist.
* Die Nummern nach dem Formatstring sind die Spaltenindizes des Resultsets. QFQ - Feature #3273 (Some day maybe): Dirty Flag in Formhttps://project.math.uzh.ch/issues/32732017-03-04T13:30:44ZElias Villiger
<p>Gewünscht ist die Möglichkeit, innerhalb eines FormElements abzufragen, ob der aktuelle Record Änderungen enthält, die noch nicht gespeichert wurden. Das entsprechende dirty flag muss natürlich dynamic update tauglich sein.</p>
<p>Gebraucht für HMS:</p>
<blockquote>
<p>Der "Submit" button einer application sollte nur dann aktiv sein, wenn der Record gespeichert wurde. Andernfalls wird eine Notiz angezeigt, dass der Record zuerst gespeichert werden muss.</p>
</blockquote>