Buffalo Eats Online API Documentation

PromotionController extends Controller
in package

Client promotion management controller for sales and automatic discounts.

Tags
author

J.J. Johnson visionquest716@gmail.com

copyright

2026 VisionQuestServices LLC

Table of Contents

Properties

$layout  : string

Methods

create()  : void
Show the create promotion form.
destroy()  : void
Delete a promotion.
edit()  : void
Show the edit promotion form.
index()  : void
Display all promotions for the client's business.
store()  : void
Store a new promotion.
toggleActive()  : void
Toggle a promotion's active status.
update()  : void
Update an existing promotion.
baseUrl()  : string
Get the base URL for the application.
buildPagination()  : array<string|int, mixed>
Build pagination metadata for views.
clearOldInput()  : void
Clear stored old input data.
flash()  : void
Set a flash message in the session.
flashOldInput()  : void
Store current POST data as old input for form repopulation.
getPage()  : int
Get the current page number from the query string.
json()  : void
Send a JSON response.
old()  : mixed
Get previous form input after validation failure.
redirect()  : void
Send an HTTP redirect.
requirePermission()  : void
Require that the authenticated client user has a specific permission.
url()  : string
Generate a full URL for a given path.
view()  : void
Render a view template wrapped in a layout.
buildPromotionData()  : array<string|int, mixed>
Build promotion data array from POST input.
syncTargets()  : void
Sync promotion targets (items or categories) based on scope.
validatePromotionInput()  : array<string|int, mixed>
Validate promotion form input.

Properties

Methods

destroy()

Delete a promotion.

public destroy(int $id) : void
Parameters
$id : int

Promotion ID

edit()

Show the edit promotion form.

public edit(int $id) : void
Parameters
$id : int

Promotion ID

toggleActive()

Toggle a promotion's active status.

public toggleActive(int $id) : void
Parameters
$id : int

Promotion ID

update()

Update an existing promotion.

public update(int $id) : void
Parameters
$id : int

Promotion ID

baseUrl()

Get the base URL for the application.

protected baseUrl() : string
Return values
string

buildPagination()

Build pagination metadata for views.

protected buildPagination(int $total, int $page, int $perPage, string $baseUrl) : array<string|int, mixed>
Parameters
$total : int

Total record count

$page : int

Current page number

$perPage : int

Records per page

$baseUrl : string

Base URL path (e.g., "client/orders")

Return values
array<string|int, mixed>

Pagination metadata

clearOldInput()

Clear stored old input data.

protected clearOldInput() : void

flash()

Set a flash message in the session.

protected flash(string $key, string $message) : void
Parameters
$key : string

Flash message key (e.g., "success", "error")

$message : string

The message text

flashOldInput()

Store current POST data as old input for form repopulation.

protected flashOldInput() : void

getPage()

Get the current page number from the query string.

protected getPage() : int
Return values
int

Page number (minimum 1)

json()

Send a JSON response.

protected json(mixed $data[, int $status = 200 ]) : void
Parameters
$data : mixed

Data to encode as JSON

$status : int = 200

HTTP status code

old()

Get previous form input after validation failure.

protected old(string $field[, mixed $default = '' ]) : mixed
Parameters
$field : string

The form field name

$default : mixed = ''

Default value if not found

redirect()

Send an HTTP redirect.

protected redirect(string $url) : void
Parameters
$url : string

The URL to redirect to

requirePermission()

Require that the authenticated client user has a specific permission.

protected requirePermission(string $permission) : void

Redirects to the client dashboard with an error flash if denied.

Parameters
$permission : string

Permission key (e.g., 'menu_manage')

url()

Generate a full URL for a given path.

protected url([string $path = '' ]) : string
Parameters
$path : string = ''

The path to append to the base URL

Return values
string

view()

Render a view template wrapped in a layout.

protected view(string $template[, array<string|int, mixed> $data = [] ]) : void
Parameters
$template : string

Path to view relative to app/Views/ (e.g., "admin/dashboard")

$data : array<string|int, mixed> = []

Variables to extract into the view scope

buildPromotionData()

Build promotion data array from POST input.

private buildPromotionData(int $businessId) : array<string|int, mixed>
Parameters
$businessId : int

Business ID

Return values
array<string|int, mixed>

syncTargets()

Sync promotion targets (items or categories) based on scope.

private syncTargets(Promotion $model, int $promotionId, string $scope) : void
Parameters
$model : Promotion

Promotion model

$promotionId : int

Promotion ID

$scope : string

Promotion scope

validatePromotionInput()

Validate promotion form input.

private validatePromotionInput() : array<string|int, mixed>
Return values
array<string|int, mixed>

Array of error messages (empty if valid)


        
On this page

Search results