Allow max of 0 for payment limits

This commit is contained in:
Joshua Dwire 2016-09-14 10:26:50 -04:00
parent 7b203c11f1
commit a5580cc650
5 changed files with 19 additions and 17 deletions

View File

@ -1243,10 +1243,10 @@ class AccountController extends BaseController
$gateway_settings->gateway_type_id = $gateway_type_id;
}
$gateway_settings->min_limit = Input::get('limit_min_enable') ? intval(Input::get('limit_min')) : 0;
$gateway_settings->max_limit = Input::get('limit_max_enable') ? intval(Input::get('limit_max')) : 0;
$gateway_settings->min_limit = Input::get('limit_min_enable') ? intval(Input::get('limit_min')) : null;
$gateway_settings->max_limit = Input::get('limit_max_enable') ? intval(Input::get('limit_max')) : null;
if ($gateway_settings->max_limit && $gateway_settings->min_limit > $gateway_settings->max_limit) {
if ($gateway_settings->max_limit !== null && $gateway_settings->min_limit > $gateway_settings->max_limit) {
$gateway_settings->max_limit = $gateway_settings->min_limit;
}

View File

@ -77,14 +77,16 @@ class AccountGatewayDatatable extends EntityDatatable
$limit_max_adjustment = $currency->precision ? floatval('.' . str_repeat('9',
$currency->precision)) : 0;
if ($accountGatewaySettings && $accountGatewaySettings->min_limit && $accountGatewaySettings->max_limit) {
if ($accountGatewaySettings && $accountGatewaySettings->min_limit !== null && $accountGatewaySettings->max_limit !== null) {
$html .= Utils::formatMoney($accountGatewaySettings->min_limit) . ' - ' . Utils::formatMoney($accountGatewaySettings->max_limit + $limit_max_adjustment);
} elseif ($accountGatewaySettings && $accountGatewaySettings->min_limit) {
} elseif ($accountGatewaySettings && $accountGatewaySettings->min_limit !== null) {
$html .= trans('texts.min_limit',
array('min' => Utils::formatMoney($accountGatewaySettings->min_limit)));
} elseif ($accountGatewaySettings && $accountGatewaySettings->max_limit) {
array('min' => Utils::formatMoney($accountGatewaySettings->min_limit))
);
} elseif ($accountGatewaySettings && $accountGatewaySettings->max_limit !== null) {
$html .= trans('texts.max_limit',
array('max' => Utils::formatMoney($accountGatewaySettings->max_limit + $limit_max_adjustment)));
array('max' => Utils::formatMoney($accountGatewaySettings->max_limit + $limit_max_adjustment))
);
} else {
$html .= trans('texts.no_limit');
}
@ -153,8 +155,8 @@ class AccountGatewayDatatable extends EntityDatatable
function () use ($gatewayType) {
$accountGatewaySettings = AccountGatewaySettings::scope()->where('account_gateway_settings.gateway_type_id',
'=', $gatewayType->id)->first();
$min = $accountGatewaySettings ? $accountGatewaySettings->min_limit : 0;
$max = $accountGatewaySettings ? $accountGatewaySettings->max_limit : 0;
$min = $accountGatewaySettings && $accountGatewaySettings->min_limit != null ? $accountGatewaySettings->min_limit : 'null';
$max = $accountGatewaySettings && $accountGatewaySettings->max_limit != null ? $accountGatewaySettings->max_limit : 'null';
return "javascript:showLimitsModal('{$gatewayType->name}',{$gatewayType->id},$min,$max)";
},

View File

@ -822,11 +822,11 @@ class BasePaymentDriver
if ($accountGatewaySettings) {
$invoice = $this->invoice();
if ($accountGatewaySettings->min_limit && $invoice->balance < $accountGatewaySettings->min_limit) {
if ($accountGatewaySettings->min_limit !== null && $invoice->balance < $accountGatewaySettings->min_limit) {
return false;
}
if ($accountGatewaySettings->max_limit && $invoice->balance >= $accountGatewaySettings->max_limit + 1) {
if ($accountGatewaySettings->max_limit !== null && $invoice->balance >= $accountGatewaySettings->max_limit + 1) {
// The max is limit_max + 0.99, so we add 1 to max_limit
// Then, if the balance is greater than or equal to that value, it's over the max.
return false;

View File

@ -32,8 +32,8 @@ class CreateGatewayTypes extends Migration
$t->timestamp('updated_at')->nullable();
$t->unsignedInteger('min_limit');
$t->unsignedInteger('max_limit');
$t->unsignedInteger('min_limit')->nullable();
$t->unsignedInteger('max_limit')->nullable();
$t->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
$t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');

View File

@ -138,9 +138,9 @@
var modalLabel = {!! json_encode(trans('texts.set_limits')) !!};
$('#paymentLimitsModalLabel').text(modalLabel.replace(':gateway_type', gateway_type));
limitsSlider.noUiSlider.set([min_limit, max_limit ? max_limit : 100000]);
limitsSlider.noUiSlider.set([min_limit !== null ? min_limit : 0, max_limit !== null ? max_limit : 100000]);
if (min_limit) {
if (min_limit !== null) {
$('#payment-limit-min').removeAttr('disabled');
$('#payment-limit-min-enable').prop('checked', true);
} else {
@ -148,7 +148,7 @@
$('#payment-limit-min-enable').prop('checked', false);
}
if (max_limit) {
if (max_limit !== null) {
$('#payment-limit-max').removeAttr('disabled');
$('#payment-limit-max-enable').prop('checked', true);
} else {