This repository has been archived on 2026-03-21. You can view files and clone it, but cannot push or open issues or pull requests.
payfrit-biz/Application.cfm
John Mizerek 1210249f54 Normalize database column and table names across entire codebase
Update all SQL queries, query result references, and ColdFusion code to match
the renamed database schema. Tables use plural CamelCase, PKs are all `ID`,
column prefixes stripped (e.g. BusinessName→Name, UserFirstName→FirstName).

Key changes:
- Strip table-name prefixes from all column references (Businesses, Users,
  Addresses, Hours, Menus, Categories, Items, Stations, Orders,
  OrderLineItems, Tasks, TaskCategories, TaskRatings, QuickTaskTemplates,
  ScheduledTaskDefinitions, ChatMessages, Beacons, ServicePoints, Employees,
  VisitorTrackings, ApiPerfLogs, tt_States, tt_Days, tt_AddressTypes,
  tt_OrderTypes, tt_TaskTypes)
- Rename PK references from {TableName}ID to ID in all queries
- Rewrite 7 admin beacon files to use ServicePoints.BeaconID instead of
  dropped lt_Beacon_Businesses_ServicePoints link table
- Rewrite beacon assignment files (list, save, delete) for new schema
- Fix FK references incorrectly changed to ID (OrderLineItems.OrderID,
  Categories.MenuID, Tasks.CategoryID, ServicePoints.BeaconID)
- Update Addresses: AddressLat→Latitude, AddressLng→Longitude
- Update Users: UserPassword→Password, UserIsEmailVerified→IsEmailVerified,
  UserIsActive→IsActive, UserBalance→Balance, etc.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 15:39:12 -08:00

349 lines
No EOL
11 KiB
Text

<cfapplication name="payfrit_app_new"
clientmanagement="Yes"
sessionmanagement="Yes"
setclientcookies="Yes"
sessiontimeout="#CreateTimeSpan(0,0,30,0)#"
clientstorage="cookie">
<CFSET application.datasource = "payfrit">
<cfset application.businessMasterObj = new library.cfc.businessMaster(odbc = application.datasource) />
<cfset application.twilioObj = new library.cfc.twilio() />
<cfset request.cgiPath = getPageContext().getRequest().getRequestURI() />
<!--- Lock persistent scopes to avoid conflicts --->
<cflock scope="session" timeout="15" throwontimeout="yes" type="exclusive">
<!--- Replacing cookie with session variable --->
<cfparam name="session.UserID" default="0">
<cfparam name="session.BusinessID" default="0">
<!--- Duplicate the session variables in the request scope so you don't have to CFLOCK them every time you use them. --->
<cfset request.UserID = Duplicate(session.UserID)>
<cfset request.BusinessID = Duplicate(session.BusinessID)>
</cflock>
<cfif request.UserID NEQ 0>
<cfquery name="check_user" datasource="#application.datasource#">
SELECT FirstName, Balance, ImageExtension
FROM Users
WHERE ID = #request.UserID#
</cfquery>
</cfif>
<cfif parameterexists(url.UUID)>
<cfset form.UUID=url.UUID>
</cfif>
<cfparam name="check_user.recordcount" default="0">
<cfparam name="form.mode" default="start">
<cfparam name="form.chip" default="0">
<cfparam name="form.prevchip" default="0">
<cfparam name="form.prevmode" default="0">
<cfparam name="submitted" default="0">
<cfparam name="form.UUID" default="">
<!--- <cfset form.bizid = structKeyExists(url, "bizid") ? url.bizid : form.bizid>
<cfset form.mode = structKeyExists(url, "mode") ? url.mode : form.mode> --->
<CFSET border_width = "0">
<cfif cgi.Server_Name EQ "127.0.0.1">
<CFSET application.wwwrootprefix = "/biz.payfrit.com/">
<CFSET application.rootprefix = "\">
<CFSET application.httpprefix = "/">
<CFSET application.httpsprefix = "/">
<CFSET application.localprefix = "C:\Inetpub\wwwroot\biz.payfrit.com\">
<CFSET application.archive_datasource = "payfrit_archive">
<CFSET application.uploads_dir = "C:\lucee\tomcat\webapps\ROOT\biz.payfrit.com\uploads\">
<CFSET application.captcha_public_key = "">
<CFSET application.captcha_private_key = "">
<CFSET application.image_display_prefix = "http://127.0.0.1:8888/biz.payfrit.com/uploads/">
<cfsetting showDebugOutput="yes">
<cfelse>
<CFSET application.wwwrootprefix = "/">
<CFSET application.rootprefix = "\">
<CFSET application.httpprefix = "/">
<CFSET application.httpsprefix = "https://">
<CFSET application.localprefix = "C:\lucee\tomcat\webapps\ROOT\payfrit.com\user\">
<CFSET application.archive_datasource = "payfrit_archive">
<CFSET application.uploads_dir = "/var/www/biz.payfrit.com/uploads/">
<CFSET application.captcha_public_key = "">
<CFSET application.captcha_private_key = "">
<CFSET application.image_display_prefix = "https://biz.payfrit.com/uploads/">
<cfsetting showDebugOutput="no">
</cfif>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<title>The Payfrit Admin App</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ENjdO4Dr2bkBIFxQpeoTz1HIcje39Wm4jDKdf19U8gI4ddQ3GYNS7NTKfAdVQSZe" crossorigin="anonymous"></script>
<script src= "https://code.jquery.com/jquery-1.12.4.min.js"></script>
</head>
<!-- Google tag (gtag.js) -->
<!--- <script async src="https://www.googletagmanager.com/gtag/js?id=G-X33RKP7WNG"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-X33RKP7WNG');
</script> --->
<cfinclude template="includes/track_visitors.cfm">
<body>
<cfoutput>
<div class="container">
<!-- Fixed navbar -->
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
<div class="container">
<a class="navbar-brand" href="#request.cgiPath#">The Payfrit Admin App</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="##navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav me-auto mb-2 mb-md-0">
<li class="nav-item">
<cfif request.BusinessID eq 0>
<script language="JavaScript">
function submitformregister()
{
document.myformregister.submit();
}
</script>
<form action="#request.cgiPath#" method="post" name="myformregister" id="myformregister" style="display:inline;">
<a class="nav-link" href="javascript: submitformregister()">Create Account</a>
<input type="hidden" name="mode" value="register">
</form>
</li>
<li class="nav-item">
<script language="JavaScript">
function submitformforgot()
{
document.myformforgot.submit();
}
</script>
<form action="#request.cgiPath#" method="post" name="myformforgot" id="myformforgot" style="display:inline;">
<a class="nav-link" href="javascript: submitformforgot()">Reset Password</a>
<input type="hidden" name="mode" value="forgot">
</form>
</li>
<cfelseif request.BusinessID neq 0>
<li class="nav-item">
<script language="JavaScript">
function submitformkitchen()
{
document.myformkitchen.submit();
}
</script>
<form action="#request.cgiPath#" method="post" name="myformkitchen" id="myformkitchen" style="display:inline;">
<a class="nav-link" href="javascript: submitformkitchen()">Kitchen</a>
<input type="hidden" name="mode" value="kitchen">
</form>
</li>
<li class="nav-item">
<script language="JavaScript">
function submitformcat()
{
document.myformcat.submit();
}
</script>
<form action="#request.cgiPath#" method="post" name="myformcat" id="myformcat" style="display:inline;">
<a class="nav-link" href="javascript: submitformcat()">Categories</a>
<input type="hidden" name="mode" value="categories">
</form>
</li>
<li class="nav-item">
<script language="JavaScript">
function submitformitems()
{
document.myformitems.submit();
}
</script>
<form action="#request.cgiPath#" method="post" name="myformitems" id="myformitems" style="display:inline;">
<a class="nav-link" href="javascript: submitformitems()">Items</a>
<input type="hidden" name="mode" value="items">
</form>
</li>
<li class="nav-item">
<script language="JavaScript">
function submitformviewmenu()
{
document.myformviewmenu.submit();
}
</script>
<form action="#request.cgiPath#" method="post" name="myformviewmenu" id="myformviewmenu" style="display:inline;">
<a class="nav-link" href="javascript: submitformviewmenu()">Edit Menu</a>
<input type="hidden" name="mode" value="viewmenu">
<input type="hidden" name="submode" value="edit">
</form>
</li>
<li class="nav-item">
<script language="JavaScript">
function submitformreports()
{
document.myformreports.submit();
}
</script>
<form action="#request.cgiPath#" method="post" name="myformreports" id="myformreports" style="display:inline;">
<a class="nav-link" href="javascript: submitformreports()">Reports</a>
<input type="hidden" name="mode" value="reports">
</form>
</li>
<li class="nav-item">
<script language="JavaScript">
function submitformaccount()
{
document.myformaccount.submit();
}
</script>
<form action="#request.cgiPath#" method="post" name="myformaccount" id="myformaccount" style="display:inline;">
<a class="nav-link" href="javascript: submitformaccount()">Account</a>
<input type="hidden" name="mode" value="businesses">
<input type="hidden" name="submode" value="edit">
</form>
</li>
<li class="nav-item">
<script language="JavaScript">
function submitformlogout()
{
document.myformlogout.submit();
}
</script>
<form action="#request.cgiPath#" method="post" name="myformlogout" id="myformlogout" style="display:inline;">
<a class="nav-link" href="javascript: submitformlogout()">Logout</a>
<input type="hidden" name="mode" value="logout">
</form>
</li>
</cfif>
</ul>
</div>
</div>
</nav>
</div>
<div><br><br><br></div>
<div class="container">
<div class="row">
<div class="col sm-5 md-3">
<<cfoutput>img src="#application.wwwrootprefix#images/payfrit-logo-light-100-100-max.jpg" width="100" height="100" border="0" alt=""></cfoutput>
</div>
<!--- <div class="col sm-2 md-6">
&nbsp;
</div> --->
<div class="col sm-5 md-3">
<cfif find("logout.cfm", request.cgiPath) EQ 0>
<cfif request.UserID NEQ 0>
<cfif check_user.ImageExtension gt ""><img src="#application.image_display_prefix#users/thumbs/#request.UserID#.#check_user.ImageExtension#" border="0" alt=""><br></cfif>
Hi, <cfif check_user.FirstName gt "">#check_user.FirstName#<br>#dollarformat(check_user.Balance)#<cfelse>Payfrit User</cfif><br>
<cfelse>
<form action="#application.wwwrootprefix#index.cfm" method="post" name="login_form" id="login_form">
<label for="colFormLabelSm">username:</label><input class="form-control form-control-sm" type="Text" name="username" required="No" maxlength="100" placeholder="email or mobile number">
<label for="colFormLabelSm">password:</label><input class="form-control form-control-sm" type="password" name="password" required="No" maxlength="20" placeholder="your password">
<input type="submit" value="login" class="btn btn-success my-2">
<input type="hidden" name="mode" value="login">
<input type="hidden" name="submitted" value="1">
</form>
</cfif>
</cfif>
</div>
</div>
</div>
</cfoutput>
<div class="container">
<div class="row">
<div class="col">