From c6c7141fc19ac037e942d18cd4151e03ecc8118a Mon Sep 17 00:00:00 2001 From: Joey Schulze Date: Wed, 22 Jan 2014 11:19:04 +0100 Subject: [PATCH] Add view for old orders (readonly) --- ordersatz_history.php | 122 ++++++++++++++++++++++++++++++++++++++++++ ordersatz_pos.php | 9 +++- utils.php | 10 ++++ 3 files changed, 139 insertions(+), 2 deletions(-) create mode 100644 ordersatz_history.php diff --git a/ordersatz_history.php b/ordersatz_history.php new file mode 100644 index 0000000..079be26 --- /dev/null +++ b/ordersatz_history.php @@ -0,0 +1,122 @@ + 'metro_ordersatz', + 'title' => 'Ordersatz auswählen / erstellen', + 'where' => sprintf('owner = %d AND done IS NOT NULL', $_SESSION['sys']['uid']), + 'list' => array( + 'id' => array( + 'name' => 'ID', + 'visible' => false, + ), + 'erstellt' => array( + 'name' => 'Erstellt', + 'width' => 85, + ), + 'name' => array( + 'name' => 'Name', + 'width' => 290, + 'specs' => "filterUI: 't'", + ), + 'koch' => array( + 'name' => 'Kochbetreuer', + 'width' => 100, + 'specs' => "filterUI: 't'", + 'visible' => false, + ), + 'done' => array( + 'name' => 'Abgeschlossen', + 'width' => 90, + ), + 'datum' => array( + 'name' => 'Einkauf am', + 'width' => 130, + 'sql' => "datum || ' ' || uhrzeit || ' Uhr'", + ), + 'link' => array( + 'name' => 'Aktion', + 'width' => 90, + 'control' => $href, + 'specs' => "ClassName: 'aligncenter'", + 'sql' => "'anzeigen'", + ), + ), + 'edit' => array( + 'owner' => array( + 'type' => 'hidden', + 'default' => $_SESSION['sys']['uid'], + 'required' => true, + ), + 'erstellt' => array( + 'type' => 'hidden', + 'subtype' => 'string', + 'default' => date('Y-m-d'), + 'required' => true, + ), + 'name' => array( + 'name' => 'Name', + 'type' => 'text', + 'size' => 21, + 'required' => true, + ), + 'koch' => array( + 'name' => 'Kochbetreuer', + 'type' => 'text', + 'size' => 21, + 'required' => true, + ), + 'email' => array( + 'name' => 'E-Mail', + 'type' => 'text', + 'size' => 21, + 'null' => true, + ), + 'telefon' => array( + 'name' => 'Telefon für Rückfragen', + 'type' => 'text', + 'size' => 21, + 'required' => true, + ), + 'datum' => array( + 'name' => 'Abholdatum', + 'type' => 'date', + 'size' => 8, + 'required' => true, + ), + 'uhrzeit' => array( + 'name' => 'Ungefähre Uhrzeit der Abholung', + 'type' => 'text', + 'size' => 3, + 'required' => true, + ), + ), + 'buttons' => array('delete' => false), + 'postinsert' => ordersatz_insert, + ); + +function ordersatz_insert($id) +{ + global $db; + + $sql = sprintf("INSERT INTO metro_ordersatz_pos (ordersatz,artikel,sys_user,sys_edit) SELECT %d,id,%s,now() FROM metro_artikel", + $id, $db->quote($_SESSION['sys']['login'])); + + $sth = $db->query($sql); +} + +?> diff --git a/ordersatz_pos.php b/ordersatz_pos.php index b4743b7..942cae4 100644 --- a/ordersatz_pos.php +++ b/ordersatz_pos.php @@ -14,9 +14,12 @@ include_once($_SESSION['sys']['basedir'].'masks/metro/utils.php'); include_once($_SESSION['sys']['basedir'].'lib/mail.php'); if (substr($_SERVER["SCRIPT_FILENAME"],-10) == '/index.php' && - !empty($_GET['id'])) + !empty($_GET['id'])) { $_SESSION['ordersatz'] = $_GET['id']; + $done = is_done($_GET['id']); +} +if (!$done) $jscode[] = << get_title($_SESSION['ordersatz']), 'edit_title' => 'Ordersatz', - 'where' => sprintf('ordersatz = %d AND owner = %d AND done IS NULL', $_SESSION['ordersatz'], $_SESSION['sys']['uid']), + 'where' => sprintf('ordersatz = %d AND owner = %d', $_SESSION['ordersatz'], $_SESSION['sys']['uid']), 'list' => array( 'id' => array( 'name' => 'ID', @@ -224,6 +227,8 @@ $mask = array( ), ); +if ($done) unset($mask['edit']); + function cb_cellsave() { global $db; diff --git a/utils.php b/utils.php index 2afa57b..45b1c93 100644 --- a/utils.php +++ b/utils.php @@ -8,6 +8,16 @@ define('FAXNUMBER','2002-364'); define('ERROR_SAFT','joey@finlandia'); define('ERROR_MAIL','joey@finlandia.infodrom.org'); +function is_done($id) +{ + global $db; + + $query = sprintf('SELECT count(*) AS count FROM metro_ordersatz WHERE id = %d AND done IS NULL', $id); + $sth = $db->query($query); + $row = $sth->fetch(); + return $row['count'] == 0; +} + function mk_tempdir() { $tmpdir = sprintf("%sarchive/%s/%s", -- 2.20.1