@@ -8,15 +8,6 @@ use IMATHUZH\Qfq\Core\Helper\HelperFile;
useIMATHUZH\Qfq\Core\Helper\OnString;
useIMATHUZH\Qfq\Core\Helper\SqlQuery;
// TODO: Testen:
// QFQ komplett neu installiert => form dir existiert mit allen form files aktuell.
// QFQ neu installation mit existierenden forms => alte forms sind noch da.
// QFQ update => alte forms noch da, updates an FormEditor ersichtlich
// DONE: Testen: bevor ein form/formelement im form editor gespeichert wird, soll es vom file geladen werden (Save.php). Falls das file importiert wurde, gibt es eine fehlermeldung.
// TODO: Testen: anfrage nach dirty, form file ueberpruefen (importieren)
// TODO: Testen: Dirty tabelle ist aussergewoehnlich voll. werden die records nicht abgeraeumt wegen formAsFile?
// TODO: Testen: ausporbieren was passiert wenn ich in Form-Editor auf speicher druecke nachdem ich in einem anderen tab das geanderte form file in die DB lade.
// TODO: Testen: importAllForms() wird nur ausgefuehrt, wenn der Report Form/FormElement aufruft
// TODO: Fix all broken tests... one easy solution?
// TODO: Carsten Fragen: Habe keine Unittests zu QuickFormQuery->doForm gefunden. Wird nicht getestet. FormAsFile nicht testen oder vielleicht nur mit selenium?
// TODO: Carsten Fragen: Form backups erstellen vor deleteFormFile und exportForm?
...
...
@@ -25,6 +16,7 @@ use IMATHUZH\Qfq\Core\Helper\SqlQuery;
// TODO: Carsten Fragen: Koennte die column "lastImport" zu Form hinzufuegen. Dieser wird dann manuell zusammen mit "changed" beim import und export gesetzt. Mittels Left Join query mit den created columns von FormElement koennte man in importForm() feststellen, ob sich ein form geaendert hat und dieses expotieren, falls der fingerabdruck des files noch gleich ist.
// TODO: Carsten Fragen: QFQ formulare haben id unter 1000 und user forms ueber 1000. Wird ein QFQ formular neu importiert, erhaelt es aber eine id ueber 1000. ist dies ein problem?
// TODO: Carsten Fragen: ZUERST NOCHMAL GENAU NACHTEILE PRUEFEN: In doForm koennte man auch einfach pauschal importAllForms(enforce writeable=true) und exportAllForms() machen, wenn der geladene record ein Form/Formelement ist. Bei vielen forms koennte es langsam sein. ansonsten sehe ich gerade keine klaren nachteile.
// TODO: Carsten Fragen: Kann es sein, dass records in Dirty tabelle nicht mehr richtig abegraeumt werden, weil forms die ID wechseln?
// TODO: BEFOORE PRUDUCTION
// TODO: add Exception hint as hint instead of in main message?
...
...
@@ -40,7 +32,8 @@ use IMATHUZH\Qfq\Core\Helper\SqlQuery;
// form field change editor => changed in form file
// bevor ein form/formelement im form editor gespeichert wird, soll es vom file geladen werden (Save.php). Falls das file importiert wurde, gibt es eine fehlermeldung.
// form name change => old form file deleted, new form file created
// form delete => form file deleted
...
...
@@ -55,9 +48,16 @@ use IMATHUZH\Qfq\Core\Helper\SqlQuery;
// form file form element added => added in form editor
// form file form element changed => changed in form editor
// form file form element removed => removed in form editor
// form file changed => request for dirty lock throws exception
// form folder does not exist but formEditor is opened => form folder is created, all forms exported
// QFQ komplett neu installiert => form dir existiert mit allen form files aktuell.
// QFQ neu installation mit existierenden forms => alte forms sind noch da, native forms (form, cron usw.) werden ueberschrieben.
// QFQ update => alte forms noch da, updates an FormEditor ersichtlich
// importAllForms() is executed iff the rendered QFQ report selects Form/FormElement table.
// TODO: MAYBE
// TODO: Maybe: solve reference by ID after file change Problem (might not be a big deal since it only happens on git pull)
// Problem: FormEditor and form list might reference a form by an old id. In that case everything has to be reloaded. That's annoying.
...
...
@@ -299,8 +299,8 @@ class FormAsFile
ERROR_MESSAGE_TO_DEVELOPER=>"Form definition file has been changed. Please close tab and reload the form list and Form-Editor from scratch."]),