Пример #1
0
 /**
  * Tinh total amount invoice cua contract
  * @param int $contract_id
  * @return float totalAmountInvoiceContract
  */
 public function getTotalAmountInvoiceByContract($contract_id)
 {
     $contractInvoice_arr = LbContractInvoice::model()->getContractInvoice($contract_id);
     $totalAmountInvoice = 0;
     foreach ($contractInvoice_arr->data as $dataContractInvoice) {
         $totalModel = LbInvoiceTotal::model()->find('lb_invoice_id=' . intval($dataContractInvoice['lb_invoice_id']));
         if (count($totalModel) > 0) {
             $totalAmountInvoice += $totalModel->lb_invoice_total_after_taxes;
         }
     }
     return $totalAmountInvoice;
 }
Пример #2
0
<div style="margin-top: 30px;">
    <div style="margin-top: 40px;" class="panel-header-title">
        <div class="panel-header-title-left" style="width: 20%">
            <h4><?php 
echo Yii::t('lang', 'Related Invoice');
?>
</h4>
        </div>
        <div class="panel-header-title-right">
            <?php 
if ($canAddInvoice && $canEdit) {
    ?>
                <a href="<?php 
    echo $this->createUrl('createInvoice', array('id' => $model->lb_record_primary_key));
    ?>
"><i class="icon-plus"></i> <?php 
    echo Yii::t('lang', 'New Invoice');
    ?>
</a>
            <?php 
}
?>
        </div>
    </div>
    <?php 
$this->widget('bootstrap.widgets.TbGridView', array('id' => 'lb-contracts-invoice_grid', 'type' => 'striped bordered condensed', 'dataProvider' => LbContractInvoice::model()->getContractInvoice($model->lb_record_primary_key), 'template' => '{items}', 'htmlOptions' => array('width' => '500'), 'columns' => array(array('header' => Yii::t('lang', 'Invoice No'), 'type' => 'raw', 'value' => '
                            LBApplication::workspaceLink($data->invoice->lb_invoice_no,  LbInvoice::model()->getViewInvoiceURL($data->invoice->lb_record_primary_key,$data->invoice->customer->lb_customer_name));
                        '), array('header' => Yii::t('lang', 'Date'), 'type' => 'raw', 'value' => '$data->invoice->lb_invoice_date'), array('header' => Yii::t('lang', 'Due Date'), 'type' => 'raw', 'value' => '$data->invoice->lb_invoice_due_date'), array('header' => Yii::t('lang', 'Amount'), 'type' => 'raw', 'value' => '$data->invoice->total_invoice->lb_invoice_total_after_taxes'), array('header' => Yii::t('lang', 'Paid'), 'type' => 'raw', 'value' => '$data->invoice->total_invoice->lb_invoice_total_paid'), array('header' => Yii::t('lang', 'Outstanding'), 'type' => 'raw', 'value' => '$data->invoice->total_invoice->lb_invoice_total_outstanding'))));
?>
</div>
Пример #3
0
 /**
  * delete invoice
  * line items, discounts, taxes, totals, trails, ...
  * @return bool|void
  */
 public function delete()
 {
     // delete invoice
     $id = $this->lb_record_primary_key;
     $result = parent::delete();
     if ($result) {
         // delete line items
         $line_items = LbInvoiceItem::model()->getInvoiceItems($id, self::LB_QUERY_RETURN_TYPE_MODELS_ARRAY);
         foreach ($line_items as $l_item) {
             $l_item->delete();
         }
         // delete discounts
         $discounts = LbInvoiceItem::model()->getInvoiceDiscounts($id, self::LB_QUERY_RETURN_TYPE_MODELS_ARRAY);
         foreach ($discounts as $disc) {
             $disc->delete();
         }
         // delete taxes
         $taxes = LbInvoiceItem::model()->getInvoiceTaxes($id, self::LB_QUERY_RETURN_TYPE_MODELS_ARRAY);
         foreach ($taxes as $tx) {
             $tx->delete();
         }
         // delete totals
         $total = LbInvoiceTotal::model()->getInvoiceTotal($id);
         if ($total) {
             $total->delete();
         }
         // delete invoice in contract
         $invoiceByContract = LbContractInvoice::model()->find('lb_invoice_id=' . intval($id));
         if (count($invoiceByContract) > 0) {
             $invoiceByContract->delete();
         }
     }
 }
Пример #4
0
 /**
  * Deletes a particular model.
  * If deletion is successful, the browser will be redirected to the 'admin' page.
  * @param integer $id the ID of the model to be deleted
  */
 public function actionDelete($id)
 {
     if ($this->loadModel($id)->delete()) {
         $document = LbContractDocument::model()->getContractDocument($id);
         foreach ($document->data as $dataDocumnet) {
             $itemDocument = LbContractDocument::model()->findByPk($dataDocumnet->lb_record_primary_key);
             $itemDocument->delete();
         }
         $contract_invoice = LbContractInvoice::model()->getContractInvoice($id);
         foreach ($contract_invoice->data as $dataContractInvoice) {
             $itemContractInvoice = LbContractInvoice::model()->findByPk($dataContractInvoice->lb_record_primary_key);
             $itemContractInvoice->delete();
         }
     }
     // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
     if (!isset($_GET['ajax'])) {
         $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));
     }
 }