File: /home/xedaptot/ai.naniguide.com/app/Model/TemplateCategory.php
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
use App\Library\Traits\HasUid;
class TemplateCategory extends Model
{
use HasUid;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name'
];
/**
* The template that belong to the categories.
*/
public function templates()
{
return $this->belongsToMany('App\Model\Template', 'templates_categories', 'category_id', 'template_id');
}
public static function getAll()
{
if (!config('custom.woo')) {
return static::where('name', '!=', 'WooCommerce')->get();
}
return static::all();
}
/**
* Style/tier categories surfaced to the customer-side email template picker.
*
* Unified taxonomy (2026-04-09): legacy "Basic" / "Featured" categories were
* dropped in favour of "Base" / "Extended" (admin classification reused as the
* customer-visible style tier). WooCommerce remains conditional on the woo plugin.
*/
public static function scopeForEmail($query)
{
$names = [
'Base',
'Extended',
];
if (config('custom.woo')) {
$names[] = 'WooCommerce';
}
return $query->whereIn('name', $names);
}
public static function scopeForForm($query)
{
// Unified taxonomy (2026-04-09): legacy "Popup" style category dropped.
// Form templates are now classified ONLY as Base / Extended (same as email).
$names = [
'Base',
'Extended',
];
return $query->whereIn('name', $names);
}
}