OrderCustomerPickerTrait
Order customer picker: top-level field `userId`; `fieldMap` fills the `customer*` snapshot from {@see User}.
Follows CustomerPickerTrait with a
wider mapping than the generic UserPickerTrait::userPicker(),
which fills only the label and an optional e-mail. The snapshot stays editable after the
choice (Order keeps its own customer* columns independent of the user, like Invoice);
an anonymous or manual order without a user is legitimate (userId is nullable).
Table of Contents
Properties
Methods
- orderCustomerPicker() : PickerConfig
- orderCustomerFieldMap() : array<string, string>
- orderCustomerLabel() : string
- orderCustomerPrefillData() : array<string, string>
- resolveOrderCustomerLabel() : string|null
-
suggestOrderCustomers()
: array<int, array{id: int, label: string, data: array
}>
Properties
$orderCustomerUserManager
public
UserManager
$orderCustomerUserManager
Attributes
- #[Inject]
Methods
orderCustomerPicker()
protected
orderCustomerPicker([string $formName = 'editForm' ][, string $targetField = 'userId' ]) : PickerConfig
Parameters
- $formName : string = 'editForm'
- $targetField : string = 'userId'
Return values
PickerConfigorderCustomerFieldMap()
private
orderCustomerFieldMap() : array<string, string>
Return values
array<string, string> —data key (see orderCustomerPrefillData()) mapped to the form field
orderCustomerLabel()
private
orderCustomerLabel(User $user) : string
Parameters
- $user : User
Return values
stringorderCustomerPrefillData()
private
orderCustomerPrefillData(User $user) : array<string, string>
Parameters
- $user : User
Return values
array<string, string>resolveOrderCustomerLabel()
private
resolveOrderCustomerLabel(int $id) : string|null
Parameters
- $id : int
Return values
string|nullsuggestOrderCustomers()
private
suggestOrderCustomers(string $query) : array<int, array{id: int, label: string, data: array}>
Parameters
- $query : string