1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-10 21:22:58 +01:00

Merge pull request #5344 from turbo124/v5-develop

Bug Fixes
This commit is contained in:
David Bomba 2021-04-06 08:25:09 +10:00 committed by GitHub
commit 8b91c0718e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 106 additions and 3 deletions

View File

@ -23,6 +23,8 @@ class WebhookFactory
$webhook->target_url = ''; $webhook->target_url = '';
$webhook->event_id = 1; $webhook->event_id = 1;
$webhook->format = 'JSON'; $webhook->format = 'JSON';
$webhook->rest_method = 'post';
$webhook->headers = [];
return $webhook; return $webhook;
} }

View File

@ -34,7 +34,7 @@ class StoreSubscriptionRequest extends Request
*/ */
public function rules() public function rules()
{ {
return [ $rules = [
'product_id' => ['sometimes'], 'product_id' => ['sometimes'],
'assigned_user_id' => ['sometimes'], 'assigned_user_id' => ['sometimes'],
'is_recurring' => ['sometimes'], 'is_recurring' => ['sometimes'],
@ -55,12 +55,17 @@ class StoreSubscriptionRequest extends Request
'webhook_configuration' => ['array'], 'webhook_configuration' => ['array'],
'name' => ['required', Rule::unique('subscriptions')->where('company_id', auth()->user()->company()->id)] 'name' => ['required', Rule::unique('subscriptions')->where('company_id', auth()->user()->company()->id)]
]; ];
return $this->globalRules($rules);
} }
protected function prepareForValidation() protected function prepareForValidation()
{ {
$input = $this->all(); $input = $this->all();
$input = $this->decodePrimaryKeys($input);
$this->replace($input); $this->replace($input);
} }
} }

View File

@ -35,8 +35,20 @@ class UpdateSubscriptionRequest extends Request
*/ */
public function rules() public function rules()
{ {
return [ $rules = [
// //
]; ];
return $this->globalRules($rules);
}
protected function prepareForValidation()
{
$input = $this->all();
$input = $this->decodePrimaryKeys($input);
$this->replace($input);
} }
} }

View File

@ -55,6 +55,9 @@ class UpdateOrCreateProduct implements ShouldQueue
{ {
MultiDB::setDB($this->company->db); MultiDB::setDB($this->company->db);
if(strval($this->invoice->client->getSetting('currency_id')) != strval($this->company->settings->currency_id))
return;
/* /*
* If the invoice was generated from a Task or Expense then * If the invoice was generated from a Task or Expense then
* we do NOT update the product details this short block we * we do NOT update the product details this short block we

View File

@ -227,6 +227,8 @@ class Import implements ShouldQueue
CompanySizeCheck::dispatch(); CompanySizeCheck::dispatch();
info('Completed🚀🚀🚀🚀🚀 at '.now()); info('Completed🚀🚀🚀🚀🚀 at '.now());
unlink($this->file_path);
} }
private function setInitialCompanyLedgerBalances() private function setInitialCompanyLedgerBalances()

View File

@ -41,6 +41,8 @@ class InvoiceArchivedActivity implements ShouldQueue
{ {
MultiDB::setDb($event->company->db); MultiDB::setDb($event->company->db);
$event->invoice->service()->deletePdf();
$fields = new stdClass; $fields = new stdClass;
$fields->invoice_id = $event->invoice->id; $fields->invoice_id = $event->invoice->id;

View File

@ -57,6 +57,15 @@ class Webhook extends BaseModel
'target_url', 'target_url',
'format', 'format',
'event_id', 'event_id',
'rest_method',
'headers',
];
protected $casts = [
'headers' => 'array',
'updated_at' => 'timestamp',
'created_at' => 'timestamp',
'deleted_at' => 'timestamp',
]; ];
public function user() public function user()

View File

@ -82,6 +82,7 @@ class UpdateInvoicePayment
->updateBalance($paid_amount * -1) ->updateBalance($paid_amount * -1)
->updatePaidToDate($paid_amount) ->updatePaidToDate($paid_amount)
->updateStatus() ->updateStatus()
->deletePdf()
->save(); ->save();
InvoiceWorkflowSettings::dispatchNow($invoice); InvoiceWorkflowSettings::dispatchNow($invoice);

View File

@ -34,6 +34,8 @@ class WebhookTransformer extends EntityTransformer
'target_url' => $webhook->target_url ? (string) $webhook->target_url : '', 'target_url' => $webhook->target_url ? (string) $webhook->target_url : '',
'event_id' => (string) $webhook->event_id, 'event_id' => (string) $webhook->event_id,
'format' => (string) $webhook->format, 'format' => (string) $webhook->format,
'rest_method' => (string) $webhook->rest_method ?: '',
'headers' => $webhook->headers ?: [],
]; ];
} }
} }

View File

@ -0,0 +1,33 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddRestFieldsToWebhooksTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('webhooks', function (Blueprint $table) {
$table->text('rest_method')->nullable();
$table->text('headers')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('webhooks', function (Blueprint $table) {
//
});
}
}

View File

@ -55,4 +55,36 @@ class CompanySettingsTest extends TestCase
$this->assertEquals(1, count($diff)); $this->assertEquals(1, count($diff));
} }
public function testStringEquivalence()
{
$value = (strval(4) != strval(3));
$this->assertTrue($value);
$value = (strval(4) != strval(4));
$this->assertFalse($value);
$value = (strval('4') != strval(4));
$this->assertFalse($value);
$value = (strval('4') != strval('4'));
$this->assertFalse($value);
$value = (strval('4') != strval(3));
$this->assertTrue($value);
$value = (strval(4) != strval('3'));
$this->assertTrue($value);
$value = (strval('4') != strval('3'));
$this->assertTrue($value);
}
} }