Complete DB column normalization: strip redundant table-name prefixes from all SQL queries

Updated 70 files to match the payfrit_dev schema where columns like
BusinessName→Name, UserFirstName→FirstName, AddressCity→City, etc.
PKs renamed to ID, FKs keep referenced table name (e.g. BusinessID).
SQL aliases preserve original JSON response keys for API compatibility.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
John Mizerek 2026-01-31 20:03:15 -08:00
parent a09701556f
commit 8acf2f3249
70 changed files with 431 additions and 431 deletions

View file

@ -57,7 +57,7 @@ try {
if (setAsDefault) { if (setAsDefault) {
queryExecute(" queryExecute("
UPDATE Addresses UPDATE Addresses
SET AddressIsDefaultDelivery = 0 SET IsDefaultDelivery = 0
WHERE UserID = :userId WHERE UserID = :userId
AND (BusinessID = 0 OR BusinessID IS NULL) AND (BusinessID = 0 OR BusinessID IS NULL)
AND AddressTypeID = :typeId AND AddressTypeID = :typeId
@ -68,18 +68,18 @@ try {
} }
// Get next AddressID // Get next AddressID
qNext = queryExecute("SELECT IFNULL(MAX(AddressID), 0) + 1 AS NextID FROM Addresses", {}, { datasource: "payfrit" }); qNext = queryExecute("SELECT IFNULL(MAX(ID), 0) + 1 AS NextID FROM Addresses", {}, { datasource: "payfrit" });
newAddressId = qNext.NextID; newAddressId = qNext.NextID;
// Insert new address // Insert new address
queryExecute(" queryExecute("
INSERT INTO Addresses ( INSERT INTO Addresses (
AddressID, ID,
UserID, UserID,
BusinessID, BusinessID,
AddressTypeID, AddressTypeID,
AddressLabel, Label,
AddressIsDefaultDelivery, IsDefaultDelivery,
Line1, Line1,
Line2, Line2,
City, City,
@ -117,7 +117,7 @@ try {
}, { datasource: "payfrit" }); }, { datasource: "payfrit" });
// Get state info for response // Get state info for response
qState = queryExecute("SELECT tt_StateAbbreviation as StateAbbreviation, tt_StateName as StateName FROM tt_States WHERE tt_StateID = :stateId", { qState = queryExecute("SELECT Abbreviation as StateAbbreviation, Name as StateName FROM tt_States WHERE ID = :stateId", {
stateId: { value: stateId, cfsqltype: "cf_sql_integer" } stateId: { value: stateId, cfsqltype: "cf_sql_integer" }
}, { datasource: "payfrit" }); }, { datasource: "payfrit" });

View file

@ -49,22 +49,22 @@ try {
// Get user's delivery addresses // Get user's delivery addresses
qAddresses = queryExecute(" qAddresses = queryExecute("
SELECT SELECT
a.AddressID AS ID, a.ID,
a.AddressIsDefaultDelivery AS IsDefaultDelivery, a.IsDefaultDelivery,
a.AddressLine1 AS Line1, a.Line1,
a.AddressLine2 AS Line2, a.Line2,
a.AddressCity AS City, a.City,
a.AddressStateID AS StateID, a.StateID,
s.tt_StateAbbreviation as StateAbbreviation, s.Abbreviation as StateAbbreviation,
s.tt_StateName as StateName, s.Name as StateName,
a.AddressZIPCode AS ZIPCode a.ZIPCode
FROM Addresses a FROM Addresses a
LEFT JOIN tt_States s ON a.AddressStateID = s.tt_StateID LEFT JOIN tt_States s ON a.StateID = s.ID
WHERE a.AddressUserID = :userId WHERE a.UserID = :userId
AND (a.AddressBusinessID = 0 OR a.AddressBusinessID IS NULL) AND (a.BusinessID = 0 OR a.BusinessID IS NULL)
AND a.AddressTypeID = 2 AND a.AddressTypeID = 2
AND a.AddressIsDeleted = 0 AND a.IsDeleted = 0
ORDER BY a.AddressIsDefaultDelivery DESC, a.AddressID DESC ORDER BY a.IsDefaultDelivery DESC, a.ID DESC
", { ", {
userId: { value = userId, cfsqltype = "cf_sql_integer" } userId: { value = userId, cfsqltype = "cf_sql_integer" }
}); });

View file

@ -63,7 +63,7 @@ try {
// Clear all defaults for this user // Clear all defaults for this user
queryExecute(" queryExecute("
UPDATE Addresses UPDATE Addresses
SET AddressIsDefaultDelivery = 0 SET IsDefaultDelivery = 0
WHERE UserID = :userId WHERE UserID = :userId
AND (BusinessID = 0 OR BusinessID IS NULL) AND (BusinessID = 0 OR BusinessID IS NULL)
AND AddressTypeID LIKE '%2%' AND AddressTypeID LIKE '%2%'
@ -74,7 +74,7 @@ try {
// Set this one as default // Set this one as default
queryExecute(" queryExecute("
UPDATE Addresses UPDATE Addresses
SET AddressIsDefaultDelivery = 1 SET IsDefaultDelivery = 1
WHERE ID = :addressId WHERE ID = :addressId
", { ", {
addressId: { value: addressId, cfsqltype: "cf_sql_integer" } addressId: { value: addressId, cfsqltype: "cf_sql_integer" }

View file

@ -6,9 +6,9 @@
<cfscript> <cfscript>
try { try {
qStates = queryExecute(" qStates = queryExecute("
SELECT tt_StateID as StateID, tt_StateAbbreviation as StateAbbreviation, tt_StateName as StateName SELECT ID as StateID, Abbreviation as StateAbbreviation, Name as StateName
FROM tt_States FROM tt_States
ORDER BY tt_StateName ORDER BY Name
", {}, { datasource: "payfrit" }); ", {}, { datasource: "payfrit" });
states = []; states = [];

View file

@ -25,14 +25,14 @@ try {
abort; abort;
} }
fountainId = qFountain.ItemID; fountainId = qFountain.ID;
response["FountainSodaID"] = fountainId; response["FountainSodaID"] = fountainId;
// Update Fountain Soda to require child selection and be collapsible // Update Fountain Soda to require child selection and be collapsible
queryExecute(" queryExecute("
UPDATE Items UPDATE Items
SET RequiresChildSelection = 1, IsCollapsible = 1 SET RequiresChildSelection = 1, IsCollapsible = 1
WHERE ItemID = :itemId WHERE ID = :itemId
", { itemId: fountainId }, { datasource: "payfrit" }); ", { itemId: fountainId }, { datasource: "payfrit" });
// Check if modifiers already exist // Check if modifiers already exist
@ -48,12 +48,12 @@ try {
} }
// Add Size group // Add Size group
qMaxItem = queryExecute("SELECT COALESCE(MAX(ItemID), 0) + 1 as nextId FROM Items", {}, { datasource: "payfrit" }); qMaxItem = queryExecute("SELECT COALESCE(MAX(ID), 0) + 1 as nextId FROM Items", {}, { datasource: "payfrit" });
sizeGroupId = qMaxItem.nextId; sizeGroupId = qMaxItem.nextId;
queryExecute(" queryExecute("
INSERT INTO Items ( INSERT INTO Items (
ItemID, BusinessID, CategoryID, ParentItemID, ID, BusinessID, CategoryID, ParentItemID,
Name, Description, Price, IsActive, Name, Description, Price, IsActive,
SortOrder, IsCollapsible, RequiresChildSelection, SortOrder, IsCollapsible, RequiresChildSelection,
MaxNumSelectionReq, AddedOn MaxNumSelectionReq, AddedOn
@ -77,7 +77,7 @@ try {
sizesAdded = 0; sizesAdded = 0;
for (size in sizes) { for (size in sizes) {
qMaxItem = queryExecute("SELECT COALESCE(MAX(ItemID), 0) + 1 as nextId FROM Items", {}, { datasource: "payfrit" }); qMaxItem = queryExecute("SELECT COALESCE(MAX(ID), 0) + 1 as nextId FROM Items", {}, { datasource: "payfrit" });
queryExecute(" queryExecute("
INSERT INTO Items ( INSERT INTO Items (
ItemID, BusinessID, CategoryID, ParentItemID, ItemID, BusinessID, CategoryID, ParentItemID,
@ -103,12 +103,12 @@ try {
} }
// Add Type/Flavor group // Add Type/Flavor group
qMaxItem = queryExecute("SELECT COALESCE(MAX(ItemID), 0) + 1 as nextId FROM Items", {}, { datasource: "payfrit" }); qMaxItem = queryExecute("SELECT COALESCE(MAX(ID), 0) + 1 as nextId FROM Items", {}, { datasource: "payfrit" });
typeGroupId = qMaxItem.nextId; typeGroupId = qMaxItem.nextId;
queryExecute(" queryExecute("
INSERT INTO Items ( INSERT INTO Items (
ItemID, BusinessID, CategoryID, ParentItemID, ID, BusinessID, CategoryID, ParentItemID,
Name, Description, Price, IsActive, Name, Description, Price, IsActive,
SortOrder, IsCollapsible, RequiresChildSelection, SortOrder, IsCollapsible, RequiresChildSelection,
MaxNumSelectionReq, AddedOn MaxNumSelectionReq, AddedOn
@ -136,7 +136,7 @@ try {
typesAdded = 0; typesAdded = 0;
for (type in types) { for (type in types) {
qMaxItem = queryExecute("SELECT COALESCE(MAX(ItemID), 0) + 1 as nextId FROM Items", {}, { datasource: "payfrit" }); qMaxItem = queryExecute("SELECT COALESCE(MAX(ID), 0) + 1 as nextId FROM Items", {}, { datasource: "payfrit" });
queryExecute(" queryExecute("
INSERT INTO Items ( INSERT INTO Items (
ItemID, BusinessID, CategoryID, ParentItemID, ItemID, BusinessID, CategoryID, ParentItemID,

View file

@ -9,14 +9,14 @@ q = queryExecute("
b.ID, b.ID,
b.UUID, b.UUID,
b.Name, b.Name,
sp_link.ServicePointBusinessID AS BusinessID, sp_link.BusinessID AS BusinessID,
sp_link.ServicePointID, sp_link.ID AS ServicePointID,
biz.BusinessName, biz.Name,
sp.ServicePointName AS Name sp.Name AS Name
FROM Beacons b FROM Beacons b
LEFT JOIN ServicePoints sp_link ON sp_link.BeaconID = b.ID LEFT JOIN ServicePoints sp_link ON sp_link.BeaconID = b.ID
LEFT JOIN Businesses biz ON biz.BusinessID = sp_link.ServicePointBusinessID LEFT JOIN Businesses biz ON biz.ID = sp_link.BusinessID
LEFT JOIN ServicePoints sp ON sp.ServicePointID = sp_link.ServicePointID LEFT JOIN ServicePoints sp ON sp.ID = sp_link.ID
WHERE b.IsActive = 1 WHERE b.IsActive = 1
ORDER BY b.ID ORDER BY b.ID
", {}, { datasource: "payfrit" }); ", {}, { datasource: "payfrit" });
@ -36,10 +36,10 @@ for (row in q) {
// Also get service points for reference // Also get service points for reference
spQuery = queryExecute(" spQuery = queryExecute("
SELECT sp.ServicePointID AS ID, sp.ServicePointName AS Name, sp.ServicePointBusinessID AS BusinessID, b.BusinessName AS Name SELECT sp.ID, sp.Name AS Name, sp.BusinessID AS BusinessID, b.Name AS Name
FROM ServicePoints sp FROM ServicePoints sp
JOIN Businesses b ON b.BusinessID = sp.ServicePointBusinessID JOIN Businesses b ON b.ID = sp.BusinessID
ORDER BY sp.ServicePointBusinessID, sp.ServicePointID ORDER BY sp.BusinessID, sp.ID
", {}, { datasource: "payfrit" }); ", {}, { datasource: "payfrit" });
servicePoints = []; servicePoints = [];

View file

@ -5,9 +5,9 @@
<cfscript> <cfscript>
// Check Big Dean's owner // Check Big Dean's owner
q = queryExecute(" q = queryExecute("
SELECT b.BusinessID AS ID, b.BusinessName AS Name, b.BusinessUserID AS UserID SELECT b.ID, b.Name, b.UserID
FROM Businesses b FROM Businesses b
WHERE b.BusinessID = 27 WHERE b.ID = 27
", {}, { datasource: "payfrit" }); ", {}, { datasource: "payfrit" });
// Get users // Get users

View file

@ -18,7 +18,7 @@ try {
queryExecute(" queryExecute("
UPDATE ServicePoints UPDATE ServicePoints
SET BeaconID = NULL, AssignedByUserID = NULL SET BeaconID = NULL, AssignedByUserID = NULL
WHERE BeaconID IN (7, 8, 9) AND ServicePointBusinessID = :bizId WHERE BeaconID IN (7, 8, 9) AND BusinessID = :bizId
", { bizId: lazyDaisyID }, { datasource: "payfrit" }); ", { bizId: lazyDaisyID }, { datasource: "payfrit" });
response.steps.append("Unassigned beacons 7, 8, 9 from service points"); response.steps.append("Unassigned beacons 7, 8, 9 from service points");
@ -50,13 +50,13 @@ try {
// Get final status // Get final status
qFinal = queryExecute(" qFinal = queryExecute("
SELECT sp.ServicePointID AS ServicePointID, sp.BeaconID, sp.ServicePointBusinessID AS BusinessID, SELECT sp.ID AS ServicePointID, sp.BeaconID, sp.BusinessID AS BusinessID,
b.Name AS BeaconName, b.UUID, sp.ServicePointName AS ServicePointName, b.Name AS BeaconName, b.UUID, sp.Name AS ServicePointName,
biz.BusinessName AS BusinessName biz.Name AS BusinessName
FROM ServicePoints sp FROM ServicePoints sp
JOIN Beacons b ON b.ID = sp.BeaconID JOIN Beacons b ON b.ID = sp.BeaconID
JOIN Businesses biz ON biz.BusinessID = sp.ServicePointBusinessID JOIN Businesses biz ON biz.ID = sp.BusinessID
WHERE sp.ServicePointBusinessID = :bizId AND sp.BeaconID IS NOT NULL WHERE sp.BusinessID = :bizId AND sp.BeaconID IS NOT NULL
ORDER BY sp.BeaconID ORDER BY sp.BeaconID
", { bizId: lazyDaisyID }, { datasource: "payfrit" }); ", { bizId: lazyDaisyID }, { datasource: "payfrit" });

View file

@ -57,9 +57,9 @@ try {
// Get remaining employees // Get remaining employees
qRemaining = queryExecute(" qRemaining = queryExecute("
SELECT e.ID, e.UserID, u.UserFirstName AS FirstName, u.UserLastName AS LastName SELECT e.ID, e.UserID, u.FirstName, u.LastName
FROM Employees e FROM Employees e
JOIN Users u ON e.UserID = u.UserID JOIN Users u ON e.UserID = u.ID
WHERE e.BusinessID = ? WHERE e.BusinessID = ?
ORDER BY e.ID ORDER BY e.ID
", [{ value: businessId, cfsqltype: "cf_sql_integer" }], { datasource: "payfrit" }); ", [{ value: businessId, cfsqltype: "cf_sql_integer" }], { datasource: "payfrit" });

View file

@ -19,7 +19,7 @@ try {
// Get list of businesses to delete // Get list of businesses to delete
qBiz = queryExecute(" qBiz = queryExecute("
SELECT BusinessID AS ID, BusinessName AS Name FROM Businesses WHERE BusinessID != :keepID SELECT ID, Name FROM Businesses WHERE ID != :keepID
", { keepID: keepBusinessID }, { datasource: "payfrit" }); ", { keepID: keepBusinessID }, { datasource: "payfrit" });
deletedBusinesses = []; deletedBusinesses = [];
@ -100,17 +100,17 @@ try {
// Finally delete the businesses themselves // Finally delete the businesses themselves
queryExecute(" queryExecute("
DELETE FROM Businesses WHERE BusinessID != :keepID DELETE FROM Businesses WHERE ID != :keepID
", { keepID: keepBusinessID }, { datasource: "payfrit" }); ", { keepID: keepBusinessID }, { datasource: "payfrit" });
response.steps.append("Deleted " & arrayLen(deletedBusinesses) & " businesses"); response.steps.append("Deleted " & arrayLen(deletedBusinesses) & " businesses");
// Get beacon status // Get beacon status
qBeacons = queryExecute(" qBeacons = queryExecute("
SELECT sp.ServicePointID AS ServicePointID, sp.BeaconID, sp.ServicePointBusinessID AS BusinessID, SELECT sp.ID AS ServicePointID, sp.BeaconID, sp.ServicePointBusinessID AS BusinessID,
b.UUID, biz.BusinessName AS BusinessName, sp.ServicePointName AS ServicePointName b.UUID, biz.Name AS BusinessName, sp.ServicePointName AS ServicePointName
FROM ServicePoints sp FROM ServicePoints sp
JOIN Beacons b ON b.ID = sp.BeaconID JOIN Beacons b ON b.ID = sp.BeaconID
JOIN Businesses biz ON biz.BusinessID = sp.ServicePointBusinessID JOIN Businesses biz ON biz.ID = sp.ServicePointBusinessID
WHERE sp.BeaconID IS NOT NULL WHERE sp.BeaconID IS NOT NULL
", {}, { datasource: "payfrit" }); ", {}, { datasource: "payfrit" });

View file

@ -20,11 +20,11 @@ try {
", { bizId: bigDeansBusinessId }, { datasource: "payfrit" }); ", { bizId: bigDeansBusinessId }, { datasource: "payfrit" });
if (qExistingCat.recordCount > 0) { if (qExistingCat.recordCount > 0) {
drinksCategoryId = qExistingCat.CategoryID; drinksCategoryId = qExistingCat.ID;
response["CategoryNote"] = "Using existing category: " & qExistingCat.Name; response["CategoryNote"] = "Using existing category: " & qExistingCat.Name;
} else { } else {
// Create a new Beverages category for Big Dean's // Create a new Beverages category for Big Dean's
qMaxCat = queryExecute("SELECT COALESCE(MAX(CategoryID), 0) + 1 as nextId FROM Categories", {}, { datasource: "payfrit" }); qMaxCat = queryExecute("SELECT COALESCE(MAX(ID), 0) + 1 as nextId FROM Categories", {}, { datasource: "payfrit" });
drinksCategoryId = qMaxCat.nextId; drinksCategoryId = qMaxCat.nextId;
qMaxSort = queryExecute(" qMaxSort = queryExecute("
@ -32,7 +32,7 @@ try {
", { bizId: bigDeansBusinessId }, { datasource: "payfrit" }); ", { bizId: bigDeansBusinessId }, { datasource: "payfrit" });
queryExecute(" queryExecute("
INSERT INTO Categories (CategoryID, BusinessID, ParentCategoryID, Name, SortOrder, AddedOn) INSERT INTO Categories (ID, BusinessID, ParentCategoryID, Name, SortOrder, AddedOn)
VALUES (:catId, :bizId, 0, 'Beverages', :sortOrder, NOW()) VALUES (:catId, :bizId, 0, 'Beverages', :sortOrder, NOW())
", { ", {
catId: drinksCategoryId, catId: drinksCategoryId,
@ -67,12 +67,12 @@ try {
if (qExists.recordCount == 0) { if (qExists.recordCount == 0) {
// Get next ItemID // Get next ItemID
qMaxItem = queryExecute("SELECT COALESCE(MAX(ItemID), 0) + 1 as nextId FROM Items", {}, { datasource: "payfrit" }); qMaxItem = queryExecute("SELECT COALESCE(MAX(ID), 0) + 1 as nextId FROM Items", {}, { datasource: "payfrit" });
newItemId = qMaxItem.nextId; newItemId = qMaxItem.nextId;
queryExecute(" queryExecute("
INSERT INTO Items ( INSERT INTO Items (
ItemID, BusinessID, CategoryID, ParentItemID, ID, BusinessID, CategoryID, ParentItemID,
Name, Description, Price, IsActive, Name, Description, Price, IsActive,
SortOrder, IsCollapsible, RequiresChildSelection, SortOrder, IsCollapsible, RequiresChildSelection,
AddedOn AddedOn
@ -100,10 +100,10 @@ try {
flavors = ["Chocolate", "Vanilla", "Strawberry"]; flavors = ["Chocolate", "Vanilla", "Strawberry"];
flavorSort = 0; flavorSort = 0;
for (flavor in flavors) { for (flavor in flavors) {
qMaxOpt = queryExecute("SELECT COALESCE(MAX(ItemID), 0) + 1 as nextId FROM Items", {}, { datasource: "payfrit" }); qMaxOpt = queryExecute("SELECT COALESCE(MAX(ID), 0) + 1 as nextId FROM Items", {}, { datasource: "payfrit" });
queryExecute(" queryExecute("
INSERT INTO Items ( INSERT INTO Items (
ItemID, BusinessID, CategoryID, ParentItemID, ID, BusinessID, CategoryID, ParentItemID,
Name, Description, Price, IsActive, Name, Description, Price, IsActive,
SortOrder, IsCollapsible, IsCheckedByDefault, SortOrder, IsCollapsible, IsCheckedByDefault,
AddedOn AddedOn

View file

@ -35,13 +35,13 @@ try {
// Get service point Table 1 // Get service point Table 1
qSP = queryExecute(" qSP = queryExecute("
SELECT ServicePointID AS ID FROM ServicePoints SELECT ID FROM ServicePoints
WHERE ServicePointBusinessID = :bizID AND ServicePointName = 'Table 1' WHERE BusinessID = :bizID AND Name = 'Table 1'
", { bizID: lazyDaisyID }, { datasource: "payfrit" }); ", { bizID: lazyDaisyID }, { datasource: "payfrit" });
if (qSP.recordCount == 0) { if (qSP.recordCount == 0) {
queryExecute(" queryExecute("
INSERT INTO ServicePoints (ServicePointBusinessID, ServicePointName) INSERT INTO ServicePoints (BusinessID, Name)
VALUES (:bizID, 'Table 1') VALUES (:bizID, 'Table 1')
", { bizID: lazyDaisyID }, { datasource: "payfrit" }); ", { bizID: lazyDaisyID }, { datasource: "payfrit" });
qSP = queryExecute("SELECT LAST_INSERT_ID() as id", {}, { datasource: "payfrit" }); qSP = queryExecute("SELECT LAST_INSERT_ID() as id", {}, { datasource: "payfrit" });
@ -68,19 +68,19 @@ try {
// Assign beacon to Table 1 service point // Assign beacon to Table 1 service point
queryExecute(" queryExecute("
UPDATE ServicePoints SET BeaconID = :beaconID, AssignedByUserID = 1 UPDATE ServicePoints SET BeaconID = :beaconID, AssignedByUserID = 1
WHERE ServicePointID = :spID AND ServicePointBusinessID = :bizID WHERE ID = :spID AND BusinessID = :bizID
", { beaconID: beaconID, bizID: lazyDaisyID, spID: servicePointID }, { datasource: "payfrit" }); ", { beaconID: beaconID, bizID: lazyDaisyID, spID: servicePointID }, { datasource: "payfrit" });
response.steps.append("Assigned beacon " & beaconID & " to Table 1"); response.steps.append("Assigned beacon " & beaconID & " to Table 1");
} }
// Get final status // Get final status
qFinal = queryExecute(" qFinal = queryExecute("
SELECT sp.ServicePointID AS ServicePointID, sp.BeaconID, sp.ServicePointBusinessID AS BusinessID, SELECT sp.ID AS ServicePointID, sp.BeaconID, sp.BusinessID AS BusinessID,
b.Name AS BeaconName, b.UUID, sp.ServicePointName AS ServicePointName, b.Name AS BeaconName, b.UUID, sp.Name AS ServicePointName,
biz.BusinessName AS BusinessName biz.Name AS BusinessName
FROM ServicePoints sp FROM ServicePoints sp
JOIN Beacons b ON b.ID = sp.BeaconID JOIN Beacons b ON b.ID = sp.BeaconID
JOIN Businesses biz ON biz.BusinessID = sp.ServicePointBusinessID JOIN Businesses biz ON biz.ID = sp.BusinessID
WHERE sp.BeaconID IS NOT NULL WHERE sp.BeaconID IS NOT NULL
", {}, { datasource: "payfrit" }); ", {}, { datasource: "payfrit" });

View file

@ -31,7 +31,7 @@ try {
// Create Menus table // Create Menus table
queryExecute(" queryExecute("
CREATE TABLE Menus ( CREATE TABLE Menus (
MenuID INT AUTO_INCREMENT PRIMARY KEY, ID INT AUTO_INCREMENT PRIMARY KEY,
BusinessID INT NOT NULL, BusinessID INT NOT NULL,
Name VARCHAR(100) NOT NULL, Name VARCHAR(100) NOT NULL,
Description VARCHAR(500) NULL, Description VARCHAR(500) NULL,

View file

@ -26,11 +26,11 @@
<cftry> <cftry>
<!--- Get raw employee records --- > <!--- Get raw employee records --- >
<cfset qEmployees = queryExecute(" <cfset qEmployees = queryExecute("
SELECT e.*, b.BusinessName AS Name SELECT e.*, b.Name
FROM Employees e FROM Employees e
INNER JOIN Businesses b ON b.BusinessID = e.BusinessID INNER JOIN Businesses b ON b.ID = e.BusinessID
WHERE e.UserID = ? WHERE e.UserID = ?
ORDER BY b.Name ASC ORDER BY b.Name
", [ { value = UserID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })> ", [ { value = UserID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })>
<cfset employees = []> <cfset employees = []>
@ -46,9 +46,9 @@
<!--- Check for duplicate businesses --- > <!--- Check for duplicate businesses --- >
<cfset qDuplicates = queryExecute(" <cfset qDuplicates = queryExecute("
SELECT BusinessName AS Name, COUNT(*) AS cnt SELECT Name, COUNT(*) AS cnt
FROM Businesses FROM Businesses
GROUP BY BusinessName GROUP BY Name
HAVING COUNT(*) > 1 HAVING COUNT(*) > 1
", [], { datasource = "payfrit" })> ", [], { datasource = "payfrit" })>

View file

@ -40,9 +40,9 @@ userId = qUser.ID;
qEmployees = queryExecute(" qEmployees = queryExecute("
SELECT e.ID, e.BusinessID, e.StatusID, SELECT e.ID, e.BusinessID, e.StatusID,
CAST(e.IsActive AS UNSIGNED) AS IsActive, CAST(e.IsActive AS UNSIGNED) AS IsActive,
b.BusinessName AS Name b.Name
FROM Employees e FROM Employees e
JOIN Businesses b ON e.BusinessID = b.BusinessID JOIN Businesses b ON e.BusinessID = b.ID
WHERE e.UserID = ? WHERE e.UserID = ?
", [{ value: userId, cfsqltype: "cf_sql_integer" }], { datasource: "payfrit" }); ", [{ value: userId, cfsqltype: "cf_sql_integer" }], { datasource: "payfrit" });

View file

@ -75,17 +75,17 @@ function buildAddressString(line1, line2, city, zipCode) {
<cfif structKeyExists(url, "geocode") AND structKeyExists(url, "addressId")> <cfif structKeyExists(url, "geocode") AND structKeyExists(url, "addressId")>
<cfset addressId = val(url.addressId)> <cfset addressId = val(url.addressId)>
<cfquery name="addr" datasource="payfrit"> <cfquery name="addr" datasource="payfrit">
SELECT AddressLine1 AS Line1, AddressLine2 AS Line2, AddressCity AS City, AddressZIPCode AS ZIPCode SELECT Line1, Line2, City, ZIPCode
FROM Addresses WHERE AddressID = <cfqueryparam value="#addressId#" cfsqltype="cf_sql_integer"> FROM Addresses WHERE ID = <cfqueryparam value="#addressId#" cfsqltype="cf_sql_integer">
</cfquery> </cfquery>
<cfif addr.recordCount GT 0> <cfif addr.recordCount GT 0>
<cfset fullAddress = buildAddressString(addr.Line1, addr.Line2, addr.City, addr.ZIPCode)> <cfset fullAddress = buildAddressString(addr.Line1, addr.Line2, addr.City, addr.ZIPCode)>
<cfset geo = geocodeAddress(fullAddress)> <cfset geo = geocodeAddress(fullAddress)>
<cfif geo.success> <cfif geo.success>
<cfquery datasource="payfrit"> <cfquery datasource="payfrit">
UPDATE Addresses SET AddressLat = <cfqueryparam value="#geo.lat#" cfsqltype="cf_sql_decimal">, UPDATE Addresses SET Lat = <cfqueryparam value="#geo.lat#" cfsqltype="cf_sql_decimal">,
AddressLng = <cfqueryparam value="#geo.lng#" cfsqltype="cf_sql_decimal"> Lng = <cfqueryparam value="#geo.lng#" cfsqltype="cf_sql_decimal">
WHERE AddressID = <cfqueryparam value="#addressId#" cfsqltype="cf_sql_integer"> WHERE ID = <cfqueryparam value="#addressId#" cfsqltype="cf_sql_integer">
</cfquery> </cfquery>
<cfoutput><div class="success">Geocoded Address ID #addressId#: #geo.lat#, #geo.lng#</div></cfoutput> <cfoutput><div class="success">Geocoded Address ID #addressId#: #geo.lat#, #geo.lng#</div></cfoutput>
<cfelse> <cfelse>
@ -96,10 +96,10 @@ function buildAddressString(line1, line2, city, zipCode) {
<cfif structKeyExists(url, "geocodeAll")> <cfif structKeyExists(url, "geocodeAll")>
<cfquery name="missing" datasource="payfrit"> <cfquery name="missing" datasource="payfrit">
SELECT AddressID AS ID, AddressLine1 AS Line1, AddressLine2 AS Line2, AddressCity AS City, AddressZIPCode AS ZIPCode SELECT ID, Line1, Line2, City, ZIPCode
FROM Addresses FROM Addresses
WHERE (AddressLat IS NULL OR AddressLat = 0) WHERE (Lat IS NULL OR Lat = 0)
AND AddressLine1 IS NOT NULL AND AddressLine1 != '' AND Line1 IS NOT NULL AND Line1 != ''
</cfquery> </cfquery>
<cfset successCount = 0> <cfset successCount = 0>
<cfset failCount = 0> <cfset failCount = 0>
@ -108,9 +108,9 @@ function buildAddressString(line1, line2, city, zipCode) {
<cfset geo = geocodeAddress(fullAddress)> <cfset geo = geocodeAddress(fullAddress)>
<cfif geo.success> <cfif geo.success>
<cfquery datasource="payfrit"> <cfquery datasource="payfrit">
UPDATE Addresses SET AddressLat = <cfqueryparam value="#geo.lat#" cfsqltype="cf_sql_decimal">, UPDATE Addresses SET Lat = <cfqueryparam value="#geo.lat#" cfsqltype="cf_sql_decimal">,
AddressLng = <cfqueryparam value="#geo.lng#" cfsqltype="cf_sql_decimal"> Lng = <cfqueryparam value="#geo.lng#" cfsqltype="cf_sql_decimal">
WHERE AddressID = <cfqueryparam value="#missing.ID#" cfsqltype="cf_sql_integer"> WHERE ID = <cfqueryparam value="#missing.ID#" cfsqltype="cf_sql_integer">
</cfquery> </cfquery>
<cfset successCount = successCount + 1> <cfset successCount = successCount + 1>
<cfelse> <cfelse>
@ -123,18 +123,18 @@ function buildAddressString(line1, line2, city, zipCode) {
<cfquery name="addresses" datasource="payfrit"> <cfquery name="addresses" datasource="payfrit">
SELECT SELECT
b.BusinessID, b.ID AS BusinessID,
b.BusinessName AS Name, b.Name,
a.AddressID, a.ID AS AddressID,
a.AddressLine1 AS Line1, a.Line1,
a.AddressLine2 AS Line2, a.Line2,
a.AddressCity AS City, a.City,
a.AddressZIPCode AS ZIPCode, a.ZIPCode,
a.AddressLat AS Latitude, a.Lat AS Latitude,
a.AddressLng AS Longitude a.Lng AS Longitude
FROM Businesses b FROM Businesses b
LEFT JOIN Addresses a ON b.BusinessAddressID = a.AddressID LEFT JOIN Addresses a ON b.AddressID = a.ID
ORDER BY b.BusinessName ORDER BY b.Name
</cfquery> </cfquery>
<cfset missingCount = 0> <cfset missingCount = 0>

View file

@ -47,16 +47,16 @@ try {
// Find category-like Items (parent=0, not collapsible, has children, not in template links) // Find category-like Items (parent=0, not collapsible, has children, not in template links)
qCategoryItems = queryExecute(" qCategoryItems = queryExecute("
SELECT DISTINCT SELECT DISTINCT
p.ItemID, p.ID,
p.Name, p.Name,
p.SortOrder p.SortOrder
FROM Items p FROM Items p
INNER JOIN Items c ON c.ParentItemID = p.ItemID INNER JOIN Items c ON c.ParentItemID = p.ID
WHERE p.BusinessID = :bizId WHERE p.BusinessID = :bizId
AND p.ParentItemID = 0 AND p.ParentItemID = 0
AND (p.IsCollapsible = 0 OR p.IsCollapsible IS NULL) AND (p.IsCollapsible = 0 OR p.IsCollapsible IS NULL)
AND NOT EXISTS ( AND NOT EXISTS (
SELECT 1 FROM lt_ItemID_TemplateItemID tl WHERE tl.TemplateItemID = p.ItemID SELECT 1 FROM lt_ItemID_TemplateItemID tl WHERE tl.TemplateItemID = p.ID
) )
ORDER BY p.SortOrder, p.Name ORDER BY p.SortOrder, p.Name
", { bizId: bizId }, { datasource: "payfrit" }); ", { bizId: bizId }, { datasource: "payfrit" });
@ -72,14 +72,14 @@ try {
if (qExisting.recordCount == 0) { if (qExisting.recordCount == 0) {
// Get next CategoryID // Get next CategoryID
qMaxId = queryExecute(" qMaxId = queryExecute("
SELECT COALESCE(MAX(CategoryID), 0) + 1 as nextId FROM Categories SELECT COALESCE(MAX(ID), 0) + 1 as nextId FROM Categories
", {}, { datasource: "payfrit" }); ", {}, { datasource: "payfrit" });
newCatId = qMaxId.nextId; newCatId = qMaxId.nextId;
// Create new category with explicit ID // Create new category with explicit ID
queryExecute(" queryExecute("
INSERT INTO Categories INSERT INTO Categories
(CategoryID, BusinessID, ParentCategoryID, Name, SortOrder, AddedOn) (ID, BusinessID, ParentCategoryID, Name, SortOrder, AddedOn)
VALUES (:catId, :bizId, 0, :name, :sortOrder, NOW()) VALUES (:catId, :bizId, 0, :name, :sortOrder, NOW())
", { ", {
catId: newCatId, catId: newCatId,
@ -90,7 +90,7 @@ try {
bizResult.CategoriesCreated++; bizResult.CategoriesCreated++;
} else { } else {
newCatId = qExisting.CategoryID; newCatId = qExisting.ID;
} }
// Update all children of this category Item to have the new CategoryID // Update all children of this category Item to have the new CategoryID
@ -101,7 +101,7 @@ try {
AND BusinessID = :bizId AND BusinessID = :bizId
", { ", {
catId: newCatId, catId: newCatId,
parentId: catItem.ItemID, parentId: catItem.ID,
bizId: bizId bizId: bizId
}, { datasource: "payfrit" }); }, { datasource: "payfrit" });

View file

@ -49,7 +49,7 @@ try {
// Verify template exists and belongs to this business // Verify template exists and belongs to this business
qCheck = queryExecute(" qCheck = queryExecute("
SELECT QuickTaskTemplateID FROM QuickTaskTemplates SELECT ID FROM QuickTaskTemplates
WHERE ID = :id AND BusinessID = :businessID WHERE ID = :id AND BusinessID = :businessID
", { ", {
id: { value: templateID, cfsqltype: "cf_sql_integer" }, id: { value: templateID, cfsqltype: "cf_sql_integer" },

View file

@ -69,7 +69,7 @@ try {
if (templateID > 0) { if (templateID > 0) {
// UPDATE existing template // UPDATE existing template
qCheck = queryExecute(" qCheck = queryExecute("
SELECT QuickTaskTemplateID FROM QuickTaskTemplates SELECT ID FROM QuickTaskTemplates
WHERE ID = :id AND BusinessID = :businessID WHERE ID = :id AND BusinessID = :businessID
", { ", {
id: { value: templateID, cfsqltype: "cf_sql_integer" }, id: { value: templateID, cfsqltype: "cf_sql_integer" },

View file

@ -49,7 +49,7 @@ try {
// Verify exists and belongs to business // Verify exists and belongs to business
qCheck = queryExecute(" qCheck = queryExecute("
SELECT ScheduledTaskID FROM ScheduledTaskDefinitions SELECT ID FROM ScheduledTaskDefinitions
WHERE ID = :id AND BusinessID = :businessID WHERE ID = :id AND BusinessID = :businessID
", { ", {
id: { value: taskID, cfsqltype: "cf_sql_integer" }, id: { value: taskID, cfsqltype: "cf_sql_integer" },

View file

@ -67,7 +67,7 @@ try {
// Find all active scheduled tasks that are due // Find all active scheduled tasks that are due
dueTasks = queryExecute(" dueTasks = queryExecute("
SELECT SELECT
ScheduledTaskID, ID AS ScheduledTaskID,
BusinessID as BusinessID, BusinessID as BusinessID,
TaskCategoryID as CategoryID, TaskCategoryID as CategoryID,
Title as Title, Title as Title,

View file

@ -157,7 +157,7 @@ try {
if (taskID > 0) { if (taskID > 0) {
// UPDATE existing // UPDATE existing
qCheck = queryExecute(" qCheck = queryExecute("
SELECT ScheduledTaskID FROM ScheduledTaskDefinitions SELECT ID FROM ScheduledTaskDefinitions
WHERE ID = :id AND BusinessID = :businessID WHERE ID = :id AND BusinessID = :businessID
", { ", {
id: { value: taskID, cfsqltype: "cf_sql_integer" }, id: { value: taskID, cfsqltype: "cf_sql_integer" },

View file

@ -99,7 +99,7 @@ try {
// Verify exists and get cron expression and schedule type // Verify exists and get cron expression and schedule type
qCheck = queryExecute(" qCheck = queryExecute("
SELECT ScheduledTaskID, CronExpression as CronExpression, SELECT ID, CronExpression as CronExpression,
COALESCE(ScheduleType, 'cron') as ScheduleType, COALESCE(ScheduleType, 'cron') as ScheduleType,
IntervalMinutes as IntervalMinutes IntervalMinutes as IntervalMinutes
FROM ScheduledTaskDefinitions FROM ScheduledTaskDefinitions

View file

@ -34,10 +34,10 @@ try {
q = queryExecute(" q = queryExecute("
SELECT e.ID, e.BusinessID, e.UserID, e.StatusID, SELECT e.ID, e.BusinessID, e.UserID, e.StatusID,
CAST(e.IsActive AS UNSIGNED) AS IsActive, CAST(e.IsActive AS UNSIGNED) AS IsActive,
b.BusinessName AS Name, u.UserFirstName AS FirstName, u.UserLastName AS LastName b.Name, u.FirstName, u.LastName
FROM Employees e FROM Employees e
JOIN Businesses b ON e.BusinessID = b.BusinessID JOIN Businesses b ON e.BusinessID = b.ID
JOIN Users u ON e.UserID = u.UserID JOIN Users u ON e.UserID = u.ID
WHERE e.BusinessID = ? AND e.UserID = ? WHERE e.BusinessID = ? AND e.UserID = ?
", [ ", [
{ value: businessId, cfsqltype: "cf_sql_integer" }, { value: businessId, cfsqltype: "cf_sql_integer" },

View file

@ -14,10 +14,10 @@ try {
// Get all service points for Lazy Daisy // Get all service points for Lazy Daisy
qServicePoints = queryExecute(" qServicePoints = queryExecute("
SELECT ServicePointID AS ID, ServicePointName AS Name SELECT ID, Name AS Name
FROM ServicePoints FROM ServicePoints
WHERE ServicePointBusinessID = :bizID AND IsActive = 1 WHERE BusinessID = :bizID AND IsActive = 1
ORDER BY SortOrder, ServicePointID ORDER BY SortOrder, ID
", { bizID: lazyDaisyID }, { datasource: "payfrit" }); ", { bizID: lazyDaisyID }, { datasource: "payfrit" });
response.steps.append("Found " & qServicePoints.recordCount & " service points for Lazy Daisy"); response.steps.append("Found " & qServicePoints.recordCount & " service points for Lazy Daisy");
@ -53,7 +53,7 @@ try {
queryExecute(" queryExecute("
UPDATE ServicePoints UPDATE ServicePoints
SET BeaconID = :beaconId, AssignedByUserID = 1 SET BeaconID = :beaconId, AssignedByUserID = 1
WHERE ServicePointID = :spId AND ServicePointBusinessID = :bizId WHERE ID = :spId AND BusinessID = :bizId
", { ", {
beaconId: newBeaconId, beaconId: newBeaconId,
bizId: lazyDaisyID, bizId: lazyDaisyID,
@ -69,14 +69,14 @@ try {
// Get final status // Get final status
qFinal = queryExecute(" qFinal = queryExecute("
SELECT sp.ServicePointID AS ServicePointID, sp.BeaconID, sp.ServicePointBusinessID AS BusinessID, SELECT sp.ID AS ServicePointID, sp.BeaconID, sp.BusinessID AS BusinessID,
b.Name AS BeaconName, b.UUID, sp.ServicePointName AS ServicePointName, b.Name AS BeaconName, b.UUID, sp.Name AS ServicePointName,
biz.BusinessName AS BusinessName biz.Name AS BusinessName
FROM ServicePoints sp FROM ServicePoints sp
JOIN Beacons b ON b.ID = sp.BeaconID JOIN Beacons b ON b.ID = sp.BeaconID
JOIN Businesses biz ON biz.BusinessID = sp.ServicePointBusinessID JOIN Businesses biz ON biz.ID = sp.BusinessID
WHERE sp.ServicePointBusinessID = :bizId AND sp.BeaconID IS NOT NULL WHERE sp.BusinessID = :bizId AND sp.BeaconID IS NOT NULL
ORDER BY sp.ServicePointName ORDER BY sp.Name
", { bizId: lazyDaisyID }, { datasource: "payfrit" }); ", { bizId: lazyDaisyID }, { datasource: "payfrit" });
beacons = []; beacons = [];

View file

@ -13,19 +13,19 @@ try {
// Hours: Mon-Thu: 11am-10pm, Fri-Sat: 11am-11pm, Sun: 11am-10pm // Hours: Mon-Thu: 11am-10pm, Fri-Sat: 11am-11pm, Sun: 11am-10pm
// Get California StateID // Get California StateID
qState = queryExecute("SELECT tt_StateID FROM tt_States WHERE tt_StateAbbreviation = 'CA' LIMIT 1"); qState = queryExecute("SELECT ID FROM tt_States WHERE Abbreviation = 'CA' LIMIT 1");
stateId = qState.recordCount > 0 ? qState.tt_StateID : 5; // Default to 5 if not found stateId = qState.recordCount > 0 ? qState.ID : 5; // Default to 5 if not found
// Check if Big Dean's already has an address // Check if Big Dean's already has an address
existingAddr = queryExecute(" existingAddr = queryExecute("
SELECT AddressID FROM Addresses SELECT ID FROM Addresses
WHERE AddressBusinessID = :bizId AND AddressUserID = 0 WHERE BusinessID = :bizId AND UserID = 0
", { bizId: businessId }); ", { bizId: businessId });
if (existingAddr.recordCount == 0) { if (existingAddr.recordCount == 0) {
// Insert new address // Insert new address
queryExecute(" queryExecute("
INSERT INTO Addresses (AddressUserID, AddressBusinessID, AddressTypeID, AddressLine1, AddressCity, AddressStateID, AddressZIPCode, AddressIsDeleted, AddressAddedOn) INSERT INTO Addresses (UserID, BusinessID, AddressTypeID, Line1, City, StateID, ZIPCode, IsDeleted, AddedOn)
VALUES (0, :bizId, '2', :line1, :city, :stateId, :zip, 0, NOW()) VALUES (0, :bizId, '2', :line1, :city, :stateId, :zip, 0, NOW())
", { ", {
bizId: businessId, bizId: businessId,
@ -39,8 +39,8 @@ try {
// Update existing address // Update existing address
queryExecute(" queryExecute("
UPDATE Addresses UPDATE Addresses
SET AddressLine1 = :line1, AddressCity = :city, AddressStateID = :stateId, AddressZIPCode = :zip SET Line1 = :line1, City = :city, StateID = :stateId, ZIPCode = :zip
WHERE AddressBusinessID = :bizId AND AddressUserID = 0 WHERE BusinessID = :bizId AND UserID = 0
", { ", {
bizId: businessId, bizId: businessId,
line1: "1615 Ocean Front Walk", line1: "1615 Ocean Front Walk",
@ -96,7 +96,7 @@ try {
// Update phone on Businesses table (if column exists) // Update phone on Businesses table (if column exists)
try { try {
queryExecute("UPDATE Businesses SET BusinessPhone = :phone WHERE BusinessID = :bizId", { queryExecute("UPDATE Businesses SET Phone = :phone WHERE ID = :bizId", {
phone: "(310) 393-2666", phone: "(310) 393-2666",
bizId: businessId bizId: businessId
}); });
@ -107,10 +107,10 @@ try {
// Verify the data // Verify the data
address = queryExecute(" address = queryExecute("
SELECT a.*, s.tt_StateAbbreviation AS Abbreviation SELECT a.*, s.Abbreviation
FROM Addresses a FROM Addresses a
LEFT JOIN tt_States s ON s.tt_StateID = a.AddressStateID LEFT JOIN tt_States s ON s.ID = a.StateID
WHERE a.AddressBusinessID = :bizId AND a.AddressUserID = 0 WHERE a.BusinessID = :bizId AND a.UserID = 0
", { bizId: businessId }); ", { bizId: businessId });
hours = queryExecute(" hours = queryExecute("
@ -124,10 +124,10 @@ try {
response["OK"] = true; response["OK"] = true;
response["BUSINESS_ID"] = businessId; response["BUSINESS_ID"] = businessId;
response["ADDRESS"] = address.recordCount > 0 ? { response["ADDRESS"] = address.recordCount > 0 ? {
"line1": address.AddressLine1, "line1": address.Line1,
"city": address.AddressCity, "city": address.City,
"state": address.Abbreviation, "state": address.Abbreviation,
"zip": address.AddressZIPCode "zip": address.ZIPCode
} : "not found"; } : "not found";
hoursArr = []; hoursArr = [];

View file

@ -14,13 +14,13 @@ try {
// Create service point for Table 1 if it doesn't exist // Create service point for Table 1 if it doesn't exist
qSP = queryExecute(" qSP = queryExecute("
SELECT ServicePointID AS ID FROM ServicePoints SELECT ID FROM ServicePoints
WHERE ServicePointBusinessID = :bizID AND ServicePointName = 'Table 1' WHERE BusinessID = :bizID AND Name = 'Table 1'
", { bizID: lazyDaisyID }, { datasource: "payfrit" }); ", { bizID: lazyDaisyID }, { datasource: "payfrit" });
if (qSP.recordCount == 0) { if (qSP.recordCount == 0) {
queryExecute(" queryExecute("
INSERT INTO ServicePoints (ServicePointBusinessID, ServicePointName) INSERT INTO ServicePoints (BusinessID, Name)
VALUES (:bizID, 'Table 1') VALUES (:bizID, 'Table 1')
", { bizID: lazyDaisyID }, { datasource: "payfrit" }); ", { bizID: lazyDaisyID }, { datasource: "payfrit" });
qSP = queryExecute("SELECT LAST_INSERT_ID() as id", {}, { datasource: "payfrit" }); qSP = queryExecute("SELECT LAST_INSERT_ID() as id", {}, { datasource: "payfrit" });
@ -44,19 +44,19 @@ try {
// Assign beacon to Table 1 service point // Assign beacon to Table 1 service point
queryExecute(" queryExecute("
UPDATE ServicePoints SET BeaconID = :beaconID, AssignedByUserID = 1 UPDATE ServicePoints SET BeaconID = :beaconID, AssignedByUserID = 1
WHERE ServicePointID = :spID AND ServicePointBusinessID = :bizID WHERE ID = :spID AND BusinessID = :bizID
", { beaconID: beaconID, bizID: lazyDaisyID, spID: servicePointID }, { datasource: "payfrit" }); ", { beaconID: beaconID, bizID: lazyDaisyID, spID: servicePointID }, { datasource: "payfrit" });
response.steps.append("Assigned beacon " & beaconID & " to Table 1"); response.steps.append("Assigned beacon " & beaconID & " to Table 1");
} }
// Get final status // Get final status
qFinal = queryExecute(" qFinal = queryExecute("
SELECT sp.ServicePointID AS ServicePointID, sp.BeaconID, sp.ServicePointBusinessID AS BusinessID, SELECT sp.ID AS ServicePointID, sp.BeaconID, sp.BusinessID AS BusinessID,
b.Name AS BeaconName, b.UUID, sp.ServicePointName AS ServicePointName, b.Name AS BeaconName, b.UUID, sp.Name AS ServicePointName,
biz.BusinessName AS BusinessName biz.Name AS BusinessName
FROM ServicePoints sp FROM ServicePoints sp
JOIN Beacons b ON b.ID = sp.BeaconID JOIN Beacons b ON b.ID = sp.BeaconID
JOIN Businesses biz ON biz.BusinessID = sp.ServicePointBusinessID JOIN Businesses biz ON biz.ID = sp.BusinessID
WHERE sp.BeaconID IS NOT NULL WHERE sp.BeaconID IS NOT NULL
", {}, { datasource: "payfrit" }); ", {}, { datasource: "payfrit" });

View file

@ -12,14 +12,14 @@
<!--- Create Stations table if it doesn't exist ---> <!--- Create Stations table if it doesn't exist --->
<cfset queryExecute(" <cfset queryExecute("
CREATE TABLE IF NOT EXISTS Stations ( CREATE TABLE IF NOT EXISTS Stations (
StationID INT AUTO_INCREMENT PRIMARY KEY, ID INT AUTO_INCREMENT PRIMARY KEY,
BusinessID INT NOT NULL, BusinessID INT NOT NULL,
Name VARCHAR(100) NOT NULL, Name VARCHAR(100) NOT NULL,
Color VARCHAR(7) DEFAULT '##666666', Color VARCHAR(7) DEFAULT '##666666',
SortOrder INT DEFAULT 0, SortOrder INT DEFAULT 0,
IsActive TINYINT(1) DEFAULT 1, IsActive TINYINT(1) DEFAULT 1,
AddedOn DATETIME DEFAULT NOW(), AddedOn DATETIME DEFAULT NOW(),
FOREIGN KEY (BusinessID) REFERENCES Businesses(BusinessID) FOREIGN KEY (BusinessID) REFERENCES Businesses(ID)
) )
", [], { datasource = "payfrit" })> ", [], { datasource = "payfrit" })>
@ -39,7 +39,7 @@
<cfif stationColumnAdded> <cfif stationColumnAdded>
<cftry> <cftry>
<cfset queryExecute(" <cfset queryExecute("
ALTER TABLE Items ADD FOREIGN KEY (StationID) REFERENCES Stations(StationID) ALTER TABLE Items ADD FOREIGN KEY (StationID) REFERENCES Stations(ID)
", [], { datasource = "payfrit" })> ", [], { datasource = "payfrit" })>
<cfcatch></cfcatch> <cfcatch></cfcatch>
</cftry> </cftry>

View file

@ -30,12 +30,12 @@ queryExecute("
// Get current state // Get current state
q = queryExecute(" q = queryExecute("
SELECT sp.ServicePointID AS ServicePointID, sp.BeaconID, sp.ServicePointBusinessID AS BusinessID, SELECT sp.ID AS ServicePointID, sp.BeaconID, sp.ServicePointBusinessID AS BusinessID,
b.Name AS BeaconName, biz.BusinessName AS BusinessName, b.Name AS BeaconName, biz.Name AS BusinessName,
sp.ServicePointName AS ServicePointName sp.ServicePointName AS ServicePointName
FROM ServicePoints sp FROM ServicePoints sp
JOIN Beacons b ON b.ID = sp.BeaconID JOIN Beacons b ON b.ID = sp.BeaconID
JOIN Businesses biz ON biz.BusinessID = sp.ServicePointBusinessID JOIN Businesses biz ON biz.ID = sp.ServicePointBusinessID
WHERE sp.BeaconID IS NOT NULL WHERE sp.BeaconID IS NOT NULL
", {}, { datasource: "payfrit" }); ", {}, { datasource: "payfrit" });

View file

@ -35,13 +35,13 @@ q = queryExecute("
b.UUID, b.UUID,
b.Name AS BeaconName, b.Name AS BeaconName,
b.BusinessID AS BeaconBusinessID, b.BusinessID AS BeaconBusinessID,
sp.ServicePointID AS ServicePointID, sp.ID AS ServicePointID,
sp.ServicePointName AS ServicePointName, sp.ServicePointName AS ServicePointName,
sp.ServicePointBusinessID AS ServicePointBusinessID, sp.ServicePointBusinessID AS ServicePointBusinessID,
biz.BusinessName AS BusinessName biz.Name AS BusinessName
FROM Beacons b FROM Beacons b
LEFT JOIN ServicePoints sp ON sp.BeaconID = b.ID LEFT JOIN ServicePoints sp ON sp.BeaconID = b.ID
LEFT JOIN Businesses biz ON biz.BusinessID = b.BusinessID LEFT JOIN Businesses biz ON biz.ID = b.BusinessID
WHERE b.IsActive = 1 WHERE b.IsActive = 1
ORDER BY b.ID ORDER BY b.ID
", {}, { datasource: "payfrit" }); ", {}, { datasource: "payfrit" });

View file

@ -17,18 +17,18 @@ if (!structKeyExists(request, "BusinessID") || !isNumeric(request.BusinessID) ||
<cfquery name="q" datasource="payfrit"> <cfquery name="q" datasource="payfrit">
SELECT SELECT
sp.ServicePointID AS ServicePointID, sp.ID AS ServicePointID,
sp.BeaconID, sp.BeaconID,
sp.ServicePointBusinessID AS BusinessID, sp.BusinessID AS BusinessID,
sp.AssignedByUserID, sp.AssignedByUserID,
b.Name AS BeaconName, b.Name AS BeaconName,
b.UUID, b.UUID,
sp.ServicePointName AS ServicePointName sp.Name AS ServicePointName
FROM ServicePoints sp FROM ServicePoints sp
JOIN Beacons b ON b.ID = sp.BeaconID JOIN Beacons b ON b.ID = sp.BeaconID
WHERE sp.ServicePointBusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#"> WHERE sp.BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#">
AND sp.BeaconID IS NOT NULL AND sp.BeaconID IS NOT NULL
ORDER BY b.Name, sp.ServicePointName ORDER BY b.Name, sp.Name
</cfquery> </cfquery>
<cfset assignments = []> <cfset assignments = []>

View file

@ -48,9 +48,9 @@ ServicePointID = int(data.ServicePointID);
<!--- Validate Beacon is allowed for this Business: <!--- Validate Beacon is allowed for this Business:
Owner (Beacons.BusinessID) OR join table (lt_BeaconsID_BusinessesID) OR parent's owner ---> Owner (Beacons.BusinessID) OR join table (lt_BeaconsID_BusinessesID) OR parent's owner --->
<cfquery name="qBiz" datasource="payfrit"> <cfquery name="qBiz" datasource="payfrit">
SELECT BusinessID, BusinessParentBusinessID AS ParentBusinessID SELECT ID, BusinessParentBusinessID AS ParentBusinessID
FROM Businesses FROM Businesses
WHERE BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#"> WHERE ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#">
LIMIT 1 LIMIT 1
</cfquery> </cfquery>
@ -78,10 +78,10 @@ ServicePointID = int(data.ServicePointID);
<!--- Validate ServicePoint belongs to Business ---> <!--- Validate ServicePoint belongs to Business --->
<cfquery name="qS" datasource="payfrit"> <cfquery name="qS" datasource="payfrit">
SELECT ServicePointID SELECT ID
FROM ServicePoints FROM ServicePoints
WHERE ServicePointID = <cfqueryparam cfsqltype="cf_sql_integer" value="#ServicePointID#"> WHERE ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#ServicePointID#">
AND ServicePointBusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#"> AND BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#">
LIMIT 1 LIMIT 1
</cfquery> </cfquery>
<cfif qS.recordCount EQ 0> <cfif qS.recordCount EQ 0>
@ -91,9 +91,9 @@ ServicePointID = int(data.ServicePointID);
<!--- Check if this ServicePoint already has this beacon assigned ---> <!--- Check if this ServicePoint already has this beacon assigned --->
<cfquery name="qDuplicate" datasource="payfrit"> <cfquery name="qDuplicate" datasource="payfrit">
SELECT ServicePointID SELECT ID
FROM ServicePoints FROM ServicePoints
WHERE ServicePointID = <cfqueryparam cfsqltype="cf_sql_integer" value="#ServicePointID#"> WHERE ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#ServicePointID#">
AND BeaconID = <cfqueryparam cfsqltype="cf_sql_integer" value="#BeaconID#"> AND BeaconID = <cfqueryparam cfsqltype="cf_sql_integer" value="#BeaconID#">
LIMIT 1 LIMIT 1
</cfquery> </cfquery>
@ -107,8 +107,8 @@ ServicePointID = int(data.ServicePointID);
UPDATE ServicePoints UPDATE ServicePoints
SET BeaconID = <cfqueryparam cfsqltype="cf_sql_integer" value="#BeaconID#">, SET BeaconID = <cfqueryparam cfsqltype="cf_sql_integer" value="#BeaconID#">,
AssignedByUserID = <cfqueryparam cfsqltype="cf_sql_integer" value="1"> AssignedByUserID = <cfqueryparam cfsqltype="cf_sql_integer" value="1">
WHERE ServicePointID = <cfqueryparam cfsqltype="cf_sql_integer" value="#ServicePointID#"> WHERE ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#ServicePointID#">
AND ServicePointBusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#"> AND BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#">
</cfquery> </cfquery>
<cfoutput>#serializeJSON({ <cfoutput>#serializeJSON({

View file

@ -33,9 +33,9 @@ try {
// Look up the token // Look up the token
qToken = queryExecute(" qToken = queryExecute("
SELECT ut.UserID, u.UserFirstName AS FirstName, u.UserLastName AS LastName SELECT ut.UserID, u.FirstName, u.LastName
FROM UserTokens ut FROM UserTokens ut
JOIN Users u ON u.UserID = ut.UserID JOIN Users u ON u.ID = ut.UserID
WHERE ut.Token = :token WHERE ut.Token = :token
LIMIT 1 LIMIT 1
", { token: { value: token, cfsqltype: "cf_sql_varchar" } }, { datasource: "payfrit" }); ", { token: { value: token, cfsqltype: "cf_sql_varchar" } }, { datasource: "payfrit" });

View file

@ -48,13 +48,13 @@ beaconId = int(data.BeaconID);
<!--- Get all businesses that have assignments to this beacon (via service points or join table) ---> <!--- Get all businesses that have assignments to this beacon (via service points or join table) --->
<cfquery name="qAssignments" datasource="payfrit"> <cfquery name="qAssignments" datasource="payfrit">
SELECT SELECT
sp.ServicePointBusinessID AS BusinessID, sp.BusinessID AS BusinessID,
sp.ServicePointID AS ServicePointID, sp.ID AS ServicePointID,
biz.BusinessName AS BusinessName, biz.Name AS BusinessName,
biz.BusinessParentBusinessID, biz.ParentBusinessID AS BusinessParentBusinessID,
sp.ServicePointName AS ServicePointName sp.Name AS ServicePointName
FROM ServicePoints sp FROM ServicePoints sp
INNER JOIN Businesses biz ON biz.BusinessID = sp.ServicePointBusinessID INNER JOIN Businesses biz ON biz.ID = sp.BusinessID
WHERE sp.BeaconID = <cfqueryparam cfsqltype="cf_sql_integer" value="#beaconId#"> WHERE sp.BeaconID = <cfqueryparam cfsqltype="cf_sql_integer" value="#beaconId#">
AND sp.IsActive = 1 AND sp.IsActive = 1
@ -63,14 +63,14 @@ beaconId = int(data.BeaconID);
SELECT SELECT
lt.BusinessID, lt.BusinessID,
0 AS ServicePointID, 0 AS ServicePointID,
biz.BusinessName AS BusinessName, biz.Name AS BusinessName,
biz.BusinessParentBusinessID, biz.ParentBusinessID AS BusinessParentBusinessID,
'' AS ServicePointName '' AS ServicePointName
FROM lt_BeaconsID_BusinessesID lt FROM lt_BeaconsID_BusinessesID lt
INNER JOIN Businesses biz ON biz.BusinessID = lt.BusinessID INNER JOIN Businesses biz ON biz.ID = lt.BusinessID
WHERE lt.BeaconID = <cfqueryparam cfsqltype="cf_sql_integer" value="#beaconId#"> WHERE lt.BeaconID = <cfqueryparam cfsqltype="cf_sql_integer" value="#beaconId#">
AND lt.BusinessID NOT IN ( AND lt.BusinessID NOT IN (
SELECT sp2.ServicePointBusinessID FROM ServicePoints sp2 SELECT sp2.BusinessID FROM ServicePoints sp2
WHERE sp2.BeaconID = <cfqueryparam cfsqltype="cf_sql_integer" value="#beaconId#"> AND sp2.IsActive = 1 WHERE sp2.BeaconID = <cfqueryparam cfsqltype="cf_sql_integer" value="#beaconId#"> AND sp2.IsActive = 1
) )
@ -83,7 +83,7 @@ beaconId = int(data.BeaconID);
<!--- Check if this business has children ---> <!--- Check if this business has children --->
<cfquery name="qChildren" datasource="payfrit"> <cfquery name="qChildren" datasource="payfrit">
SELECT COUNT(*) as cnt FROM Businesses SELECT COUNT(*) as cnt FROM Businesses
WHERE BusinessParentBusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#qAssignments.BusinessID#"> WHERE ParentBusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#qAssignments.BusinessID#">
</cfquery> </cfquery>
<cfif qChildren.cnt GT 0> <cfif qChildren.cnt GT 0>
<cfset parentBusinessID = qAssignments.BusinessID> <cfset parentBusinessID = qAssignments.BusinessID>
@ -98,23 +98,23 @@ beaconId = int(data.BeaconID);
<cfif parentBusinessID GT 0> <cfif parentBusinessID GT 0>
<!--- Get parent business info for header image ---> <!--- Get parent business info for header image --->
<cfquery name="qParent" datasource="payfrit"> <cfquery name="qParent" datasource="payfrit">
SELECT BusinessName, BusinessHeaderImageExtension SELECT Name AS BusinessName, HeaderImageExtension AS BusinessHeaderImageExtension
FROM Businesses FROM Businesses
WHERE BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#parentBusinessID#"> WHERE ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#parentBusinessID#">
</cfquery> </cfquery>
<cfquery name="qChildBusinesses" datasource="payfrit"> <cfquery name="qChildBusinesses" datasource="payfrit">
SELECT SELECT
BusinessID, ID,
BusinessName, Name AS BusinessName,
BusinessParentBusinessID, ParentBusinessID AS BusinessParentBusinessID,
BusinessHeaderImageExtension HeaderImageExtension AS BusinessHeaderImageExtension
FROM Businesses FROM Businesses
WHERE BusinessParentBusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#parentBusinessID#"> WHERE ParentBusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#parentBusinessID#">
ORDER BY BusinessName ASC ORDER BY Name ASC
</cfquery> </cfquery>
<cfloop query="qChildBusinesses"> <cfloop query="qChildBusinesses">
<cfset arrayAppend(businesses, { <cfset arrayAppend(businesses, {
"BusinessID" = qChildBusinesses.BusinessID, "BusinessID" = qChildBusinesses.ID,
"Name" = qChildBusinesses.BusinessName, "Name" = qChildBusinesses.BusinessName,
"ServicePointID" = qAssignments.ServicePointID, "ServicePointID" = qAssignments.ServicePointID,
"ServicePointName" = qAssignments.ServicePointName, "ServicePointName" = qAssignments.ServicePointName,

View file

@ -39,22 +39,22 @@
b.ID AS BeaconID, b.ID AS BeaconID,
b.Name AS BeaconName, b.Name AS BeaconName,
b.UUID, b.UUID,
COALESCE(sp.ServicePointID, 0) AS ServicePointID, COALESCE(sp.ID, 0) AS ServicePointID,
COALESCE(sp.ServicePointName, '') AS ServicePointName, COALESCE(sp.Name, '') AS ServicePointName,
COALESCE(sp.ServicePointBusinessID, lt.BusinessID, b.BusinessID) AS BusinessID, COALESCE(sp.BusinessID, lt.BusinessID, b.BusinessID) AS BusinessID,
biz.BusinessName AS BusinessName, biz.Name AS BusinessName,
biz.BusinessParentBusinessID AS ParentBusinessID, biz.ParentBusinessID AS ParentBusinessID,
COALESCE(parent.BusinessName, '') AS ParentBusinessName, COALESCE(parent.Name, '') AS ParentBusinessName,
(SELECT COUNT(*) FROM Businesses WHERE BusinessParentBusinessID = biz.BusinessID) AS ChildCount (SELECT COUNT(*) FROM Businesses WHERE ParentBusinessID = biz.ID) AS ChildCount
FROM Beacons b FROM Beacons b
LEFT JOIN ServicePoints sp ON sp.BeaconID = b.ID LEFT JOIN ServicePoints sp ON sp.BeaconID = b.ID
LEFT JOIN lt_BeaconsID_BusinessesID lt ON lt.BeaconID = b.ID LEFT JOIN lt_BeaconsID_BusinessesID lt ON lt.BeaconID = b.ID
INNER JOIN Businesses biz ON COALESCE(sp.ServicePointBusinessID, lt.BusinessID, b.BusinessID) = biz.BusinessID INNER JOIN Businesses biz ON COALESCE(sp.BusinessID, lt.BusinessID, b.BusinessID) = biz.ID
LEFT JOIN Businesses parent ON biz.BusinessParentBusinessID = parent.BusinessID LEFT JOIN Businesses parent ON biz.ParentBusinessID = parent.ID
WHERE b.UUID IN (<cfqueryparam value="#arrayToList(cleanUUIDs)#" cfsqltype="cf_sql_varchar" list="true">) WHERE b.UUID IN (<cfqueryparam value="#arrayToList(cleanUUIDs)#" cfsqltype="cf_sql_varchar" list="true">)
AND b.IsActive = 1 AND b.IsActive = 1
AND biz.BusinessIsDemo = 0 AND biz.IsDemo = 0
AND biz.BusinessIsPrivate = 0 AND biz.IsPrivate = 0
</cfquery> </cfquery>
<cfset beacons = []> <cfset beacons = []>

View file

@ -35,17 +35,17 @@ try {
// Get business details // Get business details
q = queryExecute(" q = queryExecute("
SELECT SELECT
BusinessID, ID,
BusinessName, Name,
BusinessPhone, Phone,
BusinessStripeAccountID, StripeAccountID,
BusinessStripeOnboardingComplete, StripeOnboardingComplete,
BusinessIsHiring, IsHiring,
BusinessHeaderImageExtension, HeaderImageExtension,
BusinessTaxRate, TaxRate,
BusinessBrandColor BrandColor
FROM Businesses FROM Businesses
WHERE BusinessID = :businessID WHERE ID = :businessID
", { businessID: businessID }, { datasource: "payfrit" }); ", { businessID: businessID }, { datasource: "payfrit" });
if (q.recordCount == 0) { if (q.recordCount == 0) {
@ -56,11 +56,11 @@ try {
// Get address from Addresses table (either linked via AddressBusinessID or via Businesses.BusinessAddressID) // Get address from Addresses table (either linked via AddressBusinessID or via Businesses.BusinessAddressID)
qAddr = queryExecute(" qAddr = queryExecute("
SELECT a.AddressLine1, a.AddressLine2, a.AddressCity, a.AddressZIPCode, s.tt_StateAbbreviation AS Abbreviation SELECT a.Line1 AS AddressLine1, a.Line2 AS AddressLine2, a.City AS AddressCity, a.ZIPCode AS AddressZIPCode, s.Abbreviation
FROM Addresses a FROM Addresses a
LEFT JOIN tt_States s ON s.tt_StateID = a.AddressStateID LEFT JOIN tt_States s ON s.ID = a.StateID
WHERE (a.AddressBusinessID = :businessID OR a.AddressID = (SELECT BusinessAddressID FROM Businesses WHERE BusinessID = :businessID)) WHERE (a.BusinessID = :businessID OR a.ID = (SELECT AddressID FROM Businesses WHERE ID = :businessID))
AND a.AddressIsDeleted = 0 AND a.IsDeleted = 0
LIMIT 1 LIMIT 1
", { businessID: businessID }, { datasource: "payfrit" }); ", { businessID: businessID }, { datasource: "payfrit" });
@ -124,28 +124,28 @@ try {
} }
// Build business object // Build business object
taxRate = isNumeric(q.BusinessTaxRate) ? q.BusinessTaxRate : 0; taxRate = isNumeric(q.TaxRate) ? q.TaxRate : 0;
business = { business = {
"BusinessID": q.BusinessID, "BusinessID": q.ID,
"Name": q.BusinessName, "Name": q.Name,
"Address": addressStr, "Address": addressStr,
"Line1": addressLine1, "Line1": addressLine1,
"City": addressCity, "City": addressCity,
"AddressState": addressState, "AddressState": addressState,
"AddressZip": addressZip, "AddressZip": addressZip,
"Phone": q.BusinessPhone, "Phone": q.Phone,
"Hours": hoursStr, "Hours": hoursStr,
"HoursDetail": hoursArr, "HoursDetail": hoursArr,
"StripeConnected": (len(q.BusinessStripeAccountID) > 0 && q.BusinessStripeOnboardingComplete == 1), "StripeConnected": (len(q.StripeAccountID) > 0 && q.StripeOnboardingComplete == 1),
"IsHiring": q.BusinessIsHiring == 1, "IsHiring": q.IsHiring == 1,
"TaxRate": taxRate, "TaxRate": taxRate,
"TaxRatePercent": taxRate * 100, "TaxRatePercent": taxRate * 100,
"BrandColor": len(q.BusinessBrandColor) ? (left(q.BusinessBrandColor, 1) == chr(35) ? q.BusinessBrandColor : chr(35) & q.BusinessBrandColor) : "" "BrandColor": len(q.BrandColor) ? (left(q.BrandColor, 1) == chr(35) ? q.BrandColor : chr(35) & q.BrandColor) : ""
}; };
// Add header image URL if extension exists // Add header image URL if extension exists
if (len(q.BusinessHeaderImageExtension)) { if (len(q.HeaderImageExtension)) {
business["HeaderImageURL"] = "https://biz.payfrit.com/uploads/headers/" & q.BusinessID & "." & q.BusinessHeaderImageExtension; business["HeaderImageURL"] = "https://biz.payfrit.com/uploads/headers/" & q.ID & "." & q.HeaderImageExtension;
} }
response["OK"] = true; response["OK"] = true;

View file

@ -36,10 +36,10 @@ try {
q = queryExecute( q = queryExecute(
" "
SELECT SELECT
BusinessID, ID,
BusinessName Name
FROM Businesses FROM Businesses
WHERE BusinessParentBusinessID = :parentId WHERE ParentBusinessID = :parentId
ORDER BY Name ORDER BY Name
", ",
{ parentId = { value = parentBusinessId, cfsqltype = "cf_sql_integer" } }, { parentId = { value = parentBusinessId, cfsqltype = "cf_sql_integer" } },
@ -49,8 +49,8 @@ try {
rows = []; rows = [];
for (i = 1; i <= q.recordCount; i++) { for (i = 1; i <= q.recordCount; i++) {
arrayAppend(rows, { arrayAppend(rows, {
"BusinessID": q.BusinessID[i], "BusinessID": q.ID[i],
"Name": q.BusinessName[i] "Name": q.Name[i]
}); });
} }

View file

@ -43,17 +43,17 @@ try {
q = queryExecute( q = queryExecute(
" "
SELECT SELECT
b.BusinessID, b.ID,
b.BusinessName, b.Name,
a.AddressLat, a.Latitude AS AddressLat,
a.AddressLng, a.Longitude AS AddressLng,
a.AddressCity, a.City AS AddressCity,
a.AddressLine1 a.Line1 AS AddressLine1
FROM Businesses b FROM Businesses b
LEFT JOIN Addresses a ON b.BusinessAddressID = a.AddressID LEFT JOIN Addresses a ON b.AddressID = a.ID
WHERE (b.BusinessIsDemo = 0 OR b.BusinessIsDemo IS NULL) WHERE (b.IsDemo = 0 OR b.IsDemo IS NULL)
AND (b.BusinessIsPrivate = 0 OR b.BusinessIsPrivate IS NULL) AND (b.IsPrivate = 0 OR b.IsPrivate IS NULL)
ORDER BY b.BusinessName ORDER BY b.Name
", ",
[], [],
{ datasource = "payfrit" } { datasource = "payfrit" }
@ -63,8 +63,8 @@ try {
rows = []; rows = [];
for (i = 1; i <= q.recordCount; i++) { for (i = 1; i <= q.recordCount; i++) {
row = { row = {
"BusinessID": q.BusinessID[i], "BusinessID": q.ID[i],
"Name": q.BusinessName[i], "Name": q.Name[i],
"City": isNull(q.AddressCity[i]) ? "" : q.AddressCity[i], "City": isNull(q.AddressCity[i]) ? "" : q.AddressCity[i],
"Line1": isNull(q.AddressLine1[i]) ? "" : q.AddressLine1[i] "Line1": isNull(q.AddressLine1[i]) ? "" : q.AddressLine1[i]
}; };

View file

@ -49,8 +49,8 @@ if (len(brandColor) GT 0) {
// Update the database // Update the database
queryExecute(" queryExecute("
UPDATE Businesses UPDATE Businesses
SET BusinessBrandColor = :color SET BrandColor = :color
WHERE BusinessID = :bizId WHERE ID = :bizId
", { ", {
color: { value: brandColor, cfsqltype: "cf_sql_varchar" }, color: { value: brandColor, cfsqltype: "cf_sql_varchar" },
bizId: { value: bizId, cfsqltype: "cf_sql_integer" } bizId: { value: bizId, cfsqltype: "cf_sql_integer" }

View file

@ -45,8 +45,8 @@ if (isHiring == -1) {
try { try {
queryExecute(" queryExecute("
UPDATE Businesses UPDATE Businesses
SET BusinessIsHiring = ? SET IsHiring = ?
WHERE BusinessID = ? WHERE ID = ?
", [ ", [
{ value: isHiring, cfsqltype: "cf_sql_tinyint" }, { value: isHiring, cfsqltype: "cf_sql_tinyint" },
{ value: businessId, cfsqltype: "cf_sql_integer" } { value: businessId, cfsqltype: "cf_sql_integer" }

View file

@ -48,8 +48,8 @@ try {
if (len(bizName)) { if (len(bizName)) {
if (isNumeric(taxRate)) { if (isNumeric(taxRate)) {
queryExecute(" queryExecute("
UPDATE Businesses SET BusinessName = :name, BusinessPhone = :phone, BusinessTaxRate = :taxRate UPDATE Businesses SET Name = :name, Phone = :phone, TaxRate = :taxRate
WHERE BusinessID = :id WHERE ID = :id
", { ", {
name: bizName, name: bizName,
phone: bizPhone, phone: bizPhone,
@ -58,8 +58,8 @@ try {
}, { datasource: "payfrit" }); }, { datasource: "payfrit" });
} else { } else {
queryExecute(" queryExecute("
UPDATE Businesses SET BusinessName = :name, BusinessPhone = :phone UPDATE Businesses SET Name = :name, Phone = :phone
WHERE BusinessID = :id WHERE ID = :id
", { ", {
name: bizName, name: bizName,
phone: bizPhone, phone: bizPhone,
@ -81,7 +81,7 @@ try {
stateID = 0; stateID = 0;
if (len(state)) { if (len(state)) {
qState = queryExecute(" qState = queryExecute("
SELECT tt_StateID AS ID FROM tt_States WHERE tt_StateAbbreviation = :abbr SELECT ID FROM tt_States WHERE Abbreviation = :abbr
", { abbr: uCase(state) }, { datasource: "payfrit" }); ", { abbr: uCase(state) }, { datasource: "payfrit" });
if (qState.recordCount > 0) { if (qState.recordCount > 0) {
stateID = qState.ID; stateID = qState.ID;
@ -90,8 +90,8 @@ try {
// Check if business has an address // Check if business has an address
qAddr = queryExecute(" qAddr = queryExecute("
SELECT AddressID FROM Addresses SELECT ID FROM Addresses
WHERE AddressBusinessID = :bizID AND AddressUserID = 0 AND AddressIsDeleted = 0 WHERE BusinessID = :bizID AND UserID = 0 AND IsDeleted = 0
LIMIT 1 LIMIT 1
", { bizID: businessId }, { datasource: "payfrit" }); ", { bizID: businessId }, { datasource: "payfrit" });
@ -99,22 +99,22 @@ try {
// Update existing address // Update existing address
queryExecute(" queryExecute("
UPDATE Addresses SET UPDATE Addresses SET
AddressLine1 = :line1, Line1 = :line1,
AddressCity = :city, City = :city,
AddressStateID = :stateID, StateID = :stateID,
AddressZIPCode = :zip ZIPCode = :zip
WHERE AddressID = :addrID WHERE ID = :addrID
", { ", {
line1: addressLine1, line1: addressLine1,
city: city, city: city,
stateID: stateID, stateID: stateID,
zip: zip, zip: zip,
addrID: qAddr.AddressID addrID: qAddr.ID
}, { datasource: "payfrit" }); }, { datasource: "payfrit" });
} else { } else {
// Create new address // Create new address
queryExecute(" queryExecute("
INSERT INTO Addresses (AddressLine1, AddressCity, AddressStateID, AddressZIPCode, AddressBusinessID, AddressUserID, AddressTypeID, AddressAddedOn) INSERT INTO Addresses (Line1, City, StateID, ZIPCode, BusinessID, UserID, AddressTypeID, AddedOn)
VALUES (:line1, :city, :stateID, :zip, :bizID, 0, 2, NOW()) VALUES (:line1, :city, :stateID, :zip, :bizID, 0, 2, NOW())
", { ", {
line1: addressLine1, line1: addressLine1,

View file

@ -43,9 +43,9 @@ try {
m.MessageBody, m.MessageBody,
m.IsRead, m.IsRead,
m.CreatedOn, m.CreatedOn,
u.UserFirstName as SenderName u.FirstName as SenderName
FROM ChatMessages m FROM ChatMessages m
LEFT JOIN Users u ON u.UserID = m.SenderUserID LEFT JOIN Users u ON u.ID = m.SenderUserID
WHERE m.TaskID = :taskID AND m.ID > :afterID WHERE m.TaskID = :taskID AND m.ID > :afterID
ORDER BY m.CreatedOn ASC ORDER BY m.CreatedOn ASC
", { ", {
@ -62,9 +62,9 @@ try {
m.MessageBody, m.MessageBody,
m.IsRead, m.IsRead,
m.CreatedOn, m.CreatedOn,
u.UserFirstName as SenderName u.FirstName as SenderName
FROM ChatMessages m FROM ChatMessages m
LEFT JOIN Users u ON u.UserID = m.SenderUserID LEFT JOIN Users u ON u.ID = m.SenderUserID
WHERE m.TaskID = :taskID WHERE m.TaskID = :taskID
ORDER BY m.CreatedOn ASC ORDER BY m.CreatedOn ASC
", { ", {

View file

@ -442,7 +442,7 @@ try {
brandColor = ""; brandColor = "";
try { try {
qBrand = queryExecute(" qBrand = queryExecute("
SELECT BusinessBrandColor FROM Businesses WHERE BusinessID = :bizId SELECT BrandColor AS BusinessBrandColor FROM Businesses WHERE ID = :bizId
", { bizId: businessID }, { datasource: "payfrit" }); ", { bizId: businessID }, { datasource: "payfrit" });
if (qBrand.recordCount > 0 && len(trim(qBrand.BusinessBrandColor))) { if (qBrand.recordCount > 0 && len(trim(qBrand.BusinessBrandColor))) {
brandColor = left(qBrand.BusinessBrandColor, 1) == chr(35) ? qBrand.BusinessBrandColor : chr(35) & qBrand.BusinessBrandColor; brandColor = left(qBrand.BusinessBrandColor, 1) == chr(35) ? qBrand.BusinessBrandColor : chr(35) & qBrand.BusinessBrandColor;

View file

@ -533,7 +533,7 @@
<cfset brandColor = ""> <cfset brandColor = "">
<cftry> <cftry>
<cfset qBrand = queryExecute( <cfset qBrand = queryExecute(
"SELECT BusinessBrandColor FROM Businesses WHERE BusinessID = ?", "SELECT BrandColor AS BusinessBrandColor FROM Businesses WHERE ID = ?",
[ { value = BusinessID, cfsqltype = "cf_sql_integer" } ], [ { value = BusinessID, cfsqltype = "cf_sql_integer" } ],
{ datasource = "payfrit" } { datasource = "payfrit" }
)> )>

View file

@ -49,7 +49,7 @@ if (bizId LTE 0) {
<!--- Delete old header if exists ---> <!--- Delete old header if exists --->
<cfquery name="qOldHeader" datasource="payfrit"> <cfquery name="qOldHeader" datasource="payfrit">
SELECT BusinessHeaderImageExtension SELECT HeaderImageExtension AS BusinessHeaderImageExtension
FROM Businesses FROM Businesses
WHERE BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#bizId#"> WHERE BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#bizId#">
</cfquery> </cfquery>
@ -70,7 +70,7 @@ if (bizId LTE 0) {
<!--- Update database ---> <!--- Update database --->
<cfquery datasource="payfrit"> <cfquery datasource="payfrit">
UPDATE Businesses UPDATE Businesses
SET BusinessHeaderImageExtension = <cfqueryparam cfsqltype="cf_sql_varchar" value="#uploadResult.ClientFileExt#"> SET HeaderImageExtension = <cfqueryparam cfsqltype="cf_sql_varchar" value="#uploadResult.ClientFileExt#">
WHERE BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#bizId#"> WHERE BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#bizId#">
</cfquery> </cfquery>

View file

@ -36,17 +36,17 @@ try {
o.StatusID, o.StatusID,
o.ServicePointID, o.ServicePointID,
o.AddedOn, o.AddedOn,
b.BusinessName, b.Name AS BusinessName,
b.BusinessOrderTypes, b.OrderTypes AS BusinessOrderTypes,
sp.ServicePointName, sp.Name AS ServicePointName,
(SELECT COUNT(*) (SELECT COUNT(*)
FROM OrderLineItems oli FROM OrderLineItems oli
WHERE oli.OrderID = o.ID WHERE oli.OrderID = o.ID
AND oli.IsDeleted = 0 AND oli.IsDeleted = 0
AND oli.ParentOrderLineItemID = 0) as ItemCount AND oli.ParentOrderLineItemID = 0) as ItemCount
FROM Orders o FROM Orders o
LEFT JOIN Businesses b ON b.BusinessID = o.BusinessID LEFT JOIN Businesses b ON b.ID = o.BusinessID
LEFT JOIN ServicePoints sp ON sp.ServicePointID = o.ServicePointID LEFT JOIN ServicePoints sp ON sp.ID = o.ServicePointID
WHERE o.UserID = :userId WHERE o.UserID = :userId
AND o.StatusID = 0 AND o.StatusID = 0
ORDER BY o.ID DESC ORDER BY o.ID DESC
@ -71,7 +71,7 @@ try {
response["OK"] = true; response["OK"] = true;
response["HAS_CART"] = true; response["HAS_CART"] = true;
response["CART"] = { response["CART"] = {
"OrderID": val(qCart.OrderID), "OrderID": val(qCart.ID),
"UUID": qCart.UUID ?: "", "UUID": qCart.UUID ?: "",
"BusinessID": val(qCart.BusinessID), "BusinessID": val(qCart.BusinessID),
"Name": len(trim(qCart.BusinessName)) ? qCart.BusinessName : "", "Name": len(trim(qCart.BusinessName)) ? qCart.BusinessName : "",

View file

@ -67,12 +67,12 @@
<!--- Get business info for display in cart ---> <!--- Get business info for display in cart --->
<cfset qBusiness = queryExecute( <cfset qBusiness = queryExecute(
"SELECT BusinessDeliveryFlatFee, BusinessOrderTypes FROM Businesses WHERE BusinessID = ? LIMIT 1", "SELECT DeliveryFlatFee, OrderTypes FROM Businesses WHERE ID = ? LIMIT 1",
[ { value = qOrder.BusinessID, cfsqltype = "cf_sql_integer" } ], [ { value = qOrder.BusinessID, cfsqltype = "cf_sql_integer" } ],
{ datasource = "payfrit" } { datasource = "payfrit" }
)> )>
<cfset businessDeliveryFee = qBusiness.recordCount GT 0 ? qBusiness.BusinessDeliveryFlatFee : 0> <cfset businessDeliveryFee = qBusiness.recordCount GT 0 ? qBusiness.DeliveryFlatFee : 0>
<cfset businessOrderTypes = qBusiness.recordCount GT 0 AND len(trim(qBusiness.BusinessOrderTypes)) ? qBusiness.BusinessOrderTypes : "1,2,3"> <cfset businessOrderTypes = qBusiness.recordCount GT 0 AND len(trim(qBusiness.OrderTypes)) ? qBusiness.OrderTypes : "1,2,3">
<cfset businessOrderTypesArray = listToArray(businessOrderTypes, ",")> <cfset businessOrderTypesArray = listToArray(businessOrderTypes, ",")>
<cfset qLI = queryExecute( <cfset qLI = queryExecute(

View file

@ -55,18 +55,18 @@ try {
o.LastEditedOn, o.LastEditedOn,
o.SubmittedOn, o.SubmittedOn,
o.TipAmount, o.TipAmount,
u.UserFirstName AS FirstName, u.FirstName,
u.UserLastName AS LastName, u.LastName,
u.UserContactNumber AS ContactNumber, u.ContactNumber,
u.UserEmailAddress AS EmailAddress, u.EmailAddress,
sp.ServicePointName AS Name, sp.Name AS Name,
sp.ServicePointTypeID AS TypeID, sp.TypeID AS TypeID,
b.BusinessName AS BizName, b.Name AS BizName,
b.BusinessTaxRate AS TaxRate b.TaxRate
FROM Orders o FROM Orders o
LEFT JOIN Users u ON u.UserID = o.UserID LEFT JOIN Users u ON u.ID = o.UserID
LEFT JOIN ServicePoints sp ON sp.ServicePointID = o.ServicePointID LEFT JOIN ServicePoints sp ON sp.ID = o.ServicePointID
LEFT JOIN Businesses b ON b.BusinessID = o.BusinessID LEFT JOIN Businesses b ON b.ID = o.BusinessID
WHERE o.ID = :orderID WHERE o.ID = :orderID
", { orderID: orderID }); ", { orderID: orderID });
@ -152,18 +152,18 @@ try {
// Get staff who worked on this order (from Tasks table) with pending rating tokens // Get staff who worked on this order (from Tasks table) with pending rating tokens
qStaff = queryExecute(" qStaff = queryExecute("
SELECT DISTINCT u.UserID AS ID, u.UserFirstName AS FirstName, SELECT DISTINCT u.ID, u.FirstName,
(SELECT r.AccessToken (SELECT r.AccessToken
FROM TaskRatings r FROM TaskRatings r
INNER JOIN Tasks t2 ON t2.ID = r.TaskID INNER JOIN Tasks t2 ON t2.ID = r.TaskID
WHERE t2.OrderID = :orderID WHERE t2.OrderID = :orderID
AND r.ForUserID = u.UserID AND r.ForUserID = u.ID
AND r.Direction = 'customer_rates_worker' AND r.Direction = 'customer_rates_worker'
AND r.CompletedOn IS NULL AND r.CompletedOn IS NULL
AND r.ExpiresOn > NOW() AND r.ExpiresOn > NOW()
LIMIT 1) AS RatingToken LIMIT 1) AS RatingToken
FROM Tasks t FROM Tasks t
INNER JOIN Users u ON u.UserID = t.ClaimedByUserID INNER JOIN Users u ON u.ID = t.ClaimedByUserID
WHERE t.OrderID = :orderID WHERE t.OrderID = :orderID
AND t.ClaimedByUserID > 0 AND t.ClaimedByUserID > 0
", { orderID: orderID }); ", { orderID: orderID });

View file

@ -62,11 +62,11 @@
<!--- Get business delivery fee for display in cart ---> <!--- Get business delivery fee for display in cart --->
<cfset var qBusiness = queryExecute( <cfset var qBusiness = queryExecute(
"SELECT BusinessDeliveryFlatFee FROM Businesses WHERE BusinessID = ? LIMIT 1", "SELECT DeliveryFlatFee FROM Businesses WHERE ID = ? LIMIT 1",
[ { value = qOrder.BusinessID, cfsqltype = "cf_sql_integer" } ], [ { value = qOrder.BusinessID, cfsqltype = "cf_sql_integer" } ],
{ datasource = "payfrit" } { datasource = "payfrit" }
)> )>
<cfset var businessDeliveryFee = qBusiness.recordCount GT 0 ? qBusiness.BusinessDeliveryFlatFee : 0> <cfset var businessDeliveryFee = qBusiness.recordCount GT 0 ? qBusiness.DeliveryFlatFee : 0>
<cfset out.Order = { <cfset out.Order = {
"OrderID": val(qOrder.ID), "OrderID": val(qOrder.ID),
@ -229,9 +229,9 @@
<!--- Create new cart order ---> <!--- Create new cart order --->
<cfset qBiz = queryExecute( <cfset qBiz = queryExecute(
" "
SELECT BusinessDeliveryMultiplier, BusinessDeliveryFlatFee SELECT DeliveryMultiplier, DeliveryFlatFee
FROM Businesses FROM Businesses
WHERE BusinessID = ? WHERE ID = ?
LIMIT 1 LIMIT 1
", ",
[ { value = BusinessID, cfsqltype = "cf_sql_integer" } ], [ { value = BusinessID, cfsqltype = "cf_sql_integer" } ],
@ -249,7 +249,7 @@
OrderTypeID: 0=undecided, 1=dine-in, 2=takeaway, 3=delivery OrderTypeID: 0=undecided, 1=dine-in, 2=takeaway, 3=delivery
Only delivery (3) should have delivery fee. Only delivery (3) should have delivery fee.
Note: For undecided orders (0), fee is set later via setOrderType.cfm ---> Note: For undecided orders (0), fee is set later via setOrderType.cfm --->
<cfset deliveryFee = (OrderTypeID EQ 3) ? qBiz.BusinessDeliveryFlatFee : 0> <cfset deliveryFee = (OrderTypeID EQ 3) ? qBiz.DeliveryFlatFee : 0>
<!--- Generate new OrderID (table is not auto-inc in SSOT) ---> <!--- Generate new OrderID (table is not auto-inc in SSOT) --->
<cfset qNext = queryExecute( <cfset qNext = queryExecute(
@ -300,7 +300,7 @@
{ value = newUUID, cfsqltype = "cf_sql_varchar" }, { value = newUUID, cfsqltype = "cf_sql_varchar" },
{ value = UserID, cfsqltype = "cf_sql_integer" }, { value = UserID, cfsqltype = "cf_sql_integer" },
{ value = BusinessID, cfsqltype = "cf_sql_integer" }, { value = BusinessID, cfsqltype = "cf_sql_integer" },
{ value = qBiz.BusinessDeliveryMultiplier, cfsqltype = "cf_sql_decimal" }, { value = qBiz.DeliveryMultiplier, cfsqltype = "cf_sql_decimal" },
{ value = OrderTypeID, cfsqltype = "cf_sql_integer" }, { value = OrderTypeID, cfsqltype = "cf_sql_integer" },
{ value = deliveryFee, cfsqltype = "cf_sql_decimal" }, { value = deliveryFee, cfsqltype = "cf_sql_decimal" },
{ value = nowDt, cfsqltype = "cf_sql_timestamp" }, { value = nowDt, cfsqltype = "cf_sql_timestamp" },

View file

@ -45,16 +45,16 @@ try {
o.StatusID, o.StatusID,
o.SubmittedOn, o.SubmittedOn,
o.ServicePointID, o.ServicePointID,
sp.ServicePointName AS Name, sp.Name AS Name,
b.BusinessName AS BizName, b.Name AS BizName,
(SELECT COALESCE(SUM(oli.Price * oli.Quantity), 0) (SELECT COALESCE(SUM(oli.Price * oli.Quantity), 0)
FROM OrderLineItems oli FROM OrderLineItems oli
WHERE oli.OrderID = o.ID WHERE oli.OrderID = o.ID
AND oli.IsDeleted = 0 AND oli.IsDeleted = 0
AND oli.ParentOrderLineItemID = 0) as Subtotal AND oli.ParentOrderLineItemID = 0) as Subtotal
FROM Orders o FROM Orders o
LEFT JOIN ServicePoints sp ON sp.ServicePointID = o.ServicePointID LEFT JOIN ServicePoints sp ON sp.ID = o.ServicePointID
LEFT JOIN Businesses b ON b.BusinessID = o.BusinessID LEFT JOIN Businesses b ON b.ID = o.BusinessID
WHERE o.UserID = :userId WHERE o.UserID = :userId
AND o.BusinessID = :businessId AND o.BusinessID = :businessId
AND o.StatusID IN (1, 2, 3) AND o.StatusID IN (1, 2, 3)

View file

@ -72,10 +72,10 @@ try {
o.OrderTypeID, o.OrderTypeID,
o.AddedOn, o.AddedOn,
o.LastEditedOn, o.LastEditedOn,
b.BusinessName, b.Name AS BusinessName,
COALESCE(ot.tt_OrderTypeName, 'Unknown') as OrderTypeName COALESCE(ot.tt_OrderTypeName, 'Unknown') as OrderTypeName
FROM Orders o FROM Orders o
LEFT JOIN Businesses b ON b.BusinessID = o.BusinessID LEFT JOIN Businesses b ON b.ID = o.BusinessID
LEFT JOIN tt_OrderTypes ot ON ot.tt_OrderTypeID = o.OrderTypeID LEFT JOIN tt_OrderTypes ot ON ot.tt_OrderTypeID = o.OrderTypeID
WHERE o.UserID = :userId WHERE o.UserID = :userId
AND o.StatusID > 0 AND o.StatusID > 0

View file

@ -70,12 +70,12 @@
o.Remarks, o.Remarks,
o.SubmittedOn, o.SubmittedOn,
o.LastEditedOn, o.LastEditedOn,
sp.ServicePointName AS Name, sp.Name AS Name,
u.UserFirstName AS FirstName, u.FirstName,
u.UserLastName AS LastName u.LastName
FROM Orders o FROM Orders o
LEFT JOIN ServicePoints sp ON sp.ServicePointID = o.ServicePointID LEFT JOIN ServicePoints sp ON sp.ID = o.ServicePointID
LEFT JOIN Users u ON u.UserID = o.UserID LEFT JOIN Users u ON u.ID = o.UserID
INNER JOIN OrderLineItems oli ON oli.OrderID = o.ID INNER JOIN OrderLineItems oli ON oli.OrderID = o.ID
INNER JOIN Items i ON i.ID = oli.ItemID INNER JOIN Items i ON i.ID = oli.ItemID
WHERE #whereSQL# WHERE #whereSQL#
@ -96,12 +96,12 @@
o.Remarks, o.Remarks,
o.SubmittedOn, o.SubmittedOn,
o.LastEditedOn, o.LastEditedOn,
sp.ServicePointName AS Name, sp.Name AS Name,
u.UserFirstName AS FirstName, u.FirstName,
u.UserLastName AS LastName u.LastName
FROM Orders o FROM Orders o
LEFT JOIN ServicePoints sp ON sp.ServicePointID = o.ServicePointID LEFT JOIN ServicePoints sp ON sp.ID = o.ServicePointID
LEFT JOIN Users u ON u.UserID = o.UserID LEFT JOIN Users u ON u.ID = o.UserID
WHERE #whereSQL# WHERE #whereSQL#
ORDER BY o.SubmittedOn ASC, o.ID ASC ORDER BY o.SubmittedOn ASC, o.ID ASC
", params, { datasource = "payfrit" })> ", params, { datasource = "payfrit" })>

View file

@ -191,9 +191,9 @@
o.LastEditedOn, o.LastEditedOn,
o.SubmittedOn, o.SubmittedOn,
o.ServicePointID, o.ServicePointID,
COALESCE(b.BusinessDeliveryFlatFee, 0) AS BusinessDeliveryFee COALESCE(b.DeliveryFlatFee, 0) AS BusinessDeliveryFee
FROM Orders o FROM Orders o
LEFT JOIN Businesses b ON b.BusinessID = o.BusinessID LEFT JOIN Businesses b ON b.ID = o.BusinessID
WHERE o.ID = ? WHERE o.ID = ?
LIMIT 1 LIMIT 1
", ",

View file

@ -62,11 +62,11 @@
<!--- Get business delivery fee for display in cart ---> <!--- Get business delivery fee for display in cart --->
<cfset var qBusiness = queryExecute( <cfset var qBusiness = queryExecute(
"SELECT BusinessDeliveryFlatFee FROM Businesses WHERE BusinessID = ? LIMIT 1", "SELECT DeliveryFlatFee FROM Businesses WHERE ID = ? LIMIT 1",
[ { value = qOrder.BusinessID, cfsqltype = "cf_sql_integer" } ], [ { value = qOrder.BusinessID, cfsqltype = "cf_sql_integer" } ],
{ datasource = "payfrit" } { datasource = "payfrit" }
)> )>
<cfset var businessDeliveryFee = qBusiness.recordCount GT 0 ? qBusiness.BusinessDeliveryFlatFee : 0> <cfset var businessDeliveryFee = qBusiness.recordCount GT 0 ? qBusiness.DeliveryFlatFee : 0>
<cfset out.Order = { <cfset out.Order = {
"OrderID": val(qOrder.ID), "OrderID": val(qOrder.ID),
@ -201,12 +201,12 @@
<cfset deliveryFee = 0> <cfset deliveryFee = 0>
<cfif OrderTypeID EQ 3> <cfif OrderTypeID EQ 3>
<cfset qBiz = queryExecute( <cfset qBiz = queryExecute(
"SELECT BusinessDeliveryFlatFee FROM Businesses WHERE BusinessID = ? LIMIT 1", "SELECT DeliveryFlatFee FROM Businesses WHERE ID = ? LIMIT 1",
[ { value = qOrder.BusinessID, cfsqltype = "cf_sql_integer" } ], [ { value = qOrder.BusinessID, cfsqltype = "cf_sql_integer" } ],
{ datasource = "payfrit" } { datasource = "payfrit" }
)> )>
<cfif qBiz.recordCount GT 0> <cfif qBiz.recordCount GT 0>
<cfset deliveryFee = qBiz.BusinessDeliveryFlatFee> <cfset deliveryFee = qBiz.DeliveryFlatFee>
</cfif> </cfif>
</cfif> </cfif>

View file

@ -24,12 +24,12 @@ if (!structKeyExists(request, "BusinessID") || !isNumeric(request.BusinessID) ||
try { try {
q = queryExecute(" q = queryExecute("
SELECT SELECT
b.BusinessID AS ID, b.ID,
b.BusinessName AS Name, b.Name,
b.BusinessTaxRate AS TaxRate, b.TaxRate,
b.BusinessPhone AS Phone b.Phone
FROM Businesses b FROM Businesses b
WHERE b.BusinessID = :businessId WHERE b.ID = :businessId
LIMIT 1 LIMIT 1
", { businessId: request.BusinessID }, { datasource: "payfrit" }); ", { businessId: request.BusinessID }, { datasource: "payfrit" });
@ -39,11 +39,11 @@ try {
// Get address from Addresses table // Get address from Addresses table
qAddr = queryExecute(" qAddr = queryExecute("
SELECT a.AddressLine1 AS Line1, a.AddressLine2 AS Line2, a.AddressCity AS City, a.AddressZIPCode AS ZIPCode, s.tt_StateAbbreviation AS State SELECT a.Line1, a.Line2, a.City, a.ZIPCode, s.Abbreviation AS State
FROM Addresses a FROM Addresses a
LEFT JOIN tt_States s ON s.tt_StateID = a.AddressStateID LEFT JOIN tt_States s ON s.ID = a.StateID
WHERE (a.AddressBusinessID = :businessId OR a.AddressID = (SELECT BusinessAddressID FROM Businesses WHERE BusinessID = :businessId)) WHERE (a.BusinessID = :businessId OR a.ID = (SELECT AddressID FROM Businesses WHERE ID = :businessId))
AND a.AddressIsDeleted = 0 AND a.IsDeleted = 0
LIMIT 1 LIMIT 1
", { businessId: request.BusinessID }, { datasource: "payfrit" }); ", { businessId: request.BusinessID }, { datasource: "payfrit" });
@ -62,7 +62,7 @@ try {
qUser = queryExecute(" qUser = queryExecute("
SELECT UserContactNumber AS ContactNumber, UserEmailAddress AS EmailAddress SELECT UserContactNumber AS ContactNumber, UserEmailAddress AS EmailAddress
FROM Users FROM Users
WHERE UserID = (SELECT BusinessUserID FROM Businesses WHERE BusinessID = :businessId) WHERE ID = (SELECT UserID FROM Businesses WHERE ID = :businessId)
LIMIT 1 LIMIT 1
", { businessId: request.BusinessID }, { datasource: "payfrit" }); ", { businessId: request.BusinessID }, { datasource: "payfrit" });

View file

@ -45,17 +45,17 @@ try {
// Get businesses for this user (owner only) // Get businesses for this user (owner only)
q = queryExecute(" q = queryExecute("
SELECT b.BusinessID, b.BusinessName SELECT b.ID, b.Name
FROM Businesses b FROM Businesses b
WHERE b.BusinessUserID = :userID WHERE b.UserID = :userID
ORDER BY b.BusinessName ORDER BY b.Name
", { userID: userID }, { datasource: "payfrit" }); ", { userID: userID }, { datasource: "payfrit" });
businesses = []; businesses = [];
for (row in q) { for (row in q) {
arrayAppend(businesses, { arrayAppend(businesses, {
"BusinessID": row.BusinessID, "BusinessID": row.ID,
"Name": row.BusinessName "Name": row.Name
}); });
} }

View file

@ -46,10 +46,10 @@ try {
e.UserID, e.UserID,
e.StatusID, e.StatusID,
CAST(e.IsActive AS UNSIGNED) AS IsActive, CAST(e.IsActive AS UNSIGNED) AS IsActive,
u.UserFirstName AS FirstName, u.FirstName,
u.UserLastName AS LastName, u.LastName,
u.UserEmailAddress AS EmailAddress, u.EmailAddress,
u.UserContactNumber AS ContactNumber, u.ContactNumber,
CASE e.StatusID CASE e.StatusID
WHEN 0 THEN 'Pending' WHEN 0 THEN 'Pending'
WHEN 1 THEN 'Invited' WHEN 1 THEN 'Invited'
@ -58,9 +58,9 @@ try {
ELSE 'Unknown' ELSE 'Unknown'
END AS StatusName END AS StatusName
FROM Employees e FROM Employees e
JOIN Users u ON e.UserID = u.UserID JOIN Users u ON e.UserID = u.ID
WHERE e.BusinessID = ? WHERE e.BusinessID = ?
ORDER BY e.IsActive DESC, u.UserFirstName ASC ORDER BY e.IsActive DESC, u.FirstName ASC
", [ ", [
{ value: businessId, cfsqltype: "cf_sql_integer" } { value: businessId, cfsqltype: "cf_sql_integer" }
], { datasource: "payfrit" }); ], { datasource: "payfrit" });

View file

@ -54,25 +54,25 @@ try {
if (taxRate < 0 || taxRate > 0.5) { if (taxRate < 0 || taxRate > 0.5) {
apiAbort({ OK: false, ERROR: "invalid_tax_rate", MESSAGE: "Tax rate must be between 0% and 50%" }); apiAbort({ OK: false, ERROR: "invalid_tax_rate", MESSAGE: "Tax rate must be between 0% and 50%" });
} }
arrayAppend(updates, "BusinessTaxRate = :taxRate"); arrayAppend(updates, "TaxRate = :taxRate");
params.taxRate = { value: taxRate, cfsqltype: "cf_sql_decimal" }; params.taxRate = { value: taxRate, cfsqltype: "cf_sql_decimal" };
} else if (structKeyExists(data, "TaxRate") && isNumeric(data.TaxRate)) { } else if (structKeyExists(data, "TaxRate") && isNumeric(data.TaxRate)) {
taxRate = data.TaxRate; taxRate = data.TaxRate;
if (taxRate < 0 || taxRate > 0.5) { if (taxRate < 0 || taxRate > 0.5) {
apiAbort({ OK: false, ERROR: "invalid_tax_rate", MESSAGE: "Tax rate must be between 0 and 0.5" }); apiAbort({ OK: false, ERROR: "invalid_tax_rate", MESSAGE: "Tax rate must be between 0 and 0.5" });
} }
arrayAppend(updates, "BusinessTaxRate = :taxRate"); arrayAppend(updates, "TaxRate = :taxRate");
params.taxRate = { value: taxRate, cfsqltype: "cf_sql_decimal" }; params.taxRate = { value: taxRate, cfsqltype: "cf_sql_decimal" };
} }
// Add more updatable fields as needed // Add more updatable fields as needed
if (structKeyExists(data, "Name") && len(trim(data.Name))) { if (structKeyExists(data, "Name") && len(trim(data.Name))) {
arrayAppend(updates, "BusinessName = :businessName"); arrayAppend(updates, "Name = :businessName");
params.businessName = { value: left(trim(data.Name), 100), cfsqltype: "cf_sql_varchar" }; params.businessName = { value: left(trim(data.Name), 100), cfsqltype: "cf_sql_varchar" };
} }
if (structKeyExists(data, "Phone")) { if (structKeyExists(data, "Phone")) {
arrayAppend(updates, "BusinessPhone = :phone"); arrayAppend(updates, "Phone = :phone");
params.phone = { value: left(trim(data.Phone), 20), cfsqltype: "cf_sql_varchar" }; params.phone = { value: left(trim(data.Phone), 20), cfsqltype: "cf_sql_varchar" };
} }
@ -98,16 +98,16 @@ try {
// Build and execute Businesses update // Build and execute Businesses update
if (arrayLen(updates) > 0) { if (arrayLen(updates) > 0) {
sql = "UPDATE Businesses SET " & arrayToList(updates, ", ") & " WHERE BusinessID = :businessId"; sql = "UPDATE Businesses SET " & arrayToList(updates, ", ") & " WHERE ID = :businessId";
queryExecute(sql, params, { datasource: "payfrit" }); queryExecute(sql, params, { datasource: "payfrit" });
} }
// Update address in Addresses table if needed // Update address in Addresses table if needed
if (hasAddressUpdate) { if (hasAddressUpdate) {
qExistingAddr = queryExecute(" qExistingAddr = queryExecute("
SELECT AddressID AS ID FROM Addresses SELECT ID FROM Addresses
WHERE (AddressBusinessID = :businessId OR AddressID = (SELECT BusinessAddressID FROM Businesses WHERE BusinessID = :businessId)) WHERE (BusinessID = :businessId OR ID = (SELECT AddressID FROM Businesses WHERE ID = :businessId))
AND AddressIsDeleted = 0 AND IsDeleted = 0
LIMIT 1 LIMIT 1
", { businessId: request.BusinessID }, { datasource: "payfrit" }); ", { businessId: request.BusinessID }, { datasource: "payfrit" });
@ -115,19 +115,19 @@ try {
addrUpdates = []; addrUpdates = [];
addrParams = { addrId: qExistingAddr.ID }; addrParams = { addrId: qExistingAddr.ID };
if (structKeyExists(addrFields, "Line1")) { if (structKeyExists(addrFields, "Line1")) {
arrayAppend(addrUpdates, "AddressLine1 = :line1"); arrayAppend(addrUpdates, "Line1 = :line1");
addrParams.line1 = { value: addrFields.Line1, cfsqltype: "cf_sql_varchar" }; addrParams.line1 = { value: addrFields.Line1, cfsqltype: "cf_sql_varchar" };
} }
if (structKeyExists(addrFields, "City")) { if (structKeyExists(addrFields, "City")) {
arrayAppend(addrUpdates, "AddressCity = :city"); arrayAppend(addrUpdates, "City = :city");
addrParams.city = { value: addrFields.City, cfsqltype: "cf_sql_varchar" }; addrParams.city = { value: addrFields.City, cfsqltype: "cf_sql_varchar" };
} }
if (structKeyExists(addrFields, "ZIPCode")) { if (structKeyExists(addrFields, "ZIPCode")) {
arrayAppend(addrUpdates, "AddressZIPCode = :zip"); arrayAppend(addrUpdates, "ZIPCode = :zip");
addrParams.zip = { value: addrFields.ZIPCode, cfsqltype: "cf_sql_varchar" }; addrParams.zip = { value: addrFields.ZIPCode, cfsqltype: "cf_sql_varchar" };
} }
if (arrayLen(addrUpdates) > 0) { if (arrayLen(addrUpdates) > 0) {
queryExecute("UPDATE Addresses SET " & arrayToList(addrUpdates, ", ") & " WHERE AddressID = :addrId", queryExecute("UPDATE Addresses SET " & arrayToList(addrUpdates, ", ") & " WHERE ID = :addrId",
addrParams, { datasource: "payfrit" }); addrParams, { datasource: "payfrit" });
} }
} }
@ -135,18 +135,18 @@ try {
// Return updated settings // Return updated settings
q = queryExecute(" q = queryExecute("
SELECT b.BusinessID AS ID, b.BusinessName AS Name, b.BusinessTaxRate AS TaxRate, b.BusinessPhone AS Phone SELECT b.ID, b.Name, b.TaxRate, b.Phone
FROM Businesses b FROM Businesses b
WHERE b.BusinessID = :businessId WHERE b.ID = :businessId
LIMIT 1 LIMIT 1
", { businessId: request.BusinessID }, { datasource: "payfrit" }); ", { businessId: request.BusinessID }, { datasource: "payfrit" });
qAddr = queryExecute(" qAddr = queryExecute("
SELECT a.AddressLine1 AS Line1, a.AddressCity AS City, a.AddressZIPCode AS ZIPCode, s.tt_StateAbbreviation AS State SELECT a.Line1, a.City, a.ZIPCode, s.Abbreviation AS State
FROM Addresses a FROM Addresses a
LEFT JOIN tt_States s ON s.tt_StateID = a.AddressStateID LEFT JOIN tt_States s ON s.ID = a.StateID
WHERE (a.AddressBusinessID = :businessId OR a.AddressID = (SELECT BusinessAddressID FROM Businesses WHERE BusinessID = :businessId)) WHERE (a.BusinessID = :businessId OR a.ID = (SELECT AddressID FROM Businesses WHERE ID = :businessId))
AND a.AddressIsDeleted = 0 AND a.IsDeleted = 0
LIMIT 1 LIMIT 1
", { businessId: request.BusinessID }, { datasource: "payfrit" }); ", { businessId: request.BusinessID }, { datasource: "payfrit" });

View file

@ -69,7 +69,7 @@ try {
// Check if admin rating already exists for this task // Check if admin rating already exists for this task
qExisting = queryExecute(" qExisting = queryExecute("
SELECT TaskRatingID FROM TaskRatings SELECT ID FROM TaskRatings
WHERE TaskID = :taskID WHERE TaskID = :taskID
AND Direction = 'admin_rates_worker' AND Direction = 'admin_rates_worker'
LIMIT 1 LIMIT 1

View file

@ -32,18 +32,18 @@ try {
// and no admin rating exists yet // and no admin rating exists yet
qTasks = queryExecute(" qTasks = queryExecute("
SELECT t.ID, t.Title, t.CompletedOn, t.ClaimedByUserID, t.OrderID, SELECT t.ID, t.Title, t.CompletedOn, t.ClaimedByUserID, t.OrderID,
u.UserFirstName AS WorkerFirstName, u.UserLastName AS WorkerLastName, u.FirstName AS WorkerFirstName, u.LastName AS WorkerLastName,
o.ID, o.UserID, o.ID, o.UserID,
cu.UserFirstName AS CustomerFirstName, cu.UserLastName AS CustomerLastName, cu.FirstName AS CustomerFirstName, cu.LastName AS CustomerLastName,
sp.ServicePointName AS Name, sp.Name AS Name,
(SELECT COUNT(*) FROM TaskRatings r (SELECT COUNT(*) FROM TaskRatings r
WHERE r.TaskID = t.ID WHERE r.TaskID = t.ID
AND r.Direction = 'admin_rates_worker') AS HasAdminRating AND r.Direction = 'admin_rates_worker') AS HasAdminRating
FROM Tasks t FROM Tasks t
INNER JOIN Users u ON u.UserID = t.ClaimedByUserID INNER JOIN Users u ON u.ID = t.ClaimedByUserID
LEFT JOIN Orders o ON o.ID = t.OrderID LEFT JOIN Orders o ON o.ID = t.OrderID
LEFT JOIN Users cu ON cu.UserID = o.UserID LEFT JOIN Users cu ON cu.ID = o.UserID
LEFT JOIN ServicePoints sp ON sp.ServicePointID = o.ServicePointID LEFT JOIN ServicePoints sp ON sp.ID = o.ServicePointID
WHERE t.BusinessID = :businessID WHERE t.BusinessID = :businessID
AND t.CompletedOn IS NOT NULL AND t.CompletedOn IS NOT NULL
AND t.CompletedOn > DATE_SUB(NOW(), INTERVAL 7 DAY) AND t.CompletedOn > DATE_SUB(NOW(), INTERVAL 7 DAY)

View file

@ -45,24 +45,24 @@ try {
// Match by name (case-insensitive) OR by address components // Match by name (case-insensitive) OR by address components
qDuplicates = queryExecute(" qDuplicates = queryExecute("
SELECT DISTINCT SELECT DISTINCT
b.BusinessID, b.ID AS BusinessID,
b.BusinessName AS Name, b.Name AS Name,
a.AddressLine1 AS Line1, a.Line1,
a.AddressCity AS City, a.City,
s.tt_StateAbbreviation as AddressState, s.Abbreviation as AddressState,
a.AddressZIPCode AS ZIPCode a.ZIPCode
FROM Businesses b FROM Businesses b
LEFT JOIN Addresses a ON a.AddressBusinessID = b.BusinessID LEFT JOIN Addresses a ON a.BusinessID = b.ID
LEFT JOIN tt_States s ON s.tt_StateID = a.AddressStateID LEFT JOIN tt_States s ON s.ID = a.StateID
WHERE WHERE
LOWER(b.BusinessName) = LOWER(:bizName) LOWER(b.Name) = LOWER(:bizName)
OR ( OR (
LOWER(a.AddressLine1) = LOWER(:addressLine1) LOWER(a.Line1) = LOWER(:addressLine1)
AND LOWER(a.AddressCity) = LOWER(:city) AND LOWER(a.City) = LOWER(:city)
AND a.AddressLine1 != '' AND a.Line1 != ''
AND a.AddressCity != '' AND a.City != ''
) )
ORDER BY b.BusinessName ORDER BY b.Name
", { ", {
bizName: bizName, bizName: bizName,
addressLine1: addressLine1, addressLine1: addressLine1,

View file

@ -71,7 +71,7 @@ try {
response.steps.append("State value received: '" & state & "' (len: " & len(state) & ")"); response.steps.append("State value received: '" & state & "' (len: " & len(state) & ")");
if (len(state)) { if (len(state)) {
qState = queryExecute(" qState = queryExecute("
SELECT tt_StateID AS ID FROM tt_States WHERE tt_StateAbbreviation = :abbr SELECT ID FROM tt_States WHERE Abbreviation = :abbr
", { abbr: uCase(state) }, { datasource: "payfrit" }); ", { abbr: uCase(state) }, { datasource: "payfrit" });
response.steps.append("State lookup for '" & uCase(state) & "' found " & qState.recordCount & " records"); response.steps.append("State lookup for '" & uCase(state) & "' found " & qState.recordCount & " records");
@ -82,7 +82,7 @@ try {
} }
queryExecute(" queryExecute("
INSERT INTO Addresses (AddressLine1, AddressCity, AddressStateID, AddressZIPCode, AddressUserID, AddressTypeID, AddressAddedOn) INSERT INTO Addresses (Line1, City, StateID, ZIPCode, UserID, AddressTypeID, AddedOn)
VALUES (:line1, :city, :stateID, :zip, :userID, :typeID, NOW()) VALUES (:line1, :city, :stateID, :zip, :userID, :typeID, NOW())
", { ", {
line1: len(addressLine1) ? addressLine1 : "Address pending", line1: len(addressLine1) ? addressLine1 : "Address pending",
@ -103,7 +103,7 @@ try {
// Create new business with address link and phone // Create new business with address link and phone
queryExecute(" queryExecute("
INSERT INTO Businesses (BusinessName, BusinessPhone, BusinessUserID, BusinessAddressID, BusinessDeliveryZipCodes, BusinessCommunityMealType, BusinessTaxRate, BusinessAddedOn) INSERT INTO Businesses (Name, Phone, UserID, AddressID, DeliveryZIPCodes, BusinessCommunityMealType, TaxRate, BusinessAddedOn)
VALUES (:name, :phone, :userId, :addressId, :deliveryZips, :communityMealType, :taxRate, NOW()) VALUES (:name, :phone, :userId, :addressId, :deliveryZips, :communityMealType, :taxRate, NOW())
", { ", {
name: bizName, name: bizName,
@ -121,7 +121,7 @@ try {
// Update address with business ID link // Update address with business ID link
queryExecute(" queryExecute("
UPDATE Addresses SET AddressBusinessID = :businessID WHERE AddressID = :addressID UPDATE Addresses SET BusinessID = :businessID WHERE ID = :addressID
", { ", {
businessID: businessId, businessID: businessId,
addressID: addressId addressID: addressId
@ -188,7 +188,7 @@ try {
} else { } else {
// Verify existing business exists // Verify existing business exists
qBiz = queryExecute(" qBiz = queryExecute("
SELECT BusinessID, BusinessName FROM Businesses WHERE BusinessID = :id SELECT ID, Name AS BusinessName FROM Businesses WHERE ID = :id
", { id: businessId }, { datasource: "payfrit" }); ", { id: businessId }, { datasource: "payfrit" });
if (qBiz.recordCount == 0) { if (qBiz.recordCount == 0) {
@ -228,7 +228,7 @@ try {
", { bizID: businessId, name: tmplName }, { datasource: "payfrit" }); ", { bizID: businessId, name: tmplName }, { datasource: "payfrit" });
if (qTmpl.recordCount > 0) { if (qTmpl.recordCount > 0) {
templateItemID = qTmpl.ItemID; templateItemID = qTmpl.ID;
response.steps.append("Template exists: " & tmplName & " (ID: " & templateItemID & ")"); response.steps.append("Template exists: " & tmplName & " (ID: " & templateItemID & ")");
} else { } else {
// Create template as Item with CategoryID=0 to mark as template // Create template as Item with CategoryID=0 to mark as template
@ -399,7 +399,7 @@ try {
", { bizID: businessId, name: catName, menuID: menuID }, { datasource: "payfrit" }); ", { bizID: businessId, name: catName, menuID: menuID }, { datasource: "payfrit" });
if (qCat.recordCount > 0) { if (qCat.recordCount > 0) {
categoryID = qCat.CategoryID; categoryID = qCat.ID;
response.steps.append("Category exists: " & catName & " (ID: " & categoryID & ")"); response.steps.append("Category exists: " & catName & " (ID: " & categoryID & ")");
} else { } else {
// Create category in Categories table with MenuID // Create category in Categories table with MenuID
@ -497,7 +497,7 @@ try {
Description = :desc, Description = :desc,
Price = :price, Price = :price,
SortOrder = :sortOrder SortOrder = :sortOrder
WHERE ItemID = :id WHERE ID = :id
", { ", {
desc: itemDesc, desc: itemDesc,
price: itemPrice, price: itemPrice,

View file

@ -62,7 +62,7 @@ try {
// Get business Stripe account // Get business Stripe account
qBusiness = queryExecute(" qBusiness = queryExecute("
SELECT BusinessStripeAccountID, BusinessStripeOnboardingComplete, BusinessName SELECT StripeAccountID AS BusinessStripeAccountID, StripeOnboardingComplete AS BusinessStripeOnboardingComplete, Name AS BusinessName
FROM Businesses FROM Businesses
WHERE BusinessID = :businessID WHERE BusinessID = :businessID
", { businessID: businessID }, { datasource: "payfrit" }); ", { businessID: businessID }, { datasource: "payfrit" });

View file

@ -32,7 +32,7 @@ try {
// Check if business already has a Stripe account // Check if business already has a Stripe account
qBusiness = queryExecute(" qBusiness = queryExecute("
SELECT BusinessStripeAccountID, BusinessName SELECT StripeAccountID AS BusinessStripeAccountID, Name AS BusinessName
FROM Businesses FROM Businesses
WHERE BusinessID = :businessID WHERE BusinessID = :businessID
", { businessID: businessID }); ", { businessID: businessID });
@ -73,7 +73,7 @@ try {
// Save to database // Save to database
queryExecute(" queryExecute("
UPDATE Businesses UPDATE Businesses
SET BusinessStripeAccountID = :stripeAccountID, SET StripeAccountID = :stripeAccountID,
BusinessStripeOnboardingStarted = NOW() BusinessStripeOnboardingStarted = NOW()
WHERE BusinessID = :businessID WHERE BusinessID = :businessID
", { ", {

View file

@ -23,9 +23,9 @@ try {
// Get business Stripe info // Get business Stripe info
qBusiness = queryExecute(" qBusiness = queryExecute("
SELECT BusinessStripeAccountID, BusinessStripeOnboardingComplete SELECT StripeAccountID AS BusinessStripeAccountID, StripeOnboardingComplete AS BusinessStripeOnboardingComplete
FROM Businesses FROM Businesses
WHERE BusinessID = :businessID WHERE ID = :businessID
", { businessID: businessID }); ", { businessID: businessID });
if (qBusiness.recordCount == 0) { if (qBusiness.recordCount == 0) {
@ -76,8 +76,8 @@ try {
if (!qBusiness.BusinessStripeOnboardingComplete) { if (!qBusiness.BusinessStripeOnboardingComplete) {
queryExecute(" queryExecute("
UPDATE Businesses UPDATE Businesses
SET BusinessStripeOnboardingComplete = 1 SET StripeOnboardingComplete = 1
WHERE BusinessID = :businessID WHERE ID = :businessID
", { businessID: businessID }); ", { businessID: businessID });
} }
} else if (detailsSubmitted) { } else if (detailsSubmitted) {

View file

@ -54,17 +54,17 @@
o.ServicePointID, o.ServicePointID,
o.Remarks, o.Remarks,
o.SubmittedOn, o.SubmittedOn,
sp.ServicePointName AS ServicePointName, sp.Name AS ServicePointName,
sp.ServicePointTypeID AS ServicePointTypeID, sp.TypeID AS ServicePointTypeID,
u.UserID AS CustomerUserID, u.ID AS CustomerUserID,
u.UserFirstName AS FirstName, u.FirstName,
u.UserLastName AS LastName, u.LastName,
u.UserContactNumber AS ContactNumber u.ContactNumber
FROM Tasks t FROM Tasks t
LEFT JOIN TaskCategories tc ON tc.ID = t.CategoryID LEFT JOIN TaskCategories tc ON tc.ID = t.CategoryID
LEFT JOIN Orders o ON o.ID = t.OrderID LEFT JOIN Orders o ON o.ID = t.OrderID
LEFT JOIN ServicePoints sp ON sp.ServicePointID = o.ServicePointID LEFT JOIN ServicePoints sp ON sp.ID = o.ServicePointID
LEFT JOIN Users u ON u.UserID = o.UserID LEFT JOIN Users u ON u.ID = o.UserID
WHERE t.ID = ? WHERE t.ID = ?
", [ { value = TaskID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })> ", [ { value = TaskID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })>
@ -129,7 +129,7 @@
SELECT b.UUID SELECT b.UUID
FROM ServicePoints sp_link FROM ServicePoints sp_link
INNER JOIN Beacons b ON b.ID = sp_link.BeaconID INNER JOIN Beacons b ON b.ID = sp_link.BeaconID
WHERE sp_link.ServicePointID = ? WHERE sp_link.ID = ?
AND b.IsActive = 1 AND b.IsActive = 1
LIMIT 1 LIMIT 1
", [ { value = qTask.ServicePointID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })> ", [ { value = qTask.ServicePointID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })>

View file

@ -82,11 +82,11 @@
tt.Name AS TaskTypeName, tt.Name AS TaskTypeName,
tt.Icon AS TaskTypeIcon, tt.Icon AS TaskTypeIcon,
tt.Color AS TaskTypeColor, tt.Color AS TaskTypeColor,
b.BusinessName AS BusinessName b.Name AS BusinessName
FROM Tasks t FROM Tasks t
LEFT JOIN TaskCategories tc ON tc.ID = t.CategoryID LEFT JOIN TaskCategories tc ON tc.ID = t.CategoryID
LEFT JOIN tt_TaskTypes tt ON tt.ID = t.TaskTypeID LEFT JOIN tt_TaskTypes tt ON tt.ID = t.TaskTypeID
LEFT JOIN Businesses b ON b.BusinessID = t.BusinessID LEFT JOIN Businesses b ON b.ID = t.BusinessID
WHERE #whereSQL# WHERE #whereSQL#
ORDER BY t.ClaimedOn DESC ORDER BY t.ClaimedOn DESC
", params, { datasource = "payfrit" })> ", params, { datasource = "payfrit" })>

View file

@ -38,22 +38,22 @@ try {
qUsers = queryExecute(" qUsers = queryExecute("
SELECT SELECT
u.UserID AS ID, u.ID,
u.UserFirstName AS FirstName, u.FirstName,
u.UserLastName AS LastName, u.LastName,
u.UserEmailAddress AS EmailAddress, u.EmailAddress,
u.UserContactNumber AS ContactNumber, u.ContactNumber,
u.UserAvatarPath u.ImageExtension
FROM Users u FROM Users u
WHERE u.UserID != :currentUserId WHERE u.ID != :currentUserId
AND ( AND (
u.UserContactNumber LIKE :searchTerm u.ContactNumber LIKE :searchTerm
OR u.UserEmailAddress LIKE :searchTerm OR u.EmailAddress LIKE :searchTerm
OR u.UserFirstName LIKE :searchTerm OR u.FirstName LIKE :searchTerm
OR u.UserLastName LIKE :searchTerm OR u.LastName LIKE :searchTerm
OR CONCAT(u.UserFirstName, ' ', u.UserLastName) LIKE :searchTerm OR CONCAT(u.FirstName, ' ', u.LastName) LIKE :searchTerm
) )
ORDER BY u.UserFirstName, u.UserLastName ORDER BY u.FirstName, u.LastName
LIMIT 10 LIMIT 10
", { ", {
currentUserId: { value: currentUserId, cfsqltype: "cf_sql_integer" }, currentUserId: { value: currentUserId, cfsqltype: "cf_sql_integer" },
@ -69,11 +69,11 @@ try {
} }
arrayAppend(users, { arrayAppend(users, {
"UserID": user.UserID, "UserID": user.ID,
"Name": trim(user.FirstName & " " & user.LastName), "Name": trim(user.FirstName & " " & user.LastName),
"Email": user.EmailAddress, "Email": user.EmailAddress,
"Phone": maskedPhone, "Phone": maskedPhone,
"AvatarUrl": len(trim(user.UserAvatarPath)) ? "https://biz.payfrit.com/uploads/" & user.UserAvatarPath : "" "AvatarUrl": len(trim(user.ImageExtension)) ? "https://biz.payfrit.com/uploads/users/" & user.ID & "." & user.ImageExtension : ""
}); });
} }

View file

@ -40,13 +40,13 @@
e.BusinessID, e.BusinessID,
MIN(e.StatusID) AS StatusID, MIN(e.StatusID) AS StatusID,
MAX(e.IsActive) AS IsActive, MAX(e.IsActive) AS IsActive,
b.BusinessName AS Name, b.Name AS Name,
(SELECT COUNT(*) FROM Tasks t WHERE t.BusinessID = e.BusinessID AND t.ClaimedByUserID = 0) AS PendingTaskCount (SELECT COUNT(*) FROM Tasks t WHERE t.BusinessID = e.BusinessID AND t.ClaimedByUserID = 0) AS PendingTaskCount
FROM Employees e FROM Employees e
INNER JOIN Businesses b ON b.BusinessID = e.BusinessID INNER JOIN Businesses b ON b.ID = e.BusinessID
WHERE e.UserID = ? AND e.IsActive = b'1' WHERE e.UserID = ? AND e.IsActive = b'1'
GROUP BY e.BusinessID, b.BusinessName GROUP BY e.BusinessID, b.Name
ORDER BY b.BusinessName ASC ORDER BY b.Name ASC
", [ { value = UserID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })> ", [ { value = UserID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })>
<cfset businesses = []> <cfset businesses = []>

View file

@ -6,7 +6,7 @@
<cfset request.Userid = 0> <cfset request.Userid = 0>
<cfquery name="get_user" datasource="#application.datasource#"> <cfquery name="get_user" datasource="#application.datasource#">
SELECT ID AS UserID, EmailAddress SELECT ID, EmailAddress
FROM Users FROM Users
WHERE UUID = '#url.UUID#' WHERE UUID = '#url.UUID#'
AND AND
@ -49,7 +49,7 @@
<cfelse> <cfelse>
<cfquery name="get_confirmed_customer" datasource="#application.datasource#"> <cfquery name="get_confirmed_customer" datasource="#application.datasource#">
SELECT ID AS UserID, ContactNumber SELECT ID, ContactNumber
FROM Users FROM Users
WHERE UUID = '#url.UUID#' WHERE UUID = '#url.UUID#'
AND AND
@ -63,7 +63,7 @@
<cfquery name="update_User" datasource="#application.datasource#"> <cfquery name="update_User" datasource="#application.datasource#">
UPDATE Users UPDATE Users
SET IsEmailVerified = 1 SET IsEmailVerified = 1
WHERE ID = '#get_confirmed_customer.UserID#' WHERE ID = '#get_confirmed_customer.ID#'
</cfquery> </cfquery>
your email was confirmed but we still need to verify your mobile number!<br><br> your email was confirmed but we still need to verify your mobile number!<br><br>
@ -73,7 +73,7 @@
<cfquery name="update_OPT_confirm" datasource="#application.datasource#"> <cfquery name="update_OPT_confirm" datasource="#application.datasource#">
UPDATE Users UPDATE Users
SET MobileVerifyCode = '#customer_OPT_confirm#' SET MobileVerifyCode = '#customer_OPT_confirm#'
WHERE ID = #get_confirmed_customer.UserID# WHERE ID = #get_confirmed_customer.ID#
</cfquery> </cfquery>
we sent a six-digit code to <cfoutput>#get_confirmed_customer.ContactNumber#</cfoutput>, please input that code here:<br><br> we sent a six-digit code to <cfoutput>#get_confirmed_customer.ContactNumber#</cfoutput>, please input that code here:<br><br>