feat: registration field polish, multi-category tags, file uploads, Partner icon
- Restructure field editor dialog: move Options section to bottom with divider and subheader, fix delete button with flex layout - Change tag_category (single string) to tag_categories (JSON array) supporting multiple category selection in tag picker fields - Portal tag picker now groups tags by category with subheaders - Add generic file upload endpoint (FileUploadService + UploadController) - Replace email branding logo URL text field with ImageUploadField - Update Partner crowd type default icon to tabler-affiliate - Apply changes consistently to both field and template dialogs Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -21,7 +21,7 @@ final class RegistrationFormFieldResource extends JsonResource
|
||||
'field_type' => $this->field_type->value,
|
||||
'options' => $this->options,
|
||||
'normalized_options' => $this->normalized_options,
|
||||
'tag_category' => $this->tag_category,
|
||||
'tag_categories' => $this->tag_categories,
|
||||
'is_required' => $this->is_required,
|
||||
'is_portal_visible' => $this->is_portal_visible,
|
||||
'is_admin_only' => $this->is_admin_only,
|
||||
@@ -37,11 +37,11 @@ final class RegistrationFormFieldResource extends JsonResource
|
||||
$query = PersonTag::where('organisation_id', $this->event->organisation_id)
|
||||
->where('is_active', true);
|
||||
|
||||
if ($this->tag_category) {
|
||||
$query->where('category', $this->tag_category);
|
||||
if (!empty($this->tag_categories)) {
|
||||
$query->whereIn('category', $this->tag_categories);
|
||||
}
|
||||
|
||||
return PersonTagResource::collection($query->orderBy('sort_order')->get());
|
||||
return PersonTagResource::collection($query->orderBy('category')->orderBy('sort_order')->get());
|
||||
}
|
||||
),
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user