mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-04 02:07:33 -05:00 
			
		
		
		
	Allow setting react_ap flag on accounts table
This commit is contained in:
		
							parent
							
								
									9032bc6fa7
								
							
						
					
					
						commit
						77d0dd8ae4
					
				@ -12,9 +12,11 @@
 | 
				
			|||||||
namespace App\Http\Controllers;
 | 
					namespace App\Http\Controllers;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use App\Http\Requests\Account\CreateAccountRequest;
 | 
					use App\Http\Requests\Account\CreateAccountRequest;
 | 
				
			||||||
 | 
					use App\Http\Requests\Account\UpdateAccountRequest;
 | 
				
			||||||
use App\Jobs\Account\CreateAccount;
 | 
					use App\Jobs\Account\CreateAccount;
 | 
				
			||||||
use App\Models\Account;
 | 
					use App\Models\Account;
 | 
				
			||||||
use App\Models\CompanyUser;
 | 
					use App\Models\CompanyUser;
 | 
				
			||||||
 | 
					use App\Transformers\AccountTransformer;
 | 
				
			||||||
use App\Transformers\CompanyUserTransformer;
 | 
					use App\Transformers\CompanyUserTransformer;
 | 
				
			||||||
use App\Utils\TruthSource;
 | 
					use App\Utils\TruthSource;
 | 
				
			||||||
use Illuminate\Foundation\Bus\DispatchesJobs;
 | 
					use Illuminate\Foundation\Bus\DispatchesJobs;
 | 
				
			||||||
@ -157,4 +159,17 @@ class AccountController extends BaseController
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        return $this->listResponse($ct);
 | 
					        return $this->listResponse($ct);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function update(UpdateAccountRequest $request, Account $account)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $account->fill($request->all());
 | 
				
			||||||
 | 
					        $account->save();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $this->entity_type = Account::class;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $this->entity_transformer = AccountTransformer::class;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return $this->itemResponse($account);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										53
									
								
								app/Http/Requests/Account/UpdateAccountRequest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								app/Http/Requests/Account/UpdateAccountRequest.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,53 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Invoice Ninja (https://invoiceninja.com).
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @link https://github.com/invoiceninja/invoiceninja source repository
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @copyright Copyright (c) 2022. Invoice Ninja LLC (https://invoiceninja.com)
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @license https://www.elastic.co/licensing/elastic-license
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace App\Http\Requests\Account;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use App\Http\Requests\Request;
 | 
				
			||||||
 | 
					use App\Http\ValidationRules\Account\BlackListRule;
 | 
				
			||||||
 | 
					use App\Http\ValidationRules\Account\EmailBlackListRule;
 | 
				
			||||||
 | 
					use App\Http\ValidationRules\NewUniqueUserRule;
 | 
				
			||||||
 | 
					use App\Utils\Ninja;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class UpdateAccountRequest extends Request
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Determine if the user is authorized to make this request.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return bool
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public function authorize()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return auth()->user()->isAdmin() || auth()->user()->isOwner();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Get the validation rules that apply to the request.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return array
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public function rules()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return [
 | 
				
			||||||
 | 
					            'set_react_as_default_ap' => 'required|bail|bool'
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    protected function prepareForValidation()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        $input = $this->all();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $cleaned_input = array_intersect_key( $input, array_flip(['set_react_as_default_ap']));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $this->replace($cleaned_input);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -11,6 +11,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace App\Models;
 | 
					namespace App\Models;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use App\Exceptions\ModelNotFoundException;
 | 
				
			||||||
use App\Jobs\Mail\NinjaMailerJob;
 | 
					use App\Jobs\Mail\NinjaMailerJob;
 | 
				
			||||||
use App\Jobs\Mail\NinjaMailerObject;
 | 
					use App\Jobs\Mail\NinjaMailerObject;
 | 
				
			||||||
use App\Mail\Ninja\EmailQuotaExceeded;
 | 
					use App\Mail\Ninja\EmailQuotaExceeded;
 | 
				
			||||||
@ -472,4 +473,14 @@ class Account extends BaseModel
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function resolveRouteBinding($value, $field = null)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if (is_numeric($value)) {
 | 
				
			||||||
 | 
					            throw new ModelNotFoundException("Record with value {$value} not found");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return $this
 | 
				
			||||||
 | 
					            ->where('id', $this->decodePrimaryKey($value))->firstOrFail();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -24,6 +24,7 @@ Route::group(['middleware' => ['throttle:10,1','api_secret_check','email_db']],
 | 
				
			|||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Route::group(['middleware' => ['throttle:100,1', 'api_db', 'token_auth', 'locale'], 'prefix' => 'api/v1', 'as' => 'api.'], function () {
 | 
					Route::group(['middleware' => ['throttle:100,1', 'api_db', 'token_auth', 'locale'], 'prefix' => 'api/v1', 'as' => 'api.'], function () {
 | 
				
			||||||
 | 
					    Route::put('accounts/{account}', 'AccountController@update')->name('account.update');
 | 
				
			||||||
    Route::post('check_subdomain', 'SubdomainController@index')->name('check_subdomain');
 | 
					    Route::post('check_subdomain', 'SubdomainController@index')->name('check_subdomain');
 | 
				
			||||||
    Route::get('ping', 'PingController@index')->name('ping');
 | 
					    Route::get('ping', 'PingController@index')->name('ping');
 | 
				
			||||||
    Route::get('health_check', 'PingController@health')->name('health_check');
 | 
					    Route::get('health_check', 'PingController@health')->name('health_check');
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user