mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-04 02:07:33 -05:00 
			
		
		
		
	
						commit
						0b2ba335cb
					
				@ -1 +1 @@
 | 
				
			|||||||
5.5.18
 | 
					5.5.19
 | 
				
			||||||
@ -436,9 +436,12 @@ class CompanySettings extends BaseSettings
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public $auto_archive_invoice_cancelled = false;
 | 
					    public $auto_archive_invoice_cancelled = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public $vendor_portal_enable_uploads=false;
 | 
					    public $vendor_portal_enable_uploads = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public $send_email_on_mark_paid = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static $casts = [
 | 
					    public static $casts = [
 | 
				
			||||||
 | 
					        'send_email_on_mark_paid'            => 'bool',
 | 
				
			||||||
        'vendor_portal_enable_uploads'       => 'bool',
 | 
					        'vendor_portal_enable_uploads'       => 'bool',
 | 
				
			||||||
        'besr_id'                            => 'string',
 | 
					        'besr_id'                            => 'string',
 | 
				
			||||||
        'qr_iban'                            => 'string',
 | 
					        'qr_iban'                            => 'string',
 | 
				
			||||||
 | 
				
			|||||||
@ -900,6 +900,10 @@ class BaseController extends Controller
 | 
				
			|||||||
                return redirect('/')->with(['signup' => 'true']);
 | 
					                return redirect('/')->with(['signup' => 'true']);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            $canvas_path_array = parse_url(config('ninja.app_url'));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            $canvas_path = (array_key_exists('path', $canvas_path_array)) ? $canvas_path_array['path'] : '';
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
            $data = [];
 | 
					            $data = [];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //pass report errors bool to front end
 | 
					            //pass report errors bool to front end
 | 
				
			||||||
@ -910,6 +914,7 @@ class BaseController extends Controller
 | 
				
			|||||||
            $data['build'] = request()->has('build') ? request()->input('build') : '';
 | 
					            $data['build'] = request()->has('build') ? request()->input('build') : '';
 | 
				
			||||||
            $data['login'] = request()->has('login') ? request()->input('login') : 'false';
 | 
					            $data['login'] = request()->has('login') ? request()->input('login') : 'false';
 | 
				
			||||||
            $data['signup'] = request()->has('signup') ? request()->input('signup') : 'false';
 | 
					            $data['signup'] = request()->has('signup') ? request()->input('signup') : 'false';
 | 
				
			||||||
 | 
					            $data['canvas_path'] = $canvas_path;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (request()->session()->has('login')) {
 | 
					            if (request()->session()->has('login')) {
 | 
				
			||||||
                $data['login'] = 'true';
 | 
					                $data['login'] = 'true';
 | 
				
			||||||
 | 
				
			|||||||
@ -56,6 +56,7 @@ class SubscriptionPlanSwitch extends Component
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    public $total;
 | 
					    public $total;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public $hide_button = false;
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * @var array
 | 
					     * @var array
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
@ -139,12 +140,20 @@ class SubscriptionPlanSwitch extends Component
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public function handlePaymentNotRequired()
 | 
					    public function handlePaymentNotRequired()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        return $this->target->service()->createChangePlanCredit([
 | 
					        $this->hide_button = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $response =  $this->target->service()->createChangePlanCredit([
 | 
				
			||||||
            'recurring_invoice' => $this->recurring_invoice,
 | 
					            'recurring_invoice' => $this->recurring_invoice,
 | 
				
			||||||
            'subscription' => $this->subscription,
 | 
					            'subscription' => $this->subscription,
 | 
				
			||||||
            'target' => $this->target,
 | 
					            'target' => $this->target,
 | 
				
			||||||
            'hash' => $this->hash,
 | 
					            'hash' => $this->hash,
 | 
				
			||||||
        ]);
 | 
					        ]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $this->hide_button = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $this->dispatchBrowserEvent('redirectRoute', ['route' => $response]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // return redirect($response);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function render()
 | 
					    public function render()
 | 
				
			||||||
 | 
				
			|||||||
@ -80,9 +80,9 @@ class AdjustProductInventory implements ShouldQueue
 | 
				
			|||||||
            $p->in_stock_quantity -= $item->quantity;
 | 
					            $p->in_stock_quantity -= $item->quantity;
 | 
				
			||||||
            $p->saveQuietly();
 | 
					            $p->saveQuietly();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if ($p->stock_notification_threshold && $p->in_stock_quantity <= $p->stock_notification_threshold) {
 | 
					            if ($this->company->stock_notification && $p->stock_notification && $p->stock_notification_threshold && $p->in_stock_quantity <= $p->stock_notification_threshold) {
 | 
				
			||||||
                $this->notifyStockLevels($p, 'product');
 | 
					                $this->notifyStockLevels($p, 'product');
 | 
				
			||||||
            } elseif ($this->company->stock_notification_threshold && $p->in_stock_quantity <= $this->company->stock_notification_threshold) {
 | 
					            } elseif ($this->company->stock_notification && $p->stock_notification && $this->company->inventory_notification_threshold && $p->in_stock_quantity <= $this->company->inventory_notification_threshold) {
 | 
				
			||||||
                $this->notifyStocklevels($p, 'company');
 | 
					                $this->notifyStocklevels($p, 'company');
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -14,8 +14,10 @@ namespace App\Jobs\Util;
 | 
				
			|||||||
use App\DataMapper\InvoiceItem;
 | 
					use App\DataMapper\InvoiceItem;
 | 
				
			||||||
use App\Events\Invoice\InvoiceWasEmailed;
 | 
					use App\Events\Invoice\InvoiceWasEmailed;
 | 
				
			||||||
use App\Jobs\Entity\EmailEntity;
 | 
					use App\Jobs\Entity\EmailEntity;
 | 
				
			||||||
 | 
					use App\Jobs\Ninja\TransactionLog;
 | 
				
			||||||
use App\Libraries\MultiDB;
 | 
					use App\Libraries\MultiDB;
 | 
				
			||||||
use App\Models\Invoice;
 | 
					use App\Models\Invoice;
 | 
				
			||||||
 | 
					use App\Models\TransactionEvent;
 | 
				
			||||||
use App\Utils\Ninja;
 | 
					use App\Utils\Ninja;
 | 
				
			||||||
use App\Utils\Traits\MakesDates;
 | 
					use App\Utils\Traits\MakesDates;
 | 
				
			||||||
use App\Utils\Traits\MakesReminders;
 | 
					use App\Utils\Traits\MakesReminders;
 | 
				
			||||||
@ -201,10 +203,20 @@ class ReminderJob implements ShouldQueue
 | 
				
			|||||||
        $client = $invoice->client;
 | 
					        $client = $invoice->client;
 | 
				
			||||||
        $client = $client->fresh();
 | 
					        $client = $client->fresh();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        nlog('adjusting client balance and invoice balance by '.($invoice->balance - $temp_invoice_balance));
 | 
					        nlog('adjusting client balance and invoice balance by #'.$invoice->number.' '.($invoice->balance - $temp_invoice_balance));
 | 
				
			||||||
        $client->service()->updateBalance($invoice->balance - $temp_invoice_balance)->save();
 | 
					        $client->service()->updateBalance($invoice->balance - $temp_invoice_balance)->save();
 | 
				
			||||||
        $invoice->ledger()->updateInvoiceBalance($invoice->balance - $temp_invoice_balance, "Late Fee Adjustment for invoice {$invoice->number}");
 | 
					        $invoice->ledger()->updateInvoiceBalance($invoice->balance - $temp_invoice_balance, "Late Fee Adjustment for invoice {$invoice->number}");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $transaction = [
 | 
				
			||||||
 | 
					            'invoice' => $invoice->transaction_event(),
 | 
				
			||||||
 | 
					            'payment' => [],
 | 
				
			||||||
 | 
					            'client' => $client->transaction_event(),
 | 
				
			||||||
 | 
					            'credit' => [],
 | 
				
			||||||
 | 
					            'metadata' => ['setLateFee'],
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        TransactionLog::dispatch(TransactionEvent::CLIENT_STATUS, $transaction, $invoice->company->db);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return $invoice;
 | 
					        return $invoice;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -74,6 +74,9 @@ class UpdatePaymentMethods
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        $sources = $customer->sources;
 | 
					        $sources = $customer->sources;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if(!property_exists($sources, 'data'))
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        foreach ($sources->data as $method) {
 | 
					        foreach ($sources->data as $method) {
 | 
				
			||||||
            $token_exists = ClientGatewayToken::where([
 | 
					            $token_exists = ClientGatewayToken::where([
 | 
				
			||||||
                'gateway_customer_reference' => $customer->id,
 | 
					                'gateway_customer_reference' => $customer->id,
 | 
				
			||||||
 | 
				
			|||||||
@ -88,6 +88,7 @@ class ApplyPayment extends AbstractService
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        $this->invoice
 | 
					        $this->invoice
 | 
				
			||||||
             ->client
 | 
					             ->client
 | 
				
			||||||
 | 
					             ->fresh()
 | 
				
			||||||
             ->service()
 | 
					             ->service()
 | 
				
			||||||
             ->updateBalance($amount_paid)
 | 
					             ->updateBalance($amount_paid)
 | 
				
			||||||
             ->save();
 | 
					             ->save();
 | 
				
			||||||
 | 
				
			|||||||
@ -17,6 +17,7 @@ use App\Factory\PaymentFactory;
 | 
				
			|||||||
use App\Jobs\Invoice\InvoiceWorkflowSettings;
 | 
					use App\Jobs\Invoice\InvoiceWorkflowSettings;
 | 
				
			||||||
use App\Jobs\Payment\EmailPayment;
 | 
					use App\Jobs\Payment\EmailPayment;
 | 
				
			||||||
use App\Libraries\Currency\Conversion\CurrencyApi;
 | 
					use App\Libraries\Currency\Conversion\CurrencyApi;
 | 
				
			||||||
 | 
					use App\Models\Client;
 | 
				
			||||||
use App\Models\Invoice;
 | 
					use App\Models\Invoice;
 | 
				
			||||||
use App\Models\Payment;
 | 
					use App\Models\Payment;
 | 
				
			||||||
use App\Services\AbstractService;
 | 
					use App\Services\AbstractService;
 | 
				
			||||||
@ -87,11 +88,13 @@ class ApplyPaymentAmount extends AbstractService
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        $this->invoice
 | 
					        $this->invoice
 | 
				
			||||||
            ->client
 | 
					            ->client
 | 
				
			||||||
 | 
					            ->fresh()
 | 
				
			||||||
            ->service()
 | 
					            ->service()
 | 
				
			||||||
            ->updateBalance($payment->amount * -1)
 | 
					            ->updateBalance($payment->amount * -1)
 | 
				
			||||||
            ->updatePaidToDate($payment->amount)
 | 
					            ->updatePaidToDate($payment->amount)
 | 
				
			||||||
            ->save();
 | 
					            ->save();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if ($this->invoice->client->getSetting('client_manual_payment_notification')) {
 | 
					        if ($this->invoice->client->getSetting('client_manual_payment_notification')) {
 | 
				
			||||||
            $payment->service()->sendEmail();
 | 
					            $payment->service()->sendEmail();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -92,6 +92,9 @@ class MarkPaid extends AbstractService
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        $payment->service()->applyNumber()->save();
 | 
					        $payment->service()->applyNumber()->save();
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					        if($payment->company->getSetting('send_email_on_mark_paid'))
 | 
				
			||||||
 | 
					            $payment->service()->sendEmail();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $this->setExchangeRate($payment);
 | 
					        $this->setExchangeRate($payment);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /* Create a payment relationship to the invoice entity */
 | 
					        /* Create a payment relationship to the invoice entity */
 | 
				
			||||||
 | 
				
			|||||||
@ -69,6 +69,7 @@ class MarkSent extends AbstractService
 | 
				
			|||||||
            $client = Client::withTrashed()->where('id', $this->client->id)->lockForUpdate()->first();
 | 
					            $client = Client::withTrashed()->where('id', $this->client->id)->lockForUpdate()->first();
 | 
				
			||||||
            $client->balance += $adjustment;
 | 
					            $client->balance += $adjustment;
 | 
				
			||||||
            $client->save();
 | 
					            $client->save();
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
        }, 1);
 | 
					        }, 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $this->invoice->markInvitationsSent();
 | 
					        $this->invoice->markInvitationsSent();
 | 
				
			||||||
 | 
				
			|||||||
@ -477,10 +477,14 @@ class SubscriptionService
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            nlog($response);
 | 
					            nlog($response);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if($credit)
 | 
					            if($credit){
 | 
				
			||||||
                return $this->handleRedirect('/client/credits/'.$credit->hashed_id);
 | 
					                // return $this->handleRedirect('/client/credits/'.$credit->hashed_id);
 | 
				
			||||||
            else
 | 
					                return '/client/credits/'.$credit->hashed_id;
 | 
				
			||||||
                return $this->handleRedirect('/client/credits');      
 | 
					            }
 | 
				
			||||||
 | 
					            else{
 | 
				
			||||||
 | 
					                // return $this->handleRedirect('/client/credits');      
 | 
				
			||||||
 | 
					                return '/client/credits';
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -160,7 +160,7 @@ class HtmlEngine
 | 
				
			|||||||
            $data['$date'] = ['value' => $this->translateDate($this->entity->date, $this->client->date_format(), $this->client->locale()) ?: ' ', 'label' => ctrans('texts.invoice_date')];
 | 
					            $data['$date'] = ['value' => $this->translateDate($this->entity->date, $this->client->date_format(), $this->client->locale()) ?: ' ', 'label' => ctrans('texts.invoice_date')];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if($this->entity->project) {
 | 
					            if($this->entity->project) {
 | 
				
			||||||
                $data['$project.name'] = ['value' => $this->entity->project->name, 'label' => ctrans('texts.project_name')];
 | 
					                $data['$project.name'] = ['value' => $this->entity->project->name, 'label' => ctrans('texts.project')];
 | 
				
			||||||
                $data['$invoice.project'] = &$data['$project.name'];
 | 
					                $data['$invoice.project'] = &$data['$project.name'];
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -14,8 +14,8 @@ return [
 | 
				
			|||||||
    'require_https' => env('REQUIRE_HTTPS', true),
 | 
					    'require_https' => env('REQUIRE_HTTPS', true),
 | 
				
			||||||
    'app_url' => rtrim(env('APP_URL', ''), '/'),
 | 
					    'app_url' => rtrim(env('APP_URL', ''), '/'),
 | 
				
			||||||
    'app_domain' => env('APP_DOMAIN', 'invoicing.co'),
 | 
					    'app_domain' => env('APP_DOMAIN', 'invoicing.co'),
 | 
				
			||||||
    'app_version' => '5.5.18',
 | 
					    'app_version' => '5.5.19',
 | 
				
			||||||
    'app_tag' => '5.5.18',
 | 
					    'app_tag' => '5.5.19',
 | 
				
			||||||
    'minimum_client_version' => '5.0.16',
 | 
					    'minimum_client_version' => '5.0.16',
 | 
				
			||||||
    'terms_version' => '1.0.1',
 | 
					    'terms_version' => '1.0.1',
 | 
				
			||||||
    'api_secret' => env('API_SECRET', ''),
 | 
					    'api_secret' => env('API_SECRET', ''),
 | 
				
			||||||
 | 
				
			|||||||
@ -21,7 +21,7 @@
 | 
				
			|||||||
  </script>
 | 
					  </script>
 | 
				
			||||||
   <script>
 | 
					   <script>
 | 
				
			||||||
    window.flutterConfiguration = {
 | 
					    window.flutterConfiguration = {
 | 
				
			||||||
      canvasKitBaseUrl: "/canvaskit/"
 | 
					      canvasKitBaseUrl: "{{ $canvas_path }}/canvaskit/"
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  </script>
 | 
					  </script>
 | 
				
			||||||
</head>
 | 
					</head>
 | 
				
			||||||
 | 
				
			|||||||
@ -15,7 +15,7 @@
 | 
				
			|||||||
                @if(!array_key_exists('filled', $field))
 | 
					                @if(!array_key_exists('filled', $field))
 | 
				
			||||||
                    @component('portal.ninja2020.components.general.card-element', ['title' => $field['label']])
 | 
					                    @component('portal.ninja2020.components.general.card-element', ['title' => $field['label']])
 | 
				
			||||||
                        @if($field['name'] == 'client_country_id' || $field['name'] == 'client_shipping_country_id')
 | 
					                        @if($field['name'] == 'client_country_id' || $field['name'] == 'client_shipping_country_id')
 | 
				
			||||||
                            <select id="client_country" class="input w-full form-select" name="{{ $field['name'] }}" wire:model="{{ str_replace(["client_","_line_","contact_"], ["client.","","contact."], $field['name']) }}">
 | 
					                            <select id="client_country" class="input w-full form-select" name="{{ $field['name'] }}" wire:model.lazy="{{ str_replace(["client_","_line_","contact_"], ["client.","","contact."], $field['name']) }}">
 | 
				
			||||||
                                <option value="none"></option>
 | 
					                                <option value="none"></option>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                @foreach($countries as $country)
 | 
					                                @foreach($countries as $country)
 | 
				
			||||||
@ -25,7 +25,7 @@
 | 
				
			|||||||
                                @endforeach
 | 
					                                @endforeach
 | 
				
			||||||
                            </select>
 | 
					                            </select>
 | 
				
			||||||
                        @else
 | 
					                        @else
 | 
				
			||||||
                            <input class="input w-full" type="{{ $field['type'] ?? 'text' }}" name="{{ $field['name'] }}" wire:model="{{ str_replace(["client_","_line_","contact_"], ["client.","","contact."], $field['name']) }}">
 | 
					                            <input class="input w-full" type="{{ $field['type'] ?? 'text' }}" name="{{ $field['name'] }}" wire:model.lazy="{{ str_replace(["client_","_line_","contact_"], ["client.","","contact."], $field['name']) }}">
 | 
				
			||||||
                        @endif
 | 
					                        @endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        @if(session()->has('validation_errors') && array_key_exists($field['name'], session('validation_errors')))
 | 
					                        @if(session()->has('validation_errors') && array_key_exists($field['name'], session('validation_errors')))
 | 
				
			||||||
 | 
				
			|||||||
@ -1,3 +1,4 @@
 | 
				
			|||||||
 | 
					<div>
 | 
				
			||||||
<div class="grid grid-cols-12 gap-8 mt-8">
 | 
					<div class="grid grid-cols-12 gap-8 mt-8">
 | 
				
			||||||
    <div class="col-span-12 md:col-span-5 md:col-start-4 px-4 py-5">
 | 
					    <div class="col-span-12 md:col-span-5 md:col-start-4 px-4 py-5">
 | 
				
			||||||
        <!-- Total price -->
 | 
					        <!-- Total price -->
 | 
				
			||||||
@ -62,6 +63,7 @@
 | 
				
			|||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
        @elseif($amount <= 0)
 | 
					        @elseif($amount <= 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <div class="relative flex justify-center text-sm leading-5">
 | 
					            <div class="relative flex justify-center text-sm leading-5">
 | 
				
			||||||
                <h1 class="text-2xl font-bold tracking-wide bg-gray-100 px-6 py-0">
 | 
					                <h1 class="text-2xl font-bold tracking-wide bg-gray-100 px-6 py-0">
 | 
				
			||||||
                    {{ ctrans('texts.total') }}: {{ \App\Utils\Number::formatMoney($amount, $subscription->company) }}
 | 
					                    {{ ctrans('texts.total') }}: {{ \App\Utils\Number::formatMoney($amount, $subscription->company) }}
 | 
				
			||||||
@ -69,12 +71,20 @@
 | 
				
			|||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
            <div class="relative flex justify-center text-sm leading-5 mt-10">
 | 
					            <div class="relative flex justify-center text-sm leading-5 mt-10">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <button wire:click="handlePaymentNotRequired" class="px-3 py-2 border rounded mr-4 hover:border-blue-600">
 | 
					            <button wire:click="handlePaymentNotRequired" class="px-3 py-2 border rounded mr-4 hover:border-blue-600" wire:loading.attr="disabled" @if($hide_button) disabled @endif>
 | 
				
			||||||
                {{ ctrans('texts.click_to_continue') }}
 | 
					                @if($hide_button) {{ ctrans('texts.loading') }} @else {{ ctrans('texts.click_to_continue') }} @endif
 | 
				
			||||||
            </button>
 | 
					            </button>
 | 
				
			||||||
 | 
					 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        @endif
 | 
					        @endif
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script defer>
 | 
				
			||||||
 | 
					window.addEventListener('redirectRoute', event => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    window.location.href = event.detail.route;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user