Merge pull request #8324 from turbo124/v5-develop

Fixes for displaying negative numbers
This commit is contained in:
David Bomba 2023-03-01 16:33:08 +11:00 committed by GitHub
commit 4481520471
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 39 additions and 4 deletions

View File

@ -23,6 +23,8 @@ class SubscriptionPurchaseController extends Controller
{ {
public function index(Subscription $subscription, Request $request) public function index(Subscription $subscription, Request $request)
{ {
App::setLocale($subscription->company->locale());
/* Make sure the contact is logged into the correct company for this subscription */ /* Make sure the contact is logged into the correct company for this subscription */
if (auth()->guard('contact')->user() && auth()->guard('contact')->user()->company_id != $subscription->company_id) { if (auth()->guard('contact')->user() && auth()->guard('contact')->user()->company_id != $subscription->company_id) {
auth()->guard('contact')->logout(); auth()->guard('contact')->logout();
@ -42,6 +44,9 @@ class SubscriptionPurchaseController extends Controller
public function upgrade(Subscription $subscription, Request $request) public function upgrade(Subscription $subscription, Request $request)
{ {
App::setLocale($subscription->company->locale());
/* Make sure the contact is logged into the correct company for this subscription */ /* Make sure the contact is logged into the correct company for this subscription */
if (auth()->guard('contact')->user() && auth()->guard('contact')->user()->company_id != $subscription->company_id) { if (auth()->guard('contact')->user() && auth()->guard('contact')->user()->company_id != $subscription->company_id) {
auth()->guard('contact')->logout(); auth()->guard('contact')->logout();

View File

@ -271,6 +271,10 @@ class BillingPortalPurchasev2 extends Component
*/ */
public function handleCoupon() public function handleCoupon()
{ {
$this->resetErrorBag('coupon');
$this->resetValidation('coupon');
if ($this->coupon == $this->subscription->promo_code) { if ($this->coupon == $this->subscription->promo_code) {
$this->valid_coupon = true; $this->valid_coupon = true;
$this->buildBundle(); $this->buildBundle();
@ -278,6 +282,9 @@ class BillingPortalPurchasev2 extends Component
$this->discount = 0; $this->discount = 0;
$this->valid_coupon = false; $this->valid_coupon = false;
$this->buildBundle(); $this->buildBundle();
$errors = $this->getErrorBag();
$errors->add('coupon', ctrans('texts.invalid_coupon'));
return $this;
} }
} }

View File

@ -39,9 +39,9 @@ class SubscriptionsTable extends Component
->where('company_id', $this->company->id) ->where('company_id', $this->company->id)
->whereNotNull('subscription_id') ->whereNotNull('subscription_id')
->where('is_deleted', false) ->where('is_deleted', false)
->where('status_id', RecurringInvoice::STATUS_ACTIVE) ->whereIn('status_id', [RecurringInvoice::STATUS_ACTIVE, RecurringInvoice::STATUS_PAUSED])
->orderBy($this->sort_field, $this->sort_asc ? 'asc' : 'desc')
->withTrashed() ->withTrashed()
->orderBy($this->sort_field, $this->sort_asc ? 'asc' : 'desc')
->paginate($this->per_page); ->paginate($this->per_page);
return render('components.livewire.subscriptions-table', [ return render('components.livewire.subscriptions-table', [

View File

@ -13,7 +13,6 @@
namespace App\Services\PdfMaker; namespace App\Services\PdfMaker;
use App\Models\Credit; use App\Models\Credit;
use App\Models\Invoice;
use App\Models\Quote; use App\Models\Quote;
use App\Services\PdfMaker\Designs\Utilities\BaseDesign; use App\Services\PdfMaker\Designs\Utilities\BaseDesign;
use App\Services\PdfMaker\Designs\Utilities\DesignHelpers; use App\Services\PdfMaker\Designs\Utilities\DesignHelpers;

View File

@ -202,6 +202,8 @@ class Number
{ {
$currency = $entity->currency(); $currency = $entity->currency();
$_value = $value;
$thousand = $currency->thousand_separator; $thousand = $currency->thousand_separator;
$decimal = $currency->decimal_separator; $decimal = $currency->decimal_separator;
$precision = $currency->precision; $precision = $currency->precision;
@ -247,6 +249,12 @@ class Number
} elseif ($swapSymbol) { } elseif ($swapSymbol) {
return "{$value} ".trim($symbol); return "{$value} ".trim($symbol);
} elseif ($entity->getSetting('show_currency_code') === false) { } elseif ($entity->getSetting('show_currency_code') === false) {
if ($_value < 0) {
$value = substr($value, 1);
$symbol = "-{$symbol}";
}
return "{$symbol}{$value}"; return "{$symbol}{$value}";
} else { } else {
return self::formatValue($value, $currency); return self::formatValue($value, $currency);

View File

@ -5010,6 +5010,7 @@ $LANG = array(
'change_plan_description' => 'Upgrade or downgrade your current plan.', 'change_plan_description' => 'Upgrade or downgrade your current plan.',
'add_company_logo' => 'Add Logo', 'add_company_logo' => 'Add Logo',
'add_stripe' => 'Add Stripe', 'add_stripe' => 'Add Stripe',
'invalid_coupon' => 'Invalid Coupon',
); );

View File

@ -253,6 +253,14 @@
<span>{{ ctrans('texts.apply') }}</span> <span>{{ ctrans('texts.apply') }}</span>
</button> </button>
</div> </div>
@if($errors && $errors->has('coupon'))
@error("coupon")
<div class="bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative" role="alert">
<span class="block sm:inline text-sm">{{ $message }} </span>
<span class="absolute top-0 bottom-0 right-0 px-4 py-3">
</div>
@enderror
@endif
</div> </div>
</form> </form>
@endif @endif
@ -347,7 +355,6 @@
<span class="absolute top-0 bottom-0 right-0 px-4 py-3"> <span class="absolute top-0 bottom-0 right-0 px-4 py-3">
</div> </div>
@enderror @enderror
</div> </div>
</form> </form>
@endif @endif

View File

@ -15,6 +15,11 @@
<table class="min-w-full shadow rounded border border-gray-200 mt-4 credits-table"> <table class="min-w-full shadow rounded border border-gray-200 mt-4 credits-table">
<thead> <thead>
<tr> <tr>
<th class="px-6 py-3 text-xs font-medium leading-4 tracking-wider text-left text-white uppercase border-b border-gray-200 bg-primary">
<p role="button" wire:click="sortBy('status_id')" class="cursor-pointer">
{{ ctrans('texts.status') }}
</p>
</th>
<th class="px-6 py-3 text-xs font-medium leading-4 tracking-wider text-left text-white uppercase border-b border-gray-200 bg-primary"> <th class="px-6 py-3 text-xs font-medium leading-4 tracking-wider text-left text-white uppercase border-b border-gray-200 bg-primary">
<p role="button" wire:click="sortBy('number')" class="cursor-pointer"> <p role="button" wire:click="sortBy('number')" class="cursor-pointer">
{{ ctrans('texts.subscription') }} {{ ctrans('texts.subscription') }}
@ -47,6 +52,9 @@
<tbody> <tbody>
@forelse($recurring_invoices as $recurring_invoice) @forelse($recurring_invoices as $recurring_invoice)
<tr class="bg-white group hover:bg-gray-100"> <tr class="bg-white group hover:bg-gray-100">
<td class="px-6 py-4 whitespace-nowrap text-sm leading-5 text-gray-500">
{!! $recurring_invoice->badgeForStatus($recurring_invoice->status_id) !!}
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm leading-5 text-gray-500"> <td class="px-6 py-4 whitespace-nowrap text-sm leading-5 text-gray-500">
{{ $recurring_invoice->subscription->name }} {{ $recurring_invoice->subscription->name }}
</td> </td>