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:
parent
a09701556f
commit
8acf2f3249
70 changed files with 431 additions and 431 deletions
|
|
@ -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" });
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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" }
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -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" }
|
||||||
|
|
|
||||||
|
|
@ -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 = [];
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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 = [];
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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" });
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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" });
|
||||||
|
|
|
||||||
|
|
@ -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" });
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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" });
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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" })>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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" });
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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" });
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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" },
|
||||||
|
|
|
||||||
|
|
@ -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" },
|
||||||
|
|
|
||||||
|
|
@ -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" },
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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" },
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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" },
|
||||||
|
|
|
||||||
|
|
@ -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 = [];
|
||||||
|
|
|
||||||
|
|
@ -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 = [];
|
||||||
|
|
|
||||||
|
|
@ -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" });
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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" });
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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" });
|
||||||
|
|
|
||||||
|
|
@ -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 = []>
|
||||||
|
|
|
||||||
|
|
@ -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({
|
||||||
|
|
|
||||||
|
|
@ -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" });
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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 = []>
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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]
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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]
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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" }
|
||||||
|
|
|
||||||
|
|
@ -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" }
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
", {
|
", {
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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" }
|
||||||
)>
|
)>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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 : "",
|
||||||
|
|
|
||||||
|
|
@ -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(
|
||||||
|
|
|
||||||
|
|
@ -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 });
|
||||||
|
|
|
||||||
|
|
@ -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" },
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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" })>
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
",
|
",
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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" });
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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" });
|
||||||
|
|
|
||||||
|
|
@ -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" });
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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" });
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
", {
|
", {
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
|
|
@ -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" })>
|
||||||
|
|
|
||||||
|
|
@ -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" })>
|
||||||
|
|
|
||||||
|
|
@ -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 : ""
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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 = []>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
Reference in a new issue