Show ZC/RC name instead of system name, tweak FTN sort order
This commit is contained in:
@@ -12,6 +12,17 @@ class Address extends Model
|
||||
{
|
||||
use ScopeActive;
|
||||
|
||||
/* SCOPES */
|
||||
|
||||
public function scopeFTNOrder($query)
|
||||
{
|
||||
return $query
|
||||
->orderBy('region_id')
|
||||
->orderByRaw('host_id NULLS FIRST')
|
||||
->orderBy('node_id')
|
||||
->orderBy('point_id');
|
||||
}
|
||||
|
||||
/* RELATIONS */
|
||||
|
||||
public function system()
|
||||
@@ -101,6 +112,12 @@ class Address extends Model
|
||||
return ($o && $o->system->active) ? $o : NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the address session details/passwords
|
||||
*
|
||||
* @param string $type
|
||||
* @return string|null
|
||||
*/
|
||||
public function session(string $type): ?string
|
||||
{
|
||||
static $session = NULL;
|
||||
|
@@ -5,6 +5,7 @@ namespace App\Models;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
use App\Http\Controllers\DomainController;
|
||||
use App\Traits\ScopeActive;
|
||||
|
||||
class System extends Model
|
||||
@@ -21,4 +22,29 @@ class System extends Model
|
||||
->orderBy('node_id')
|
||||
->orderBy('point_id');
|
||||
}
|
||||
|
||||
/* GENERAL METHODS */
|
||||
|
||||
/**
|
||||
* Return the system name, or role name for the zone
|
||||
*
|
||||
* @param Address $o
|
||||
* @return string
|
||||
*/
|
||||
public function name(Address $o): string
|
||||
{
|
||||
switch ($o->attributes['role']) {
|
||||
case DomainController::NODE_ZC;
|
||||
return sprintf('ZC-%s-%05d',$o->zone->domain->name,$o->zone->zone_id);
|
||||
|
||||
case DomainController::NODE_RC;
|
||||
return sprintf('RC-%s-%05d',$o->zone->domain->name,$o->region_id);
|
||||
|
||||
case DomainController::NODE_NC;
|
||||
case DomainController::NODE_HC;
|
||||
case NULL:
|
||||
default:
|
||||
return $this->name;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user