mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-10-27 19:51:09 -04:00 
			
		
		
		
	Endpoint to check company currency transaction
This commit is contained in:
		| @ -0,0 +1,45 @@ | |||||||
|  | <?php | ||||||
|  |  | ||||||
|  | namespace Crater\Http\Controllers\V1\Admin\Settings; | ||||||
|  |  | ||||||
|  | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\Company; | ||||||
|  | use Crater\Models\CompanySetting; | ||||||
|  | use Crater\Models\Currency; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
|  | class CompanyCurrencyTransactionController extends Controller | ||||||
|  | { | ||||||
|  |     /** | ||||||
|  |      * Handle the incoming request. | ||||||
|  |      * | ||||||
|  |      * @param  \Illuminate\Http\Request  $request | ||||||
|  |      * @return \Illuminate\Http\Response | ||||||
|  |      */ | ||||||
|  |     public function __invoke(Request $request) | ||||||
|  |     { | ||||||
|  |         $this->authorize('manage company', Company::find($request->header('company'))); | ||||||
|  |  | ||||||
|  |         $companyCurrency = CompanySetting::getSetting('currency', $request->header('company')); | ||||||
|  |  | ||||||
|  |         $currency = Currency::find((int)$companyCurrency); | ||||||
|  |  | ||||||
|  |         if ( | ||||||
|  |             $currency->customers()->exists() || | ||||||
|  |             $currency->items()->exists() || | ||||||
|  |             $currency->invoices()->exists() || | ||||||
|  |             $currency->estimates()->exists() || | ||||||
|  |             $currency->expenses()->exists() || | ||||||
|  |             $currency->payments()->exists() || | ||||||
|  |             $currency->recurringInvoices()->exists() | ||||||
|  |         ) { | ||||||
|  |             return response()->json([ | ||||||
|  |                 'success' => false, | ||||||
|  |             ]); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         return response()->json([ | ||||||
|  |             'success' => true, | ||||||
|  |         ]); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -12,4 +12,39 @@ class Currency extends Model | |||||||
|     protected $guarded = [ |     protected $guarded = [ | ||||||
|         'id' |         'id' | ||||||
|     ]; |     ]; | ||||||
|  |  | ||||||
|  |     public function customers() | ||||||
|  |     { | ||||||
|  |         return $this->hasMany(Customer::class); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public function items() | ||||||
|  |     { | ||||||
|  |         return $this->hasMany(Item::class); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public function invoices() | ||||||
|  |     { | ||||||
|  |         return $this->hasMany(Invoice::class); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public function estimates() | ||||||
|  |     { | ||||||
|  |         return $this->hasMany(Estimate::class); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public function expenses() | ||||||
|  |     { | ||||||
|  |         return $this->hasMany(Expense::class); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public function payments() | ||||||
|  |     { | ||||||
|  |         return $this->hasMany(Payment::class); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public function recurringInvoices() | ||||||
|  |     { | ||||||
|  |         return $this->hasMany(RecurringInvoice::class); | ||||||
|  |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -67,6 +67,7 @@ use Crater\Http\Controllers\V1\Admin\RecurringInvoice\RecurringInvoiceFrequencyC | |||||||
| use Crater\Http\Controllers\V1\Admin\Role\AbilitiesController; | use Crater\Http\Controllers\V1\Admin\Role\AbilitiesController; | ||||||
| use Crater\Http\Controllers\V1\Admin\Role\RolesController; | use Crater\Http\Controllers\V1\Admin\Role\RolesController; | ||||||
| use Crater\Http\Controllers\V1\Admin\Settings\CompanyController; | use Crater\Http\Controllers\V1\Admin\Settings\CompanyController; | ||||||
|  | use Crater\Http\Controllers\V1\Admin\Settings\CompanyCurrencyTransactionController; | ||||||
| use Crater\Http\Controllers\V1\Admin\Settings\DiskController; | use Crater\Http\Controllers\V1\Admin\Settings\DiskController; | ||||||
| use Crater\Http\Controllers\V1\Admin\Settings\GetCompanyMailConfigurationController; | use Crater\Http\Controllers\V1\Admin\Settings\GetCompanyMailConfigurationController; | ||||||
| use Crater\Http\Controllers\V1\Admin\Settings\GetCompanySettingsController; | use Crater\Http\Controllers\V1\Admin\Settings\GetCompanySettingsController; | ||||||
| @ -394,6 +395,8 @@ Route::prefix('/v1')->group(function () { | |||||||
|  |  | ||||||
|             Route::post('/settings', UpdateSettingsController::class); |             Route::post('/settings', UpdateSettingsController::class); | ||||||
|  |  | ||||||
|  |             Route::get('/company-currency-transaction', CompanyCurrencyTransactionController::class); | ||||||
|  |  | ||||||
|  |  | ||||||
|             // Mails |             // Mails | ||||||
|             //---------------------------------- |             //---------------------------------- | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user