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;
 | 
			
		||||
 | 
			
		||||
use App\Http\Requests\Account\CreateAccountRequest;
 | 
			
		||||
use App\Http\Requests\Account\UpdateAccountRequest;
 | 
			
		||||
use App\Jobs\Account\CreateAccount;
 | 
			
		||||
use App\Models\Account;
 | 
			
		||||
use App\Models\CompanyUser;
 | 
			
		||||
use App\Transformers\AccountTransformer;
 | 
			
		||||
use App\Transformers\CompanyUserTransformer;
 | 
			
		||||
use App\Utils\TruthSource;
 | 
			
		||||
use Illuminate\Foundation\Bus\DispatchesJobs;
 | 
			
		||||
@ -157,4 +159,17 @@ class AccountController extends BaseController
 | 
			
		||||
 | 
			
		||||
        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;
 | 
			
		||||
 | 
			
		||||
use App\Exceptions\ModelNotFoundException;
 | 
			
		||||
use App\Jobs\Mail\NinjaMailerJob;
 | 
			
		||||
use App\Jobs\Mail\NinjaMailerObject;
 | 
			
		||||
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::put('accounts/{account}', 'AccountController@update')->name('account.update');
 | 
			
		||||
    Route::post('check_subdomain', 'SubdomainController@index')->name('check_subdomain');
 | 
			
		||||
    Route::get('ping', 'PingController@index')->name('ping');
 | 
			
		||||
    Route::get('health_check', 'PingController@health')->name('health_check');
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user