Example #1
0
		'amount' => $payment->amount
	);
	$cc_result = $cc_processor->process($params);
	if($cc_result === false){
		fatal_error('Error processing card: '.$cc_processor->getLastError());	
	}
	
	if($payment->add()){
		//TODO: Attach to oldest invoices
		if($payment->attachInvoices(array($_POST['invoice_id'] => $payment->amount)) === FALSE){
			$error_msg .= "Error applying payment to invoice!\n";
			debug_message($payment->getLastError());
		}

		// Add the company transaction
		$ct = new SI_CompanyTransaction();
		$ct->amount = -$payment->amount;
		$ct->company_id = $payment->company_id;
		$ct->description = "Credit card payment of ".$payment->amount." on ".date("n/j/y", $payment->timestamp);
		$ct->timestamp = time();
		if($ct->add() === FALSE){
			$error_msg .= "Error adding transaction to company account!\n";
			debug_message($ct->getLastError());
		}

		// Update the payment with the company transaction id and auth code
		$payment->trans_id = $ct->id;
		$payment->auth_code = $cc_processor->getAuthCode();
		if($payment->update() === FALSE){
			$error_msg .= "Error updating payment with company transaction id!\n";
			debug_message($payment->getLastError());
Example #2
0
	$invoice->updateFromAssocArray($_POST);
	if($invoice->update() === FALSE){
		$error_msg .= "Error updating invoice information!";
		debug_message($invoice->getLastError());
	}else{
		//Add discount line
		if($_POST['discount_line'] == 'Y'){
			if($invoice->addDiscountLine() === FALSE){
				$error_msg = "Error calculating discount line\n";
				debug_message($invoice->getLastError());	
			}
		}
	

		if($old_invoice->company_id != $invoice->company_id){
			$ct = new SI_CompanyTransaction();
			if($ct->get($invoice->trans_id) === FALSE){
				$error_msg .= "Error getting transaction for invoice!";
				debug_message($ct->getLastError());	
			}else{
				$ct->company_id = $invoice->company_id;
				if($ct->update() === FALSE){
					$error_msg .= "Error moving company transaction with new price";
					debug_message($ct->getLastError());	
				}else{
					goBack();
				}
			}	
		}	
	}
}	
$invoice = new SI_Invoice();
foreach ($invoices as $number => $data) {
    if ($number == 0) {
        continue;
    }
    //	debug("Going to create invoice $number for company id ".$data['company_id']." with ids ".join(', ', $data['ids']));
    $company =& $companies[$data['company_id']];
    $invoice_insert_sql = "\nINSERT INTO invoices (id, company_id, address1, address2, city, \nstate, zip, timestamp, terms, trans_id)\nVALUES(" . $number . ", " . $data['company_id'] . ", '" . $company['address1'] . "', '" . $company['address2'] . "', '" . $company['city'] . "', \n'" . $company['state'] . "', '" . $company['zip'] . "', " . $data['timestamp'] . ", 'NET15', 0)\n\t";
    $invoice_result = $si_db->query($invoice_insert_sql, TRUE);
    assert_die($invoice_result, "Could not add invoice!\n" . $si_db->getLastError());
    // Add activities
    $invoice->get($number);
    //	debug("Adding line items to invoice ".$invoice->id);
    assert_die($invoice->addTaskActivities($data['ids']), "Error adding task activities to invoice: " . $invoice->getLastError());
    // Add the company transaction
    $ct = new SI_CompanyTransaction();
    $ct->amount = $invoice->getTotal();
    $ct->company_id = $invoice->company_id;
    $ct->description = "Invoice #" . $invoice->id;
    $ct->timestamp = $invoice->timestamp;
    assert_die($ct->add(), "Error adding company transaction: " . $ct->getLastError());
}
// Create checks
$check = new SI_Check();
foreach ($checks as $number => $data) {
    if ($number == 0) {
        continue;
    }
    //	debug("Going to create check $number for amount ".$data['amount']." with ids ".join(', ', $data['ids']));
    $check->user_id = $data['user_id'];
    $check->number = $number;
	function _deleteTransactions(){
		$ct = new SI_CompanyTransaction();
		$ut = new SI_UserTransaction();
		
		if($this->com_trans_id > 0){
			if($ut->delete($this->com_trans_id) === FALSE){
				$this->error = "SI_TaskActivity::_deleteTransactions(): Error deleting commission transaction: ".$ut->getLastError();
				return FALSE;
			}
		}

		if($this->cost_trans_id> 0){
			if($ut->delete($this->cost_trans_id) === FALSE){
				$this->error = "SI_TaskActivity::_deleteTransactions(): Error deleting cost transaction: ".$ut->getLastError();
				return FALSE;
			}
		}

		if($this->price_trans_id> 0){
			if($ct->delete($this->price_trans_id) === FALSE){
				$this->error = "SI_TaskActivity::_deleteTransactions(): Error deleting price transaction: ".$ct->getLastError();
				return FALSE;
			}
		}

		return TRUE;
	}