From 50d7b22092bfa0a3f68dac31b5a8cb133cea9b0a Mon Sep 17 00:00:00 2001 From: Lukman Bello Date: Thu, 13 Jun 2019 18:15:18 +0100 Subject: [PATCH] Added inventory management --- admin/class-paystack-forms-admin.php | 42 +++++++++++++-- includes/class-paystack-forms-activator.php | 2 +- public/class-paystack-forms-public.php | 54 +++++++++++++++++--- public/css/pff-paystack-style.css | 51 ++++++++++++++++++ public/fonts/Graphik-Black.otf | Bin 0 -> 140268 bytes public/fonts/Graphik-BlackItalic.otf | Bin 0 -> 142948 bytes public/fonts/Graphik-Bold.otf | Bin 0 -> 139708 bytes public/fonts/Graphik-BoldItalic.otf | Bin 0 -> 142756 bytes public/fonts/Graphik-Extralight.otf | Bin 0 -> 135248 bytes public/fonts/Graphik-ExtralightItalic.otf | Bin 0 -> 139472 bytes public/fonts/Graphik-Light.otf | Bin 0 -> 134752 bytes public/fonts/Graphik-LightItalic.otf | Bin 0 -> 139012 bytes public/fonts/Graphik-Medium.otf | Bin 0 -> 137664 bytes public/fonts/Graphik-MediumItalic.otf | Bin 0 -> 140808 bytes public/fonts/Graphik-Regular.otf | Bin 0 -> 131204 bytes public/fonts/Graphik-RegularItalic.otf | Bin 0 -> 134832 bytes public/fonts/Graphik-Semibold.otf | Bin 0 -> 138448 bytes public/fonts/Graphik-SemiboldItalic.otf | Bin 0 -> 142280 bytes public/fonts/Graphik-Super.otf | Bin 0 -> 138840 bytes public/fonts/Graphik-SuperItalic.otf | Bin 0 -> 139892 bytes public/fonts/Graphik-Thin.otf | Bin 0 -> 131292 bytes public/fonts/Graphik-ThinItalic.otf | Bin 0 -> 133272 bytes public/js/paystack-forms-public.js | 1 + 23 files changed, 138 insertions(+), 12 deletions(-) create mode 100644 public/fonts/Graphik-Black.otf create mode 100644 public/fonts/Graphik-BlackItalic.otf create mode 100644 public/fonts/Graphik-Bold.otf create mode 100644 public/fonts/Graphik-BoldItalic.otf create mode 100644 public/fonts/Graphik-Extralight.otf create mode 100644 public/fonts/Graphik-ExtralightItalic.otf create mode 100644 public/fonts/Graphik-Light.otf create mode 100644 public/fonts/Graphik-LightItalic.otf create mode 100644 public/fonts/Graphik-Medium.otf create mode 100644 public/fonts/Graphik-MediumItalic.otf create mode 100644 public/fonts/Graphik-Regular.otf create mode 100644 public/fonts/Graphik-RegularItalic.otf create mode 100644 public/fonts/Graphik-Semibold.otf create mode 100644 public/fonts/Graphik-SemiboldItalic.otf create mode 100644 public/fonts/Graphik-Super.otf create mode 100644 public/fonts/Graphik-SuperItalic.otf create mode 100644 public/fonts/Graphik-Thin.otf create mode 100644 public/fonts/Graphik-ThinItalic.otf diff --git a/admin/class-paystack-forms-admin.php b/admin/class-paystack-forms-admin.php index 8b4c82e..d0d3b2d 100755 --- a/admin/class-paystack-forms-admin.php +++ b/admin/class-paystack-forms-admin.php @@ -479,7 +479,7 @@ function kkd_pff_paystack_editor_add_recur_data() $recur = get_post_meta($post->ID, '_recur', true); $recurplan = get_post_meta($post->ID, '_recurplan', true); - if ($recur == "") { + if ($recur == "") { $recur = 'no'; } if ($recurplan == "") { @@ -506,16 +506,29 @@ function kkd_pff_paystack_editor_add_quantity_data() // Get the location data if its already been entered $usequantity = get_post_meta($post->ID, '_usequantity', true); + $useinventory = get_post_meta($post->ID, '_useinventory', true); + $inventory = get_post_meta($post->ID, '_inventory',true); + $sold = get_post_meta($post->ID, '_sold',true); $quantity = get_post_meta($post->ID, '_quantity', true); $quantityunit = get_post_meta($post->ID, '_quantityunit', true); $recur = get_post_meta($post->ID, '_recur', true); - + if ($usequantity == "") { $usequantity = 'no'; } + if($useinventory == ""){ + $useinventory = "no"; + } if ($quantity == "") { $quantity = '10'; } + if ($inventory == "" ) { + $inventory = '1'; + } + if($sold == ""){ + $sold = '0'; + } + $stock = $inventory - $sold; if ($quantityunit == "") { $quantityunit = 'Quantity'; } @@ -532,8 +545,28 @@ function kkd_pff_paystack_editor_add_quantity_data() '; } + if($usequantity == "yes"){ + + echo '

Inventory Payment:

Set maximum available items in stock'; + echo ' + '; + + + } + if($useinventory == "yes"){ + echo '

Total Inventory

'; + echo ''; + echo '

In stock

'; + echo ' + '; + + } + echo '

Max payable quantity:

'; - echo ' + echo ' Your users only get to pay in quantities if the from amount is not set to zero and recur is set to none.'; echo '

Unit of quantity:

'; echo ' @@ -641,7 +674,8 @@ function kkd_pff_paystack_save_data($post_id, $post) if (!current_user_can('edit_post', $post->ID)) { return $post->ID; } - + $form_meta['_inventory'] = $_POST['_inventory']; + $form_meta['_useinventory'] = $_POST['_useinventory']; $form_meta['_amount'] = $_POST['_amount']; $form_meta['_hidetitle'] = $_POST['_hidetitle']; $form_meta['_minimum'] = $_POST['_minimum']; diff --git a/includes/class-paystack-forms-activator.php b/includes/class-paystack-forms-activator.php index 32ea6f5..1b9a5f7 100755 --- a/includes/class-paystack-forms-activator.php +++ b/includes/class-paystack-forms-activator.php @@ -22,7 +22,7 @@ public static function activate() txn_code varchar(255) DEFAULT '' NOT NULL, txn_code_2 varchar(255) DEFAULT '' NOT NULL, amount varchar(255) DEFAULT '' NOT NULL, - ip varchar(255) NOT NULL, + ip varchar(255) NOT NULL, deleted_at varchar(255) DEFAULT '' NULL, created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, modified timestamp DEFAULT '0000-00-00 00:00:00' NOT NULL, diff --git a/public/class-paystack-forms-public.php b/public/class-paystack-forms-public.php index 65525db..fb8d4f9 100755 --- a/public/class-paystack-forms-public.php +++ b/public/class-paystack-forms-public.php @@ -820,7 +820,24 @@ function kkd_pff_paystack_form_shortcode($atts) } } } - if ((($user_id != 0) && ($loggedin == 'yes')) || $loggedin == 'no') { + $useinventory = get_post_meta($id, '_useinventory', true); + $inventory = get_post_meta($id, '_inventory',true); + $sold = get_post_meta($id, '_sold',true); + if ($inventory == "" ) { + $inventory = '1'; + } + if($sold == ""){ + $sold = '0'; + } + if($useinventory == ""){ + $useinventory = "no"; + } + $stock = $inventory - $sold; + + if($useinventory == "yes" && $stock <= 0){ + echo "

Out of Stock

"; + } + else if ((($user_id != 0) && ($loggedin == 'yes')) || $loggedin == 'no') { echo '
'; if ($hidetitle != 1) { echo "

".$obj->post_title."

"; @@ -902,7 +919,10 @@ function kkd_pff_paystack_form_shortcode($atts)