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) {
|
||||
queryExecute("
|
||||
UPDATE Addresses
|
||||
SET AddressIsDefaultDelivery = 0
|
||||
SET IsDefaultDelivery = 0
|
||||
WHERE UserID = :userId
|
||||
AND (BusinessID = 0 OR BusinessID IS NULL)
|
||||
AND AddressTypeID = :typeId
|
||||
|
|
@ -68,18 +68,18 @@ try {
|
|||
}
|
||||
|
||||
// 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;
|
||||
|
||||
// Insert new address
|
||||
queryExecute("
|
||||
INSERT INTO Addresses (
|
||||
AddressID,
|
||||
ID,
|
||||
UserID,
|
||||
BusinessID,
|
||||
AddressTypeID,
|
||||
AddressLabel,
|
||||
AddressIsDefaultDelivery,
|
||||
Label,
|
||||
IsDefaultDelivery,
|
||||
Line1,
|
||||
Line2,
|
||||
City,
|
||||
|
|
@ -117,7 +117,7 @@ try {
|
|||
}, { datasource: "payfrit" });
|
||||
|
||||
// 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" }
|
||||
}, { datasource: "payfrit" });
|
||||
|
||||
|
|
|
|||
|
|
@ -49,22 +49,22 @@ try {
|
|||
// Get user's delivery addresses
|
||||
qAddresses = queryExecute("
|
||||
SELECT
|
||||
a.AddressID AS ID,
|
||||
a.AddressIsDefaultDelivery AS IsDefaultDelivery,
|
||||
a.AddressLine1 AS Line1,
|
||||
a.AddressLine2 AS Line2,
|
||||
a.AddressCity AS City,
|
||||
a.AddressStateID AS StateID,
|
||||
s.tt_StateAbbreviation as StateAbbreviation,
|
||||
s.tt_StateName as StateName,
|
||||
a.AddressZIPCode AS ZIPCode
|
||||
a.ID,
|
||||
a.IsDefaultDelivery,
|
||||
a.Line1,
|
||||
a.Line2,
|
||||
a.City,
|
||||
a.StateID,
|
||||
s.Abbreviation as StateAbbreviation,
|
||||
s.Name as StateName,
|
||||
a.ZIPCode
|
||||
FROM Addresses a
|
||||
LEFT JOIN tt_States s ON a.AddressStateID = s.tt_StateID
|
||||
WHERE a.AddressUserID = :userId
|
||||
AND (a.AddressBusinessID = 0 OR a.AddressBusinessID IS NULL)
|
||||
LEFT JOIN tt_States s ON a.StateID = s.ID
|
||||
WHERE a.UserID = :userId
|
||||
AND (a.BusinessID = 0 OR a.BusinessID IS NULL)
|
||||
AND a.AddressTypeID = 2
|
||||
AND a.AddressIsDeleted = 0
|
||||
ORDER BY a.AddressIsDefaultDelivery DESC, a.AddressID DESC
|
||||
AND a.IsDeleted = 0
|
||||
ORDER BY a.IsDefaultDelivery DESC, a.ID DESC
|
||||
", {
|
||||
userId: { value = userId, cfsqltype = "cf_sql_integer" }
|
||||
});
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ try {
|
|||
// Clear all defaults for this user
|
||||
queryExecute("
|
||||
UPDATE Addresses
|
||||
SET AddressIsDefaultDelivery = 0
|
||||
SET IsDefaultDelivery = 0
|
||||
WHERE UserID = :userId
|
||||
AND (BusinessID = 0 OR BusinessID IS NULL)
|
||||
AND AddressTypeID LIKE '%2%'
|
||||
|
|
@ -74,7 +74,7 @@ try {
|
|||
// Set this one as default
|
||||
queryExecute("
|
||||
UPDATE Addresses
|
||||
SET AddressIsDefaultDelivery = 1
|
||||
SET IsDefaultDelivery = 1
|
||||
WHERE ID = :addressId
|
||||
", {
|
||||
addressId: { value: addressId, cfsqltype: "cf_sql_integer" }
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@
|
|||
<cfscript>
|
||||
try {
|
||||
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
|
||||
ORDER BY tt_StateName
|
||||
ORDER BY Name
|
||||
", {}, { datasource: "payfrit" });
|
||||
|
||||
states = [];
|
||||
|
|
|
|||
|
|
@ -25,14 +25,14 @@ try {
|
|||
abort;
|
||||
}
|
||||
|
||||
fountainId = qFountain.ItemID;
|
||||
fountainId = qFountain.ID;
|
||||
response["FountainSodaID"] = fountainId;
|
||||
|
||||
// Update Fountain Soda to require child selection and be collapsible
|
||||
queryExecute("
|
||||
UPDATE Items
|
||||
SET RequiresChildSelection = 1, IsCollapsible = 1
|
||||
WHERE ItemID = :itemId
|
||||
WHERE ID = :itemId
|
||||
", { itemId: fountainId }, { datasource: "payfrit" });
|
||||
|
||||
// Check if modifiers already exist
|
||||
|
|
@ -48,12 +48,12 @@ try {
|
|||
}
|
||||
|
||||
// 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;
|
||||
|
||||
queryExecute("
|
||||
INSERT INTO Items (
|
||||
ItemID, BusinessID, CategoryID, ParentItemID,
|
||||
ID, BusinessID, CategoryID, ParentItemID,
|
||||
Name, Description, Price, IsActive,
|
||||
SortOrder, IsCollapsible, RequiresChildSelection,
|
||||
MaxNumSelectionReq, AddedOn
|
||||
|
|
@ -77,7 +77,7 @@ try {
|
|||
|
||||
sizesAdded = 0;
|
||||
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("
|
||||
INSERT INTO Items (
|
||||
ItemID, BusinessID, CategoryID, ParentItemID,
|
||||
|
|
@ -103,12 +103,12 @@ try {
|
|||
}
|
||||
|
||||
// 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;
|
||||
|
||||
queryExecute("
|
||||
INSERT INTO Items (
|
||||
ItemID, BusinessID, CategoryID, ParentItemID,
|
||||
ID, BusinessID, CategoryID, ParentItemID,
|
||||
Name, Description, Price, IsActive,
|
||||
SortOrder, IsCollapsible, RequiresChildSelection,
|
||||
MaxNumSelectionReq, AddedOn
|
||||
|
|
@ -136,7 +136,7 @@ try {
|
|||
|
||||
typesAdded = 0;
|
||||
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("
|
||||
INSERT INTO Items (
|
||||
ItemID, BusinessID, CategoryID, ParentItemID,
|
||||
|
|
|
|||
|
|
@ -9,14 +9,14 @@ q = queryExecute("
|
|||
b.ID,
|
||||
b.UUID,
|
||||
b.Name,
|
||||
sp_link.ServicePointBusinessID AS BusinessID,
|
||||
sp_link.ServicePointID,
|
||||
biz.BusinessName,
|
||||
sp.ServicePointName AS Name
|
||||
sp_link.BusinessID AS BusinessID,
|
||||
sp_link.ID AS ServicePointID,
|
||||
biz.Name,
|
||||
sp.Name AS Name
|
||||
FROM Beacons b
|
||||
LEFT JOIN ServicePoints sp_link ON sp_link.BeaconID = b.ID
|
||||
LEFT JOIN Businesses biz ON biz.BusinessID = sp_link.ServicePointBusinessID
|
||||
LEFT JOIN ServicePoints sp ON sp.ServicePointID = sp_link.ServicePointID
|
||||
LEFT JOIN Businesses biz ON biz.ID = sp_link.BusinessID
|
||||
LEFT JOIN ServicePoints sp ON sp.ID = sp_link.ID
|
||||
WHERE b.IsActive = 1
|
||||
ORDER BY b.ID
|
||||
", {}, { datasource: "payfrit" });
|
||||
|
|
@ -36,10 +36,10 @@ for (row in q) {
|
|||
|
||||
// Also get service points for reference
|
||||
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
|
||||
JOIN Businesses b ON b.BusinessID = sp.ServicePointBusinessID
|
||||
ORDER BY sp.ServicePointBusinessID, sp.ServicePointID
|
||||
JOIN Businesses b ON b.ID = sp.BusinessID
|
||||
ORDER BY sp.BusinessID, sp.ID
|
||||
", {}, { datasource: "payfrit" });
|
||||
|
||||
servicePoints = [];
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@
|
|||
<cfscript>
|
||||
// Check Big Dean's owner
|
||||
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
|
||||
WHERE b.BusinessID = 27
|
||||
WHERE b.ID = 27
|
||||
", {}, { datasource: "payfrit" });
|
||||
|
||||
// Get users
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ try {
|
|||
queryExecute("
|
||||
UPDATE ServicePoints
|
||||
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" });
|
||||
response.steps.append("Unassigned beacons 7, 8, 9 from service points");
|
||||
|
||||
|
|
@ -50,13 +50,13 @@ try {
|
|||
|
||||
// Get final status
|
||||
qFinal = queryExecute("
|
||||
SELECT sp.ServicePointID AS ServicePointID, sp.BeaconID, sp.ServicePointBusinessID AS BusinessID,
|
||||
b.Name AS BeaconName, b.UUID, sp.ServicePointName AS ServicePointName,
|
||||
biz.BusinessName AS BusinessName
|
||||
SELECT sp.ID AS ServicePointID, sp.BeaconID, sp.BusinessID AS BusinessID,
|
||||
b.Name AS BeaconName, b.UUID, sp.Name AS ServicePointName,
|
||||
biz.Name AS BusinessName
|
||||
FROM ServicePoints sp
|
||||
JOIN Beacons b ON b.ID = sp.BeaconID
|
||||
JOIN Businesses biz ON biz.BusinessID = sp.ServicePointBusinessID
|
||||
WHERE sp.ServicePointBusinessID = :bizId AND sp.BeaconID IS NOT NULL
|
||||
JOIN Businesses biz ON biz.ID = sp.BusinessID
|
||||
WHERE sp.BusinessID = :bizId AND sp.BeaconID IS NOT NULL
|
||||
ORDER BY sp.BeaconID
|
||||
", { bizId: lazyDaisyID }, { datasource: "payfrit" });
|
||||
|
||||
|
|
|
|||
|
|
@ -57,9 +57,9 @@ try {
|
|||
|
||||
// Get remaining employees
|
||||
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
|
||||
JOIN Users u ON e.UserID = u.UserID
|
||||
JOIN Users u ON e.UserID = u.ID
|
||||
WHERE e.BusinessID = ?
|
||||
ORDER BY e.ID
|
||||
", [{ value: businessId, cfsqltype: "cf_sql_integer" }], { datasource: "payfrit" });
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ try {
|
|||
|
||||
// Get list of businesses to delete
|
||||
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" });
|
||||
|
||||
deletedBusinesses = [];
|
||||
|
|
@ -100,17 +100,17 @@ try {
|
|||
|
||||
// Finally delete the businesses themselves
|
||||
queryExecute("
|
||||
DELETE FROM Businesses WHERE BusinessID != :keepID
|
||||
DELETE FROM Businesses WHERE ID != :keepID
|
||||
", { keepID: keepBusinessID }, { datasource: "payfrit" });
|
||||
response.steps.append("Deleted " & arrayLen(deletedBusinesses) & " businesses");
|
||||
|
||||
// Get beacon status
|
||||
qBeacons = queryExecute("
|
||||
SELECT sp.ServicePointID AS ServicePointID, sp.BeaconID, sp.ServicePointBusinessID AS BusinessID,
|
||||
b.UUID, biz.BusinessName AS BusinessName, sp.ServicePointName AS ServicePointName
|
||||
SELECT sp.ID AS ServicePointID, sp.BeaconID, sp.ServicePointBusinessID AS BusinessID,
|
||||
b.UUID, biz.Name AS BusinessName, sp.ServicePointName AS ServicePointName
|
||||
FROM ServicePoints sp
|
||||
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
|
||||
", {}, { datasource: "payfrit" });
|
||||
|
||||
|
|
|
|||
|
|
@ -20,11 +20,11 @@ try {
|
|||
", { bizId: bigDeansBusinessId }, { datasource: "payfrit" });
|
||||
|
||||
if (qExistingCat.recordCount > 0) {
|
||||
drinksCategoryId = qExistingCat.CategoryID;
|
||||
drinksCategoryId = qExistingCat.ID;
|
||||
response["CategoryNote"] = "Using existing category: " & qExistingCat.Name;
|
||||
} else {
|
||||
// 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;
|
||||
|
||||
qMaxSort = queryExecute("
|
||||
|
|
@ -32,7 +32,7 @@ try {
|
|||
", { bizId: bigDeansBusinessId }, { datasource: "payfrit" });
|
||||
|
||||
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())
|
||||
", {
|
||||
catId: drinksCategoryId,
|
||||
|
|
@ -67,12 +67,12 @@ try {
|
|||
|
||||
if (qExists.recordCount == 0) {
|
||||
// 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;
|
||||
|
||||
queryExecute("
|
||||
INSERT INTO Items (
|
||||
ItemID, BusinessID, CategoryID, ParentItemID,
|
||||
ID, BusinessID, CategoryID, ParentItemID,
|
||||
Name, Description, Price, IsActive,
|
||||
SortOrder, IsCollapsible, RequiresChildSelection,
|
||||
AddedOn
|
||||
|
|
@ -100,10 +100,10 @@ try {
|
|||
flavors = ["Chocolate", "Vanilla", "Strawberry"];
|
||||
flavorSort = 0;
|
||||
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("
|
||||
INSERT INTO Items (
|
||||
ItemID, BusinessID, CategoryID, ParentItemID,
|
||||
ID, BusinessID, CategoryID, ParentItemID,
|
||||
Name, Description, Price, IsActive,
|
||||
SortOrder, IsCollapsible, IsCheckedByDefault,
|
||||
AddedOn
|
||||
|
|
|
|||
|
|
@ -35,13 +35,13 @@ try {
|
|||
|
||||
// Get service point Table 1
|
||||
qSP = queryExecute("
|
||||
SELECT ServicePointID AS ID FROM ServicePoints
|
||||
WHERE ServicePointBusinessID = :bizID AND ServicePointName = 'Table 1'
|
||||
SELECT ID FROM ServicePoints
|
||||
WHERE BusinessID = :bizID AND Name = 'Table 1'
|
||||
", { bizID: lazyDaisyID }, { datasource: "payfrit" });
|
||||
|
||||
if (qSP.recordCount == 0) {
|
||||
queryExecute("
|
||||
INSERT INTO ServicePoints (ServicePointBusinessID, ServicePointName)
|
||||
INSERT INTO ServicePoints (BusinessID, Name)
|
||||
VALUES (:bizID, 'Table 1')
|
||||
", { bizID: lazyDaisyID }, { datasource: "payfrit" });
|
||||
qSP = queryExecute("SELECT LAST_INSERT_ID() as id", {}, { datasource: "payfrit" });
|
||||
|
|
@ -68,19 +68,19 @@ try {
|
|||
// Assign beacon to Table 1 service point
|
||||
queryExecute("
|
||||
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" });
|
||||
response.steps.append("Assigned beacon " & beaconID & " to Table 1");
|
||||
}
|
||||
|
||||
// Get final status
|
||||
qFinal = queryExecute("
|
||||
SELECT sp.ServicePointID AS ServicePointID, sp.BeaconID, sp.ServicePointBusinessID AS BusinessID,
|
||||
b.Name AS BeaconName, b.UUID, sp.ServicePointName AS ServicePointName,
|
||||
biz.BusinessName AS BusinessName
|
||||
SELECT sp.ID AS ServicePointID, sp.BeaconID, sp.BusinessID AS BusinessID,
|
||||
b.Name AS BeaconName, b.UUID, sp.Name AS ServicePointName,
|
||||
biz.Name AS BusinessName
|
||||
FROM ServicePoints sp
|
||||
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
|
||||
", {}, { datasource: "payfrit" });
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ try {
|
|||
// Create Menus table
|
||||
queryExecute("
|
||||
CREATE TABLE Menus (
|
||||
MenuID INT AUTO_INCREMENT PRIMARY KEY,
|
||||
ID INT AUTO_INCREMENT PRIMARY KEY,
|
||||
BusinessID INT NOT NULL,
|
||||
Name VARCHAR(100) NOT NULL,
|
||||
Description VARCHAR(500) NULL,
|
||||
|
|
|
|||
|
|
@ -26,11 +26,11 @@
|
|||
<cftry>
|
||||
<!--- Get raw employee records --- >
|
||||
<cfset qEmployees = queryExecute("
|
||||
SELECT e.*, b.BusinessName AS Name
|
||||
SELECT e.*, b.Name
|
||||
FROM Employees e
|
||||
INNER JOIN Businesses b ON b.BusinessID = e.BusinessID
|
||||
INNER JOIN Businesses b ON b.ID = e.BusinessID
|
||||
WHERE e.UserID = ?
|
||||
ORDER BY b.Name ASC
|
||||
ORDER BY b.Name
|
||||
", [ { value = UserID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })>
|
||||
|
||||
<cfset employees = []>
|
||||
|
|
@ -46,9 +46,9 @@
|
|||
|
||||
<!--- Check for duplicate businesses --- >
|
||||
<cfset qDuplicates = queryExecute("
|
||||
SELECT BusinessName AS Name, COUNT(*) AS cnt
|
||||
SELECT Name, COUNT(*) AS cnt
|
||||
FROM Businesses
|
||||
GROUP BY BusinessName
|
||||
GROUP BY Name
|
||||
HAVING COUNT(*) > 1
|
||||
", [], { datasource = "payfrit" })>
|
||||
|
||||
|
|
|
|||
|
|
@ -40,9 +40,9 @@ userId = qUser.ID;
|
|||
qEmployees = queryExecute("
|
||||
SELECT e.ID, e.BusinessID, e.StatusID,
|
||||
CAST(e.IsActive AS UNSIGNED) AS IsActive,
|
||||
b.BusinessName AS Name
|
||||
b.Name
|
||||
FROM Employees e
|
||||
JOIN Businesses b ON e.BusinessID = b.BusinessID
|
||||
JOIN Businesses b ON e.BusinessID = b.ID
|
||||
WHERE e.UserID = ?
|
||||
", [{ 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")>
|
||||
<cfset addressId = val(url.addressId)>
|
||||
<cfquery name="addr" datasource="payfrit">
|
||||
SELECT AddressLine1 AS Line1, AddressLine2 AS Line2, AddressCity AS City, AddressZIPCode AS ZIPCode
|
||||
FROM Addresses WHERE AddressID = <cfqueryparam value="#addressId#" cfsqltype="cf_sql_integer">
|
||||
SELECT Line1, Line2, City, ZIPCode
|
||||
FROM Addresses WHERE ID = <cfqueryparam value="#addressId#" cfsqltype="cf_sql_integer">
|
||||
</cfquery>
|
||||
<cfif addr.recordCount GT 0>
|
||||
<cfset fullAddress = buildAddressString(addr.Line1, addr.Line2, addr.City, addr.ZIPCode)>
|
||||
<cfset geo = geocodeAddress(fullAddress)>
|
||||
<cfif geo.success>
|
||||
<cfquery datasource="payfrit">
|
||||
UPDATE Addresses SET AddressLat = <cfqueryparam value="#geo.lat#" cfsqltype="cf_sql_decimal">,
|
||||
AddressLng = <cfqueryparam value="#geo.lng#" cfsqltype="cf_sql_decimal">
|
||||
WHERE AddressID = <cfqueryparam value="#addressId#" cfsqltype="cf_sql_integer">
|
||||
UPDATE Addresses SET Lat = <cfqueryparam value="#geo.lat#" cfsqltype="cf_sql_decimal">,
|
||||
Lng = <cfqueryparam value="#geo.lng#" cfsqltype="cf_sql_decimal">
|
||||
WHERE ID = <cfqueryparam value="#addressId#" cfsqltype="cf_sql_integer">
|
||||
</cfquery>
|
||||
<cfoutput><div class="success">Geocoded Address ID #addressId#: #geo.lat#, #geo.lng#</div></cfoutput>
|
||||
<cfelse>
|
||||
|
|
@ -96,10 +96,10 @@ function buildAddressString(line1, line2, city, zipCode) {
|
|||
|
||||
<cfif structKeyExists(url, "geocodeAll")>
|
||||
<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
|
||||
WHERE (AddressLat IS NULL OR AddressLat = 0)
|
||||
AND AddressLine1 IS NOT NULL AND AddressLine1 != ''
|
||||
WHERE (Lat IS NULL OR Lat = 0)
|
||||
AND Line1 IS NOT NULL AND Line1 != ''
|
||||
</cfquery>
|
||||
<cfset successCount = 0>
|
||||
<cfset failCount = 0>
|
||||
|
|
@ -108,9 +108,9 @@ function buildAddressString(line1, line2, city, zipCode) {
|
|||
<cfset geo = geocodeAddress(fullAddress)>
|
||||
<cfif geo.success>
|
||||
<cfquery datasource="payfrit">
|
||||
UPDATE Addresses SET AddressLat = <cfqueryparam value="#geo.lat#" cfsqltype="cf_sql_decimal">,
|
||||
AddressLng = <cfqueryparam value="#geo.lng#" cfsqltype="cf_sql_decimal">
|
||||
WHERE AddressID = <cfqueryparam value="#missing.ID#" cfsqltype="cf_sql_integer">
|
||||
UPDATE Addresses SET Lat = <cfqueryparam value="#geo.lat#" cfsqltype="cf_sql_decimal">,
|
||||
Lng = <cfqueryparam value="#geo.lng#" cfsqltype="cf_sql_decimal">
|
||||
WHERE ID = <cfqueryparam value="#missing.ID#" cfsqltype="cf_sql_integer">
|
||||
</cfquery>
|
||||
<cfset successCount = successCount + 1>
|
||||
<cfelse>
|
||||
|
|
@ -123,18 +123,18 @@ function buildAddressString(line1, line2, city, zipCode) {
|
|||
|
||||
<cfquery name="addresses" datasource="payfrit">
|
||||
SELECT
|
||||
b.BusinessID,
|
||||
b.BusinessName AS Name,
|
||||
a.AddressID,
|
||||
a.AddressLine1 AS Line1,
|
||||
a.AddressLine2 AS Line2,
|
||||
a.AddressCity AS City,
|
||||
a.AddressZIPCode AS ZIPCode,
|
||||
a.AddressLat AS Latitude,
|
||||
a.AddressLng AS Longitude
|
||||
b.ID AS BusinessID,
|
||||
b.Name,
|
||||
a.ID AS AddressID,
|
||||
a.Line1,
|
||||
a.Line2,
|
||||
a.City,
|
||||
a.ZIPCode,
|
||||
a.Lat AS Latitude,
|
||||
a.Lng AS Longitude
|
||||
FROM Businesses b
|
||||
LEFT JOIN Addresses a ON b.BusinessAddressID = a.AddressID
|
||||
ORDER BY b.BusinessName
|
||||
LEFT JOIN Addresses a ON b.AddressID = a.ID
|
||||
ORDER BY b.Name
|
||||
</cfquery>
|
||||
|
||||
<cfset missingCount = 0>
|
||||
|
|
|
|||
|
|
@ -47,16 +47,16 @@ try {
|
|||
// Find category-like Items (parent=0, not collapsible, has children, not in template links)
|
||||
qCategoryItems = queryExecute("
|
||||
SELECT DISTINCT
|
||||
p.ItemID,
|
||||
p.ID,
|
||||
p.Name,
|
||||
p.SortOrder
|
||||
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
|
||||
AND p.ParentItemID = 0
|
||||
AND (p.IsCollapsible = 0 OR p.IsCollapsible IS NULL)
|
||||
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
|
||||
", { bizId: bizId }, { datasource: "payfrit" });
|
||||
|
|
@ -72,14 +72,14 @@ try {
|
|||
if (qExisting.recordCount == 0) {
|
||||
// Get next CategoryID
|
||||
qMaxId = queryExecute("
|
||||
SELECT COALESCE(MAX(CategoryID), 0) + 1 as nextId FROM Categories
|
||||
SELECT COALESCE(MAX(ID), 0) + 1 as nextId FROM Categories
|
||||
", {}, { datasource: "payfrit" });
|
||||
newCatId = qMaxId.nextId;
|
||||
|
||||
// Create new category with explicit ID
|
||||
queryExecute("
|
||||
INSERT INTO Categories
|
||||
(CategoryID, BusinessID, ParentCategoryID, Name, SortOrder, AddedOn)
|
||||
(ID, BusinessID, ParentCategoryID, Name, SortOrder, AddedOn)
|
||||
VALUES (:catId, :bizId, 0, :name, :sortOrder, NOW())
|
||||
", {
|
||||
catId: newCatId,
|
||||
|
|
@ -90,7 +90,7 @@ try {
|
|||
|
||||
bizResult.CategoriesCreated++;
|
||||
} else {
|
||||
newCatId = qExisting.CategoryID;
|
||||
newCatId = qExisting.ID;
|
||||
}
|
||||
|
||||
// Update all children of this category Item to have the new CategoryID
|
||||
|
|
@ -101,7 +101,7 @@ try {
|
|||
AND BusinessID = :bizId
|
||||
", {
|
||||
catId: newCatId,
|
||||
parentId: catItem.ItemID,
|
||||
parentId: catItem.ID,
|
||||
bizId: bizId
|
||||
}, { datasource: "payfrit" });
|
||||
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ try {
|
|||
|
||||
// Verify template exists and belongs to this business
|
||||
qCheck = queryExecute("
|
||||
SELECT QuickTaskTemplateID FROM QuickTaskTemplates
|
||||
SELECT ID FROM QuickTaskTemplates
|
||||
WHERE ID = :id AND BusinessID = :businessID
|
||||
", {
|
||||
id: { value: templateID, cfsqltype: "cf_sql_integer" },
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ try {
|
|||
if (templateID > 0) {
|
||||
// UPDATE existing template
|
||||
qCheck = queryExecute("
|
||||
SELECT QuickTaskTemplateID FROM QuickTaskTemplates
|
||||
SELECT ID FROM QuickTaskTemplates
|
||||
WHERE ID = :id AND BusinessID = :businessID
|
||||
", {
|
||||
id: { value: templateID, cfsqltype: "cf_sql_integer" },
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ try {
|
|||
|
||||
// Verify exists and belongs to business
|
||||
qCheck = queryExecute("
|
||||
SELECT ScheduledTaskID FROM ScheduledTaskDefinitions
|
||||
SELECT ID FROM ScheduledTaskDefinitions
|
||||
WHERE ID = :id AND BusinessID = :businessID
|
||||
", {
|
||||
id: { value: taskID, cfsqltype: "cf_sql_integer" },
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ try {
|
|||
// Find all active scheduled tasks that are due
|
||||
dueTasks = queryExecute("
|
||||
SELECT
|
||||
ScheduledTaskID,
|
||||
ID AS ScheduledTaskID,
|
||||
BusinessID as BusinessID,
|
||||
TaskCategoryID as CategoryID,
|
||||
Title as Title,
|
||||
|
|
|
|||
|
|
@ -157,7 +157,7 @@ try {
|
|||
if (taskID > 0) {
|
||||
// UPDATE existing
|
||||
qCheck = queryExecute("
|
||||
SELECT ScheduledTaskID FROM ScheduledTaskDefinitions
|
||||
SELECT ID FROM ScheduledTaskDefinitions
|
||||
WHERE ID = :id AND BusinessID = :businessID
|
||||
", {
|
||||
id: { value: taskID, cfsqltype: "cf_sql_integer" },
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ try {
|
|||
|
||||
// Verify exists and get cron expression and schedule type
|
||||
qCheck = queryExecute("
|
||||
SELECT ScheduledTaskID, CronExpression as CronExpression,
|
||||
SELECT ID, CronExpression as CronExpression,
|
||||
COALESCE(ScheduleType, 'cron') as ScheduleType,
|
||||
IntervalMinutes as IntervalMinutes
|
||||
FROM ScheduledTaskDefinitions
|
||||
|
|
|
|||
|
|
@ -34,10 +34,10 @@ try {
|
|||
q = queryExecute("
|
||||
SELECT e.ID, e.BusinessID, e.UserID, e.StatusID,
|
||||
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
|
||||
JOIN Businesses b ON e.BusinessID = b.BusinessID
|
||||
JOIN Users u ON e.UserID = u.UserID
|
||||
JOIN Businesses b ON e.BusinessID = b.ID
|
||||
JOIN Users u ON e.UserID = u.ID
|
||||
WHERE e.BusinessID = ? AND e.UserID = ?
|
||||
", [
|
||||
{ value: businessId, cfsqltype: "cf_sql_integer" },
|
||||
|
|
|
|||
|
|
@ -14,10 +14,10 @@ try {
|
|||
|
||||
// Get all service points for Lazy Daisy
|
||||
qServicePoints = queryExecute("
|
||||
SELECT ServicePointID AS ID, ServicePointName AS Name
|
||||
SELECT ID, Name AS Name
|
||||
FROM ServicePoints
|
||||
WHERE ServicePointBusinessID = :bizID AND IsActive = 1
|
||||
ORDER BY SortOrder, ServicePointID
|
||||
WHERE BusinessID = :bizID AND IsActive = 1
|
||||
ORDER BY SortOrder, ID
|
||||
", { bizID: lazyDaisyID }, { datasource: "payfrit" });
|
||||
|
||||
response.steps.append("Found " & qServicePoints.recordCount & " service points for Lazy Daisy");
|
||||
|
|
@ -53,7 +53,7 @@ try {
|
|||
queryExecute("
|
||||
UPDATE ServicePoints
|
||||
SET BeaconID = :beaconId, AssignedByUserID = 1
|
||||
WHERE ServicePointID = :spId AND ServicePointBusinessID = :bizId
|
||||
WHERE ID = :spId AND BusinessID = :bizId
|
||||
", {
|
||||
beaconId: newBeaconId,
|
||||
bizId: lazyDaisyID,
|
||||
|
|
@ -69,14 +69,14 @@ try {
|
|||
|
||||
// Get final status
|
||||
qFinal = queryExecute("
|
||||
SELECT sp.ServicePointID AS ServicePointID, sp.BeaconID, sp.ServicePointBusinessID AS BusinessID,
|
||||
b.Name AS BeaconName, b.UUID, sp.ServicePointName AS ServicePointName,
|
||||
biz.BusinessName AS BusinessName
|
||||
SELECT sp.ID AS ServicePointID, sp.BeaconID, sp.BusinessID AS BusinessID,
|
||||
b.Name AS BeaconName, b.UUID, sp.Name AS ServicePointName,
|
||||
biz.Name AS BusinessName
|
||||
FROM ServicePoints sp
|
||||
JOIN Beacons b ON b.ID = sp.BeaconID
|
||||
JOIN Businesses biz ON biz.BusinessID = sp.ServicePointBusinessID
|
||||
WHERE sp.ServicePointBusinessID = :bizId AND sp.BeaconID IS NOT NULL
|
||||
ORDER BY sp.ServicePointName
|
||||
JOIN Businesses biz ON biz.ID = sp.BusinessID
|
||||
WHERE sp.BusinessID = :bizId AND sp.BeaconID IS NOT NULL
|
||||
ORDER BY sp.Name
|
||||
", { bizId: lazyDaisyID }, { datasource: "payfrit" });
|
||||
|
||||
beacons = [];
|
||||
|
|
|
|||
|
|
@ -13,19 +13,19 @@ try {
|
|||
// Hours: Mon-Thu: 11am-10pm, Fri-Sat: 11am-11pm, Sun: 11am-10pm
|
||||
|
||||
// Get California StateID
|
||||
qState = queryExecute("SELECT tt_StateID FROM tt_States WHERE tt_StateAbbreviation = 'CA' LIMIT 1");
|
||||
stateId = qState.recordCount > 0 ? qState.tt_StateID : 5; // Default to 5 if not found
|
||||
qState = queryExecute("SELECT ID FROM tt_States WHERE Abbreviation = 'CA' LIMIT 1");
|
||||
stateId = qState.recordCount > 0 ? qState.ID : 5; // Default to 5 if not found
|
||||
|
||||
// Check if Big Dean's already has an address
|
||||
existingAddr = queryExecute("
|
||||
SELECT AddressID FROM Addresses
|
||||
WHERE AddressBusinessID = :bizId AND AddressUserID = 0
|
||||
SELECT ID FROM Addresses
|
||||
WHERE BusinessID = :bizId AND UserID = 0
|
||||
", { bizId: businessId });
|
||||
|
||||
if (existingAddr.recordCount == 0) {
|
||||
// Insert new address
|
||||
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())
|
||||
", {
|
||||
bizId: businessId,
|
||||
|
|
@ -39,8 +39,8 @@ try {
|
|||
// Update existing address
|
||||
queryExecute("
|
||||
UPDATE Addresses
|
||||
SET AddressLine1 = :line1, AddressCity = :city, AddressStateID = :stateId, AddressZIPCode = :zip
|
||||
WHERE AddressBusinessID = :bizId AND AddressUserID = 0
|
||||
SET Line1 = :line1, City = :city, StateID = :stateId, ZIPCode = :zip
|
||||
WHERE BusinessID = :bizId AND UserID = 0
|
||||
", {
|
||||
bizId: businessId,
|
||||
line1: "1615 Ocean Front Walk",
|
||||
|
|
@ -96,7 +96,7 @@ try {
|
|||
|
||||
// Update phone on Businesses table (if column exists)
|
||||
try {
|
||||
queryExecute("UPDATE Businesses SET BusinessPhone = :phone WHERE BusinessID = :bizId", {
|
||||
queryExecute("UPDATE Businesses SET Phone = :phone WHERE ID = :bizId", {
|
||||
phone: "(310) 393-2666",
|
||||
bizId: businessId
|
||||
});
|
||||
|
|
@ -107,10 +107,10 @@ try {
|
|||
|
||||
// Verify the data
|
||||
address = queryExecute("
|
||||
SELECT a.*, s.tt_StateAbbreviation AS Abbreviation
|
||||
SELECT a.*, s.Abbreviation
|
||||
FROM Addresses a
|
||||
LEFT JOIN tt_States s ON s.tt_StateID = a.AddressStateID
|
||||
WHERE a.AddressBusinessID = :bizId AND a.AddressUserID = 0
|
||||
LEFT JOIN tt_States s ON s.ID = a.StateID
|
||||
WHERE a.BusinessID = :bizId AND a.UserID = 0
|
||||
", { bizId: businessId });
|
||||
|
||||
hours = queryExecute("
|
||||
|
|
@ -124,10 +124,10 @@ try {
|
|||
response["OK"] = true;
|
||||
response["BUSINESS_ID"] = businessId;
|
||||
response["ADDRESS"] = address.recordCount > 0 ? {
|
||||
"line1": address.AddressLine1,
|
||||
"city": address.AddressCity,
|
||||
"line1": address.Line1,
|
||||
"city": address.City,
|
||||
"state": address.Abbreviation,
|
||||
"zip": address.AddressZIPCode
|
||||
"zip": address.ZIPCode
|
||||
} : "not found";
|
||||
|
||||
hoursArr = [];
|
||||
|
|
|
|||
|
|
@ -14,13 +14,13 @@ try {
|
|||
|
||||
// Create service point for Table 1 if it doesn't exist
|
||||
qSP = queryExecute("
|
||||
SELECT ServicePointID AS ID FROM ServicePoints
|
||||
WHERE ServicePointBusinessID = :bizID AND ServicePointName = 'Table 1'
|
||||
SELECT ID FROM ServicePoints
|
||||
WHERE BusinessID = :bizID AND Name = 'Table 1'
|
||||
", { bizID: lazyDaisyID }, { datasource: "payfrit" });
|
||||
|
||||
if (qSP.recordCount == 0) {
|
||||
queryExecute("
|
||||
INSERT INTO ServicePoints (ServicePointBusinessID, ServicePointName)
|
||||
INSERT INTO ServicePoints (BusinessID, Name)
|
||||
VALUES (:bizID, 'Table 1')
|
||||
", { bizID: lazyDaisyID }, { datasource: "payfrit" });
|
||||
qSP = queryExecute("SELECT LAST_INSERT_ID() as id", {}, { datasource: "payfrit" });
|
||||
|
|
@ -44,19 +44,19 @@ try {
|
|||
// Assign beacon to Table 1 service point
|
||||
queryExecute("
|
||||
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" });
|
||||
response.steps.append("Assigned beacon " & beaconID & " to Table 1");
|
||||
}
|
||||
|
||||
// Get final status
|
||||
qFinal = queryExecute("
|
||||
SELECT sp.ServicePointID AS ServicePointID, sp.BeaconID, sp.ServicePointBusinessID AS BusinessID,
|
||||
b.Name AS BeaconName, b.UUID, sp.ServicePointName AS ServicePointName,
|
||||
biz.BusinessName AS BusinessName
|
||||
SELECT sp.ID AS ServicePointID, sp.BeaconID, sp.BusinessID AS BusinessID,
|
||||
b.Name AS BeaconName, b.UUID, sp.Name AS ServicePointName,
|
||||
biz.Name AS BusinessName
|
||||
FROM ServicePoints sp
|
||||
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
|
||||
", {}, { datasource: "payfrit" });
|
||||
|
||||
|
|
|
|||
|
|
@ -12,14 +12,14 @@
|
|||
<!--- Create Stations table if it doesn't exist --->
|
||||
<cfset queryExecute("
|
||||
CREATE TABLE IF NOT EXISTS Stations (
|
||||
StationID INT AUTO_INCREMENT PRIMARY KEY,
|
||||
ID INT AUTO_INCREMENT PRIMARY KEY,
|
||||
BusinessID INT NOT NULL,
|
||||
Name VARCHAR(100) NOT NULL,
|
||||
Color VARCHAR(7) DEFAULT '##666666',
|
||||
SortOrder INT DEFAULT 0,
|
||||
IsActive TINYINT(1) DEFAULT 1,
|
||||
AddedOn DATETIME DEFAULT NOW(),
|
||||
FOREIGN KEY (BusinessID) REFERENCES Businesses(BusinessID)
|
||||
FOREIGN KEY (BusinessID) REFERENCES Businesses(ID)
|
||||
)
|
||||
", [], { datasource = "payfrit" })>
|
||||
|
||||
|
|
@ -39,7 +39,7 @@
|
|||
<cfif stationColumnAdded>
|
||||
<cftry>
|
||||
<cfset queryExecute("
|
||||
ALTER TABLE Items ADD FOREIGN KEY (StationID) REFERENCES Stations(StationID)
|
||||
ALTER TABLE Items ADD FOREIGN KEY (StationID) REFERENCES Stations(ID)
|
||||
", [], { datasource = "payfrit" })>
|
||||
<cfcatch></cfcatch>
|
||||
</cftry>
|
||||
|
|
|
|||
|
|
@ -30,12 +30,12 @@ queryExecute("
|
|||
|
||||
// Get current state
|
||||
q = queryExecute("
|
||||
SELECT sp.ServicePointID AS ServicePointID, sp.BeaconID, sp.ServicePointBusinessID AS BusinessID,
|
||||
b.Name AS BeaconName, biz.BusinessName AS BusinessName,
|
||||
SELECT sp.ID AS ServicePointID, sp.BeaconID, sp.ServicePointBusinessID AS BusinessID,
|
||||
b.Name AS BeaconName, biz.Name AS BusinessName,
|
||||
sp.ServicePointName AS ServicePointName
|
||||
FROM ServicePoints sp
|
||||
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
|
||||
", {}, { datasource: "payfrit" });
|
||||
|
||||
|
|
|
|||
|
|
@ -35,13 +35,13 @@ q = queryExecute("
|
|||
b.UUID,
|
||||
b.Name AS BeaconName,
|
||||
b.BusinessID AS BeaconBusinessID,
|
||||
sp.ServicePointID AS ServicePointID,
|
||||
sp.ID AS ServicePointID,
|
||||
sp.ServicePointName AS ServicePointName,
|
||||
sp.ServicePointBusinessID AS ServicePointBusinessID,
|
||||
biz.BusinessName AS BusinessName
|
||||
biz.Name AS BusinessName
|
||||
FROM Beacons b
|
||||
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
|
||||
ORDER BY b.ID
|
||||
", {}, { datasource: "payfrit" });
|
||||
|
|
|
|||
|
|
@ -17,18 +17,18 @@ if (!structKeyExists(request, "BusinessID") || !isNumeric(request.BusinessID) ||
|
|||
|
||||
<cfquery name="q" datasource="payfrit">
|
||||
SELECT
|
||||
sp.ServicePointID AS ServicePointID,
|
||||
sp.ID AS ServicePointID,
|
||||
sp.BeaconID,
|
||||
sp.ServicePointBusinessID AS BusinessID,
|
||||
sp.BusinessID AS BusinessID,
|
||||
sp.AssignedByUserID,
|
||||
b.Name AS BeaconName,
|
||||
b.UUID,
|
||||
sp.ServicePointName AS ServicePointName
|
||||
sp.Name AS ServicePointName
|
||||
FROM ServicePoints sp
|
||||
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
|
||||
ORDER BY b.Name, sp.ServicePointName
|
||||
ORDER BY b.Name, sp.Name
|
||||
</cfquery>
|
||||
|
||||
<cfset assignments = []>
|
||||
|
|
|
|||
|
|
@ -48,9 +48,9 @@ ServicePointID = int(data.ServicePointID);
|
|||
<!--- Validate Beacon is allowed for this Business:
|
||||
Owner (Beacons.BusinessID) OR join table (lt_BeaconsID_BusinessesID) OR parent's owner --->
|
||||
<cfquery name="qBiz" datasource="payfrit">
|
||||
SELECT BusinessID, BusinessParentBusinessID AS ParentBusinessID
|
||||
SELECT ID, BusinessParentBusinessID AS ParentBusinessID
|
||||
FROM Businesses
|
||||
WHERE BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#">
|
||||
WHERE ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#">
|
||||
LIMIT 1
|
||||
</cfquery>
|
||||
|
||||
|
|
@ -78,10 +78,10 @@ ServicePointID = int(data.ServicePointID);
|
|||
|
||||
<!--- Validate ServicePoint belongs to Business --->
|
||||
<cfquery name="qS" datasource="payfrit">
|
||||
SELECT ServicePointID
|
||||
SELECT ID
|
||||
FROM ServicePoints
|
||||
WHERE ServicePointID = <cfqueryparam cfsqltype="cf_sql_integer" value="#ServicePointID#">
|
||||
AND ServicePointBusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#">
|
||||
WHERE ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#ServicePointID#">
|
||||
AND BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#">
|
||||
LIMIT 1
|
||||
</cfquery>
|
||||
<cfif qS.recordCount EQ 0>
|
||||
|
|
@ -91,9 +91,9 @@ ServicePointID = int(data.ServicePointID);
|
|||
|
||||
<!--- Check if this ServicePoint already has this beacon assigned --->
|
||||
<cfquery name="qDuplicate" datasource="payfrit">
|
||||
SELECT ServicePointID
|
||||
SELECT ID
|
||||
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#">
|
||||
LIMIT 1
|
||||
</cfquery>
|
||||
|
|
@ -107,8 +107,8 @@ ServicePointID = int(data.ServicePointID);
|
|||
UPDATE ServicePoints
|
||||
SET BeaconID = <cfqueryparam cfsqltype="cf_sql_integer" value="#BeaconID#">,
|
||||
AssignedByUserID = <cfqueryparam cfsqltype="cf_sql_integer" value="1">
|
||||
WHERE ServicePointID = <cfqueryparam cfsqltype="cf_sql_integer" value="#ServicePointID#">
|
||||
AND ServicePointBusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#">
|
||||
WHERE ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#ServicePointID#">
|
||||
AND BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#">
|
||||
</cfquery>
|
||||
|
||||
<cfoutput>#serializeJSON({
|
||||
|
|
|
|||
|
|
@ -33,9 +33,9 @@ try {
|
|||
|
||||
// Look up the token
|
||||
qToken = queryExecute("
|
||||
SELECT ut.UserID, u.UserFirstName AS FirstName, u.UserLastName AS LastName
|
||||
SELECT ut.UserID, u.FirstName, u.LastName
|
||||
FROM UserTokens ut
|
||||
JOIN Users u ON u.UserID = ut.UserID
|
||||
JOIN Users u ON u.ID = ut.UserID
|
||||
WHERE ut.Token = :token
|
||||
LIMIT 1
|
||||
", { 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) --->
|
||||
<cfquery name="qAssignments" datasource="payfrit">
|
||||
SELECT
|
||||
sp.ServicePointBusinessID AS BusinessID,
|
||||
sp.ServicePointID AS ServicePointID,
|
||||
biz.BusinessName AS BusinessName,
|
||||
biz.BusinessParentBusinessID,
|
||||
sp.ServicePointName AS ServicePointName
|
||||
sp.BusinessID AS BusinessID,
|
||||
sp.ID AS ServicePointID,
|
||||
biz.Name AS BusinessName,
|
||||
biz.ParentBusinessID AS BusinessParentBusinessID,
|
||||
sp.Name AS ServicePointName
|
||||
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#">
|
||||
AND sp.IsActive = 1
|
||||
|
||||
|
|
@ -63,14 +63,14 @@ beaconId = int(data.BeaconID);
|
|||
SELECT
|
||||
lt.BusinessID,
|
||||
0 AS ServicePointID,
|
||||
biz.BusinessName AS BusinessName,
|
||||
biz.BusinessParentBusinessID,
|
||||
biz.Name AS BusinessName,
|
||||
biz.ParentBusinessID AS BusinessParentBusinessID,
|
||||
'' AS ServicePointName
|
||||
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#">
|
||||
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
|
||||
)
|
||||
|
||||
|
|
@ -83,7 +83,7 @@ beaconId = int(data.BeaconID);
|
|||
<!--- Check if this business has children --->
|
||||
<cfquery name="qChildren" datasource="payfrit">
|
||||
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>
|
||||
<cfif qChildren.cnt GT 0>
|
||||
<cfset parentBusinessID = qAssignments.BusinessID>
|
||||
|
|
@ -98,23 +98,23 @@ beaconId = int(data.BeaconID);
|
|||
<cfif parentBusinessID GT 0>
|
||||
<!--- Get parent business info for header image --->
|
||||
<cfquery name="qParent" datasource="payfrit">
|
||||
SELECT BusinessName, BusinessHeaderImageExtension
|
||||
SELECT Name AS BusinessName, HeaderImageExtension AS BusinessHeaderImageExtension
|
||||
FROM Businesses
|
||||
WHERE BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#parentBusinessID#">
|
||||
WHERE ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#parentBusinessID#">
|
||||
</cfquery>
|
||||
<cfquery name="qChildBusinesses" datasource="payfrit">
|
||||
SELECT
|
||||
BusinessID,
|
||||
BusinessName,
|
||||
BusinessParentBusinessID,
|
||||
BusinessHeaderImageExtension
|
||||
ID,
|
||||
Name AS BusinessName,
|
||||
ParentBusinessID AS BusinessParentBusinessID,
|
||||
HeaderImageExtension AS BusinessHeaderImageExtension
|
||||
FROM Businesses
|
||||
WHERE BusinessParentBusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#parentBusinessID#">
|
||||
ORDER BY BusinessName ASC
|
||||
WHERE ParentBusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#parentBusinessID#">
|
||||
ORDER BY Name ASC
|
||||
</cfquery>
|
||||
<cfloop query="qChildBusinesses">
|
||||
<cfset arrayAppend(businesses, {
|
||||
"BusinessID" = qChildBusinesses.BusinessID,
|
||||
"BusinessID" = qChildBusinesses.ID,
|
||||
"Name" = qChildBusinesses.BusinessName,
|
||||
"ServicePointID" = qAssignments.ServicePointID,
|
||||
"ServicePointName" = qAssignments.ServicePointName,
|
||||
|
|
|
|||
|
|
@ -39,22 +39,22 @@
|
|||
b.ID AS BeaconID,
|
||||
b.Name AS BeaconName,
|
||||
b.UUID,
|
||||
COALESCE(sp.ServicePointID, 0) AS ServicePointID,
|
||||
COALESCE(sp.ServicePointName, '') AS ServicePointName,
|
||||
COALESCE(sp.ServicePointBusinessID, lt.BusinessID, b.BusinessID) AS BusinessID,
|
||||
biz.BusinessName AS BusinessName,
|
||||
biz.BusinessParentBusinessID AS ParentBusinessID,
|
||||
COALESCE(parent.BusinessName, '') AS ParentBusinessName,
|
||||
(SELECT COUNT(*) FROM Businesses WHERE BusinessParentBusinessID = biz.BusinessID) AS ChildCount
|
||||
COALESCE(sp.ID, 0) AS ServicePointID,
|
||||
COALESCE(sp.Name, '') AS ServicePointName,
|
||||
COALESCE(sp.BusinessID, lt.BusinessID, b.BusinessID) AS BusinessID,
|
||||
biz.Name AS BusinessName,
|
||||
biz.ParentBusinessID AS ParentBusinessID,
|
||||
COALESCE(parent.Name, '') AS ParentBusinessName,
|
||||
(SELECT COUNT(*) FROM Businesses WHERE ParentBusinessID = biz.ID) AS ChildCount
|
||||
FROM Beacons b
|
||||
LEFT JOIN ServicePoints sp ON sp.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
|
||||
LEFT JOIN Businesses parent ON biz.BusinessParentBusinessID = parent.BusinessID
|
||||
INNER JOIN Businesses biz ON COALESCE(sp.BusinessID, lt.BusinessID, b.BusinessID) = biz.ID
|
||||
LEFT JOIN Businesses parent ON biz.ParentBusinessID = parent.ID
|
||||
WHERE b.UUID IN (<cfqueryparam value="#arrayToList(cleanUUIDs)#" cfsqltype="cf_sql_varchar" list="true">)
|
||||
AND b.IsActive = 1
|
||||
AND biz.BusinessIsDemo = 0
|
||||
AND biz.BusinessIsPrivate = 0
|
||||
AND biz.IsDemo = 0
|
||||
AND biz.IsPrivate = 0
|
||||
</cfquery>
|
||||
|
||||
<cfset beacons = []>
|
||||
|
|
|
|||
|
|
@ -35,17 +35,17 @@ try {
|
|||
// Get business details
|
||||
q = queryExecute("
|
||||
SELECT
|
||||
BusinessID,
|
||||
BusinessName,
|
||||
BusinessPhone,
|
||||
BusinessStripeAccountID,
|
||||
BusinessStripeOnboardingComplete,
|
||||
BusinessIsHiring,
|
||||
BusinessHeaderImageExtension,
|
||||
BusinessTaxRate,
|
||||
BusinessBrandColor
|
||||
ID,
|
||||
Name,
|
||||
Phone,
|
||||
StripeAccountID,
|
||||
StripeOnboardingComplete,
|
||||
IsHiring,
|
||||
HeaderImageExtension,
|
||||
TaxRate,
|
||||
BrandColor
|
||||
FROM Businesses
|
||||
WHERE BusinessID = :businessID
|
||||
WHERE ID = :businessID
|
||||
", { businessID: businessID }, { datasource: "payfrit" });
|
||||
|
||||
if (q.recordCount == 0) {
|
||||
|
|
@ -56,11 +56,11 @@ try {
|
|||
|
||||
// Get address from Addresses table (either linked via AddressBusinessID or via Businesses.BusinessAddressID)
|
||||
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
|
||||
LEFT JOIN tt_States s ON s.tt_StateID = a.AddressStateID
|
||||
WHERE (a.AddressBusinessID = :businessID OR a.AddressID = (SELECT BusinessAddressID FROM Businesses WHERE BusinessID = :businessID))
|
||||
AND a.AddressIsDeleted = 0
|
||||
LEFT JOIN tt_States s ON s.ID = a.StateID
|
||||
WHERE (a.BusinessID = :businessID OR a.ID = (SELECT AddressID FROM Businesses WHERE ID = :businessID))
|
||||
AND a.IsDeleted = 0
|
||||
LIMIT 1
|
||||
", { businessID: businessID }, { datasource: "payfrit" });
|
||||
|
||||
|
|
@ -124,28 +124,28 @@ try {
|
|||
}
|
||||
|
||||
// Build business object
|
||||
taxRate = isNumeric(q.BusinessTaxRate) ? q.BusinessTaxRate : 0;
|
||||
taxRate = isNumeric(q.TaxRate) ? q.TaxRate : 0;
|
||||
business = {
|
||||
"BusinessID": q.BusinessID,
|
||||
"Name": q.BusinessName,
|
||||
"BusinessID": q.ID,
|
||||
"Name": q.Name,
|
||||
"Address": addressStr,
|
||||
"Line1": addressLine1,
|
||||
"City": addressCity,
|
||||
"AddressState": addressState,
|
||||
"AddressZip": addressZip,
|
||||
"Phone": q.BusinessPhone,
|
||||
"Phone": q.Phone,
|
||||
"Hours": hoursStr,
|
||||
"HoursDetail": hoursArr,
|
||||
"StripeConnected": (len(q.BusinessStripeAccountID) > 0 && q.BusinessStripeOnboardingComplete == 1),
|
||||
"IsHiring": q.BusinessIsHiring == 1,
|
||||
"StripeConnected": (len(q.StripeAccountID) > 0 && q.StripeOnboardingComplete == 1),
|
||||
"IsHiring": q.IsHiring == 1,
|
||||
"TaxRate": taxRate,
|
||||
"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
|
||||
if (len(q.BusinessHeaderImageExtension)) {
|
||||
business["HeaderImageURL"] = "https://biz.payfrit.com/uploads/headers/" & q.BusinessID & "." & q.BusinessHeaderImageExtension;
|
||||
if (len(q.HeaderImageExtension)) {
|
||||
business["HeaderImageURL"] = "https://biz.payfrit.com/uploads/headers/" & q.ID & "." & q.HeaderImageExtension;
|
||||
}
|
||||
|
||||
response["OK"] = true;
|
||||
|
|
|
|||
|
|
@ -36,10 +36,10 @@ try {
|
|||
q = queryExecute(
|
||||
"
|
||||
SELECT
|
||||
BusinessID,
|
||||
BusinessName
|
||||
ID,
|
||||
Name
|
||||
FROM Businesses
|
||||
WHERE BusinessParentBusinessID = :parentId
|
||||
WHERE ParentBusinessID = :parentId
|
||||
ORDER BY Name
|
||||
",
|
||||
{ parentId = { value = parentBusinessId, cfsqltype = "cf_sql_integer" } },
|
||||
|
|
@ -49,8 +49,8 @@ try {
|
|||
rows = [];
|
||||
for (i = 1; i <= q.recordCount; i++) {
|
||||
arrayAppend(rows, {
|
||||
"BusinessID": q.BusinessID[i],
|
||||
"Name": q.BusinessName[i]
|
||||
"BusinessID": q.ID[i],
|
||||
"Name": q.Name[i]
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,17 +43,17 @@ try {
|
|||
q = queryExecute(
|
||||
"
|
||||
SELECT
|
||||
b.BusinessID,
|
||||
b.BusinessName,
|
||||
a.AddressLat,
|
||||
a.AddressLng,
|
||||
a.AddressCity,
|
||||
a.AddressLine1
|
||||
b.ID,
|
||||
b.Name,
|
||||
a.Latitude AS AddressLat,
|
||||
a.Longitude AS AddressLng,
|
||||
a.City AS AddressCity,
|
||||
a.Line1 AS AddressLine1
|
||||
FROM Businesses b
|
||||
LEFT JOIN Addresses a ON b.BusinessAddressID = a.AddressID
|
||||
WHERE (b.BusinessIsDemo = 0 OR b.BusinessIsDemo IS NULL)
|
||||
AND (b.BusinessIsPrivate = 0 OR b.BusinessIsPrivate IS NULL)
|
||||
ORDER BY b.BusinessName
|
||||
LEFT JOIN Addresses a ON b.AddressID = a.ID
|
||||
WHERE (b.IsDemo = 0 OR b.IsDemo IS NULL)
|
||||
AND (b.IsPrivate = 0 OR b.IsPrivate IS NULL)
|
||||
ORDER BY b.Name
|
||||
",
|
||||
[],
|
||||
{ datasource = "payfrit" }
|
||||
|
|
@ -63,8 +63,8 @@ try {
|
|||
rows = [];
|
||||
for (i = 1; i <= q.recordCount; i++) {
|
||||
row = {
|
||||
"BusinessID": q.BusinessID[i],
|
||||
"Name": q.BusinessName[i],
|
||||
"BusinessID": q.ID[i],
|
||||
"Name": q.Name[i],
|
||||
"City": isNull(q.AddressCity[i]) ? "" : q.AddressCity[i],
|
||||
"Line1": isNull(q.AddressLine1[i]) ? "" : q.AddressLine1[i]
|
||||
};
|
||||
|
|
|
|||
|
|
@ -49,8 +49,8 @@ if (len(brandColor) GT 0) {
|
|||
// Update the database
|
||||
queryExecute("
|
||||
UPDATE Businesses
|
||||
SET BusinessBrandColor = :color
|
||||
WHERE BusinessID = :bizId
|
||||
SET BrandColor = :color
|
||||
WHERE ID = :bizId
|
||||
", {
|
||||
color: { value: brandColor, cfsqltype: "cf_sql_varchar" },
|
||||
bizId: { value: bizId, cfsqltype: "cf_sql_integer" }
|
||||
|
|
|
|||
|
|
@ -45,8 +45,8 @@ if (isHiring == -1) {
|
|||
try {
|
||||
queryExecute("
|
||||
UPDATE Businesses
|
||||
SET BusinessIsHiring = ?
|
||||
WHERE BusinessID = ?
|
||||
SET IsHiring = ?
|
||||
WHERE ID = ?
|
||||
", [
|
||||
{ value: isHiring, cfsqltype: "cf_sql_tinyint" },
|
||||
{ value: businessId, cfsqltype: "cf_sql_integer" }
|
||||
|
|
|
|||
|
|
@ -48,8 +48,8 @@ try {
|
|||
if (len(bizName)) {
|
||||
if (isNumeric(taxRate)) {
|
||||
queryExecute("
|
||||
UPDATE Businesses SET BusinessName = :name, BusinessPhone = :phone, BusinessTaxRate = :taxRate
|
||||
WHERE BusinessID = :id
|
||||
UPDATE Businesses SET Name = :name, Phone = :phone, TaxRate = :taxRate
|
||||
WHERE ID = :id
|
||||
", {
|
||||
name: bizName,
|
||||
phone: bizPhone,
|
||||
|
|
@ -58,8 +58,8 @@ try {
|
|||
}, { datasource: "payfrit" });
|
||||
} else {
|
||||
queryExecute("
|
||||
UPDATE Businesses SET BusinessName = :name, BusinessPhone = :phone
|
||||
WHERE BusinessID = :id
|
||||
UPDATE Businesses SET Name = :name, Phone = :phone
|
||||
WHERE ID = :id
|
||||
", {
|
||||
name: bizName,
|
||||
phone: bizPhone,
|
||||
|
|
@ -81,7 +81,7 @@ try {
|
|||
stateID = 0;
|
||||
if (len(state)) {
|
||||
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" });
|
||||
if (qState.recordCount > 0) {
|
||||
stateID = qState.ID;
|
||||
|
|
@ -90,8 +90,8 @@ try {
|
|||
|
||||
// Check if business has an address
|
||||
qAddr = queryExecute("
|
||||
SELECT AddressID FROM Addresses
|
||||
WHERE AddressBusinessID = :bizID AND AddressUserID = 0 AND AddressIsDeleted = 0
|
||||
SELECT ID FROM Addresses
|
||||
WHERE BusinessID = :bizID AND UserID = 0 AND IsDeleted = 0
|
||||
LIMIT 1
|
||||
", { bizID: businessId }, { datasource: "payfrit" });
|
||||
|
||||
|
|
@ -99,22 +99,22 @@ try {
|
|||
// Update existing address
|
||||
queryExecute("
|
||||
UPDATE Addresses SET
|
||||
AddressLine1 = :line1,
|
||||
AddressCity = :city,
|
||||
AddressStateID = :stateID,
|
||||
AddressZIPCode = :zip
|
||||
WHERE AddressID = :addrID
|
||||
Line1 = :line1,
|
||||
City = :city,
|
||||
StateID = :stateID,
|
||||
ZIPCode = :zip
|
||||
WHERE ID = :addrID
|
||||
", {
|
||||
line1: addressLine1,
|
||||
city: city,
|
||||
stateID: stateID,
|
||||
zip: zip,
|
||||
addrID: qAddr.AddressID
|
||||
addrID: qAddr.ID
|
||||
}, { datasource: "payfrit" });
|
||||
} else {
|
||||
// Create new address
|
||||
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())
|
||||
", {
|
||||
line1: addressLine1,
|
||||
|
|
|
|||
|
|
@ -43,9 +43,9 @@ try {
|
|||
m.MessageBody,
|
||||
m.IsRead,
|
||||
m.CreatedOn,
|
||||
u.UserFirstName as SenderName
|
||||
u.FirstName as SenderName
|
||||
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
|
||||
ORDER BY m.CreatedOn ASC
|
||||
", {
|
||||
|
|
@ -62,9 +62,9 @@ try {
|
|||
m.MessageBody,
|
||||
m.IsRead,
|
||||
m.CreatedOn,
|
||||
u.UserFirstName as SenderName
|
||||
u.FirstName as SenderName
|
||||
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
|
||||
ORDER BY m.CreatedOn ASC
|
||||
", {
|
||||
|
|
|
|||
|
|
@ -442,7 +442,7 @@ try {
|
|||
brandColor = "";
|
||||
try {
|
||||
qBrand = queryExecute("
|
||||
SELECT BusinessBrandColor FROM Businesses WHERE BusinessID = :bizId
|
||||
SELECT BrandColor AS BusinessBrandColor FROM Businesses WHERE ID = :bizId
|
||||
", { bizId: businessID }, { datasource: "payfrit" });
|
||||
if (qBrand.recordCount > 0 && len(trim(qBrand.BusinessBrandColor))) {
|
||||
brandColor = left(qBrand.BusinessBrandColor, 1) == chr(35) ? qBrand.BusinessBrandColor : chr(35) & qBrand.BusinessBrandColor;
|
||||
|
|
|
|||
|
|
@ -533,7 +533,7 @@
|
|||
<cfset brandColor = "">
|
||||
<cftry>
|
||||
<cfset qBrand = queryExecute(
|
||||
"SELECT BusinessBrandColor FROM Businesses WHERE BusinessID = ?",
|
||||
"SELECT BrandColor AS BusinessBrandColor FROM Businesses WHERE ID = ?",
|
||||
[ { value = BusinessID, cfsqltype = "cf_sql_integer" } ],
|
||||
{ datasource = "payfrit" }
|
||||
)>
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ if (bizId LTE 0) {
|
|||
|
||||
<!--- Delete old header if exists --->
|
||||
<cfquery name="qOldHeader" datasource="payfrit">
|
||||
SELECT BusinessHeaderImageExtension
|
||||
SELECT HeaderImageExtension AS BusinessHeaderImageExtension
|
||||
FROM Businesses
|
||||
WHERE BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#bizId#">
|
||||
</cfquery>
|
||||
|
|
@ -70,7 +70,7 @@ if (bizId LTE 0) {
|
|||
<!--- Update database --->
|
||||
<cfquery datasource="payfrit">
|
||||
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#">
|
||||
</cfquery>
|
||||
|
||||
|
|
|
|||
|
|
@ -36,17 +36,17 @@ try {
|
|||
o.StatusID,
|
||||
o.ServicePointID,
|
||||
o.AddedOn,
|
||||
b.BusinessName,
|
||||
b.BusinessOrderTypes,
|
||||
sp.ServicePointName,
|
||||
b.Name AS BusinessName,
|
||||
b.OrderTypes AS BusinessOrderTypes,
|
||||
sp.Name AS ServicePointName,
|
||||
(SELECT COUNT(*)
|
||||
FROM OrderLineItems oli
|
||||
WHERE oli.OrderID = o.ID
|
||||
AND oli.IsDeleted = 0
|
||||
AND oli.ParentOrderLineItemID = 0) as ItemCount
|
||||
FROM Orders o
|
||||
LEFT JOIN Businesses b ON b.BusinessID = o.BusinessID
|
||||
LEFT JOIN ServicePoints sp ON sp.ServicePointID = o.ServicePointID
|
||||
LEFT JOIN Businesses b ON b.ID = o.BusinessID
|
||||
LEFT JOIN ServicePoints sp ON sp.ID = o.ServicePointID
|
||||
WHERE o.UserID = :userId
|
||||
AND o.StatusID = 0
|
||||
ORDER BY o.ID DESC
|
||||
|
|
@ -71,7 +71,7 @@ try {
|
|||
response["OK"] = true;
|
||||
response["HAS_CART"] = true;
|
||||
response["CART"] = {
|
||||
"OrderID": val(qCart.OrderID),
|
||||
"OrderID": val(qCart.ID),
|
||||
"UUID": qCart.UUID ?: "",
|
||||
"BusinessID": val(qCart.BusinessID),
|
||||
"Name": len(trim(qCart.BusinessName)) ? qCart.BusinessName : "",
|
||||
|
|
|
|||
|
|
@ -67,12 +67,12 @@
|
|||
|
||||
<!--- Get business info for display in cart --->
|
||||
<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" } ],
|
||||
{ datasource = "payfrit" }
|
||||
)>
|
||||
<cfset businessDeliveryFee = qBusiness.recordCount GT 0 ? qBusiness.BusinessDeliveryFlatFee : 0>
|
||||
<cfset businessOrderTypes = qBusiness.recordCount GT 0 AND len(trim(qBusiness.BusinessOrderTypes)) ? qBusiness.BusinessOrderTypes : "1,2,3">
|
||||
<cfset businessDeliveryFee = qBusiness.recordCount GT 0 ? qBusiness.DeliveryFlatFee : 0>
|
||||
<cfset businessOrderTypes = qBusiness.recordCount GT 0 AND len(trim(qBusiness.OrderTypes)) ? qBusiness.OrderTypes : "1,2,3">
|
||||
<cfset businessOrderTypesArray = listToArray(businessOrderTypes, ",")>
|
||||
|
||||
<cfset qLI = queryExecute(
|
||||
|
|
|
|||
|
|
@ -55,18 +55,18 @@ try {
|
|||
o.LastEditedOn,
|
||||
o.SubmittedOn,
|
||||
o.TipAmount,
|
||||
u.UserFirstName AS FirstName,
|
||||
u.UserLastName AS LastName,
|
||||
u.UserContactNumber AS ContactNumber,
|
||||
u.UserEmailAddress AS EmailAddress,
|
||||
sp.ServicePointName AS Name,
|
||||
sp.ServicePointTypeID AS TypeID,
|
||||
b.BusinessName AS BizName,
|
||||
b.BusinessTaxRate AS TaxRate
|
||||
u.FirstName,
|
||||
u.LastName,
|
||||
u.ContactNumber,
|
||||
u.EmailAddress,
|
||||
sp.Name AS Name,
|
||||
sp.TypeID AS TypeID,
|
||||
b.Name AS BizName,
|
||||
b.TaxRate
|
||||
FROM Orders o
|
||||
LEFT JOIN Users u ON u.UserID = o.UserID
|
||||
LEFT JOIN ServicePoints sp ON sp.ServicePointID = o.ServicePointID
|
||||
LEFT JOIN Businesses b ON b.BusinessID = o.BusinessID
|
||||
LEFT JOIN Users u ON u.ID = o.UserID
|
||||
LEFT JOIN ServicePoints sp ON sp.ID = o.ServicePointID
|
||||
LEFT JOIN Businesses b ON b.ID = o.BusinessID
|
||||
WHERE o.ID = :orderID
|
||||
", { orderID: orderID });
|
||||
|
||||
|
|
@ -152,18 +152,18 @@ try {
|
|||
|
||||
// Get staff who worked on this order (from Tasks table) with pending rating tokens
|
||||
qStaff = queryExecute("
|
||||
SELECT DISTINCT u.UserID AS ID, u.UserFirstName AS FirstName,
|
||||
SELECT DISTINCT u.ID, u.FirstName,
|
||||
(SELECT r.AccessToken
|
||||
FROM TaskRatings r
|
||||
INNER JOIN Tasks t2 ON t2.ID = r.TaskID
|
||||
WHERE t2.OrderID = :orderID
|
||||
AND r.ForUserID = u.UserID
|
||||
AND r.ForUserID = u.ID
|
||||
AND r.Direction = 'customer_rates_worker'
|
||||
AND r.CompletedOn IS NULL
|
||||
AND r.ExpiresOn > NOW()
|
||||
LIMIT 1) AS RatingToken
|
||||
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
|
||||
AND t.ClaimedByUserID > 0
|
||||
", { orderID: orderID });
|
||||
|
|
|
|||
|
|
@ -62,11 +62,11 @@
|
|||
|
||||
<!--- Get business delivery fee for display in cart --->
|
||||
<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" } ],
|
||||
{ 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 = {
|
||||
"OrderID": val(qOrder.ID),
|
||||
|
|
@ -229,9 +229,9 @@
|
|||
<!--- Create new cart order --->
|
||||
<cfset qBiz = queryExecute(
|
||||
"
|
||||
SELECT BusinessDeliveryMultiplier, BusinessDeliveryFlatFee
|
||||
SELECT DeliveryMultiplier, DeliveryFlatFee
|
||||
FROM Businesses
|
||||
WHERE BusinessID = ?
|
||||
WHERE ID = ?
|
||||
LIMIT 1
|
||||
",
|
||||
[ { value = BusinessID, cfsqltype = "cf_sql_integer" } ],
|
||||
|
|
@ -249,7 +249,7 @@
|
|||
OrderTypeID: 0=undecided, 1=dine-in, 2=takeaway, 3=delivery
|
||||
Only delivery (3) should have delivery fee.
|
||||
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) --->
|
||||
<cfset qNext = queryExecute(
|
||||
|
|
@ -300,7 +300,7 @@
|
|||
{ value = newUUID, cfsqltype = "cf_sql_varchar" },
|
||||
{ value = UserID, 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 = deliveryFee, cfsqltype = "cf_sql_decimal" },
|
||||
{ value = nowDt, cfsqltype = "cf_sql_timestamp" },
|
||||
|
|
|
|||
|
|
@ -45,16 +45,16 @@ try {
|
|||
o.StatusID,
|
||||
o.SubmittedOn,
|
||||
o.ServicePointID,
|
||||
sp.ServicePointName AS Name,
|
||||
b.BusinessName AS BizName,
|
||||
sp.Name AS Name,
|
||||
b.Name AS BizName,
|
||||
(SELECT COALESCE(SUM(oli.Price * oli.Quantity), 0)
|
||||
FROM OrderLineItems oli
|
||||
WHERE oli.OrderID = o.ID
|
||||
AND oli.IsDeleted = 0
|
||||
AND oli.ParentOrderLineItemID = 0) as Subtotal
|
||||
FROM Orders o
|
||||
LEFT JOIN ServicePoints sp ON sp.ServicePointID = o.ServicePointID
|
||||
LEFT JOIN Businesses b ON b.BusinessID = o.BusinessID
|
||||
LEFT JOIN ServicePoints sp ON sp.ID = o.ServicePointID
|
||||
LEFT JOIN Businesses b ON b.ID = o.BusinessID
|
||||
WHERE o.UserID = :userId
|
||||
AND o.BusinessID = :businessId
|
||||
AND o.StatusID IN (1, 2, 3)
|
||||
|
|
|
|||
|
|
@ -72,10 +72,10 @@ try {
|
|||
o.OrderTypeID,
|
||||
o.AddedOn,
|
||||
o.LastEditedOn,
|
||||
b.BusinessName,
|
||||
b.Name AS BusinessName,
|
||||
COALESCE(ot.tt_OrderTypeName, 'Unknown') as OrderTypeName
|
||||
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
|
||||
WHERE o.UserID = :userId
|
||||
AND o.StatusID > 0
|
||||
|
|
|
|||
|
|
@ -70,12 +70,12 @@
|
|||
o.Remarks,
|
||||
o.SubmittedOn,
|
||||
o.LastEditedOn,
|
||||
sp.ServicePointName AS Name,
|
||||
u.UserFirstName AS FirstName,
|
||||
u.UserLastName AS LastName
|
||||
sp.Name AS Name,
|
||||
u.FirstName,
|
||||
u.LastName
|
||||
FROM Orders o
|
||||
LEFT JOIN ServicePoints sp ON sp.ServicePointID = o.ServicePointID
|
||||
LEFT JOIN Users u ON u.UserID = o.UserID
|
||||
LEFT JOIN ServicePoints sp ON sp.ID = o.ServicePointID
|
||||
LEFT JOIN Users u ON u.ID = o.UserID
|
||||
INNER JOIN OrderLineItems oli ON oli.OrderID = o.ID
|
||||
INNER JOIN Items i ON i.ID = oli.ItemID
|
||||
WHERE #whereSQL#
|
||||
|
|
@ -96,12 +96,12 @@
|
|||
o.Remarks,
|
||||
o.SubmittedOn,
|
||||
o.LastEditedOn,
|
||||
sp.ServicePointName AS Name,
|
||||
u.UserFirstName AS FirstName,
|
||||
u.UserLastName AS LastName
|
||||
sp.Name AS Name,
|
||||
u.FirstName,
|
||||
u.LastName
|
||||
FROM Orders o
|
||||
LEFT JOIN ServicePoints sp ON sp.ServicePointID = o.ServicePointID
|
||||
LEFT JOIN Users u ON u.UserID = o.UserID
|
||||
LEFT JOIN ServicePoints sp ON sp.ID = o.ServicePointID
|
||||
LEFT JOIN Users u ON u.ID = o.UserID
|
||||
WHERE #whereSQL#
|
||||
ORDER BY o.SubmittedOn ASC, o.ID ASC
|
||||
", params, { datasource = "payfrit" })>
|
||||
|
|
|
|||
|
|
@ -191,9 +191,9 @@
|
|||
o.LastEditedOn,
|
||||
o.SubmittedOn,
|
||||
o.ServicePointID,
|
||||
COALESCE(b.BusinessDeliveryFlatFee, 0) AS BusinessDeliveryFee
|
||||
COALESCE(b.DeliveryFlatFee, 0) AS BusinessDeliveryFee
|
||||
FROM Orders o
|
||||
LEFT JOIN Businesses b ON b.BusinessID = o.BusinessID
|
||||
LEFT JOIN Businesses b ON b.ID = o.BusinessID
|
||||
WHERE o.ID = ?
|
||||
LIMIT 1
|
||||
",
|
||||
|
|
|
|||
|
|
@ -62,11 +62,11 @@
|
|||
|
||||
<!--- Get business delivery fee for display in cart --->
|
||||
<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" } ],
|
||||
{ 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 = {
|
||||
"OrderID": val(qOrder.ID),
|
||||
|
|
@ -201,12 +201,12 @@
|
|||
<cfset deliveryFee = 0>
|
||||
<cfif OrderTypeID EQ 3>
|
||||
<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" } ],
|
||||
{ datasource = "payfrit" }
|
||||
)>
|
||||
<cfif qBiz.recordCount GT 0>
|
||||
<cfset deliveryFee = qBiz.BusinessDeliveryFlatFee>
|
||||
<cfset deliveryFee = qBiz.DeliveryFlatFee>
|
||||
</cfif>
|
||||
</cfif>
|
||||
|
||||
|
|
|
|||
|
|
@ -24,12 +24,12 @@ if (!structKeyExists(request, "BusinessID") || !isNumeric(request.BusinessID) ||
|
|||
try {
|
||||
q = queryExecute("
|
||||
SELECT
|
||||
b.BusinessID AS ID,
|
||||
b.BusinessName AS Name,
|
||||
b.BusinessTaxRate AS TaxRate,
|
||||
b.BusinessPhone AS Phone
|
||||
b.ID,
|
||||
b.Name,
|
||||
b.TaxRate,
|
||||
b.Phone
|
||||
FROM Businesses b
|
||||
WHERE b.BusinessID = :businessId
|
||||
WHERE b.ID = :businessId
|
||||
LIMIT 1
|
||||
", { businessId: request.BusinessID }, { datasource: "payfrit" });
|
||||
|
||||
|
|
@ -39,11 +39,11 @@ try {
|
|||
|
||||
// Get address from Addresses table
|
||||
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
|
||||
LEFT JOIN tt_States s ON s.tt_StateID = a.AddressStateID
|
||||
WHERE (a.AddressBusinessID = :businessId OR a.AddressID = (SELECT BusinessAddressID FROM Businesses WHERE BusinessID = :businessId))
|
||||
AND a.AddressIsDeleted = 0
|
||||
LEFT JOIN tt_States s ON s.ID = a.StateID
|
||||
WHERE (a.BusinessID = :businessId OR a.ID = (SELECT AddressID FROM Businesses WHERE ID = :businessId))
|
||||
AND a.IsDeleted = 0
|
||||
LIMIT 1
|
||||
", { businessId: request.BusinessID }, { datasource: "payfrit" });
|
||||
|
||||
|
|
@ -62,7 +62,7 @@ try {
|
|||
qUser = queryExecute("
|
||||
SELECT UserContactNumber AS ContactNumber, UserEmailAddress AS EmailAddress
|
||||
FROM Users
|
||||
WHERE UserID = (SELECT BusinessUserID FROM Businesses WHERE BusinessID = :businessId)
|
||||
WHERE ID = (SELECT UserID FROM Businesses WHERE ID = :businessId)
|
||||
LIMIT 1
|
||||
", { businessId: request.BusinessID }, { datasource: "payfrit" });
|
||||
|
||||
|
|
|
|||
|
|
@ -45,17 +45,17 @@ try {
|
|||
// Get businesses for this user (owner only)
|
||||
|
||||
q = queryExecute("
|
||||
SELECT b.BusinessID, b.BusinessName
|
||||
SELECT b.ID, b.Name
|
||||
FROM Businesses b
|
||||
WHERE b.BusinessUserID = :userID
|
||||
ORDER BY b.BusinessName
|
||||
WHERE b.UserID = :userID
|
||||
ORDER BY b.Name
|
||||
", { userID: userID }, { datasource: "payfrit" });
|
||||
|
||||
businesses = [];
|
||||
for (row in q) {
|
||||
arrayAppend(businesses, {
|
||||
"BusinessID": row.BusinessID,
|
||||
"Name": row.BusinessName
|
||||
"BusinessID": row.ID,
|
||||
"Name": row.Name
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -46,10 +46,10 @@ try {
|
|||
e.UserID,
|
||||
e.StatusID,
|
||||
CAST(e.IsActive AS UNSIGNED) AS IsActive,
|
||||
u.UserFirstName AS FirstName,
|
||||
u.UserLastName AS LastName,
|
||||
u.UserEmailAddress AS EmailAddress,
|
||||
u.UserContactNumber AS ContactNumber,
|
||||
u.FirstName,
|
||||
u.LastName,
|
||||
u.EmailAddress,
|
||||
u.ContactNumber,
|
||||
CASE e.StatusID
|
||||
WHEN 0 THEN 'Pending'
|
||||
WHEN 1 THEN 'Invited'
|
||||
|
|
@ -58,9 +58,9 @@ try {
|
|||
ELSE 'Unknown'
|
||||
END AS StatusName
|
||||
FROM Employees e
|
||||
JOIN Users u ON e.UserID = u.UserID
|
||||
JOIN Users u ON e.UserID = u.ID
|
||||
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" }
|
||||
], { datasource: "payfrit" });
|
||||
|
|
|
|||
|
|
@ -54,25 +54,25 @@ try {
|
|||
if (taxRate < 0 || taxRate > 0.5) {
|
||||
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" };
|
||||
} else if (structKeyExists(data, "TaxRate") && isNumeric(data.TaxRate)) {
|
||||
taxRate = data.TaxRate;
|
||||
if (taxRate < 0 || taxRate > 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" };
|
||||
}
|
||||
|
||||
// Add more updatable fields as needed
|
||||
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" };
|
||||
}
|
||||
|
||||
if (structKeyExists(data, "Phone")) {
|
||||
arrayAppend(updates, "BusinessPhone = :phone");
|
||||
arrayAppend(updates, "Phone = :phone");
|
||||
params.phone = { value: left(trim(data.Phone), 20), cfsqltype: "cf_sql_varchar" };
|
||||
}
|
||||
|
||||
|
|
@ -98,16 +98,16 @@ try {
|
|||
|
||||
// Build and execute Businesses update
|
||||
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" });
|
||||
}
|
||||
|
||||
// Update address in Addresses table if needed
|
||||
if (hasAddressUpdate) {
|
||||
qExistingAddr = queryExecute("
|
||||
SELECT AddressID AS ID FROM Addresses
|
||||
WHERE (AddressBusinessID = :businessId OR AddressID = (SELECT BusinessAddressID FROM Businesses WHERE BusinessID = :businessId))
|
||||
AND AddressIsDeleted = 0
|
||||
SELECT ID FROM Addresses
|
||||
WHERE (BusinessID = :businessId OR ID = (SELECT AddressID FROM Businesses WHERE ID = :businessId))
|
||||
AND IsDeleted = 0
|
||||
LIMIT 1
|
||||
", { businessId: request.BusinessID }, { datasource: "payfrit" });
|
||||
|
||||
|
|
@ -115,19 +115,19 @@ try {
|
|||
addrUpdates = [];
|
||||
addrParams = { addrId: qExistingAddr.ID };
|
||||
if (structKeyExists(addrFields, "Line1")) {
|
||||
arrayAppend(addrUpdates, "AddressLine1 = :line1");
|
||||
arrayAppend(addrUpdates, "Line1 = :line1");
|
||||
addrParams.line1 = { value: addrFields.Line1, cfsqltype: "cf_sql_varchar" };
|
||||
}
|
||||
if (structKeyExists(addrFields, "City")) {
|
||||
arrayAppend(addrUpdates, "AddressCity = :city");
|
||||
arrayAppend(addrUpdates, "City = :city");
|
||||
addrParams.city = { value: addrFields.City, cfsqltype: "cf_sql_varchar" };
|
||||
}
|
||||
if (structKeyExists(addrFields, "ZIPCode")) {
|
||||
arrayAppend(addrUpdates, "AddressZIPCode = :zip");
|
||||
arrayAppend(addrUpdates, "ZIPCode = :zip");
|
||||
addrParams.zip = { value: addrFields.ZIPCode, cfsqltype: "cf_sql_varchar" };
|
||||
}
|
||||
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" });
|
||||
}
|
||||
}
|
||||
|
|
@ -135,18 +135,18 @@ try {
|
|||
|
||||
// Return updated settings
|
||||
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
|
||||
WHERE b.BusinessID = :businessId
|
||||
WHERE b.ID = :businessId
|
||||
LIMIT 1
|
||||
", { businessId: request.BusinessID }, { datasource: "payfrit" });
|
||||
|
||||
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
|
||||
LEFT JOIN tt_States s ON s.tt_StateID = a.AddressStateID
|
||||
WHERE (a.AddressBusinessID = :businessId OR a.AddressID = (SELECT BusinessAddressID FROM Businesses WHERE BusinessID = :businessId))
|
||||
AND a.AddressIsDeleted = 0
|
||||
LEFT JOIN tt_States s ON s.ID = a.StateID
|
||||
WHERE (a.BusinessID = :businessId OR a.ID = (SELECT AddressID FROM Businesses WHERE ID = :businessId))
|
||||
AND a.IsDeleted = 0
|
||||
LIMIT 1
|
||||
", { businessId: request.BusinessID }, { datasource: "payfrit" });
|
||||
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ try {
|
|||
|
||||
// Check if admin rating already exists for this task
|
||||
qExisting = queryExecute("
|
||||
SELECT TaskRatingID FROM TaskRatings
|
||||
SELECT ID FROM TaskRatings
|
||||
WHERE TaskID = :taskID
|
||||
AND Direction = 'admin_rates_worker'
|
||||
LIMIT 1
|
||||
|
|
|
|||
|
|
@ -32,18 +32,18 @@ try {
|
|||
// and no admin rating exists yet
|
||||
qTasks = queryExecute("
|
||||
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,
|
||||
cu.UserFirstName AS CustomerFirstName, cu.UserLastName AS CustomerLastName,
|
||||
sp.ServicePointName AS Name,
|
||||
cu.FirstName AS CustomerFirstName, cu.LastName AS CustomerLastName,
|
||||
sp.Name AS Name,
|
||||
(SELECT COUNT(*) FROM TaskRatings r
|
||||
WHERE r.TaskID = t.ID
|
||||
AND r.Direction = 'admin_rates_worker') AS HasAdminRating
|
||||
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 Users cu ON cu.UserID = o.UserID
|
||||
LEFT JOIN ServicePoints sp ON sp.ServicePointID = o.ServicePointID
|
||||
LEFT JOIN Users cu ON cu.ID = o.UserID
|
||||
LEFT JOIN ServicePoints sp ON sp.ID = o.ServicePointID
|
||||
WHERE t.BusinessID = :businessID
|
||||
AND t.CompletedOn IS NOT NULL
|
||||
AND t.CompletedOn > DATE_SUB(NOW(), INTERVAL 7 DAY)
|
||||
|
|
|
|||
|
|
@ -45,24 +45,24 @@ try {
|
|||
// Match by name (case-insensitive) OR by address components
|
||||
qDuplicates = queryExecute("
|
||||
SELECT DISTINCT
|
||||
b.BusinessID,
|
||||
b.BusinessName AS Name,
|
||||
a.AddressLine1 AS Line1,
|
||||
a.AddressCity AS City,
|
||||
s.tt_StateAbbreviation as AddressState,
|
||||
a.AddressZIPCode AS ZIPCode
|
||||
b.ID AS BusinessID,
|
||||
b.Name AS Name,
|
||||
a.Line1,
|
||||
a.City,
|
||||
s.Abbreviation as AddressState,
|
||||
a.ZIPCode
|
||||
FROM Businesses b
|
||||
LEFT JOIN Addresses a ON a.AddressBusinessID = b.BusinessID
|
||||
LEFT JOIN tt_States s ON s.tt_StateID = a.AddressStateID
|
||||
LEFT JOIN Addresses a ON a.BusinessID = b.ID
|
||||
LEFT JOIN tt_States s ON s.ID = a.StateID
|
||||
WHERE
|
||||
LOWER(b.BusinessName) = LOWER(:bizName)
|
||||
LOWER(b.Name) = LOWER(:bizName)
|
||||
OR (
|
||||
LOWER(a.AddressLine1) = LOWER(:addressLine1)
|
||||
AND LOWER(a.AddressCity) = LOWER(:city)
|
||||
AND a.AddressLine1 != ''
|
||||
AND a.AddressCity != ''
|
||||
LOWER(a.Line1) = LOWER(:addressLine1)
|
||||
AND LOWER(a.City) = LOWER(:city)
|
||||
AND a.Line1 != ''
|
||||
AND a.City != ''
|
||||
)
|
||||
ORDER BY b.BusinessName
|
||||
ORDER BY b.Name
|
||||
", {
|
||||
bizName: bizName,
|
||||
addressLine1: addressLine1,
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ try {
|
|||
response.steps.append("State value received: '" & state & "' (len: " & len(state) & ")");
|
||||
if (len(state)) {
|
||||
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" });
|
||||
|
||||
response.steps.append("State lookup for '" & uCase(state) & "' found " & qState.recordCount & " records");
|
||||
|
|
@ -82,7 +82,7 @@ try {
|
|||
}
|
||||
|
||||
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())
|
||||
", {
|
||||
line1: len(addressLine1) ? addressLine1 : "Address pending",
|
||||
|
|
@ -103,7 +103,7 @@ try {
|
|||
|
||||
// Create new business with address link and phone
|
||||
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())
|
||||
", {
|
||||
name: bizName,
|
||||
|
|
@ -121,7 +121,7 @@ try {
|
|||
|
||||
// Update address with business ID link
|
||||
queryExecute("
|
||||
UPDATE Addresses SET AddressBusinessID = :businessID WHERE AddressID = :addressID
|
||||
UPDATE Addresses SET BusinessID = :businessID WHERE ID = :addressID
|
||||
", {
|
||||
businessID: businessId,
|
||||
addressID: addressId
|
||||
|
|
@ -188,7 +188,7 @@ try {
|
|||
} else {
|
||||
// Verify existing business exists
|
||||
qBiz = queryExecute("
|
||||
SELECT BusinessID, BusinessName FROM Businesses WHERE BusinessID = :id
|
||||
SELECT ID, Name AS BusinessName FROM Businesses WHERE ID = :id
|
||||
", { id: businessId }, { datasource: "payfrit" });
|
||||
|
||||
if (qBiz.recordCount == 0) {
|
||||
|
|
@ -228,7 +228,7 @@ try {
|
|||
", { bizID: businessId, name: tmplName }, { datasource: "payfrit" });
|
||||
|
||||
if (qTmpl.recordCount > 0) {
|
||||
templateItemID = qTmpl.ItemID;
|
||||
templateItemID = qTmpl.ID;
|
||||
response.steps.append("Template exists: " & tmplName & " (ID: " & templateItemID & ")");
|
||||
} else {
|
||||
// Create template as Item with CategoryID=0 to mark as template
|
||||
|
|
@ -399,7 +399,7 @@ try {
|
|||
", { bizID: businessId, name: catName, menuID: menuID }, { datasource: "payfrit" });
|
||||
|
||||
if (qCat.recordCount > 0) {
|
||||
categoryID = qCat.CategoryID;
|
||||
categoryID = qCat.ID;
|
||||
response.steps.append("Category exists: " & catName & " (ID: " & categoryID & ")");
|
||||
} else {
|
||||
// Create category in Categories table with MenuID
|
||||
|
|
@ -497,7 +497,7 @@ try {
|
|||
Description = :desc,
|
||||
Price = :price,
|
||||
SortOrder = :sortOrder
|
||||
WHERE ItemID = :id
|
||||
WHERE ID = :id
|
||||
", {
|
||||
desc: itemDesc,
|
||||
price: itemPrice,
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ try {
|
|||
|
||||
// Get business Stripe account
|
||||
qBusiness = queryExecute("
|
||||
SELECT BusinessStripeAccountID, BusinessStripeOnboardingComplete, BusinessName
|
||||
SELECT StripeAccountID AS BusinessStripeAccountID, StripeOnboardingComplete AS BusinessStripeOnboardingComplete, Name AS BusinessName
|
||||
FROM Businesses
|
||||
WHERE BusinessID = :businessID
|
||||
", { businessID: businessID }, { datasource: "payfrit" });
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ try {
|
|||
|
||||
// Check if business already has a Stripe account
|
||||
qBusiness = queryExecute("
|
||||
SELECT BusinessStripeAccountID, BusinessName
|
||||
SELECT StripeAccountID AS BusinessStripeAccountID, Name AS BusinessName
|
||||
FROM Businesses
|
||||
WHERE BusinessID = :businessID
|
||||
", { businessID: businessID });
|
||||
|
|
@ -73,7 +73,7 @@ try {
|
|||
// Save to database
|
||||
queryExecute("
|
||||
UPDATE Businesses
|
||||
SET BusinessStripeAccountID = :stripeAccountID,
|
||||
SET StripeAccountID = :stripeAccountID,
|
||||
BusinessStripeOnboardingStarted = NOW()
|
||||
WHERE BusinessID = :businessID
|
||||
", {
|
||||
|
|
|
|||
|
|
@ -23,9 +23,9 @@ try {
|
|||
|
||||
// Get business Stripe info
|
||||
qBusiness = queryExecute("
|
||||
SELECT BusinessStripeAccountID, BusinessStripeOnboardingComplete
|
||||
SELECT StripeAccountID AS BusinessStripeAccountID, StripeOnboardingComplete AS BusinessStripeOnboardingComplete
|
||||
FROM Businesses
|
||||
WHERE BusinessID = :businessID
|
||||
WHERE ID = :businessID
|
||||
", { businessID: businessID });
|
||||
|
||||
if (qBusiness.recordCount == 0) {
|
||||
|
|
@ -76,8 +76,8 @@ try {
|
|||
if (!qBusiness.BusinessStripeOnboardingComplete) {
|
||||
queryExecute("
|
||||
UPDATE Businesses
|
||||
SET BusinessStripeOnboardingComplete = 1
|
||||
WHERE BusinessID = :businessID
|
||||
SET StripeOnboardingComplete = 1
|
||||
WHERE ID = :businessID
|
||||
", { businessID: businessID });
|
||||
}
|
||||
} else if (detailsSubmitted) {
|
||||
|
|
|
|||
|
|
@ -54,17 +54,17 @@
|
|||
o.ServicePointID,
|
||||
o.Remarks,
|
||||
o.SubmittedOn,
|
||||
sp.ServicePointName AS ServicePointName,
|
||||
sp.ServicePointTypeID AS ServicePointTypeID,
|
||||
u.UserID AS CustomerUserID,
|
||||
u.UserFirstName AS FirstName,
|
||||
u.UserLastName AS LastName,
|
||||
u.UserContactNumber AS ContactNumber
|
||||
sp.Name AS ServicePointName,
|
||||
sp.TypeID AS ServicePointTypeID,
|
||||
u.ID AS CustomerUserID,
|
||||
u.FirstName,
|
||||
u.LastName,
|
||||
u.ContactNumber
|
||||
FROM Tasks t
|
||||
LEFT JOIN TaskCategories tc ON tc.ID = t.CategoryID
|
||||
LEFT JOIN Orders o ON o.ID = t.OrderID
|
||||
LEFT JOIN ServicePoints sp ON sp.ServicePointID = o.ServicePointID
|
||||
LEFT JOIN Users u ON u.UserID = o.UserID
|
||||
LEFT JOIN ServicePoints sp ON sp.ID = o.ServicePointID
|
||||
LEFT JOIN Users u ON u.ID = o.UserID
|
||||
WHERE t.ID = ?
|
||||
", [ { value = TaskID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })>
|
||||
|
||||
|
|
@ -129,7 +129,7 @@
|
|||
SELECT b.UUID
|
||||
FROM ServicePoints sp_link
|
||||
INNER JOIN Beacons b ON b.ID = sp_link.BeaconID
|
||||
WHERE sp_link.ServicePointID = ?
|
||||
WHERE sp_link.ID = ?
|
||||
AND b.IsActive = 1
|
||||
LIMIT 1
|
||||
", [ { value = qTask.ServicePointID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })>
|
||||
|
|
|
|||
|
|
@ -82,11 +82,11 @@
|
|||
tt.Name AS TaskTypeName,
|
||||
tt.Icon AS TaskTypeIcon,
|
||||
tt.Color AS TaskTypeColor,
|
||||
b.BusinessName AS BusinessName
|
||||
b.Name AS BusinessName
|
||||
FROM Tasks t
|
||||
LEFT JOIN TaskCategories tc ON tc.ID = t.CategoryID
|
||||
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#
|
||||
ORDER BY t.ClaimedOn DESC
|
||||
", params, { datasource = "payfrit" })>
|
||||
|
|
|
|||
|
|
@ -38,22 +38,22 @@ try {
|
|||
|
||||
qUsers = queryExecute("
|
||||
SELECT
|
||||
u.UserID AS ID,
|
||||
u.UserFirstName AS FirstName,
|
||||
u.UserLastName AS LastName,
|
||||
u.UserEmailAddress AS EmailAddress,
|
||||
u.UserContactNumber AS ContactNumber,
|
||||
u.UserAvatarPath
|
||||
u.ID,
|
||||
u.FirstName,
|
||||
u.LastName,
|
||||
u.EmailAddress,
|
||||
u.ContactNumber,
|
||||
u.ImageExtension
|
||||
FROM Users u
|
||||
WHERE u.UserID != :currentUserId
|
||||
WHERE u.ID != :currentUserId
|
||||
AND (
|
||||
u.UserContactNumber LIKE :searchTerm
|
||||
OR u.UserEmailAddress LIKE :searchTerm
|
||||
OR u.UserFirstName LIKE :searchTerm
|
||||
OR u.UserLastName LIKE :searchTerm
|
||||
OR CONCAT(u.UserFirstName, ' ', u.UserLastName) LIKE :searchTerm
|
||||
u.ContactNumber LIKE :searchTerm
|
||||
OR u.EmailAddress LIKE :searchTerm
|
||||
OR u.FirstName LIKE :searchTerm
|
||||
OR u.LastName LIKE :searchTerm
|
||||
OR CONCAT(u.FirstName, ' ', u.LastName) LIKE :searchTerm
|
||||
)
|
||||
ORDER BY u.UserFirstName, u.UserLastName
|
||||
ORDER BY u.FirstName, u.LastName
|
||||
LIMIT 10
|
||||
", {
|
||||
currentUserId: { value: currentUserId, cfsqltype: "cf_sql_integer" },
|
||||
|
|
@ -69,11 +69,11 @@ try {
|
|||
}
|
||||
|
||||
arrayAppend(users, {
|
||||
"UserID": user.UserID,
|
||||
"UserID": user.ID,
|
||||
"Name": trim(user.FirstName & " " & user.LastName),
|
||||
"Email": user.EmailAddress,
|
||||
"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,
|
||||
MIN(e.StatusID) AS StatusID,
|
||||
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
|
||||
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'
|
||||
GROUP BY e.BusinessID, b.BusinessName
|
||||
ORDER BY b.BusinessName ASC
|
||||
GROUP BY e.BusinessID, b.Name
|
||||
ORDER BY b.Name ASC
|
||||
", [ { value = UserID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })>
|
||||
|
||||
<cfset businesses = []>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<cfset request.Userid = 0>
|
||||
|
||||
<cfquery name="get_user" datasource="#application.datasource#">
|
||||
SELECT ID AS UserID, EmailAddress
|
||||
SELECT ID, EmailAddress
|
||||
FROM Users
|
||||
WHERE UUID = '#url.UUID#'
|
||||
AND
|
||||
|
|
@ -49,7 +49,7 @@
|
|||
<cfelse>
|
||||
|
||||
<cfquery name="get_confirmed_customer" datasource="#application.datasource#">
|
||||
SELECT ID AS UserID, ContactNumber
|
||||
SELECT ID, ContactNumber
|
||||
FROM Users
|
||||
WHERE UUID = '#url.UUID#'
|
||||
AND
|
||||
|
|
@ -63,7 +63,7 @@
|
|||
<cfquery name="update_User" datasource="#application.datasource#">
|
||||
UPDATE Users
|
||||
SET IsEmailVerified = 1
|
||||
WHERE ID = '#get_confirmed_customer.UserID#'
|
||||
WHERE ID = '#get_confirmed_customer.ID#'
|
||||
</cfquery>
|
||||
|
||||
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#">
|
||||
UPDATE Users
|
||||
SET MobileVerifyCode = '#customer_OPT_confirm#'
|
||||
WHERE ID = #get_confirmed_customer.UserID#
|
||||
WHERE ID = #get_confirmed_customer.ID#
|
||||
</cfquery>
|
||||
|
||||
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