?> <div class="group-4 list-check-3"> <?php echo $form->radioButtonList($mTransactions->mBillTo, 'paying_to_external_co_broke', ProTransactionsPropertyDetail::$aYesNo, array('template' => "<li>{input}{label}</li>", 'separator' => '', 'container' => 'ul', 'class' => 'paying_to_external_co_broke')); ?> </div> <?php echo $form->error($mTransactions->mBillTo, 'paying_to_external_co_broke'); ?> </div> </div> <!-- end wrap_client_type_info --> <div class="box-5 table_external_co_broke display_none"> <div class="title clearfix"> <h4 class="f-left">External Co-broke details</h4> <a data-fancybox-type="iframe" href="<?php echo Yii::app()->createAbsoluteUrl('ajax/agentAddExternalCoBroke', array('transactions_id' => $mTransactions->id, "add_property" => $mTransactions->add_property)); ?> " class="btn-1 f-right AddVendorDetails">Add more</a> </div> <div class="content table_scroll padding_0 "> <?php $this->widget('zii.widgets.grid.CGridView', array('id' => 'external-co-broke-grid', 'dataProvider' => ProTransactionsBillTo::searchByType($mTransactions->id, ProTransactionsBillTo::TYPE_EXTERNAL_CO_BROKE), 'afterAjaxUpdate' => 'function(id, data){}', 'template' => '{items}{pager}', 'itemsCssClass' => 'tb-1 margin_0', 'htmlOptions' => array('class' => 'grid-view padding_0'), 'enableSorting' => false, 'columns' => array(array('header' => '#', 'type' => 'raw', 'value' => '$this->grid->dataProvider->pagination->currentPage * $this->grid->dataProvider->pagination->pageSize + ($row+1)', 'headerHtmlOptions' => array('width' => '10px', 'style' => 'text-align:center;'), 'htmlOptions' => array('style' => 'text-align:center;'), 'cssClassExpression' => '"first"'), 'company_name', 'salesperson_name', array('name' => 'nric_no', 'htmlOptions' => array('style' => 'text-align:center;'), 'headerHtmlOptions' => array('class' => 'item_c')), array('name' => 'contact_no', 'htmlOptions' => array('style' => 'text-align:center;'), 'headerHtmlOptions' => array('class' => 'item_c')), array('name' => 'commission_amount', 'type' => 'Price', 'htmlOptions' => array('style' => 'text-align:right;'), 'headerHtmlOptions' => array('class' => 'item_r')), array('name' => 'commission_amount_gst', 'type' => 'Price', 'htmlOptions' => array('style' => 'text-align:right;'), 'headerHtmlOptions' => array('class' => 'item_r')), 'billing_address', array('name' => 'postal_code', 'htmlOptions' => array('style' => 'text-align:center;'), 'headerHtmlOptions' => array('class' => 'item_c')), array('header' => 'Actions', 'class' => 'CButtonColumn', 'cssClassExpression' => '"last"', 'template' => '{update_item}{delete_item}', 'buttons' => array('update_item' => array('label' => 'Update', 'imageUrl' => Yii::app()->theme->baseUrl . '/img/gridview/update.png', 'options' => array('class' => 'update_item', 'data-fancybox-type' => 'iframe'), 'url' => 'Yii::app()->createAbsoluteUrl("ajax/agentUpdateExternalCoBroke", array("id"=>$data->id, "add_property"=> ' . $mTransactions->add_property . ' ))'), 'delete_item' => array('label' => 'Remove', 'imageUrl' => Yii::app()->theme->baseUrl . '/img/gridview/delete.png', 'options' => array('class' => 'delete_item'), 'url' => 'Yii::app()->createAbsoluteUrl("admin/ajax/deleteVendorPurchaser", array("id"=>$data->id))')))))); ?> </div> <!-- end content table_scroll --> </div> <!-- end box-5 -->
public static function getCommissionAmountTrans($model) { $res = ''; if ($mTrans = $model->rTransaction) { $res = ProTransactionsBillTo::getCommissionAmountTrans($mTrans->rBillTo); } return $res; }
if ($model->status == CmsFormatter::COMPLETE_REPORT) { $cmsFormater = new CmsFormatter(); $res = $model->remark; } return $res; } public function formatTransClientCommission($model)
if (isset($_POST['ProTransactionsBillTo'])) { $model->attributes = $_POST['ProTransactionsBillTo']; $model->validate(); if (!$model->hasErrors()) { $mUser = Users::saveUserExternalCoBroke($model, ROLE_EXTERNAL_CO_BROKE); $model->bill_to_id = $oldBillTo; $model->update(); die('<script type="text/javascript">parent.$.fancybox.close(); parent.fnUpdateGridView("#external-co-broke-grid"); </script>'); } } $this->render('CreateTransaction/AgentUpdateExternalCoBroke', array('model' => $model)); } catch (Exception $exc) { throw new CHttpException(404, $exc->getMessage()); } }
<?php echo $mTransactions->mBillTo->postal_code; ?> </div> </div> <div class="in-row clearfix"> <?php echo $form->labelEx($mTransactions->mBillTo, 'paying_to_external_co_broke', array('class' => 'lb', 'style' => 'width:190px;')); ?> <div class="group top_5"> <?php echo isset(ProTransactionsPropertyDetail::$aYesNo[$mTransactions->mBillTo->paying_to_external_co_broke]) ? ProTransactionsPropertyDetail::$aYesNo[$mTransactions->mBillTo->paying_to_external_co_broke] : ""; ?> </div> </div> </div> <!-- end wrap_client_type_info --> <div class="box-5 table_external_co_broke display_none"> <div class="title clearfix"> <h4 class="f-left">External Co-broke details</h4> </div> <div class="content table_scroll padding_0 "> <?php $this->widget('zii.widgets.grid.CGridView', array('id' => 'external-co-broke-grid', 'dataProvider' => ProTransactionsBillTo::searchByType($mTransactions->id, ProTransactionsBillTo::TYPE_EXTERNAL_CO_BROKE), 'afterAjaxUpdate' => 'function(id, data){}', 'template' => '{items}{pager}', 'itemsCssClass' => 'tb-1 margin_0', 'htmlOptions' => array('class' => 'grid-view padding_0'), 'enableSorting' => false, 'columns' => array(array('header' => '#', 'type' => 'raw', 'value' => '$this->grid->dataProvider->pagination->currentPage * $this->grid->dataProvider->pagination->pageSize + ($row+1)', 'headerHtmlOptions' => array('width' => '10px', 'style' => 'text-align:center;'), 'htmlOptions' => array('style' => 'text-align:center;'), 'cssClassExpression' => '"first"'), 'company_name', 'salesperson_name', array('name' => 'nric_no', 'htmlOptions' => array('style' => 'text-align:center;'), 'headerHtmlOptions' => array('class' => 'item_c')), array('name' => 'contact_no', 'htmlOptions' => array('style' => 'text-align:center;'), 'headerHtmlOptions' => array('class' => 'item_c')), array('name' => 'commission_amount', 'type' => 'NumberOnly', 'htmlOptions' => array('style' => 'text-align:right;'), 'headerHtmlOptions' => array('class' => 'item_r')), array('name' => 'commission_amount_gst', 'type' => 'NumberOnly', 'htmlOptions' => array('style' => 'text-align:right;'), 'headerHtmlOptions' => array('class' => 'item_r')), 'billing_address', array('name' => 'postal_code', 'htmlOptions' => array('style' => 'text-align:center;'), 'headerHtmlOptions' => array('class' => 'item_c'))))); ?> </div> <!-- end content table_scroll --> </div> <!-- end box-5 -->
/** * @Author: ANH DUNG Dec 01, 2014 * @Todo: handle POST for create tenancy without create transaction * @belongto: actionCreateTenancy */ public static function HandlePost($mTransactions) { if (isset($_POST['ProTransactionsPropertyDetail'])) { ProTransactions::HandleSaveAsDraft($mTransactions); ProTransactions::GetPostAndValidateTenancy($mTransactions); if (!$mTransactions->hasErrors() && !$mTransactions->mPropertyDetail->hasErrors() && !$mTransactions->mTenatDefault->hasErrors() && !$mTransactions->mTenatDefault->hasErrors() && !$mTransactions->mTenant->hasErrors() && !$mTransactions->mPropertyDocument->hasErrors() && !$mTransactions->mBillTo->hasErrors() && !$mTransactions->mVendor->hasErrors() && !$mTransactions->mPurchaser->hasErrors()) { ProTransactions::convertToDbDate($mTransactions); $prefix_code = "T" . date('Y') . date('m'); // if(!isset($_GET['update_transactions'])){ if (!strlen($mTransactions->transactions_no)) { // Fix Feb 03, 2015 for update tenancy and trans $mTransactions->transactions_no = MyFormat::getNextId('ProTransactions', $prefix_code, 'transactions_no', ProTransactions::LENGTH_TRANS_NO); } $link = Yii::app()->createAbsoluteUrl('admin/tenancy/view', array('id' => $mTransactions->id)); $cController = strtolower(Yii::app()->controller->id); if ($cController == "transactions") { // Feb 03, 2015 , fix for update transaction $link = Yii::app()->createAbsoluteUrl('admin/transactions/view', array('id' => $mTransactions->id)); } // $mTransactions->status = STATUS_TENANCY_NEW; // Feb 02, 2015 , fix for update transaction $cAction = Yii::app()->controller->action->id; if ($cAction != 'update') { $mTransactions->status = STATUS_TENANCY_APPROVE; } // Feb 02, 2015 , fix for update transaction $mTransactions->save(); // save transaction // save mPropertyDetail $mTransactions->mPropertyDetail->transactions_id = $mTransactions->id; $mTransactions->mPropertyDetail->listing_id = $mTransactions->listing_id; $mTransactions->mPropertyDetail->save(); //save mBillTo $mTransactions->mBillTo->transactions_id = $mTransactions->id; $mTransactions->mBillTo->client_type_id = $mTransactions->client_type_id; $mTransactions->mBillTo->type = ProTransactionsBillTo::TYPE_VENDOR_PURCHASER; $mUserBillTo = Users::saveUserExternalCoBroke($mTransactions->mBillTo, ROLE_EXTERNAL_CO_BROKE); $mTransactions->mBillTo->user_id = $mUserBillTo->id; if ($cAction == 'update' && ProTransactions::IsTenancyTransaction($mTransactions)) { $mTransactions->mBillTo->save(); // save mBillTo } // save tenant if ($mTransactions->type == ProTransactions::FOR_RENT) { $mTransactions->mTenatDefault->transactions_id = $mTransactions->id; ProTransactionsVendorPurchaserDetail::saveOneTenant($mTransactions->mTenatDefault, 1); // update new expiration date for tenant to check login ProTransactionsVendorPurchaserDetail::updateExpirationTenant($mTransactions); } // end save tenant //save ProTransactionsPropertyDocument ProTransactionsPropertyDocument::saveRecord($mTransactions); $mTransactions = ProTransactions::LoadModelRelationByPk($mTransactions->id); // Mar 05, 2015 create landlord and send mail to new user if not yet send ProTransactions::CreateNewTenantLandlordAndSendMail($mTransactions); // Mar 05, 2015 create landlord and send mail to new user if not yet send // Feb 02, 2015 , fix for update transaction need for save Comm if ($cAction == 'update' && ProTransactions::IsTenancyTransaction($mTransactions)) { // comm here ProTransactionsBillTo::UpdateBillTo($mTransactions); // Jun 16, 2014 đưa bill to lên trên save commission thì mới có đc rExternalCoBrokeCommission // chỗ này find lại model của transaction để lấy hết relation - single query $mTransactions = ProTransactions::LoadModelRelationByPk($mTransactions->id); ProTransactionsSaveCommission::saveOneTransaction($mTransactions); ProTransactionsInvoice::AutoGenInvoice($mTransactions); } // Feb 02, 2015 , fix for update transaction need for save Comm Yii::app()->controller->redirect($link); // may be redirect to view } } }
// } // if (!empty($mTransactions->deposit_payable)) { // $mTransactions->deposit_payable = Listing::getformatPrice($mTransactions->deposit_payable); // } // co the cai nay khong can // if (!empty($mTransactions->mBillTo->commission_amount)) { // $mTransactions->mBillTo->commission_amount = Listing::getformatPrice($mTransactions->mBillTo->commission_amount); // } // // con 3 field: transacted_price, valuation_price, tenancy_amount // Nov 03, 2014 $mTransactions->mTenatDefault->scenario = 'AgentAddTenant'; $mTransactions->mPropertyDetail->scenario = 'CreateTransactionFromListing'; if (isset($_GET['list']) && $_GET['list'] == 'transaction') { $mTransactions->mPropertyDetail->scenario = 'CreateTransaction'; } if ($mTransactions->add_property == ProTransactions::ADD_UNLISTED) { $mTransactions->mPropertyDetail->scenario = 'CreateTransactionUnlisted'; $mTransactions->mTenatDefault->scenario = 'AgentAddTenantUnlisted'; } $mTransactions->mBillTo->scenario = 'CreateVendorPurchaser'; // $mTransactions->mPropertyDocument->scenario = 'UploadDocument'; $mTransactions->scenario = 'CreateTransaction'; // default for sale if ($mTransactions->type == ProTransactions::FOR_RENT) { $mTransactions->scenario = 'CreateTransactionForRent'; // for rent } // Dec 02, 2014 đã tạo 2 scenario cho phần thêm add property name Existing vs Unlisted // CreateTransactionForRentUnlisted, CreateTransactionForSaleUnlisted // Hiện tại thấy chưa cần tách ra nhiều scenario như vậy, nên chưa if else chỗ này... will ProTransactions::copyFromListingToTransaction($mTransactions); ProTransactions::convertToUserDate($mTransactions); // chưa làm phần update cho transaction?? // ProTransactions::convertToUserDate($mTransactions); } // xử lý bắt biến post và gọi validate cho các model, tách ra cho dễ nhìn public function GetPostAndValidate($mTransactions) { $mTransactions->attributes = $_POST['ProTransactions']; $mTransactions->mPropertyDetail->attributes = $_POST['ProTransactionsPropertyDetail'];
/** * @Author: ANH DUNG Jul 09, 2014 * @Todo: dùng để cập nhật cột bill_to cho type là external co broke * @Param: $mTransaction */ public static function UpdateBillTo($mTransaction) { if ($mBillTo = $mTransaction->rBillTo) { $bill_to_id = ProTransactions::BILL_TO_EXTERNAL_CO_BROKE_COMMISSION; if ($mBillTo->bill_to_id == ProTransactions::BILL_TO_EXTERNAL_CO_BROKE) { $bill_to_id = ProTransactions::BILL_TO_EXTERNAL_CO_BROKE; } $criteria = new CDbCriteria(); $criteria->compare('transactions_id', $mTransaction->id); $criteria->compare('type', ProTransactionsBillTo::TYPE_EXTERNAL_CO_BROKE); ProTransactionsBillTo::model()->updateAll(array('bill_to_id' => $bill_to_id), $criteria); } }