mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-04 07:57:33 -05:00 
			
		
		
		
	Merge pull request #5374 from turbo124/v5-develop
Suppress optimize on shared hosting
This commit is contained in:
		
						commit
						fbec084e9d
					
				@ -236,6 +236,7 @@ class CompanySettings extends BaseSettings
 | 
				
			|||||||
    public $id_number = ''; //@implemented
 | 
					    public $id_number = ''; //@implemented
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public $page_size = 'A4';  //Letter, Legal, Tabloid, Ledger, A0, A1, A2, A3, A4, A5, A6
 | 
					    public $page_size = 'A4';  //Letter, Legal, Tabloid, Ledger, A0, A1, A2, A3, A4, A5, A6
 | 
				
			||||||
 | 
					    public $page_layout = 'portrait';
 | 
				
			||||||
    public $font_size = 7; //@implemented
 | 
					    public $font_size = 7; //@implemented
 | 
				
			||||||
    public $primary_font = 'Roboto';
 | 
					    public $primary_font = 'Roboto';
 | 
				
			||||||
    public $secondary_font = 'Roboto';
 | 
					    public $secondary_font = 'Roboto';
 | 
				
			||||||
@ -327,6 +328,7 @@ class CompanySettings extends BaseSettings
 | 
				
			|||||||
        'signature_on_pdf'                   => 'bool',
 | 
					        'signature_on_pdf'                   => 'bool',
 | 
				
			||||||
        'quote_footer'                       => 'string',
 | 
					        'quote_footer'                       => 'string',
 | 
				
			||||||
        'page_size'                          => 'string',
 | 
					        'page_size'                          => 'string',
 | 
				
			||||||
 | 
					        'page_layout'                        => 'string',
 | 
				
			||||||
        'font_size'                          => 'int',
 | 
					        'font_size'                          => 'int',
 | 
				
			||||||
        'primary_font'                       => 'string',
 | 
					        'primary_font'                       => 'string',
 | 
				
			||||||
        'secondary_font'                     => 'string',
 | 
					        'secondary_font'                     => 'string',
 | 
				
			||||||
 | 
				
			|||||||
@ -147,7 +147,9 @@ class SetupController extends Controller
 | 
				
			|||||||
            DB::purge('db-ninja-01');
 | 
					            DB::purge('db-ninja-01');
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
            /* Run migrations */
 | 
					            /* Run migrations */
 | 
				
			||||||
 | 
					            if(!config('ninja.disable_auto_update'))
 | 
				
			||||||
                Artisan::call('optimize');
 | 
					                Artisan::call('optimize');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Artisan::call('migrate', ['--force' => true]);
 | 
					            Artisan::call('migrate', ['--force' => true]);
 | 
				
			||||||
            Artisan::call('db:seed', ['--force' => true]);
 | 
					            Artisan::call('db:seed', ['--force' => true]);
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
 | 
				
			|||||||
@ -54,6 +54,7 @@ class Account extends BaseModel
 | 
				
			|||||||
        'promo_expires',
 | 
					        'promo_expires',
 | 
				
			||||||
        'discount_expires',
 | 
					        'discount_expires',
 | 
				
			||||||
        'trial_started',
 | 
					        'trial_started',
 | 
				
			||||||
 | 
					        'plan_expires'
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const PLAN_FREE = 'free';
 | 
					    const PLAN_FREE = 'free';
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace App\Models;
 | 
					namespace App\Models;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use App\Models\RecurringInvoice;
 | 
				
			||||||
use App\Services\Subscription\SubscriptionService;
 | 
					use App\Services\Subscription\SubscriptionService;
 | 
				
			||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
 | 
					use Illuminate\Database\Eloquent\Factories\HasFactory;
 | 
				
			||||||
use Illuminate\Database\Eloquent\Model;
 | 
					use Illuminate\Database\Eloquent\Model;
 | 
				
			||||||
@ -77,4 +78,39 @@ class Subscription extends BaseModel
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        return $this->belongsTo(User::class);
 | 
					        return $this->belongsTo(User::class);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function nextDateByInterval($date, $frequency_id)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        switch ($frequency_id) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            case RecurringInvoice::FREQUENCY_DAILY:
 | 
				
			||||||
 | 
					                return $date->addDay();
 | 
				
			||||||
 | 
					            case RecurringInvoice::FREQUENCY_WEEKLY:
 | 
				
			||||||
 | 
					                return $date->addWeek();
 | 
				
			||||||
 | 
					            case RecurringInvoice::FREQUENCY_TWO_WEEKS:
 | 
				
			||||||
 | 
					                return $date->addWeeks(2);
 | 
				
			||||||
 | 
					            case RecurringInvoice::FREQUENCY_FOUR_WEEKS:
 | 
				
			||||||
 | 
					                return $date->addWeeks(4);
 | 
				
			||||||
 | 
					            case RecurringInvoice::FREQUENCY_MONTHLY:
 | 
				
			||||||
 | 
					                return $date->addMonthNoOverflow();
 | 
				
			||||||
 | 
					            case RecurringInvoice::FREQUENCY_TWO_MONTHS:
 | 
				
			||||||
 | 
					                return $date->addMonthsNoOverflow(2);
 | 
				
			||||||
 | 
					            case RecurringInvoice::FREQUENCY_THREE_MONTHS:
 | 
				
			||||||
 | 
					                return $date->addMonthsNoOverflow(3);
 | 
				
			||||||
 | 
					            case RecurringInvoice::FREQUENCY_FOUR_MONTHS:
 | 
				
			||||||
 | 
					                return $date->addMonthsNoOverflow(4);
 | 
				
			||||||
 | 
					            case RecurringInvoice::FREQUENCY_SIX_MONTHS:
 | 
				
			||||||
 | 
					                return $date->addMonthsNoOverflow(6);
 | 
				
			||||||
 | 
					            case RecurringInvoice::FREQUENCY_ANNUALLY:
 | 
				
			||||||
 | 
					                return $date->addYear();
 | 
				
			||||||
 | 
					            case RecurringInvoice::FREQUENCY_TWO_YEARS:
 | 
				
			||||||
 | 
					                return $date->addYears(2);
 | 
				
			||||||
 | 
					            case RecurringInvoice::FREQUENCY_THREE_YEARS:
 | 
				
			||||||
 | 
					                return $date->addYears(3);
 | 
				
			||||||
 | 
					            default:
 | 
				
			||||||
 | 
					                return null;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -10,13 +10,16 @@
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
namespace Tests\Feature\Ninja;
 | 
					namespace Tests\Feature\Ninja;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use App\Factory\SubscriptionFactory;
 | 
				
			||||||
use App\Models\Account;
 | 
					use App\Models\Account;
 | 
				
			||||||
 | 
					use App\Models\RecurringInvoice;
 | 
				
			||||||
use App\Utils\Traits\MakesHash;
 | 
					use App\Utils\Traits\MakesHash;
 | 
				
			||||||
use Illuminate\Database\Eloquent\Model;
 | 
					use Illuminate\Database\Eloquent\Model;
 | 
				
			||||||
use Illuminate\Foundation\Testing\DatabaseTransactions;
 | 
					use Illuminate\Foundation\Testing\DatabaseTransactions;
 | 
				
			||||||
use Illuminate\Support\Facades\Session;
 | 
					use Illuminate\Support\Facades\Session;
 | 
				
			||||||
use Tests\MockAccountData;
 | 
					use Tests\MockAccountData;
 | 
				
			||||||
use Tests\TestCase;
 | 
					use Tests\TestCase;
 | 
				
			||||||
 | 
					use Carbon\Carbon;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @test
 | 
					 * @test
 | 
				
			||||||
@ -72,4 +75,17 @@ class PlanTest extends TestCase
 | 
				
			|||||||
        $this->assertEquals($filtered_plans->count(), 2);
 | 
					        $this->assertEquals($filtered_plans->count(), 2);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function testSubscriptionDateIncrement()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        $subscription = SubscriptionFactory::create($this->company->id, $this->user->id);
 | 
				
			||||||
 | 
					        $subscription->frequency_id = RecurringInvoice::FREQUENCY_MONTHLY;
 | 
				
			||||||
 | 
					        $subscription->save();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $date = Carbon::parse('2020-01-01')->startOfDay();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $next_date = $subscription->nextDateByInterval($date, RecurringInvoice::FREQUENCY_MONTHLY);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $this->assertEquals($date->addMonthNoOverflow()->startOfDay(), $next_date->startOfDay());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user