From ca09f9d346f68c7d755ea2f52e6dc0971d1ce112 Mon Sep 17 00:00:00 2001 From: Skylar Ittner Date: Tue, 10 Apr 2018 01:25:07 -0600 Subject: [PATCH] Add item cost and sale price fields --- action.php | 12 ++++++++ database.mwb | Bin 11031 -> 11237 bytes database_upgrade/v1.1_1.2.sql | 8 +++++ lang/en_us.php | 6 +++- lib/getitemtable.php | 4 ++- lib/reports.php | 8 ++++- pages/edititem.php | 56 ++++++++++++++++++++++------------ static/css/index.css | 4 +++ 8 files changed, 76 insertions(+), 22 deletions(-) create mode 100644 database_upgrade/v1.1_1.2.sql diff --git a/action.php b/action.php index 33ddd94..561d2a0 100644 --- a/action.php +++ b/action.php @@ -79,6 +79,16 @@ switch ($VARS['action']) { } else if (!is_numeric($VARS['want'])) { returnToSender('field_nan'); } + if (is_empty($VARS['cost'])) { + $VARS['cost'] = null; + } else if (!is_numeric($VARS['cost'])) { + returnToSender('field_nan'); + } + if (is_empty($VARS['price'])) { + $VARS['price'] = null; + } else if (!is_numeric($VARS['price'])) { + returnToSender('field_nan'); + } if (!$database->has('categories', ['catid' => $VARS['cat']])) { returnToSender('invalid_category'); } @@ -103,6 +113,8 @@ switch ($VARS['action']) { 'locid' => $VARS['loc'], 'qty' => $VARS['qty'], 'want' => $VARS['want'], + 'cost' => $VARS['cost'], + 'price' => $VARS['price'], 'userid' => $userid ]; diff --git a/database.mwb b/database.mwb index 1496b948e5acbc6ed91ad6d76f6c49a2caf37d46..32dbc7a7029046493189670f54fc714f9de3181e 100644 GIT binary patch literal 11237 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 diff --git a/database_upgrade/v1.1_1.2.sql b/database_upgrade/v1.1_1.2.sql new file mode 100644 index 0000000..8374119 --- /dev/null +++ b/database_upgrade/v1.1_1.2.sql @@ -0,0 +1,8 @@ +/* + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +ALTER TABLE `items` +ADD COLUMN `cost` DECIMAL(10,2) NULL DEFAULT NULL AFTER `userid`, +ADD COLUMN `price` DECIMAL(10,2) NULL DEFAULT NULL AFTER `cost`; diff --git a/lang/en_us.php b/lang/en_us.php index 554e1ea..f158bff 100644 --- a/lang/en_us.php +++ b/lang/en_us.php @@ -106,5 +106,9 @@ define("STRINGS", [ "ods file" => "ODS spreadsheet", "html file" => "HTML web page", "itemid" => "Item ID", - "id" => "ID" + "id" => "ID", + "item cost" => "Item cost", + "sale price" => "Sale price", + "cost" => "Cost", + "price" => "Price" ]); diff --git a/lib/getitemtable.php b/lib/getitemtable.php index 9a45d52..16d175b 100644 --- a/lib/getitemtable.php +++ b/lib/getitemtable.php @@ -70,7 +70,9 @@ if (!is_empty($VARS['search']['value'])) { "catname[~]" => $VARS['search']['value'], "locname[~]" => $VARS['search']['value'], "code1[~]" => $VARS['search']['value'], - "code2[~]" => $VARS['search']['value'] + "code2[~]" => $VARS['search']['value'], + "cost[~]" => $VARS['search']['value'], + "price[~]" => $VARS['search']['value'], ]; $where = $wherenolimit; $where["LIMIT"] = [$VARS['start'], $VARS['length']]; diff --git a/lib/reports.php b/lib/reports.php index caf2984..b5b759d 100644 --- a/lib/reports.php +++ b/lib/reports.php @@ -71,7 +71,9 @@ function getItemReport($filter = []) { "userid", "text1", "text2", - "text3" + "text3", + "cost", + "price" ], $filter ); $header = [ @@ -83,6 +85,8 @@ function getItemReport($filter = []) { lang("code 2", false), lang("quantity", false), lang("want", false), + lang("cost", false), + lang("price", false), lang("assigned to", false), lang("description", false), lang("notes", false), @@ -105,6 +109,8 @@ function getItemReport($filter = []) { $items[$i]["code2"], $items[$i]["qty"], $items[$i]["want"], + $items[$i]["cost"], + $items[$i]["price"], $user, $items[$i]["text1"], $items[$i]["text2"], diff --git a/pages/edititem.php b/pages/edititem.php index 3c48837..01e0547 100644 --- a/pages/edititem.php +++ b/pages/edititem.php @@ -1,5 +1,4 @@ '', 'qty' => 1, 'want' => 0, + 'cost' => 0.0, + 'price' => 0.0, 'userid' => '']; $editing = false; @@ -62,6 +63,8 @@ if (!is_empty($VARS['id'])) { 'loccode', 'qty', 'want', + 'cost', + 'price', 'userid' ], [ 'itemid' => $VARS['id'] @@ -76,23 +79,23 @@ if (!is_empty($VARS['id'])) {
-

+

+ + htmlspecialchars($itemdata['name']), 'nitem' => "" . htmlspecialchars($itemdata['name']) . ""]); ?> + + "" . htmlspecialchars($itemdata['name']) . ""]); ?> - htmlspecialchars($itemdata['name']), 'nitem' => "" . htmlspecialchars($itemdata['name']) . ""]); ?> - - "" . htmlspecialchars($itemdata['name']) . ""]); ?> - - - -

+ + +
@@ -167,19 +170,34 @@ if (!is_empty($VARS['id'])) {
-
+
+
+ + +
+
+
+
+ + +
+
+
-
+
+ +
+
-
+
diff --git a/static/css/index.css b/static/css/index.css index 66859ef..81e0ba0 100644 --- a/static/css/index.css +++ b/static/css/index.css @@ -1,3 +1,7 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + .banner-image { max-height: 100px; margin: 2em auto;