Commit e8d15ede authored by Marc Egger's avatar Marc Egger
Browse files

Refs #10120 fix minor bug + remove Git Submodule (was for TOML parser)

parent 0f2659c6
Pipeline #3641 failed with stages
in 3 minutes and 23 seconds
[submodule "extension/Submodules/yosymfon-toml-fork"]
path = extension/Submodules/yosymfon-toml-fork
url = https://git.math.uzh.ch/megger/yosymfon-toml-fork
[submodule "extension/Submodules/yosymfony-parser-utils"]
path = extension/Submodules/yosymfony-parser-utils
url = https://github.com/yosymfony/parser-utils
......@@ -8,7 +8,7 @@ RELEASE_DATE = $(shell date '+%Y%m%d%H%M')
GIT_REVISION_SHORT = $(shell git rev-parse --short HEAD || true)
GIT_REVISION_LONG = $(shell git rev-parse HEAD || true)
EXTENSION_CONTENT = Classes Submodules Configuration Resources ext_emconf.php ext_localconf.php ext_tables.php ext_icon.png ext_conf_template.txt config-example.qfq.php RELEASE.txt vendor
EXTENSION_CONTENT = Classes Configuration Resources ext_emconf.php ext_localconf.php ext_tables.php ext_icon.png ext_conf_template.txt config-example.qfq.php RELEASE.txt vendor
DISTDIR=dist
......@@ -56,7 +56,7 @@ release: basic build-dist
plantuml:
cd doc/diagram ; $(MAKE)
bootstrap: git-submodules .npmpackages .plantuml_install .virtual_env
bootstrap: .npmpackages .plantuml_install .virtual_env
npm update
grunt default
......@@ -64,7 +64,7 @@ bootstrap: git-submodules .npmpackages .plantuml_install .virtual_env
# cd extension/Resources/Private; composer update
cd extension; composer update
basic: git-submodules .npmpackages .virtual_env
basic: .npmpackages .virtual_env
grunt default
# IMPORTANT: install composer with no-dev flag for deployment!
cd extension; composer install --no-dev --optimize-autoloader; cd vendor/phpoffice/phpspreadsheet; rm -rf .github bin docs samples .g* .s* .t* C* c* m* p*
......@@ -132,11 +132,5 @@ doc-local:
doc-qfqio:
rsync -av "Documentation/_build/html/" root@w16.math.uzh.ch:/var/www/html/qfq/doc/
git-submodules:
git submodule update --init --recursive
# always pull submodule changes when using `git pull`
git config submodule.recurse true
git pull
......@@ -8,15 +8,6 @@ use IMATHUZH\Qfq\Core\Helper\HelperFile;
use IMATHUZH\Qfq\Core\Helper\OnString;
use IMATHUZH\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;
// TODO: Carsten Fragen: add log messages somewhare?
// TODO: Tests:
// new form => form file created
// form field change => changed in form file
// 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."]),
ERROR_FORM_NOT_FOUND);
}
self::enforceFormFileWritable($recordFormName, $database);
}
self::enforceFormFileWritable($recordFormName, $database);
return $recordFormName;
}
......
......@@ -9,9 +9,7 @@
},
"autoload": {
"psr-4": {
"IMATHUZH\\Qfq\\": "Classes",
"Yosymfony\\Toml\\": "Submodules/yosymfon-toml-fork/src",
"Yosymfony\\ParserUtils\\": "Submodules/yosymfony-parser-utils/src"
"IMATHUZH\\Qfq\\": "Classes"
},
"files": ["Classes/Core/Constants.php",
"Classes/Core/Exception/DbException.php",
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment