riainvoice/application/modules/invoices/models/Mdl_invoice_tax_rates.php
2023-05-27 19:26:12 +05:30

97 lines
2.6 KiB
PHP

<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
/*
* InvoicePlane
*
* @author InvoicePlane Developers & Contributors
* @copyright Copyright (c) 2012 - 2017 InvoicePlane.com
* @license https://invoiceplane.com/license.txt
* @link https://invoiceplane.com
*/
/**
* Class Mdl_Invoice_Tax_Rates
*/
class Mdl_Invoice_Tax_Rates extends Response_Model
{
public $table = 'ip_invoice_tax_rates';
public $primary_key = 'ip_invoice_tax_rates.invoice_tax_rate_id';
public function default_select()
{
$this->db->select('ip_tax_rates.tax_rate_name AS invoice_tax_rate_name');
$this->db->select('ip_tax_rates.tax_rate_percent AS invoice_tax_rate_percent');
$this->db->select('ip_invoice_tax_rates.*');
}
public function default_join()
{
$this->db->join('ip_tax_rates', 'ip_tax_rates.tax_rate_id = ip_invoice_tax_rates.tax_rate_id');
}
/**
* @param null $id
* @param null $db_array
* @return void
*/
public function save($id = null, $db_array = null)
{
parent::save($id, $db_array);
$this->load->model('invoices/mdl_invoice_amounts');
$invoice_id = $this->input->post('invoice_id');
if ($invoice_id) {
$this->mdl_invoice_amounts->calculate($invoice_id);
}
}
public function invoice_delete($invoice_id,$invoice_amount,$invoice_balance)
{
$this->db->where('invoice_id', $invoice_id);
$this->db->set('invoice_tax_total',0);
$this->db->set('invoice_total',$invoice_amount);
$this->db->set('invoice_balance',$invoice_balance);
$this->db->update('ip_invoice_amounts');
$r = $this->db->affected_rows();
return $r;
}
public function invoice_delete_tax($invoice_id)
{
$this->db->where('invoice_id', $invoice_id);
$this->db->set('invoice_tax_rate_amount',0);
$this->db->set('tax_rate_id',10);
$this->db->update('ip_invoice_tax_rates');
$r = $this->db->affected_rows();
return $r;
}
/**
* @return array
*/
public function validation_rules()
{
return array(
'invoice_id' => array(
'field' => 'invoice_id',
'label' => trans('invoice'),
'rules' => 'required'
),
'tax_rate_id' => array(
'field' => 'tax_rate_id',
'label' => trans('tax_rate'),
'rules' => 'required'
),
'include_item_tax' => array(
'field' => 'include_item_tax',
'label' => trans('tax_rate_placement'),
'rules' => 'required'
)
);
}
}