fix(loyalty): wire merchant staff PIN form to team-member autocomplete
Some checks failed
Some checks failed
The shared loyalty pins list factory has an autocomplete-from-team
flow gated behind config.staffApiPrefix (loaded once into a list, then
filtered client-side). The merchant entry in static/merchant/js/loyalty-pins.js
never set staffApiPrefix, so the loadStaffMembers branch never ran and
the "Staff member name" field on /merchants/loyalty/pins fell back to
free text instead of suggesting actual team members.
Wire the merchant config to /merchants/account, and add a flat
GET /merchants/account/team/members alias next to the existing
/merchants/account/team that returns just {members: [...]} — matching
the shape the shared autocomplete factory already expects at
${prefix}/team/members.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,7 @@ const merchantPinsLog = window.LogConfig.loggers.merchantPins || window.LogConfi
|
||||
function merchantLoyaltyPins() {
|
||||
return loyaltyPinsList({
|
||||
apiPrefix: '/merchants/loyalty',
|
||||
staffApiPrefix: '/merchants/account',
|
||||
showStoreFilter: true,
|
||||
showCrud: true,
|
||||
currentPage: 'pins',
|
||||
|
||||
@@ -179,6 +179,21 @@ async def merchant_team_overview(
|
||||
return merchant_store_service.get_merchant_team_members(db, merchant.id)
|
||||
|
||||
|
||||
@_account_router.get("/team/members")
|
||||
async def merchant_team_members_list(
|
||||
merchant=Depends(get_merchant_for_current_user),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
"""Flat ``{members: [...]}`` view of merchant team members.
|
||||
|
||||
Same data as ``GET /team`` but with the wrapper fields stripped, so it
|
||||
matches the shape store-side autocomplete factories already expect at
|
||||
``${prefix}/team/members``.
|
||||
"""
|
||||
full = merchant_store_service.get_merchant_team_members(db, merchant.id)
|
||||
return {"members": full["members"]}
|
||||
|
||||
|
||||
@_account_router.get("/team/stores/{store_id}/roles")
|
||||
async def merchant_team_store_roles(
|
||||
store_id: int,
|
||||
|
||||
Reference in New Issue
Block a user