1. 24 Aug, 2017 1 commit
  2. 23 Aug, 2017 2 commits
  3. 18 Aug, 2017 2 commits
  4. 12 Aug, 2017 1 commit
  5. 08 Aug, 2017 1 commit
  6. 07 Aug, 2017 1 commit
    • Carsten  Rose's avatar
      #4185 / Detect modified record · b084998a
      Carsten Rose authored
      modifiedRecord.pu: State Diagram
      Dirty.php: implement $recordHashMd5 to detect modified records.
      OnArray.php: new getMd5()
      AbstractBuildForm.php: implemented but not working update of hidden input 'recordHashMd5'. Add hidden input 'recordHashMd5'.
      BuildFormBootstrap:  Add hidden input 'recordHashMd5'.
      formEditor.sql: Rename 'Dirty.recordModified' to 'Dirty.recordHashMd5'.
      b084998a
  7. 04 Aug, 2017 1 commit
  8. 01 Aug, 2017 1 commit
  9. 30 Jul, 2017 1 commit
  10. 28 Jul, 2017 1 commit
  11. 23 Jul, 2017 2 commits
  12. 22 Jul, 2017 1 commit
    • Carsten  Rose's avatar
      recordLocking · ecce620b
      Carsten Rose authored
      file.php, load.php, Html2Pdf.php: minor updates.
      Dirty.php, QuickFormQuery.php: optional $lockTimeout as parameter during instantiating. Return $lockTimeout where necessary. Otherwise read qfq.config.ini. Refactor process(), acquireDirty(), checkDirtyAndRelease().
      ecce620b
  13. 16 Jul, 2017 1 commit
  14. 10 Jul, 2017 3 commits
    • Carsten  Rose's avatar
      Feature #3981 / Record Locking · 700dd79d
      Carsten Rose authored
      Manual.rst: add documentation for record locking
      DatabaseUpdateData.php: Add new column 'dirtyMode'
      Dirty.php, Config.php, formEditor.sql: remove dirtyMode=readonly. Rename 'timeout' to 'exclusive' and 'overwrite' to 'advisory'.
      700dd79d
    • Carsten  Rose's avatar
      Feature #3981 / Record Locking · b0234a57
      Carsten Rose authored
      Fixed some 'unknown index' issues - deny save in a first version works.
      b0234a57
    • Carsten  Rose's avatar
      Feature #3981 / Record Locking · a0cd3709
      Carsten Rose authored
      First version for save - not working now.
      Manual.rst: document config var SYSTEM_DIRTY_RECORD_TIMEOUT_SECONDS.
      QuickFormQuery.php, Dirty.php: extend to support QFQ/save().
      Client.php: fixed broken PHP Unit test
      Config.php: set default for dirtyRecordTimeout.
      BuildFormBootstrap.php: No dirtyUrl if dirtyMode=none.
      formEditor.sql: extend definition to Form.dirtyMode, new table 'Dirty'
      Fixed several unit tests for new tables.
      a0cd3709
  15. 09 Jul, 2017 2 commits
  16. 07 Jul, 2017 1 commit
  17. 30 Jun, 2017 2 commits
  18. 23 Jun, 2017 1 commit
  19. 19 Jun, 2017 1 commit
  20. 17 Jun, 2017 2 commits
  21. 16 Jun, 2017 1 commit
  22. 14 Jun, 2017 3 commits
  23. 12 Jun, 2017 1 commit
    • Carsten  Rose's avatar
      #3899 / Copy/Paste · cc55f4fb
      Carsten Rose authored
      Manual.rst: various topics undocumented.
      DatabaseUpdate.php: New table Clipboard, New FE.type='paste', New Form.forwardMode='url-sip' - will be applied for 0.18.3.
      FormAction.php: New: doAllFormElementPaste(), prepareDuplicate(), checkNCopyFiles(), copyRecord()
      Store.php: New member in STORE_CLIENT 'CLIENT_COOKIE_QFQ' - might be used to identify current user.
      BuildFormBootstrap.php: New buildButtonCopyForm().
      QuickFormQuery.php: Calculating the target page now happens after saving the current record and processing all after save actions. New: pasteClipboard()
      formEditor.sql: New form 'copyForm'. New table 'Clipboard'
      cc55f4fb
  24. 10 Jun, 2017 2 commits
    • Carsten  Rose's avatar
      Bug #3647 / Dynamic Update: Multiple Elements in a row not updated properly. · a0243d9f
      Carsten Rose authored
      Current fix is just a workaround. Further implications might exist. E.g. 'text' and 'date' should be fine, but 'select' / 'checkbox' / 'radios' / ... are not tested and probably won't work.
      Support.php: set flags for 'row' / '/row'.
      AbstractBuildForm.php, BuildFormBootstrap.php: $flagRowUpdate switches logic between full 'row update' (only one FE in the row) and 'per element'. In 'per element'-Mode, not all input types are updated properly.
      a0243d9f
    • Carsten  Rose's avatar
      Recode · 0e2628cf
      Carsten Rose authored
      0e2628cf
  25. 07 Jun, 2017 1 commit
    • Carsten  Rose's avatar
      #3863 / DB Update Fails: Expected no record, got 2 rows: SHOW TABLE STATUS WHERE Name='Form' · 7fc80c24
      Carsten Rose authored
      Introduce new config var 'DB_UPDATE' in config.qfq.ini. Update the handling, if there exist table 'form' and 'Form'.
      Manual.rst:  document the new config option DB_UPDATE.
      Database.php: Typo fixed.
      DatabaseUpdate.php: Iterate over all found 'Form' tables, take the newest version number. Respect config option DB_UPDATE. Fixed a problem: if in the PHP DB updates a newer DB Version is configured than the PHP source itself is, such updates are now not played anymore.
      Config.php, QuickFormQuery.php, config.example.ini: handle config setting DB_UPDATE.
      7fc80c24
  26. 05 Jun, 2017 2 commits
    • Carsten  Rose's avatar
      #3569 / Input Optional '0' unterdruecken · 0e75d2bd
      Carsten Rose authored
      Manual.rst: add 'hideZero' to doc.
      AbstractBuildForm.php, Support.php: implement to suppress '0' if showZero=1
      0e75d2bd
    • Carsten  Rose's avatar
      #3568 / Form: fuer alle Buttons (save, close, new, delete) eine optionale... · 61d75fbb
      Carsten Rose authored
      #3568 / Form: fuer alle Buttons (save, close, new, delete) eine optionale class & text konfigurierbar machen
      Manual.rst: new configuration options listed at config.qfq.ini and Form.paramtert.
      Config.php: Defaults configured for F_SAVE|CLOSE|DELETE|NEW_BUTTON_TEXT|TOOLTIP|CLASS|GLYPH_ICON.
      BuildFormBootstrap.php: Changed code to take values from config.qfq.ini or (if given) from form.parameter definitions.
      QuickFormQuery.php: Copy new setup values from config.qfq.ini to Form.
      StoreTest.php: update unit test for new global configuration values
      config.qfq.example.ini: fill with new commented key/value pairs.
      61d75fbb
  27. 04 Jun, 2017 2 commits
    • Carsten  Rose's avatar
      #2337 / Checkbox: checked/unchecked parameters genügen nicht · f1786d0b
      Carsten Rose authored
      AbstractBuildForm.php: added 'elseif()' to accept missing set/enum/sql1 definition for checkbox is 'checked' is given.
      f1786d0b
    • Carsten  Rose's avatar
      #3854 / Wrong final page: a) New > Save > Close, b) New > Save > Delete · b6cb6285
      Carsten Rose authored
      QfqForm.js: Preparation for client, to handle window.location.replace() by new API status 'url-skip-history'. Also changed "(data.redirect === "url" || data['redirect-url'])" to "(data.redirect === "url" && data['redirect-url'])" - CR did not understand the former logic ('or' instead of 'and'). #OPEN#: window.location.replace = 'index.php....' throws an JS exception that it the attribute 'replace' is readonly. Instead "window.location.replace('index.php....')" works as expected.
      PROTOCOL.md: add 'url-skip-history'.
      save.php: recode to become more readable.
      QuickFormQuery.php: getForwardMode() - temporarily fix to update status 'page' to 'url' (bug never caused a problem as long as '||' has been used on client side). Will change 'page' to 'url' asap.
      b6cb6285