fixes for update invoice (#3303)

This commit is contained in:
David Bomba 2020-02-10 21:13:46 +11:00 committed by GitHub
parent 9a19f7fd4c
commit af72d27a49
3 changed files with 442 additions and 439 deletions

View File

@ -12,14 +12,12 @@
namespace App\DataMapper;
use App\DataMapper\CompanySettings;
use App\DataMapper\EmailTemplateDefaults;
use App\Models\Company;
/**
* CompanySettings
*/
class CompanySettings extends BaseSettings
{
class CompanySettings extends BaseSettings {
/*Group settings based on functionality*/
@ -100,7 +98,6 @@ class CompanySettings extends BaseSettings
public $payment_number_pattern = '';
public $payment_number_counter = 1;
public $shared_invoice_quote_counter = false;
public $recurring_number_prefix = 'R';
public $reset_counter_frequency_id = '0';
@ -161,7 +158,6 @@ class CompanySettings extends BaseSettings
public $email_signature = '';
public $enable_email_markup = true;
public $email_subject_custom1 = '';
public $email_subject_custom2 = '';
public $email_subject_custom3 = '';
@ -189,6 +185,8 @@ class CompanySettings extends BaseSettings
public $late_fee_amount3 = 0;
public $endless_reminder_frequency_id = '0';
public $late_fee_endless_amount = 0;
public $late_fee_endless_percent = 0;
public $client_online_payment_notification = true;
public $client_manual_payment_notification = true;
@ -220,6 +218,8 @@ class CompanySettings extends BaseSettings
public $invoice_variables = [];
public static $casts = [
'late_fee_endless_percent' => 'float',
'late_fee_endless_amount' => 'float',
'auto_email_invoice' => 'bool',
'reminder_send_time' => 'int',
'email_sending_method' => 'string',
@ -389,8 +389,7 @@ class CompanySettings extends BaseSettings
*
* @return \stdClass
*/
public function __construct($obj)
{
public function __construct($obj) {
// parent::__construct($obj);
}
@ -398,8 +397,7 @@ class CompanySettings extends BaseSettings
* Provides class defaults on init
* @return object
*/
public static function defaults() : \stdClass
{
public static function defaults():\stdClass {
$config = json_decode(config('ninja.settings'));
$data = (object) get_class_vars(CompanySettings::class );
@ -443,8 +441,7 @@ class CompanySettings extends BaseSettings
*
* @param object $data The settings object to be checked
*/
public static function setProperties($settings) :\stdClass
{
public static function setProperties($settings):\stdClass {
$company_settings = (object) get_class_vars(CompanySettings::class );
foreach ($company_settings as $key => $value) {
@ -456,8 +453,7 @@ class CompanySettings extends BaseSettings
return $settings;
}
private static function getInvoiceVariableDefaults()
{
private static function getInvoiceVariableDefaults() {
$variables = [
'client_details' => [
'name',

View File

@ -24,12 +24,10 @@ use App\Http\Requests\Invoice\EditInvoiceRequest;
use App\Http\Requests\Invoice\ShowInvoiceRequest;
use App\Http\Requests\Invoice\StoreInvoiceRequest;
use App\Http\Requests\Invoice\UpdateInvoiceRequest;
use App\Jobs\Invoice\CreateInvoicePdf;
use App\Jobs\Invoice\EmailInvoice;
use App\Jobs\Invoice\StoreInvoice;
use App\Models\Invoice;
use App\Repositories\InvoiceRepository;
use App\Transformers\InvoiceTransformer;
use App\Utils\Traits\MakesHash;
@ -41,6 +39,7 @@ use Illuminate\Http\Request;
*/
class InvoiceController extends BaseController {
use MakesHash;
protected $entity_type = Invoice::class ;
@ -654,6 +653,10 @@ class InvoiceController extends BaseController {
$contact = $invitation->contact;
$invoice = $invitation->invoice;
return response()->json($invitation_key);
$file_path = CreateInvoicePdf::dispatchNow($invoice, $invoice->company, $contact);
return response()->download($file_path);
//return response()->json($invitation_key);
}
}

View File

@ -81,6 +81,10 @@ class InvoiceRepository extends BaseRepository {
if (!$inv) {
if (isset($invitation['id'])) {
unset($invitation['id']);
}
$new_invitation = InvoiceInvitationFactory::create($invoice->company_id, $invoice->user_id);
$new_invitation->fill($invitation);
$new_invitation->invoice_id = $invoice->id;