mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-10-30 21:21:09 -04:00 
			
		
		
		
	Compare commits
	
		
			101 Commits
		
	
	
		
			4.0.4
			...
			csfixer-te
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 90bb90cd99 | |||
| ebad76c8d7 | |||
| c35b00493c | |||
| e5ae937a88 | |||
| 736df5fcae | |||
| 89c264c6a9 | |||
| 1837bf3f3e | |||
| 83234cfac3 | |||
| 5ccc9eba4c | |||
| 3f0008ec95 | |||
| 9e98a96d61 | |||
| 27bc89bf76 | |||
| e4c2b44da5 | |||
| 633cad9b89 | |||
| f5bbe68a4b | |||
| 1fac9c9dde | |||
| 1208d3a924 | |||
| 3257b18d58 | |||
| 16a941f787 | |||
| 4f5cd9fba1 | |||
| 80e6a3c757 | |||
| d4e7420640 | |||
| ac30ba599b | |||
| 6dd0ccce8b | |||
| 2f32ff4d5b | |||
| 54a5ca83f8 | |||
| eede2fc17f | |||
| e586adde26 | |||
| 1ffb1b2eec | |||
| 55d838371a | |||
| cdaa1ff103 | |||
| 63f7cdec82 | |||
| fadba7fa3a | |||
| d0f6e207ee | |||
| 845f01f170 | |||
| 7f9938c80d | |||
| 16e4212300 | |||
| 109de237b1 | |||
| 82cf63f200 | |||
| 03fc0fd659 | |||
| c3d3e5e35f | |||
| 909e4f93e4 | |||
| bfd9850bf6 | |||
| 3f7db2793f | |||
| 8693672b09 | |||
| a9b0d62cd6 | |||
| 9f57a4200f | |||
| 9e130b3db8 | |||
| 7c9a846090 | |||
| b2e08dda7f | |||
| a2026fbc8b | |||
| db1b0db461 | |||
| 17c00c322d | |||
| 331b8ea44e | |||
| 428be640c3 | |||
| 51f79433b9 | |||
| 8008ed0527 | |||
| 57b302666a | |||
| ee1d1ccff4 | |||
| 81e7109ad1 | |||
| 784bf39df5 | |||
| f66755c4aa | |||
| b4e1e99d37 | |||
| d8aa3dc8a6 | |||
| 9af51660cb | |||
| 38d0da9618 | |||
| 761c0143ec | |||
| fdc4de5093 | |||
| f8591f96a9 | |||
| e47cb01ce2 | |||
| 454ad3091a | |||
| cc73a8a842 | |||
| cea8405ace | |||
| 49a6e03e9d | |||
| f9d6e8b0cc | |||
| 2b78aacc83 | |||
| 1932c5a75e | |||
| 449968ae88 | |||
| 02a2db4417 | |||
| a53582f916 | |||
| 340bf3be06 | |||
| 7f0da9dc36 | |||
| c4ace76275 | |||
| 553bcc053b | |||
| 375a59a504 | |||
| cfc0a1ef75 | |||
| 392f6f469b | |||
| 6cb8d30915 | |||
| 9b55e84724 | |||
| cf5da7684b | |||
| f47029ca78 | |||
| 761df2ffac | |||
| 8fbc257b23 | |||
| baebfedf37 | |||
| 9321eb9d86 | |||
| 70bed01e7b | |||
| 739efcce79 | |||
| 3695e7d075 | |||
| 8f2033f621 | |||
| 7b95ccb5fc | |||
| a6c3c815b5 | 
| @ -34,3 +34,5 @@ PUSHER_SECRET= | |||||||
|  |  | ||||||
| SANCTUM_STATEFUL_DOMAINS=crater.test | SANCTUM_STATEFUL_DOMAINS=crater.test | ||||||
| SESSION_DOMAIN=crater.test | SESSION_DOMAIN=crater.test | ||||||
|  |  | ||||||
|  | TRUSTED_PROXIES="*" | ||||||
|  | |||||||
							
								
								
									
										37
									
								
								.github/workflows/ci.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								.github/workflows/ci.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,37 @@ | |||||||
|  | name: CI | ||||||
|  |  | ||||||
|  | on: [push, pull_request] | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   build-test: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     strategy: | ||||||
|  |       fail-fast: false | ||||||
|  |       matrix: | ||||||
|  |         php: ['7.4', '8.0'] | ||||||
|  |  | ||||||
|  |     name: PHP ${{ matrix.php }} | ||||||
|  |  | ||||||
|  |     steps: | ||||||
|  |     - name: Checkout | ||||||
|  |       uses: actions/checkout@v2 | ||||||
|  |  | ||||||
|  |     - name: Install dependencies | ||||||
|  |       uses: shivammathur/setup-php@v2 | ||||||
|  |       with: | ||||||
|  |         php-version: ${{ matrix.php }} | ||||||
|  |         extensions: exif | ||||||
|  |  | ||||||
|  |     - name: Install PHP 7 dependencies | ||||||
|  |       run: composer update --no-interaction --no-progress | ||||||
|  |       if: "matrix.php < 8" | ||||||
|  |  | ||||||
|  |     - name: Install PHP 8 dependencies | ||||||
|  |       run: composer update --ignore-platform-req=php --no-interaction --no-progress | ||||||
|  |       if: "matrix.php >= 8" | ||||||
|  |  | ||||||
|  |     - name: Check coding style | ||||||
|  |       run: ./vendor/bin/php-cs-fixer fix -v --dry-run --using-cache=no --config=.php-cs-fixer.dist.php | ||||||
|  |  | ||||||
|  |     - name: Unit Tests | ||||||
|  |       run: php ./vendor/bin/pest | ||||||
							
								
								
									
										42
									
								
								.php-cs-fixer.dist.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								.php-cs-fixer.dist.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | |||||||
|  | <?php | ||||||
|  |  | ||||||
|  | $finder = PhpCsFixer\Finder::create() | ||||||
|  |     ->in(__DIR__) | ||||||
|  |     ->exclude(['bootstrap', 'storage', 'vendor']) | ||||||
|  |     ->name('*.php') | ||||||
|  |     ->name('_ide_helper') | ||||||
|  |     ->notName('*.blade.php') | ||||||
|  |     ->ignoreDotFiles(true) | ||||||
|  |     ->ignoreVCS(true); | ||||||
|  |  | ||||||
|  | $rules = [ | ||||||
|  |     '@PSR12' => true, | ||||||
|  |     'array_syntax' => ['syntax' => 'short'], | ||||||
|  |     'ordered_imports' => ['sort_algorithm' => 'alpha'], | ||||||
|  |     'concat_space' => true, | ||||||
|  |     'no_unused_imports' => true, | ||||||
|  |     'not_operator_with_successor_space' => true, | ||||||
|  |     'phpdoc_scalar' => true, | ||||||
|  |     'unary_operator_spaces' => true, | ||||||
|  |     'binary_operator_spaces' => true, | ||||||
|  |     'blank_line_before_statement' => [ | ||||||
|  |         'statements' => ['break', 'continue', 'declare', 'return', 'throw', 'try'], | ||||||
|  |     ], | ||||||
|  |     'phpdoc_single_line_var_spacing' => true, | ||||||
|  |     'phpdoc_var_without_name' => true, | ||||||
|  |     'class_attributes_separation' => [ | ||||||
|  |         'elements' => [ | ||||||
|  |             'method' => 'one', | ||||||
|  |             'property' => 'one', | ||||||
|  |         ], | ||||||
|  |     ], | ||||||
|  |     'method_argument_space' => [ | ||||||
|  |         'on_multiline' => 'ensure_fully_multiline', | ||||||
|  |         'keep_multiple_spaces_after_comma' => true, | ||||||
|  |     ], | ||||||
|  | ]; | ||||||
|  |  | ||||||
|  | return (new PhpCsFixer\Config()) | ||||||
|  |     ->setUsingCache(true) | ||||||
|  |     ->setRules($rules) | ||||||
|  |     ->setFinder($finder); | ||||||
							
								
								
									
										3274
									
								
								_ide_helper.php
									
									
									
									
									
								
							
							
						
						
									
										3274
									
								
								_ide_helper.php
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -1,9 +1,10 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| namespace Crater\Console\Commands; | namespace Crater\Console\Commands; | ||||||
|  |  | ||||||
| use Illuminate\Console\Command; |  | ||||||
| use Carbon\Carbon; | use Carbon\Carbon; | ||||||
| use Crater\Models\Estimate; | use Crater\Models\Estimate; | ||||||
|  | use Illuminate\Console\Command; | ||||||
|  |  | ||||||
| class CheckEstimateStatus extends Command | class CheckEstimateStatus extends Command | ||||||
| { | { | ||||||
| @ -39,7 +40,7 @@ class CheckEstimateStatus extends Command | |||||||
|     public function handle() |     public function handle() | ||||||
|     { |     { | ||||||
|         $date = Carbon::now(); |         $date = Carbon::now(); | ||||||
|         $status = array(Estimate::STATUS_ACCEPTED, Estimate::STATUS_REJECTED, Estimate::STATUS_EXPIRED); |         $status = [Estimate::STATUS_ACCEPTED, Estimate::STATUS_REJECTED, Estimate::STATUS_EXPIRED]; | ||||||
|         $estimates = Estimate::whereNotIn('status', $status)->whereDate('expiry_date', '<', $date)->get(); |         $estimates = Estimate::whereNotIn('status', $status)->whereDate('expiry_date', '<', $date)->get(); | ||||||
|  |  | ||||||
|         foreach ($estimates as $estimate) { |         foreach ($estimates as $estimate) { | ||||||
|  | |||||||
| @ -1,9 +1,10 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| namespace Crater\Console\Commands; | namespace Crater\Console\Commands; | ||||||
|  |  | ||||||
| use Illuminate\Console\Command; |  | ||||||
| use Carbon\Carbon; | use Carbon\Carbon; | ||||||
| use Crater\Models\Invoice; | use Crater\Models\Invoice; | ||||||
|  | use Illuminate\Console\Command; | ||||||
|  |  | ||||||
| class CheckInvoiceStatus extends Command | class CheckInvoiceStatus extends Command | ||||||
| { | { | ||||||
| @ -39,7 +40,7 @@ class CheckInvoiceStatus extends Command | |||||||
|     public function handle() |     public function handle() | ||||||
|     { |     { | ||||||
|         $date = Carbon::now(); |         $date = Carbon::now(); | ||||||
|         $invoices = Invoice::where('status', '<>', Invoice::STATUS_COMPLETED)->whereDate('due_date', '<',$date)->get(); |         $invoices = Invoice::where('status', '<>', Invoice::STATUS_COMPLETED)->whereDate('due_date', '<', $date)->get(); | ||||||
|  |  | ||||||
|         foreach ($invoices as $invoice) { |         foreach ($invoices as $invoice) { | ||||||
|             $invoice->status = Invoice::STATUS_OVERDUE; |             $invoice->status = Invoice::STATUS_OVERDUE; | ||||||
|  | |||||||
| @ -5,7 +5,6 @@ namespace Crater\Console\Commands; | |||||||
| use Illuminate\Console\Command; | use Illuminate\Console\Command; | ||||||
| use Illuminate\Console\ConfirmableTrait; | use Illuminate\Console\ConfirmableTrait; | ||||||
| use Illuminate\Support\Facades\Artisan; | use Illuminate\Support\Facades\Artisan; | ||||||
| use Illuminate\Filesystem\Filesystem; |  | ||||||
|  |  | ||||||
| class ResetApp extends Command | class ResetApp extends Command | ||||||
| { | { | ||||||
| @ -42,7 +41,7 @@ class ResetApp extends Command | |||||||
|      */ |      */ | ||||||
|     public function handle() |     public function handle() | ||||||
|     { |     { | ||||||
|         if (!$this->confirmToProceed()) { |         if (! $this->confirmToProceed()) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  | |||||||
| @ -2,9 +2,9 @@ | |||||||
|  |  | ||||||
| namespace Crater\Console\Commands; | namespace Crater\Console\Commands; | ||||||
|  |  | ||||||
| use Illuminate\Console\Command; |  | ||||||
| use Crater\Space\Updater; |  | ||||||
| use Crater\Models\Setting; | use Crater\Models\Setting; | ||||||
|  | use Crater\Space\Updater; | ||||||
|  | use Illuminate\Console\Command; | ||||||
|  |  | ||||||
| // Implementation taken from Akaunting - https://github.com/akaunting/akaunting | // Implementation taken from Akaunting - https://github.com/akaunting/akaunting | ||||||
| class UpdateCommand extends Command | class UpdateCommand extends Command | ||||||
| @ -57,42 +57,43 @@ class UpdateCommand extends Command | |||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (!$this->version) { |         if (! $this->version) { | ||||||
|             $this->info('No Update Available! You are already on the latest version.'); |             $this->info('No Update Available! You are already on the latest version.'); | ||||||
|  |  | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (!$this->confirm("Do you wish to update to {$this->version}?")) { |         if (! $this->confirm("Do you wish to update to {$this->version}?")) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (!$path = $this->download()) { |         if (! $path = $this->download()) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (!$path = $this->unzip($path)) { |         if (! $path = $this->unzip($path)) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (!$this->copyFiles($path)) { |         if (! $this->copyFiles($path)) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if(isset($this->response->deleted_files) && !empty($this->response->deleted_files)) { |         if (isset($this->response->deleted_files) && ! empty($this->response->deleted_files)) { | ||||||
|             if (!$this->deleteFiles($this->response->deleted_files)) { |             if (! $this->deleteFiles($this->response->deleted_files)) { | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (!$this->migrateUpdate()) { |         if (! $this->migrateUpdate()) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (!$this->finish()) { |         if (! $this->finish()) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         $this->info('Successfully updated to ' . $this->version); |         $this->info('Successfully updated to '.$this->version); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public function getInstalledVersion() |     public function getInstalledVersion() | ||||||
| @ -102,7 +103,7 @@ class UpdateCommand extends Command | |||||||
|  |  | ||||||
|     public function getLatestVersionResponse() |     public function getLatestVersionResponse() | ||||||
|     { |     { | ||||||
|         $this->info('Your currently installed version is ' . $this->installed); |         $this->info('Your currently installed version is '.$this->installed); | ||||||
|         $this->line(''); |         $this->line(''); | ||||||
|         $this->info('Checking for update...'); |         $this->info('Checking for update...'); | ||||||
|  |  | ||||||
| @ -110,14 +111,12 @@ class UpdateCommand extends Command | |||||||
|             $response = Updater::checkForUpdate($this->installed); |             $response = Updater::checkForUpdate($this->installed); | ||||||
|  |  | ||||||
|             if ($response->success) { |             if ($response->success) { | ||||||
|  |  | ||||||
|                 $extensions = $response->version->extensions; |                 $extensions = $response->version->extensions; | ||||||
|  |  | ||||||
|                 $is_required = false; |                 $is_required = false; | ||||||
|  |  | ||||||
|                 foreach ($extensions as $key => $extension) { |                 foreach ($extensions as $key => $extension) { | ||||||
|  |                     if (! $extension) { | ||||||
|                     if(!$extension) { |  | ||||||
|                         $is_required = true; |                         $is_required = true; | ||||||
|                         $this->info('❌ '.$key); |                         $this->info('❌ '.$key); | ||||||
|                     } |                     } | ||||||
| @ -125,7 +124,7 @@ class UpdateCommand extends Command | |||||||
|                     $this->info('✅ '.$key); |                     $this->info('✅ '.$key); | ||||||
|                 } |                 } | ||||||
|  |  | ||||||
|                 if($is_required) { |                 if ($is_required) { | ||||||
|                     return 'extension_required'; |                     return 'extension_required'; | ||||||
|                 } |                 } | ||||||
|  |  | ||||||
| @ -146,8 +145,9 @@ class UpdateCommand extends Command | |||||||
|  |  | ||||||
|         try { |         try { | ||||||
|             $path = Updater::download($this->version, 1); |             $path = Updater::download($this->version, 1); | ||||||
|             if (!is_string($path)) { |             if (! is_string($path)) { | ||||||
|                 $this->error('Download exception'); |                 $this->error('Download exception'); | ||||||
|  |  | ||||||
|                 return false; |                 return false; | ||||||
|             } |             } | ||||||
|         } catch (\Exception $e) { |         } catch (\Exception $e) { | ||||||
| @ -165,8 +165,9 @@ class UpdateCommand extends Command | |||||||
|  |  | ||||||
|         try { |         try { | ||||||
|             $path = Updater::unzip($path); |             $path = Updater::unzip($path); | ||||||
|             if (!is_string($path)) { |             if (! is_string($path)) { | ||||||
|                 $this->error('Unzipping exception'); |                 $this->error('Unzipping exception'); | ||||||
|  |  | ||||||
|                 return false; |                 return false; | ||||||
|             } |             } | ||||||
|         } catch (\Exception $e) { |         } catch (\Exception $e) { | ||||||
|  | |||||||
| @ -1,4 +1,5 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| namespace Crater\Console; | namespace Crater\Console; | ||||||
|  |  | ||||||
| use Illuminate\Console\Scheduling\Schedule; | use Illuminate\Console\Scheduling\Schedule; | ||||||
| @ -13,7 +14,7 @@ class Kernel extends ConsoleKernel | |||||||
|      */ |      */ | ||||||
|     protected $commands = [ |     protected $commands = [ | ||||||
|         Commands\ResetApp::class, |         Commands\ResetApp::class, | ||||||
|         Commands\UpdateCommand::class |         Commands\UpdateCommand::class, | ||||||
|     ]; |     ]; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|  | |||||||
| @ -1,8 +1,9 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| namespace Crater\Exceptions; | namespace Crater\Exceptions; | ||||||
|  |  | ||||||
| use Throwable; |  | ||||||
| use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; | use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; | ||||||
|  | use Throwable; | ||||||
|  |  | ||||||
| class Handler extends ExceptionHandler | class Handler extends ExceptionHandler | ||||||
| { | { | ||||||
|  | |||||||
| @ -1,9 +1,7 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
|  |  | ||||||
| namespace Crater\Generators; | namespace Crater\Generators; | ||||||
|  |  | ||||||
|  |  | ||||||
| use Crater\Models\Estimate; | use Crater\Models\Estimate; | ||||||
| use Crater\Models\Invoice; | use Crater\Models\Invoice; | ||||||
| use Crater\Models\Payment; | use Crater\Models\Payment; | ||||||
| @ -12,20 +10,19 @@ use Spatie\MediaLibrary\Support\PathGenerator\PathGenerator; | |||||||
|  |  | ||||||
| class CustomPathGenerator implements PathGenerator | class CustomPathGenerator implements PathGenerator | ||||||
| { | { | ||||||
|  |  | ||||||
|     public function getPath(Media $media): string |     public function getPath(Media $media): string | ||||||
|     { |     { | ||||||
|         return $this->getBasePath($media) . '/'; |         return $this->getBasePath($media).'/'; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public function getPathForConversions(Media $media): string |     public function getPathForConversions(Media $media): string | ||||||
|     { |     { | ||||||
|         return $this->getBasePath($media) . '/conversations/'; |         return $this->getBasePath($media).'/conversations/'; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public function getPathForResponsiveImages(Media $media): string |     public function getPathForResponsiveImages(Media $media): string | ||||||
|     { |     { | ||||||
|         return $this->getBasePath($media) . '/responsive-images/'; |         return $this->getBasePath($media).'/responsive-images/'; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /* |     /* | ||||||
|  | |||||||
| @ -1,12 +1,15 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| namespace Crater\Http\Controllers; | namespace Crater\Http\Controllers; | ||||||
|  |  | ||||||
| use Illuminate\Foundation\Bus\DispatchesJobs; |  | ||||||
| use Illuminate\Routing\Controller as BaseController; |  | ||||||
| use Illuminate\Foundation\Validation\ValidatesRequests; |  | ||||||
| use Illuminate\Foundation\Auth\Access\AuthorizesRequests; | use Illuminate\Foundation\Auth\Access\AuthorizesRequests; | ||||||
|  | use Illuminate\Foundation\Bus\DispatchesJobs; | ||||||
|  | use Illuminate\Foundation\Validation\ValidatesRequests; | ||||||
|  | use Illuminate\Routing\Controller as BaseController; | ||||||
|  |  | ||||||
| class Controller extends BaseController | class Controller extends BaseController | ||||||
| { | { | ||||||
|     use AuthorizesRequests, DispatchesJobs, ValidatesRequests; |     use AuthorizesRequests; | ||||||
|  |     use DispatchesJobs; | ||||||
|  |     use ValidatesRequests; | ||||||
| } | } | ||||||
|  | |||||||
| @ -3,10 +3,9 @@ | |||||||
| namespace Crater\Http\Controllers\V1\Auth; | namespace Crater\Http\Controllers\V1\Auth; | ||||||
|  |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Providers\RouteServiceProvider; |  | ||||||
| use Crater\Models\User; | use Crater\Models\User; | ||||||
|  | use Crater\Providers\RouteServiceProvider; | ||||||
| use Illuminate\Foundation\Auth\RegistersUsers; | use Illuminate\Foundation\Auth\RegistersUsers; | ||||||
| use Illuminate\Support\Facades\Hash; |  | ||||||
| use Illuminate\Support\Facades\Validator; | use Illuminate\Support\Facades\Validator; | ||||||
|  |  | ||||||
| class RegisterController extends Controller | class RegisterController extends Controller | ||||||
| @ -67,7 +66,7 @@ class RegisterController extends Controller | |||||||
|         return User::create([ |         return User::create([ | ||||||
|             'name' => $data['name'], |             'name' => $data['name'], | ||||||
|             'email' => $data['email'], |             'email' => $data['email'], | ||||||
|             'password' => $data['password'] |             'password' => $data['password'], | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -4,10 +4,10 @@ namespace Crater\Http\Controllers\V1\Auth; | |||||||
|  |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Providers\RouteServiceProvider; | use Crater\Providers\RouteServiceProvider; | ||||||
| use Illuminate\Support\Str; |  | ||||||
| use Illuminate\Auth\Events\PasswordReset; | use Illuminate\Auth\Events\PasswordReset; | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Illuminate\Foundation\Auth\ResetsPasswords; | use Illuminate\Foundation\Auth\ResetsPasswords; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  | use Illuminate\Support\Str; | ||||||
|  |  | ||||||
| class ResetPasswordController extends Controller | class ResetPasswordController extends Controller | ||||||
| { | { | ||||||
| @ -31,7 +31,6 @@ class ResetPasswordController extends Controller | |||||||
|      */ |      */ | ||||||
|     protected $redirectTo = RouteServiceProvider::HOME; |     protected $redirectTo = RouteServiceProvider::HOME; | ||||||
|  |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Get the response for a successful password reset. |      * Get the response for a successful password reset. | ||||||
|      * |      * | ||||||
| @ -42,7 +41,7 @@ class ResetPasswordController extends Controller | |||||||
|     protected function sendResetResponse(Request $request, $response) |     protected function sendResetResponse(Request $request, $response) | ||||||
|     { |     { | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'message' => 'Password reset successfully.' |             'message' => 'Password reset successfully.', | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,4 +1,5 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| // Implementation taken from nova-backup-tool - https://github.com/spatie/nova-backup-tool/ | // Implementation taken from nova-backup-tool - https://github.com/spatie/nova-backup-tool/ | ||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Backup; | namespace Crater\Http\Controllers\V1\Backup; | ||||||
| @ -12,12 +13,10 @@ class ApiController extends Controller | |||||||
|      * |      * | ||||||
|      * @return JsonResponse |      * @return JsonResponse | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     public function respondSuccess(): JsonResponse |     public function respondSuccess(): JsonResponse | ||||||
|     { |     { | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,17 +1,17 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| // Implementation taken from nova-backup-tool - https://github.com/spatie/nova-backup-tool/ | // Implementation taken from nova-backup-tool - https://github.com/spatie/nova-backup-tool/ | ||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Backup; | namespace Crater\Http\Controllers\V1\Backup; | ||||||
|  |  | ||||||
|  | use Crater\Jobs\CreateBackupJob; | ||||||
|  | use Crater\Rules\Backup\PathToZip; | ||||||
|  | use Illuminate\Http\JsonResponse; | ||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
| use Illuminate\Support\Facades\Cache; | use Illuminate\Support\Facades\Cache; | ||||||
| use Spatie\Backup\BackupDestination\Backup; | use Spatie\Backup\BackupDestination\Backup; | ||||||
| use Spatie\Backup\BackupDestination\BackupDestination; | use Spatie\Backup\BackupDestination\BackupDestination; | ||||||
| use Spatie\Backup\Helpers\Format; | use Spatie\Backup\Helpers\Format; | ||||||
| use Crater\Jobs\CreateBackupJob; |  | ||||||
| use Crater\Rules\Backup\BackupDisk; |  | ||||||
| use Crater\Rules\Backup\PathToZip; |  | ||||||
| use Illuminate\Http\JsonResponse; |  | ||||||
|  |  | ||||||
| class BackupsController extends ApiController | class BackupsController extends ApiController | ||||||
| { | { | ||||||
| @ -42,14 +42,14 @@ class BackupsController extends ApiController | |||||||
|  |  | ||||||
|             return response()->json([ |             return response()->json([ | ||||||
|                 'backups' => $backups, |                 'backups' => $backups, | ||||||
|                 'disks' => $configuredBackupDisks |                 'disks' => $configuredBackupDisks, | ||||||
|             ]); |             ]); | ||||||
|         } catch (\Exception $e) { |         } catch (\Exception $e) { | ||||||
|             return response()->json([ |             return response()->json([ | ||||||
|                 'backups' => [], |                 'backups' => [], | ||||||
|                 'error' => 'invalid_disk_credentials', |                 'error' => 'invalid_disk_credentials', | ||||||
|                 'error_message' => $e->getMessage(), |                 'error_message' => $e->getMessage(), | ||||||
|                 'disks' => $configuredBackupDisks |                 'disks' => $configuredBackupDisks, | ||||||
|             ]); |             ]); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -1,14 +1,13 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| // Implementation taken from nova-backup-tool - https://github.com/spatie/nova-backup-tool/ | // Implementation taken from nova-backup-tool - https://github.com/spatie/nova-backup-tool/ | ||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Backup; | namespace Crater\Http\Controllers\V1\Backup; | ||||||
|  |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Rules\Backup\PathToZip; | ||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
| use Spatie\Backup\BackupDestination\Backup; | use Spatie\Backup\BackupDestination\Backup; | ||||||
| use Spatie\Backup\BackupDestination\BackupDestination; | use Spatie\Backup\BackupDestination\BackupDestination; | ||||||
| use Crater\Rules\Backup\BackupDisk; |  | ||||||
| use Crater\Rules\Backup\PathToZip; |  | ||||||
| use Symfony\Component\HttpFoundation\Response; | use Symfony\Component\HttpFoundation\Response; | ||||||
| use Symfony\Component\HttpFoundation\StreamedResponse; | use Symfony\Component\HttpFoundation\StreamedResponse; | ||||||
|  |  | ||||||
|  | |||||||
| @ -2,9 +2,9 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\CustomField; | namespace Crater\Http\Controllers\V1\CustomField; | ||||||
|  |  | ||||||
| use Crater\Models\CustomField; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Http\Requests\CustomFieldRequest; | use Crater\Http\Requests\CustomFieldRequest; | ||||||
|  | use Crater\Models\CustomField; | ||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class CustomFieldsController extends Controller | class CustomFieldsController extends Controller | ||||||
| @ -16,19 +16,19 @@ class CustomFieldsController extends Controller | |||||||
|      */ |      */ | ||||||
|     public function index(Request $request) |     public function index(Request $request) | ||||||
|     { |     { | ||||||
|       $limit = $request->has('limit') ? $request->limit : 5; |         $limit = $request->has('limit') ? $request->limit : 5; | ||||||
|  |  | ||||||
|       $customFields = CustomField::whereCompany($request->header('company')) |         $customFields = CustomField::whereCompany($request->header('company')) | ||||||
|             ->applyFilters($request->only([ |             ->applyFilters($request->only([ | ||||||
|                 'type', |                 'type', | ||||||
|                 'search' |                 'search', | ||||||
|             ])) |             ])) | ||||||
|             ->latest() |             ->latest() | ||||||
|             ->paginateData($limit); |             ->paginateData($limit); | ||||||
|  |  | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'customFields' => $customFields |             'customFields' => $customFields, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -44,7 +44,7 @@ class CustomFieldsController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'customField' => $customField, |             'customField' => $customField, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -58,7 +58,7 @@ class CustomFieldsController extends Controller | |||||||
|     { |     { | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'customField' => $customField, |             'customField' => $customField, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -75,7 +75,7 @@ class CustomFieldsController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'customField' => $customField, |             'customField' => $customField, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -89,14 +89,14 @@ class CustomFieldsController extends Controller | |||||||
|     { |     { | ||||||
|         if ($customField->customFieldValue()->exists()) { |         if ($customField->customFieldValue()->exists()) { | ||||||
|             return response()->json([ |             return response()->json([ | ||||||
|                 'error' => 'values_attached' |                 'error' => 'values_attached', | ||||||
|             ]); |             ]); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         $customField->delete(); |         $customField->delete(); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,13 +2,13 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Customer; | namespace Crater\Http\Controllers\V1\Customer; | ||||||
|  |  | ||||||
|  | use Carbon\Carbon; | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Models\Invoice; | use Crater\Models\CompanySetting; | ||||||
| use Crater\Models\Expense; | use Crater\Models\Expense; | ||||||
|  | use Crater\Models\Invoice; | ||||||
| use Crater\Models\Payment; | use Crater\Models\Payment; | ||||||
| use Crater\Models\User; | use Crater\Models\User; | ||||||
| use Crater\Models\CompanySetting; |  | ||||||
| use Carbon\Carbon; |  | ||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class CustomerStatsController extends Controller | class CustomerStatsController extends Controller | ||||||
| @ -118,15 +118,15 @@ class CustomerStatsController extends Controller | |||||||
|         $netProfit = (int) $totalReceipts - (int) $totalExpenses; |         $netProfit = (int) $totalReceipts - (int) $totalExpenses; | ||||||
|  |  | ||||||
|         $chartData = [ |         $chartData = [ | ||||||
|             'months'        => $months, |             'months' => $months, | ||||||
|             'invoiceTotals' => $invoiceTotals, |             'invoiceTotals' => $invoiceTotals, | ||||||
|             'expenseTotals' => $expenseTotals, |             'expenseTotals' => $expenseTotals, | ||||||
|             'receiptTotals' => $receiptTotals, |             'receiptTotals' => $receiptTotals, | ||||||
|             'netProfit'     => $netProfit, |             'netProfit' => $netProfit, | ||||||
|             'netProfits'     => $netProfits, |             'netProfits' => $netProfits, | ||||||
|             'salesTotal'    => $salesTotal, |             'salesTotal' => $salesTotal, | ||||||
|             'totalReceipts' => $totalReceipts, |             'totalReceipts' => $totalReceipts, | ||||||
|             'totalExpenses' => $totalExpenses |             'totalExpenses' => $totalExpenses, | ||||||
|         ]; |         ]; | ||||||
|  |  | ||||||
|         $customer = User::with([ |         $customer = User::with([ | ||||||
| @ -135,7 +135,7 @@ class CustomerStatsController extends Controller | |||||||
|             'billingAddress.country', |             'billingAddress.country', | ||||||
|             'shippingAddress.country', |             'shippingAddress.country', | ||||||
|             'currency', |             'currency', | ||||||
|             'fields.customField' |             'fields.customField', | ||||||
|         ])->find($customer->id); |         ])->find($customer->id); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|  | |||||||
| @ -2,13 +2,12 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Customer; | namespace Crater\Http\Controllers\V1\Customer; | ||||||
|  |  | ||||||
| use Illuminate\Http\Request; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Http\Requests; | use Crater\Http\Requests; | ||||||
| use Crater\Models\User; | use Crater\Models\User; | ||||||
| use Crater\Http\Controllers\Controller; | use Illuminate\Http\Request; | ||||||
| use Illuminate\Support\Facades\DB; | use Illuminate\Support\Facades\DB; | ||||||
|  |  | ||||||
|  |  | ||||||
| class CustomersController extends Controller | class CustomersController extends Controller | ||||||
| { | { | ||||||
|     /** |     /** | ||||||
| @ -29,7 +28,7 @@ class CustomersController extends Controller | |||||||
|                 'phone', |                 'phone', | ||||||
|                 'customer_id', |                 'customer_id', | ||||||
|                 'orderByField', |                 'orderByField', | ||||||
|                 'orderBy' |                 'orderBy', | ||||||
|             ])) |             ])) | ||||||
|             ->whereCompany($request->header('company')) |             ->whereCompany($request->header('company')) | ||||||
|             ->select( |             ->select( | ||||||
| @ -42,7 +41,7 @@ class CustomersController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'customers' => $customers, |             'customers' => $customers, | ||||||
|             'customerTotalCount' => User::whereRole('customer')->count() |             'customerTotalCount' => User::whereRole('customer')->count(), | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -58,7 +57,7 @@ class CustomersController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'customer' => $customer, |             'customer' => $customer, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -74,7 +73,7 @@ class CustomersController extends Controller | |||||||
|             'billingAddress.country', |             'billingAddress.country', | ||||||
|             'shippingAddress.country', |             'shippingAddress.country', | ||||||
|             'fields.customField', |             'fields.customField', | ||||||
|             'creator' |             'creator', | ||||||
|         ]); |         ]); | ||||||
|  |  | ||||||
|         $currency = $customer->currency; |         $currency = $customer->currency; | ||||||
| @ -85,7 +84,6 @@ class CustomersController extends Controller | |||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Update the specified resource in storage. |      * Update the specified resource in storage. | ||||||
|      * |      * | ||||||
| @ -101,7 +99,7 @@ class CustomersController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'customer' => $customer, |             'customer' => $customer, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -116,7 +114,7 @@ class CustomersController extends Controller | |||||||
|         User::deleteCustomers($request->ids); |         User::deleteCustomers($request->ids); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,8 +2,8 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Dashboard; | namespace Crater\Http\Controllers\V1\Dashboard; | ||||||
|  |  | ||||||
| use Crater\Models\Expense; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\Expense; | ||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class DashboardChartController extends Controller | class DashboardChartController extends Controller | ||||||
|  | |||||||
| @ -1,15 +1,16 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Dashboard; | namespace Crater\Http\Controllers\V1\Dashboard; | ||||||
|  |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Models\Estimate; |  | ||||||
| use Crater\Models\Invoice; |  | ||||||
| use Crater\Models\CompanySetting; |  | ||||||
| use Crater\Models\Expense; |  | ||||||
| use Crater\Models\Payment; |  | ||||||
| use Carbon\Carbon; | use Carbon\Carbon; | ||||||
| use Crater\Models\User; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\CompanySetting; | ||||||
|  | use Crater\Models\Estimate; | ||||||
|  | use Crater\Models\Expense; | ||||||
|  | use Crater\Models\Invoice; | ||||||
|  | use Crater\Models\Payment; | ||||||
|  | use Crater\Models\User; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class DashboardController extends Controller | class DashboardController extends Controller | ||||||
| { | { | ||||||
| @ -113,11 +114,11 @@ class DashboardController extends Controller | |||||||
|         $netProfit = (int)$totalReceipts - (int)$totalExpenses; |         $netProfit = (int)$totalReceipts - (int)$totalExpenses; | ||||||
|  |  | ||||||
|         $chartData = [ |         $chartData = [ | ||||||
|             'months'        => $months, |             'months' => $months, | ||||||
|             'invoiceTotals' => $invoiceTotals, |             'invoiceTotals' => $invoiceTotals, | ||||||
|             'expenseTotals' => $expenseTotals, |             'expenseTotals' => $expenseTotals, | ||||||
|             'receiptTotals' => $receiptTotals, |             'receiptTotals' => $receiptTotals, | ||||||
|             'netProfits'    => $netProfits |             'netProfits' => $netProfits, | ||||||
|         ]; |         ]; | ||||||
|  |  | ||||||
|         $customersCount = User::customer()->whereCompany($request->header('company'))->get()->count(); |         $customersCount = User::customer()->whereCompany($request->header('company'))->get()->count(); | ||||||
| @ -138,7 +139,7 @@ class DashboardController extends Controller | |||||||
|             'salesTotal' => $salesTotal, |             'salesTotal' => $salesTotal, | ||||||
|             'totalReceipts' => $totalReceipts, |             'totalReceipts' => $totalReceipts, | ||||||
|             'totalExpenses' => $totalExpenses, |             'totalExpenses' => $totalExpenses, | ||||||
|             'netProfit' => $netProfit |             'netProfit' => $netProfit, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,9 +2,9 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Estimate; | namespace Crater\Http\Controllers\V1\Estimate; | ||||||
|  |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Models\Estimate; | use Crater\Models\Estimate; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class ChangeEstimateStatusController extends Controller | class ChangeEstimateStatusController extends Controller | ||||||
| { | { | ||||||
| @ -15,12 +15,12 @@ class ChangeEstimateStatusController extends Controller | |||||||
|     * @param  Estimate $estimate |     * @param  Estimate $estimate | ||||||
|     * @return \Illuminate\Http\Response |     * @return \Illuminate\Http\Response | ||||||
|     */ |     */ | ||||||
|    public function __invoke(Request $request, Estimate $estimate) |     public function __invoke(Request $request, Estimate $estimate) | ||||||
|    { |     { | ||||||
|         $estimate->update($request->only('status')); |         $estimate->update($request->only('status')); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,12 +2,12 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Estimate; | namespace Crater\Http\Controllers\V1\Estimate; | ||||||
|  |  | ||||||
| use Illuminate\Http\Request; | use Carbon\Carbon; | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\CompanySetting; | ||||||
| use Crater\Models\Estimate; | use Crater\Models\Estimate; | ||||||
| use Crater\Models\Invoice; | use Crater\Models\Invoice; | ||||||
| use Carbon\Carbon; | use Illuminate\Http\Request; | ||||||
| use Crater\Models\CompanySetting; |  | ||||||
| use Illuminate\Support\Facades\Auth; | use Illuminate\Support\Facades\Auth; | ||||||
|  |  | ||||||
| class ConvertEstimateController extends Controller | class ConvertEstimateController extends Controller | ||||||
| @ -35,7 +35,7 @@ class ConvertEstimateController extends Controller | |||||||
|             'creator_id' => Auth::id(), |             'creator_id' => Auth::id(), | ||||||
|             'invoice_date' => $invoice_date->format('Y-m-d'), |             'invoice_date' => $invoice_date->format('Y-m-d'), | ||||||
|             'due_date' => $due_date->format('Y-m-d'), |             'due_date' => $due_date->format('Y-m-d'), | ||||||
|             'invoice_number' => $invoice_prefix . "-" . Invoice::getNextInvoiceNumber($invoice_prefix), |             'invoice_number' => $invoice_prefix."-".Invoice::getNextInvoiceNumber($invoice_prefix), | ||||||
|             'reference_number' => $estimate->reference_number, |             'reference_number' => $estimate->reference_number, | ||||||
|             'user_id' => $estimate->user_id, |             'user_id' => $estimate->user_id, | ||||||
|             'company_id' => $request->header('company'), |             'company_id' => $request->header('company'), | ||||||
| @ -52,7 +52,7 @@ class ConvertEstimateController extends Controller | |||||||
|             'discount_per_item' => $estimate->discount_per_item, |             'discount_per_item' => $estimate->discount_per_item, | ||||||
|             'tax' => $estimate->tax, |             'tax' => $estimate->tax, | ||||||
|             'notes' => $estimate->notes, |             'notes' => $estimate->notes, | ||||||
|             'unique_hash' => str_random(60) |             'unique_hash' => str_random(60), | ||||||
|         ]); |         ]); | ||||||
|  |  | ||||||
|         $invoiceItems = $estimate->items->toArray(); |         $invoiceItems = $estimate->items->toArray(); | ||||||
| @ -85,11 +85,11 @@ class ConvertEstimateController extends Controller | |||||||
|             'items', |             'items', | ||||||
|             'user', |             'user', | ||||||
|             'invoiceTemplate', |             'invoiceTemplate', | ||||||
|             'taxes' |             'taxes', | ||||||
|         ])->find($invoice->id); |         ])->find($invoice->id); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'invoice' => $invoice |             'invoice' => $invoice, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,8 +2,8 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Estimate; | namespace Crater\Http\Controllers\V1\Estimate; | ||||||
|  |  | ||||||
| use Crater\Models\Estimate;  |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\Estimate; | ||||||
|  |  | ||||||
| class EstimatePdfController extends Controller | class EstimatePdfController extends Controller | ||||||
| { | { | ||||||
|  | |||||||
| @ -2,8 +2,8 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Estimate; | namespace Crater\Http\Controllers\V1\Estimate; | ||||||
|  |  | ||||||
| use Crater\Models\EstimateTemplate; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\EstimateTemplate; | ||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class EstimateTemplatesController extends Controller | class EstimateTemplatesController extends Controller | ||||||
| @ -17,7 +17,7 @@ class EstimateTemplatesController extends Controller | |||||||
|     public function __invoke(Request $request) |     public function __invoke(Request $request) | ||||||
|     { |     { | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'templates' => EstimateTemplate::all() |             'templates' => EstimateTemplate::all(), | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,12 +2,12 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Estimate; | namespace Crater\Http\Controllers\V1\Estimate; | ||||||
|  |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Models\Estimate; |  | ||||||
| use Crater\Http\Requests\EstimatesRequest; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Http\Requests\DeleteEstimatesRequest; | use Crater\Http\Requests\DeleteEstimatesRequest; | ||||||
|  | use Crater\Http\Requests\EstimatesRequest; | ||||||
| use Crater\Jobs\GenerateEstimatePdfJob; | use Crater\Jobs\GenerateEstimatePdfJob; | ||||||
|  | use Crater\Models\Estimate; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class EstimatesController extends Controller | class EstimatesController extends Controller | ||||||
| { | { | ||||||
| @ -20,7 +20,7 @@ class EstimatesController extends Controller | |||||||
|                 'user', |                 'user', | ||||||
|                 'estimateTemplate', |                 'estimateTemplate', | ||||||
|                 'taxes', |                 'taxes', | ||||||
|                 'creator' |                 'creator', | ||||||
|             ]) |             ]) | ||||||
|             ->join('users', 'users.id', '=', 'estimates.user_id') |             ->join('users', 'users.id', '=', 'estimates.user_id') | ||||||
|             ->applyFilters($request->only([ |             ->applyFilters($request->only([ | ||||||
| @ -32,7 +32,7 @@ class EstimatesController extends Controller | |||||||
|                 'to_date', |                 'to_date', | ||||||
|                 'search', |                 'search', | ||||||
|                 'orderByField', |                 'orderByField', | ||||||
|                 'orderBy' |                 'orderBy', | ||||||
|             ])) |             ])) | ||||||
|             ->whereCompany($request->header('company')) |             ->whereCompany($request->header('company')) | ||||||
|             ->select('estimates.*', 'users.name') |             ->select('estimates.*', 'users.name') | ||||||
| @ -41,7 +41,7 @@ class EstimatesController extends Controller | |||||||
|  |  | ||||||
|         $siteData = [ |         $siteData = [ | ||||||
|             'estimates' => $estimates, |             'estimates' => $estimates, | ||||||
|             'estimateTotalCount' => Estimate::count() |             'estimateTotalCount' => Estimate::count(), | ||||||
|         ]; |         ]; | ||||||
|  |  | ||||||
|         return response()->json($siteData); |         return response()->json($siteData); | ||||||
| @ -58,7 +58,7 @@ class EstimatesController extends Controller | |||||||
|         GenerateEstimatePdfJob::dispatch($estimate); |         GenerateEstimatePdfJob::dispatch($estimate); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'estimate' => $estimate |             'estimate' => $estimate, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -72,7 +72,7 @@ class EstimatesController extends Controller | |||||||
|             'creator', |             'creator', | ||||||
|             'taxes', |             'taxes', | ||||||
|             'taxes.taxType', |             'taxes.taxType', | ||||||
|             'fields.customField' |             'fields.customField', | ||||||
|         ]); |         ]); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
| @ -89,7 +89,7 @@ class EstimatesController extends Controller | |||||||
|         GenerateEstimatePdfJob::dispatch($estimate, true); |         GenerateEstimatePdfJob::dispatch($estimate, true); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'estimate' => $estimate |             'estimate' => $estimate, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -98,7 +98,7 @@ class EstimatesController extends Controller | |||||||
|         Estimate::destroy($request->ids); |         Estimate::destroy($request->ids); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -3,8 +3,8 @@ | |||||||
| namespace Crater\Http\Controllers\V1\Estimate; | namespace Crater\Http\Controllers\V1\Estimate; | ||||||
|  |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Models\Estimate; |  | ||||||
| use Crater\Http\Requests\SendEstimatesRequest; | use Crater\Http\Requests\SendEstimatesRequest; | ||||||
|  | use Crater\Models\Estimate; | ||||||
|  |  | ||||||
| class SendEstimateController extends Controller | class SendEstimateController extends Controller | ||||||
| { | { | ||||||
|  | |||||||
| @ -2,8 +2,8 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Expense; | namespace Crater\Http\Controllers\V1\Expense; | ||||||
|  |  | ||||||
| use Crater\Models\Expense; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\Expense; | ||||||
|  |  | ||||||
| class DownloadReceiptController extends Controller | class DownloadReceiptController extends Controller | ||||||
| { | { | ||||||
| @ -23,12 +23,13 @@ class DownloadReceiptController extends Controller | |||||||
|                 $imagePath = $media->getPath(); |                 $imagePath = $media->getPath(); | ||||||
|                 $response = \Response::download($imagePath, $media->file_name); |                 $response = \Response::download($imagePath, $media->file_name); | ||||||
|                 ob_end_clean(); |                 ob_end_clean(); | ||||||
|  |  | ||||||
|                 return $response; |                 return $response; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'error' => 'receipt_not_found' |             'error' => 'receipt_not_found', | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,10 +1,11 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Expense; | namespace Crater\Http\Controllers\V1\Expense; | ||||||
|  |  | ||||||
|  | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Http\Requests\ExpenseCategoryRequest; | ||||||
| use Crater\Models\ExpenseCategory; | use Crater\Models\ExpenseCategory; | ||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
| use Crater\Http\Requests\ExpenseCategoryRequest; |  | ||||||
| use Crater\Http\Controllers\Controller; |  | ||||||
|  |  | ||||||
| class ExpenseCategoriesController extends Controller | class ExpenseCategoriesController extends Controller | ||||||
| { | { | ||||||
| @ -20,13 +21,13 @@ class ExpenseCategoriesController extends Controller | |||||||
|         $categories = ExpenseCategory::whereCompany($request->header('company')) |         $categories = ExpenseCategory::whereCompany($request->header('company')) | ||||||
|             ->applyFilters($request->only([ |             ->applyFilters($request->only([ | ||||||
|                 'category_id', |                 'category_id', | ||||||
|                 'search' |                 'search', | ||||||
|             ])) |             ])) | ||||||
|             ->latest() |             ->latest() | ||||||
|             ->paginateData($limit); |             ->paginateData($limit); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'categories' => $categories |             'categories' => $categories, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -44,7 +45,7 @@ class ExpenseCategoriesController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'category' => $category, |             'category' => $category, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -57,7 +58,7 @@ class ExpenseCategoriesController extends Controller | |||||||
|     public function show(ExpenseCategory $category) |     public function show(ExpenseCategory $category) | ||||||
|     { |     { | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'category' => $category |             'category' => $category, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -74,7 +75,7 @@ class ExpenseCategoriesController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'category' => $category, |             'category' => $category, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -88,14 +89,14 @@ class ExpenseCategoriesController extends Controller | |||||||
|     { |     { | ||||||
|         if ($category->expenses() && $category->expenses()->count() > 0) { |         if ($category->expenses() && $category->expenses()->count() > 0) { | ||||||
|             return response()->json([ |             return response()->json([ | ||||||
|                 'success' => false |                 'success' => false, | ||||||
|             ]); |             ]); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         $category->delete(); |         $category->delete(); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,11 +2,11 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Expense; | namespace Crater\Http\Controllers\V1\Expense; | ||||||
|  |  | ||||||
| use Crater\Models\Expense; |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Http\Requests\ExpenseRequest; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Http\Requests\DeleteExpensesRequest; | use Crater\Http\Requests\DeleteExpensesRequest; | ||||||
|  | use Crater\Http\Requests\ExpenseRequest; | ||||||
|  | use Crater\Models\Expense; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class ExpensesController extends Controller | class ExpensesController extends Controller | ||||||
| { | { | ||||||
| @ -30,7 +30,7 @@ class ExpensesController extends Controller | |||||||
|                 'from_date', |                 'from_date', | ||||||
|                 'to_date', |                 'to_date', | ||||||
|                 'orderByField', |                 'orderByField', | ||||||
|                 'orderBy' |                 'orderBy', | ||||||
|             ])) |             ])) | ||||||
|             ->whereCompany($request->header('company')) |             ->whereCompany($request->header('company')) | ||||||
|             ->select('expenses.*', 'expense_categories.name', 'users.name as user_name') |             ->select('expenses.*', 'expense_categories.name', 'users.name as user_name') | ||||||
| @ -38,7 +38,7 @@ class ExpensesController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'expenses' => $expenses, |             'expenses' => $expenses, | ||||||
|             'expenseTotalCount' => Expense::count() |             'expenseTotalCount' => Expense::count(), | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -54,7 +54,7 @@ class ExpensesController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'expense' => $expense, |             'expense' => $expense, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -69,7 +69,7 @@ class ExpensesController extends Controller | |||||||
|         $expense->load('creator', 'fields.customField'); |         $expense->load('creator', 'fields.customField'); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'expense' => $expense |             'expense' => $expense, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -86,7 +86,7 @@ class ExpensesController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'expense' => $expense, |             'expense' => $expense, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -95,7 +95,7 @@ class ExpensesController extends Controller | |||||||
|         Expense::destroy($request->ids); |         Expense::destroy($request->ids); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,8 +2,8 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Expense; | namespace Crater\Http\Controllers\V1\Expense; | ||||||
|  |  | ||||||
| use Crater\Models\Expense; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\Expense; | ||||||
|  |  | ||||||
| class ShowReceiptController extends Controller | class ShowReceiptController extends Controller | ||||||
| { | { | ||||||
| @ -15,7 +15,7 @@ class ShowReceiptController extends Controller | |||||||
|      */ |      */ | ||||||
|     public function __invoke(Expense $expense) |     public function __invoke(Expense $expense) | ||||||
|     { |     { | ||||||
|         $imagePath  = null; |         $imagePath = null; | ||||||
|  |  | ||||||
|         if ($expense) { |         if ($expense) { | ||||||
|             $media = $expense->getFirstMedia('receipts'); |             $media = $expense->getFirstMedia('receipts'); | ||||||
| @ -23,18 +23,18 @@ class ShowReceiptController extends Controller | |||||||
|                 $imagePath = $media->getPath(); |                 $imagePath = $media->getPath(); | ||||||
|             } else { |             } else { | ||||||
|                 return response()->json([ |                 return response()->json([ | ||||||
|                     'error' => 'receipt_does_not_exist' |                     'error' => 'receipt_does_not_exist', | ||||||
|                 ]); |                 ]); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         $type = \File::mimeType($imagePath); |         $type = \File::mimeType($imagePath); | ||||||
|  |  | ||||||
|         $image = 'data:' . $type . ';base64,' . base64_encode(file_get_contents($imagePath)); |         $image = 'data:'.$type.';base64,'.base64_encode(file_get_contents($imagePath)); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'image' => $image, |             'image' => $image, | ||||||
|             'type' => $type |             'type' => $type, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,8 +2,8 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Expense; | namespace Crater\Http\Controllers\V1\Expense; | ||||||
|  |  | ||||||
| use Crater\Models\Expense; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\Expense; | ||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class UploadReceiptController extends Controller | class UploadReceiptController extends Controller | ||||||
| @ -30,7 +30,7 @@ class UploadReceiptController extends Controller | |||||||
|         } |         } | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => 'Expense receipts uploaded successfully' |             'success' => 'Expense receipts uploaded successfully', | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,13 +2,12 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\General; | namespace Crater\Http\Controllers\V1\General; | ||||||
|  |  | ||||||
| use Crater\Http\Controllers\Controller; |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Models\Currency; |  | ||||||
| use Crater\Models\Country; |  | ||||||
| use Auth; | use Auth; | ||||||
|  | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Models\CompanySetting; | use Crater\Models\CompanySetting; | ||||||
| use Crater\Models\CustomField; | use Crater\Models\Country; | ||||||
|  | use Crater\Models\Currency; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class BootstrapController extends Controller | class BootstrapController extends Controller | ||||||
| { | { | ||||||
| @ -29,7 +28,7 @@ class BootstrapController extends Controller | |||||||
|             'carbon_date_format', |             'carbon_date_format', | ||||||
|             'fiscal_year', |             'fiscal_year', | ||||||
|             'time_zone', |             'time_zone', | ||||||
|             'currency' |             'currency', | ||||||
|         ]; |         ]; | ||||||
|  |  | ||||||
|         $settings = CompanySetting::getSettings($settings, $user->company_id); |         $settings = CompanySetting::getSettings($settings, $user->company_id); | ||||||
| @ -46,7 +45,7 @@ class BootstrapController extends Controller | |||||||
|             'moment_date_format' => $settings['moment_date_format'], |             'moment_date_format' => $settings['moment_date_format'], | ||||||
|             'carbon_date_format' => $settings['carbon_date_format'], |             'carbon_date_format' => $settings['carbon_date_format'], | ||||||
|             'fiscal_year' => $settings['fiscal_year'], |             'fiscal_year' => $settings['fiscal_year'], | ||||||
|             'time_zone' => $settings['time_zone'] |             'time_zone' => $settings['time_zone'], | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,8 +2,8 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\General; | namespace Crater\Http\Controllers\V1\General; | ||||||
|  |  | ||||||
| use Crater\Models\Country; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\Country; | ||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class CountriesController extends Controller | class CountriesController extends Controller | ||||||
| @ -17,7 +17,7 @@ class CountriesController extends Controller | |||||||
|     public function __invoke(Request $request) |     public function __invoke(Request $request) | ||||||
|     { |     { | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'countries' => Country::all() |             'countries' => Country::all(), | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,8 +2,8 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\General; | namespace Crater\Http\Controllers\V1\General; | ||||||
|  |  | ||||||
| use Crater\Models\Currency; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\Currency; | ||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class CurrenciesController extends Controller | class CurrenciesController extends Controller | ||||||
| @ -19,7 +19,7 @@ class CurrenciesController extends Controller | |||||||
|         $currencies = Currency::latest()->get(); |         $currencies = Currency::latest()->get(); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'currencies' => $currencies |             'currencies' => $currencies, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -17,7 +17,7 @@ class DateFormatsController extends Controller | |||||||
|     public function __invoke(Request $request) |     public function __invoke(Request $request) | ||||||
|     { |     { | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'date_formats' => DateFormatter::get_list() |             'date_formats' => DateFormatter::get_list(), | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ class FiscalYearsController extends Controller | |||||||
|     public function __invoke(Request $request) |     public function __invoke(Request $request) | ||||||
|     { |     { | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'fiscal_years' => config('crater.fiscal_years') |             'fiscal_years' => config('crater.fiscal_years'), | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ class LanguagesController extends Controller | |||||||
|     public function __invoke(Request $request) |     public function __invoke(Request $request) | ||||||
|     { |     { | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'languages' => config('crater.languages') |             'languages' => config('crater.languages'), | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,11 +2,11 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\General; | namespace Crater\Http\Controllers\V1\General; | ||||||
|  |  | ||||||
| use Crater\Models\Invoice; |  | ||||||
| use Crater\Models\Estimate; |  | ||||||
| use Crater\Models\Payment; |  | ||||||
| use Crater\Models\CompanySetting; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\CompanySetting; | ||||||
|  | use Crater\Models\Estimate; | ||||||
|  | use Crater\Models\Invoice; | ||||||
|  | use Crater\Models\Payment; | ||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class NextNumberController extends Controller | class NextNumberController extends Controller | ||||||
| @ -21,7 +21,7 @@ class NextNumberController extends Controller | |||||||
|     { |     { | ||||||
|         $key = $request->key; |         $key = $request->key; | ||||||
|  |  | ||||||
|         $val = $key . '_prefix'; |         $val = $key.'_prefix'; | ||||||
|  |  | ||||||
|         $prefix = CompanySetting::getSetting( |         $prefix = CompanySetting::getSetting( | ||||||
|             $val, |             $val, | ||||||
| @ -33,14 +33,17 @@ class NextNumberController extends Controller | |||||||
|         switch ($key) { |         switch ($key) { | ||||||
|             case 'invoice': |             case 'invoice': | ||||||
|                 $nextNumber = Invoice::getNextInvoiceNumber($prefix); |                 $nextNumber = Invoice::getNextInvoiceNumber($prefix); | ||||||
|  |  | ||||||
|                 break; |                 break; | ||||||
|  |  | ||||||
|             case 'estimate': |             case 'estimate': | ||||||
|                 $nextNumber = Estimate::getNextEstimateNumber($prefix); |                 $nextNumber = Estimate::getNextEstimateNumber($prefix); | ||||||
|  |  | ||||||
|                 break; |                 break; | ||||||
|  |  | ||||||
|             case 'payment': |             case 'payment': | ||||||
|                 $nextNumber = Payment::getNextPaymentNumber($prefix); |                 $nextNumber = Payment::getNextPaymentNumber($prefix); | ||||||
|  |  | ||||||
|                 break; |                 break; | ||||||
|  |  | ||||||
|             default: |             default: | ||||||
| @ -49,7 +52,7 @@ class NextNumberController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'nextNumber' => $nextNumber, |             'nextNumber' => $nextNumber, | ||||||
|             'prefix' => $prefix |             'prefix' => $prefix, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -23,7 +23,7 @@ class NotesController extends Controller | |||||||
|             ->paginate($limit); |             ->paginate($limit); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'notes' => $notes |             'notes' => $notes, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -38,7 +38,7 @@ class NotesController extends Controller | |||||||
|         $note = Note::create($request->validated()); |         $note = Note::create($request->validated()); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'note' => $note |             'note' => $note, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -51,7 +51,7 @@ class NotesController extends Controller | |||||||
|     public function show(Note $note) |     public function show(Note $note) | ||||||
|     { |     { | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'note' => $note |             'note' => $note, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -67,7 +67,7 @@ class NotesController extends Controller | |||||||
|         $note->update($request->validated()); |         $note->update($request->validated()); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'note' => $note |             'note' => $note, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -82,7 +82,7 @@ class NotesController extends Controller | |||||||
|         $note->delete(); |         $note->delete(); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -31,7 +31,7 @@ class SearchController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'customers' => $customers, |             'customers' => $customers, | ||||||
|             'users' => $users ?? [] |             'users' => $users ?? [], | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -17,7 +17,7 @@ class TimezonesController extends Controller | |||||||
|     public function __invoke(Request $request) |     public function __invoke(Request $request) | ||||||
|     { |     { | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'time_zones' => TimeZones::get_list() |             'time_zones' => TimeZones::get_list(), | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,9 +2,9 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Invoice; | namespace Crater\Http\Controllers\V1\Invoice; | ||||||
|  |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Models\Invoice; | use Crater\Models\Invoice; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class ChangeInvoiceStatusController extends Controller | class ChangeInvoiceStatusController extends Controller | ||||||
| { | { | ||||||
| @ -14,8 +14,8 @@ class ChangeInvoiceStatusController extends Controller | |||||||
|     * @param  \Illuminate\Http\Request  $request |     * @param  \Illuminate\Http\Request  $request | ||||||
|     * @return \Illuminate\Http\JsonResponse |     * @return \Illuminate\Http\JsonResponse | ||||||
|     */ |     */ | ||||||
|    public function __invoke(Request $request, Invoice $invoice) |     public function __invoke(Request $request, Invoice $invoice) | ||||||
|    { |     { | ||||||
|         if ($request->status == Invoice::STATUS_SENT) { |         if ($request->status == Invoice::STATUS_SENT) { | ||||||
|             $invoice->status = Invoice::STATUS_SENT; |             $invoice->status = Invoice::STATUS_SENT; | ||||||
|             $invoice->sent = true; |             $invoice->sent = true; | ||||||
| @ -28,7 +28,7 @@ class ChangeInvoiceStatusController extends Controller | |||||||
|         } |         } | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,11 +2,11 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Invoice; | namespace Crater\Http\Controllers\V1\Invoice; | ||||||
|  |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Http\Controllers\Controller; |  | ||||||
| use Crater\Models\Invoice; |  | ||||||
| use Carbon\Carbon; | use Carbon\Carbon; | ||||||
|  | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Models\CompanySetting; | use Crater\Models\CompanySetting; | ||||||
|  | use Crater\Models\Invoice; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class CloneInvoiceController extends Controller | class CloneInvoiceController extends Controller | ||||||
| { | { | ||||||
| @ -28,11 +28,11 @@ class CloneInvoiceController extends Controller | |||||||
|         $newInvoice = Invoice::create([ |         $newInvoice = Invoice::create([ | ||||||
|             'invoice_date' => $date->format('Y-m-d'), |             'invoice_date' => $date->format('Y-m-d'), | ||||||
|             'due_date' => $date->format('Y-m-d'), |             'due_date' => $date->format('Y-m-d'), | ||||||
|             'invoice_number' => $invoice_prefix . "-" . Invoice::getNextInvoiceNumber($invoice_prefix), |             'invoice_number' => $invoice_prefix."-".Invoice::getNextInvoiceNumber($invoice_prefix), | ||||||
|             'reference_number' => $invoice->reference_number, |             'reference_number' => $invoice->reference_number, | ||||||
|             'user_id' => $invoice->user_id, |             'user_id' => $invoice->user_id, | ||||||
|             'company_id' => $request->header('company'), |             'company_id' => $request->header('company'), | ||||||
|             'invoice_template_id' => 1, |             'invoice_template_id' => $invoice->invoice_template_id, | ||||||
|             'status' => Invoice::STATUS_DRAFT, |             'status' => Invoice::STATUS_DRAFT, | ||||||
|             'paid_status' => Invoice::STATUS_UNPAID, |             'paid_status' => Invoice::STATUS_UNPAID, | ||||||
|             'sub_total' => $invoice->sub_total, |             'sub_total' => $invoice->sub_total, | ||||||
| @ -45,7 +45,7 @@ class CloneInvoiceController extends Controller | |||||||
|             'discount_per_item' => $invoice->discount_per_item, |             'discount_per_item' => $invoice->discount_per_item, | ||||||
|             'tax' => $invoice->tax, |             'tax' => $invoice->tax, | ||||||
|             'notes' => $invoice->notes, |             'notes' => $invoice->notes, | ||||||
|             'unique_hash' => str_random(60) |             'unique_hash' => str_random(60), | ||||||
|         ]); |         ]); | ||||||
|  |  | ||||||
|         $invoice->load('items.taxes'); |         $invoice->load('items.taxes'); | ||||||
| @ -79,13 +79,13 @@ class CloneInvoiceController extends Controller | |||||||
|                 'items', |                 'items', | ||||||
|                 'user', |                 'user', | ||||||
|                 'invoiceTemplate', |                 'invoiceTemplate', | ||||||
|                 'taxes' |                 'taxes', | ||||||
|             ]) |             ]) | ||||||
|             ->find($newInvoice->id); |             ->find($newInvoice->id); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'invoice' => $newInvoice, |             'invoice' => $newInvoice, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -19,7 +19,7 @@ class InvoiceTemplatesController extends Controller | |||||||
|         $invoiceTemplates = InvoiceTemplate::all(); |         $invoiceTemplates = InvoiceTemplate::all(); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'invoiceTemplates' => $invoiceTemplates |             'invoiceTemplates' => $invoiceTemplates, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,12 +2,12 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Invoice; | namespace Crater\Http\Controllers\V1\Invoice; | ||||||
|  |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Http\Requests; |  | ||||||
| use Crater\Models\Invoice; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Http\Requests; | ||||||
| use Crater\Http\Requests\DeleteInvoiceRequest; | use Crater\Http\Requests\DeleteInvoiceRequest; | ||||||
| use Crater\Jobs\GenerateInvoicePdfJob; | use Crater\Jobs\GenerateInvoicePdfJob; | ||||||
|  | use Crater\Models\Invoice; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class InvoicesController extends Controller | class InvoicesController extends Controller | ||||||
| { | { | ||||||
| @ -41,7 +41,7 @@ class InvoicesController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'invoices' => $invoices, |             'invoices' => $invoices, | ||||||
|             'invoiceTotalCount' => Invoice::count() |             'invoiceTotalCount' => Invoice::count(), | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -62,7 +62,7 @@ class InvoicesController extends Controller | |||||||
|         GenerateInvoicePdfJob::dispatch($invoice); |         GenerateInvoicePdfJob::dispatch($invoice); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'invoice' => $invoice |             'invoice' => $invoice, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -80,7 +80,7 @@ class InvoicesController extends Controller | |||||||
|             'user', |             'user', | ||||||
|             'invoiceTemplate', |             'invoiceTemplate', | ||||||
|             'taxes.taxType', |             'taxes.taxType', | ||||||
|             'fields.customField' |             'fields.customField', | ||||||
|         ]); |         ]); | ||||||
|  |  | ||||||
|         $siteData = [ |         $siteData = [ | ||||||
| @ -107,7 +107,7 @@ class InvoicesController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'invoice' => $invoice, |             'invoice' => $invoice, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -122,7 +122,7 @@ class InvoicesController extends Controller | |||||||
|         Invoice::destroy($request->ids); |         Invoice::destroy($request->ids); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -3,8 +3,8 @@ | |||||||
| namespace Crater\Http\Controllers\V1\Invoice; | namespace Crater\Http\Controllers\V1\Invoice; | ||||||
|  |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Models\Invoice; |  | ||||||
| use Crater\Http\Requests\SendInvoiceRequest; | use Crater\Http\Requests\SendInvoiceRequest; | ||||||
|  | use Crater\Models\Invoice; | ||||||
|  |  | ||||||
| class SendInvoiceController extends Controller | class SendInvoiceController extends Controller | ||||||
| { | { | ||||||
| @ -19,7 +19,7 @@ class SendInvoiceController extends Controller | |||||||
|         $invoice->send($request->all()); |         $invoice->send($request->all()); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -3,11 +3,11 @@ | |||||||
| namespace Crater\Http\Controllers\V1\Item; | namespace Crater\Http\Controllers\V1\Item; | ||||||
|  |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Http\Requests; | use Crater\Http\Requests; | ||||||
| use Crater\Http\Requests\DeleteItemsRequest; | use Crater\Http\Requests\DeleteItemsRequest; | ||||||
| use Crater\Models\Item; | use Crater\Models\Item; | ||||||
| use Crater\Models\TaxType; | use Crater\Models\TaxType; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class ItemsController extends Controller | class ItemsController extends Controller | ||||||
| { | { | ||||||
| @ -29,7 +29,7 @@ class ItemsController extends Controller | |||||||
|                 'unit_id', |                 'unit_id', | ||||||
|                 'item_id', |                 'item_id', | ||||||
|                 'orderByField', |                 'orderByField', | ||||||
|                 'orderBy' |                 'orderBy', | ||||||
|             ])) |             ])) | ||||||
|             ->whereCompany($request->header('company')) |             ->whereCompany($request->header('company')) | ||||||
|             ->select('items.*', 'units.name as unit_name') |             ->select('items.*', 'units.name as unit_name') | ||||||
| @ -39,7 +39,7 @@ class ItemsController extends Controller | |||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'items' => $items, |             'items' => $items, | ||||||
|             'taxTypes' => TaxType::latest()->get(), |             'taxTypes' => TaxType::latest()->get(), | ||||||
|             'itemTotalCount' => Item::count() |             'itemTotalCount' => Item::count(), | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -54,7 +54,7 @@ class ItemsController extends Controller | |||||||
|         $item = Item::createItem($request); |         $item = Item::createItem($request); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'item' => $item |             'item' => $item, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -69,7 +69,7 @@ class ItemsController extends Controller | |||||||
|         $item->load('taxes'); |         $item->load('taxes'); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'item' => $item |             'item' => $item, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -85,7 +85,7 @@ class ItemsController extends Controller | |||||||
|         $item = $item->updateItem($request); |         $item = $item->updateItem($request); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'item' => $item |             'item' => $item, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -100,7 +100,7 @@ class ItemsController extends Controller | |||||||
|         Item::destroy($request->ids); |         Item::destroy($request->ids); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,10 +2,10 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Item; | namespace Crater\Http\Controllers\V1\Item; | ||||||
|  |  | ||||||
|  | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Http\Requests\UnitRequest; | ||||||
| use Crater\Models\Unit; | use Crater\Models\Unit; | ||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
| use Crater\Http\Requests\UnitRequest; |  | ||||||
| use Crater\Http\Controllers\Controller; |  | ||||||
|  |  | ||||||
| class UnitsController extends Controller | class UnitsController extends Controller | ||||||
| { | { | ||||||
| @ -20,13 +20,13 @@ class UnitsController extends Controller | |||||||
|  |  | ||||||
|         $units = Unit::whereCompany($request->header('company')) |         $units = Unit::whereCompany($request->header('company')) | ||||||
|             ->applyFilters($request->only([ |             ->applyFilters($request->only([ | ||||||
|                 'unit_id' |                 'unit_id', | ||||||
|             ])) |             ])) | ||||||
|             ->latest() |             ->latest() | ||||||
|             ->paginateData($limit); |             ->paginateData($limit); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'units' => $units |             'units' => $units, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -53,7 +53,7 @@ class UnitsController extends Controller | |||||||
|         $unit = Unit::create($data); |         $unit = Unit::create($data); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'unit' => $unit |             'unit' => $unit, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -66,7 +66,7 @@ class UnitsController extends Controller | |||||||
|     public function show(Unit $unit) |     public function show(Unit $unit) | ||||||
|     { |     { | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'unit' => $unit |             'unit' => $unit, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -82,7 +82,7 @@ class UnitsController extends Controller | |||||||
|         $unit->update($request->validated()); |         $unit->update($request->validated()); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'unit' => $unit |             'unit' => $unit, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -96,14 +96,14 @@ class UnitsController extends Controller | |||||||
|     { |     { | ||||||
|         if ($unit->items()->exists()) { |         if ($unit->items()->exists()) { | ||||||
|             return response()->json([ |             return response()->json([ | ||||||
|                 'error' => 'items_attached' |                 'error' => 'items_attached', | ||||||
|             ]); |             ]); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         $unit->delete(); |         $unit->delete(); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => 'Unit deleted successfully' |             'success' => 'Unit deleted successfully', | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -28,7 +28,7 @@ class AuthController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'type' => 'Bearer', |             'type' => 'Bearer', | ||||||
|             'token' => $user->createToken($request->device_name)->plainTextToken |             'token' => $user->createToken($request->device_name)->plainTextToken, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -37,7 +37,7 @@ class AuthController extends Controller | |||||||
|         $request->user()->currentAccessToken()->delete(); |         $request->user()->currentAccessToken()->delete(); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,13 +2,10 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Mobile\Customer; | namespace Crater\Http\Controllers\V1\Mobile\Customer; | ||||||
|  |  | ||||||
| use Barryvdh\DomPDF\PDF; |  | ||||||
| use Crater\Models\Company; |  | ||||||
| use Crater\Models\CompanySetting; |  | ||||||
| use Crater\Models\Estimate; |  | ||||||
| use Crater\Models\EstimateTemplate; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Mail\EstimateViewedMail; | use Crater\Mail\EstimateViewedMail; | ||||||
|  | use Crater\Models\CompanySetting; | ||||||
|  | use Crater\Models\Estimate; | ||||||
| use Crater\Models\User; | use Crater\Models\User; | ||||||
|  |  | ||||||
| class EstimatePdfController extends Controller | class EstimatePdfController extends Controller | ||||||
|  | |||||||
| @ -2,13 +2,10 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Mobile\Customer; | namespace Crater\Http\Controllers\V1\Mobile\Customer; | ||||||
|  |  | ||||||
| use Barryvdh\DomPDF\PDF; |  | ||||||
| use Crater\Models\Company; |  | ||||||
| use Crater\Models\CompanySetting; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Models\Invoice; |  | ||||||
| use Crater\Models\InvoiceTemplate; |  | ||||||
| use Crater\Mail\InvoiceViewedMail; | use Crater\Mail\InvoiceViewedMail; | ||||||
|  | use Crater\Models\CompanySetting; | ||||||
|  | use Crater\Models\Invoice; | ||||||
| use Crater\Models\User; | use Crater\Models\User; | ||||||
|  |  | ||||||
| class InvoicePdfController extends Controller | class InvoicePdfController extends Controller | ||||||
|  | |||||||
| @ -3,10 +3,10 @@ | |||||||
| namespace Crater\Http\Controllers\V1\Onboarding; | namespace Crater\Http\Controllers\V1\Onboarding; | ||||||
|  |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Space\EnvironmentManager; |  | ||||||
| use Crater\Http\Requests\DatabaseEnvironmentRequest; | use Crater\Http\Requests\DatabaseEnvironmentRequest; | ||||||
| use Illuminate\Support\Facades\Artisan; | use Crater\Space\EnvironmentManager; | ||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
|  | use Illuminate\Support\Facades\Artisan; | ||||||
|  |  | ||||||
| class DatabaseConfigurationController extends Controller | class DatabaseConfigurationController extends Controller | ||||||
| { | { | ||||||
| @ -55,6 +55,7 @@ class DatabaseConfigurationController extends Controller | |||||||
|                     'database_connection' => 'sqlite', |                     'database_connection' => 'sqlite', | ||||||
|                     'database_name' => database_path('database.sqlite'), |                     'database_name' => database_path('database.sqlite'), | ||||||
|                 ]; |                 ]; | ||||||
|  |  | ||||||
|                 break; |                 break; | ||||||
|  |  | ||||||
|             case 'pgsql': |             case 'pgsql': | ||||||
| @ -63,6 +64,7 @@ class DatabaseConfigurationController extends Controller | |||||||
|                     'database_host' => '127.0.0.1', |                     'database_host' => '127.0.0.1', | ||||||
|                     'database_port' => 5432, |                     'database_port' => 5432, | ||||||
|                 ]; |                 ]; | ||||||
|  |  | ||||||
|                 break; |                 break; | ||||||
|  |  | ||||||
|             case 'mysql': |             case 'mysql': | ||||||
| @ -71,6 +73,7 @@ class DatabaseConfigurationController extends Controller | |||||||
|                     'database_host' => '127.0.0.1', |                     'database_host' => '127.0.0.1', | ||||||
|                     'database_port' => 3306, |                     'database_port' => 3306, | ||||||
|                 ]; |                 ]; | ||||||
|  |  | ||||||
|                 break; |                 break; | ||||||
|  |  | ||||||
|             case 'sqlsrv': |             case 'sqlsrv': | ||||||
| @ -79,13 +82,14 @@ class DatabaseConfigurationController extends Controller | |||||||
|                     'host' => '127.0.0.1', |                     'host' => '127.0.0.1', | ||||||
|                     'port' => 1433, |                     'port' => 1433, | ||||||
|                 ]; |                 ]; | ||||||
|  |  | ||||||
|                 break; |                 break; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'config' => $databaseData, |             'config' => $databaseData, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -16,15 +16,14 @@ class OnboardingWizardController extends Controller | |||||||
|      */ |      */ | ||||||
|     public function getStep(Request $request) |     public function getStep(Request $request) | ||||||
|     { |     { | ||||||
|         if (!\Storage::disk('local')->has('database_created')) { |         if (! \Storage::disk('local')->has('database_created')) { | ||||||
|  |  | ||||||
|             return response()->json([ |             return response()->json([ | ||||||
|                 'profile_complete' => 0 |                 'profile_complete' => 0, | ||||||
|             ]); |             ]); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'profile_complete' => Setting::getSetting('profile_complete') |             'profile_complete' => Setting::getSetting('profile_complete'), | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -34,14 +33,14 @@ class OnboardingWizardController extends Controller | |||||||
|  |  | ||||||
|         if ($setting === 'COMPLETED') { |         if ($setting === 'COMPLETED') { | ||||||
|             return response()->json([ |             return response()->json([ | ||||||
|                 'profile_complete' => $setting |                 'profile_complete' => $setting, | ||||||
|             ]); |             ]); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         Setting::setSetting('profile_complete', $request->profile_complete); |         Setting::setSetting('profile_complete', $request->profile_complete); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'profile_complete' => Setting::getSetting('profile_complete') |             'profile_complete' => Setting::getSetting('profile_complete'), | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,9 +2,9 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Onboarding; | namespace Crater\Http\Controllers\V1\Onboarding; | ||||||
|  |  | ||||||
|  | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Space\PermissionsChecker; | use Crater\Space\PermissionsChecker; | ||||||
| use Illuminate\Http\JsonResponse; | use Illuminate\Http\JsonResponse; | ||||||
| use Crater\Http\Controllers\Controller; |  | ||||||
|  |  | ||||||
| class PermissionsController extends Controller | class PermissionsController extends Controller | ||||||
| { | { | ||||||
| @ -33,7 +33,7 @@ class PermissionsController extends Controller | |||||||
|         ); |         ); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'permissions' => $permissions |             'permissions' => $permissions, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,9 +2,9 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Onboarding; | namespace Crater\Http\Controllers\V1\Onboarding; | ||||||
|  |  | ||||||
|  | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Space\RequirementsChecker; | use Crater\Space\RequirementsChecker; | ||||||
| use Illuminate\Http\JsonResponse; | use Illuminate\Http\JsonResponse; | ||||||
| use Crater\Http\Controllers\Controller; |  | ||||||
|  |  | ||||||
| class RequirementsController extends Controller | class RequirementsController extends Controller | ||||||
| { | { | ||||||
| @ -37,7 +37,7 @@ class RequirementsController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'phpSupportInfo' => $phpSupportInfo, |             'phpSupportInfo' => $phpSupportInfo, | ||||||
|             'requirements' => $requirements |             'requirements' => $requirements, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,10 +2,10 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Payment; | namespace Crater\Http\Controllers\V1\Payment; | ||||||
|  |  | ||||||
|  | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Http\Requests\PaymentMethodRequest; | ||||||
| use Crater\Models\PaymentMethod; | use Crater\Models\PaymentMethod; | ||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
| use Crater\Http\Requests\PaymentMethodRequest; |  | ||||||
| use Crater\Http\Controllers\Controller; |  | ||||||
|  |  | ||||||
| class PaymentMethodsController extends Controller | class PaymentMethodsController extends Controller | ||||||
| { | { | ||||||
| @ -21,13 +21,13 @@ class PaymentMethodsController extends Controller | |||||||
|         $paymentMethods = PaymentMethod::whereCompany($request->header('company')) |         $paymentMethods = PaymentMethod::whereCompany($request->header('company')) | ||||||
|             ->applyFilters($request->only([ |             ->applyFilters($request->only([ | ||||||
|                 'method_id', |                 'method_id', | ||||||
|                 'search' |                 'search', | ||||||
|             ])) |             ])) | ||||||
|             ->latest() |             ->latest() | ||||||
|             ->paginateData($limit); |             ->paginateData($limit); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'paymentMethods' => $paymentMethods |             'paymentMethods' => $paymentMethods, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -42,7 +42,7 @@ class PaymentMethodsController extends Controller | |||||||
|         $paymentMethod = PaymentMethod::createPaymentMethod($request); |         $paymentMethod = PaymentMethod::createPaymentMethod($request); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'paymentMethod' => $paymentMethod |             'paymentMethod' => $paymentMethod, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -55,7 +55,7 @@ class PaymentMethodsController extends Controller | |||||||
|     public function show(PaymentMethod $paymentMethod) |     public function show(PaymentMethod $paymentMethod) | ||||||
|     { |     { | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'paymentMethod' => $paymentMethod |             'paymentMethod' => $paymentMethod, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -71,7 +71,7 @@ class PaymentMethodsController extends Controller | |||||||
|         $paymentMethod->update($request->validated()); |         $paymentMethod->update($request->validated()); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'paymentMethod' => $paymentMethod |             'paymentMethod' => $paymentMethod, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -87,14 +87,14 @@ class PaymentMethodsController extends Controller | |||||||
|  |  | ||||||
|         if ($payments->count() > 0) { |         if ($payments->count() > 0) { | ||||||
|             return response()->json([ |             return response()->json([ | ||||||
|                 'error' => 'payments_attached' |                 'error' => 'payments_attached', | ||||||
|             ]); |             ]); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         $paymentMethod->delete(); |         $paymentMethod->delete(); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => 'Payment method deleted successfully' |             'success' => 'Payment method deleted successfully', | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,11 +2,11 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Payment; | namespace Crater\Http\Controllers\V1\Payment; | ||||||
|  |  | ||||||
| use Illuminate\Http\Request; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Models\Payment; |  | ||||||
| use Crater\Http\Requests\DeletePaymentsRequest; | use Crater\Http\Requests\DeletePaymentsRequest; | ||||||
| use Crater\Http\Requests\PaymentRequest; | use Crater\Http\Requests\PaymentRequest; | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Models\Payment; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class PaymentsController extends Controller | class PaymentsController extends Controller | ||||||
| { | { | ||||||
| @ -30,7 +30,7 @@ class PaymentsController extends Controller | |||||||
|                 'payment_method_id', |                 'payment_method_id', | ||||||
|                 'customer_id', |                 'customer_id', | ||||||
|                 'orderByField', |                 'orderByField', | ||||||
|                 'orderBy' |                 'orderBy', | ||||||
|             ])) |             ])) | ||||||
|             ->whereCompany($request->header('company')) |             ->whereCompany($request->header('company')) | ||||||
|             ->select('payments.*', 'users.name', 'invoices.invoice_number', 'payment_methods.name as payment_mode') |             ->select('payments.*', 'users.name', 'invoices.invoice_number', 'payment_methods.name as payment_mode') | ||||||
| @ -39,7 +39,7 @@ class PaymentsController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'payments' => $payments, |             'payments' => $payments, | ||||||
|             'paymentTotalCount' => Payment::count() |             'paymentTotalCount' => Payment::count(), | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -55,7 +55,7 @@ class PaymentsController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'payment' => $payment, |             'payment' => $payment, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -65,7 +65,7 @@ class PaymentsController extends Controller | |||||||
|             'user', |             'user', | ||||||
|             'invoice', |             'invoice', | ||||||
|             'paymentMethod', |             'paymentMethod', | ||||||
|             'fields.customField' |             'fields.customField', | ||||||
|         ]); |         ]); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
| @ -81,7 +81,7 @@ class PaymentsController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'payment' => $payment, |             'payment' => $payment, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -90,7 +90,7 @@ class PaymentsController extends Controller | |||||||
|         Payment::deletePayments($request->ids); |         Payment::deletePayments($request->ids); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -3,8 +3,8 @@ | |||||||
| namespace Crater\Http\Controllers\V1\Payment; | namespace Crater\Http\Controllers\V1\Payment; | ||||||
|  |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Models\Payment; |  | ||||||
| use Crater\Http\Requests\SendPaymentRequest; | use Crater\Http\Requests\SendPaymentRequest; | ||||||
|  | use Crater\Models\Payment; | ||||||
|  |  | ||||||
| class SendPaymentController extends Controller | class SendPaymentController extends Controller | ||||||
| { | { | ||||||
|  | |||||||
| @ -2,14 +2,14 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Report; | namespace Crater\Http\Controllers\V1\Report; | ||||||
|  |  | ||||||
| use Illuminate\Support\Facades\App; |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Models\Company; |  | ||||||
| use PDF; |  | ||||||
| use Carbon\Carbon; | use Carbon\Carbon; | ||||||
| use Crater\Models\User; |  | ||||||
| use Crater\Models\CompanySetting; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\Company; | ||||||
|  | use Crater\Models\CompanySetting; | ||||||
|  | use Crater\Models\User; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  | use Illuminate\Support\Facades\App; | ||||||
|  | use PDF; | ||||||
|  |  | ||||||
| class CustomerSalesReportController extends Controller | class CustomerSalesReportController extends Controller | ||||||
| { | { | ||||||
| @ -32,11 +32,11 @@ class CustomerSalesReportController extends Controller | |||||||
|         $end = Carbon::createFromFormat('Y-m-d', $request->to_date); |         $end = Carbon::createFromFormat('Y-m-d', $request->to_date); | ||||||
|  |  | ||||||
|         $customers = User::with(['invoices' => function ($query) use ($start, $end) { |         $customers = User::with(['invoices' => function ($query) use ($start, $end) { | ||||||
|                 $query->whereBetween( |             $query->whereBetween( | ||||||
|                     'invoice_date', |                 'invoice_date', | ||||||
|                     [$start->format('Y-m-d'), $end->format('Y-m-d')] |                 [$start->format('Y-m-d'), $end->format('Y-m-d')] | ||||||
|                 ); |             ); | ||||||
|             }]) |         }]) | ||||||
|             ->customer() |             ->customer() | ||||||
|             ->whereCompany($company->id) |             ->whereCompany($company->id) | ||||||
|             ->applyInvoiceFilters($request->only(['from_date', 'to_date'])) |             ->applyInvoiceFilters($request->only(['from_date', 'to_date'])) | ||||||
| @ -65,7 +65,7 @@ class CustomerSalesReportController extends Controller | |||||||
|             'footer_text_color', |             'footer_text_color', | ||||||
|             'footer_total_color', |             'footer_total_color', | ||||||
|             'footer_bg_color', |             'footer_bg_color', | ||||||
|             'date_text_color' |             'date_text_color', | ||||||
|         ]; |         ]; | ||||||
|  |  | ||||||
|         $colorSettings = CompanySetting::whereIn('option', $colors) |         $colorSettings = CompanySetting::whereIn('option', $colors) | ||||||
| @ -78,7 +78,7 @@ class CustomerSalesReportController extends Controller | |||||||
|             'colorSettings' => $colorSettings, |             'colorSettings' => $colorSettings, | ||||||
|             'company' => $company, |             'company' => $company, | ||||||
|             'from_date' => $from_date, |             'from_date' => $from_date, | ||||||
|             'to_date' => $to_date |             'to_date' => $to_date, | ||||||
|         ]); |         ]); | ||||||
|  |  | ||||||
|         $pdf = PDF::loadView('app.pdf.reports.sales-customers'); |         $pdf = PDF::loadView('app.pdf.reports.sales-customers'); | ||||||
|  | |||||||
| @ -2,14 +2,14 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Report; | namespace Crater\Http\Controllers\V1\Report; | ||||||
|  |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Models\Company; |  | ||||||
| use PDF; |  | ||||||
| use Carbon\Carbon; | use Carbon\Carbon; | ||||||
| use Crater\Models\Expense; |  | ||||||
| use Crater\Models\CompanySetting; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\Company; | ||||||
|  | use Crater\Models\CompanySetting; | ||||||
|  | use Crater\Models\Expense; | ||||||
|  | use Illuminate\Http\Request; | ||||||
| use Illuminate\Support\Facades\App; | use Illuminate\Support\Facades\App; | ||||||
|  | use PDF; | ||||||
|  |  | ||||||
| class ExpensesReportController extends Controller | class ExpensesReportController extends Controller | ||||||
| { | { | ||||||
| @ -52,7 +52,7 @@ class ExpensesReportController extends Controller | |||||||
|             'footer_text_color', |             'footer_text_color', | ||||||
|             'footer_total_color', |             'footer_total_color', | ||||||
|             'footer_bg_color', |             'footer_bg_color', | ||||||
|             'date_text_color' |             'date_text_color', | ||||||
|         ]; |         ]; | ||||||
|         $colorSettings = CompanySetting::whereIn('option', $colors) |         $colorSettings = CompanySetting::whereIn('option', $colors) | ||||||
|             ->whereCompany($company->id) |             ->whereCompany($company->id) | ||||||
| @ -64,7 +64,7 @@ class ExpensesReportController extends Controller | |||||||
|             'totalExpense' => $totalAmount, |             'totalExpense' => $totalAmount, | ||||||
|             'company' => $company, |             'company' => $company, | ||||||
|             'from_date' => $from_date, |             'from_date' => $from_date, | ||||||
|             'to_date' => $to_date |             'to_date' => $to_date, | ||||||
|         ]); |         ]); | ||||||
|         $pdf = PDF::loadView('app.pdf.reports.expenses'); |         $pdf = PDF::loadView('app.pdf.reports.expenses'); | ||||||
|  |  | ||||||
|  | |||||||
| @ -2,14 +2,14 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Report; | namespace Crater\Http\Controllers\V1\Report; | ||||||
|  |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Models\Company; |  | ||||||
| use PDF; |  | ||||||
| use Carbon\Carbon; | use Carbon\Carbon; | ||||||
| use Crater\Models\InvoiceItem; |  | ||||||
| use Crater\Models\CompanySetting; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\Company; | ||||||
|  | use Crater\Models\CompanySetting; | ||||||
|  | use Crater\Models\InvoiceItem; | ||||||
|  | use Illuminate\Http\Request; | ||||||
| use Illuminate\Support\Facades\App; | use Illuminate\Support\Facades\App; | ||||||
|  | use PDF; | ||||||
|  |  | ||||||
| class ItemSalesReportController extends Controller | class ItemSalesReportController extends Controller | ||||||
| { | { | ||||||
| @ -51,7 +51,7 @@ class ItemSalesReportController extends Controller | |||||||
|             'footer_text_color', |             'footer_text_color', | ||||||
|             'footer_total_color', |             'footer_total_color', | ||||||
|             'footer_bg_color', |             'footer_bg_color', | ||||||
|             'date_text_color' |             'date_text_color', | ||||||
|         ]; |         ]; | ||||||
|         $colorSettings = CompanySetting::whereIn('option', $colors) |         $colorSettings = CompanySetting::whereIn('option', $colors) | ||||||
|             ->whereCompany($company->id) |             ->whereCompany($company->id) | ||||||
| @ -63,7 +63,7 @@ class ItemSalesReportController extends Controller | |||||||
|             'totalAmount' => $totalAmount, |             'totalAmount' => $totalAmount, | ||||||
|             'company' => $company, |             'company' => $company, | ||||||
|             'from_date' => $from_date, |             'from_date' => $from_date, | ||||||
|             'to_date' => $to_date |             'to_date' => $to_date, | ||||||
|         ]); |         ]); | ||||||
|         $pdf = PDF::loadView('app.pdf.reports.sales-items'); |         $pdf = PDF::loadView('app.pdf.reports.sales-items'); | ||||||
|  |  | ||||||
|  | |||||||
| @ -2,15 +2,15 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Report; | namespace Crater\Http\Controllers\V1\Report; | ||||||
|  |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Models\Company; |  | ||||||
| use PDF; |  | ||||||
| use Carbon\Carbon; | use Carbon\Carbon; | ||||||
| use Crater\Models\Invoice; |  | ||||||
| use Crater\Models\Expense; |  | ||||||
| use Crater\Models\CompanySetting; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\Company; | ||||||
|  | use Crater\Models\CompanySetting; | ||||||
|  | use Crater\Models\Expense; | ||||||
|  | use Crater\Models\Invoice; | ||||||
|  | use Illuminate\Http\Request; | ||||||
| use Illuminate\Support\Facades\App; | use Illuminate\Support\Facades\App; | ||||||
|  | use PDF; | ||||||
|  |  | ||||||
| class ProfitLossReportController extends Controller | class ProfitLossReportController extends Controller | ||||||
| { | { | ||||||
| @ -58,7 +58,7 @@ class ProfitLossReportController extends Controller | |||||||
|             'footer_text_color', |             'footer_text_color', | ||||||
|             'footer_total_color', |             'footer_total_color', | ||||||
|             'footer_bg_color', |             'footer_bg_color', | ||||||
|             'date_text_color' |             'date_text_color', | ||||||
|         ]; |         ]; | ||||||
|         $colorSettings = CompanySetting::whereIn('option', $colors) |         $colorSettings = CompanySetting::whereIn('option', $colors) | ||||||
|             ->whereCompany($company->id) |             ->whereCompany($company->id) | ||||||
| @ -72,7 +72,7 @@ class ProfitLossReportController extends Controller | |||||||
|             'colorSettings' => $colorSettings, |             'colorSettings' => $colorSettings, | ||||||
|             'company' => $company, |             'company' => $company, | ||||||
|             'from_date' => $from_date, |             'from_date' => $from_date, | ||||||
|             'to_date' => $to_date |             'to_date' => $to_date, | ||||||
|         ]); |         ]); | ||||||
|         $pdf = PDF::loadView('app.pdf.reports.profit-loss'); |         $pdf = PDF::loadView('app.pdf.reports.profit-loss'); | ||||||
|  |  | ||||||
|  | |||||||
| @ -2,14 +2,14 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Report; | namespace Crater\Http\Controllers\V1\Report; | ||||||
|  |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Models\Company; |  | ||||||
| use PDF; |  | ||||||
| use Carbon\Carbon; | use Carbon\Carbon; | ||||||
| use Crater\Models\Tax; |  | ||||||
| use Crater\Models\CompanySetting; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\Company; | ||||||
|  | use Crater\Models\CompanySetting; | ||||||
|  | use Crater\Models\Tax; | ||||||
|  | use Illuminate\Http\Request; | ||||||
| use Illuminate\Support\Facades\App; | use Illuminate\Support\Facades\App; | ||||||
|  | use PDF; | ||||||
|  |  | ||||||
| class TaxSummaryReportController extends Controller | class TaxSummaryReportController extends Controller | ||||||
| { | { | ||||||
| @ -52,7 +52,7 @@ class TaxSummaryReportController extends Controller | |||||||
|             'footer_text_color', |             'footer_text_color', | ||||||
|             'footer_total_color', |             'footer_total_color', | ||||||
|             'footer_bg_color', |             'footer_bg_color', | ||||||
|             'date_text_color' |             'date_text_color', | ||||||
|         ]; |         ]; | ||||||
|  |  | ||||||
|         $colorSettings = CompanySetting::whereIn('option', $colors) |         $colorSettings = CompanySetting::whereIn('option', $colors) | ||||||
| @ -65,7 +65,7 @@ class TaxSummaryReportController extends Controller | |||||||
|             'colorSettings' => $colorSettings, |             'colorSettings' => $colorSettings, | ||||||
|             'company' => $company, |             'company' => $company, | ||||||
|             'from_date' => $from_date, |             'from_date' => $from_date, | ||||||
|             'to_date' => $to_date |             'to_date' => $to_date, | ||||||
|         ]); |         ]); | ||||||
|  |  | ||||||
|         $pdf = PDF::loadView('app.pdf.reports.tax-summary'); |         $pdf = PDF::loadView('app.pdf.reports.tax-summary'); | ||||||
|  | |||||||
| @ -2,11 +2,11 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Settings; | namespace Crater\Http\Controllers\V1\Settings; | ||||||
|  |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Models\Company; |  | ||||||
| use Crater\Http\Requests\ProfileRequest; |  | ||||||
| use Crater\Http\Requests\CompanyRequest; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Http\Requests\CompanyRequest; | ||||||
|  | use Crater\Http\Requests\ProfileRequest; | ||||||
|  | use Crater\Models\Company; | ||||||
|  | use Illuminate\Http\Request; | ||||||
| use Illuminate\Support\Facades\Auth; | use Illuminate\Support\Facades\Auth; | ||||||
|  |  | ||||||
| class CompanyController extends Controller | class CompanyController extends Controller | ||||||
| @ -24,11 +24,11 @@ class CompanyController extends Controller | |||||||
|             'addresses.country', |             'addresses.country', | ||||||
|             'company', |             'company', | ||||||
|             'company.address', |             'company.address', | ||||||
|             'company.address.country' |             'company.address.country', | ||||||
|         ]); |         ]); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'user' => $user |             'user' => $user, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -47,7 +47,7 @@ class CompanyController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'user' => $user, |             'user' => $user, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -66,7 +66,7 @@ class CompanyController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'company' => $company, |             'company' => $company, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -93,7 +93,7 @@ class CompanyController extends Controller | |||||||
|         } |         } | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -121,7 +121,7 @@ class CompanyController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'user' => $user, |             'user' => $user, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -3,10 +3,10 @@ | |||||||
| namespace Crater\Http\Controllers\V1\Settings; | namespace Crater\Http\Controllers\V1\Settings; | ||||||
|  |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Models\FileDisk; |  | ||||||
| use Crater\Http\Requests\DiskEnvironmentRequest; | use Crater\Http\Requests\DiskEnvironmentRequest; | ||||||
|  | use Crater\Models\FileDisk; | ||||||
| use Illuminate\Http\JsonResponse; | use Illuminate\Http\JsonResponse; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class DiskController extends Controller | class DiskController extends Controller | ||||||
| { | { | ||||||
| @ -33,10 +33,10 @@ class DiskController extends Controller | |||||||
|      */ |      */ | ||||||
|     public function store(DiskEnvironmentRequest $request) |     public function store(DiskEnvironmentRequest $request) | ||||||
|     { |     { | ||||||
|         if(!FileDisk::validateCredentials($request->credentials, $request->driver)) { |         if (! FileDisk::validateCredentials($request->credentials, $request->driver)) { | ||||||
|             return response()->json([ |             return response()->json([ | ||||||
|                 'success' => false, |                 'success' => false, | ||||||
|                 'error' => 'invalid_credentials' |                 'error' => 'invalid_credentials', | ||||||
|             ]); |             ]); | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @ -44,7 +44,7 @@ class DiskController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true, |             'success' => true, | ||||||
|             'disk' => $disk |             'disk' => $disk, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -59,22 +59,22 @@ class DiskController extends Controller | |||||||
|         $credentials = $request->credentials; |         $credentials = $request->credentials; | ||||||
|         $driver = $request->driver; |         $driver = $request->driver; | ||||||
|  |  | ||||||
|         if($credentials && $driver && $disk->type !== 'SYSTEM') { |         if ($credentials && $driver && $disk->type !== 'SYSTEM') { | ||||||
|             if(!FileDisk::validateCredentials($credentials, $driver)) { |             if (! FileDisk::validateCredentials($credentials, $driver)) { | ||||||
|                 return response()->json([ |                 return response()->json([ | ||||||
|                     'success' => false, |                     'success' => false, | ||||||
|                     'error' => 'invalid_credentials' |                     'error' => 'invalid_credentials', | ||||||
|                 ]); |                 ]); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             $disk->updateDisk($request); |             $disk->updateDisk($request); | ||||||
|         } else if($request->set_as_default) { |         } elseif ($request->set_as_default) { | ||||||
|             $disk->setAsDefaultDisk(); |             $disk->setAsDefaultDisk(); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true, |             'success' => true, | ||||||
|             'disk' => $disk |             'disk' => $disk, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -90,6 +90,7 @@ class DiskController extends Controller | |||||||
|                 $diskData = [ |                 $diskData = [ | ||||||
|                     'root' => config('filesystems.disks.local.root'), |                     'root' => config('filesystems.disks.local.root'), | ||||||
|                 ]; |                 ]; | ||||||
|  |  | ||||||
|                 break; |                 break; | ||||||
|  |  | ||||||
|  |  | ||||||
| @ -101,6 +102,7 @@ class DiskController extends Controller | |||||||
|                     'bucket' => '', |                     'bucket' => '', | ||||||
|                     'root' => '', |                     'root' => '', | ||||||
|                 ]; |                 ]; | ||||||
|  |  | ||||||
|                 break; |                 break; | ||||||
|  |  | ||||||
|             case 'doSpaces': |             case 'doSpaces': | ||||||
| @ -112,6 +114,7 @@ class DiskController extends Controller | |||||||
|                     'endpoint' => '', |                     'endpoint' => '', | ||||||
|                     'root' => '', |                     'root' => '', | ||||||
|                 ]; |                 ]; | ||||||
|  |  | ||||||
|                 break; |                 break; | ||||||
|  |  | ||||||
|             case 'dropbox': |             case 'dropbox': | ||||||
| @ -122,6 +125,7 @@ class DiskController extends Controller | |||||||
|                     'app' => '', |                     'app' => '', | ||||||
|                     'root' => '', |                     'root' => '', | ||||||
|                 ]; |                 ]; | ||||||
|  |  | ||||||
|                 break; |                 break; | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @ -140,14 +144,14 @@ class DiskController extends Controller | |||||||
|     { |     { | ||||||
|         if ($disk->setAsDefault() && $disk->type === 'SYSTEM') { |         if ($disk->setAsDefault() && $disk->type === 'SYSTEM') { | ||||||
|             return response()->json([ |             return response()->json([ | ||||||
|                 'success' => false |                 'success' => false, | ||||||
|             ]); |             ]); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         $disk->delete(); |         $disk->delete(); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -160,19 +164,19 @@ class DiskController extends Controller | |||||||
|         $drivers = [ |         $drivers = [ | ||||||
|             [ |             [ | ||||||
|                 'name' => 'Local', |                 'name' => 'Local', | ||||||
|                 'value' => 'local' |                 'value' => 'local', | ||||||
|             ], |             ], | ||||||
|             [ |             [ | ||||||
|                 'name' => 'Amazon S3', |                 'name' => 'Amazon S3', | ||||||
|                 'value' => 's3' |                 'value' => 's3', | ||||||
|             ], |             ], | ||||||
|             [ |             [ | ||||||
|                 'name' => 'Digital Ocean Spaces', |                 'name' => 'Digital Ocean Spaces', | ||||||
|                 'value' => 'doSpaces' |                 'value' => 'doSpaces', | ||||||
|             ], |             ], | ||||||
|             [ |             [ | ||||||
|                 'name' => 'Dropbox', |                 'name' => 'Dropbox', | ||||||
|                 'value' => 'dropbox' |                 'value' => 'dropbox', | ||||||
|             ], |             ], | ||||||
|         ]; |         ]; | ||||||
|  |  | ||||||
| @ -180,7 +184,7 @@ class DiskController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'drivers' => $drivers, |             'drivers' => $drivers, | ||||||
|             'default' => $default |             'default' => $default, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,9 +2,9 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Settings; | namespace Crater\Http\Controllers\V1\Settings; | ||||||
|  |  | ||||||
| use Crater\Models\CompanySetting; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Http\Requests\GetSettingsRequest; | use Crater\Http\Requests\GetSettingsRequest; | ||||||
|  | use Crater\Models\CompanySetting; | ||||||
|  |  | ||||||
| class GetCompanySettingsController extends Controller | class GetCompanySettingsController extends Controller | ||||||
| { | { | ||||||
|  | |||||||
| @ -2,13 +2,13 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Settings; | namespace Crater\Http\Controllers\V1\Settings; | ||||||
|  |  | ||||||
| use Crater\Models\Setting; |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Space\EnvironmentManager; |  | ||||||
| use Crater\Http\Requests\MailEnvironmentRequest; |  | ||||||
| use Illuminate\Http\JsonResponse; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Http\Requests\MailEnvironmentRequest; | ||||||
| use Crater\Mail\TestMail; | use Crater\Mail\TestMail; | ||||||
|  | use Crater\Models\Setting; | ||||||
|  | use Crater\Space\EnvironmentManager; | ||||||
|  | use Illuminate\Http\JsonResponse; | ||||||
|  | use Illuminate\Http\Request; | ||||||
| use Mail; | use Mail; | ||||||
|  |  | ||||||
| class MailConfigurationController extends Controller | class MailConfigurationController extends Controller | ||||||
| @ -36,8 +36,7 @@ class MailConfigurationController extends Controller | |||||||
|         $setting = Setting::getSetting('profile_complete'); |         $setting = Setting::getSetting('profile_complete'); | ||||||
|         $results = $this->environmentManager->saveMailVariables($request); |         $results = $this->environmentManager->saveMailVariables($request); | ||||||
|  |  | ||||||
|         if ($setting !== 'COMPLETED') |         if ($setting !== 'COMPLETED') { | ||||||
|         { |  | ||||||
|             Setting::setSetting('profile_complete', 4); |             Setting::setSetting('profile_complete', 4); | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @ -77,7 +76,7 @@ class MailConfigurationController extends Controller | |||||||
|             'mail', |             'mail', | ||||||
|             'sendmail', |             'sendmail', | ||||||
|             'mailgun', |             'mailgun', | ||||||
|             'ses' |             'ses', | ||||||
|         ]; |         ]; | ||||||
|  |  | ||||||
|         return response()->json($drivers); |         return response()->json($drivers); | ||||||
| @ -88,13 +87,13 @@ class MailConfigurationController extends Controller | |||||||
|         $this->validate($request, [ |         $this->validate($request, [ | ||||||
|             'to' => 'required|email', |             'to' => 'required|email', | ||||||
|             'subject' => 'required', |             'subject' => 'required', | ||||||
|             'message' => 'required' |             'message' => 'required', | ||||||
|         ]); |         ]); | ||||||
|  |  | ||||||
|         Mail::to($request->to)->send(new TestMail($request->subject, $request->message)); |         Mail::to($request->to)->send(new TestMail($request->subject, $request->message)); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,10 +2,10 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Settings; | namespace Crater\Http\Controllers\V1\Settings; | ||||||
|  |  | ||||||
| use Crater\Models\TaxType; |  | ||||||
| use Crater\Http\Requests\TaxTypeRequest; |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Http\Requests\TaxTypeRequest; | ||||||
|  | use Crater\Models\TaxType; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class TaxTypesController extends Controller | class TaxTypesController extends Controller | ||||||
| { | { | ||||||
| @ -23,13 +23,13 @@ class TaxTypesController extends Controller | |||||||
|                 'tax_type_id', |                 'tax_type_id', | ||||||
|                 'search', |                 'search', | ||||||
|                 'orderByField', |                 'orderByField', | ||||||
|                 'orderBy' |                 'orderBy', | ||||||
|             ])) |             ])) | ||||||
|             ->latest() |             ->latest() | ||||||
|             ->paginateData($limit); |             ->paginateData($limit); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'taxTypes' => $taxTypes |             'taxTypes' => $taxTypes, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -61,7 +61,7 @@ class TaxTypesController extends Controller | |||||||
|     public function show(TaxType $taxType) |     public function show(TaxType $taxType) | ||||||
|     { |     { | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'taxType' => $taxType |             'taxType' => $taxType, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -91,13 +91,13 @@ class TaxTypesController extends Controller | |||||||
|     { |     { | ||||||
|         if ($taxType->taxes() && $taxType->taxes()->count() > 0) { |         if ($taxType->taxes() && $taxType->taxes()->count() > 0) { | ||||||
|             return response()->json([ |             return response()->json([ | ||||||
|                 'success' => false |                 'success' => false, | ||||||
|             ]); |             ]); | ||||||
|         } |         } | ||||||
|         $taxType->delete(); |         $taxType->delete(); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,9 +2,9 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Settings; | namespace Crater\Http\Controllers\V1\Settings; | ||||||
|  |  | ||||||
| use Crater\Models\CompanySetting; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Http\Requests\UpdateSettingsRequest; | use Crater\Http\Requests\UpdateSettingsRequest; | ||||||
|  | use Crater\Models\CompanySetting; | ||||||
|  |  | ||||||
| class UpdateCompanySettingsController extends Controller | class UpdateCompanySettingsController extends Controller | ||||||
| { | { | ||||||
| @ -19,7 +19,7 @@ class UpdateCompanySettingsController extends Controller | |||||||
|         CompanySetting::setSettings($request->settings, $request->header('company')); |         CompanySetting::setSettings($request->settings, $request->header('company')); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -21,7 +21,7 @@ class UpdateUserSettingsController extends Controller | |||||||
|         $user->setSettings($request->settings); |         $user->setSettings($request->settings); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -24,7 +24,7 @@ class CopyFilesController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true, |             'success' => true, | ||||||
|             'path' => $path |             'path' => $path, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -3,8 +3,8 @@ | |||||||
| namespace Crater\Http\Controllers\V1\Update; | namespace Crater\Http\Controllers\V1\Update; | ||||||
|  |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Space\Updater; | use Crater\Space\Updater; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class DeleteFilesController extends Controller | class DeleteFilesController extends Controller | ||||||
| { | { | ||||||
| @ -16,8 +16,7 @@ class DeleteFilesController extends Controller | |||||||
|      */ |      */ | ||||||
|     public function __invoke(Request $request) |     public function __invoke(Request $request) | ||||||
|     { |     { | ||||||
|  |         if (isset($request->deleted_files) && ! empty($request->deleted_files)) { | ||||||
|         if(isset($request->deleted_files) && !empty($request->deleted_files)) { |  | ||||||
|             Updater::deleteFiles($request->deleted_files); |             Updater::deleteFiles($request->deleted_files); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  | |||||||
| @ -24,7 +24,7 @@ class DownloadUpdateController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true, |             'success' => true, | ||||||
|             'path' => $path |             'path' => $path, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -19,7 +19,7 @@ class MigrateUpdateController extends Controller | |||||||
|         Updater::migrateUpdate(); |         Updater::migrateUpdate(); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -25,13 +25,12 @@ class UnzipUpdateController extends Controller | |||||||
|  |  | ||||||
|             return response()->json([ |             return response()->json([ | ||||||
|                 'success' => true, |                 'success' => true, | ||||||
|                 'path' => $path |                 'path' => $path, | ||||||
|             ]); |             ]); | ||||||
|  |  | ||||||
|         } catch (\Exception $e) { |         } catch (\Exception $e) { | ||||||
|             return response()->json([ |             return response()->json([ | ||||||
|                 'success' => false, |                 'success' => false, | ||||||
|                 'error' => $e->getMessage() |                 'error' => $e->getMessage(), | ||||||
|             ], 500); |             ], 500); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -2,12 +2,10 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Controllers\V1\Update; | namespace Crater\Http\Controllers\V1\Update; | ||||||
|  |  | ||||||
| use Crater\Models\Setting; |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Crater\Space\Updater; |  | ||||||
| use Crater\Space\SiteApi; |  | ||||||
| use Illuminate\Support\Facades\Artisan; |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
|  | use Crater\Models\Setting; | ||||||
|  | use Crater\Space\Updater; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class UpdateController extends Controller | class UpdateController extends Controller | ||||||
| { | { | ||||||
| @ -21,7 +19,7 @@ class UpdateController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true, |             'success' => true, | ||||||
|             'path' => $path |             'path' => $path, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -36,13 +34,12 @@ class UpdateController extends Controller | |||||||
|  |  | ||||||
|             return response()->json([ |             return response()->json([ | ||||||
|                 'success' => true, |                 'success' => true, | ||||||
|                 'path' => $path |                 'path' => $path, | ||||||
|             ]); |             ]); | ||||||
|  |  | ||||||
|         } catch (\Exception $e) { |         } catch (\Exception $e) { | ||||||
|             return response()->json([ |             return response()->json([ | ||||||
|                 'success' => false, |                 'success' => false, | ||||||
|                 'error' => $e->getMessage() |                 'error' => $e->getMessage(), | ||||||
|             ], 500); |             ], 500); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| @ -57,7 +54,7 @@ class UpdateController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true, |             'success' => true, | ||||||
|             'path' => $path |             'path' => $path, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -66,7 +63,7 @@ class UpdateController extends Controller | |||||||
|         Updater::migrateUpdate(); |         Updater::migrateUpdate(); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | |||||||
| @ -4,8 +4,8 @@ namespace Crater\Http\Controllers\V1\Users; | |||||||
|  |  | ||||||
| use Crater\Http\Controllers\Controller; | use Crater\Http\Controllers\Controller; | ||||||
| use Crater\Http\Requests\UserRequest; | use Crater\Http\Requests\UserRequest; | ||||||
| use Crater\Models\User; |  | ||||||
| use Crater\Models\CompanySetting; | use Crater\Models\CompanySetting; | ||||||
|  | use Crater\Models\User; | ||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
| use Illuminate\Support\Facades\Auth; | use Illuminate\Support\Facades\Auth; | ||||||
|  |  | ||||||
| @ -28,14 +28,14 @@ class UsersController extends Controller | |||||||
|                     'email', |                     'email', | ||||||
|                     'display_name', |                     'display_name', | ||||||
|                     'orderByField', |                     'orderByField', | ||||||
|                     'orderBy' |                     'orderBy', | ||||||
|                 ]) |                 ]) | ||||||
|             ) |             ) | ||||||
|             ->latest() |             ->latest() | ||||||
|             ->paginate($limit); |             ->paginate($limit); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'users' => $users |             'users' => $users, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -54,12 +54,12 @@ class UsersController extends Controller | |||||||
|         $user = User::create($data); |         $user = User::create($data); | ||||||
|  |  | ||||||
|         $user->setSettings([ |         $user->setSettings([ | ||||||
|             'language' => CompanySetting::getSetting('language', $user->company_id) |             'language' => CompanySetting::getSetting('language', $user->company_id), | ||||||
|         ]); |         ]); | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'user' => $user, |             'user' => $user, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -73,7 +73,7 @@ class UsersController extends Controller | |||||||
|     { |     { | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'user' => $user, |             'user' => $user, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -90,7 +90,7 @@ class UsersController extends Controller | |||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'user' => $user, |             'user' => $user, | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -107,7 +107,7 @@ class UsersController extends Controller | |||||||
|         } |         } | ||||||
|  |  | ||||||
|         return response()->json([ |         return response()->json([ | ||||||
|             'success' => true |             'success' => true, | ||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,8 +2,8 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http; | namespace Crater\Http; | ||||||
|  |  | ||||||
| use Illuminate\Foundation\Http\Kernel as HttpKernel; |  | ||||||
| use Crater\Http\Middleware\AdminMiddleware; | use Crater\Http\Middleware\AdminMiddleware; | ||||||
|  | use Illuminate\Foundation\Http\Kernel as HttpKernel; | ||||||
| use Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful; | use Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful; | ||||||
|  |  | ||||||
| class Kernel extends HttpKernel | class Kernel extends HttpKernel | ||||||
| @ -22,7 +22,7 @@ class Kernel extends HttpKernel | |||||||
|         \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, |         \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, | ||||||
|         \Crater\Http\Middleware\TrustProxies::class, |         \Crater\Http\Middleware\TrustProxies::class, | ||||||
|         \Crater\Http\Middleware\ConfigMiddleware::class, |         \Crater\Http\Middleware\ConfigMiddleware::class, | ||||||
|         \Fruitcake\Cors\HandleCors::class |         \Fruitcake\Cors\HandleCors::class, | ||||||
|     ]; |     ]; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @ -68,6 +68,7 @@ class Kernel extends HttpKernel | |||||||
|         'redirect-if-installed' => \Crater\Http\Middleware\RedirectIfInstalled::class, |         'redirect-if-installed' => \Crater\Http\Middleware\RedirectIfInstalled::class, | ||||||
|         'redirect-if-unauthenticated' => \Crater\Http\Middleware\RedirectIfUnauthorized::class, |         'redirect-if-unauthenticated' => \Crater\Http\Middleware\RedirectIfUnauthorized::class, | ||||||
|     ]; |     ]; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * The priority-sorted list of middleware. |      * The priority-sorted list of middleware. | ||||||
|      * |      * | ||||||
|  | |||||||
| @ -17,7 +17,7 @@ class AdminMiddleware | |||||||
|      */ |      */ | ||||||
|     public function handle($request, Closure $next, $guard = null) |     public function handle($request, Closure $next, $guard = null) | ||||||
|     { |     { | ||||||
|         if (Auth::guard($guard)->guest() || !Auth::user()->isSuperAdminOrAdmin()) { |         if (Auth::guard($guard)->guest() || ! Auth::user()->isSuperAdminOrAdmin()) { | ||||||
|             if ($request->ajax() || $request->wantsJson()) { |             if ($request->ajax() || $request->wantsJson()) { | ||||||
|                 return response('Unauthorized.', 401); |                 return response('Unauthorized.', 401); | ||||||
|             } else { |             } else { | ||||||
|  | |||||||
| @ -1,4 +1,5 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| namespace Crater\Http\Middleware; | namespace Crater\Http\Middleware; | ||||||
|  |  | ||||||
| use Illuminate\Auth\Middleware\Authenticate as Middleware; | use Illuminate\Auth\Middleware\Authenticate as Middleware; | ||||||
|  | |||||||
| @ -1,4 +1,5 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| namespace Crater\Http\Middleware; | namespace Crater\Http\Middleware; | ||||||
|  |  | ||||||
| use Closure; | use Closure; | ||||||
| @ -26,13 +27,13 @@ class ConfigMiddleware | |||||||
|                 date_default_timezone_set($setting); |                 date_default_timezone_set($setting); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             if($request->has('file_disk_id')) { |             if ($request->has('file_disk_id')) { | ||||||
|                 $file_disk = FileDisk::find($request->file_disk_id); |                 $file_disk = FileDisk::find($request->file_disk_id); | ||||||
|             } else { |             } else { | ||||||
|                 $file_disk = FileDisk::whereSetAsDefault(true)->first(); |                 $file_disk = FileDisk::whereSetAsDefault(true)->first(); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             if($file_disk) { |             if ($file_disk) { | ||||||
|                 $file_disk->setConfig(); |                 $file_disk->setConfig(); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -1,4 +1,5 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| namespace Crater\Http\Middleware; | namespace Crater\Http\Middleware; | ||||||
|  |  | ||||||
| use Illuminate\Cookie\Middleware\EncryptCookies as Middleware; | use Illuminate\Cookie\Middleware\EncryptCookies as Middleware; | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ class InstallationMiddleware | |||||||
|      */ |      */ | ||||||
|     public function handle($request, Closure $next) |     public function handle($request, Closure $next) | ||||||
|     { |     { | ||||||
|         if (!\Storage::disk('local')->has('database_created')) { |         if (! \Storage::disk('local')->has('database_created')) { | ||||||
|             return redirect('/on-boarding'); |             return redirect('/on-boarding'); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  | |||||||
| @ -2,8 +2,8 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Middleware; | namespace Crater\Http\Middleware; | ||||||
|  |  | ||||||
| use Crater\Providers\RouteServiceProvider; |  | ||||||
| use Closure; | use Closure; | ||||||
|  | use Crater\Providers\RouteServiceProvider; | ||||||
| use Illuminate\Support\Facades\Auth; | use Illuminate\Support\Facades\Auth; | ||||||
|  |  | ||||||
| class RedirectIfAuthenticated | class RedirectIfAuthenticated | ||||||
|  | |||||||
| @ -1,4 +1,5 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| namespace Crater\Http\Middleware; | namespace Crater\Http\Middleware; | ||||||
|  |  | ||||||
| use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware; | use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware; | ||||||
|  | |||||||
| @ -1,8 +1,9 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| namespace Crater\Http\Middleware; | namespace Crater\Http\Middleware; | ||||||
|  |  | ||||||
| use Illuminate\Http\Request; |  | ||||||
| use Fideloper\Proxy\TrustProxies as Middleware; | use Fideloper\Proxy\TrustProxies as Middleware; | ||||||
|  | use Illuminate\Http\Request; | ||||||
|  |  | ||||||
| class TrustProxies extends Middleware | class TrustProxies extends Middleware | ||||||
| { | { | ||||||
| @ -12,6 +13,7 @@ class TrustProxies extends Middleware | |||||||
|      * @var array |      * @var array | ||||||
|      */ |      */ | ||||||
|     protected $proxies; |     protected $proxies; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * The current proxy header mappings. |      * The current proxy header mappings. | ||||||
|      * |      * | ||||||
|  | |||||||
| @ -1,4 +1,5 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| namespace Crater\Http\Middleware; | namespace Crater\Http\Middleware; | ||||||
|  |  | ||||||
| use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware; | use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware; | ||||||
| @ -18,6 +19,6 @@ class VerifyCsrfToken extends Middleware | |||||||
|      * @var array |      * @var array | ||||||
|      */ |      */ | ||||||
|     protected $except = [ |     protected $except = [ | ||||||
|         'login' |         'login', | ||||||
|     ]; |     ]; | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,4 +1,5 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| namespace Crater\Http\Requests; | namespace Crater\Http\Requests; | ||||||
|  |  | ||||||
| use Illuminate\Foundation\Http\FormRequest; | use Illuminate\Foundation\Http\FormRequest; | ||||||
| @ -24,11 +25,11 @@ class CompanyRequest extends FormRequest | |||||||
|     { |     { | ||||||
|         return [ |         return [ | ||||||
|             'name' => [ |             'name' => [ | ||||||
|                 'required' |                 'required', | ||||||
|             ], |             ], | ||||||
|             'country_id' => [ |             'country_id' => [ | ||||||
|                 'required' |                 'required', | ||||||
|             ] |             ], | ||||||
|         ]; |         ]; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,4 +1,5 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| namespace Crater\Http\Requests; | namespace Crater\Http\Requests; | ||||||
|  |  | ||||||
| use Illuminate\Foundation\Http\FormRequest; | use Illuminate\Foundation\Http\FormRequest; | ||||||
| @ -24,23 +25,23 @@ class CompanySettingRequest extends FormRequest | |||||||
|     { |     { | ||||||
|         return [ |         return [ | ||||||
|             'currency' => [ |             'currency' => [ | ||||||
|                 'required' |                 'required', | ||||||
|             ], |             ], | ||||||
|             'time_zone' => [ |             'time_zone' => [ | ||||||
|                 'required' |                 'required', | ||||||
|             ], |             ], | ||||||
|             'language' => [ |             'language' => [ | ||||||
|                 'required' |                 'required', | ||||||
|             ], |             ], | ||||||
|             'fiscal_year' => [ |             'fiscal_year' => [ | ||||||
|                 'required' |                 'required', | ||||||
|             ], |             ], | ||||||
|             'moment_date_format' => [ |             'moment_date_format' => [ | ||||||
|                 'required' |                 'required', | ||||||
|             ], |             ], | ||||||
|             'carbon_date_format' => [ |             'carbon_date_format' => [ | ||||||
|                 'required' |                 'required', | ||||||
|             ] |             ], | ||||||
|         ]; |         ]; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -26,19 +26,19 @@ class CustomerRequest extends FormRequest | |||||||
|     { |     { | ||||||
|         $rules = [ |         $rules = [ | ||||||
|             'name' => [ |             'name' => [ | ||||||
|                 'required' |                 'required', | ||||||
|             ], |             ], | ||||||
|             'addresses.*.address_street_1' => [ |             'addresses.*.address_street_1' => [ | ||||||
|                 'max:255' |                 'max:255', | ||||||
|             ], |             ], | ||||||
|             'addresses.*.address_street_2' => [ |             'addresses.*.address_street_2' => [ | ||||||
|                 'max:255' |                 'max:255', | ||||||
|             ], |             ], | ||||||
|             'email' => [ |             'email' => [ | ||||||
|                 'email', |                 'email', | ||||||
|                 'nullable', |                 'nullable', | ||||||
|                 'unique:users,email', |                 'unique:users,email', | ||||||
|             ] |             ], | ||||||
|         ]; |         ]; | ||||||
|  |  | ||||||
|         if ($this->isMethod('PUT') && $this->email != null) { |         if ($this->isMethod('PUT') && $this->email != null) { | ||||||
| @ -46,8 +46,8 @@ class CustomerRequest extends FormRequest | |||||||
|                 'email' => [ |                 'email' => [ | ||||||
|                     'email', |                     'email', | ||||||
|                     'nullable', |                     'nullable', | ||||||
|                     Rule::unique('users')->ignore($this->route('customer')->id) |                     Rule::unique('users')->ignore($this->route('customer')->id), | ||||||
|                 ] |                 ], | ||||||
|             ]; |             ]; | ||||||
|         }; |         }; | ||||||
|  |  | ||||||
|  | |||||||
| @ -28,51 +28,53 @@ class DatabaseEnvironmentRequest extends FormRequest | |||||||
|                 return  [ |                 return  [ | ||||||
|                     'app_url' => [ |                     'app_url' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'url' |                         'url', | ||||||
|                     ], |                     ], | ||||||
|                     'app_domain' => [ |                     'app_domain' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                     ], |                     ], | ||||||
|                     'database_connection' => [ |                     'database_connection' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                     'database_name' => [ |                     'database_name' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                 ]; |                 ]; | ||||||
|  |  | ||||||
|                 break; |                 break; | ||||||
|             default: |             default: | ||||||
|                 return  [ |                 return  [ | ||||||
|                     'app_url' => [ |                     'app_url' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'url' |                         'url', | ||||||
|                     ], |                     ], | ||||||
|                     'app_domain' => [ |                     'app_domain' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                     ], |                     ], | ||||||
|                     'database_connection' => [ |                     'database_connection' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                     'database_hostname' => [ |                     'database_hostname' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                     'database_port' => [ |                     'database_port' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'numeric' |                         'numeric', | ||||||
|                     ], |                     ], | ||||||
|                     'database_name' => [ |                     'database_name' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                     'database_username' => [ |                     'database_username' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                 ]; |                 ]; | ||||||
|  |  | ||||||
|             break; |             break; | ||||||
|  |  | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -2,8 +2,8 @@ | |||||||
|  |  | ||||||
| namespace Crater\Http\Requests; | namespace Crater\Http\Requests; | ||||||
|  |  | ||||||
| use Illuminate\Validation\Rule; |  | ||||||
| use Illuminate\Foundation\Http\FormRequest; | use Illuminate\Foundation\Http\FormRequest; | ||||||
|  | use Illuminate\Validation\Rule; | ||||||
|  |  | ||||||
| class DeleteCustomersRequest extends FormRequest | class DeleteCustomersRequest extends FormRequest | ||||||
| { | { | ||||||
| @ -26,12 +26,12 @@ class DeleteCustomersRequest extends FormRequest | |||||||
|     { |     { | ||||||
|         return [ |         return [ | ||||||
|             'ids' => [ |             'ids' => [ | ||||||
|                 'required' |                 'required', | ||||||
|             ], |             ], | ||||||
|             'ids.*' => [ |             'ids.*' => [ | ||||||
|                 'required', |                 'required', | ||||||
|                 Rule::exists('users', 'id') |                 Rule::exists('users', 'id'), | ||||||
|             ] |             ], | ||||||
|         ]; |         ]; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -26,12 +26,12 @@ class DeleteEstimatesRequest extends FormRequest | |||||||
|     { |     { | ||||||
|         return [ |         return [ | ||||||
|             'ids' => [ |             'ids' => [ | ||||||
|                 'required' |                 'required', | ||||||
|             ], |             ], | ||||||
|             'ids.*' => [ |             'ids.*' => [ | ||||||
|                 'required', |                 'required', | ||||||
|                 Rule::exists('estimates', 'id') |                 Rule::exists('estimates', 'id'), | ||||||
|             ] |             ], | ||||||
|         ]; |         ]; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -26,12 +26,12 @@ class DeleteExpensesRequest extends FormRequest | |||||||
|     { |     { | ||||||
|         return [ |         return [ | ||||||
|             'ids' => [ |             'ids' => [ | ||||||
|                 'required' |                 'required', | ||||||
|             ], |             ], | ||||||
|             'ids.*' => [ |             'ids.*' => [ | ||||||
|                 'required', |                 'required', | ||||||
|                 Rule::exists('expenses', 'id') |                 Rule::exists('expenses', 'id'), | ||||||
|             ] |             ], | ||||||
|         ]; |         ]; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -4,8 +4,8 @@ namespace Crater\Http\Requests; | |||||||
|  |  | ||||||
| use Crater\Models\Invoice; | use Crater\Models\Invoice; | ||||||
| use Crater\Rules\RelationNotExist; | use Crater\Rules\RelationNotExist; | ||||||
| use Illuminate\Validation\Rule; |  | ||||||
| use Illuminate\Foundation\Http\FormRequest; | use Illuminate\Foundation\Http\FormRequest; | ||||||
|  | use Illuminate\Validation\Rule; | ||||||
|  |  | ||||||
| class DeleteInvoiceRequest extends FormRequest | class DeleteInvoiceRequest extends FormRequest | ||||||
| { | { | ||||||
| @ -28,13 +28,13 @@ class DeleteInvoiceRequest extends FormRequest | |||||||
|     { |     { | ||||||
|         return [ |         return [ | ||||||
|             'ids' => [ |             'ids' => [ | ||||||
|                 'required' |                 'required', | ||||||
|             ], |             ], | ||||||
|             'ids.*' => [ |             'ids.*' => [ | ||||||
|                 'required', |                 'required', | ||||||
|                 Rule::exists('invoices', 'id'), |                 Rule::exists('invoices', 'id'), | ||||||
|                 new RelationNotExist(Invoice::class, 'payments') |                 new RelationNotExist(Invoice::class, 'payments'), | ||||||
|             ] |             ], | ||||||
|         ]; |         ]; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -28,15 +28,15 @@ class DeleteItemsRequest extends FormRequest | |||||||
|     { |     { | ||||||
|         return [ |         return [ | ||||||
|             'ids' => [ |             'ids' => [ | ||||||
|                 'required' |                 'required', | ||||||
|             ], |             ], | ||||||
|             'ids.*' => [ |             'ids.*' => [ | ||||||
|                 'required', |                 'required', | ||||||
|                 Rule::exists('items', 'id'), |                 Rule::exists('items', 'id'), | ||||||
|                 new RelationNotExist(Item::class, 'invoiceItems'), |                 new RelationNotExist(Item::class, 'invoiceItems'), | ||||||
|                 new RelationNotExist(Item::class, 'estimateItems'), |                 new RelationNotExist(Item::class, 'estimateItems'), | ||||||
|                 new RelationNotExist(Item::class, 'taxes') |                 new RelationNotExist(Item::class, 'taxes'), | ||||||
|             ] |             ], | ||||||
|         ]; |         ]; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -26,12 +26,12 @@ class DeletePaymentsRequest extends FormRequest | |||||||
|     { |     { | ||||||
|         return [ |         return [ | ||||||
|             'ids' => [ |             'ids' => [ | ||||||
|                 'required' |                 'required', | ||||||
|             ], |             ], | ||||||
|             'ids.*' => [ |             'ids.*' => [ | ||||||
|                 'required', |                 'required', | ||||||
|                 Rule::exists('payments', 'id') |                 Rule::exists('payments', 'id'), | ||||||
|             ] |             ], | ||||||
|         ]; |         ]; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -29,79 +29,82 @@ class DiskEnvironmentRequest extends FormRequest | |||||||
|                 $rules = [ |                 $rules = [ | ||||||
|                     'credentials.key' => [ |                     'credentials.key' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                     'credentials.secret' => [ |                     'credentials.secret' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                     'credentials.region' => [ |                     'credentials.region' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                     'credentials.bucket' => [ |                     'credentials.bucket' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                     'credentials.root' => [ |                     'credentials.root' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                 ]; |                 ]; | ||||||
|  |  | ||||||
|                 break; |                 break; | ||||||
|  |  | ||||||
|             case 'doSpaces': |             case 'doSpaces': | ||||||
|                 $rules = [ |                 $rules = [ | ||||||
|                     'credentials.key' => [ |                     'credentials.key' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                     'credentials.secret' => [ |                     'credentials.secret' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                     'credentials.region' => [ |                     'credentials.region' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                     'credentials.bucket' => [ |                     'credentials.bucket' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                     'credentials.endpoint' => [ |                     'credentials.endpoint' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                     'credentials.root' => [ |                     'credentials.root' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                 ]; |                 ]; | ||||||
|  |  | ||||||
|                 break; |                 break; | ||||||
|  |  | ||||||
|             case 'dropbox': |             case 'dropbox': | ||||||
|                 $rules = [ |                 $rules = [ | ||||||
|                     'credentials.token' => [ |                     'credentials.token' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                     'credentials.key' => [ |                     'credentials.key' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                     'credentials.secret' => [ |                     'credentials.secret' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                     'credentials.app' => [ |                     'credentials.app' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                     'credentials.root' => [ |                     'credentials.root' => [ | ||||||
|                         'required', |                         'required', | ||||||
|                         'string' |                         'string', | ||||||
|                     ], |                     ], | ||||||
|                 ]; |                 ]; | ||||||
|  |  | ||||||
|                 break; |                 break; | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @ -111,7 +114,7 @@ class DiskEnvironmentRequest extends FormRequest | |||||||
|             ], |             ], | ||||||
|             'driver' => [ |             'driver' => [ | ||||||
|                 'required', |                 'required', | ||||||
|             ] |             ], | ||||||
|         ]; |         ]; | ||||||
|  |  | ||||||
|         return array_merge($rules, $defaultRules); |         return array_merge($rules, $defaultRules); | ||||||
|  | |||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user
	