mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-10-31 16:37:31 -04:00 
			
		
		
		
	Removed extra entity load in the repos save function
This commit is contained in:
		
							parent
							
								
									325cac1603
								
							
						
					
					
						commit
						e6bcdb36b3
					
				| @ -24,28 +24,4 @@ class BaseController extends Controller | ||||
|             $this->layout = View::make($this->layout); | ||||
|         } | ||||
|     } | ||||
|      | ||||
|     protected function authorizeCreate() { | ||||
|         $this->authorize('create', $this->entityType); | ||||
|     } | ||||
|      | ||||
|     /* | ||||
|     protected function authorizeUpdate($entity) { | ||||
|         $this->authorize('edit', $entity); | ||||
|     } | ||||
|     */ | ||||
|      | ||||
|     protected function authorizeUpdate($input){ | ||||
|         $creating = empty($input['public_id']) || $input['public_id'] == '-1'; | ||||
|          | ||||
|         if($creating){ | ||||
|             $this->authorize('create', $this->entityType); | ||||
|         } | ||||
|         else{ | ||||
|             $className = Utils::getEntityName($this->entityType); | ||||
|              | ||||
|             $object = call_user_func(array("App\\Models\\{$className}", 'scope'), $input['public_id'])->firstOrFail(); | ||||
|             $this->authorize('edit', $object); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -116,7 +116,7 @@ class ClientApiController extends BaseAPIController | ||||
|          | ||||
|         $data = $request->input(); | ||||
|         $data['public_id'] = $publicId; | ||||
|         $client = $this->clientRepo->save($data); | ||||
|         $client = $this->clientRepo->save($data, $request->entity()); | ||||
| 
 | ||||
|         return $this->itemResponse($client); | ||||
|     } | ||||
|  | ||||
| @ -146,7 +146,7 @@ class ExpenseController extends BaseController | ||||
|         $data = $request->input(); | ||||
|         $data['documents'] = $request->file('documents'); | ||||
|                  | ||||
|         $expense = $this->expenseService->save($data); | ||||
|         $expense = $this->expenseService->save($data, $request->entity()); | ||||
| 
 | ||||
|         Session::flash('message', trans('texts.updated_expense')); | ||||
| 
 | ||||
|  | ||||
| @ -318,7 +318,7 @@ class InvoiceApiController extends BaseAPIController | ||||
| 
 | ||||
|         $data = $request->input(); | ||||
|         $data['public_id'] = $publicId; | ||||
|         $this->invoiceService->save($data); | ||||
|         $this->invoiceService->save($data, $request->entity()); | ||||
| 
 | ||||
|         $invoice = Invoice::scope($publicId) | ||||
|                         ->with('client', 'invoice_items', 'invitations') | ||||
|  | ||||
| @ -396,9 +396,7 @@ class InvoiceController extends BaseController | ||||
|     { | ||||
|         $data = $request->input(); | ||||
|         $data['documents'] = $request->file('documents'); | ||||
|          | ||||
|         $this->authorizeUpdate($data); | ||||
|                  | ||||
|                          | ||||
|         $action = Input::get('action'); | ||||
|         $entityType = Input::get('entityType'); | ||||
|          | ||||
| @ -435,13 +433,11 @@ class InvoiceController extends BaseController | ||||
|     { | ||||
|         $data = $request->input(); | ||||
|         $data['documents'] = $request->file('documents'); | ||||
|          | ||||
|         $this->authorizeUpdate($data); | ||||
|          | ||||
|                  | ||||
|         $action = Input::get('action'); | ||||
|         $entityType = Input::get('entityType'); | ||||
| 
 | ||||
|         $invoice = $this->invoiceService->save($data); | ||||
|         $invoice = $this->invoiceService->save($data, $request->entity()); | ||||
|         $entityType = $invoice->getEntityType(); | ||||
|         $message = trans("texts.updated_{$entityType}"); | ||||
|         Session::flash('message', $message); | ||||
|  | ||||
| @ -85,7 +85,7 @@ class PaymentApiController extends BaseAPIController | ||||
| 
 | ||||
|         $data = $request->input(); | ||||
|         $data['public_id'] = $publicId; | ||||
|         $payment = $this->paymentRepo->save($data); | ||||
|         $payment = $this->paymentRepo->save($data, $request->entity()); | ||||
| 
 | ||||
|         return $this->itemResponse($payment); | ||||
|     } | ||||
|  | ||||
| @ -603,7 +603,7 @@ class PaymentController extends BaseController | ||||
| 
 | ||||
|     public function update(UpdatePaymentRequest $request) | ||||
|     { | ||||
|         $payment = $this->paymentRepo->save($request->input()); | ||||
|         $payment = $this->paymentRepo->save($request->input(), $request->entity()); | ||||
| 
 | ||||
|         Session::flash('message', trans('texts.updated_payment')); | ||||
| 
 | ||||
|  | ||||
| @ -42,7 +42,7 @@ class ProductApiController extends BaseAPIController | ||||
|          | ||||
|         $data = $request->input(); | ||||
|         $data['public_id'] = $publicId; | ||||
|         $product = $this->productRepo->save($data); | ||||
|         $product = $this->productRepo->save($data, $request->entity()); | ||||
| 
 | ||||
|         return $this->itemResponse($product); | ||||
|     } | ||||
|  | ||||
| @ -42,7 +42,7 @@ class TaxRateApiController extends BaseAPIController | ||||
|          | ||||
|         $data = $request->input(); | ||||
|         $data['public_id'] = $publicId; | ||||
|         $taxRate = $this->taxRateRepo->save($data); | ||||
|         $taxRate = $this->taxRateRepo->save($data, $request->entity()); | ||||
| 
 | ||||
|         return $this->itemResponse($taxRate); | ||||
|     } | ||||
|  | ||||
| @ -75,9 +75,7 @@ class TaxRateController extends BaseController | ||||
| 
 | ||||
|     public function update(UpdateTaxRateRequest $request, $publicId) | ||||
|     { | ||||
|         $taxRate = TaxRate::scope($publicId)->firstOrFail(); | ||||
| 
 | ||||
|         $this->taxRateRepo->save($request->input(), $taxRate); | ||||
|         $this->taxRateRepo->save($request->input(), $request->entity()); | ||||
| 
 | ||||
|         Session::flash('message', trans('texts.updated_tax_rate')); | ||||
|         return Redirect::to('settings/' . ACCOUNT_TAX_RATES); | ||||
|  | ||||
| @ -182,7 +182,7 @@ class VendorController extends BaseController | ||||
|      */ | ||||
|     public function update(UpdateVendorRequest $request) | ||||
|     { | ||||
|         $vendor = $this->vendorService->save($request->input()); | ||||
|         $vendor = $this->vendorService->save($request->input(), $request->entity()); | ||||
| 
 | ||||
|         Session::flash('message', trans('texts.updated_vendor')); | ||||
| 
 | ||||
|  | ||||
| @ -72,12 +72,13 @@ class ClientRepository extends BaseRepository | ||||
| 
 | ||||
|         if ($client) { | ||||
|            // do nothing
 | ||||
|         } if (!$publicId || $publicId == '-1') { | ||||
|         } elseif (!$publicId || $publicId == '-1') { | ||||
|             $client = Client::createNew(); | ||||
|         } else { | ||||
|             $client = Client::scope($publicId)->with('contacts')->firstOrFail(); | ||||
|             \Log::warning('Entity not set in client repo save'); | ||||
|         } | ||||
| 
 | ||||
|          | ||||
|         // convert currency code to id
 | ||||
|         if (isset($data['currency_code'])) { | ||||
|             $currencyCode = strtolower($data['currency_code']); | ||||
|  | ||||
| @ -59,12 +59,15 @@ class CreditRepository extends BaseRepository | ||||
|         return $query; | ||||
|     } | ||||
| 
 | ||||
|     public function save($input) | ||||
|     public function save($input, $credit = null) | ||||
|     { | ||||
|         $publicId = isset($data['public_id']) ? $data['public_id'] : false; | ||||
| 
 | ||||
|         if ($publicId) { | ||||
|          | ||||
|         if ($credit) { | ||||
|             // do nothing
 | ||||
|         } elseif ($publicId) { | ||||
|             $credit = Credit::scope($publicId)->firstOrFail(); | ||||
|             \Log::warning('Entity not set in credit repo save'); | ||||
|         } else { | ||||
|             $credit = Credit::createNew(); | ||||
|         } | ||||
|  | ||||
| @ -122,12 +122,15 @@ class ExpenseRepository extends BaseRepository | ||||
|         return $query; | ||||
|     } | ||||
| 
 | ||||
|     public function save($input) | ||||
|     public function save($input, $expense = null) | ||||
|     { | ||||
|         $publicId = isset($input['public_id']) ? $input['public_id'] : false; | ||||
| 
 | ||||
|         if ($publicId) { | ||||
|         if ($expense) { | ||||
|             // do nothing
 | ||||
|         } elseif ($publicId) { | ||||
|             $expense = Expense::scope($publicId)->firstOrFail(); | ||||
|             \Log::warning('Entity not set in expense repo save'); | ||||
|         } else { | ||||
|             $expense = Expense::createNew(); | ||||
|         } | ||||
|  | ||||
| @ -201,14 +201,16 @@ class InvoiceRepository extends BaseRepository | ||||
|             ->make(); | ||||
|     } | ||||
| 
 | ||||
|     public function save($data) | ||||
|     public function save($data, $invoice = null) | ||||
|     { | ||||
|         $account = \Auth::user()->account; | ||||
|         $publicId = isset($data['public_id']) ? $data['public_id'] : false; | ||||
| 
 | ||||
|         $isNew = !$publicId || $publicId == '-1'; | ||||
| 
 | ||||
|         if ($isNew) { | ||||
|         if ($invoice) { | ||||
|             // do nothing
 | ||||
|         } elseif ($isNew) { | ||||
|             $entityType = ENTITY_INVOICE; | ||||
|             if (isset($data['is_recurring']) && filter_var($data['is_recurring'], FILTER_VALIDATE_BOOLEAN)) { | ||||
|                 $entityType = ENTITY_RECURRING_INVOICE; | ||||
| @ -224,6 +226,7 @@ class InvoiceRepository extends BaseRepository | ||||
|             } | ||||
|         } else { | ||||
|             $invoice = Invoice::scope($publicId)->firstOrFail(); | ||||
|             \Log::warning('Entity not set in invoice repo save'); | ||||
|         } | ||||
| 
 | ||||
|         $invoice->fill($data); | ||||
|  | ||||
| @ -123,12 +123,15 @@ class PaymentRepository extends BaseRepository | ||||
|         return $query; | ||||
|     } | ||||
| 
 | ||||
|     public function save($input) | ||||
|     public function save($input, $payment = null) | ||||
|     { | ||||
|         $publicId = isset($input['public_id']) ? $input['public_id'] : false; | ||||
| 
 | ||||
|         if ($publicId) { | ||||
|         if ($payment) { | ||||
|             // do nothing
 | ||||
|         } elseif ($publicId) { | ||||
|             $payment = Payment::scope($publicId)->firstOrFail(); | ||||
|             \Log::warning('Entity not set in payment repo save'); | ||||
|         } else { | ||||
|             $payment = Payment::createNew(); | ||||
|         } | ||||
|  | ||||
| @ -31,12 +31,15 @@ class ProductRepository extends BaseRepository | ||||
|                 ); | ||||
|     } | ||||
|      | ||||
|     public function save($data) | ||||
|     public function save($data, $product = null) | ||||
|     { | ||||
|         $publicId = isset($data['public_id']) ? $data['public_id'] : false; | ||||
|          | ||||
|         if ($publicId) { | ||||
|         if ($product) { | ||||
|             // do nothing
 | ||||
|         } elseif ($publicId) { | ||||
|             $product = Product::scope($publicId)->firstOrFail(); | ||||
|             \Log::warning('Entity not set in product repo save'); | ||||
|         } else { | ||||
|             $product = Product::createNew(); | ||||
|         } | ||||
|  | ||||
| @ -64,10 +64,13 @@ class TaskRepository | ||||
|         return $query; | ||||
|     } | ||||
| 
 | ||||
|     public function save($publicId, $data) | ||||
|     public function save($publicId, $data, $task = null) | ||||
|     { | ||||
|         if ($publicId) { | ||||
|         if ($task) { | ||||
|             // do nothing
 | ||||
|         } elseif ($publicId) { | ||||
|             $task = Task::scope($publicId)->firstOrFail(); | ||||
|             \Log::warning('Entity not set in task repo save'); | ||||
|         } else { | ||||
|             $task = Task::createNew(); | ||||
|         } | ||||
|  | ||||
| @ -20,14 +20,15 @@ class TaxRateRepository extends BaseRepository | ||||
|                 ->select('tax_rates.public_id', 'tax_rates.name', 'tax_rates.rate', 'tax_rates.deleted_at'); | ||||
|     } | ||||
| 
 | ||||
|     public function save($data, $taxRate = false) | ||||
|     public function save($data, $taxRate = null) | ||||
|     { | ||||
|         if ( ! $taxRate) { | ||||
|             if (isset($data['public_id'])) { | ||||
|                 $taxRate = TaxRate::scope($data['public_id'])->firstOrFail(); | ||||
|             } else { | ||||
|                 $taxRate = TaxRate::createNew(); | ||||
|             } | ||||
|         if ($taxRate) { | ||||
|             // do nothing
 | ||||
|         } elseif (isset($data['public_id'])) { | ||||
|             $taxRate = TaxRate::scope($data['public_id'])->firstOrFail(); | ||||
|             \Log::warning('Entity not set in tax rate repo save'); | ||||
|         } else { | ||||
|             $taxRate = TaxRate::createNew(); | ||||
|         } | ||||
|          | ||||
|         $taxRate->fill($data); | ||||
|  | ||||
| @ -62,14 +62,17 @@ class VendorRepository extends BaseRepository | ||||
|         return $query; | ||||
|     } | ||||
| 
 | ||||
|     public function save($data) | ||||
|     public function save($data, $vendor = null) | ||||
|     { | ||||
|         $publicId = isset($data['public_id']) ? $data['public_id'] : false; | ||||
| 
 | ||||
|         if (!$publicId || $publicId == '-1') { | ||||
|         if ($vendor) { | ||||
|             // do nothing
 | ||||
|         } elseif (!$publicId || $publicId == '-1') { | ||||
|             $vendor = Vendor::createNew(); | ||||
|         } else { | ||||
|             $vendor = Vendor::scope($publicId)->with('vendorcontacts')->firstOrFail(); | ||||
|             \Log::warning('Entity not set in vendor repo save'); | ||||
|         } | ||||
| 
 | ||||
|         $vendor->fill($data); | ||||
|  | ||||
| @ -28,7 +28,7 @@ class ExpenseService extends BaseService | ||||
|         return $this->expenseRepo; | ||||
|     } | ||||
| 
 | ||||
|     public function save($data) | ||||
|     public function save($data, $expense = null) | ||||
|     { | ||||
|         if (isset($data['client_id']) && $data['client_id']) { | ||||
|             $data['client_id'] = Client::getPrivateId($data['client_id']); | ||||
| @ -38,7 +38,7 @@ class ExpenseService extends BaseService | ||||
|             $data['vendor_id'] = Vendor::getPrivateId($data['vendor_id']); | ||||
|         } | ||||
| 
 | ||||
|         return $this->expenseRepo->save($data); | ||||
|         return $this->expenseRepo->save($data, $expense); | ||||
|     } | ||||
| 
 | ||||
|     public function getDatatable($search) | ||||
|  | ||||
| @ -30,7 +30,7 @@ class InvoiceService extends BaseService | ||||
|         return $this->invoiceRepo; | ||||
|     } | ||||
| 
 | ||||
|     public function save($data) | ||||
|     public function save($data, $invoice = null) | ||||
|     { | ||||
|         if (isset($data['client'])) { | ||||
|             $canSaveClient = false; | ||||
| @ -46,7 +46,7 @@ class InvoiceService extends BaseService | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         $invoice = $this->invoiceRepo->save($data); | ||||
|         $invoice = $this->invoiceRepo->save($data, $invoice); | ||||
| 
 | ||||
|         $client = $invoice->client; | ||||
|         $client->load('contacts'); | ||||
|  | ||||
| @ -26,13 +26,13 @@ class VendorService extends BaseService | ||||
|         return $this->vendorRepo; | ||||
|     } | ||||
| 
 | ||||
|     public function save($data) | ||||
|     public function save($data, $vendor = null) | ||||
|     { | ||||
|         if (Auth::user()->account->isNinjaAccount() && isset($data['plan'])) { | ||||
|             $this->ninjaRepo->updatePlanDetails($data['public_id'], $data); | ||||
|         } | ||||
| 
 | ||||
|         return $this->vendorRepo->save($data); | ||||
|         return $this->vendorRepo->save($data, $vendor); | ||||
|     } | ||||
| 
 | ||||
|     public function getDatatable($search) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user