Commit 8fa96190 by Cameron Hayes

Added Log functionality similar to web police reports and cleaned up logs

parent 339763f5
......@@ -108,14 +108,12 @@ begin
if( (Client = '') or (Secret = '') ) then
begin
Logger.Log(1, 'Missing Client ID or Client Secret in INI File');
Exit();
end;
EncodedAuth := Encoder.Encode(Client + ':' + Secret);
if RefreshToken = '' then
begin
Logger.Log(3, 'Missing Refresh Token, Please Manually Get a New One and Store in INI File');
Exit();
end;
......@@ -148,7 +146,6 @@ begin
AccessToken := JSObj.GetValue('access_token').ToString.Trim(['"']);
SaveTokens(AccessToken, RefreshToken);
Result := AccessToken;
Logger.Log(1, 'qbAPI - Tokens Successfully Saved');
except
on E: EIdHTTPProtocolException do
// Memo2.Lines.Add('Error: ' + E.Message + #13#10 + 'Response: ' + E.ErrorMessage);
......@@ -172,7 +169,6 @@ begin
try
iniFile.WriteString('Quickbooks', 'RefreshToken', RefreshToken);
LastRefresh := Now;
Logger.Log(1, 'Tokens Successfully Saved');
finally
IniFile.Free;
......
......@@ -125,14 +125,14 @@ uses
procedure TApiDatabase.DataModuleCreate(Sender: TObject);
begin
Logger.Log( 3, 'TApiDatabase.DataModuleCreate' );
Logger.Log( 1, 'TApiDatabase.DataModuleCreate' );
LoadDatabaseSettings( ucKG, 'kgOrdersServer.ini' );
try
ucKG.Connect;
except
on E: Exception do
begin
Logger.Log(3, '--TApiDatabase.DataModuleCreate -Error connecting to database: ' + E.Message);
Logger.Log(2, '--TApiDatabase.DataModuleCreate -Error connecting to database: ' + E.Message);
end;
end;
end;
......
......@@ -39,14 +39,14 @@ uses
procedure TAuthDatabase.DataModuleCreate(Sender: TObject);
begin
Logger.Log( 3, 'TAuthDatabase.DataModuleCreate' );
Logger.Log( 1, 'TAuthDatabase.DataModuleCreate' );
LoadDatabaseSettings( ucKG, 'kgOrdersServer.ini' );
try
ucKG.Connect;
except
on E: Exception do
begin
Logger.Log(3, '--TAuthDatabase.DataModuleCreate -Error connecting to database: ' + E.Message);
Logger.Log(2, '--TAuthDatabase.DataModuleCreate -Error connecting to database: ' + E.Message);
end;
end;
end;
......
......@@ -109,22 +109,22 @@ var
userState: Integer;
JWT: TJWT;
begin
Logger.Log(1, Format( 'AuthService.Login - User: "%s"', [User]));
Logger.Log(3, Format( 'AuthService.Login - User: "%s"', [User]));
userState := CheckUser( user, password );
if userState = 0 then
begin
raise EXDataHttpUnauthorized.Create('Invalid username or password');
logger.Log(1, 'Login Error: Invalid username or password');
logger.Log(2, 'Login Error: Invalid username or password');
end
else if userState = 1 then
begin
raise EXDataHttpUnauthorized.Create('User does not exist!');
logger.Log(1, 'Login Error: User does not exist!');
logger.Log(2, 'Login Error: User does not exist!');
end
else if userState = 2 then
raise EXDataHttpUnauthorized.Create('User not active!');
logger.Log(1, 'Login Error: User not active!');
logger.Log(2, 'Login Error: User not active!');
JWT := TJWT.Create;
try
......
......@@ -145,7 +145,7 @@ begin
TaxCodeRef := TJSONObject.Create;
TxnTaxCodeRef := TJSONObject.Create;
TxnTaxDetail := TJSONObject.Create;
Logger.Log(3, 'TLookupService.AddEstimate');
try
try
ORDER_ID := orderInfo;
......@@ -355,6 +355,7 @@ var
ADDRESS_LIST: TJSONArray;
ADDRESS: TJSONObject;
begin
logger.Log(5, 'TLookupService.DelShippingAddress');
SQL := 'DELETE FROM customers_ship WHERE customer_ship_id = ' + AddressID;
OrdersDB.UniQuery1.SQL.Text := SQL;
OrdersDB.UniQuery1.ExecSQL;
......@@ -542,6 +543,7 @@ var
CompanyID, CompanyName: string;
params: TStringList;
begin
logger.Log(5, 'TLookupService.GenerateOrderListPDF');
rptOrderList := TrptOrderList.Create(nil);
try
try
......@@ -601,6 +603,7 @@ var
JSONArray: TJSONArray;
Item: TAddressItem;
begin
logger.Log(5, 'TLookupSerivce.AddShippingAddress');
result := TJSONObject.Create;
JSONData := TJSONObject.ParseJSONValue(AddressInfo) as TJSONObject;
if JSONData = nil then
......@@ -799,6 +802,7 @@ var
rptOrderCorrugated: TrptOrderCorrugated; // Local instance of the report
begin
rptOrderCorrugated := TrptOrderCorrugated.Create(nil);
logger.Log(5, 'TLookupService.GenerateOrderCorrugatedPDF');
try
try
// Generate SQL query for a single order
......@@ -812,7 +816,7 @@ begin
except
on E: Exception do
begin
Logger.Log(1, 'Error generating corrugated PDF: ' + E.Message);
Logger.Log(2, 'Error generating corrugated PDF: ' + E.Message);
raise EXDataHttpException.Create(500, 'Error generating corrugated PDF: A KG Orders database issue has occurred!');
end;
end;
......@@ -841,7 +845,7 @@ begin
except
on E: Exception do
begin
Logger.Log(1, 'Error generating web PDF: ' + E.Message);
Logger.Log(2, 'Error generating web PDF: ' + E.Message);
raise EXDataHttpException.Create(500, 'Error generating web PDF: A KG Orders database issue has occurred!');
end;
end;
......@@ -856,6 +860,7 @@ var
rptOrderCutting: TrptOrderCutting; // Local instance of the report
begin
rptOrderCutting := TrptOrderCutting.Create(nil);
logger.Log(5, 'TLookupService.GenerateOrderCuttingPDF');
try
try
// Generate SQL query for a single order
......@@ -869,7 +874,7 @@ begin
except
on E: Exception do
begin
Logger.Log(1, 'Error generating cutting die PDF: ' + E.Message);
Logger.Log(2, 'Error generating cutting die PDF: ' + E.Message);
raise EXDataHttpException.Create(500, 'Error generating cutting die PDF: A KG Orders database issue has occurred!');
end;
end;
......@@ -1649,8 +1654,8 @@ var
hashString: string;
hashPW: string;
begin
logger.log(5, 'TLookupService.EditUser');
params := TStringList.Create;
// parse the searchOptions
params.Delimiter := '&';
params.StrictDelimiter := true;
params.DelimitedText := editOptions;
......@@ -1868,6 +1873,7 @@ var
mode: string;
change: boolean;
begin
logger.Log(5, 'TLookupService.AddStatusSchedule');
mode := order.GetValue<string>('mode');
if mode = 'ADD' then
begin
......@@ -1930,7 +1936,7 @@ var
order: TJSONObject;
begin
try
logger.Log(1, 'Set Status Hit');
logger.Log(5, 'TLookupService.SetStatus');
StatusInfo := TJSONObject.ParseJSONValue(statusOptions) as TJSONObject;
params := TStringList.Create;
// parse the statusOptions
......@@ -1969,7 +1975,6 @@ begin
SQL := 'select * from orders_status where ORDER_ID = ' + IntToStr(ORDER_ID) + ' AND ' +
'ORDER_STATUS = ' + quotedStr(Status);
logger.Log(1, 'Trying to Set Status');
doQuery(ordersDB.UniQuery1, SQL);
if ordersDB.UniQuery1.IsEmpty then
......@@ -2042,7 +2047,7 @@ begin
result := 'success';
except
on E: Exception do
logger.Log(5, 'An error occurred when setting status: ' + E.Message);
logger.Log(2, 'An error occurred when setting status: ' + E.Message);
end;
end;
......@@ -2065,6 +2070,7 @@ var
rightsInt: Integer;
params: TStringList;
begin
logger.Log(5, 'TLookupService.AddUser');
try
params := TStringList.Create;
params.StrictDelimiter := True;
......@@ -2093,7 +2099,7 @@ begin
ordersDB.UniQuery1.Insert;
ordersDB.UniQuery1.FieldByName('USER_NAME').AsString := user;
ordersDB.UniQuery1.FieldByName('PASSWORD').AsString := password;
ordersDB.UniQuery1.FieldByName('PASSWORD').AsString := THashSHA2.GetHashString(full_name + password, THashSHA2.TSHA2Version.SHA512).ToUpper;
ordersDB.UniQuery1.FieldByName('NAME').AsString := full_name;
if StrToBoolDef(status, False) then
......@@ -2140,7 +2146,7 @@ var
begin
try
logger.Log(1, 'Add Item Hit');
logger.Log(5, 'TLookupService.AddItem');
result := TJSONObject.Create;
JSONData := TJSONObject.ParseJSONValue(itemInfo) as TJSONObject;
if JSONData = nil then
......@@ -2197,7 +2203,7 @@ begin
end;
except
on E: Exception do
logger.Log(5, 'An error occurred when adding an item: ' + E.Message);
logger.Log(2, 'An error occurred when adding an item: ' + E.Message);
end;
end;
......@@ -2210,6 +2216,7 @@ var
SQL: string;
params: TStringList;
begin
logger.Log(5, 'TLookupService.DelUser');
SQL := 'select * from users where username = ' + QuotedStr(username.toLower);
ordersDB.UniQuery1.Close;
ordersDB.UniQuery1.SQL.Text := SQL;
......@@ -2243,6 +2250,7 @@ var
mode: string;
msg: string;
begin
logger.Log(5, 'TLookupService.AddWebOrder');
DateFormat := TFormatSettings.Create;
DateFormat.ShortDateFormat := 'yyyy-mm-dd';
DateFormat.DateSeparator := '-';
......@@ -2891,7 +2899,7 @@ begin
if( (Client = '') or (Secret = '') ) then
begin
Logger.Log(1, 'Missing Client ID or Client Secret in INI File');
Logger.Log(2, 'Missing Client ID or Client Secret in INI File');
Exit();
end;
......@@ -2931,7 +2939,7 @@ begin
AccessToken := JSObj.GetValue('access_token').ToString.Trim(['"']);
SaveTokens(AccessToken, RefreshToken);
Result := AccessToken;
Logger.Log(1, 'qbAPI - Tokens Successfully Saved');
Logger.Log(5, 'qbAPI - Tokens Successfully Saved');
except
on E: EIdHTTPProtocolException do
// Memo2.Lines.Add('Error: ' + E.Message + #13#10 + 'Response: ' + E.ErrorMessage);
......@@ -2957,7 +2965,7 @@ begin
iniFile.WriteString('Quickbooks', 'RefreshToken', RefreshToken);
iniFile.WriteString('Quickbooks', 'AccessToken', AccessToken);
iniFile.WriteString('Quickbooks', 'LastRefresh', DateTimeToStr(Now));
Logger.Log(1, 'Tokens Successfully Saved');
Logger.Log(5, 'Tokens Successfully Saved');
finally
IniFile.Free;
......
......@@ -124,6 +124,7 @@ begin
Logger.Log( 1, 'iniFile: ' + ExtractFilePath(Application.ExeName) + 'kgOrdersServer.ini' );
Logger.Log( 1, 'LogLevels are displayed here. They were set in kgOrdersServer.dpr, it executes first' );
Logger.Log(1, '--- Settings ---');
iniStr := iniFile.ReadString( 'Settings', 'MemoLogLevel', '' );
if iniStr.IsEmpty then
Logger.Log( 1, '--Settings->memoLogLevel: Entry not found - default: 3' )
......@@ -143,12 +144,13 @@ begin
else
Logger.Log( 1, '--Settings->LogFileNum: ' + IntToStr(StrToInt(iniStr) - 1) );
Logger.Log( 1, '' );
Logger.Log(1, '--- Database ---');
iniStr := IniFile.ReadString( 'Database', 'Server', '' );
if iniStr.IsEmpty then
Logger.Log( 1, '--Database->Server: Entry not found' )
else
Logger.Log( 1, '--Database->Server: ' + iniStr );
iniStr := iniFile.ReadString('Database', 'Database', '');
if iniStr.IsEmpty then
Logger.Log( 1, '----Database->Database: Entry not found' )
......@@ -167,6 +169,43 @@ begin
else
Logger.Log( 1, '----Database->Password: xxxxxxxx' );
Logger.Log(1, '---Quickbooks---');
iniStr := IniFile.ReadString( 'Quickbooks', 'CompanyID', '' );
if iniStr.IsEmpty then
Logger.Log( 1, '--Quickbooks->CompanyID: Entry not found' )
else
Logger.Log( 1, '--Quickbooks->CompanyID: ' + 'Entry found' );
iniStr := IniFile.ReadString( 'Quickbooks', 'ClientID', '' );
if iniStr.IsEmpty then
Logger.Log( 1, '--Quickbooks->ClientID: Entry not found' )
else
Logger.Log( 1, '--Quickbooks->ClientID: ' + 'Entry found' );
iniStr := IniFile.ReadString( 'Quickbooks', 'ClientSecret', '' );
if iniStr.IsEmpty then
Logger.Log( 1, '--Quickbooks->ClientSecret: Entry not found' )
else
Logger.Log( 1, '--Quickbooks->ClientSecret: ' + 'Entry found' );
iniStr := IniFile.ReadString( 'Quickbooks', 'RefreshToken', '' );
if iniStr.IsEmpty then
Logger.Log( 1, '--Quickbooks->RefreshToken: Entry not found' )
else
Logger.Log( 1, '--Quickbooks->RefreshToken: ' + 'Entry found' );
iniStr := IniFile.ReadString( 'Quickbooks', 'AccessToken', '' );
if iniStr.IsEmpty then
Logger.Log( 1, '--Quickbooks->AccessToken: Entry not found' )
else
Logger.Log( 1, '--Quickbooks->AccessToken: ' + 'Entry found' );
iniStr := IniFile.ReadString( 'Quickbooks', 'LastRefresh', '' );
if iniStr.IsEmpty then
Logger.Log( 1, '--Quickbooks->LastRefresh: Entry not found' )
else
Logger.Log( 1, '--Quickbooks->LastRefresh: ' + iniStr );
Logger.Log( 1, '' );
finally
IniFile.Free;
......
......@@ -521,7 +521,6 @@ begin
try
iniFile.WriteString('Quickbooks', 'RefreshToken', RefreshToken);
LastRefresh := Now;
Logger.Log(1, 'Tokens Successfully Saved');
finally
IniFile.Free;
......@@ -1319,7 +1318,6 @@ begin
if( (Client = '') or (Secret = '') ) then
begin
Logger.Log(1, 'Missing Client ID or Client Secret in INI File');
Exit();
end;
......@@ -1327,7 +1325,6 @@ begin
Memo1.Lines.Add(EncodedAuth);
if RefreshToken = '' then
begin
Logger.Log(3, 'Missing Refresh Token, Please Manually Get a New One and Store in INI File');
Exit();
end;
......@@ -1359,7 +1356,6 @@ begin
AccessToken := JSObj.GetValue('access_token').ToString.Trim(['"']);
SaveTokens(AccessToken, RefreshToken);
Result := AccessToken;
Logger.Log(1, 'qbAPI - Tokens Successfully Saved');
Memo1.Lines.Add('Tokens Successfully Saved');
except
on E: EIdHTTPProtocolException do
......
......@@ -124,14 +124,14 @@ uses
procedure TrptOrderCorrugated.DataModuleCreate(Sender: TObject);
begin
Logger.Log( 3, 'TAuthDatabase.DataModuleCreate' );
Logger.Log( 1, 'TAuthDatabase.DataModuleCreate' );
LoadDatabaseSettings( ucKG, 'kgOrdersServer.ini' );
try
ucKG.Connect;
except
on E: Exception do
begin
Logger.Log(3, '--TrptOrderList.DataModuleCreate -Error connecting to database: ' + E.Message);
Logger.Log(2, '--TrptOrderList.DataModuleCreate -Error connecting to database: ' + E.Message);
end;
end;
end;
......@@ -146,7 +146,7 @@ var
i, rowIndex: Integer;
temp: TObject;
begin
logger.Log(1, 'Adding Color Rows');
logger.Log(5, 'Adding Color Rows');
colorsString := uqOrderCorrugated.FieldByName('colors_colors').AsString;
colorsObject := TJSONObject.ParseJSONValue(colorsString) as TJSONObject;
......@@ -183,7 +183,7 @@ var
colorListJSON: TJSONArray;
items: TJSObject;
begin
Logger.Log(3, 'Generated SQL for Prepare Report: ' + SQL);
Logger.Log(5, 'Generated SQL for Prepare Report: ' + SQL);
doQuery(uqOrderCorrugated, SQL);
if ( string( uqOrderCorrugated.FieldByName('colors_colors').AsString ) ) <> '' then
......@@ -195,7 +195,7 @@ begin
result := GeneratePDF;
Logger.Log(3, 'Report preparation complete.');
Logger.Log(5, 'Report preparation complete.');
end;
......@@ -209,7 +209,7 @@ begin
if not DirectoryExists(ReportDir) then
begin
ForceDirectories(ReportDir);
Logger.Log(5, 'Reports directory created: ' + ReportDir);
Logger.Log(1, 'Reports directory created: ' + ReportDir);
end;
reportURL := 'reports/' + FormatDateTime('yyyymmdd_hhnnss', Now) + '.pdf';
......
......@@ -47,75 +47,6 @@ object rptOrderCutting: TrptOrderCutting
DataSetOptions = []
Left = 444
Top = 206
FieldDefs = <
item
FieldName = 'ORDER_ID'
end
item
FieldName = 'COMPANY_ID'
end
item
FieldName = 'USER_ID'
end
item
FieldName = 'ORDER_DATE'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_order_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_proof_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_ship_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_ship_via'
FieldType = fftString
Size = 45
end
item
FieldName = 'staff_fields_quantity'
FieldType = fftString
end
item
FieldName = 'staff_fields_price'
FieldType = fftString
end
item
FieldName = 'staff_fields_invoice_to'
FieldType = fftString
Size = 128
end
item
FieldName = 'staff_fields_ship_to'
FieldType = fftString
Size = 128
end
item
FieldName = 'staff_fields_po_number'
FieldType = fftString
Size = 16
end
item
FieldName = 'staff_fields_job_name'
FieldType = fftString
Size = 45
end
item
FieldName = 'staff_fields_quickbooks_item'
FieldType = fftString
Size = 45
end
item
FieldName = 'general_special_instructions'
FieldType = fftString
Size = 2048
end>
end
object frxOrderCutting: TfrxReport
Version = '2025.1.4'
......
......@@ -54,14 +54,14 @@ uses
procedure TrptOrderCutting.DataModuleCreate(Sender: TObject);
begin
Logger.Log( 3, 'TAuthDatabase.DataModuleCreate' );
Logger.Log( 1, 'TAuthDatabase.DataModuleCreate' );
LoadDatabaseSettings( ucKG, 'kgOrdersServer.ini' );
try
ucKG.Connect;
except
on E: Exception do
begin
Logger.Log(3, '--TrptOrderList.DataModuleCreate -Error connecting to database: ' + E.Message);
Logger.Log(2, '--TrptOrderList.DataModuleCreate -Error connecting to database: ' + E.Message);
end;
end;
end;
......@@ -91,7 +91,7 @@ begin
result := GeneratePDF;
Logger.Log(3, 'Report preparation complete.');
Logger.Log(5, 'Report preparation complete.');
end;
......@@ -105,7 +105,7 @@ begin
if not DirectoryExists(ReportDir) then
begin
ForceDirectories(ReportDir);
Logger.Log(5, 'Reports directory created: ' + ReportDir);
Logger.Log(1, 'Reports directory created: ' + ReportDir);
end;
reportURL := 'reports\' + FormatDateTime('yyyymmdd_hhnnss', Now) + '.pdf';
......
......@@ -67,14 +67,14 @@ uses
procedure TrptOrderList.DataModuleCreate(Sender: TObject);
begin
Logger.Log( 3, 'TAuthDatabase.DataModuleCreate' );
Logger.Log( 1, 'TAuthDatabase.DataModuleCreate' );
LoadDatabaseSettings( ucKG, 'kgOrdersServer.ini' );
try
ucKG.Connect;
except
on E: Exception do
begin
Logger.Log(3, '--TrptOrderList.DataModuleCreate -Error connecting to database: ' + E.Message);
Logger.Log(2, '--TrptOrderList.DataModuleCreate -Error connecting to database: ' + E.Message);
end;
end;
end;
......@@ -113,7 +113,7 @@ begin
result := GeneratePDF;
Logger.Log(3, 'Report preparation complete.');
Logger.Log(5, 'Report preparation complete.');
end;
......@@ -148,10 +148,6 @@ begin
uqColors.Close; // Ensure it is closed
end;
//uqOrdersORD.AsDateTime := uqOrdersORDER_DATE.AsDateTime;
//logger.Log(3, uqOrders.FieldByName('ORDER_DATE').AsString);
if uqOrdersORDER_DATE.AsString <> '' then
uqOrdersNEW_ORDER_DATE.AsString := FormatDateTime('m/d/yyyy HH:nn', uqOrdersORDER_DATE.AsDateTime)
else
......@@ -213,7 +209,7 @@ begin
if not DirectoryExists(ReportDir) then
begin
ForceDirectories(ReportDir);
Logger.Log(3, 'Reports directory created: ' + ReportDir);
Logger.Log(1, 'Reports directory created: ' + ReportDir);
end;
reportURL := 'reports/' + FormatDateTime('yyyymmdd_hhnnss', Now) + '.pdf';
......@@ -229,7 +225,7 @@ begin
frxOrderList.Clear; // Clears the report to avoid memory bloat
end;
Logger.Log(3, 'PDF saved to: ' + ReportFileName);
Logger.Log(5, 'PDF saved to: ' + ReportFileName);
result := reportURL;
end;
......
......@@ -124,14 +124,14 @@ uses
procedure TrptOrderWeb.DataModuleCreate(Sender: TObject);
begin
Logger.Log( 3, 'TAuthDatabase.DataModuleCreate' );
Logger.Log( 1, 'TAuthDatabase.DataModuleCreate' );
LoadDatabaseSettings( ucKG, 'kgOrdersServer.ini' );
try
ucKG.Connect;
except
on E: Exception do
begin
Logger.Log(3, '--TrptOrderList.DataModuleCreate -Error connecting to database: ' + E.Message);
Logger.Log(2, '--TrptOrderList.DataModuleCreate -Error connecting to database: ' + E.Message);
end;
end;
end;
......@@ -146,7 +146,7 @@ var
i, rowIndex: Integer;
temp: TObject;
begin
logger.Log(1, 'Adding Color Rows');
logger.Log(5, 'Adding Color Rows');
colorsString := uqOrderWeb.FieldByName('quantity_and_colors_qty_colors').AsString;
colorsObject := TJSONObject.ParseJSONValue(colorsString) as TJSONObject;
......@@ -210,7 +210,7 @@ begin
if not DirectoryExists(ReportDir) then
begin
ForceDirectories(ReportDir);
Logger.Log(5, 'Reports directory created: ' + ReportDir);
Logger.Log(1, 'Reports directory created: ' + ReportDir);
end;
reportURL := 'reports\' + FormatDateTime('yyyymmdd_hhnnss', Now) + '.pdf';
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment