Merge branch 'master' of github.com:crunchbutton/crunchbutton

This commit is contained in:
arzynik 2014-10-31 11:40:04 -07:00
commit d761ac7d35
5 changed files with 42 additions and 1 deletions

View File

@ -127,6 +127,12 @@ class Controller_Api_Settlement extends Crunchbutton_Controller_RestAccount {
case 'send-summary':
$this->_driverSendSummary();
break;
case 'send-summary':
$this->_driverSendSummary();
break;
case 'do-err-payments':
$this->_driverDoErrPayments();
break;
default:
$this->_error();
break;
@ -519,6 +525,12 @@ class Controller_Api_Settlement extends Crunchbutton_Controller_RestAccount {
echo json_encode( $out );
}
private function _driverDoErrPayments(){
$settlement = new Crunchbutton_Settlement;
$settlement->doDriverErrPayments();
echo json_encode( [ 'success' => true ] );
}
private function _driverDoNotPayForOrder(){
$id_order = $this->request()['id_order'];
$id_driver = $this->request()['id_driver'];

View File

@ -757,7 +757,6 @@ class Crunchbutton_Settlement extends Cana_Model {
}
}
if( $shouldSchedule ){
// schedule it
@ -841,6 +840,17 @@ class Crunchbutton_Settlement extends Cana_Model {
return true;
}
public function doDriverErrPayments(){
$schedules = Cockpit_Payment_Schedule::q( 'SELECT * FROM payment_schedule WHERE status = "' . Cockpit_Payment_Schedule::STATUS_ERROR . '"' );
foreach( $schedules as $_schedule ){
$id_payment_schedule = $_schedule->id_payment_schedule;
$settlement = new Crunchbutton_Settlement;
Cana::timeout( function() use( $settlement, $id_payment_schedule ) {
$settlement->payDriver( $id_payment_schedule );
} );
}
}
public function doDriverPayments( $id_payment_schedule = false ){
if( $id_payment_schedule ){
return $this->payDriver( $id_payment_schedule );

View File

@ -53,6 +53,12 @@
<div class="divider"></div>
</div>
<div ng-click="do_err_payments()" class="orange link left">
<br/>
<strong>Process errors all again</strong>
<br/>
</div>
<table class="tb-grid tb-zebra">
<thead>
<tr>

View File

@ -695,6 +695,12 @@ NGApp.controller( 'SettlementDriversScheduledCtrl', function ( $scope, Settlemen
} );
}
$scope.do_err_payments = function(){
SettlementService.drivers.do_err_payments( function(){
$scope.update();
} );
}
$scope.payment = function( id_payment ){
$scope.navigation.link( '/settlement/drivers/scheduled/' + id_payment );
}

View File

@ -38,6 +38,7 @@ NGApp.factory( 'SettlementService', function( $resource, $http, $routeParams ) {
'scheduled' : { 'method': 'POST', params : { action: 'scheduled' } },
'scheduled_payment' : { 'method': 'POST', params : { action: 'scheduled' } },
'do_payment' : { 'method': 'POST', params : { action: 'do-payment' } },
'do_err_payments' : { 'method': 'POST', params : { action: 'do-err-payments' } },
'send_summary' : { 'method': 'POST', params : { action: 'send-summary' } },
'schedule_arbitrary_payment' : { 'method': 'POST', params : { action: 'schedule-arbitrary-payment' } },
'payment' : { 'method': 'POST', params : { action: 'payment' } },
@ -176,6 +177,12 @@ NGApp.factory( 'SettlementService', function( $resource, $http, $routeParams ) {
} );
}
service.drivers.do_err_payments = function( callback ){
settlement.drivers.do_err_payments( {}, function( json ){
callback( json );
} );
}
service.drivers.schedule_arbitrary_payment = function( id_driver, amount, pay_type, notes, callback ){
settlement.drivers.schedule_arbitrary_payment( { 'id_driver': id_driver, 'amount': amount, 'pay_type': pay_type, 'notes': notes }, function( json ){
callback( json );