public function post($rest)
 {
     $req = $rest->request();
     $info = $req->post();
     // Validate Required Fields
     if (!isset($info['description'])) {
         api_error(412, 'Description is required');
     }
     if (!isset($info['tax_type_id'])) {
         api_error(412, 'Tax Type is required');
     }
     if (!isset($info['units'])) {
         api_error(412, 'Units is required');
     }
     if (!isset($info['mb_flag'])) {
         api_error(412, 'MB Flag is required');
     }
     if (!isset($info['sales_account'])) {
         api_error(412, 'Sales Account is required');
     }
     if (!isset($info['cogs_account'])) {
         api_error(412, 'Cogs Account is required');
     }
     if (!isset($info['adjustment_account'])) {
         api_error(412, 'Adjustment Account is required');
     }
     if (!isset($info['assembly_account'])) {
         api_error(412, 'Assembly Account is required');
     }
     if (!isset($info['inventory_account'])) {
         api_error(412, 'Inventory Account is required');
     }
     /*
     $description, $tax_type_id, $sales_account,
     $cogs_account, $inventory_account, $adjustment_account, $assembly_account,
     $units, $mb_flag, $dim1, $dim2, $no_sale
     */
     add_item_category($info['description'], $info['tax_type_id'], $info['sales_account'], $info['cogs_account'], $info['inventory_account'], $info['adjustment_account'], $info['assembly_account'], $info['units'], $info['mb_flag'], 0, 0, 0);
     $id = db_insert_id();
     $catego = get_item_category($id);
     if ($catego != null) {
         api_create_response(json_encode($catego));
     } else {
         api_error(500, 'Could Not Save to Database');
     }
 }
 public function post($rest)
 {
     // Originally added by Richard Vinke
     $req = $rest->request();
     $info = $req->post();
     // ToDo Check if loc_code already exists
     // Validate Required Fields
     if (!isset($info['loc_code'])) {
         api_error(412, 'Stock Id is required');
     }
     if (!isset($info['location_name'])) {
         api_error(412, 'Stock Id is required');
     }
     if (!isset($info['delivery_address'])) {
         $info['delivery_address'] = '';
     }
     if (!isset($info['phone'])) {
         $info['phone'] = '';
     }
     if (!isset($info['phone2'])) {
         $info['phone2'] = '';
     }
     if (!isset($info['fax'])) {
         $info['fax'] = '';
     }
     if (!isset($info['email'])) {
         $info['email'] = '';
     }
     if (!isset($info['contact'])) {
         $info['contact'] = '';
     }
     add_item_location($info['loc_code'], $info['location_name'], $info['delivery_address'], $info['phone'], $info['phone2'], $info['fax'], $info['email'], $info['contact']);
     $itm = get_item_location($info['loc_code']);
     if ($itm != null) {
         api_create_response(json_encode($itm));
     } else {
         api_error(500, 'Could Not Save to Database');
     }
 }
 public function post($rest)
 {
     $req = $rest->request();
     $info = $req->post();
     // Validate Required Fields
     if (!isset($info['supp_name'])) {
         api_error(412, 'Supplier Name is required [supp_name]');
     }
     if (!isset($info['supp_ref'])) {
         api_error(412, 'Supplier Reference is required [supp_ref]');
     }
     if (!isset($info['address'])) {
         api_error(412, 'Address is required [address]');
     }
     if (!isset($info['supp_address'])) {
         api_error(412, 'Supplier Address 2 is required [supp_address]');
     }
     if (!isset($info['gst_no'])) {
         api_error(412, 'GST No. is required [gst_no]');
     }
     if (!isset($info['supp_account_no'])) {
         api_error(412, 'Supplier Account Number is required [supp_account_no]');
     }
     if (!isset($info['bank_account'])) {
         api_error(412, 'Bank Account is required [bank_account]');
     }
     if (!isset($info['credit_limit'])) {
         api_error(412, 'Credit Limir is required [credit_limit]');
     }
     if (!isset($info['curr_code'])) {
         api_error(412, 'Currency Code is required [curr_code]');
     }
     if (!isset($info['payment_terms'])) {
         api_error(412, 'Payment Terms is required [payment_terms]');
     }
     if (!isset($info['payable_account'])) {
         api_error(412, 'Payable Account is required [payable_account]');
     }
     if (!isset($info['purchase_account'])) {
         api_error(412, 'Purchase Account is required [purchase_account]');
     }
     if (!isset($info['payment_discount_account'])) {
         api_error(412, 'Payment Discount Account is required [payment_discount]');
     }
     if (!isset($info['tax_group_id'])) {
         api_error(412, 'Tax Group Id is required [tax_group_id]');
     }
     if (!isset($info['tax_included'])) {
         api_error(412, 'Tax Included is required [tax_included]');
     }
     if (!isset($info['website'])) {
         $info['website'] = '';
     }
     if (!isset($info['notes'])) {
         $info['notes'] = '';
     }
     /*
      * $supp_name, $supp_ref, $address, $supp_address, $gst_no, $website, $supp_account_no, $bank_account,
      * $credit_limit, $dimension_id, $dimension2_id, $curr_code, $payment_terms, $payable_account,
      * $purchase_account, $payment_discount_account, $notes, $tax_group_id, $tax_included
      */
     add_supplier($info['supp_name'], $info['supp_ref'], $info['address'], $info['supp_address'], $info['gst_no'], $info['website'], $info['supp_account_no'], $info['bank_account'], $info['credit_limit'], 0, 0, $info['curr_code'], $info['payment_terms'], $info['payable_account'], $info['purchase_account'], $info['payment_discount_account'], $info['notes'], $info['tax_group_id'], $info['tax_included']);
     $id = db_insert_id();
     $sup = get_supplier($id);
     if ($sup != null) {
         api_create_response(json_encode($sup));
     } else {
         api_error(500, 'Could Not Save to Database');
     }
 }
 public function post($rest)
 {
     $req = $rest->request();
     $info = $req->post();
     // Validate Required Fields
     if (!isset($info['custname'])) {
         api_error(412, 'Customer Name is required [custname]');
     }
     if (!isset($info['cust_ref'])) {
         api_error(412, 'Customer Reference is required [cust_ref]');
     }
     if (!isset($info['address'])) {
         api_error(412, 'Address is required [address]');
     }
     if (!isset($info['tax_id'])) {
         api_error(412, 'Tax Id is required [tax_id]');
     }
     if (!isset($info['curr_code'])) {
         api_error(412, 'Currency Code is required [curr_code]');
     }
     if (!isset($info['credit_status'])) {
         // TODO Set a default initial credit status
         api_error(412, 'Credit Status is required [credit_status]');
     }
     if (!isset($info['payment_terms'])) {
         api_error(412, 'Payment Terms is required [payment_terms]');
     }
     if (!isset($info['discount'])) {
         // TODO Set default discount as 0
         api_error(412, 'Discount is required [discount]');
     }
     if (!isset($info['pymt_discount'])) {
         // TODO Set default payment discount as 0
         api_error(412, 'Payment Discount is required [pymt_discount]');
     }
     if (!isset($info['credit_limit'])) {
         // TODO Set default credit limit from company configuration
         api_error(412, 'Credit Limit is required [credit_limit]');
     }
     if (!isset($info['sales_type'])) {
         api_error(412, 'Sales Type is required [sales_type]');
     }
     if (!isset($info['notes'])) {
         $info['notes'] = '';
     }
     // For default branch
     if (!isset($info['salesman'])) {
         $info['salesman'] = '';
     }
     if (!isset($info['area'])) {
         $info['area'] = '';
     }
     if (!isset($info['tax_group_id'])) {
         $info['tax_group_id'] = '1';
     }
     if (!isset($info['location'])) {
         $info['location'] = '1';
     }
     if (!isset($info['ship_via'])) {
         $info['ship_via'] = '1';
     }
     if (!isset($info['phone'])) {
         $info['phone'] = '';
     }
     if (!isset($info['phone2'])) {
         $info['phone2'] = '';
     }
     if (!isset($info['fax'])) {
         $info['fax'] = '';
     }
     if (!isset($info['email'])) {
         $info['email'] = '';
     }
     /*
      * $CustName, $cust_ref, $address, $tax_id, $curr_code, $dimension_id, $dimension2_id, $credit_status,
      * $payment_terms, $discount, $pymt_discount, $credit_limit, $sales_type, $notes
      */
     add_customer($info['custname'], $info['cust_ref'], $info['address'], $info['tax_id'], $info['curr_code'], 0, 0, $info['credit_status'], $info['payment_terms'], $info['discount'], $info['pymt_discount'], $info['credit_limit'], $info['sales_type'], $info['notes']);
     $selected_id = db_insert_id();
     $auto_create_branch = 1;
     if (isset($auto_create_branch) && $auto_create_branch == 1) {
         add_branch($selected_id, $info['custname'], $info['cust_ref'], $info['address'], $info['salesman'], $info['area'], $info['tax_group_id'], '1', get_company_pref('default_sales_discount_act'), get_company_pref('debtors_act'), get_company_pref('default_prompt_payment_act'), $info['location'], $info['address'], 0, 0, $info['ship_via'], $info['notes']);
         $selected_branch = db_insert_id();
         add_crm_person($info['cust_ref'], $info['custname'], '', $info['address'], $info['phone'], $info['phone2'], $info['fax'], $info['email'], '', '');
         $pers_id = db_insert_id();
         add_crm_contact('cust_branch', 'general', $selected_branch, $pers_id);
         add_crm_contact('customer', 'general', $selected_id, $pers_id);
     }
     $cust = get_customer($selected_id);
     if ($cust != null) {
         api_create_response(json_encode($cust));
     } else {
         api_error(500, 'Could Not Save to Database');
     }
 }
 function inventory_add()
 {
     $app = \Slim\Slim::getInstance('SASYS');
     $req = $app->request();
     $info = $req->post();
     // Validate Required Fields
     if (!isset($info['stock_id'])) {
         api_error(412, 'Stock Id is required');
     }
     if (!isset($info['description'])) {
         api_error(412, 'Description is required');
     }
     if (!isset($info['long_description'])) {
         $info['long_description'] = $info['description'];
     }
     if (!isset($info['category_id'])) {
         api_error(412, 'Category Id is required');
     }
     if (!isset($info['tax_type_id'])) {
         api_error(412, 'Tax Type is required');
     }
     if (!isset($info['units'])) {
         api_error(412, 'Units is required');
     }
     if (!isset($info['mb_flag'])) {
         api_error(412, 'MB Flag is required');
     }
     if (!isset($info['sales_account'])) {
         api_error(412, 'Sales Account is required');
     }
     if (!isset($info['cogs_account'])) {
         api_error(412, 'Cogs Account is required');
     }
     if (!isset($info['adjustment_account'])) {
         api_error(412, 'Adjustment Account is required');
     }
     if (!isset($info['assembly_account'])) {
         api_error(412, 'Assembly Account is required');
     }
     // TODO Validate Stock Id is Unique
     /*
      * $stock_id, $description, $long_description, $category_id, $tax_type_id, $units, $mb_flag,	$sales_account,
      * $inventory_account, $cogs_account, $adjustment_account,	$assembly_account, $dimension_id, $dimension2_id,
      * $no_sale, $editable
      */
     add_item($info['stock_id'], $info['description'], $info['long_description'], $info['category_id'], $info['tax_type_id'], $info['units'], $info['mb_flag'], $info['sales_account'], $info['inventory_account'], $info['cogs_account'], $info['adjustment_account'], $info['assembly_account'], 0, 0, 0, 1);
     $itm = get_item($info['stock_id']);
     if ($itm != null) {
         api_create_response(json_encode($itm));
     } else {
         api_error(500, 'Could Not Save to Database');
     }
 }