Ensure site_id is included in ORM::add(), fixed payment revendering, start product category work
This commit is contained in:
parent
c1cc6b6f69
commit
b74fdc930f
@ -11,7 +11,7 @@
|
||||
*/
|
||||
class DB extends Kohana_DB {
|
||||
// Add the site_id to the delete query
|
||||
public static function delete($table = NULL)
|
||||
final public static function delete($table = NULL)
|
||||
{
|
||||
$db = new Database_Query_Builder_Delete($table);
|
||||
|
||||
|
23
application/classes/Database/Query/Builder/Insert.php
Normal file
23
application/classes/Database/Query/Builder/Insert.php
Normal file
@ -0,0 +1,23 @@
|
||||
<?php defined('SYSPATH') or die('No direct access allowed.');
|
||||
|
||||
/**
|
||||
* This class extends Kohana's [Database_Query_Builder_Insert] to ensure that we have a site_id included in the values
|
||||
*
|
||||
* @package OSB
|
||||
* @category Helpers
|
||||
* @author Deon George
|
||||
* @copyright (c) 2009-2013 Open Source Billing
|
||||
* @license http://dev.osbill.net/license.html
|
||||
*/
|
||||
|
||||
class Database_Query_Builder_Insert extends Kohana_Database_Query_Builder_Insert {
|
||||
public function compile($db = NULL) {
|
||||
$this->_columns = Arr::Merge($this->_columns,['site_id']);
|
||||
|
||||
foreach ($this->_values as $k=>$v)
|
||||
$this->_values[$k] = Arr::Merge($this->_values[$k],[Site::id()]);
|
||||
|
||||
return parent::compile($db);
|
||||
}
|
||||
}
|
||||
?>
|
@ -23,19 +23,19 @@ class URL extends lnApp_URL {
|
||||
|
||||
foreach (array_reverse(self::$method_directory) as $k=>$v)
|
||||
switch ($k) {
|
||||
case 'admin': $result[$k] = array('name'=>'Administrator','icon'=>'icon-globe');
|
||||
case 'admin': $result[$k] = array('name'=>'Administrator','icon'=>'fa-globe');
|
||||
break;
|
||||
|
||||
case 'affiliate':
|
||||
case 'reseller': $result[$k] = array('name'=>'Reseller','icon'=>'icon-th-list');
|
||||
case 'reseller': $result[$k] = array('name'=>'Reseller','icon'=>'fa-dashboard');
|
||||
break;
|
||||
|
||||
case 'user':
|
||||
if (is_object(Auth::instance()->get_user()))
|
||||
$result[$k] = array('name'=>Auth::instance()->get_user()->name(),'icon'=>'icon-user');
|
||||
$result[$k] = array('name'=>Auth::instance()->get_user()->name(),'icon'=>'fa-user');
|
||||
break;
|
||||
|
||||
default: $result[$k] = array('name'=>$k,'icon'=>'icon-question-sign');
|
||||
default: $result[$k] = array('name'=>$k,'icon'=>'fa-question');
|
||||
}
|
||||
|
||||
return $result;
|
||||
|
@ -95,7 +95,7 @@ class Controller_Admin_Payment extends Controller_Payment {
|
||||
private function add_edit($id=NULL,$output='') {
|
||||
$po = ORM::factory('Payment',$id);
|
||||
|
||||
$this->meta->title = 'Payment: '.$po->refnum(TRUE);
|
||||
$this->meta->title = $po->loaded() ? 'Payment: '.$po->refnum(TRUE) : 'A|Payment Add';
|
||||
|
||||
if ($this->request->post()) {
|
||||
$po->values($this->request->post());
|
||||
@ -113,61 +113,6 @@ class Controller_Admin_Payment extends Controller_Payment {
|
||||
$this->save($po);
|
||||
}
|
||||
|
||||
Script::factory()
|
||||
->type('file')
|
||||
->data('media/theme/bootstrap/js/bootstrap.datepicker.js');
|
||||
|
||||
Style::factory()
|
||||
->type('file')
|
||||
->data('media/theme/bootstrap/css/bootstrap.datepicker.css');
|
||||
|
||||
Script::factory()
|
||||
->type('stdin')
|
||||
->data('
|
||||
$(document).ready(function() {
|
||||
$("#date_payment_label").datepicker({
|
||||
autoclose : true,
|
||||
todayHighlight: true,
|
||||
endDate : new Date(),
|
||||
format : "dd-mm-yyyy",
|
||||
todayBtn : true,
|
||||
}).on("hide",function(ev) {
|
||||
$("input[name=date_payment]").val(ev.date.valueOf()/1000);
|
||||
});
|
||||
|
||||
$("input[name=account_id_label]").typeahead({
|
||||
minLength: 2,
|
||||
source: function (query,process) {
|
||||
search("'.URL::link('admin','payment/ajaxlist').'",query,process);
|
||||
},
|
||||
|
||||
matcher: function () { return true; },
|
||||
|
||||
updater: function (item) {
|
||||
$("input[name=account_id]").val(users[item]);
|
||||
|
||||
// Send the request and update sub category dropdown
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
data: "key="+users[item],
|
||||
dataType: "html",
|
||||
cache: false,
|
||||
url: "'.URL::link('admin','payment/ajaxitemlist',TRUE).'",
|
||||
timeout: 2000,
|
||||
error: function(x) {
|
||||
alert("Failed to submit");
|
||||
},
|
||||
success: function(data) {
|
||||
$("div[id=items]").empty().append(data);
|
||||
}
|
||||
});
|
||||
|
||||
return item;
|
||||
},
|
||||
});
|
||||
});
|
||||
');
|
||||
|
||||
if ($po->loaded())
|
||||
Script::factory()
|
||||
->type('stdin')
|
||||
|
@ -2,30 +2,49 @@
|
||||
<fieldset>
|
||||
<legend>Payment Details</legend>
|
||||
|
||||
<label for="date_payment_label">Date Paid</label>
|
||||
<div class="input-group col-md-2">
|
||||
<input type="text" id="date_payment_label" value="<?php echo date('d-m-Y',$o->date_payment); ?>" class="form-control" placeholder="Date Paid">
|
||||
<span class="input-group-addon" id="basic-addon1"><i class="fa fa-calendar"></i></span>
|
||||
</div>
|
||||
<?php echo Form::hidden('date_payment',$o->date_payment); ?>
|
||||
|
||||
<?php echo Form::select('checkout_id',ORM::factory('Checkout')->list_select(),$o->checkout_id,array('label'=>'Payment Method','required')); ?>
|
||||
<?php echo Form::input('total_amt',$o->total_amt,array('label'=>'Amount','placeholder'=>'Total','help-block'=>sprintf('Credits: %s, Balance: %s',$o->credit(),$o->total()))); ?>
|
||||
<?php echo Form::input('fees_amt',$o->fees_amt,array('label'=>'Fees','placeholder'=>'Fees')); ?>
|
||||
<?php echo Form::input('account_id_label',$o->account->name(),array('label'=>'Account','placeholder'=>'Account','data-provide'=>'typeahead')); ?>
|
||||
<?php echo Form::hidden('account_id',$o->account_id); ?>
|
||||
<?php echo Form::input('notes',$o->notes,array('label'=>'Notes','placeholder'=>'Any notes about this payment?')); ?>
|
||||
<?php
|
||||
echo View::factory('field/date')->set('data',['field'=>'date_payment','value'=>$o->date_payment ? $o->date_payment : time(),'text'=>'Date Charge','enddate'=>'new Date()']);
|
||||
echo View::factory('field/select')->set('data',['field'=>'checkout_id','value'=>ORM::factory('Checkout')->list_select(TRUE),'text'=>'Payment Method','default'=>$o->checkout_id,'class'=>'col-md-2']);
|
||||
echo View::factory('field/money')->set('data',['field'=>'total_amt','value'=>$o->total_amt,'text'=>'Total','class'=>'col-md-2']);
|
||||
echo View::factory('field/money')->set('data',['field'=>'fees_amt','value'=>$o->fees_amt,'text'=>'Fees','class'=>'col-md-2']);
|
||||
echo View::factory('field/account')->set('data',['field'=>'account_id','value'=>$o->account_id,'text'=>'Account','name'=>$o->account_id ? sprintf('%s: %s',$o->account->refnum(),$o->account->name()) : '','ajaxurl'=>URL::link('admin','payment/ajaxlist')]);
|
||||
echo View::factory('field/text')->set('data',['field'=>'notes','value'=>$o->notes,'text'=>'Notes','class'=>'col-md-5']);
|
||||
?>
|
||||
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<fieldset class="col-md-8">
|
||||
<fieldset class="col-md-8">
|
||||
<legend>Invoice Details</legend>
|
||||
|
||||
<div id="items"></div>
|
||||
</fieldset>
|
||||
|
||||
<div class="row col-md-12">
|
||||
<button type="submit" class="btn btn-primary">Save changes</button>
|
||||
<button type="button" class="btn">Cancel</button>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12">
|
||||
<?php echo View::factory('field/submit'); ?>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
Script::factory()
|
||||
->type('stdin')
|
||||
->data('
|
||||
$(document).ready(function() {
|
||||
$("input[name=account_id]").change(function(){
|
||||
// Send the request and update sub category dropdown
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
data: "key="+$(this).val(),
|
||||
dataType: "html",
|
||||
cache: false,
|
||||
url: "'.URL::link('admin','payment/ajaxitemlist',TRUE).'",
|
||||
timeout: 2000,
|
||||
error: function(x) {
|
||||
alert("Failed to submit");
|
||||
},
|
||||
success: function(data) {
|
||||
$("div[id=items]").empty().append(data);
|
||||
}
|
||||
});
|
||||
});
|
||||
});');
|
||||
?>
|
||||
|
@ -14,6 +14,7 @@
|
||||
*/
|
||||
class Model_Product extends ORM {
|
||||
protected $_has_many = array(
|
||||
'product_cat'=>array('through'=>'pivot_product_cat'),
|
||||
'invoice'=>array('through'=>'invoice_item'),
|
||||
'service'=>array('far_key'=>'id'),
|
||||
'translate'=>array('model'=>'Product_Translate','far_key'=>'id'),
|
||||
|
12
modules/product/views/product/category/list.php
Normal file
12
modules/product/views/product/category/list.php
Normal file
@ -0,0 +1,12 @@
|
||||
<!-- o = Array of Model_Product_Category -->
|
||||
<?php echo Table::factory()
|
||||
->page_items(50)
|
||||
->data($o)
|
||||
->columns(array(
|
||||
'id'=>'ID',
|
||||
'name(TRUE)'=>'Name',
|
||||
))
|
||||
->prepend(array(
|
||||
'id'=>array('url'=>URL::link('admin','product_category/edit/')),
|
||||
));
|
||||
?>
|
Reference in New Issue
Block a user