Assigning session details to ZC makes it default route
This commit is contained in:
@@ -5,7 +5,7 @@ namespace App\Http\Controllers;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Arr;
|
||||
|
||||
use App\Models\{Address,System,Zone};
|
||||
use App\Models\{Address,System,SystemZone,Zone};
|
||||
use App\Rules\{FidoInteger,TwoByteInteger};
|
||||
|
||||
class SystemController extends Controller
|
||||
@@ -234,6 +234,12 @@ class SystemController extends Controller
|
||||
|
||||
$zo = Zone::findOrFail($validate['zone_id']);
|
||||
|
||||
// If this session is for the ZC, it now becomes the default.
|
||||
if (in_array(DomainController::NODE_ZC,$o->match($zo)->pluck('role')->toArray())) {
|
||||
SystemZone::where('default',TRUE)->update(['default'=>FALSE]);
|
||||
$validate['default'] = TRUE;
|
||||
}
|
||||
|
||||
$o->sessions()->attach($zo,$validate);
|
||||
|
||||
return redirect()->to(sprintf('ftn/system/addedit/%d',$o->id));
|
||||
@@ -319,6 +325,7 @@ class SystemController extends Controller
|
||||
* @param Request $request
|
||||
* @param System $so
|
||||
* @param Address $o
|
||||
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View|\Illuminate\Http\RedirectResponse
|
||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||
*/
|
||||
public function mov_address(Request $request,System $so,Address $o)
|
||||
|
@@ -99,15 +99,20 @@ class ZoneController extends Controller
|
||||
* Set address as default for zone
|
||||
*
|
||||
* @param Request $request
|
||||
* @param Address $o
|
||||
* @param Zone $o
|
||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||
*/
|
||||
public function api_default(Request $request,Zone $o)
|
||||
{
|
||||
$this->authorize('admin',$o);
|
||||
|
||||
$default = $o->systems->where('pivot.default',TRUE);
|
||||
|
||||
if ($default->first()->addresses->pluck('role')->search(DomainController::NODE_ZC) !== FALSE)
|
||||
abort(412);
|
||||
|
||||
if ($default->count() && ($default->first()->id != $request->sid))
|
||||
abort(404);
|
||||
abort(409);
|
||||
|
||||
$o->systems()->updateExistingPivot($request->sid,[
|
||||
'default' => (bool)$request->set,
|
||||
|
Reference in New Issue
Block a user