Merge pull request #9631 from turbo124/v5-develop

Fixes for task rounding (down)
This commit is contained in:
David Bomba 2024-06-12 14:53:19 +10:00 committed by GitHub
commit f2d0506dd0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
56 changed files with 1024 additions and 399 deletions

View File

@ -1 +1 @@
5.9.4
5.9.5

View File

@ -220,17 +220,17 @@ class ExpenseExport extends BaseExport
// $entity['expense.client'] = $expense->client ? $expense->client->present()->name() : '';
// }
// if (in_array('expense.invoice_id', $this->input['report_keys'])) {
// $entity['expense.invoice_id'] = $expense->invoice ? $expense->invoice->number : '';
// }
if (in_array('expense.invoice_id', $this->input['report_keys'])) {
$entity['expense.invoice_id'] = $expense->invoice ? $expense->invoice->number : '';
}
// if (in_array('expense.category', $this->input['report_keys'])) {
// $entity['expense.category'] = $expense->category ? $expense->category->name : '';
// }
// if (in_array('expense.vendor_id', $this->input['report_keys'])) {
// $entity['expense.vendor'] = $expense->vendor ? $expense->vendor->name : '';
// }
if (in_array('expense.vendor_id', $this->input['report_keys'])) {
$entity['expense.vendor'] = $expense->vendor ? $expense->vendor->name : '';
}
// if (in_array('expense.payment_type_id', $this->input['report_keys'])) {
// $entity['expense.payment_type_id'] = $expense->payment_type ? $expense->payment_type->name : '';

View File

@ -88,7 +88,7 @@ class TaskFilters extends QueryFilters
return $this->builder;
}
public function project_tasks($project): Builder
public function project_tasks(string $project = ''): Builder
{
if (strlen($project) == 0) {
return $this->builder;

View File

@ -59,13 +59,13 @@ class EpcQrGenerator
<rect x='0' y='0' width='100%'' height='100%' />{$qr}</svg>";
} catch(\Throwable $e) {
// nlog("EPC QR failure => ".$e->getMessage());
nlog("EPC QR failure => ".$e->getMessage());
return '';
} catch(\Exception $e) {
// nlog("EPC QR failure => ".$e->getMessage());
nlog("EPC QR failure => ".$e->getMessage());
return '';
} catch(InvalidArgumentException $e) {
// nlog("EPC QR failure => ".$e->getMessage());
nlog("EPC QR failure => ".$e->getMessage());
return '';
}
@ -73,20 +73,37 @@ class EpcQrGenerator
public function encodeMessage()
{
return rtrim(implode("\n", [
$this->sepa['serviceTag'],
sprintf('%03d', $this->sepa['version']),
$this->sepa['characterSet'],
$this->sepa['identification'],
isset($this->company?->custom_fields?->company2) ? $this->company->settings->custom_value2 : '',
$this->company->present()->name(),
isset($this->company?->custom_fields?->company1) ? $this->company->settings->custom_value1 : '',
$this->formatMoney($this->amount),
$this->sepa['purpose'],
substr($this->invoice->number, 0, 34),
'',
' '
]), "\n");
// return rtrim(implode("\n", [
// $this->sepa['serviceTag'],
// sprintf('%03d', $this->sepa['version']),
// $this->sepa['characterSet'],
// $this->sepa['identification'],
// isset($this->company?->custom_fields?->company2) ? $this->company->settings->custom_value2 : '',
// $this->company->present()->name(),
// isset($this->company?->custom_fields?->company1) ? $this->company->settings->custom_value1 : '',
// $this->formatMoney($this->amount),
// $this->sepa['purpose'],
// substr($this->invoice->number, 0, 34),
// '',
// ' '
// ]), "\n");
$data = [
'BCD',
'002', // Version
'1', // Encoding: 1 = UTF-8
'SCT', // Service Tag: SEPA Credit Transfer
isset($this->company?->custom_fields?->company2) ? $this->company->settings->custom_value2 : '', // BIC
$this->company->present()->name(), // Name of the beneficiary
isset($this->company?->custom_fields?->company1) ? $this->company->settings->custom_value1 : '', // IBAN
$this->formatMoney($this->amount), // Amount with EUR prefix
'', // Reference
substr($this->invoice->number, 0, 34) // Unstructured remittance information
];
return implode("\n", $data);
}

View File

@ -48,6 +48,9 @@ class PrePaymentController extends Controller
'allows_recurring' => true,
'minimum' => $minimum,
'minimum_amount' => $minimum_amount,
'notes' => request()->has('notes') ? request()->input('notes') : "",
'amount' => request()->has('amount') ? request()->input('amount') : "",
'show' => request()->has('is_recurring') ? "true" : "false",
];
return $this->render('pre_payments.index', $data);

View File

@ -155,7 +155,6 @@ class PreviewController extends BaseController
return response()->json(['message' => ctrans('texts.invalid_design_object')], 400);
}
// $entity = ucfirst(request()->input('entity'));
$entity = Str::camel(request()->input('entity'));
$class = "App\Models\\$entity";

View File

@ -12,6 +12,7 @@
namespace App\Http\Requests\Preview;
use App\Http\Requests\Request;
use App\Http\ValidationRules\Design\TwigLint;
use App\Utils\Traits\MakesHash;
class ShowPreviewRequest extends Request
@ -31,6 +32,7 @@ class ShowPreviewRequest extends Request
public function rules()
{
$rules = [
'design.design.body' => ['sometimes', 'required_if:design.design.is_template,true', new TwigLint()],
];
return $rules;

View File

@ -0,0 +1,44 @@
<?php
/**
* Invoice Ninja (https://invoiceninja.com).
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
*
* @license https://www.elastic.co/licensing/elastic-license
*/
namespace App\Http\ValidationRules\Design;
use Closure;
use App\Services\Template\TemplateService;
use Illuminate\Contracts\Validation\ValidationRule;
class TwigLint implements ValidationRule
{
/**
* Run the validation rule.
*
* @param \Closure(string): \Illuminate\Translation\PotentiallyTranslatedString $fail
*/
public function validate(string $attribute, mixed $value, Closure $fail): void
{
$ts = new TemplateService();
$twig = $ts->twig;
try {
$twig->parse($twig->tokenize(new \Twig\Source(preg_replace('/<!--.*?-->/s', '', $value), '')));
} catch (\Twig\Error\SyntaxError $e) {
// echo json_encode(['status' => 'error', 'message' => $e->getMessage()]);
nlog($e->getMessage());
$fail($e->getMessage());
}
}
}

View File

@ -28,7 +28,7 @@ class ClientTransformer extends BaseTransformer
*/
public function transform($data)
{
if (isset($data->name) && $this->getString($data, 'client.name')) {
if (isset($data['client.name']) && $this->hasClient($data['client.name'])) {
throw new ImportException('Client already exists');
}

View File

@ -26,6 +26,7 @@ class PaymentTransformer extends BaseTransformer
*/
public function transform($data)
{
nlog($data);
$client_id = $this->getClient(
$this->getString($data, 'payment.client_id'),
$this->getString($data, 'payment.client_id')

View File

@ -48,6 +48,7 @@ class CleanStaleInvoiceOrder implements ShouldQueue
if (! config('ninja.db.multi_db_enabled')) {
Invoice::query()
->withTrashed()
->where('status_id', Invoice::STATUS_SENT)
->where('is_proforma', 1)
->where('created_at', '<', now()->subHour())
->cursor()

View File

@ -119,6 +119,10 @@ class CreditEmailEngine extends BaseEmailEngine
$pdf = ((new CreateRawPdf($this->invitation))->handle());
if($this->client->getSetting('embed_documents') && ($this->credit->documents()->where('is_public', true)->count() > 0 || $this->credit->company->documents()->where('is_public', true)->count() > 0)) {
$pdf = $this->credit->documentMerge($pdf);
}
$this->setAttachments([['file' => base64_encode($pdf), 'name' => $this->credit->numberFormatter().'.pdf']]);
}

View File

@ -131,6 +131,10 @@ class InvoiceEmailEngine extends BaseEmailEngine
if ($this->client->getSetting('pdf_email_attachment') !== false && $this->invoice->company->account->hasFeature(Account::FEATURE_PDF_ATTACHMENT)) {
$pdf = ((new CreateRawPdf($this->invitation))->handle());
if($this->client->getSetting('embed_documents') && ($this->invoice->documents()->where('is_public', true)->count() > 0 || $this->invoice->company->documents()->where('is_public', true)->count() > 0)) {
$pdf = $this->invoice->documentMerge($pdf);
}
$this->setAttachments([['file' => base64_encode($pdf), 'name' => $this->invoice->numberFormatter().'.pdf']]);
}

View File

@ -123,6 +123,10 @@ class PurchaseOrderEmailEngine extends BaseEmailEngine
$pdf = (new CreateRawPdf($this->invitation))->handle();
if($this->vendor->getSetting('embed_documents') && ($this->purchase_order->documents()->where('is_public', true)->count() > 0 || $this->purchase_order->company->documents()->where('is_public', true)->count() > 0)) {
$pdf = $this->purchase_order->documentMerge($pdf);
}
$this->setAttachments([['file' => base64_encode($pdf), 'name' => $this->purchase_order->numberFormatter().'.pdf']]);
}

View File

@ -17,6 +17,7 @@ use App\Models\Account;
use App\Utils\HtmlEngine;
use Illuminate\Support\Str;
use App\Jobs\Entity\CreateRawPdf;
use App\Services\PdfMaker\PdfMerge;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\URL;
use Illuminate\Support\Facades\Cache;
@ -117,6 +118,10 @@ class QuoteEmailEngine extends BaseEmailEngine
if ($this->client->getSetting('pdf_email_attachment') !== false && $this->quote->company->account->hasFeature(Account::FEATURE_PDF_ATTACHMENT)) {
$pdf = ((new CreateRawPdf($this->invitation))->handle());
if($this->client->getSetting('embed_documents') && ($this->quote->documents()->where('is_public', true)->count() > 0 || $this->quote->company->documents()->where('is_public', true)->count() > 0)){
$pdf = $this->quote->documentMerge($pdf);
}
$this->setAttachments([['file' => base64_encode($pdf), 'name' => $this->quote->numberFormatter().'.pdf']]);
}

View File

@ -11,16 +11,17 @@
namespace App\Models;
use Illuminate\Support\Str;
use Illuminate\Support\Carbon;
use App\Utils\Traits\MakesHash;
use App\Jobs\Entity\CreateRawPdf;
use App\Jobs\Util\WebhookHandler;
use App\Models\Traits\Excludable;
use App\Utils\Traits\MakesHash;
use App\Services\PdfMaker\PdfMerge;
use Illuminate\Database\Eloquent\Model;
use App\Utils\Traits\UserSessionAttributes;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\ModelNotFoundException as ModelNotFoundException;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
/**
* Class BaseModel
@ -77,6 +78,8 @@ class BaseModel extends Model
use UserSessionAttributes;
use HasFactory;
use Excludable;
public int $max_attachment_size = 3000000;
protected $appends = [
'hashed_id',
@ -337,4 +340,42 @@ class BaseModel extends Model
return strtr($section, $variables['values']);
}
/**
* Merged PDFs associated with the entity / company
* into a single document
*
* @param string $pdf
* @return mixed
*/
public function documentMerge(string $pdf): mixed
{
$files = collect([$pdf]);
$entity_docs = $this->documents()
->where('is_public', true)
->get()
->filter(function ($document) {
return $document->size < $this->max_attachment_size && stripos($document->name, ".pdf") !== false;
})->map(function ($d) {
return $d->getFile();
});
$files->push($entity_docs);
$company_docs = $this->company->documents()
->where('is_public', true)
->get()
->filter(function ($document) {
return $document->size < $this->max_attachment_size && stripos($document->name, ".pdf") !== false;
})->map(function ($d) {
return $d->getFile();
});
$files->push($company_docs);
$pdf = (new PdfMerge($files->flatten()->toArray()))->run();
return $pdf;
}
}

View File

@ -412,6 +412,7 @@ class Client extends BaseModel implements HasLocalePreference
public function date_format()
{
/** @var \Illuminate\Support\Collection $date_formats */
$date_formats = app('date_formats');
// $date_formats = Cache::get('date_formats');
@ -428,6 +429,8 @@ class Client extends BaseModel implements HasLocalePreference
public function currency()
{
/** @var \Illuminate\Support\Collection $currencies */
$currencies = app('currencies');
// $currencies = Cache::get('currencies');

View File

@ -319,6 +319,7 @@ class PayPalPPCPPaymentDriver extends PayPalBasePaymentDriver
*/
public function processTokenPayment($request, array $response) {
/** @var \App\Models\ClientGatewayToken $cgt */
$cgt = ClientGatewayToken::where('client_id', $this->client->id)
->where('token', $request['token'])
->firstOrFail();

View File

@ -295,7 +295,7 @@ class PayPalRestPaymentDriver extends PayPalBasePaymentDriver
*/
public function processTokenPayment($request, array $response) {
/** @car \App\Models\ClientGatwayToken $cgt */
/** @var \App\Models\ClientGatewayToken $cgt */
$cgt = ClientGatewayToken::where('client_id', $this->client->id)
->where('token', $request['token'])
->firstOrFail();

View File

@ -75,7 +75,7 @@ class WePayPaymentDriver extends BaseDriver
* Setup the gateway
*
* @param array $data user_id + company
* @return \Illuminate\View\View
* @return void
*/
public function setup(array $data)
{

View File

@ -265,7 +265,7 @@ class TaskRepository extends BaseRepository
if($interval <= $this->task_round_to_nearest)
return $start_time;
return $start_time - (int)floor($interval/$this->task_round_to_nearest) * $this->task_round_to_nearest;
return $start_time + (int)floor($interval/$this->task_round_to_nearest) * $this->task_round_to_nearest;
}

View File

@ -25,10 +25,16 @@ use horstoeko\orderx\OrderProfiles;
class OrderXDocument extends AbstractService
{
public OrderDocumentBuilder $orderxdocument;
/** @var \App\Models\Invoice | \App\Models\Quote | \App\Models\PurchaseOrder | \App\Models\Credit $document */
public function __construct(public mixed $document, private readonly bool $returnObject = false, private array $tax_map = [])
/**
* __construct
*
* @param \App\Models\Invoice | \App\Models\Quote | \App\Models\PurchaseOrder | \App\Models\Credit $document
* @param bool $returnObject
* @param array $tax_map
* @return void
*/
public function __construct(public \App\Models\Invoice | \App\Models\Quote | \App\Models\PurchaseOrder | \App\Models\Credit $document, private readonly bool $returnObject = false, private array $tax_map = [])
{
}
@ -36,7 +42,6 @@ class OrderXDocument extends AbstractService
{
$company = $this->document->company;
/** @var \App\Models\Client | \App\Models\Vendor $settings_entity */
$settings_entity = ($this->document instanceof PurchaseOrder) ? $this->document->vendor : $this->document->client;
$profile = $settings_entity->getSetting('e_quote_type') ? $settings_entity->getSetting('e_quote_type') : "OrderX_Extended";
@ -176,7 +181,17 @@ class OrderXDocument extends AbstractService
}
}
$this->orderxdocument->setDocumentSummation($this->document->amount, $this->document->balance, $invoicing_data->getSubTotal(), $invoicing_data->getTotalSurcharges(), $invoicing_data->getTotalDiscount(), $invoicing_data->getSubTotal(), $invoicing_data->getItemTotalTaxes(), 0.0, $this->document->amount - $this->document->balance);
$this->orderxdocument->setDocumentSummation(
$this->document->amount,
$this->document->balance,
$invoicing_data->getSubTotal(),
$invoicing_data->getTotalSurcharges(),
// $invoicing_data->getTotalDiscount(),
$invoicing_data->getSubTotal(),
$invoicing_data->getItemTotalTaxes(),
// 0.0,
// ($this->document->amount - $this->document->balance)
);
foreach ($this->tax_map as $item) {
$this->orderxdocument->addDocumentTax($item["tax_type"], "VAT", $item["net_amount"], $item["tax_rate"] * $item["net_amount"], $item["tax_rate"] * 100);

View File

@ -74,6 +74,7 @@ class Peppol extends AbstractService
public function getInvoice(): \InvoiceNinja\EInvoice\Models\Peppol\Invoice
{
//@todo - need to process this and remove null values
return $this->p_invoice;
}

View File

@ -25,7 +25,16 @@ class ZugferdEDokument extends AbstractService
{
public ZugferdDocumentBuilder $xdocument;
public function __construct(public object $document, private readonly bool $returnObject = false, private array $tax_map = [])
/**
* __construct
*
* \App\Models\Invoice | \App\Models\Quote | \App\Models\PurchaseOrder | \App\Models\Credit $document
* @param bool $returnObject
* @param array $tax_map
* @return void
*/
public function __construct(public \App\Models\Invoice | \App\Models\Quote | \App\Models\PurchaseOrder | \App\Models\Credit $document, private readonly bool $returnObject = false, private array $tax_map = [])
{
}

View File

@ -309,6 +309,11 @@ class EmailDefaults
/** Purchase Order / Invoice / Credit / Quote PDF */
if ($this->email->email_object->settings->pdf_email_attachment) {
$pdf = ((new CreateRawPdf($this->email->email_object->invitation))->handle());
if($this->email->email_object->settings->embed_documents && ($this->email->email_object->entity->documents()->where('is_public', true)->count() > 0 || $this->email->email_object->entity->company->documents()->where('is_public', true)->count() > 0)) {
$pdf = $this->email->email_object->entity->documentMerge($pdf);
}
$this->email->email_object->attachments = array_merge($this->email->email_object->attachments, [['file' => base64_encode($pdf), 'name' => $this->email->email_object->entity->numberFormatter().'.pdf']]);
}

View File

@ -434,7 +434,7 @@ class InvoiceService
$balance = $this->invoice->balance;
//return early if type three does not exist.
if (! collect($this->invoice->line_items)->contains('type_id', 3)) {
if ($this->invoice->status_id == Invoice::STATUS_PAID || ! collect($this->invoice->line_items)->contains('type_id', 3)) {
return $this;
}

View File

@ -103,7 +103,6 @@
"twig/intl-extra": "^3.7",
"twig/twig": "^3",
"twilio/sdk": "^6.40",
"webpatser/laravel-countries": "dev-master#75992ad",
"wildbit/postmark-php": "^4.0"
},
"require-dev": {

104
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "a1bbd8c63e7c792674843dc50a435d86",
"content-hash": "a52dad71889f0bfe78dca5f02e7373c5",
"packages": [
{
"name": "adrienrn/php-mimetyper",
@ -1385,16 +1385,16 @@
},
{
"name": "aws/aws-sdk-php",
"version": "3.311.1",
"version": "3.311.2",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
"reference": "90218b9372469babf294f97bdd764c9d47ec8a57"
"reference": "731cd73062909594c5f7443413c4c4c40ed1c25c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/90218b9372469babf294f97bdd764c9d47ec8a57",
"reference": "90218b9372469babf294f97bdd764c9d47ec8a57",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/731cd73062909594c5f7443413c4c4c40ed1c25c",
"reference": "731cd73062909594c5f7443413c4c4c40ed1c25c",
"shasum": ""
},
"require": {
@ -1474,9 +1474,9 @@
"support": {
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
"issues": "https://github.com/aws/aws-sdk-php/issues",
"source": "https://github.com/aws/aws-sdk-php/tree/3.311.1"
"source": "https://github.com/aws/aws-sdk-php/tree/3.311.2"
},
"time": "2024-06-06T18:05:50+00:00"
"time": "2024-06-07T18:05:33+00:00"
},
{
"name": "bacon/bacon-qr-code",
@ -4630,16 +4630,16 @@
},
{
"name": "horstoeko/zugferd",
"version": "v1.0.53",
"version": "v1.0.54",
"source": {
"type": "git",
"url": "https://github.com/horstoeko/zugferd.git",
"reference": "939e93ab2e84ec476735e5957f4db7e7d58880c3"
"reference": "91547c8aee9d8da22568b90d7cedfaba15373ebe"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/horstoeko/zugferd/zipball/939e93ab2e84ec476735e5957f4db7e7d58880c3",
"reference": "939e93ab2e84ec476735e5957f4db7e7d58880c3",
"url": "https://api.github.com/repos/horstoeko/zugferd/zipball/91547c8aee9d8da22568b90d7cedfaba15373ebe",
"reference": "91547c8aee9d8da22568b90d7cedfaba15373ebe",
"shasum": ""
},
"require": {
@ -4699,9 +4699,9 @@
],
"support": {
"issues": "https://github.com/horstoeko/zugferd/issues",
"source": "https://github.com/horstoeko/zugferd/tree/v1.0.53"
"source": "https://github.com/horstoeko/zugferd/tree/v1.0.54"
},
"time": "2024-06-05T16:49:22+00:00"
"time": "2024-06-07T07:47:18+00:00"
},
{
"name": "http-interop/http-factory-guzzle",
@ -5076,12 +5076,12 @@
"source": {
"type": "git",
"url": "https://github.com/invoiceninja/einvoice.git",
"reference": "1b9a488d65715272941f1ae6ddfe2d94ad25c2c1"
"reference": "d77f090f8a5e954ee27e3dd02a1e071a40639978"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/invoiceninja/einvoice/zipball/1b9a488d65715272941f1ae6ddfe2d94ad25c2c1",
"reference": "1b9a488d65715272941f1ae6ddfe2d94ad25c2c1",
"url": "https://api.github.com/repos/invoiceninja/einvoice/zipball/d77f090f8a5e954ee27e3dd02a1e071a40639978",
"reference": "d77f090f8a5e954ee27e3dd02a1e071a40639978",
"shasum": ""
},
"require": {
@ -5123,7 +5123,7 @@
"source": "https://github.com/invoiceninja/einvoice/tree/main",
"issues": "https://github.com/invoiceninja/einvoice/issues"
},
"time": "2024-06-07T04:32:09+00:00"
"time": "2024-06-07T10:37:13+00:00"
},
{
"name": "invoiceninja/inspector",
@ -16394,73 +16394,6 @@
},
"time": "2022-06-03T18:03:27+00:00"
},
{
"name": "webpatser/laravel-countries",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/webpatser/laravel-countries.git",
"reference": "75992ad"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webpatser/laravel-countries/zipball/75992ad",
"reference": "75992ad",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"default-branch": true,
"type": "library",
"extra": {
"laravel": {
"providers": [
"Webpatser\\Countries\\CountriesServiceProvider"
],
"aliases": {
"Countries": "Webpatser\\Countries\\CountriesFacade"
}
}
},
"autoload": {
"psr-0": {
"Webpatser\\Countries": "src/"
},
"classmap": [
"src/commands"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Christoph Kempen",
"email": "christoph@downsized.nl",
"homepage": "http://downsized.nl/",
"role": "developer"
},
{
"name": "Paul Kievits",
"role": "developer"
}
],
"description": "Laravel Countries is a bundle for Laravel, providing Almost ISO 3166_2, 3166_3, currency, Capital and more for all countries.",
"homepage": "https://github.com/webpatser/laravel-countries",
"keywords": [
"countries",
"iso_3166_2",
"iso_3166_3",
"laravel"
],
"support": {
"issues": "https://github.com/webpatser/laravel-countries/issues",
"source": "https://github.com/webpatser/laravel-countries"
},
"time": "2023-02-08T11:09:34+00:00"
},
{
"name": "wildbit/postmark-php",
"version": "v4.0.5",
@ -20732,8 +20665,7 @@
"stability-flags": {
"horstoeko/orderx": 20,
"invoiceninja/einvoice": 20,
"socialiteproviders/apple": 20,
"webpatser/laravel-countries": 20
"socialiteproviders/apple": 20
},
"prefer-stable": true,
"prefer-lowest": false,

View File

@ -183,7 +183,6 @@ return [
/*
* Dependency Service Providers
*/
'Webpatser\Countries\CountriesServiceProvider',
/*
* Package Service Providers...
@ -217,7 +216,6 @@ return [
'aliases' => Facade::defaultAliases()->merge([
'Collector' => Turbo124\Beacon\CollectorFacade::class,
// 'Countries' => 'Webpatser\Countries\CountriesFacade',
'CustomMessage' => App\Utils\ClientPortal\CustomMessage\CustomMessageFacade::class,
'Redis' => Illuminate\Support\Facades\Redis::class,
])->toArray(),

View File

@ -17,8 +17,8 @@ return [
'require_https' => env('REQUIRE_HTTPS', true),
'app_url' => rtrim(env('APP_URL', ''), '/'),
'app_domain' => env('APP_DOMAIN', 'invoicing.co'),
'app_version' => env('APP_VERSION', '5.9.4'),
'app_tag' => env('APP_TAG', '5.9.4'),
'app_version' => env('APP_VERSION', '5.9.5'),
'app_tag' => env('APP_TAG', '5.9.5'),
'minimum_client_version' => '5.0.16',
'terms_version' => '1.0.1',
'api_secret' => env('API_SECRET', false),

File diff suppressed because one or more lines are too long

View File

@ -192,7 +192,7 @@ $lang = array(
'removed_logo' => 'تمت إزالة الشعار بنجاح',
'sent_message' => 'تم إرسال الرسالة بنجاح',
'invoice_error' => 'يرجى التأكد من تحديد العميل وتصحيح أي أخطاء',
'limit_clients' => 'لقد وصلت إلى حد العميل :count للحسابات المجانية. تهانينا على نجاحك!.',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'كان هناك خطأ في معالجة الدفع الخاص بك. الرجاء معاودة المحاولة في وقت لاحق',
'registration_required' => 'التسجيل مطلوب',
'confirmation_required' => 'يرجى تأكيد عنوان بريدك الإلكتروني: رابط لإعادة إرسال رسالة التأكيد عبر البريد الإلكتروني.',
@ -5128,7 +5128,7 @@ $lang = array(
'payment_refund_receipt' => 'إيصال استرداد المبلغ رقم :number',
'payment_receipt' => 'إيصال الدفع رقم :number',
'load_template_description' => 'سيتم تطبيق القالب على ما يلي:',
'run_template' => 'تشغيل القالب',
'run_template' => 'Run Template',
'statement_design' => 'تصميم البيان',
'delivery_note_design' => 'تصميم مذكرة التسليم',
'payment_receipt_design' => 'تصميم إيصال الدفع',
@ -5281,6 +5281,41 @@ $lang = array(
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -199,7 +199,7 @@ $lang = array(
'removed_logo' => 'El logo s\'ha eliminat correctament',
'sent_message' => 'S\'ha enviat el missatge satisfactòriament',
'invoice_error' => 'Per favor, assegura\'t de seleccionar un client, i corregeix els errors',
'limit_clients' => 'Heu arribat al límit de client :count als comptes gratuïts. Felicitats pel teu èxit!.',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'Ha hagut un error al processar el teu pagament. Per favor, torna-ho a intentar més tard.',
'registration_required' => 'Registration Required',
'confirmation_required' => 'Per favor, confirma la teua adreça de correu electrònic, :link per a reenviar el missatge de confirmació.',
@ -5147,7 +5147,7 @@ $lang = array(
'payment_refund_receipt' => 'Rebut de devolució del pagament # :number',
'payment_receipt' => 'Rebut de pagament # :number',
'load_template_description' => 'La plantilla s&#39;aplicarà a:',
'run_template' => 'Executar plantilla',
'run_template' => 'Run Template',
'statement_design' => 'Disseny de declaracions',
'delivery_note_design' => 'Disseny de albarans',
'payment_receipt_design' => 'Disseny del rebut de pagament',
@ -5300,6 +5300,41 @@ $lang = array(
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -2196,7 +2196,7 @@ $lang = array(
'mailgun_private_key' => 'Mailgun privat nøgle',
'brevo_domain' => 'Brevo domæne',
'brevo_private_key' => 'Brevo privat nøgle',
'send_test_email' => 'Send Test Email',
'send_test_email' => 'Send test e-mail',
'select_label' => 'Vælg Label',
'label' => 'Etiket',
'service' => 'Service',
@ -4028,7 +4028,7 @@ $lang = array(
'user_detached' => 'Bruger løsrevet fra selskabet',
'create_webhook_failure' => 'Opret Webhook mislykkedes',
'payment_message_extended' => 'Tak for din Betaling på :amount for :invoice',
'online_payments_minimum_note' => 'Note: Online payments are supported only if amount is larger than $1 or currency equivalent.',
'online_payments_minimum_note' => 'Bemærk : Online Betalinger understøttes kun, hvis Beløb er større end $1 eller tilsvarende i valuta.',
'payment_token_not_found' => 'Betaling blev ikke fundet, prøv venligst igen. Hvis et problem stadig fortsætter, kan du prøve med en anden Betaling',
'vendor_address1' => 'Sælger Gade',
'vendor_address2' => 'Sælger Apt/Suite',
@ -4169,7 +4169,7 @@ $lang = array(
'one_time_purchases' => 'Engangskøb',
'recurring_purchases' => 'Gentagen indkøb',
'you_might_be_interested_in_following' => 'Du kan være interesseret i følgende',
'quotes_with_status_sent_can_be_approved' => 'Only quotes with "Sent" status can be approved. Expired quotes cannot be approved.',
'quotes_with_status_sent_can_be_approved' => 'Kun tilbud med status "Sendt" kan være godkendt. Udløbede tilbud can ikke blive godkendt',
'no_quotes_available_for_download' => 'Ingen tilbud tilgængelige for download.',
'copyright' => 'ophavsret',
'user_created_user' => ':user oprettet :created_user på :time',
@ -5295,10 +5295,45 @@ $lang = array(
'rappen_rounding' => 'Rappen afrunding',
'rappen_rounding_help' => 'Rund Beløb til 5 øre',
'assign_group' => 'Tildel gruppe',
'paypal_advanced_cards' => 'Advanced Card Payments',
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'paypal_advanced_cards' => 'Avancerede Kort Betalinger',
'local_domain_help' => 'EHLO domæne (valgfrit)',
'port_help' => 'fx. 25,587,465',
'host_help' => 'fx. smtp.gmail.com',
'always_show_required_fields' => 'Tillad visning af obligatoriske formularfelter',
'always_show_required_fields_help' => 'Vis altid de obligatoriske formularfelter ved kassen',
'advanced_cards' => 'Avancerede Kort',
'activity_140' => 'Kontoudtog sendt til :client',
'invoice_net_amount' => 'Faktura netto beløb',
'round_to_minutes' => 'Afrund til minutter',
'1_second' => '1 Sekund',
'1_minute' => '1 Minut',
'5_minutes' => '5 Minutter',
'15_minutes' => '15 Minutter',
'30_minutes' => '30 Minutter',
'1_hour' => '1 Time',
'1_day' => '1 Dag',
'round_tasks' => 'Opgave afrundingsretning',
'round_tasks_help' => 'Afrund opgave tider op eller ned.',
'direction' => 'Retning',
'round_up' => 'Afrund op',
'round_down' => 'Afrund ned',
'task_round_to_nearest' => 'Afrund til nærmeste',
'task_round_to_nearest_help' => 'Afrundingsinterval for opgaven.',
'bulk_updated' => 'Data opdateret succesfuldt',
'bulk_update' => 'Bulk opdater',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Penge',
'web_app' => 'Web App',
'desktop_app' => 'Skrivebords App',
'disconnected' => 'Afbrudt',
'reconnect' => 'Genoprrettet',
'e_invoice_settings' => 'E-faktura indstillinger',
'btcpay_refund_subject' => 'Refunderer din faktura via BTCPay',
'btcpay_refund_body' => 'En refundering til dig er blevet udstedt. For at gøre krav på det via BTCPay, klik venligst på dette link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -200,7 +200,7 @@ $lang = array(
'removed_logo' => 'Logo erfolgreich entfernt',
'sent_message' => 'Nachricht erfolgreich versendet',
'invoice_error' => 'Bitte stelle sicher, dass ein Kunde ausgewählt und alle Fehler behoben wurden',
'limit_clients' => 'Sie haben das Kunde von :count für kostenlose Konten erreicht. Herzlichen Glückwunsch zu Ihrem Erfolg!',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'Es ist ein Fehler während der Zahlung aufgetreten. Bitte versuche es später noch einmal.',
'registration_required' => 'Registrierung erforderlich',
'confirmation_required' => 'Bitte verifiziern Sie Ihre E-Mail-Adresse, :link um die E-Mail-Bestätigung erneut zu senden.',
@ -5151,7 +5151,7 @@ Leistungsempfängers',
'payment_refund_receipt' => 'Zahlungs-Rückerstattungsbeleg #:number',
'payment_receipt' => 'Zahlungsbeleg #:number',
'load_template_description' => 'Das Template wird auf Folgendes angewendet:',
'run_template' => 'Template anwenden',
'run_template' => 'Run Template',
'statement_design' => 'Statement-Design',
'delivery_note_design' => 'Lieferschein Design',
'payment_receipt_design' => 'Zahlungsbeleg Design',
@ -5310,18 +5310,20 @@ Leistungsempfängers',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Rechnungsnettobetrag',
'round_to_minutes' => 'Auf Minuten runden',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minuten',
'15_minutes' => '15 Minuten',
'30_minutes' => '30 Minuten',
'1_hour' => '1 Stunde',
'1_day' => '1 Tag',
'round_tasks' => 'Round Tasks',
'round_tasks_help' => 'Zeitintervalle beim speichern runden',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Richtung',
'round_up' => 'Aufrunden',
'round_down' => 'Abrunden',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Daten erfolgreich aktualisiert',
'bulk_update' => 'Bulk Update',
'calculate' => 'Berechnen',
@ -5329,6 +5331,14 @@ Leistungsempfängers',
'money' => 'Money',
'web_app' => 'Webanwendung',
'desktop_app' => 'Desktopanwendung',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -2695,7 +2695,7 @@ $lang = array(
'no_assets' => 'No images, drag to upload',
'add_image' => 'Add Image',
'select_image' => 'Select Image',
'upgrade_to_upload_images' => 'Upgrade to the Enterprise Plan to upload images',
'upgrade_to_upload_images' => 'Upgrade to the Enterprise Plan to upload files & images',
'delete_image' => 'Delete Image',
'delete_image_help' => 'Warning: deleting the image will remove it from all proposals.',
'amount_variable_help' => 'Note: the invoice $amount field will use the partial/deposit field if set otherwise it will use the invoice balance.',
@ -4437,7 +4437,7 @@ $lang = array(
'client_shipping_country' => 'Client Shipping Country',
'load_pdf' => 'Load PDF',
'start_free_trial' => 'Start Free Trial',
'start_free_trial_message' => 'Start your FREE 14 day trial of the pro plan',
'start_free_trial_message' => 'Start your FREE 14 day trial of the Pro Plan',
'due_on_receipt' => 'Due on Receipt',
'is_paid' => 'Is Paid',
'age_group_paid' => 'Paid',

View File

@ -199,7 +199,7 @@ $lang = array(
'removed_logo' => 'Logo eliminado con éxito',
'sent_message' => 'Mensaje enviado con éxito',
'invoice_error' => 'Seleccionar cliente y corregir errores.',
'limit_clients' => 'Has alcanzado el límite de clientes :count en cuentas gratuitas. ¡Felicidades por tu éxito!.',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'Ha habido un error en el proceso de tu pago. Inténtalo de nuevo más tarde.',
'registration_required' => 'Se requiere registro',
'confirmation_required' => 'Por favor confirma tu dirección de correo electrónico, :link para reenviar el correo de confirmación.',
@ -5146,7 +5146,7 @@ $lang = array(
'payment_refund_receipt' => 'Recibo de reembolso de pago n.° :number',
'payment_receipt' => 'Recibo de pago # :number',
'load_template_description' => 'La plantilla se aplicará a lo siguiente:',
'run_template' => 'Ejecutar plantilla',
'run_template' => 'Run Template',
'statement_design' => 'Diseño de declaración',
'delivery_note_design' => 'Diseño de albarán de entrega',
'payment_receipt_design' => 'Diseño de recibo de pago',
@ -5299,6 +5299,41 @@ $lang = array(
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -199,7 +199,7 @@ $lang = array(
'removed_logo' => 'Logo eliminado correctamente',
'sent_message' => 'Mensaje enviado correctamente',
'invoice_error' => 'Seleccionar cliente y corregir errores.',
'limit_clients' => 'Has alcanzado el límite de :count clientes en cuentas gratuitas. ¡Felicidades por tu éxito!.',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'Ha habido un error en el proceso de tu Pago. Inténtalo de nuevo más tarde.',
'registration_required' => 'Se requiere registro',
'confirmation_required' => 'Por favor, confirma tu dirección de correo electrónico, :link para reenviar el email de confirmación.',
@ -5144,7 +5144,7 @@ De lo contrario, este campo deberá dejarse en blanco.',
'payment_refund_receipt' => 'Recibo de reembolso de pago Nº :number',
'payment_receipt' => 'Recibo de pago Nº :number',
'load_template_description' => 'La plantilla se aplicará a lo siguiente:',
'run_template' => 'Ejecutar plantilla',
'run_template' => 'Run Template',
'statement_design' => 'Diseño de Estado de Cuenta',
'delivery_note_design' => 'Diseño de albarán de entrega',
'payment_receipt_design' => 'Diseño de recibo de pago',
@ -5297,6 +5297,41 @@ De lo contrario, este campo deberá dejarse en blanco.',
'local_domain_help' => 'Dominio EHLO (opcional)',
'port_help' => 'Ej. 25.587.465',
'host_help' => 'Ej. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -199,7 +199,7 @@ $lang = array(
'removed_logo' => 'Logo supprimé avec succès',
'sent_message' => 'Message envoyé avec succès',
'invoice_error' => 'Veuillez vous assurer de sélectionner un client et de corriger les erreurs',
'limit_clients' => 'Vous avez atteint la limite de clients :count sur les comptes gratuits. Félicitations pour votre succès !.',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'Il y a eu une erreur lors du traitement de votre paiement. Veuillez réessayer ultérieurement',
'registration_required' => 'Enregistrement Requis',
'confirmation_required' => 'Veuillez confirmer votre adresse e-mail, :link pour renvoyer l\'e-mail de confirmation.',
@ -5147,7 +5147,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'payment_refund_receipt' => 'Reçu de remboursement de paiement # :number',
'payment_receipt' => 'Reçu de paiement # :number',
'load_template_description' => 'Le modèle sera appliqué aux éléments suivants :',
'run_template' => 'Exécuter le modèle',
'run_template' => 'Run Template',
'statement_design' => 'Conception de la déclaration',
'delivery_note_design' => 'Conception du bon de livraison',
'payment_receipt_design' => 'Conception du reçu de paiement',
@ -5300,6 +5300,41 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -5303,18 +5303,20 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'activity_140' => 'État de compte envoyé à :client',
'invoice_net_amount' => 'Montant net de la facture',
'round_to_minutes' => 'Arrondir aux minutes',
'1_second' => '1 seconde',
'1_minute' => '1 minute',
'5_minutes' => '5 minutes',
'15_minutes' => '15 minutes',
'30_minutes' => '30 minutes',
'1_hour' => '1 heure',
'1_day' => '1 jour',
'round_tasks' => 'Arrondir les tâches',
'round_tasks_help' => 'Arrondir les intervales à la sauvegarde des tâches',
'round_tasks' => 'Direction d\'arrondi des tâches',
'round_tasks_help' => 'Arrondir les temps des tâches vers le haut ou vers le bas',
'direction' => 'Direction',
'round_up' => 'Arrondir à hausse',
'round_down' => 'Arrondir à la baisse',
'task_round_to_nearest' => 'Arrondir au plus près',
'task_round_to_nearest_help' => 'Intervalle d\'arrondi des tâches',
'bulk_updated' => 'Les données ont été mises à jour',
'bulk_update' => 'Mise à jour groupée',
'calculate' => 'Calculer',
@ -5325,9 +5327,11 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'disconnected' => 'Déconnecté',
'reconnect' => 'Reconnecté',
'e_invoice_settings' => 'Paramètres E-Facture',
'btcpay_refund_subject' => 'Remboursement de votre facture via BTCPay',
'btcpay_refund_body' => 'Un remboursement qui vous est destiné a été émis. Pour le réclamer via BTCPay, veuillez cliquer sur ce lien :',
'currency_mauritanian_ouguiya' => 'Ouguiya mauritanien',
'currency_bhutan_ngultrum' => 'Ngultrum Bhoutan',
'end_of_month' => 'Fin de mois'
);
return $lang;
return $lang;

View File

@ -199,7 +199,7 @@ $lang = array(
'removed_logo' => 'Le logo a été supprimé avec succès',
'sent_message' => 'Le message a été envoyé avec succès',
'invoice_error' => 'Veuillez vous assurer de sélectionner un client et de corriger les erreurs',
'limit_clients' => 'Vous avez atteint la limite de clients :count sur les comptes gratuits. Félicitations pour votre succès !.',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'Il y a eu une erreur lors du traitement de votre paiement. Veuillez réessayer ultérieurement',
'registration_required' => 'Inscription requise',
'confirmation_required' => 'Veuillez confirmer votre adresse courriel, :link pour renvoyer le courriel de confirmation.',
@ -5144,7 +5144,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'payment_refund_receipt' => 'Reçu de remboursement de paiement # :number',
'payment_receipt' => 'Reçu de paiement # :number',
'load_template_description' => 'Le modèle sera appliqué aux éléments suivants :',
'run_template' => 'Exécuter le modèle',
'run_template' => 'Run Template',
'statement_design' => 'Modèle de relevé',
'delivery_note_design' => 'Conception du bon de livraison',
'payment_receipt_design' => 'Modèle de reçu de paiement',
@ -5297,6 +5297,41 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -192,7 +192,7 @@ $lang = array(
'removed_logo' => 'לוגו הוסר בהצלחה',
'sent_message' => 'הודעה נשלחה בהצלחה',
'invoice_error' => 'בבקשה בחר לקוח ותקן כל שגיאה',
'limit_clients' => 'הגעת למגבלת הלקוחות :count בחשבונות בחינם. ברכות על הצלחתך!.',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'אופס קרתה תקלה בביצוע התשלום, נא בבקשה לנסות שוב מאוחר יותר.',
'registration_required' => 'נדרשת הרשמה',
'confirmation_required' => 'בבקשה לאמת את הכתובת דואר אלקטרוני : קישור לשליחה מחדש הודעת אימות למייל',
@ -5145,7 +5145,7 @@ $lang = array(
'payment_refund_receipt' => 'קבלה על החזר תשלום מס&#39; :number',
'payment_receipt' => 'קבלה על תשלום מס&#39; :number',
'load_template_description' => 'התבנית תיושם על הבאים:',
'run_template' => 'הפעל תבנית',
'run_template' => 'Run Template',
'statement_design' => 'עיצוב הצהרה',
'delivery_note_design' => 'עיצוב תעודת משלוח',
'payment_receipt_design' => 'עיצוב קבלה על תשלום',
@ -5298,6 +5298,41 @@ $lang = array(
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -192,7 +192,7 @@ $lang = array(
'removed_logo' => 'Logó eltávolítva',
'sent_message' => 'Üzenet elküldve',
'invoice_error' => 'Válasszon ki egy ügyfelet és javítson ki minden hibát',
'limit_clients' => 'Elérte az ingyenes fiókok :count ügyféllimitjét. Gratulálok a sikeredhez!.',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'A fizetés feldolgozásában hibát észleltünk, próbálja újra később',
'registration_required' => 'Regisztráció szükséges',
'confirmation_required' => 'Megerősítés szükséges',
@ -5131,7 +5131,7 @@ adva :date',
'payment_refund_receipt' => 'Fizetési visszatérítési nyugta # :number',
'payment_receipt' => 'Fizetési nyugta # :number',
'load_template_description' => 'A sablon a következőkre lesz alkalmazva:',
'run_template' => 'Sablon futtatása',
'run_template' => 'Run Template',
'statement_design' => 'Nyilatkozat tervezése',
'delivery_note_design' => 'Szállítólevél tervezése',
'payment_receipt_design' => 'Fizetési nyugta tervezése',
@ -5284,6 +5284,41 @@ adva :date',
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -199,7 +199,7 @@ $lang = array(
'removed_logo' => 'Logo rimosso con successo',
'sent_message' => 'Messaggio inviato con successo',
'invoice_error' => 'Per favore, assicurati di aver selezionato un cliente e correggi tutti gli errori',
'limit_clients' => 'Hai raggiunto il limite Cliente :count sugli account gratuiti. Congratulazioni per il tuo successo!.',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'C\'è stato un errore durante il pagamento. Riprova più tardi, per favore.',
'registration_required' => 'Registrazione richiesta',
'confirmation_required' => 'Vogliate confermare il vostro indirizzo email, :link per rinviare una email di conferma',
@ -5138,7 +5138,7 @@ $lang = array(
'payment_refund_receipt' => 'Ricevuta di rimborso Pagamento n. :number',
'payment_receipt' => 'Ricevuta Pagamento n. :number',
'load_template_description' => 'Il modello verrà applicato a quanto segue:',
'run_template' => 'Esegui modello',
'run_template' => 'Run Template',
'statement_design' => 'Progettazione di dichiarazioni',
'delivery_note_design' => 'Progettazione Nota di consegna',
'payment_receipt_design' => 'Progettazione delle ricevute Pagamento',
@ -5291,6 +5291,41 @@ $lang = array(
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -192,7 +192,7 @@ $lang = array(
'removed_logo' => 'បានលុបរូបសញ្ញាដោយជោគជ័យ',
'sent_message' => 'បានផ្ញើសារដោយជោគជ័យ',
'invoice_error' => 'សូមប្រាកដថាអ្នកជ្រើសរើសអតិថិជន និងកែកំហុសណាមួយ។',
'limit_clients' => 'អ្នកបានឈានដល់ដែនកំណត់អតិថិជន :count នៅលើគណនីឥតគិតថ្លៃ។ សូមអបអរសាទរចំពោះជោគជ័យរបស់អ្នក!',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'មានកំហុសក្នុងដំណើរការការបង់ប្រាក់របស់អ្នក។ សូម​ព្យាយាម​ម្តង​ទៀត​នៅ​ពេល​ក្រោយ។',
'registration_required' => 'ការចុះឈ្មោះត្រូវបានទាមទារ',
'confirmation_required' => 'សូមបញ្ជាក់អាសយដ្ឋានអ៊ីមែលរបស់អ្នក :link ដើម្បីផ្ញើអ៊ីមែលបញ្ជាក់ឡើងវិញ។',
@ -5127,7 +5127,7 @@ $lang = array(
'payment_refund_receipt' => 'បង្កាន់ដៃការសងប្រាក់វិញ # :number',
'payment_receipt' => 'បង្កាន់ដៃបង់ប្រាក់ # :number',
'load_template_description' => 'គំរូនឹងត្រូវបានអនុវត្តចំពោះដូចខាងក្រោម៖',
'run_template' => 'ដំណើរការគំរូ',
'run_template' => 'Run Template',
'statement_design' => 'ការរចនាសេចក្តីថ្លែងការណ៍',
'delivery_note_design' => 'ការរចនាកំណត់ចំណាំដឹកជញ្ជូន',
'payment_receipt_design' => 'ការរចនាបង្កាន់ដៃបង់ប្រាក់',
@ -5280,6 +5280,41 @@ $lang = array(
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -199,7 +199,7 @@ $lang = array(
'removed_logo' => 'ລຶບໂລໂກ້ສຳເລັດແລ້ວ',
'sent_message' => 'ສົ່ງຂໍ້ຄວາມສຳເລັດແລ້ວ',
'invoice_error' => 'ກະລຸນາໃຫ້ແນ່ໃຈວ່າເລືອກລູກຄ້າແລະແກ້ໄຂຂໍ້ຜິດພາດຕ່າງໆ',
'limit_clients' => 'ທ່ານໄດ້ເຖິງຂີດຈຳກັດລູກຄ້າ :count ໃນບັນຊີຟຣີ. ຂໍສະແດງຄວາມຍິນດີກັບຄວາມສໍາເລັດຂອງເຈົ້າ!.',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'ມີຄວາມຜິດພາດໃນການປະມວນຜົນການຈ່າຍເງິນຂອງທ່ານ. ກະລຸນາລອງໃໝ່ໃນພາຍຫຼັງ.',
'registration_required' => 'ຕ້ອງລົງທະບຽນ',
'confirmation_required' => 'ກະລຸນາຢືນຢັນທີ່ຢູ່ອີເມວຂອງເຈົ້າ, :ລິ້ງເພື່ອສົ່ງອີເມວຢືນຢັນຄືນໃໝ່.',
@ -5147,7 +5147,7 @@ $lang = array(
'payment_refund_receipt' => 'ໃບຮັບເງິນຄືນການຈ່າຍເງິນ # : ໝາຍເລກ',
'payment_receipt' => 'ໃບຮັບເງິນ # : ໝາຍເລກ',
'load_template_description' => 'ແມ່ແບບຈະຖືກນໍາໃຊ້ກັບດັ່ງຕໍ່ໄປນີ້:',
'run_template' => 'ແລ່ນແມ່ແບບ',
'run_template' => 'Run Template',
'statement_design' => 'ການອອກແບບຖະແຫຼງການ',
'delivery_note_design' => 'ການອອກແບບບັນທຶກການຈັດສົ່ງ',
'payment_receipt_design' => 'ການອອກແບບໃບຮັບເງິນ',
@ -5300,6 +5300,41 @@ $lang = array(
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -199,7 +199,7 @@ $lang = array(
'removed_logo' => 'Het logo is verwijderd',
'sent_message' => 'Het bericht is verzonden',
'invoice_error' => 'Selecteer een klant en verbeter eventuele fouten',
'limit_clients' => 'U heeft de klantlimiet van :count voor gratis accounts bereikt. Gefeliciteerd met je succes!.',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'Er was een fout bij het verwerken van de betaling. Probeer het later opnieuw.',
'registration_required' => 'Registratie verplicht',
'confirmation_required' => 'Bevestig het e-mailadres, :link om de bevestigingsmail opnieuw te ontvangen.',
@ -5147,7 +5147,7 @@ Email: :email<b><br><b>',
'payment_refund_receipt' => 'Betalingsrestitutieontvangst # :number',
'payment_receipt' => 'Betalingsbewijs # :number',
'load_template_description' => 'De sjabloon wordt toegepast op het volgende:',
'run_template' => 'Sjabloon uitvoeren',
'run_template' => 'Run Template',
'statement_design' => 'Verklaring ontwerp',
'delivery_note_design' => 'Ontwerp van leveringsbon',
'payment_receipt_design' => 'Ontwerp van betalingsontvangst',
@ -5300,6 +5300,41 @@ Email: :email<b><br><b>',
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -199,7 +199,7 @@ $lang = array(
'removed_logo' => 'Logotipo removido com sucesso',
'sent_message' => 'Mensagem enviada com sucesso',
'invoice_error' => 'Assegure-se de selecionar um cliente e corrigir quaisquer erros',
'limit_clients' => 'Você atingiu o limite de clientes :count em contas gratuitas. Parabéns pelo seu sucesso!.',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'Ocorreu um erro ao processar seu pagamento. Por favor tente novamente mais tarde.',
'registration_required' => 'Registro requerido',
'confirmation_required' => 'Por favor confirme seu endereço de email, :link para re-enviar o email de confirmação.',
@ -5144,7 +5144,7 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique "
'payment_refund_receipt' => 'Recibo de reembolso de pagamento # :number',
'payment_receipt' => 'Recibo de pagamento # :number',
'load_template_description' => 'O modelo será aplicado ao seguinte:',
'run_template' => 'Executar modelo',
'run_template' => 'Run Template',
'statement_design' => 'Design de declaração',
'delivery_note_design' => 'Design de nota de entrega',
'payment_receipt_design' => 'Design de recibo de pagamento',
@ -5297,6 +5297,41 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique "
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -199,7 +199,7 @@ $lang = array(
'removed_logo' => 'Logótipo removido com sucesso',
'sent_message' => 'Mensagem enviada com sucesso',
'invoice_error' => 'Certifique-se de selecionar um cliente e corrigir quaisquer erros',
'limit_clients' => 'Você atingiu o limite de clientes :count em contas gratuitas. Parabéns pelo seu sucesso!.',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'Ocorreu um erro ao processar o pagamento. Por favor tente novamente mais tarde.',
'registration_required' => 'Registro requerido',
'confirmation_required' => 'Por favor confirme o seu e-mail, :link para reenviar o e-mail de confirmação.',
@ -5147,7 +5147,7 @@ O envio de E-mails foi suspenso. Será retomado às 23:00 UTC.',
'payment_refund_receipt' => 'Recibo de reembolso de pagamento # :number',
'payment_receipt' => 'Recibo de pagamento # :number',
'load_template_description' => 'O modelo será aplicado ao seguinte:',
'run_template' => 'Executar modelo',
'run_template' => 'Run Template',
'statement_design' => 'Design de declaração',
'delivery_note_design' => 'Design de nota de entrega',
'payment_receipt_design' => 'Design de recibo de pagamento',
@ -5300,6 +5300,41 @@ O envio de E-mails foi suspenso. Será retomado às 23:00 UTC.',
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -199,7 +199,7 @@ $lang = array(
'removed_logo' => 'Logo sters cu succes',
'sent_message' => 'Mesaj trimis cu succes',
'invoice_error' => 'Te rog alege un client si corecteaza erorile',
'limit_clients' => 'Ați atins limita de clienți :count pentru conturile gratuite. Felicitări pentru succesul tău!.',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'A fost o eroare in procesarea platii. Te rog sa incerci mai tarizu.',
'registration_required' => 'Înregistrare necesară',
'confirmation_required' => 'Confirmați adresa dvs. de e-mail, :link pentru a retrimite e-mailul de confirmare.',
@ -5148,7 +5148,7 @@ Odată ce sumele au ajuns la dumneavoastră, reveniți la pagina cu metode de pl
'payment_refund_receipt' => 'Chitanța de rambursare a plății # :number',
'payment_receipt' => 'Chitanța de plată # :number',
'load_template_description' => 'Șablonul va fi aplicat la următoarele:',
'run_template' => 'Rulați șablonul',
'run_template' => 'Run Template',
'statement_design' => 'Design de declarație',
'delivery_note_design' => 'Design bon de livrare',
'payment_receipt_design' => 'Design chitanță de plată',
@ -5301,6 +5301,41 @@ Odată ce sumele au ajuns la dumneavoastră, reveniți la pagina cu metode de pl
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -199,7 +199,7 @@ $lang = array(
'removed_logo' => 'Logo bolo úspešne odstánené',
'sent_message' => 'Správa úspešne odoslaná',
'invoice_error' => 'Uistite sa, že máte zvoleného klienta a opravte prípadné chyby',
'limit_clients' => 'Dosiahli ste limit klientov :count na bezplatných účtoch. Gratulujem k úspechu!.',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'Nastala chyba počas spracovávania Vašej platby. Skúste to prosím zopakovať neskôr.',
'registration_required' => 'Vyžaduje sa registrácia',
'confirmation_required' => 'Prosím potvrďte vašu email adresu, <a href=\'/resend_confirmation\'>kliknutím sem</a> na preposlanie potvrdzujúceho emailu.',
@ -5134,7 +5134,7 @@ $lang = array(
'payment_refund_receipt' => 'Potvrdenie o vrátení platby # :number',
'payment_receipt' => 'Potvrdenie o platbe # :number',
'load_template_description' => 'Šablóna sa použije na nasledujúce:',
'run_template' => 'Spustiť šablónu',
'run_template' => 'Run Template',
'statement_design' => 'Návrh vyhlásenia',
'delivery_note_design' => 'Dizajn dodacieho listu',
'payment_receipt_design' => 'Návrh potvrdenia o platbe',
@ -5287,6 +5287,41 @@ $lang = array(
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -199,7 +199,7 @@ $lang = array(
'removed_logo' => 'Logotyp borttagen',
'sent_message' => 'Meddelandet skickat',
'invoice_error' => 'Välj kund och rätta till eventuella fel',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!.',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => 'Något blev fel när din betalning bearbetades. Var vänlig och försök igen lite senare.',
'registration_required' => 'Registering krävs',
'confirmation_required' => 'Please confirm your email address, :link to resend the confirmation email.',
@ -5155,7 +5155,7 @@ Den här funktionen kräver att en produkt skapas och en betalningsgateway är k
'payment_refund_receipt' => 'Återbetalningskvitto # :number',
'payment_receipt' => 'Betalningskvitto # :number',
'load_template_description' => 'Mallen kommer att tillämpas på följande:',
'run_template' => 'Kör mall',
'run_template' => 'Run Template',
'statement_design' => 'Utlåtandedesign',
'delivery_note_design' => 'Leveranssedel design',
'payment_receipt_design' => 'Design av betalningskvitto',
@ -5308,6 +5308,41 @@ Den här funktionen kräver att en produkt skapas och en betalningsgateway är k
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -199,7 +199,7 @@ $lang = array(
'removed_logo' => '移除標誌成功',
'sent_message' => '寄出訊息成功',
'invoice_error' => '請確認選取一個用戶並更正任何錯誤',
'limit_clients' => '您已達到免費帳戶的:count客戶限制。恭喜您成功',
'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!',
'payment_error' => '您的付款處理過程有誤。請稍後重試。',
'registration_required' => '需要註冊',
'confirmation_required' => '請確認您的電子郵件地址 :link ,以重寄確認函。',
@ -5147,7 +5147,7 @@ $lang = array(
'payment_refund_receipt' => '付款退款收據 # :number',
'payment_receipt' => '付款收據 # :number',
'load_template_description' => '此模板將應用於以下領域:',
'run_template' => '運行模板',
'run_template' => 'Run Template',
'statement_design' => '聲明設計',
'delivery_note_design' => '送貨單設計',
'payment_receipt_design' => '付款收據設計',
@ -5300,6 +5300,41 @@ $lang = array(
'local_domain_help' => 'EHLO domain (optional)',
'port_help' => 'ie. 25,587,465',
'host_help' => 'ie. smtp.gmail.com',
'always_show_required_fields' => 'Allows show required fields form',
'always_show_required_fields_help' => 'Displays the required fields form always at checkout',
'advanced_cards' => 'Advanced Cards',
'activity_140' => 'Statement sent to :client',
'invoice_net_amount' => 'Invoice Net Amount',
'round_to_minutes' => 'Round To Minutes',
'1_second' => '1 Second',
'1_minute' => '1 Minute',
'5_minutes' => '5 Minutes',
'15_minutes' => '15 Minutes',
'30_minutes' => '30 Minutes',
'1_hour' => '1 Hour',
'1_day' => '1 Day',
'round_tasks' => 'Task Rounding Direction',
'round_tasks_help' => 'Round task times up or down.',
'direction' => 'Direction',
'round_up' => 'Round Up',
'round_down' => 'Round Down',
'task_round_to_nearest' => 'Round To Nearest',
'task_round_to_nearest_help' => 'The interval to round the task to.',
'bulk_updated' => 'Successfully updated data',
'bulk_update' => 'Bulk Update',
'calculate' => 'Calculate',
'sum' => 'Sum',
'money' => 'Money',
'web_app' => 'Web App',
'desktop_app' => 'Desktop App',
'disconnected' => 'Disconnected',
'reconnect' => 'Reconnect',
'e_invoice_settings' => 'E-Invoice Settings',
'btcpay_refund_subject' => 'Refund of your invoice via BTCPay',
'btcpay_refund_body' => 'A refund intended for you has been issued. To claim it via BTCPay, please click on this link:',
'currency_mauritanian_ouguiya' => 'Mauritanian Ouguiya',
'currency_bhutan_ngultrum' => 'Bhutan Ngultrum',
'end_of_month' => 'End Of Month'
);
return $lang;
return $lang;

View File

@ -27,7 +27,7 @@
</div>
@component('portal.ninja2020.components.general.card-element', ['title' => ctrans('texts.payment_details')])
<textarea name="notes" class="focus:shadow-soft-primary-outline min-h-unset text-sm leading-5.6 ease-soft block h-auto w-full appearance-none rounded-lg border border-solid border-gray-300 bg-white bg-clip-padding px-3 py-2 font-normal text-gray-700 outline-none transition-all placeholder:text-gray-500 focus:border-fuchsia-300 focus:outline-none"></textarea>
<textarea name="notes" class="focus:shadow-soft-primary-outline min-h-unset text-sm leading-5.6 ease-soft block h-auto w-full appearance-none rounded-lg border border-solid border-gray-300 bg-white bg-clip-padding px-3 py-2 font-normal text-gray-700 outline-none transition-all placeholder:text-gray-500 focus:border-fuchsia-300 focus:outline-none">{{ $notes }}</textarea>
@if($errors->has('notes'))
<p class="mt-2 text-red-900 border-red-300 px-2 py-1 bg-gray-100">{{ $errors->first('notes') }}</p>
@ -41,6 +41,7 @@
type="text"
class="input mt-0 mr-4 relative"
name="amount"
value="{{ $amount }}"
placeholder=""/>
@if($minimum > 0)
@ -54,9 +55,9 @@
@endcomponent
@if($allows_recurring)
<div x-data="{ show: false }">
<div x-data="{ show: {!! $show !!}, toggle() { this.show = ! this.show } }">
@component('portal.ninja2020.components.general.card-element', ['title' => ctrans('texts.enable_recurring')])
<input x-on:click="show = !show" id="is_recurring" aria-describedby="recurring-description" name="is_recurring" type="checkbox" class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600">
<input x-on:click="toggle()" id="is_recurring" aria-describedby="recurring-description" name="is_recurring" type="checkbox" class="h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600" @if($show == "true") checked @endif>
@endcomponent
<div x-cloak x-show="show">

View File

@ -117,10 +117,10 @@ class PeppolTest extends TestCase
$invoice->service()->markSent()->save();
$fat = new Peppol($invoice);
$fat->run();
$peppol = new Peppol($invoice);
$peppol->run();
$fe = $fat->getInvoice();
$fe = $peppol->getInvoice();
$this->assertNotNull($fe);
@ -149,6 +149,6 @@ class PeppolTest extends TestCase
$this->assertCount(0, $errors);
nlog(json_encode($fe, JSON_PRETTY_PRINT));
}
}

View File

@ -50,6 +50,20 @@ class TaskRoundingTest extends TestCase
Model::reguard();
}
public function testRoundDownToMinute()
{
$start_time = 1718071646;
$end_time = 1718078906;
$this->task_round_to_nearest = 60;
$this->task_round_up = false;
$rounded = $start_time + 7260;
$this->assertEquals($rounded, $end_time);
$this->assertEquals($rounded, $this->roundTimeLog($start_time, $end_time));
}
public function testRoundUp()
{
$start_time = 1714942800;
@ -66,8 +80,6 @@ class TaskRoundingTest extends TestCase
public function testRoundUp2()
{
$start_time = 1715237056;
$end_time = $start_time + 60*7;
$this->task_round_to_nearest = 600;
@ -194,18 +206,36 @@ $this->assertEquals($rounded, $this->roundTimeLog($start_time, $end_time));
}
// public function roundTimeLog(int $start_time, int $end_time): int
// {
// if($this->task_round_to_nearest == 1)
// return $end_time;
// $interval = $end_time - $start_time;
// if($this->task_round_up)
// return $start_time + (int)ceil($interval/$this->task_round_to_nearest)*$this->task_round_to_nearest;
// return $start_time - (int)floor($interval/$this->task_round_to_nearest) * $this->task_round_to_nearest;
// }
public function roundTimeLog(int $start_time, int $end_time): int
{
if($this->task_round_to_nearest == 1)
if($this->task_round_to_nearest == 1 || $end_time == 0)
return $end_time;
$interval = $end_time - $start_time;
if($this->task_round_up)
return $start_time + (int)ceil($interval/$this->task_round_to_nearest)*$this->task_round_to_nearest;
return $start_time - (int)floor($interval/$this->task_round_to_nearest) * $this->task_round_to_nearest;
if($interval <= $this->task_round_to_nearest)
return $start_time;
return $start_time + (int)floor($interval/$this->task_round_to_nearest) * $this->task_round_to_nearest;
}
}