Commit 5ee48b91 by emsys

Merge remote-tracking branch 'origin/mac3' into mac3

parents dd3cf055 cc8b2b36
object FViewAddCustomer: TFViewAddCustomer object FViewAddCustomer: TFViewAddCustomer
Width = 842 Width = 842
Height = 607 Height = 607
OnShow = WebFormShow CSSLibrary = cssBootstrap
ElementFont = efCSS
object lblFormState: TWebLabel
Left = 18
Top = 16
Width = 3
Height = 15
ElementID = 'lbl_form_state'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
object dtpStartDate: TWebDateTimePicker object dtpStartDate: TWebDateTimePicker
Left = 19 Left = 19
Top = 216 Top = 216
...@@ -236,7 +246,7 @@ object FViewAddCustomer: TFViewAddCustomer ...@@ -236,7 +246,7 @@ object FViewAddCustomer: TFViewAddCustomer
BorderColor = clSilver BorderColor = clSilver
ChildOrder = 11 ChildOrder = 11
ElementFont = efCSS ElementFont = efCSS
ElementHeaderClassName = 'thead-light sticky-top bg-light' ElementHeaderClassName = 'thead-light sticky-top bg-light border-light'
ElementPosition = epRelative ElementPosition = epRelative
ElementTableClassName = 'table table-striped table-hover table-bordered text-sm' ElementTableClassName = 'table table-striped table-hover table-bordered text-sm'
Footer.ButtonActiveElementClassName = 'btn btn-primary' Footer.ButtonActiveElementClassName = 'btn btn-primary'
...@@ -313,6 +323,7 @@ object FViewAddCustomer: TFViewAddCustomer ...@@ -313,6 +323,7 @@ object FViewAddCustomer: TFViewAddCustomer
Width = 121 Width = 121
Height = 22 Height = 22
ChildOrder = 22 ChildOrder = 22
EditType = weNumeric
ElementID = 'edtshippingzip' ElementID = 'edtshippingzip'
Enabled = False Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
...@@ -432,18 +443,6 @@ object FViewAddCustomer: TFViewAddCustomer ...@@ -432,18 +443,6 @@ object FViewAddCustomer: TFViewAddCustomer
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = btnShipAddClick OnClick = btnShipAddClick
end end
object btn_confirm_delete: TWebButton
Left = 725
Top = 433
Width = 96
Height = 25
Caption = 'Delete'
ChildOrder = 82
ElementID = 'btn_confirm_delete'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
OnClick = btn_confirm_deleteClick
end
object edtFirstLine: TWebEdit object edtFirstLine: TWebEdit
Left = 190 Left = 190
Top = 430 Top = 430
...@@ -475,12 +474,12 @@ object FViewAddCustomer: TFViewAddCustomer ...@@ -475,12 +474,12 @@ object FViewAddCustomer: TFViewAddCustomer
Top = 72 Top = 72
end end
object WebDataSource1: TWebDataSource object WebDataSource1: TWebDataSource
AutoEdit = False
DataSet = XDataWebDataSet1 DataSet = XDataWebDataSet1
Left = 532 Left = 532
Top = 126 Top = 126
end end
object XDataWebDataSet1: TXDataWebDataSet object XDataWebDataSet1: TXDataWebDataSet
AfterEdit = XDataWebDataSet1AfterEdit
Connection = DMConnection.ApiConnection Connection = DMConnection.ApiConnection
Left = 426 Left = 426
Top = 132 Top = 132
...@@ -528,12 +527,12 @@ object FViewAddCustomer: TFViewAddCustomer ...@@ -528,12 +527,12 @@ object FViewAddCustomer: TFViewAddCustomer
end end
end end
object wdsShipTo: TWebDataSource object wdsShipTo: TWebDataSource
AutoEdit = False
DataSet = xdwdsShipTo DataSet = xdwdsShipTo
Left = 698 Left = 698
Top = 128 Top = 128
end end
object xdwdsShipTo: TXDataWebDataSet object xdwdsShipTo: TXDataWebDataSet
AfterEdit = xdwdsShipToAfterEdit
Left = 698 Left = 698
Top = 44 Top = 44
object xdwdsShipToADDRESS: TStringField object xdwdsShipToADDRESS: TStringField
...@@ -565,6 +564,7 @@ object FViewAddCustomer: TFViewAddCustomer ...@@ -565,6 +564,7 @@ object FViewAddCustomer: TFViewAddCustomer
Top = 42 Top = 42
end end
object wdsUsers: TWebDataSource object wdsUsers: TWebDataSource
AutoEdit = False
DataSet = xdwdsUsers DataSet = xdwdsUsers
Left = 776 Left = 776
Top = 144 Top = 144
......
<nav class="navbar navbar-expand navbar-light bg-light sticky-top" style="z-index: 100;">
<div class="container-fluid ps-0"> <nav class="navbar navbar-expand navbar-light bg-light sticky-top border-light" style="z-index: 100;">
<ul class="navbar-nav me-auto ps-2"> <div class="container-fluid d-flex align-items-center ps-0 pe-0">
<!-- Left-aligned form state label -->
<div class="me-auto ps-3">
<label id="lbl_form_state" class="form-label mb-0 fw-bold text-uppercase text-nowrap text-danger" style="font-size: 16px;">View Mode</label>
</div>
<!-- Right-aligned buttons -->
<ul class="navbar-nav ms-auto pe-2 mb-0">
<li class="nav-item pe-2"> <li class="nav-item pe-2">
<button id="btnadd" class="btn btn-primary btn-sm">Add</button> <button id="btnadd" class="btn btn-primary btn-sm">Add</button>
</li> </li>
...@@ -20,9 +28,10 @@ ...@@ -20,9 +28,10 @@
<button id="btnclose" class="btn btn-primary btn-sm">Close</button> <button id="btnclose" class="btn btn-primary btn-sm">Close</button>
</li> </li>
</ul> </ul>
</div> </div>
</nav> </nav>
<div class="row mx-5"> <div class="row mx-5">
<h4 class="custom-h4 mt-3">Customer Information</h4> <h4 class="custom-h4 mt-3">Customer Information</h4>
<hr class="custom-hr"> <hr class="custom-hr">
<div class="row"> <div class="row">
...@@ -120,17 +129,20 @@ ...@@ -120,17 +129,20 @@
<h4 class="custom-h4 mt-3">Shipping Addresses</h4> <h4 class="custom-h4 mt-3">Shipping Addresses</h4>
<hr class="custom-hr"> <hr class="custom-hr">
<div class="row"> <div class="row">
<div class="overflow-auto mt-2"
style="max-height: calc(100vh - 250px); padding-bottom: 0; width: 100%;">
<table id="tblPhoneGrid" class="table table-striped table-bordered" style="width: 100%;"> <table id="tblPhoneGrid" class="table table-striped table-bordered" style="width: 100%;">
<thead class="sticky-top thead-light"> <thead class="sticky-top thead-light">
<tr style="font-size: 0.875rem;"> <tr style="font-size: 0.875rem;">
<!-- Table headers are dynamically generated --> <!-- headers -->
</tr> </tr>
</thead> </thead>
<tbody id="orderTableBody" class="align-middle"> <tbody id="orderTableBody" class="align-middle">
<!-- Table rows are dynamically generated --> <!-- rows -->
</tbody> </tbody>
</table> </table>
</div> </div>
</div>
<div class="row mt-1"> <div class="row mt-1">
<div class="col-auto"> <div class="col-auto">
<button id="btnshipadd" class="btn btn-primary btn-sm">Add</button> <button id="btnshipadd" class="btn btn-primary btn-sm">Add</button>
...@@ -201,29 +213,6 @@ ...@@ -201,29 +213,6 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade" id="confirmation_modal" tabindex="-1" aria-labelledby="confirmation_modal_label" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="confirmation_modal_label">Confirm</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body" id="modal_body">
Are you sure you want to delete this order?
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" id= 'btn_confirm_cancel'>Cancel</button>
<button type="button" class="btn btn-primary" data-bs-dismiss="modal" id="btn_confirm_delete">Delete</button>
</div>
</div>
</div>
</div>
<style>
.modal-backdrop {
opacity: 0 !important;
}
</style>
...@@ -70,7 +70,6 @@ type ...@@ -70,7 +70,6 @@ type
btnShipDelete: TWebButton; btnShipDelete: TWebButton;
btnShipEdit: TWebButton; btnShipEdit: TWebButton;
btnShipAdd: TWebButton; btnShipAdd: TWebButton;
btn_confirm_delete: TWebButton;
tmrReturn: TWebTimer; tmrReturn: TWebTimer;
edtFirstLine: TWebEdit; edtFirstLine: TWebEdit;
wdsUsers: TWebDataSource; wdsUsers: TWebDataSource;
...@@ -79,11 +78,9 @@ type ...@@ -79,11 +78,9 @@ type
xdwdsUsersuserID: TStringField; xdwdsUsersuserID: TStringField;
XDataWebDataSet1REP_USER_ID: TStringField; XDataWebDataSet1REP_USER_ID: TStringField;
xdwdsUsersfull_name: TStringField; xdwdsUsersfull_name: TStringField;
procedure WebFormShow(Sender: TObject); lblFormState: TWebLabel;
procedure btnSaveClick(Sender: TObject); procedure btnSaveClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject); procedure btnCancelClick(Sender: TObject);
procedure xdwdsShipToAfterEdit(DataSet: TDataSet);
procedure XDataWebDataSet1AfterEdit(DataSet: TDataSet);
procedure btnCloseClick(Sender: TObject); procedure btnCloseClick(Sender: TObject);
procedure btnEditClick(Sender: TObject); procedure btnEditClick(Sender: TObject);
procedure wdbtcAddressesDblClickCell(Sender: TObject; ACol, ARow: Integer); procedure wdbtcAddressesDblClickCell(Sender: TObject; ACol, ARow: Integer);
...@@ -91,13 +88,13 @@ type ...@@ -91,13 +88,13 @@ type
procedure AddressEditMode(); procedure AddressEditMode();
procedure edtShippingAddressChange(Sender: TObject); procedure edtShippingAddressChange(Sender: TObject);
procedure btnAddClick(Sender: TObject); procedure btnAddClick(Sender: TObject);
procedure btn_confirm_deleteClick(Sender: TObject);
procedure tmrReturnTimer(Sender: TObject); procedure tmrReturnTimer(Sender: TObject);
procedure btnDeleteClick(Sender: TObject); procedure btnDeleteClick(Sender: TObject);
procedure btnShipAddClick(Sender: TObject); procedure btnShipAddClick(Sender: TObject);
procedure btnShipEditClick(Sender: TObject); procedure btnShipEditClick(Sender: TObject);
procedure btnShipSaveClick(Sender: TObject); [async] procedure btnShipSaveClick(Sender: TObject);
procedure btnShipDeleteClick(Sender: TObject); procedure btnShipDeleteClick(Sender: TObject);
procedure btnShipCancelClick(Sender: TObject);
private private
{ Private declarations } { Private declarations }
procedure ViewMode(); procedure ViewMode();
...@@ -110,6 +107,7 @@ type ...@@ -110,6 +107,7 @@ type
function VerifyAddress(): boolean; function VerifyAddress(): boolean;
procedure Clear(); procedure Clear();
procedure ShowSelectCustomerForm(); procedure ShowSelectCustomerForm();
[async] procedure InitializeForm;
var var
customerID: string; customerID: string;
notification: string; notification: string;
...@@ -129,6 +127,45 @@ implementation ...@@ -129,6 +127,45 @@ implementation
uses View.Main, View.Customers, View.SelectCustomer, Utils; uses View.Main, View.Customers, View.SelectCustomer, Utils;
class function TFViewAddCustomer.CreateForm(AElementID, customerInfo, info: string): TWebForm;
begin
Application.CreateForm(TFViewAddCustomer, AElementID, Result,
procedure(AForm: TObject)
begin
with TFViewAddCustomer(AForm) do
begin
customerID := customerInfo;
notification := info;
InitializeForm;
end;
end
);
end;
[async] procedure TFViewAddCustomer.InitializeForm;
begin
if customerID = '' then
mode := 'ADD'
else
mode := 'EDIT';
if notification <> '' then
ShowToast(notification);
if mode = 'ADD' then
EditMode()
else
ViewMode();
await(GetCustomer);
dtpStartDate.Date := 0;
dtpEndDate.Date := 0;
end;
procedure TFViewAddCustomer.Clear(); procedure TFViewAddCustomer.Clear();
// Clears the shipping address fields. // Clears the shipping address fields.
begin begin
...@@ -227,27 +264,28 @@ begin ...@@ -227,27 +264,28 @@ begin
ShowSelectCustomerForm(); ShowSelectCustomerForm();
end; end;
procedure TFViewAddCustomer.btnCancelClick(Sender: TObject); procedure TFViewAddCustomer.btnCancelClick(Sender: TObject);
// Shows a pop-up to confirm the user would like to cancel their changes.
begin begin
document.getElementById('modal_body').innerHTML := 'Are you sure you want to cancel all changes to the customer?'; ShowConfirmationModal(
document.getElementById('btn_confirm_cancel').innerText := 'No'; 'Are you sure you want to cancel all changes to the customer?',
document.getElementById('btn_confirm_delete').innerText := 'Yes'; 'Yes',
asm 'No',
var modal = document.getElementById('confirmation_modal'); procedure(confirmed: Boolean)
begin
// Ensure modal is a direct child of <body> to avoid z-index/backdrop issues if confirmed then
if (modal && modal.parentNode !== document.body) { begin
document.body.appendChild(modal); FViewMain.change := false;
} if CustomerID <> '' then
FViewMain.ViewAddCustomer(CustomerID, 'Failure: Changes Discarded')
var confirmationModal = new bootstrap.Modal(modal, { else
keyboard: false FViewMain.ShowForm(TFViewCustomers);
});
confirmationModal.show();
end; end;
end);
end; end;
procedure TFViewAddCustomer.btnClearClick(Sender: TObject); procedure TFViewAddCustomer.btnClearClick(Sender: TObject);
// Clears the shipping address fields. // Clears the shipping address fields.
begin begin
...@@ -265,7 +303,8 @@ procedure TFViewAddCustomer.btnDeleteClick(Sender: TObject); ...@@ -265,7 +303,8 @@ procedure TFViewAddCustomer.btnDeleteClick(Sender: TObject);
// Eventually will delete customers after a confirmation // Eventually will delete customers after a confirmation
// TODO implement deleting customers // TODO implement deleting customers
begin begin
ShowErrorModal('Deleting Customers Is Not Yet Available'); ShowToast('Deleting Customers Is Not Yet Available', 'danger');
Exit;
end; end;
procedure TFViewAddCustomer.btnEditClick(Sender: TObject); procedure TFViewAddCustomer.btnEditClick(Sender: TObject);
...@@ -280,119 +319,29 @@ begin ...@@ -280,119 +319,29 @@ begin
AddressEditMode(); AddressEditMode();
end; end;
procedure TFViewAddCustomer.EditMode;
// Enables Customer Fields while disabling shipping address fields.
begin
FViewMain.change := true;
btnAdd.Enabled := false;
btnDelete.Enabled := false;
btnClose.Enabled := false;
btnSave.Enabled := true;
btnCancel.Enabled := True;
btnEdit.Enabled := false;
// Disable Shipping Address Editting
edtShippingAddress.Enabled := false;
edtShippingCity.Enabled := false;
edtShippingState.Enabled := false;
edtShippingZip.Enabled := false;
edtShippingContact.Enabled := false;
edtFirstLine.Enabled := false;
btnShipDelete.Enabled := false;
btnShipSave.Enabled := false;
btnShipCancel.Enabled := false;
btnShipEdit.Enabled := false;
btnShipAdd.Enabled := false;
end;
procedure TFViewAddCustomer.AddressEditMode;
// Enables Shipping Address fields while disabling customer fields.
begin
FViewMain.change := true;
btnDelete.Enabled := false;
btnClose.Enabled := false;
btnSave.Enabled := false;
btnCancel.Enabled := false;
btnEdit.Enabled := false;
btnAdd.Enabled := false;
btnShipDelete.Enabled := false;
btnShipSave.Enabled := true;
btnShipCancel.Enabled := true;
btnShipEdit.Enabled := false;
btnShipAdd.Enabled := false;
edtShippingAddress.Enabled := true;
edtShippingCity.Enabled := true;
edtShippingState.Enabled := true;
edtShippingZip.Enabled := true;
edtShippingContact.Enabled := true;
edtFirstLine.Enabled := true;
edtName.Enabled := false;
edtShortName.Enabled := false;
edtBillAddress.Enabled := false;
edtBillCity.Enabled := false;
edtBillState.Enabled := false;
edtBillZip.Enabled := false;
edtBillContact.Enabled := false;
dtpStartDate.Enabled := false;
dtpEndDate.Enabled := false;
edtFax.Enabled := false;
edtPhone.enabled := false;
wdblcbRep.Enabled := false;
end;
procedure TFViewAddCustomer.ViewMode;
// Enables Customer Fields while disabling shipping address fields.
begin
btnAdd.Enabled := true;
btnDelete.Enabled := true;
btnClose.Enabled := true;
btnSave.Enabled := false;
btnCancel.Enabled := false;
btnEdit.Enabled := true;
FViewMain.change := false;
btnShipAdd.Enabled := true;
if ( not xdwdsShipTo.IsEmpty ) then
btnShipDelete.Enabled := true;
btnShipSave.Enabled := false;
btnShipCancel.Enabled := false;
btnShipEdit.Enabled := true;
FViewMain.change := false;
edtName.Enabled := true;
edtShortName.Enabled := true;
edtBillAddress.Enabled := true;
edtBillCity.Enabled := true;
edtBillState.Enabled := true;
edtBillZip.Enabled := true;
edtBillContact.Enabled := true;
dtpStartDate.Enabled := true;
dtpEndDate.Enabled := true;
edtFax.Enabled := true;
edtPhone.enabled := true;
wdblcbRep.Enabled := true;
end;
procedure TFViewAddCustomer.wdbtcAddressesDblClickCell(Sender: TObject; ACol, procedure TFViewAddCustomer.wdbtcAddressesDblClickCell(Sender: TObject; ACol,
ARow: Integer); ARow: Integer);
// Retrieves the shipping address allowing it to be edited. // Retrieves the shipping address allowing it to be edited.
begin begin
xdwdsShipTo.Locate('ship_id', wdbtcAddresses.Cells[0, ARow], []); xdwdsShipTo.Locate('ship_id', wdbtcAddresses.Cells[0, ARow], []);
edtShippingAddress.Text := xdwdsShipTo.FieldByName('shipping_address').AsString; edtShippingAddress.Text := xdwdsShipTo.FieldByName('shipping_address').AsString;
edtShippingCity.Text := xdwdsShipTo.FieldByName('city').AsString; edtShippingCity.Text := xdwdsShipTo.FieldByName('city').AsString;
edtShippingState.Text := xdwdsShipTo.FieldByName('state').AsString; edtShippingState.Text := xdwdsShipTo.FieldByName('state').AsString;
edtShippingZip.Text := xdwdsShipTo.FieldByName('zip').AsString; edtShippingZip.Text := xdwdsShipTo.FieldByName('zip').AsString;
edtShippingContact.Text := xdwdsShipTo.FieldByName('contact').AsString; edtShippingContact.Text := xdwdsShipTo.FieldByName('contact').AsString;
memoShipBlock.Text := xdwdsShipTo.FieldByName('ADDRESS').AsString; memoShipBlock.Text := xdwdsShipTo.FieldByName('ADDRESS').AsString;
edtFirstLine.Text := memoShipBlock.Lines[0];
if memoShipBlock.Lines.Count > 0 then
edtFirstLine.Text := memoShipBlock.Lines[0]
else
edtFirstLine.Text := '';
btnShipEdit.Enabled := true;
end; end;
procedure TFViewAddCustomer.SendCustomerToServer(); procedure TFViewAddCustomer.SendCustomerToServer();
// Creates the customer JSON and then sends it to the server. // Creates the customer JSON and then sends it to the server.
var var
...@@ -489,112 +438,79 @@ begin ...@@ -489,112 +438,79 @@ begin
AddressEditMode(); AddressEditMode();
end; end;
procedure TFViewAddCustomer.btnShipDeleteClick(Sender: TObject);
// Allows the user to delete a Shipping Address.
begin
document.getElementById('modal_body').innerHTML := 'Are you sure you want to delete this address?';
document.getElementById('btn_confirm_cancel').innerText := 'Cancel';
document.getElementById('btn_confirm_delete').innerText := 'Delete';
asm
var confirmationModal = new bootstrap.Modal(document.getElementById('confirmation_modal'), {
keyboard: false });
confirmationModal.show();
end;
end;
procedure TFViewAddCustomer.btnShipEditClick(Sender: TObject);
// Sets the form into AddressEdit mode.
begin
shipmode := 'EDIT';
AddressEditMode();
end;
procedure TFViewAddCustomer.btnShipSaveClick(Sender: TObject); procedure TFViewAddCustomer.btnShipCancelClick(Sender: TObject);
// After Verifying the Address it sends the address down to the server.
begin begin
if VerifyAddress() then ShowConfirmationModal(
'Are you sure you want to cancel address editing?',
'Yes',
'No',
procedure(confirmed: Boolean)
begin
if confirmed then
begin begin
SendAddressToServer(); shipmode := '';
Clear(); Clear();
ViewMode(); ViewMode();
end; end;
end);
end; end;
procedure TFViewAddCustomer.btn_confirm_deleteClick(Sender: TObject);
// Modal Confirmation button. Checks if the user is cancelling changes, or procedure TFViewAddCustomer.btnShipDeleteClick(Sender: TObject);
// Deleting a shipping address/ customer
begin begin
FViewMain.change := false; ShowConfirmationModal(
if document.getElementById('btn_confirm_delete').innerText = 'Yes' then 'Are you sure you want to delete this address?',
// checks if the user is canceling or deleting 'Delete',
begin 'Cancel',
if CustomerID <> '' then procedure(confirmed: Boolean)
begin
FViewMain.ViewAddCustomer(CustomerID, 'Failure:Changes Discarded');
end
else
FViewMain.ShowForm(TFViewCustomers);
end
else if document.getElementById('modal_body').innerHTML.Contains('customer') then
// checks if the user is deleting a customer or a shipping address
begin begin
asm if confirmed then
var confirmationModal = new bootstrap.Modal(document.getElementById('confirmation_modal'), {
keyboard: false });
confirmationModal.hide();
end;
Utils.ShowSpinner('spinner');
//delCustomer();
tmrReturn.Enabled := true;
end
else
begin begin
asm
var confirmationModal = new bootstrap.Modal(document.getElementById('confirmation_modal'), {
keyboard: false });
confirmationModal.hide();
end;
Utils.ShowSpinner('spinner'); Utils.ShowSpinner('spinner');
delAddress(); DelAddress();
end; end;
end);
end; end;
class function TFViewAddCustomer.CreateForm(AElementID: string; customerInfo: string; info: string): TWebForm;
// Creates the Add Customer form. Setting the customer id so the customer can be
// Retrieved and the notification to be shown. procedure TFViewAddCustomer.btnShipEditClick(Sender: TObject);
// Sets the form into AddressEdit mode.
begin begin
Application.CreateForm(TFViewAddCustomer, AElementID, Result, shipmode := 'EDIT';
procedure(AForm: TObject) AddressEditMode();
begin end;
with TFViewAddCustomer(AForm) do
[async] procedure TFViewAddCustomer.btnShipSaveClick(Sender: TObject);
begin
if (customerID = '') then
begin begin
TFViewAddCustomer(AForm).customerID := customerInfo; ShowErrorModal('Cannot save address: Customer ID is not set.');
TFViewAddCustomer(AForm).notification := info; Exit;
end; end;
end console.log('Saving address. CustomerID = ' + customerID);
);
if VerifyAddress() then
begin
await(SendAddressToServer);
Clear();
await(GetCustomer); // Ensures xdwdsShipTo is refreshed with server data
ViewMode();
end;
end; end;
procedure TFViewAddCustomer.GetCustomer; procedure TFViewAddCustomer.GetCustomer;
// Retrieves a customer for a given CustomerID. // Retrieves a customer for a given CustomerID.
var var
xdcResponse: TXDataClientResponse; xdcResponse: TXDataClientResponse;
customer : TJSObject; customer : TJSObject;
address: string;
items: TJSObject; items: TJSObject;
ship_block: TStringList; ship_block: TStringList;
begin begin
if CustomerID = '' then xdcResponse := await(XDataWebClient1.RawInvokeAsync('ILookupService.GetCustomer', [customerID]));
begin
mode := 'ADD';
end
else
mode := 'EDIT';
xdcResponse := await(XDataWebClient1.RawInvokeAsync('ILookupService.GetCustomer',
[customerID]));
customer := TJSObject(xdcResponse.Result); customer := TJSObject(xdcResponse.Result);
console.log(customer);
xdwdsUsers.Close; xdwdsUsers.Close;
xdwdsUsers.SetJSONData(customer['USERS']); xdwdsUsers.SetJSONData(customer['USERS']);
...@@ -629,46 +545,8 @@ begin ...@@ -629,46 +545,8 @@ begin
edtFirstLine.Text := memoShipBlock.Lines[0] edtFirstLine.Text := memoShipBlock.Lines[0]
else else
edtFirstLine.Text := ''; edtFirstLine.Text := '';
end; end;
procedure TFViewAddCustomer.WebFormShow(Sender: TObject);
// Sets the form up whenever it is shown.
var
SQL: string;
begin
if customerID = '' then
mode := 'ADD'
else
mode := 'EDIT';
if notification <> '' then
begin
showToast(notification);
end;
if mode = 'ADD' then
EditMode()
else
ViewMode();
getCustomer();
dtpStartDate.Date := 0;
dtpEndDate.Date := 0;
end;
procedure TFViewAddCustomer.XDataWebDataSet1AfterEdit(DataSet: TDataSet);
begin
EditMode();
end;
procedure TFViewAddCustomer.xdwdsShipToAfterEdit(DataSet: TDataSet);
begin
EditMode();
end;
procedure TFViewAddCustomer.tmrReturnTimer(Sender: TObject); procedure TFViewAddCustomer.tmrReturnTimer(Sender: TObject);
// Timer to returnto the customer page because it takes slightly too long to // Timer to returnto the customer page because it takes slightly too long to
// Delete customers causing ghost customers to show up. // Delete customers causing ghost customers to show up.
...@@ -814,4 +692,124 @@ begin ...@@ -814,4 +692,124 @@ begin
end; end;
procedure TFViewAddCustomer.EditMode;
// Enables Customer Fields while disabling shipping address fields.
begin
XDataWebDataSet1.Edit;
FViewMain.change := true;
btnAdd.Enabled := false;
btnDelete.Enabled := false;
btnClose.Enabled := false;
btnSave.Enabled := true;
btnCancel.Enabled := True;
btnEdit.Enabled := false;
// Disable Shipping Address Editting
edtShippingAddress.Enabled := false;
edtShippingCity.Enabled := false;
edtShippingState.Enabled := false;
edtShippingZip.Enabled := false;
edtShippingContact.Enabled := false;
edtFirstLine.Enabled := false;
btnShipDelete.Enabled := false;
btnShipSave.Enabled := false;
btnShipCancel.Enabled := false;
btnShipEdit.Enabled := false;
btnShipAdd.Enabled := false;
lblFormState.Caption := 'Edit Mode';
lblFormState.ElementHandle.classList.remove('text-danger');
lblFormState.ElementHandle.classList.add('text-success');
end;
procedure TFViewAddCustomer.AddressEditMode;
// Enables Shipping Address fields while disabling customer fields.
begin
xdwdsShipTo.Edit;
FViewMain.change := true;
btnDelete.Enabled := false;
btnClose.Enabled := false;
btnSave.Enabled := false;
btnCancel.Enabled := false;
btnEdit.Enabled := false;
btnAdd.Enabled := false;
btnShipDelete.Enabled := false;
btnShipSave.Enabled := true;
btnShipCancel.Enabled := true;
btnShipEdit.Enabled := false;
btnShipAdd.Enabled := false;
edtShippingAddress.Enabled := true;
edtShippingCity.Enabled := true;
edtShippingState.Enabled := true;
edtShippingZip.Enabled := true;
edtShippingContact.Enabled := true;
edtFirstLine.Enabled := true;
edtName.Enabled := false;
edtShortName.Enabled := false;
edtBillAddress.Enabled := false;
edtBillCity.Enabled := false;
edtBillState.Enabled := false;
edtBillZip.Enabled := false;
edtBillContact.Enabled := false;
dtpStartDate.Enabled := false;
dtpEndDate.Enabled := false;
edtFax.Enabled := false;
edtPhone.enabled := false;
wdblcbRep.Enabled := false;
lblFormState.Caption := 'Edit Address';
lblFormState.ElementHandle.classList.remove('text-danger');
lblFormState.ElementHandle.classList.add('text-success');
end;
procedure TFViewAddCustomer.ViewMode;
// Enables Customer Fields while disabling shipping address fields.
begin
btnAdd.Enabled := true;
btnDelete.Enabled := true;
btnClose.Enabled := true;
btnSave.Enabled := false;
btnCancel.Enabled := false;
btnEdit.Enabled := true;
FViewMain.change := false;
btnShipAdd.Enabled := true;
if not xdwdsShipTo.IsEmpty then
begin
btnShipDelete.Enabled := true;
btnShipEdit.Enabled := true;
end
else
begin
btnShipDelete.Enabled := false;
btnShipEdit.Enabled := false;
end;
btnShipSave.Enabled := false;
btnShipCancel.Enabled := false;
edtName.Enabled := true;
edtShortName.Enabled := true;
edtBillAddress.Enabled := true;
edtBillCity.Enabled := true;
edtBillState.Enabled := true;
edtBillZip.Enabled := true;
edtBillContact.Enabled := true;
dtpStartDate.Enabled := true;
dtpEndDate.Enabled := true;
edtFax.Enabled := true;
edtPhone.Enabled := true;
wdblcbRep.Enabled := true;
lblFormState.Caption := 'View Mode';
lblFormState.ElementHandle.classList.remove('text-success');
lblFormState.ElementHandle.classList.add('text-danger');
end;
end. end.
\ No newline at end of file
...@@ -3,7 +3,7 @@ unit Utils; ...@@ -3,7 +3,7 @@ unit Utils;
interface interface
uses uses
System.Classes, SysUtils, JS, Web, WEBLib.Forms, WEBLib.Toast, DateUtils; System.Classes, SysUtils, JS, Web, WEBLib.Forms, WEBLib.Toast, DateUtils, WebLib.Dialogs;
procedure ShowStatusMessage(const AMessage, AClass: string; const AElementId: string); procedure ShowStatusMessage(const AMessage, AClass: string; const AElementId: string);
procedure HideStatusMessage(const AElementId: string); procedure HideStatusMessage(const AElementId: string);
...@@ -14,6 +14,7 @@ function CalculateAge(DateOfBirth: TDateTime): Integer; ...@@ -14,6 +14,7 @@ function CalculateAge(DateOfBirth: TDateTime): Integer;
function FormatPhoneNumber(PhoneNumber: string): string; function FormatPhoneNumber(PhoneNumber: string): string;
procedure ApplyReportTitle(CurrentReportType: string); procedure ApplyReportTitle(CurrentReportType: string);
procedure ShowToast(const MessageText: string; const ToastType: string = 'success'); procedure ShowToast(const MessageText: string; const ToastType: string = 'success');
procedure ShowConfirmationModal(msg, leftLabel, rightLabel: string; ConfirmProc: TProc<Boolean>);
// function FormatDollarValue(ValueStr: string): string; // function FormatDollarValue(ValueStr: string): string;
...@@ -67,6 +68,13 @@ begin ...@@ -67,6 +68,13 @@ begin
SpinnerElement := TJSHTMLElement(document.getElementById(SpinnerID)); SpinnerElement := TJSHTMLElement(document.getElementById(SpinnerID));
if Assigned(SpinnerElement) then if Assigned(SpinnerElement) then
begin begin
// Move spinner to the <body> if it's not already there
asm
if (SpinnerElement.parentNode !== document.body) {
document.body.appendChild(SpinnerElement);
}
end;
SpinnerElement.classList.remove('d-none'); SpinnerElement.classList.remove('d-none');
SpinnerElement.classList.add('d-block'); SpinnerElement.classList.add('d-block');
end; end;
...@@ -84,7 +92,7 @@ begin ...@@ -84,7 +92,7 @@ begin
end; end;
end; end;
// The $IFNDEF WIN32 was recommended by Holger to deal with any modal issues
procedure ShowErrorModal(msg: string); procedure ShowErrorModal(msg: string);
begin begin
asm asm
...@@ -113,6 +121,58 @@ begin ...@@ -113,6 +121,58 @@ begin
end; end;
// ShowConfirmationModal displays a two-button modal with custom labels.
// Params:
// - messageText: text shown in the modal body
// - leftButtonText: label for the left button (e.g., "Cancel")
// - rightButtonText: label for the right button (e.g., "Delete")
// - callback: procedure(confirmed: Boolean); confirmed = True if right button clicked
//
// Example:
// ShowConfirmationModal('Delete this?', 'Cancel', 'Delete',
// procedure(confirmed: Boolean)
// begin
// if confirmed then DeleteOrder();
// end);
procedure ShowConfirmationModal(msg, leftLabel, rightLabel: string; ConfirmProc: TProc<Boolean>);
var
modal, body, btnLeft, btnRight: TJSHTMLElement;
bsModal: JSValue;
begin
asm
modal = document.getElementById('main_confirmation_modal');
body = document.getElementById('main_modal_body');
btnLeft = document.getElementById('btn_confirm_left');
btnRight = document.getElementById('btn_confirm_right');
if (body) body.innerText = msg;
if (btnLeft) btnLeft.innerText = leftLabel;
if (btnRight) btnRight.innerText = rightLabel;
if (modal && modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
btnLeft.onclick = null;
btnRight.onclick = null;
btnLeft.onclick = function () {
bsModal.hide();
ConfirmProc(true); // user confirmed
};
btnRight.onclick = function () {
bsModal.hide();
ConfirmProc(false); // user canceled
};
bsModal = new bootstrap.Modal(modal, { keyboard: false });
bsModal.show();
end;
end;
function CalculateAge(DateOfBirth: TDateTime): Integer; function CalculateAge(DateOfBirth: TDateTime): Integer;
var var
Today, BirthDate: TJSDate; Today, BirthDate: TJSDate;
......
object FViewCustomers: TFViewCustomers object FViewCustomers: TFViewCustomers
Width = 640 Width = 640
Height = 480 Height = 480
CSSLibrary = cssBootstrap
ElementFont = efCSS
OnCreate = WebFormCreate OnCreate = WebFormCreate
object lblEntries: TWebLabel object lblEntries: TWebLabel
Left = 12 Left = 12
......
...@@ -157,6 +157,12 @@ object FViewMain: TFViewMain ...@@ -157,6 +157,12 @@ object FViewMain: TFViewMain
ChildOrder = 3 ChildOrder = 3
ElementFont = efCSS ElementFont = efCSS
ElementPosition = epIgnore ElementPosition = epIgnore
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = []
ParentFont = False
Role = 'null' Role = 'null'
TabOrder = 0 TabOrder = 0
end end
...@@ -167,12 +173,14 @@ object FViewMain: TFViewMain ...@@ -167,12 +173,14 @@ object FViewMain: TFViewMain
Height = 83 Height = 83
ElementID = 'main.debugmemo' ElementID = 'main.debugmemo'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Lines.Strings = ( Lines.Strings = (
'WebMemo1') 'WebMemo1')
Role = 'null' Role = 'null'
SelLength = 0 SelLength = 0
SelStart = 0 SelStart = 0
ShowFocus = False
Visible = False Visible = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
......
...@@ -95,25 +95,25 @@ ...@@ -95,25 +95,25 @@
Please contact EMSystems to solve the issue. Please contact EMSystems to solve the issue.
</div> </div>
<div class="modal-footer justify-content-center"> <div class="modal-footer justify-content-center">
<button type="button" id="btn_modal_restart" class="btn btn-primary">Restart WebApp</button> <button type="button" id="btn_modal_restart" class="btn btn-primary">Back to Orders</button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade" id="confirmation_modal" tabindex="-1" aria-labelledby="confirmation_modal_label" aria-hidden="true"> <div class="modal fade" id="main_confirmation_modal" tabindex="-1" aria-hidden="true">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content shadow-lg"> <div class="modal-content shadow-lg">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title" id="confirmation_modal_label">Confirm</h5> <h5 class="modal-title">Confirm</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </div>
<div class="modal-body fs-6 fw-bold" id="modal_body"> <div class="modal-body fw-bold" id="main_modal_body">
Are you sure you want to delete this order? Placeholder text
</div> </div>
<div class="modal-footer justify-content-center"> <div class="modal-footer justify-content-center">
<button type="button" class="btn btn-secondary me-3" data-bs-dismiss="modal" id="btn_confirm_cancel">Cancel</button> <button type="button" class="btn btn-primary me-3" id="btn_confirm_left">Cancel</button>
<button type="button" class="btn btn-primary" data-bs-dismiss="modal" id="btn_confirm_delete">Delete</button> <button type="button" class="btn btn-secondary" id="btn_confirm_right">Confirm</button>
</div> </div>
</div> </div>
</div> </div>
...@@ -127,3 +127,4 @@ ...@@ -127,3 +127,4 @@
...@@ -47,7 +47,6 @@ type ...@@ -47,7 +47,6 @@ type
function GetUserInfo: string; function GetUserInfo: string;
procedure setActive(page: string); procedure setActive(page: string);
procedure ConfirmLogout; procedure ConfirmLogout;
procedure OnConfirmLogout(Event: TJSEvent);
public public
{ Public declarations } { Public declarations }
class procedure Display(LogoutProc: TLogoutProc); class procedure Display(LogoutProc: TLogoutProc);
...@@ -118,7 +117,7 @@ begin ...@@ -118,7 +117,7 @@ begin
setActive('Customers'); setActive('Customers');
end end
else else
ShowErrorModal('Please Save or Cancel your changes'); ShowToast('Please Save or Cancel your changes', 'danger');
end; end;
procedure TFViewMain.lblHomeClick(Sender: TObject); procedure TFViewMain.lblHomeClick(Sender: TObject);
...@@ -130,12 +129,11 @@ begin ...@@ -130,12 +129,11 @@ begin
//setActive('Home'); //setActive('Home');
end end
else else
ShowErrorModal('Please Save or Cancel your changes'); ShowToast('Please Save or Cancel your changes', 'danger');
end; end;
procedure TFViewMain.lblordersClick(Sender: TObject); procedure TFViewMain.lblordersClick(Sender: TObject);
begin begin
console.log(change);
if ( not ( change ) ) then if ( not ( change ) ) then
begin begin
ShowForm(TFViewOrders); ShowForm(TFViewOrders);
...@@ -143,7 +141,7 @@ begin ...@@ -143,7 +141,7 @@ begin
setActive('Orders'); setActive('Orders');
end end
else else
ShowErrorModal('Please Save or Cancel your changes'); ShowToast('Please Save or Cancel your changes', 'danger');
end; end;
procedure TFViewMain.lblQuickbooksClick(Sender: TObject); procedure TFViewMain.lblQuickbooksClick(Sender: TObject);
...@@ -155,7 +153,7 @@ begin ...@@ -155,7 +153,7 @@ begin
setActive('QuickBooks'); setActive('QuickBooks');
end end
else else
ShowErrorModal('Please Save or Cancel your changes'); ShowToast('Please Save or Cancel your changes', 'danger');
end; end;
procedure TFViewMain.lblUsersClick(Sender: TObject); procedure TFViewMain.lblUsersClick(Sender: TObject);
...@@ -166,7 +164,7 @@ begin ...@@ -166,7 +164,7 @@ begin
lblAppTitle.Caption := 'Koehler-Gibson Users'; lblAppTitle.Caption := 'Koehler-Gibson Users';
end end
else else
ShowErrorModal('Please Save or Cancel your changes'); ShowToast('Please Save or Cancel your changes', 'danger');
end; end;
procedure TFViewMain.lblItemsListClick(Sender: TObject); procedure TFViewMain.lblItemsListClick(Sender: TObject);
...@@ -178,7 +176,7 @@ begin ...@@ -178,7 +176,7 @@ begin
setActive('Items'); setActive('Items');
end end
else else
ShowErrorModal('Please Save or Cancel your changes'); ShowToast('Please Save or Cancel your changes', 'danger');
end; end;
procedure TFViewMain.setActive(page: string); procedure TFViewMain.setActive(page: string);
...@@ -210,47 +208,22 @@ begin ...@@ -210,47 +208,22 @@ begin
ConfirmLogout; ConfirmLogout;
end; end;
procedure TFViewMain.ConfirmLogout; procedure TFViewMain.ConfirmLogout;
var
yesBtn: TJSElement;
begin begin
document.getElementById('modal_body').innerHTML := 'Are you sure you want to log out?'; ShowConfirmationModal(
document.getElementById('btn_confirm_cancel').innerText := 'No'; 'Are you sure you want to log out?',
document.getElementById('btn_confirm_delete').innerText := 'Yes'; 'Yes',
'No',
asm procedure(confirmed: Boolean)
var modal = document.getElementById('confirmation_modal');
if (modal && modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
end;
// Detach any existing click handler (optional cleanup if reused often)
yesBtn := document.getElementById('btn_confirm_delete');
if Assigned(yesBtn) then
begin begin
TJSElement(yesBtn).removeEventListener('click', @OnConfirmLogout); if confirmed and Assigned(FLogoutProc) then
TJSElement(yesBtn).addEventListener('click', @OnConfirmLogout);
end;
asm
var confirmationModal = new bootstrap.Modal(document.getElementById('confirmation_modal'), {
keyboard: false
});
confirmationModal.show();
end;
end;
procedure TFViewMain.OnConfirmLogout(Event: TJSEvent);
begin
if Assigned(FLogoutProc) then
FLogoutProc(''); FLogoutProc('');
end
);
end; end;
procedure TFViewMain.wllblUserProfileClick(Sender: TObject); procedure TFViewMain.wllblUserProfileClick(Sender: TObject);
begin begin
ShowCrudForm(TFViewUserProfile); ShowCrudForm(TFViewUserProfile);
......
...@@ -8,7 +8,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -8,7 +8,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
OnCreate = WebFormCreate OnCreate = WebFormCreate
OnShow = WebFormShow
object WebLabel1: TWebLabel object WebLabel1: TWebLabel
Left = 34 Left = 34
Top = 188 Top = 188
...@@ -99,6 +98,15 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -99,6 +98,15 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
Visible = False Visible = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object lblFormState: TWebLabel
Left = 18
Top = 16
Width = 3
Height = 14
ElementID = 'lbl_form_state'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
object dtpOrderDate: TWebDateTimePicker object dtpOrderDate: TWebDateTimePicker
Left = 22 Left = 22
Top = 218 Top = 218
...@@ -112,7 +120,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -112,7 +120,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ElementPosition = epRelative ElementPosition = epRelative
Role = 'null' Role = 'null'
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object dtpProofDate: TWebDateTimePicker object dtpProofDate: TWebDateTimePicker
Left = 22 Left = 22
...@@ -127,7 +134,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -127,7 +134,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ElementPosition = epRelative ElementPosition = epRelative
Role = 'null' Role = 'null'
Text = '' Text = ''
OnChange = dtpProofDateChange
end end
object dtpShipDate: TWebDateTimePicker object dtpShipDate: TWebDateTimePicker
Left = 22 Left = 22
...@@ -142,7 +148,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -142,7 +148,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ElementPosition = epRelative ElementPosition = epRelative
Role = 'null' Role = 'null'
Text = '' Text = ''
OnChange = dtpShipDateChange
end end
object dtpArtDue: TWebDateTimePicker object dtpArtDue: TWebDateTimePicker
Left = 24 Left = 24
...@@ -157,7 +162,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -157,7 +162,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ElementPosition = epRelative ElementPosition = epRelative
Role = 'null' Role = 'null'
Text = '' Text = ''
OnChange = dtpMountDueChange
end end
object dtpPlateDue: TWebDateTimePicker object dtpPlateDue: TWebDateTimePicker
Left = 24 Left = 24
...@@ -172,7 +176,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -172,7 +176,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ElementPosition = epRelative ElementPosition = epRelative
Role = 'null' Role = 'null'
Text = '' Text = ''
OnChange = dtpPlateDueChange
end end
object dtpMountDue: TWebDateTimePicker object dtpMountDue: TWebDateTimePicker
Left = 24 Left = 24
...@@ -187,7 +190,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -187,7 +190,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ElementPosition = epRelative ElementPosition = epRelative
Role = 'null' Role = 'null'
Text = '' Text = ''
OnChange = dtpMountDueChange
end end
object btnAddColor: TWebButton object btnAddColor: TWebButton
Left = 658 Left = 658
...@@ -200,6 +202,7 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -200,6 +202,7 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ElementPosition = epRelative ElementPosition = epRelative
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
TabStop = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = btnAddColorClick OnClick = btnAddColorClick
end end
...@@ -215,8 +218,9 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -215,8 +218,9 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
Date = 45748.499176770830000000 Date = 45748.499176770830000000
ElementPosition = epRelative ElementPosition = epRelative
Role = 'null' Role = 'null'
ShowFocus = False
TabStop = False
Text = '' Text = ''
OnChange = dtpApprovedDateChange
end end
object edtCompanyName: TWebDBEdit object edtCompanyName: TWebDBEdit
Left = 18 Left = 18
...@@ -232,7 +236,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -232,7 +236,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
MaxLength = 90 MaxLength = 90
WidthStyle = ssAuto WidthStyle = ssAuto
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'NAME' DataField = 'NAME'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -248,7 +251,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -248,7 +251,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
DataField = 'SHORT_NAME' DataField = 'SHORT_NAME'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -264,7 +266,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -264,7 +266,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'inQuickBooks' DataField = 'inQuickBooks'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -280,12 +281,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -280,12 +281,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'staff_fields_ship_via' DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
object edtQuantity: TWebDBEdit object edtQuantity: TWebDBEdit
Left = 24 Left = 26
Top = 346 Top = 346
Width = 121 Width = 121
Height = 22 Height = 22
...@@ -296,7 +296,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -296,7 +296,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
DataField = 'staff_fields_quantity' DataField = 'staff_fields_quantity'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -311,7 +310,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -311,7 +310,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
DataField = 'staff_fields_price' DataField = 'staff_fields_price'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -327,7 +325,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -327,7 +325,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
DataField = 'staff_fields_invoice_to' DataField = 'staff_fields_invoice_to'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -343,7 +340,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -343,7 +340,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
DataField = 'staff_fields_po_number' DataField = 'staff_fields_po_number'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -359,7 +355,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -359,7 +355,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = edtJobNameChange
DataField = 'staff_fields_job_name' DataField = 'staff_fields_job_name'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -375,7 +370,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -375,7 +370,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpPlateDueChange
DataField = 'supplied_by_customer_other' DataField = 'supplied_by_customer_other'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -391,7 +385,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -391,7 +385,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpPlateDueChange
DataField = 'layout_cad_file' DataField = 'layout_cad_file'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -407,7 +400,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -407,7 +400,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpPlateDueChange
DataField = 'layout_around_no' DataField = 'layout_around_no'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -423,7 +415,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -423,7 +415,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpMountDueChange
DataField = 'layout_accross_no' DataField = 'layout_accross_no'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -439,7 +430,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -439,7 +430,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpMountDueChange
DataField = 'layout_die_cut_no' DataField = 'layout_die_cut_no'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -455,7 +445,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -455,7 +445,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpMountDueChange
DataField = 'layout_rcs_d' DataField = 'layout_rcs_d'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -471,7 +460,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -471,7 +460,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'layout_rcs_w' DataField = 'layout_rcs_w'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -487,7 +475,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -487,7 +475,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'layout_rsc_l' DataField = 'layout_rsc_l'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -502,8 +489,8 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -502,8 +489,8 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ElementPosition = epRelative ElementPosition = epRelative
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpProofDateChange
DataField = 'mounting_custom_adhesive' DataField = 'mounting_custom_adhesive'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -519,7 +506,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -519,7 +506,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpProofDateChange
DataField = 'mounting_custom_backing' DataField = 'mounting_custom_backing'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -535,7 +521,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -535,7 +521,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpPlateDueChange
DataField = 'mounting_standard_setup' DataField = 'mounting_standard_setup'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -551,7 +536,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -551,7 +536,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpProofDateChange
DataField = 'mounting_strip_mount' DataField = 'mounting_strip_mount'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -567,7 +551,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -567,7 +551,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpProofDateChange
DataField = 'mounting_loose' DataField = 'mounting_loose'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -583,23 +566,23 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -583,23 +566,23 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpShipDateChange
DataField = 'layout_rsc_style' DataField = 'layout_rsc_style'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
object edtProofOther: TWebDBEdit object edtProofOther: TWebDBEdit
Left = 666 Left = 658
Top = 458 Top = 458
Width = 121 Width = 121
Height = 22 Height = 22
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtproofother' ElementID = 'edtproofother'
ElementPosition = epRelative ElementPosition = epRelative
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
DataField = 'proofing_other' DataField = 'proofing_other'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -608,14 +591,15 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -608,14 +591,15 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
Top = 328 Top = 328
Width = 121 Width = 121
Height = 22 Height = 22
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtproofshipto' ElementID = 'edtproofshipto'
ElementPosition = epRelative ElementPosition = epRelative
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
DataField = 'proofing_ship_to' DataField = 'proofing_ship_to'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -624,14 +608,15 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -624,14 +608,15 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
Top = 300 Top = 300
Width = 121 Width = 121
Height = 22 Height = 22
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtemailattn' ElementID = 'edtemailattn'
ElementPosition = epRelative ElementPosition = epRelative
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
DataField = 'proofing_e_mail_attn' DataField = 'proofing_e_mail_attn'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -640,14 +625,15 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -640,14 +625,15 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
Top = 272 Top = 272
Width = 121 Width = 121
Height = 22 Height = 22
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtproofemail' ElementID = 'edtproofemail'
ElementPosition = epRelative ElementPosition = epRelative
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
DataField = 'proofing_e_mail' DataField = 'proofing_e_mail'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -656,14 +642,15 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -656,14 +642,15 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
Top = 244 Top = 244
Width = 121 Width = 121
Height = 22 Height = 22
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtfaxattn' ElementID = 'edtfaxattn'
ElementPosition = epRelative ElementPosition = epRelative
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
DataField = 'proofing_fax_attn' DataField = 'proofing_fax_attn'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -672,14 +659,15 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -672,14 +659,15 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
Top = 219 Top = 219
Width = 121 Width = 121
Height = 22 Height = 22
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtfax' ElementID = 'edtfax'
ElementPosition = epRelative ElementPosition = epRelative
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
DataField = 'proofing_fax' DataField = 'proofing_fax'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -694,8 +682,8 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -694,8 +682,8 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ElementPosition = epRelative ElementPosition = epRelative
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
DataField = 'colors_clemson' DataField = 'colors_clemson'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -710,8 +698,8 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -710,8 +698,8 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ElementPosition = epRelative ElementPosition = epRelative
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
DataField = 'colors_cross_hairs' DataField = 'colors_cross_hairs'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -726,8 +714,8 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -726,8 +714,8 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ElementPosition = epRelative ElementPosition = epRelative
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
DataField = 'colors_machine_ident' DataField = 'colors_machine_ident'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -742,8 +730,8 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -742,8 +730,8 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ElementPosition = epRelative ElementPosition = epRelative
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpProofDateChange
DataField = 'colors_cylinder_size' DataField = 'colors_cylinder_size'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -752,14 +740,15 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -752,14 +740,15 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
Top = 105 Top = 105
Width = 121 Width = 121
Height = 22 Height = 22
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtjobnumber' ElementID = 'edtjobnumber'
ElementPosition = epRelative ElementPosition = epRelative
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
DataField = 'plates_job_number' DataField = 'plates_job_number'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -768,14 +757,16 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -768,14 +757,16 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
Top = 480 Top = 480
Width = 113 Width = 113
Height = 22 Height = 22
TabStop = False
Caption = 'Art Approved As Is' Caption = 'Art Approved As Is'
ChildOrder = 79 ChildOrder = 79
ElementID = 'cbartapprovedasis' ElementID = 'cbartapprovedasis'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpProofDateChange
DataField = 'proofing_art_approved_as_is' DataField = 'proofing_art_approved_as_is'
DataSource = WebDataSource1 DataSource = WebDataSource1
ValueChecked = 'True' ValueChecked = 'True'
...@@ -786,14 +777,16 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -786,14 +777,16 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
Top = 430 Top = 430
Width = 113 Width = 113
Height = 22 Height = 22
TabStop = False
Caption = 'PDF File' Caption = 'PDF File'
ChildOrder = 79 ChildOrder = 79
ElementID = 'cbpdffile' ElementID = 'cbpdffile'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpProofDateChange
DataField = 'proofing_pdf_file' DataField = 'proofing_pdf_file'
DataSource = WebDataSource1 DataSource = WebDataSource1
ValueChecked = 'True' ValueChecked = 'True'
...@@ -804,14 +797,16 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -804,14 +797,16 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
Top = 406 Top = 406
Width = 113 Width = 113
Height = 22 Height = 22
TabStop = False
Caption = 'Wide Format' Caption = 'Wide Format'
ChildOrder = 79 ChildOrder = 79
ElementID = 'cbwideformat' ElementID = 'cbwideformat'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpOrderDateChange
DataField = 'proofing_wide_format' DataField = 'proofing_wide_format'
DataSource = WebDataSource1 DataSource = WebDataSource1
ValueChecked = 'True' ValueChecked = 'True'
...@@ -822,14 +817,16 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -822,14 +817,16 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
Top = 382 Top = 382
Width = 113 Width = 113
Height = 22 Height = 22
TabStop = False
Caption = 'Print Card' Caption = 'Print Card'
ChildOrder = 79 ChildOrder = 79
ElementID = 'cbprintcard' ElementID = 'cbprintcard'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpPlateDueChange
DataField = 'proofing_print_card' DataField = 'proofing_print_card'
DataSource = WebDataSource1 DataSource = WebDataSource1
ValueChecked = 'True' ValueChecked = 'True'
...@@ -840,14 +837,16 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -840,14 +837,16 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
Top = 356 Top = 356
Width = 113 Width = 113
Height = 22 Height = 22
TabStop = False
Caption = 'Full Size Panel' Caption = 'Full Size Panel'
ChildOrder = 79 ChildOrder = 79
ElementID = 'cbfullsizepanel' ElementID = 'cbfullsizepanel'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpPlateDueChange
DataField = 'proofing_full_size_panel' DataField = 'proofing_full_size_panel'
DataSource = WebDataSource1 DataSource = WebDataSource1
ValueChecked = 'True' ValueChecked = 'True'
...@@ -858,14 +857,15 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -858,14 +857,15 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
Top = 185 Top = 185
Width = 121 Width = 121
Height = 22 Height = 22
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 78 ChildOrder = 78
ElementID = 'edtspecialinstructions' ElementID = 'edtspecialinstructions'
ElementPosition = epRelative ElementPosition = epRelative
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
HideSelection = False HideSelection = False
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
DataField = 'general_special_instructions' DataField = 'general_special_instructions'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -892,10 +892,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -892,10 +892,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ChildOrder = 76 ChildOrder = 76
ElementID = 'edtrefartapdf' ElementID = 'edtrefartapdf'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpShipDateChange
end end
object cbRefArtPrintCard: TWebCheckBox object cbRefArtPrintCard: TWebCheckBox
Left = 316 Left = 316
...@@ -906,10 +907,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -906,10 +907,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ChildOrder = 76 ChildOrder = 76
ElementID = 'edtrefartprintcard' ElementID = 'edtrefartprintcard'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpShipDateChange
end end
object cbExistingCuttingDie: TWebCheckBox object cbExistingCuttingDie: TWebCheckBox
Left = 316 Left = 316
...@@ -920,10 +922,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -920,10 +922,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ChildOrder = 76 ChildOrder = 76
ElementID = 'edtexistingcuttingdie' ElementID = 'edtexistingcuttingdie'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpApprovedDateChange
end end
object cbFTP: TWebCheckBox object cbFTP: TWebCheckBox
Left = 320 Left = 320
...@@ -934,10 +937,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -934,10 +937,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ChildOrder = 76 ChildOrder = 76
ElementID = 'cbftp' ElementID = 'cbftp'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpApprovedDateChange
end end
object cbSampleCarton: TWebCheckBox object cbSampleCarton: TWebCheckBox
Left = 316 Left = 316
...@@ -948,10 +952,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -948,10 +952,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ChildOrder = 76 ChildOrder = 76
ElementID = 'cbsampleCarton' ElementID = 'cbsampleCarton'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpApprovedDateChange
end end
object cbPlates: TWebCheckBox object cbPlates: TWebCheckBox
Left = 316 Left = 316
...@@ -962,10 +967,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -962,10 +967,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ChildOrder = 76 ChildOrder = 76
ElementID = 'cbplates' ElementID = 'cbplates'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpApprovedDateChange
end end
object cbColorCopy: TWebCheckBox object cbColorCopy: TWebCheckBox
Left = 316 Left = 316
...@@ -976,10 +982,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -976,10 +982,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ChildOrder = 76 ChildOrder = 76
ElementID = 'cbcolorcopy' ElementID = 'cbcolorcopy'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpApprovedDateChange
end end
object cbStripMount: TWebCheckBox object cbStripMount: TWebCheckBox
Left = 496 Left = 496
...@@ -990,10 +997,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -990,10 +997,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ChildOrder = 76 ChildOrder = 76
ElementID = 'cbstripmount' ElementID = 'cbstripmount'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpProofDateChange
end end
object cbFullMount: TWebCheckBox object cbFullMount: TWebCheckBox
Left = 496 Left = 496
...@@ -1004,10 +1012,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -1004,10 +1012,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ChildOrder = 76 ChildOrder = 76
ElementID = 'cbfullmount' ElementID = 'cbfullmount'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpApprovedDateChange
end end
object cbStickyBak: TWebCheckBox object cbStickyBak: TWebCheckBox
Left = 496 Left = 496
...@@ -1018,10 +1027,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -1018,10 +1027,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ChildOrder = 76 ChildOrder = 76
ElementID = 'cbstickybak' ElementID = 'cbstickybak'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpApprovedDateChange
end end
object cbLoose: TWebCheckBox object cbLoose: TWebCheckBox
Left = 496 Left = 496
...@@ -1032,10 +1042,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -1032,10 +1042,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ChildOrder = 76 ChildOrder = 76
ElementID = 'cbloose' ElementID = 'cbloose'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpApprovedDateChange
end end
object cbExcaliburDie: TWebCheckBox object cbExcaliburDie: TWebCheckBox
Left = 496 Left = 496
...@@ -1046,10 +1057,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -1046,10 +1057,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ChildOrder = 76 ChildOrder = 76
ElementID = 'cbexcaliburdie' ElementID = 'cbexcaliburdie'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpShipDateChange
end end
object WebDBComboBox1: TWebDBComboBox object WebDBComboBox1: TWebDBComboBox
Left = 26 Left = 26
...@@ -1076,10 +1088,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -1076,10 +1088,11 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ChildOrder = 75 ChildOrder = 75
ElementID = 'edtemail' ElementID = 'edtemail'
ElementPosition = epRelative ElementPosition = epRelative
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpApprovedDateChange
end end
object btnCancel: TWebButton object btnCancel: TWebButton
Left = 764 Left = 764
...@@ -1120,8 +1133,9 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -1120,8 +1133,9 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ElementPosition = epRelative ElementPosition = epRelative
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
TabStop = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
ItemIndex = -1 ItemIndex = -1
Items.Strings = ( Items.Strings = (
'PhotoPolymer' 'PhotoPolymer'
...@@ -1131,15 +1145,16 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -1131,15 +1145,16 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
end end
object WebDBComboBox4: TWebDBComboBox object WebDBComboBox4: TWebDBComboBox
Left = 833 Left = 833
Top = 48 Top = 49
Width = 145 Width = 145
Height = 22 Height = 22
ElementID = 'wcbthickness' ElementID = 'wcbthickness'
ElementPosition = epRelative ElementPosition = epRelative
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
ShowFocus = False
TabStop = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpApprovedDateChange
ItemIndex = -1 ItemIndex = -1
Items.Strings = ( Items.Strings = (
'.250' '.250'
...@@ -1211,18 +1226,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -1211,18 +1226,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object btn_modal_confirm: TWebButton
Left = 1094
Top = 414
Width = 96
Height = 25
Caption = 'Delete'
ChildOrder = 82
ElementID = 'btn_confirm_delete'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
OnClick = btn_modal_confirmClick
end
object btnEdit: TWebButton object btnEdit: TWebButton
Left = 1202 Left = 1202
Top = 560 Top = 560
...@@ -1256,6 +1259,7 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -1256,6 +1259,7 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
ChildOrder = 85 ChildOrder = 85
ElementID = 'btnaddaddress' ElementID = 'btnaddaddress'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
TabStop = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = WebButton2Click OnClick = WebButton2Click
end end
...@@ -1264,12 +1268,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -1264,12 +1268,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
Left = 1014 Left = 1014
Top = 44 Top = 44
end end
object tmrScrollTop: TWebTimer
Interval = 100
OnTimer = tmrScrollTopTimer
Left = 1176
Top = 256
end
object XDataWebDataSet1: TXDataWebDataSet object XDataWebDataSet1: TXDataWebDataSet
BeforePost = XDataWebDataSet1BeforePost BeforePost = XDataWebDataSet1BeforePost
Connection = DMConnection.ApiConnection Connection = DMConnection.ApiConnection
...@@ -1563,17 +1561,18 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -1563,17 +1561,18 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
end end
end end
object WebDataSource1: TWebDataSource object WebDataSource1: TWebDataSource
AutoEdit = False
DataSet = XDataWebDataSet1 DataSet = XDataWebDataSet1
Left = 1176 Left = 1176
Top = 182 Top = 182
end end
object wdsShipTo: TWebDataSource object wdsShipTo: TWebDataSource
AutoEdit = False
DataSet = xdwdsShipTo DataSet = xdwdsShipTo
Left = 1090 Left = 1090
Top = 124 Top = 124
end end
object xdwdsShipTo: TXDataWebDataSet object xdwdsShipTo: TXDataWebDataSet
AfterEdit = xdwdsShipToAfterEdit
Left = 1096 Left = 1096
Top = 40 Top = 40
object xdwdsShipToADDRESS: TStringField object xdwdsShipToADDRESS: TStringField
...@@ -1581,12 +1580,12 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -1581,12 +1580,12 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
end end
end end
object wdsQBItem: TWebDataSource object wdsQBItem: TWebDataSource
AutoEdit = False
DataSet = xdwdsQBItem DataSet = xdwdsQBItem
Left = 1172 Left = 1172
Top = 128 Top = 128
end end
object xdwdsQBItem: TXDataWebDataSet object xdwdsQBItem: TXDataWebDataSet
AfterEdit = xdwdsQBItemAfterEdit
Left = 1174 Left = 1174
Top = 38 Top = 38
object xdwdsQBItemname: TStringField object xdwdsQBItemname: TStringField
......
<nav class="navbar navbar-expand navbar-light bg-light border-light sticky-top" style="z-index: 100;"> <nav class="navbar navbar-expand navbar-light bg-light border-light sticky-top" style="z-index: 100;">
<div class="container-fluid ps-0"> <div class="container-fluid d-flex align-items-center ps-0 pe-0">
<ul class="navbar-nav me-auto ps-2">
<!-- Left-aligned label -->
<div class="me-auto ps-3">
<label id="lbl_form_state" class="form-label mb-0 fw-bold text-uppercase text-nowrap text-danger" style="font-size: 16px;">Test</label>
</div>
<!-- Right-aligned buttons -->
<ul class="navbar-nav ms-auto pe-2 mb-0">
<li class="nav-item pe-2"> <li class="nav-item pe-2">
<button id="btnadd" class="btn btn-primary btn-sm">Add</button> <button id="btnadd" class="btn btn-primary btn-sm">Add</button>
</li> </li>
...@@ -27,6 +33,7 @@ ...@@ -27,6 +33,7 @@
<button id="btnclose" class="btn btn-primary btn-sm">Close</button> <button id="btnclose" class="btn btn-primary btn-sm">Close</button>
</li> </li>
</ul> </ul>
</div> </div>
</nav> </nav>
<div class="row mx-5"> <div class="row mx-5">
...@@ -357,23 +364,4 @@ ...@@ -357,23 +364,4 @@
<textarea id="edtspecialinstructions" class="form-control" style=" width: 500px; height: 150px;"></textarea> <textarea id="edtspecialinstructions" class="form-control" style=" width: 500px; height: 150px;"></textarea>
</div> </div>
</div> </div>
</div>
<div class="modal fade" id="confirmation_modal" tabindex="-1" aria-labelledby="confirmation_modal_label" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content shadow-lg">
<div class="modal-header">
<h5 class="modal-title" id="confirmation_modal_label">Confirm</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body fs-6 fw-bold" id="modal_body">
Are you sure you want to delete this order?
</div>
<div class="modal-footer justify-content-center">
<button type="button" class="btn btn-secondary me-3" data-bs-dismiss="modal" id="btn_confirm_cancel">Cancel</button>
<button type="button" class="btn btn-primary" data-bs-dismiss="modal" id="btn_confirm_delete">Delete</button>
</div>
</div>
</div> </div>
</div>
...@@ -71,7 +71,6 @@ type ...@@ -71,7 +71,6 @@ type
cbFullSizePanel: TWebDBCheckBox; cbFullSizePanel: TWebDBCheckBox;
XDataWebClient1: TXDataWebClient; XDataWebClient1: TXDataWebClient;
edtSpecialInstructions: TWebDBEdit; edtSpecialInstructions: TWebDBEdit;
tmrScrollTop: TWebTimer;
XDataWebDataSet1: TXDataWebDataSet; XDataWebDataSet1: TXDataWebDataSet;
WebDataSource1: TWebDataSource; WebDataSource1: TWebDataSource;
btnSave: TWebButton; btnSave: TWebButton;
...@@ -195,16 +194,14 @@ type ...@@ -195,16 +194,14 @@ type
btnDelete: TWebButton; btnDelete: TWebButton;
btnClose: TWebButton; btnClose: TWebButton;
edtOrderNum: TWebEdit; edtOrderNum: TWebEdit;
btn_modal_confirm: TWebButton;
tmrReturn: TWebTimer; tmrReturn: TWebTimer;
btnEdit: TWebButton; btnEdit: TWebButton;
btnAdd: TWebButton; btnAdd: TWebButton;
WebButton2: TWebButton; WebButton2: TWebButton;
lblFormState: TWebLabel;
procedure WebFormCreate(Sender: TObject); procedure WebFormCreate(Sender: TObject);
procedure WebFormShow(Sender: TObject);
[async] procedure getOrder(Order_ID: string); [async] procedure getOrder(Order_ID: string);
[async] procedure getCustomer(customerID: string); [async] procedure getCustomer(customerID: string);
procedure tmrScrollTopTimer(Sender: TObject);
procedure btnAddColorClick(Sender: TObject); procedure btnAddColorClick(Sender: TObject);
procedure addColorRow(num, Color, LPI, Size: string); procedure addColorRow(num, Color, LPI, Size: string);
procedure btnSaveClick(Sender: TObject); procedure btnSaveClick(Sender: TObject);
...@@ -217,41 +214,29 @@ type ...@@ -217,41 +214,29 @@ type
procedure sendOrderToServer(); procedure sendOrderToServer();
procedure btnCloseClick(Sender: TObject); procedure btnCloseClick(Sender: TObject);
procedure btnDeleteClick(Sender: TObject); procedure btnDeleteClick(Sender: TObject);
procedure btn_modal_confirmClick(Sender: TObject);
procedure tmrReturnTimer(Sender: TObject); procedure tmrReturnTimer(Sender: TObject);
function VerifyOrder(): boolean; function VerifyOrder(): boolean;
procedure XDataWebDataSet1AfterEdit(DataSet: TDataSet);
procedure xdwdsShipToAfterEdit(DataSet: TDataSet);
procedure dtpApprovedDateChange(Sender: TObject);
procedure dtpMountDueChange(Sender: TObject);
procedure dtpPlateDueChange(Sender: TObject);
procedure dtpShipDateChange(Sender: TObject);
procedure dtpProofDateChange(Sender: TObject);
procedure dtpOrderDateChange(Sender: TObject);
procedure EditMode(); procedure EditMode();
procedure btnEditClick(Sender: TObject); procedure btnEditClick(Sender: TObject);
procedure btnAddClick(Sender: TObject); procedure btnAddClick(Sender: TObject);
procedure xdwdsQBItemAfterEdit(DataSet: TDataSet);
procedure ViewMode(); procedure ViewMode();
procedure WebButton2Click(Sender: TObject); procedure WebButton2Click(Sender: TObject);
procedure ShowAddAddressForm(); procedure ShowAddAddressForm();
[async] procedure SendAddressToServer(AddressJSON: TJSONObject); [async] procedure SendAddressToServer(AddressJSON: TJSONObject);
procedure edtJobNameChange(Sender: TObject);
procedure XDataWebDataSet1BeforePost(DataSet: TDataSet);
private private
FModalAction: string;
FAgencyCode: string; FAgencyCode: string;
FCurrentReportType: string; FCurrentReportType: string;
FSelectProc: TSelectProc; FSelectProc: TSelectProc;
mode: string;
orderID: string; orderID: string;
customerID: string; customerID: string;
mode: string;
changed: boolean; changed: boolean;
notification: string; notification: string;
procedure RemoveColorRow(Sender: TObject); procedure RemoveColorRow(Sender: TObject);
[async] procedure InitializeForm;
//FJSONProc1: TJSONProc1; //FJSONProc1: TJSONProc1;
public public
class function CreateForm(AElementID, orderInfo, customerInfo, mode, info: string): TWebForm; class function CreateForm(AElementID, orderInfo, customerInfo, modeparam, info: string): TWebForm;
end; end;
var var
...@@ -264,6 +249,44 @@ implementation ...@@ -264,6 +249,44 @@ implementation
uses uses
View.Home, View.Main, View.AddOrder, View.AddAddress, Utils; View.Home, View.Main, View.AddOrder, View.AddAddress, Utils;
class function TFOrderEntryCorrugated.CreateForm(AElementID, orderInfo, customerInfo, modeParam, info: string): TWebForm;
begin
Application.CreateForm(TFOrderEntryCorrugated, AElementID, Result,
procedure(AForm: TObject)
begin
with TFOrderEntryCorrugated(AForm) do
begin
customerID := customerInfo;
orderID := orderInfo;
mode := modeParam;
notification := info;
console.log('Mode in createform: ' + modeParam);
InitializeForm;
end;
end
);
end;
[async] procedure TFOrderEntryCorrugated.InitializeForm;
begin
if mode = 'ADD' then
begin
await(getCustomer(customerID));
EditMode;
end
else
begin
await(getOrder(orderID));
ViewMode;
end;
edtOrderNum.Text := orderID;
if notification <> '' then
ShowToast(notification);
end;
procedure TFOrderEntryCorrugated.sendOrderToServer(); procedure TFOrderEntryCorrugated.sendOrderToServer();
// This can be improved. I was struggling to get the checkboxes to work with // This can be improved. I was struggling to get the checkboxes to work with
...@@ -494,19 +517,20 @@ end; ...@@ -494,19 +517,20 @@ end;
procedure TFOrderEntryCorrugated.btnDeleteClick(Sender: TObject); procedure TFOrderEntryCorrugated.btnDeleteClick(Sender: TObject);
begin begin
FModalAction := 'delete'; ShowConfirmationModal(
document.getElementById('modal_body').innerHTML := 'Are you sure you want to delete this order?'; 'Are you sure you want to delete this order?',
document.getElementById('btn_confirm_cancel').innerText := 'Cancel'; 'Delete',
document.getElementById('btn_confirm_delete').innerText := 'Delete'; 'Cancel',
procedure(confirmed: Boolean)
asm begin
var modal = document.getElementById('confirmation_modal'); if confirmed then
if (modal && modal.parentNode !== document.body) { begin
document.body.appendChild(modal); Utils.ShowSpinner('spinner');
} DelOrder();
var confirmationModal = new bootstrap.Modal(modal, { keyboard: false }); tmrReturn.Enabled := true;
confirmationModal.show();
end; end;
end
);
end; end;
...@@ -526,34 +550,6 @@ begin ...@@ -526,34 +550,6 @@ begin
end; end;
procedure TFOrderEntryCorrugated.btn_modal_confirmClick(Sender: TObject);
begin
if FModalAction = 'cancel' then
begin
FViewMain.change := false;
if OrderID <> '' then
FViewMain.ViewOrderEntryCorrugated(OrderID, '', 'EDIT', 'Failure: Changes Discarded')
else
FViewMain.ViewOrders('');
end
else if FModalAction = 'delete' then
begin
Utils.ShowSpinner('spinner');
asm
var modal = document.getElementById('confirmation_modal');
if (modal && modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
var bsModal = new bootstrap.Modal(modal, { keyboard: false });
bsModal.hide();
end;
DelOrder();
tmrReturn.Enabled := true;
end;
end;
[async] procedure TFOrderEntryCorrugated.GenerateReportPDF; [async] procedure TFOrderEntryCorrugated.GenerateReportPDF;
// sends the search to the server which then sends back a pdf of the results // sends the search to the server which then sends back a pdf of the results
var var
...@@ -609,26 +605,6 @@ begin ...@@ -609,26 +605,6 @@ begin
end; end;
class function TFOrderEntryCorrugated.CreateForm(AElementID, orderInfo, customerInfo, mode, info: string): TWebForm;
var
localMode: string;
begin
localMode := mode;
Application.CreateForm(TFOrderEntryCorrugated, AElementID, Result,
procedure(AForm: TObject)
begin
with TFOrderEntryCorrugated(AForm) do
begin
TFOrderEntryCorrugated(AForm).customerID := customerInfo;
TFOrderEntryCorrugated(AForm).orderID := orderInfo;
TFOrderEntryCorrugated(AForm).mode := localMode;
TFOrderEntryCorrugated(AForm).notification := info;
end;
end
);
end;
procedure TFOrderEntryCorrugated.addColorRow(num, color, LPI, size: string); procedure TFOrderEntryCorrugated.addColorRow(num, color, LPI, size: string);
var var
container, newRow, col, labelEl, inputEl, removeCol: TJSHTMLElement; container, newRow, col, labelEl, inputEl, removeCol: TJSHTMLElement;
...@@ -821,23 +797,25 @@ end; ...@@ -821,23 +797,25 @@ end;
procedure TFOrderEntryCorrugated.btnCancelClick(Sender: TObject); procedure TFOrderEntryCorrugated.btnCancelClick(Sender: TObject);
begin begin
FModalAction := 'cancel'; ShowConfirmationModal(
document.getElementById('modal_body').innerHTML := 'Are you sure you want to cancel all changes?'; 'Are you sure you want to cancel all changes?',
document.getElementById('btn_confirm_cancel').innerText := 'No'; 'Yes',
document.getElementById('btn_confirm_delete').innerText := 'Yes'; 'No',
procedure(confirmed: Boolean)
asm begin
var modal = document.getElementById('confirmation_modal'); if confirmed then
if (modal && modal.parentNode !== document.body) { begin
document.body.appendChild(modal); FViewMain.change := false;
} if OrderID <> '' then
var confirmationModal = new bootstrap.Modal(modal, { keyboard: false }); FViewMain.ViewOrderEntryCorrugated(OrderID, '', 'EDIT', 'Failure: Changes Discarded')
confirmationModal.show(); else
FViewMain.ViewOrders('');
end; end;
end
);
end; end;
procedure TFOrderEntryCorrugated.btnCloseClick(Sender: TObject); procedure TFOrderEntryCorrugated.btnCloseClick(Sender: TObject);
begin begin
FViewMain.ViewOrders(''); FViewMain.ViewOrders('');
...@@ -1052,48 +1030,6 @@ begin ...@@ -1052,48 +1030,6 @@ begin
end; end;
procedure TFOrderEntryCorrugated.WebFormShow(Sender: TObject);
begin
if mode <> 'ADD' then
begin
getOrder(orderID);
ViewMode();
end
else
begin
getCustomer(customerID);
EditMode();
end;
edtOrderNum.Text := OrderID;
if notification <> '' then
begin
ShowToast(notification);
end;
end;
procedure TFOrderEntryCorrugated.XDataWebDataSet1AfterEdit(DataSet: TDataSet);
begin
EditMode();
end;
procedure TFOrderEntryCorrugated.XDataWebDataSet1BeforePost(DataSet: TDataSet);
begin
if not (DataSet.State in [dsEdit, dsInsert]) then
DataSet.Edit; // Force edit mode if autofill tries to post
end;
procedure TFOrderEntryCorrugated.xdwdsQBItemAfterEdit(DataSet: TDataSet);
begin
EditMode();
end;
procedure TFOrderEntryCorrugated.xdwdsShipToAfterEdit(DataSet: TDataSet);
begin
EditMode();
end;
procedure TFOrderEntryCorrugated.tmrReturnTimer(Sender: TObject); procedure TFOrderEntryCorrugated.tmrReturnTimer(Sender: TObject);
...@@ -1104,15 +1040,9 @@ begin ...@@ -1104,15 +1040,9 @@ begin
end; end;
procedure TFOrderEntryCorrugated.tmrScrollTopTimer(Sender: TObject);
begin
tmrScrollTop.Enabled := False;
window.scrollTo(0, 0);
end;
procedure TFOrderEntryCorrugated.EditMode(); procedure TFOrderEntryCorrugated.EditMode();
begin begin
XDataWebDataSet1.Edit;
FViewMain.change := true; FViewMain.change := true;
btnCopy.Enabled := false; btnCopy.Enabled := false;
btnPDF.Enabled := false; btnPDF.Enabled := false;
...@@ -1122,43 +1052,32 @@ begin ...@@ -1122,43 +1052,32 @@ begin
btnCancel.Enabled := True; btnCancel.Enabled := True;
btnEdit.Enabled := false; btnEdit.Enabled := false;
btnAdd.Enabled := false; btnAdd.Enabled := false;
end;
procedure TFOrderEntryCorrugated.edtJobNameChange(Sender: TObject);
begin
EditMode();
console.log('onChange');
end;
procedure TFOrderEntryCorrugated.dtpApprovedDateChange(Sender: TObject); // Enable all non-DB checkboxes manually
begin cbRefArtAPDF.Enabled := True;
EditMode(); cbRefArtPrintCard.Enabled := True;
cbExistingCuttingDie.Enabled := True;
cbFTP.Enabled := True;
cbSampleCarton.Enabled := True;
cbPlates.Enabled := True;
cbColorCopy.Enabled := True;
cbStripMount.Enabled := True;
cbFullMount.Enabled := True;
cbStickyBak.Enabled := True;
cbLoose.Enabled := True;
cbExcaliburDie.Enabled := True;
cbEmail.Enabled := True;
cbArtApprovedAsIs.Enabled := True;
cbPDFFile.Enabled := True;
cbWideFormat.Enabled := True;
cbPrintCard.Enabled := True;
cbFullSizePanel.Enabled := True;
lblFormState.Caption := 'Edit Mode';
lblFormState.ElementHandle.classList.remove('text-danger');
lblFormState.ElementHandle.classList.add('text-success');
end; end;
procedure TFOrderEntryCorrugated.dtpMountDueChange(Sender: TObject);
begin
EditMode();
end;
procedure TFOrderEntryCorrugated.dtpOrderDateChange(Sender: TObject);
begin
EditMode();
end;
procedure TFOrderEntryCorrugated.dtpPlateDueChange(Sender: TObject);
begin
EditMode();
end;
procedure TFOrderEntryCorrugated.dtpProofDateChange(Sender: TObject);
begin
EditMode();
end;
procedure TFOrderEntryCorrugated.dtpShipDateChange(Sender: TObject);
begin
EditMode();
end;
procedure TFOrderEntryCorrugated.ViewMode; procedure TFOrderEntryCorrugated.ViewMode;
begin begin
...@@ -1171,8 +1090,33 @@ begin ...@@ -1171,8 +1090,33 @@ begin
btnEdit.Enabled := true; btnEdit.Enabled := true;
btnAdd.Enabled := true; btnAdd.Enabled := true;
FViewMain.change := false; FViewMain.change := false;
// Explicitly disable all non-DB checkboxes
cbRefArtAPDF.Enabled := False;
cbRefArtPrintCard.Enabled := False;
cbExistingCuttingDie.Enabled := False;
cbFTP.Enabled := False;
cbSampleCarton.Enabled := False;
cbPlates.Enabled := False;
cbColorCopy.Enabled := False;
cbStripMount.Enabled := False;
cbFullMount.Enabled := False;
cbStickyBak.Enabled := False;
cbLoose.Enabled := False;
cbExcaliburDie.Enabled := False;
cbEmail.Enabled := False;
cbArtApprovedAsIs.Enabled := False;
cbPDFFile.Enabled := False;
cbWideFormat.Enabled := False;
cbPrintCard.Enabled := False;
cbFullSizePanel.Enabled := False;
lblFormState.Caption := 'View Mode';
lblFormState.ElementHandle.classList.remove('text-success');
lblFormState.ElementHandle.classList.add('text-danger');
end; end;
initialization initialization
RegisterClass(TFOrderEntryCorrugated); RegisterClass(TFOrderEntryCorrugated);
......
object FOrderEntryCuttingDie: TFOrderEntryCuttingDie object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
Width = 956 Width = 956
Height = 728 Height = 728
OnShow = WebFormShow
object WebLabel2: TWebLabel object WebLabel2: TWebLabel
Left = 26 Left = 26
Top = 72 Top = 72
...@@ -32,6 +31,15 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -32,6 +31,15 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
Visible = False Visible = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object lblFormState: TWebLabel
Left = 34
Top = 8
Width = 3
Height = 15
ElementID = 'lbl_form_state'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
object edtCompanyAccountName: TWebDBEdit object edtCompanyAccountName: TWebDBEdit
Left = 24 Left = 24
Top = 120 Top = 120
...@@ -42,21 +50,20 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -42,21 +50,20 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
ElementID = 'edtaccountcompanyname' ElementID = 'edtaccountcompanyname'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'SHORT_NAME' DataField = 'SHORT_NAME'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
object edtInQuickBooks: TWebDBEdit object edtInQuickBooks: TWebDBEdit
Left = 26 Left = 24
Top = 148 Top = 152
Width = 121 Width = 121
Height = 23 Height = 23
AutoCompletion = acNope
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtinquickbooks' ElementID = 'edtinquickbooks'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'inQuickBooks' DataField = 'inQuickBooks'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -72,7 +79,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -72,7 +79,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
Date = 45638.529943136570000000 Date = 45638.529943136570000000
Role = '' Role = ''
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object dtpProofDate: TWebDateTimePicker object dtpProofDate: TWebDateTimePicker
Left = 22 Left = 22
...@@ -86,7 +92,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -86,7 +92,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
Date = 45638.529943136570000000 Date = 45638.529943136570000000
Role = '' Role = ''
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object dtpShipDate: TWebDateTimePicker object dtpShipDate: TWebDateTimePicker
Left = 22 Left = 22
...@@ -100,7 +105,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -100,7 +105,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
Date = 45638.529943136570000000 Date = 45638.529943136570000000
Role = '' Role = ''
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object edtShipVia: TWebDBEdit object edtShipVia: TWebDBEdit
Left = 24 Left = 24
...@@ -112,7 +116,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -112,7 +116,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
ElementID = 'edtshipvia' ElementID = 'edtshipvia'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'staff_fields_ship_via' DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -123,10 +126,10 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -123,10 +126,10 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
Height = 23 Height = 23
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
EditType = weNumeric
ElementID = 'edtquantity' ElementID = 'edtquantity'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'staff_fields_quantity' DataField = 'staff_fields_quantity'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -139,7 +142,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -139,7 +142,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
ElementID = 'edtprice' ElementID = 'edtprice'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'staff_fields_price' DataField = 'staff_fields_price'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -153,7 +155,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -153,7 +155,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
ElementID = 'edtinvoiceto' ElementID = 'edtinvoiceto'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'staff_fields_invoice_to' DataField = 'staff_fields_invoice_to'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -181,7 +182,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -181,7 +182,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
ElementID = 'edtponumber' ElementID = 'edtponumber'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'staff_fields_po_number' DataField = 'staff_fields_po_number'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -195,7 +195,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -195,7 +195,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
ElementID = 'edtjobname' ElementID = 'edtjobname'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'staff_fields_job_name' DataField = 'staff_fields_job_name'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -209,7 +208,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -209,7 +208,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
ElementID = 'edtspecialinstructions' ElementID = 'edtspecialinstructions'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'general_special_instructions' DataField = 'general_special_instructions'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -246,7 +244,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -246,7 +244,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
ElementID = 'edtcompanyname' ElementID = 'edtcompanyname'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'NAME' DataField = 'NAME'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -258,7 +255,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -258,7 +255,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
ElementID = 'wcbqbitem' ElementID = 'wcbqbitem'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
ItemIndex = -1 ItemIndex = -1
DataField = 'staff_fields_quickbooks_item' DataField = 'staff_fields_quickbooks_item'
DataSource = WebDataSource1 DataSource = WebDataSource1
...@@ -312,18 +308,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -312,18 +308,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = btnCloseClick OnClick = btnCloseClick
end end
object btn_confirm_delete: TWebButton
Left = 776
Top = 279
Width = 96
Height = 25
Caption = 'Delete'
ChildOrder = 82
ElementID = 'btn_confirm_delete'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
OnClick = btn_confirm_deleteClick
end
object btnCopy: TWebButton object btnCopy: TWebButton
Left = 746 Left = 746
Top = 453 Top = 453
...@@ -373,15 +357,15 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -373,15 +357,15 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
OnClick = WebButton2Click OnClick = WebButton2Click
end end
object WebDataSource1: TWebDataSource object WebDataSource1: TWebDataSource
AutoEdit = False
DataSet = XDataWebDataSet1 DataSet = XDataWebDataSet1
OnDataChange = WebDataSource1DataChange Left = 418
Left = 318 Top = 86
Top = 262
end end
object XDataWebDataSet1: TXDataWebDataSet object XDataWebDataSet1: TXDataWebDataSet
Connection = DMConnection.ApiConnection Connection = DMConnection.ApiConnection
Left = 318 Left = 422
Top = 208 Top = 28
object XDataWebDataSet1COMPANY_ID: TIntegerField object XDataWebDataSet1COMPANY_ID: TIntegerField
FieldName = 'COMPANY_ID' FieldName = 'COMPANY_ID'
end end
...@@ -442,40 +426,35 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -442,40 +426,35 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
object XDataWebDataSet1staff_fields_quantity: TStringField object XDataWebDataSet1staff_fields_quantity: TStringField
FieldName = 'staff_fields_quantity' FieldName = 'staff_fields_quantity'
end end
object XDataWebDataSet1inQuickBooks: TStringField
FieldName = 'inQuickBooks'
end
end end
object XDataWebClient1: TXDataWebClient object XDataWebClient1: TXDataWebClient
Connection = DMConnection.ApiConnection Connection = DMConnection.ApiConnection
Left = 218 Left = 200
Top = 76 Top = 50
end
object tmrScrollTop: TWebTimer
Interval = 100
OnTimer = tmrScrollTopTimer
Left = 240
Top = 8
end end
object wdsShipTo: TWebDataSource object wdsShipTo: TWebDataSource
DataSet = xdwdsShipTo DataSet = xdwdsShipTo
Left = 302 Left = 526
Top = 418 Top = 86
end end
object xdwdsShipTo: TXDataWebDataSet object xdwdsShipTo: TXDataWebDataSet
AfterEdit = xdwdsShipToAfterEdit Left = 528
Left = 438 Top = 26
Top = 208
object xdwdsShipToADDRESS: TStringField object xdwdsShipToADDRESS: TStringField
FieldName = 'ADDRESS' FieldName = 'ADDRESS'
end end
end end
object wdsQBItem: TWebDataSource object wdsQBItem: TWebDataSource
DataSet = xdwdsQBItem DataSet = xdwdsQBItem
Left = 272 Left = 606
Top = 548 Top = 86
end end
object xdwdsQBItem: TXDataWebDataSet object xdwdsQBItem: TXDataWebDataSet
AfterEdit = xdwdsQBItemAfterEdit Left = 608
Left = 568 Top = 30
Top = 216
object xdwdsQBItemname: TStringField object xdwdsQBItemname: TStringField
FieldName = 'name' FieldName = 'name'
end end
......
<nav class="navbar navbar-expand navbar-light bg-light sticky-top" style="z-index: 100;"> <nav class="navbar navbar-expand navbar-light bg-light border-light sticky-top" style="z-index: 100;">
<div class="container-fluid ps-0"> <div class="container-fluid d-flex align-items-center ps-0 pe-0">
<ul class="navbar-nav me-auto ps-2">
<!-- Left-aligned label -->
<div class="me-auto ps-3">
<label id="lbl_form_state" class="form-label mb-0 fw-bold text-uppercase text-nowrap text-danger" style="font-size: 16px;">View Mode</label>
</div>
<!-- Right-aligned buttons -->
<ul class="navbar-nav ms-auto pe-2 mb-0">
<li class="nav-item pe-2"> <li class="nav-item pe-2">
<button id="btnadd" class="btn btn-primary btn-sm">Add</button> <button id="btnadd" class="btn btn-primary btn-sm">Add</button>
</li> </li>
...@@ -23,9 +30,10 @@ ...@@ -23,9 +30,10 @@
<button id="btncancel" class="btn btn-danger btn-sm">Cancel</button> <button id="btncancel" class="btn btn-danger btn-sm">Cancel</button>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<button id="btnclose" class="btn btn-secondary btn-sm">Close</button> <button id="btnclose" class="btn btn-primary btn-sm">Close</button>
</li> </li>
</ul> </ul>
</div> </div>
</nav> </nav>
<div class="row mx-5"> <div class="row mx-5">
...@@ -124,20 +132,4 @@ ...@@ -124,20 +132,4 @@
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade" id="confirmation_modal" tabindex="-1" aria-labelledby="confirmation_modal_label" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content shadow-lg">
<div class="modal-header">
<h5 class="modal-title" id="confirmation_modal_label">Confirm</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body fs-6 fw-bold" id="modal_body">
Are you sure you want to delete this order?
</div>
<div class="modal-footer justify-content-center">
<button type="button" class="btn btn-secondary me-3" data-bs-dismiss="modal" id="btn_confirm_cancel">Cancel</button>
<button type="button" class="btn btn-primary" data-bs-dismiss="modal" id="btn_confirm_delete">Delete</button>
</div>
</div>
</div>
</div>
...@@ -30,7 +30,6 @@ type ...@@ -30,7 +30,6 @@ type
XDataWebDataSet1staff_fields_proof_date: TStringField; XDataWebDataSet1staff_fields_proof_date: TStringField;
XDataWebDataSet1staff_fields_ship_date: TStringField; XDataWebDataSet1staff_fields_ship_date: TStringField;
XDataWebClient1: TXDataWebClient; XDataWebClient1: TXDataWebClient;
tmrScrollTop: TWebTimer;
WebLabel2: TWebLabel; WebLabel2: TWebLabel;
edtCompanyAccountName: TWebDBEdit; edtCompanyAccountName: TWebDBEdit;
edtInQuickBooks: TWebDBEdit; edtInQuickBooks: TWebDBEdit;
...@@ -65,19 +64,18 @@ type ...@@ -65,19 +64,18 @@ type
edtOrderNum: TWebEdit; edtOrderNum: TWebEdit;
btnDelete: TWebButton; btnDelete: TWebButton;
btnClose: TWebButton; btnClose: TWebButton;
btn_confirm_delete: TWebButton;
btnCopy: TWebButton; btnCopy: TWebButton;
tmrReturn: TWebTimer; tmrReturn: TWebTimer;
btnEdit: TWebButton; btnEdit: TWebButton;
btnAdd: TWebButton; btnAdd: TWebButton;
WebButton2: TWebButton; WebButton2: TWebButton;
XDataWebDataSet1inQuickBooks: TStringField;
lblFormState: TWebLabel;
procedure btnSaveClick(Sender: TObject); procedure btnSaveClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject); procedure btnCancelClick(Sender: TObject);
procedure WebFormCreate(Sender: TObject); procedure WebFormCreate(Sender: TObject);
procedure WebFormShow(Sender: TObject);
[async] procedure GetCuttingDieOrder(Order_ID: string); [async] procedure GetCuttingDieOrder(Order_ID: string);
[async] procedure GetCustomer(customerID: string); [async] procedure GetCustomer(customerID: string);
procedure tmrScrollTopTimer(Sender: TObject);
[async] procedure AddCuttingDieOrder(orderJSON: TJSONObject); [async] procedure AddCuttingDieOrder(orderJSON: TJSONObject);
procedure btnPDFClick(Sender: TObject); procedure btnPDFClick(Sender: TObject);
[async] procedure GenerateReportPDF; [async] procedure GenerateReportPDF;
...@@ -87,22 +85,14 @@ type ...@@ -87,22 +85,14 @@ type
[async] procedure delOrder(); [async] procedure delOrder();
procedure btnCloseClick(Sender: TObject); procedure btnCloseClick(Sender: TObject);
procedure btnCopyClick(Sender: TObject); procedure btnCopyClick(Sender: TObject);
procedure btn_confirm_deleteClick(Sender: TObject);
procedure tmrReturnTimer(Sender: TObject); procedure tmrReturnTimer(Sender: TObject);
procedure btnAddClick(Sender: TObject); procedure btnAddClick(Sender: TObject);
procedure xdwdsShipToAfterEdit(DataSet: TDataSet);
procedure EditMode();
procedure xdwdsQBItemAfterEdit(DataSet: TDataSet);
procedure dtpOrderDateChange(Sender: TObject);
procedure btnEditClick(Sender: TObject); procedure btnEditClick(Sender: TObject);
procedure ViewMode(); procedure ViewMode();
procedure WebButton2Click(Sender: TObject); procedure WebButton2Click(Sender: TObject);
procedure ShowAddAddressForm(); procedure ShowAddAddressForm();
[async] procedure SendAddressToServer(AddressJSON: TJSONObject); [async] procedure SendAddressToServer(AddressJSON: TJSONObject);
procedure WebDataSource1DataChange(Sender: TObject; Field: TField);
procedure XDataWebDataSet1AfterEdit(DataSet: TDataSet);
private private
FModalAction: string;
FAgencyCode: string; FAgencyCode: string;
FCurrentReportType: string; FCurrentReportType: string;
FSelectProc: TSelectProc; FSelectProc: TSelectProc;
...@@ -110,8 +100,10 @@ type ...@@ -110,8 +100,10 @@ type
customerID: string; customerID: string;
mode: string; mode: string;
notification: string; notification: string;
procedure EditMode;
[async] procedure InitializeForm;
public public
class function CreateForm(AElementID, orderInfo, customerInfo, mode, info: string): TWebForm; class function CreateForm(AElementID, orderInfo, customerInfo, modeParam, info: string): TWebForm;
end; end;
var var
...@@ -124,22 +116,49 @@ implementation ...@@ -124,22 +116,49 @@ implementation
uses uses
View.Home, View.Main, View.AddOrder, View.AddAddress, Utils; View.Home, View.Main, View.AddOrder, View.AddAddress, Utils;
procedure TFOrderEntryCuttingDie.WebButton2Click(Sender: TObject);
class function TFOrderEntryCuttingDie.CreateForm(AElementID, orderInfo, customerInfo, modeParam, info: string): TWebForm;
begin begin
ShowAddAddressForm(); Application.CreateForm(TFOrderEntryCuttingDie, AElementID, Result,
end; procedure(AForm: TObject)
begin
with TFOrderEntryCuttingDie(AForm) do
begin
customerID := customerInfo;
orderID := orderInfo;
mode := modeParam;
notification := info;
console.log('Mode in createform: ' + modeParam);
InitializeForm;
end;
end
);
end;
procedure TFOrderEntryCuttingDie.WebDataSource1DataChange(Sender: TObject; Field: TField); [async] procedure TFOrderEntryCuttingDie.InitializeForm;
begin begin
if Assigned(Field) then console.log('The mode in initialize form is: ' + mode);
console.log( if mode = 'ADD' then
'Field.OnChange → ' + Field.FieldName + begin
' is now: ' + Field.AsString await(getCustomer(customerID));
) EditMode;
end
else else
console.log('WebDataSource1.OnDataChange fired with no specific Field'); begin
await(getCuttingDieOrder(orderID));
ViewMode;
end;
edtOrderNum.Text := orderID;
if notification <> '' then
ShowToast(notification);
end;
procedure TFOrderEntryCuttingDie.WebButton2Click(Sender: TObject);
begin
ShowAddAddressForm();
end; end;
...@@ -316,7 +335,6 @@ begin ...@@ -316,7 +335,6 @@ begin
ShowToast('Success: Order Edited Successfully'); ShowToast('Success: Order Edited Successfully');
AddCuttingDieOrder(orderJSON); AddCuttingDieOrder(orderJSON);
end; end;
...@@ -346,25 +364,26 @@ end; ...@@ -346,25 +364,26 @@ end;
procedure TFOrderEntryCuttingDie.btnDeleteClick(Sender: TObject); procedure TFOrderEntryCuttingDie.btnDeleteClick(Sender: TObject);
begin begin
FModalAction := 'delete'; ShowConfirmationModal(
document.getElementById('modal_body').innerHTML := 'Are you sure you want to delete this order?'; 'Are you sure you want to delete this order?',
document.getElementById('btn_confirm_cancel').innerText := 'Cancel'; 'Delete',
document.getElementById('btn_confirm_delete').innerText := 'Delete'; 'Cancel',
procedure(confirmed: Boolean)
asm begin
var modal = document.getElementById('confirmation_modal'); if confirmed then
if (modal && modal.parentNode !== document.body) { begin
document.body.appendChild(modal); Utils.ShowSpinner('spinner');
} DelOrder();
var confirmationModal = new bootstrap.Modal(modal, { keyboard: false }); tmrReturn.Enabled := true;
confirmationModal.show();
end; end;
end
);
end; end;
procedure TFOrderEntryCuttingDie.btnEditClick(Sender: TObject); procedure TFOrderEntryCuttingDie.btnEditClick(Sender: TObject);
begin begin
EditMode(); EditMode;
end; end;
...@@ -372,8 +391,7 @@ procedure TFOrderEntryCuttingDie.DelOrder(); ...@@ -372,8 +391,7 @@ procedure TFOrderEntryCuttingDie.DelOrder();
var var
Response: TXDataClientResponse; Response: TXDataClientResponse;
begin begin
Response := await(XDataWebClient1.RawInvokeAsync('ILookupService.DelOrder', Response := await(XDataWebClient1.RawInvokeAsync('ILookupService.DelOrder', [OrderID, 'cutting', JS.toString(AuthService.TokenPayload.Properties['user_id'])]));
[OrderID, 'corrugated', JS.toString(AuthService.TokenPayload.Properties['user_id'])]));
end; end;
...@@ -383,33 +401,6 @@ begin ...@@ -383,33 +401,6 @@ begin
end; end;
procedure TFOrderEntryCuttingDie.btn_confirm_deleteClick(Sender: TObject);
begin
if FModalAction = 'cancel' then
begin
FViewMain.change := false;
if OrderID <> '' then
FViewMain.ViewOrderEntryCuttingDie(OrderID, '', 'EDIT', 'Failure: Changes Discarded')
else
FViewMain.ViewOrders('');
end
else if FModalAction = 'delete' then
begin
Utils.ShowSpinner('spinner');
asm
var modal = document.getElementById('confirmation_modal');
if (modal && modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
var bsModal = new bootstrap.Modal(modal, { keyboard: false });
bsModal.hide();
end;
DelOrder();
tmrReturn.Enabled := true;
end;
end;
[async] procedure TFOrderEntryCuttingDie.GenerateReportPDF; [async] procedure TFOrderEntryCuttingDie.GenerateReportPDF;
// sends the search to the server which then sends back a pdf of the results // sends the search to the server which then sends back a pdf of the results
var var
...@@ -455,26 +446,6 @@ begin ...@@ -455,26 +446,6 @@ begin
end; end;
class function TFOrderEntryCuttingDie.CreateForm(AElementID, orderInfo, customerInfo, mode, info: string): TWebForm;
var
localMode: string;
begin
localMode := mode;
Application.CreateForm(TFOrderEntryCuttingDie, AElementID, Result,
procedure(AForm: TObject)
begin
with TFOrderEntryCuttingDie(AForm) do
begin
TFOrderEntryCuttingDie(AForm).customerID := customerInfo;
TFOrderEntryCuttingDie(AForm).orderID := orderInfo;
TFOrderEntryCuttingDie(AForm).mode := localMode;
TFOrderEntryCuttingDie(AForm).notification := info;
end;
end
);
end;
procedure TFOrderEntryCuttingDie.btnAddClick(Sender: TObject); procedure TFOrderEntryCuttingDie.btnAddClick(Sender: TObject);
var var
newform: TFAddOrder; newform: TFAddOrder;
...@@ -516,21 +487,25 @@ end; ...@@ -516,21 +487,25 @@ end;
procedure TFOrderEntryCuttingDie.btnCancelClick(Sender: TObject); procedure TFOrderEntryCuttingDie.btnCancelClick(Sender: TObject);
begin begin
FModalAction := 'cancel'; ShowConfirmationModal(
document.getElementById('modal_body').innerHTML := 'Are you sure you want to cancel all changes?'; 'Are you sure you want to cancel all changes?',
document.getElementById('btn_confirm_cancel').innerText := 'No'; 'Yes',
document.getElementById('btn_confirm_delete').innerText := 'Yes'; 'No',
procedure(confirmed: Boolean)
asm begin
var modal = document.getElementById('confirmation_modal'); if confirmed then
if (modal && modal.parentNode !== document.body) { begin
document.body.appendChild(modal); FViewMain.change := false;
} if OrderID <> '' then
var confirmationModal = new bootstrap.Modal(modal, { keyboard: false }); FViewMain.ViewOrderEntryCuttingDie(OrderID, '', 'EDIT', 'Failure: Changes Discarded')
confirmationModal.show(); else
FViewMain.ViewOrders('');
end; end;
end
);
end; end;
procedure TFOrderEntryCuttingDie.btnCloseClick(Sender: TObject); procedure TFOrderEntryCuttingDie.btnCloseClick(Sender: TObject);
begin begin
FViewMain.ViewOrders(''); FViewMain.ViewOrders('');
...@@ -633,26 +608,6 @@ begin ...@@ -633,26 +608,6 @@ begin
items := TJSObject(customer['ITEMS']); items := TJSObject(customer['ITEMS']);
xdwdsQBItem.SetJsonData(items['data']); xdwdsQBItem.SetJsonData(items['data']);
xdwdsQBITEM.Open; xdwdsQBITEM.Open;
end;
procedure TFOrderEntryCuttingDie.WebFormShow(Sender: TObject);
begin
if mode <> 'ADD' then
begin
getCuttingDieOrder(orderID);
ViewMode();
end
else
begin
getCustomer(customerID);
EditMode();
end;
edtOrderNum.Text := OrderID;
if notification <> '' then
begin
ShowToast(notification);
end;
end; end;
...@@ -663,15 +618,10 @@ begin ...@@ -663,15 +618,10 @@ begin
FViewMain.ViewOrders('Success: Order Successfully Deleted'); FViewMain.ViewOrders('Success: Order Successfully Deleted');
end; end;
procedure TFOrderEntryCuttingDie.tmrScrollTopTimer(Sender: TObject);
begin
tmrScrollTop.Enabled := False;
window.scrollTo(0, 0);
end;
procedure TFOrderEntryCuttingDie.EditMode; procedure TFOrderEntryCuttingDie.EditMode;
begin begin
XDataWebDataSet1.Edit;
FViewMain.change := true; FViewMain.change := true;
btnCopy.Enabled := false; btnCopy.Enabled := false;
btnPDF.Enabled := false; btnPDF.Enabled := false;
...@@ -681,29 +631,10 @@ begin ...@@ -681,29 +631,10 @@ begin
btnCancel.Enabled := True; btnCancel.Enabled := True;
btnEdit.Enabled := false; btnEdit.Enabled := false;
btnAdd.Enabled := false; btnAdd.Enabled := false;
end;
procedure TFOrderEntryCuttingDie.XDataWebDataSet1AfterEdit(DataSet: TDataSet);
begin
EditMode();
end;
lblFormState.Caption := 'Edit Mode';
procedure TFOrderEntryCuttingDie.xdwdsQBItemAfterEdit(DataSet: TDataSet); lblFormState.ElementHandle.classList.remove('text-danger');
begin lblFormState.ElementHandle.classList.add('text-success');
EditMode();
end;
procedure TFOrderEntryCuttingDie.xdwdsShipToAfterEdit(DataSet: TDataSet);
begin
EditMode();
end;
procedure TFOrderEntryCuttingDie.dtpOrderDateChange(Sender: TObject);
begin
EditMode();
end; end;
...@@ -718,6 +649,10 @@ begin ...@@ -718,6 +649,10 @@ begin
btnEdit.Enabled := true; btnEdit.Enabled := true;
btnAdd.Enabled := true; btnAdd.Enabled := true;
FViewMain.change := false; FViewMain.change := false;
lblFormState.Caption := 'View Mode';
lblFormState.ElementHandle.classList.remove('text-success');
lblFormState.ElementHandle.classList.add('text-danger');
end; end;
......
object FOrderEntryWeb: TFOrderEntryWeb object FOrderEntryWeb: TFOrderEntryWeb
Width = 1261 Width = 1261
Height = 628 Height = 628
OnShow = WebFormShow OnCreate = WebFormCreate
object WebLabel2: TWebLabel object WebLabel2: TWebLabel
Left = 26 Left = 26
Top = 72 Top = 72
...@@ -112,6 +112,15 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -112,6 +112,15 @@ object FOrderEntryWeb: TFOrderEntryWeb
Visible = False Visible = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object lblFormState: TWebLabel
Left = 18
Top = 16
Width = 3
Height = 15
ElementID = 'lbl_form_state'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
object edtCompanyName: TWebDBEdit object edtCompanyName: TWebDBEdit
Left = 24 Left = 24
Top = 92 Top = 92
...@@ -122,9 +131,9 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -122,9 +131,9 @@ object FOrderEntryWeb: TFOrderEntryWeb
ElementID = 'edtcompanyname' ElementID = 'edtcompanyname'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
MaxLength = 90 MaxLength = 90
ShowFocus = False
WidthStyle = ssAuto WidthStyle = ssAuto
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'NAME' DataField = 'NAME'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -137,8 +146,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -137,8 +146,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtaccountcompanyname' ElementID = 'edtaccountcompanyname'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'SHORT_NAME' DataField = 'SHORT_NAME'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -151,8 +160,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -151,8 +160,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtinquickbooks' ElementID = 'edtinquickbooks'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'inQuickBooks' DataField = 'inQuickBooks'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -167,8 +176,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -167,8 +176,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
Color = clWhite Color = clWhite
Date = 45638.529943136570000000 Date = 45638.529943136570000000
Role = '' Role = ''
ShowFocus = False
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object dtpProofDate: TWebDateTimePicker object dtpProofDate: TWebDateTimePicker
Left = 22 Left = 22
...@@ -181,8 +190,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -181,8 +190,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
Color = clWhite Color = clWhite
Date = 45638.529943136570000000 Date = 45638.529943136570000000
Role = '' Role = ''
ShowFocus = False
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object dtpShipDate: TWebDateTimePicker object dtpShipDate: TWebDateTimePicker
Left = 22 Left = 22
...@@ -195,8 +204,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -195,8 +204,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
Color = clWhite Color = clWhite
Date = 45638.529943136570000000 Date = 45638.529943136570000000
Role = '' Role = ''
ShowFocus = False
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object dtpArtDue: TWebDateTimePicker object dtpArtDue: TWebDateTimePicker
Left = 24 Left = 24
...@@ -209,8 +218,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -209,8 +218,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
Color = clWhite Color = clWhite
Date = 45638.529943136570000000 Date = 45638.529943136570000000
Role = '' Role = ''
ShowFocus = False
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object dtpPlateDue: TWebDateTimePicker object dtpPlateDue: TWebDateTimePicker
Left = 24 Left = 24
...@@ -223,8 +232,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -223,8 +232,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
Color = clWhite Color = clWhite
Date = 45638.529943136570000000 Date = 45638.529943136570000000
Role = '' Role = ''
ShowFocus = False
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object edtShipVia: TWebDBEdit object edtShipVia: TWebDBEdit
Left = 24 Left = 24
...@@ -235,8 +244,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -235,8 +244,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtshipvia' ElementID = 'edtshipvia'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'staff_fields_ship_via' DataField = 'staff_fields_ship_via'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -249,21 +258,21 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -249,21 +258,21 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtquantity' ElementID = 'edtquantity'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'staff_fields_quantity' DataField = 'staff_fields_quantity'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
object edtPrice: TWebDBEdit object edtPrice: TWebDBEdit
Left = 24 Left = 26
Top = 374 Top = 374
Width = 121 Width = 121
Height = 22 Height = 22
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtprice' ElementID = 'edtprice'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'staff_fields_price' DataField = 'staff_fields_price'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -276,8 +285,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -276,8 +285,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtinvoiceto' ElementID = 'edtinvoiceto'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'staff_fields_invoice_to' DataField = 'staff_fields_invoice_to'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -290,8 +299,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -290,8 +299,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtponumber' ElementID = 'edtponumber'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'staff_fields_po_number' DataField = 'staff_fields_po_number'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -304,18 +313,19 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -304,18 +313,19 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtjobname' ElementID = 'edtjobname'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'staff_fields_job_name' DataField = 'staff_fields_job_name'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
object WebDBComboBox1: TWebDBComboBox object WebDBComboBox1: TWebDBComboBox
Left = 26 Left = 26
Top = 430 Top = 429
Width = 145 Width = 145
Height = 23 Height = 23
ElementID = 'wcbshipto' ElementID = 'wcbshipto'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
ItemIndex = -1 ItemIndex = -1
DataField = 'staff_fields_ship_to' DataField = 'staff_fields_ship_to'
...@@ -332,8 +342,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -332,8 +342,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtbworcolorcopy' ElementID = 'edtbworcolorcopy'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'supplied_by_customer_b_w_or_co' DataField = 'supplied_by_customer_b_w_or_co'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -346,8 +356,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -346,8 +356,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtplates' ElementID = 'edtplates'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'supplied_by_customer_plates' DataField = 'supplied_by_customer_plates'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -360,8 +370,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -360,8 +370,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtdimensionallayout' ElementID = 'edtdimensionallayout'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'supplied_by_customer_dimension' DataField = 'supplied_by_customer_dimension'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -374,8 +384,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -374,8 +384,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtsample' ElementID = 'edtsample'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'supplied_by_customer_sample' DataField = 'supplied_by_customer_sample'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -388,8 +398,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -388,8 +398,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtother' ElementID = 'edtother'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'supplied_by_customer_other' DataField = 'supplied_by_customer_other'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -402,8 +412,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -402,8 +412,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtemail' ElementID = 'edtemail'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'supplied_by_customer_e_mail' DataField = 'supplied_by_customer_e_mail'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -416,8 +426,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -416,8 +426,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edttotalinchesused' ElementID = 'edttotalinchesused'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'supplied_by_customer_total_inc' DataField = 'supplied_by_customer_total_inc'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -430,8 +440,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -430,8 +440,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtftp' ElementID = 'edtftp'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'supplied_by_customer_ftp' DataField = 'supplied_by_customer_ftp'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -444,8 +454,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -444,8 +454,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtsheetsused' ElementID = 'edtsheetsused'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'supplied_by_customer_sheets_us' DataField = 'supplied_by_customer_sheets_us'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -458,8 +468,8 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -458,8 +468,8 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtinitials' ElementID = 'edtinitials'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'supplied_by_customer_initials' DataField = 'supplied_by_customer_initials'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -468,12 +478,14 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -468,12 +478,14 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 96 Top = 96
Width = 113 Width = 113
Height = 22 Height = 22
TabStop = False
Caption = 'PDF' Caption = 'PDF'
ChildOrder = 79 ChildOrder = 79
ElementID = 'cbpdf' ElementID = 'cbpdf'
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpOrderDateChange
DataField = 'proofing_pdf' DataField = 'proofing_pdf'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -482,12 +494,13 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -482,12 +494,13 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 128 Top = 128
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtpdfto' ElementID = 'edtpdfto'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'proofing_pdf_to' DataField = 'proofing_pdf_to'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -502,8 +515,9 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -502,8 +515,9 @@ object FOrderEntryWeb: TFOrderEntryWeb
Color = clWhite Color = clWhite
Date = 45638.529943136570000000 Date = 45638.529943136570000000
Role = '' Role = ''
ShowFocus = False
TabStop = False
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object dtpPDFDate3: TWebDateTimePicker object dtpPDFDate3: TWebDateTimePicker
Left = 444 Left = 444
...@@ -516,8 +530,9 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -516,8 +530,9 @@ object FOrderEntryWeb: TFOrderEntryWeb
Color = clWhite Color = clWhite
Date = 45638.529943136570000000 Date = 45638.529943136570000000
Role = '' Role = ''
ShowFocus = False
TabStop = False
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object dtpPDFDate2: TWebDateTimePicker object dtpPDFDate2: TWebDateTimePicker
Left = 444 Left = 444
...@@ -530,20 +545,23 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -530,20 +545,23 @@ object FOrderEntryWeb: TFOrderEntryWeb
Color = clWhite Color = clWhite
Date = 45638.529943136570000000 Date = 45638.529943136570000000
Role = '' Role = ''
ShowFocus = False
TabStop = False
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object cbInkJet: TWebDBCheckBox object cbInkJet: TWebDBCheckBox
Left = 444 Left = 444
Top = 238 Top = 238
Width = 113 Width = 113
Height = 22 Height = 22
TabStop = False
Caption = 'Full Size Ink Jet For Layout Content Only' Caption = 'Full Size Ink Jet For Layout Content Only'
ChildOrder = 79 ChildOrder = 79
ElementID = 'cbfullsizeinkjet' ElementID = 'cbfullsizeinkjet'
Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = dtpOrderDateChange
DataField = 'proofing_full_size_ink_jet_for' DataField = 'proofing_full_size_ink_jet_for'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -552,12 +570,13 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -552,12 +570,13 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 295 Top = 295
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtinkjetto2' ElementID = 'edtinkjetto2'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'proofing_ink_jet_to_2' DataField = 'proofing_ink_jet_to_2'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -566,12 +585,13 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -566,12 +585,13 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 266 Top = 266
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtinkjetto' ElementID = 'edtinkjetto'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'proofing_ink_jet_to' DataField = 'proofing_ink_jet_to'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -586,8 +606,9 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -586,8 +606,9 @@ object FOrderEntryWeb: TFOrderEntryWeb
Color = clWhite Color = clWhite
Date = 45638.529943136570000000 Date = 45638.529943136570000000
Role = '' Role = ''
ShowFocus = False
TabStop = False
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object dtpInkJetDate3: TWebDateTimePicker object dtpInkJetDate3: TWebDateTimePicker
Left = 444 Left = 444
...@@ -600,8 +621,9 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -600,8 +621,9 @@ object FOrderEntryWeb: TFOrderEntryWeb
Color = clWhite Color = clWhite
Date = 45638.529943136570000000 Date = 45638.529943136570000000
Role = '' Role = ''
ShowFocus = False
TabStop = False
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object dtpInkJetDate2: TWebDateTimePicker object dtpInkJetDate2: TWebDateTimePicker
Left = 444 Left = 444
...@@ -614,20 +636,22 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -614,20 +636,22 @@ object FOrderEntryWeb: TFOrderEntryWeb
Color = clWhite Color = clWhite
Date = 45638.529943136570000000 Date = 45638.529943136570000000
Role = '' Role = ''
ShowFocus = False
TabStop = False
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object edtColorContrastTo: TWebDBEdit object edtColorContrastTo: TWebDBEdit
Left = 444 Left = 444
Top = 435 Top = 435
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtcolorcontrastto' ElementID = 'edtcolorcontrastto'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'proofing_color_contrac_to' DataField = 'proofing_color_contrac_to'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -642,8 +666,9 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -642,8 +666,9 @@ object FOrderEntryWeb: TFOrderEntryWeb
Color = clWhite Color = clWhite
Date = 45638.529943136570000000 Date = 45638.529943136570000000
Role = '' Role = ''
ShowFocus = False
TabStop = False
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object dtpColorContractDate2: TWebDateTimePicker object dtpColorContractDate2: TWebDateTimePicker
Left = 444 Left = 444
...@@ -656,20 +681,22 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -656,20 +681,22 @@ object FOrderEntryWeb: TFOrderEntryWeb
Color = clWhite Color = clWhite
Date = 45638.529943136570000000 Date = 45638.529943136570000000
Role = '' Role = ''
ShowFocus = False
TabStop = False
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object edtDigitalColorTo: TWebDBEdit object edtDigitalColorTo: TWebDBEdit
Left = 444 Left = 444
Top = 545 Top = 545
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtdigitalcolorto' ElementID = 'edtdigitalcolorto'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'proofing_digital_color_to' DataField = 'proofing_digital_color_to'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -678,12 +705,13 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -678,12 +705,13 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 516 Top = 516
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtdigitalcolorkey' ElementID = 'edtdigitalcolorkey'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'proofing_digital_color_key' DataField = 'proofing_digital_color_key'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -698,20 +726,22 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -698,20 +726,22 @@ object FOrderEntryWeb: TFOrderEntryWeb
Color = clWhite Color = clWhite
Date = 45638.529943136570000000 Date = 45638.529943136570000000
Role = '' Role = ''
ShowFocus = False
TabStop = False
Text = '' Text = ''
OnChange = dtpOrderDateChange
end end
object edtAniloxInfo: TWebDBEdit object edtAniloxInfo: TWebDBEdit
Left = 634 Left = 634
Top = 58 Top = 58
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtanilaxinfo' ElementID = 'edtanilaxinfo'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'quantity_and_colors_anilox_info' DataField = 'quantity_and_colors_anilox_info'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -720,12 +750,13 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -720,12 +750,13 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 29 Top = 29
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtpressname' ElementID = 'edtpressname'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'quantity_and_colors_press_name' DataField = 'quantity_and_colors_press_name'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -738,6 +769,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -738,6 +769,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 59 ChildOrder = 59
ElementID = 'btnaddcolor' ElementID = 'btnaddcolor'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
TabStop = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = WebButton1Click OnClick = WebButton1Click
end end
...@@ -746,12 +778,13 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -746,12 +778,13 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 139 Top = 139
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtmicrodots' ElementID = 'edtmicrodots'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'plate_marks_microdots' DataField = 'plate_marks_microdots'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -760,12 +793,13 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -760,12 +793,13 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 168 Top = 168
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtmicrodotscomments' ElementID = 'edtmicrodotscomments'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'plate_marks_microdots_comments' DataField = 'plate_marks_microdots_comments'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -774,12 +808,13 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -774,12 +808,13 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 239 Top = 239
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtcrosshairscomments' ElementID = 'edtcrosshairscomments'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'plate_marks_crosshairs_comments' DataField = 'plate_marks_crosshairs_comments'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -788,12 +823,13 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -788,12 +823,13 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 206 Top = 206
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtcrosshairs' ElementID = 'edtcrosshairs'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'plate_marks_crosshairs' DataField = 'plate_marks_crosshairs'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -802,12 +838,13 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -802,12 +838,13 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 300 Top = 300
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtcolorbarscomments' ElementID = 'edtcolorbarscomments'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'plate_marks_color_bars_comments' DataField = 'plate_marks_color_bars_comments'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -816,12 +853,13 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -816,12 +853,13 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 271 Top = 271
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtcolorbars' ElementID = 'edtcolorbars'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'plate_marks_color_bars' DataField = 'plate_marks_color_bars'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -830,12 +868,13 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -830,12 +868,13 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 329 Top = 329
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtplateother' ElementID = 'edtplateother'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'plate_marks_other' DataField = 'plate_marks_other'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -844,12 +883,13 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -844,12 +883,13 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 358 Top = 358
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtplateothercomments' ElementID = 'edtplateothercomments'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'plate_marks_other_comments' DataField = 'plate_marks_other_comments'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -858,6 +898,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -858,6 +898,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 29 Top = 29
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtaround' ElementID = 'edtaround'
...@@ -872,6 +913,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -872,6 +913,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 58 Top = 58
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtaccross' ElementID = 'edtaccross'
...@@ -886,6 +928,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -886,6 +928,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 129 Top = 129
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtreverseprint' ElementID = 'edtreverseprint'
...@@ -900,6 +943,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -900,6 +943,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 96 Top = 96
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtsurfaceprint' ElementID = 'edtsurfaceprint'
...@@ -914,6 +958,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -914,6 +958,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 190 Top = 190
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtcutoffdimension' ElementID = 'edtcutoffdimension'
...@@ -928,6 +973,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -928,6 +973,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 161 Top = 161
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtcylinderrepeat' ElementID = 'edtcylinderrepeat'
...@@ -942,6 +988,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -942,6 +988,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 219 Top = 219
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtpitch' ElementID = 'edtpitch'
...@@ -956,6 +1003,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -956,6 +1003,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 282 Top = 282
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtbleed' ElementID = 'edtbleed'
...@@ -970,6 +1018,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -970,6 +1018,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 248 Top = 248
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtteeth' ElementID = 'edtteeth'
...@@ -984,6 +1033,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -984,6 +1033,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 311 Top = 311
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtcutback' ElementID = 'edtcutback'
...@@ -998,6 +1048,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -998,6 +1048,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 344 Top = 344
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtminimumtrapdimension' ElementID = 'edtminimumtrapdimension'
...@@ -1012,6 +1063,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -1012,6 +1063,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 373 Top = 373
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtmaximumtrapdimension' ElementID = 'edtmaximumtrapdimension'
...@@ -1026,6 +1078,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -1026,6 +1078,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 423 Top = 423
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtsize' ElementID = 'edtsize'
...@@ -1075,6 +1128,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -1075,6 +1128,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtdistortionpercent' ElementID = 'edtdistortionpercent'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
DataField = 'upc_distortion_percent' DataField = 'upc_distortion_percent'
DataSource = WebDataSource1 DataSource = WebDataSource1
...@@ -1084,10 +1138,12 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -1084,10 +1138,12 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 516 Top = 516
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtjobnumber' ElementID = 'edtjobnumber'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
DataField = 'plates_job_number' DataField = 'plates_job_number'
DataSource = WebDataSource1 DataSource = WebDataSource1
...@@ -1097,12 +1153,13 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -1097,12 +1153,13 @@ object FOrderEntryWeb: TFOrderEntryWeb
Top = 160 Top = 160
Width = 121 Width = 121
Height = 23 Height = 23
TabStop = False
AutoSize = True AutoSize = True
ChildOrder = 79 ChildOrder = 79
ElementID = 'edtcomments' ElementID = 'edtcomments'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
DataField = 'general_comments' DataField = 'general_comments'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
...@@ -1149,6 +1206,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -1149,6 +1206,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
Height = 23 Height = 23
ElementID = 'wcbqbitem' ElementID = 'wcbqbitem'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
ItemIndex = -1 ItemIndex = -1
DataField = 'staff_fields_quickbooks_item' DataField = 'staff_fields_quickbooks_item'
...@@ -1163,8 +1221,9 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -1163,8 +1221,9 @@ object FOrderEntryWeb: TFOrderEntryWeb
Height = 23 Height = 23
ElementID = 'wcbmaterial' ElementID = 'wcbmaterial'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
TabStop = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
ItemIndex = -1 ItemIndex = -1
Items.Strings = ( Items.Strings = (
'PhotoPolymer' 'PhotoPolymer'
...@@ -1179,8 +1238,9 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -1179,8 +1238,9 @@ object FOrderEntryWeb: TFOrderEntryWeb
Height = 23 Height = 23
ElementID = 'wcbthickness' ElementID = 'wcbthickness'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
TabStop = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
ItemIndex = -1 ItemIndex = -1
Items.Strings = ( Items.Strings = (
'.250' '.250'
...@@ -1198,8 +1258,9 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -1198,8 +1258,9 @@ object FOrderEntryWeb: TFOrderEntryWeb
Height = 23 Height = 23
ElementID = 'wcbprint' ElementID = 'wcbprint'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
TabStop = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
ItemIndex = -1 ItemIndex = -1
Items.Strings = ( Items.Strings = (
'Portrait' 'Portrait'
...@@ -1214,8 +1275,9 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -1214,8 +1275,9 @@ object FOrderEntryWeb: TFOrderEntryWeb
Height = 23 Height = 23
ElementID = 'wcbcolorcontract' ElementID = 'wcbcolorcontract'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
TabStop = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = dtpOrderDateChange
ItemIndex = -1 ItemIndex = -1
Items.Strings = ( Items.Strings = (
'Cromapro Ink Jet' 'Cromapro Ink Jet'
...@@ -1268,20 +1330,9 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -1268,20 +1330,9 @@ object FOrderEntryWeb: TFOrderEntryWeb
ElementID = 'edtordernum' ElementID = 'edtordernum'
Enabled = False Enabled = False
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
ShowFocus = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object btn_confirm_delete: TWebButton
Left = 1094
Top = 414
Width = 96
Height = 25
Caption = 'Delete'
ChildOrder = 82
ElementID = 'btn_confirm_delete'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
OnClick = btn_confirm_deleteClick
end
object btnEdit: TWebButton object btnEdit: TWebButton
Left = 1165 Left = 1165
Top = 560 Top = 560
...@@ -1315,6 +1366,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -1315,6 +1366,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
ChildOrder = 85 ChildOrder = 85
ElementID = 'btnaddaddress' ElementID = 'btnaddaddress'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
TabStop = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = WebButton2Click OnClick = WebButton2Click
end end
...@@ -1323,17 +1375,10 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -1323,17 +1375,10 @@ object FOrderEntryWeb: TFOrderEntryWeb
Left = 160 Left = 160
Top = 18 Top = 18
end end
object tmrScrollTop: TWebTimer
Interval = 100
OnTimer = tmrScrollTopTimer
Left = 240
Top = 8
end
object XDataWebDataSet1: TXDataWebDataSet object XDataWebDataSet1: TXDataWebDataSet
AfterEdit = XDataWebDataSet1AfterEdit
Connection = DMConnection.ApiConnection Connection = DMConnection.ApiConnection
Left = 90 Left = 408
Top = 20 Top = 4
object XDataWebDataSet1ORDER_ID: TIntegerField object XDataWebDataSet1ORDER_ID: TIntegerField
FieldName = 'ORDER_ID' FieldName = 'ORDER_ID'
end end
...@@ -1590,32 +1635,33 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -1590,32 +1635,33 @@ object FOrderEntryWeb: TFOrderEntryWeb
end end
end end
object WebDataSource1: TWebDataSource object WebDataSource1: TWebDataSource
AutoEdit = False
DataSet = XDataWebDataSet1 DataSet = XDataWebDataSet1
Left = 22 Left = 406
Top = 10 Top = 38
end end
object wdsShipTo: TWebDataSource object wdsShipTo: TWebDataSource
AutoEdit = False
DataSet = xdwdsShipTo DataSet = xdwdsShipTo
Left = 212 Left = 320
Top = 436 Top = 38
end end
object xdwdsShipTo: TXDataWebDataSet object xdwdsShipTo: TXDataWebDataSet
AfterEdit = XDataWebDataSet1AfterEdit Left = 322
Left = 208 Top = 6
Top = 398
object xdwdsShipToADDRESS: TStringField object xdwdsShipToADDRESS: TStringField
FieldName = 'ADDRESS' FieldName = 'ADDRESS'
end end
end end
object wdsQBItem: TWebDataSource object wdsQBItem: TWebDataSource
AutoEdit = False
DataSet = xdwdsQBItem DataSet = xdwdsQBItem
Left = 240 Left = 244
Top = 518 Top = 34
end end
object xdwdsQBItem: TXDataWebDataSet object xdwdsQBItem: TXDataWebDataSet
AfterEdit = XDataWebDataSet1AfterEdit Left = 246
Left = 200 Top = 2
Top = 512
object xdwdsQBItemname: TStringField object xdwdsQBItemname: TStringField
FieldName = 'name' FieldName = 'name'
end end
...@@ -1623,7 +1669,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -1623,7 +1669,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
object tmrReturn: TWebTimer object tmrReturn: TWebTimer
Enabled = False Enabled = False
OnTimer = tmrReturnTimer OnTimer = tmrReturnTimer
Left = 306 Left = 216
Top = 62 Top = 258
end end
end end
<nav class="navbar navbar-expand navbar-light bg-light sticky-top" style="z-index: 100;"> <nav class="navbar navbar-expand navbar-light bg-light border-light sticky-top" style="z-index: 100;">
<div class="container-fluid ps-0"> <div class="container-fluid d-flex align-items-center ps-0 pe-0">
<ul class="navbar-nav me-auto ps-2">
<!-- Left-aligned label -->
<div class="me-auto ps-3">
<label id="lbl_form_state" class="form-label mb-0 fw-bold text-uppercase text-nowrap text-danger" style="font-size: 16px;">Test</label>
</div>
<!-- Right-aligned buttons -->
<ul class="navbar-nav ms-auto pe-2 mb-0">
<li class="nav-item pe-2"> <li class="nav-item pe-2">
<button id="btnadd" class="btn btn-primary btn-sm">Add</button> <button id="btnadd" class="btn btn-primary btn-sm">Add</button>
</li> </li>
...@@ -23,9 +30,10 @@ ...@@ -23,9 +30,10 @@
<button id="btncancel" class="btn btn-danger btn-sm">Cancel</button> <button id="btncancel" class="btn btn-danger btn-sm">Cancel</button>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<button id="btnclose" class="btn btn-secondary btn-sm">Close</button> <button id="btnclose" class="btn btn-primary btn-sm">Close</button>
</li> </li>
</ul> </ul>
</div> </div>
</nav> </nav>
<div class="row mx-5"> <div class="row mx-5">
...@@ -418,20 +426,4 @@ ...@@ -418,20 +426,4 @@
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade" id="confirmation_modal" tabindex="-1" aria-labelledby="confirmation_modal_label" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content shadow-lg">
<div class="modal-header">
<h5 class="modal-title" id="confirmation_modal_label">Confirm</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body fs-6 fw-bold" id="modal_body">
Are you sure you want to delete this order?
</div>
<div class="modal-footer justify-content-center">
<button type="button" class="btn btn-secondary me-3" data-bs-dismiss="modal" id="btn_confirm_cancel">Cancel</button>
<button type="button" class="btn btn-primary" data-bs-dismiss="modal" id="btn_confirm_delete">Delete</button>
</div>
</div>
</div>
</div>
...@@ -16,7 +16,6 @@ type ...@@ -16,7 +16,6 @@ type
edtCompanyAccountName: TWebDBEdit; edtCompanyAccountName: TWebDBEdit;
edtInQuickBooks: TWebDBEdit; edtInQuickBooks: TWebDBEdit;
XDataWebClient1: TXDataWebClient; XDataWebClient1: TXDataWebClient;
tmrScrollTop: TWebTimer;
XDataWebDataSet1: TXDataWebDataSet; XDataWebDataSet1: TXDataWebDataSet;
XDataWebDataSet1ORDER_ID: TIntegerField; XDataWebDataSet1ORDER_ID: TIntegerField;
XDataWebDataSet1COMPANY_ID: TIntegerField; XDataWebDataSet1COMPANY_ID: TIntegerField;
...@@ -199,16 +198,14 @@ type ...@@ -199,16 +198,14 @@ type
btnDelete: TWebButton; btnDelete: TWebButton;
btnClose: TWebButton; btnClose: TWebButton;
edtOrderNum: TWebEdit; edtOrderNum: TWebEdit;
btn_confirm_delete: TWebButton;
tmrReturn: TWebTimer; tmrReturn: TWebTimer;
btnEdit: TWebButton; btnEdit: TWebButton;
btnAdd: TWebButton; btnAdd: TWebButton;
WebButton2: TWebButton; WebButton2: TWebButton;
lblFormState: TWebLabel;
procedure WebFormCreate(Sender: TObject); procedure WebFormCreate(Sender: TObject);
procedure WebFormShow(Sender: TObject);
[async] procedure getOrder(Order_ID: string); [async] procedure getOrder(Order_ID: string);
[async] procedure getCustomer(customerID: string); [async] procedure getCustomer(customerID: string);
procedure tmrScrollTopTimer(Sender: TObject);
procedure WebButton1Click(Sender: TObject); procedure WebButton1Click(Sender: TObject);
procedure addColorRow(num, Color, LPI, Size: string); procedure addColorRow(num, Color, LPI, Size: string);
procedure btnSaveClick(Sender: TObject); procedure btnSaveClick(Sender: TObject);
...@@ -222,13 +219,10 @@ type ...@@ -222,13 +219,10 @@ type
procedure btnDeleteClick(Sender: TObject); procedure btnDeleteClick(Sender: TObject);
[async] procedure DelOrder; [async] procedure DelOrder;
procedure tmrReturnTimer(Sender: TObject); procedure tmrReturnTimer(Sender: TObject);
procedure btn_confirm_deleteClick(Sender: TObject);
function VerifyOrder(): boolean; function VerifyOrder(): boolean;
procedure btnAddClick(Sender: TObject); procedure btnAddClick(Sender: TObject);
procedure btnEditClick(Sender: TObject); procedure btnEditClick(Sender: TObject);
procedure EditMode(); procedure EditMode();
procedure XDataWebDataSet1AfterEdit(DataSet: TDataSet);
procedure dtpOrderDateChange(Sender: TObject);
procedure ViewMode(); procedure ViewMode();
procedure WebButton2Click(Sender: TObject); procedure WebButton2Click(Sender: TObject);
procedure ShowAddAddressForm(); procedure ShowAddAddressForm();
...@@ -243,9 +237,10 @@ type ...@@ -243,9 +237,10 @@ type
mode: string; mode: string;
notification: string; notification: string;
procedure RemoveColorRow(Sender: TObject); procedure RemoveColorRow(Sender: TObject);
[async] procedure InitializeForm;
//FJSONProc1: TJSONProc1; //FJSONProc1: TJSONProc1;
public public
class function CreateForm(AElementID, orderInfo, customerInfo, mode, info: string): TWebForm; class function CreateForm(AElementID, orderInfo, customerInfo, modeParam, info: string): TWebForm;
end; end;
var var
...@@ -258,6 +253,46 @@ implementation ...@@ -258,6 +253,46 @@ implementation
uses uses
View.Home, View.Main, View.AddOrder, View.AddAddress, Utils; View.Home, View.Main, View.AddOrder, View.AddAddress, Utils;
class function TFOrderEntryWeb.CreateForm(AElementID, orderInfo, customerInfo, modeParam, info: string): TWebForm;
begin
Application.CreateForm(TFOrderEntryWeb, AElementID, Result,
procedure(AForm: TObject)
begin
with TFOrderEntryWeb(AForm) do
begin
customerID := customerInfo;
orderID := orderInfo;
mode := modeParam;
notification := info;
console.log('Mode in createform: ' + modeParam);
InitializeForm;
end;
end
);
end;
[async] procedure TFOrderEntryWeb.InitializeForm;
begin
if mode = 'ADD' then
begin
await(getCustomer(customerID));
EditMode;
end
else
begin
await(getOrder(orderID));
ViewMode;
end;
edtOrderNum.Text := orderID;
if notification <> '' then
ShowToast(notification);
end;
procedure TFOrderEntryWeb.WebButton2Click(Sender: TObject); procedure TFOrderEntryWeb.WebButton2Click(Sender: TObject);
begin begin
ShowAddAddressForm(); ShowAddAddressForm();
...@@ -413,21 +448,23 @@ begin ...@@ -413,21 +448,23 @@ begin
window.scrollTo(0, 0); window.scrollTo(0, 0);
end; end;
procedure TFOrderEntryWeb.btnDeleteClick(Sender: TObject); procedure TFOrderEntryWeb.btnDeleteClick(Sender: TObject);
begin begin
FModalAction := 'delete'; ShowConfirmationModal(
document.getElementById('modal_body').innerHTML := 'Are you sure you want to delete this order?'; 'Are you sure you want to delete this order?',
document.getElementById('btn_confirm_cancel').innerText := 'Cancel'; 'Delete',
document.getElementById('btn_confirm_delete').innerText := 'Delete'; 'Cancel',
procedure(confirmed: Boolean)
asm begin
var modal = document.getElementById('confirmation_modal'); if confirmed then
if (modal && modal.parentNode !== document.body) { begin
document.body.appendChild(modal); Utils.ShowSpinner('spinner');
} DelOrder();
var confirmationModal = new bootstrap.Modal(modal, { keyboard: false }); tmrReturn.Enabled := true;
confirmationModal.show();
end; end;
end
);
end; end;
procedure TFOrderEntryWeb.btnEditClick(Sender: TObject); procedure TFOrderEntryWeb.btnEditClick(Sender: TObject);
...@@ -435,30 +472,12 @@ begin ...@@ -435,30 +472,12 @@ begin
EditMode(); EditMode();
end; end;
procedure TFOrderEntryWeb.EditMode;
begin
FViewMain.change := true;
btnCopy.Enabled := false;
btnPDF.Enabled := false;
btnDelete.Enabled := false;
btnClose.Enabled := false;
btnSave.Enabled := true;
btnCancel.Enabled := True;
btnEdit.Enabled := false;
btnAdd.Enabled := false;
end;
[async] procedure TFOrderEntryWeb.DelOrder(); [async] procedure TFOrderEntryWeb.DelOrder();
var var
Response: TXDataClientResponse; Response: TXDataClientResponse;
begin begin
Response := await(XDataWebClient1.RawInvokeAsync('ILookupService.DelOrder', Response := await(XDataWebClient1.RawInvokeAsync('ILookupService.DelOrder', [OrderID, 'web', JS.toString(AuthService.TokenPayload.Properties['user_id'])]));
[OrderID, 'web', JS.toString(AuthService.TokenPayload.Properties['user_id'])]));
end;
procedure TFOrderEntryWeb.dtpOrderDateChange(Sender: TObject);
begin
EditMode();
end; end;
procedure TFOrderEntryWeb.SendOrderToServer(); procedure TFOrderEntryWeb.SendOrderToServer();
...@@ -556,32 +575,6 @@ begin ...@@ -556,32 +575,6 @@ begin
GenerateReportPDF; GenerateReportPDF;
end; end;
procedure TFOrderEntryWeb.btn_confirm_deleteClick(Sender: TObject);
begin
if FModalAction = 'cancel' then
begin
FViewMain.change := false;
if OrderID <> '' then
FViewMain.ViewOrderEntryWeb(OrderID, '', 'EDIT', 'Failure: Changes Discarded')
else
FViewMain.ViewOrders('');
end
else if FModalAction = 'delete' then
begin
Utils.ShowSpinner('spinner');
asm
var modal = document.getElementById('confirmation_modal');
if (modal && modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
var bsModal = new bootstrap.Modal(modal, { keyboard: false });
bsModal.hide();
end;
DelOrder();
tmrReturn.Enabled := true;
end;
end;
procedure TFOrderEntryWeb.GenerateReportPDF; procedure TFOrderEntryWeb.GenerateReportPDF;
// sends the search to the server which then sends back a pdf of the results // sends the search to the server which then sends back a pdf of the results
var var
...@@ -624,27 +617,6 @@ begin ...@@ -624,27 +617,6 @@ begin
end; end;
end; end;
class function TFOrderEntryWeb.CreateForm(AElementID, orderInfo, customerInfo, mode, info: string): TWebForm;
var
localMode: string;
begin
localMode := mode;
Application.CreateForm(TFOrderEntryWeb, AElementID, Result,
procedure(AForm: TObject)
begin
with TFOrderEntryWeb(AForm) do
begin
TFOrderEntryWeb(AForm).customerID := customerInfo;
TFOrderEntryWeb(AForm).orderID := orderInfo;
TFOrderEntryWeb(AForm).mode := localMode;
TFOrderEntryWeb(AForm).notification := info;
end;
end
);
end;
procedure TFOrderEntryWeb.addColorRow(num: string; Color: string; LPI: string; Size: string); procedure TFOrderEntryWeb.addColorRow(num: string; Color: string; LPI: string; Size: string);
var var
container, newRow, col, labelEl, inputEl, removeCol: TJSHTMLElement; container, newRow, col, labelEl, inputEl, removeCol: TJSHTMLElement;
...@@ -763,19 +735,22 @@ end; ...@@ -763,19 +735,22 @@ end;
procedure TFOrderEntryWeb.btnCancelClick(Sender: TObject); procedure TFOrderEntryWeb.btnCancelClick(Sender: TObject);
begin begin
FModalAction := 'cancel'; ShowConfirmationModal(
document.getElementById('modal_body').innerHTML := 'Are you sure you want to cancel all changes?'; 'Are you sure you want to cancel all changes?',
document.getElementById('btn_confirm_cancel').innerText := 'No'; 'Yes',
document.getElementById('btn_confirm_delete').innerText := 'Yes'; 'No',
procedure(confirmed: Boolean)
asm begin
var modal = document.getElementById('confirmation_modal'); if confirmed then
if (modal && modal.parentNode !== document.body) { begin
document.body.appendChild(modal); FViewMain.change := false;
} if OrderID <> '' then
var confirmationModal = new bootstrap.Modal(modal, { keyboard: false }); FViewMain.ViewOrderEntryWeb(OrderID, '', 'EDIT', 'Failure: Changes Discarded')
confirmationModal.show(); else
FViewMain.ViewOrders('');
end; end;
end
);
end; end;
procedure TFOrderEntryWeb.btnCloseClick(Sender: TObject); procedure TFOrderEntryWeb.btnCloseClick(Sender: TObject);
...@@ -957,31 +932,6 @@ begin ...@@ -957,31 +932,6 @@ begin
end; end;
procedure TFOrderEntryWeb.WebFormShow(Sender: TObject);
begin
if mode <> 'ADD' then
begin
getOrder(orderID);
ViewMode();
end
else
begin
getCustomer(customerID);
EditMode();
end;
edtOrderNum.Text := OrderID;
if notification <> '' then
begin
ShowToast(notification);
end;
end;
procedure TFOrderEntryWeb.XDataWebDataSet1AfterEdit(DataSet: TDataSet);
begin
EditMode();
end;
procedure TFOrderEntryWeb.tmrReturnTimer(Sender: TObject); procedure TFOrderEntryWeb.tmrReturnTimer(Sender: TObject);
begin begin
Utils.HideSpinner('spinner'); Utils.HideSpinner('spinner');
...@@ -989,10 +939,25 @@ begin ...@@ -989,10 +939,25 @@ begin
FViewMain.ViewOrders('Success: Order Successfully Deleted'); FViewMain.ViewOrders('Success: Order Successfully Deleted');
end; end;
procedure TFOrderEntryWeb.tmrScrollTopTimer(Sender: TObject); procedure TFOrderEntryWeb.EditMode;
begin begin
tmrScrollTop.Enabled := False; XDataWebDataSet1.Edit;
window.scrollTo(0, 0); FViewMain.change := true;
btnCopy.Enabled := false;
btnPDF.Enabled := false;
btnDelete.Enabled := false;
btnClose.Enabled := false;
btnSave.Enabled := true;
btnCancel.Enabled := True;
btnEdit.Enabled := false;
btnAdd.Enabled := false;
cbPdf.Enabled := True;
cbInkJet.Enabled := True;
lblFormState.Caption := 'Edit Mode';
lblFormState.ElementHandle.classList.remove('text-danger');
lblFormState.ElementHandle.classList.add('text-success');
end; end;
procedure TFOrderEntryWeb.ViewMode; procedure TFOrderEntryWeb.ViewMode;
...@@ -1006,6 +971,13 @@ begin ...@@ -1006,6 +971,13 @@ begin
btnEdit.Enabled := true; btnEdit.Enabled := true;
btnAdd.Enabled := true; btnAdd.Enabled := true;
FViewMain.change := false; FViewMain.change := false;
cbPdf.Enabled := False;
cbInkJet.Enabled := False;
lblFormState.Caption := 'View Mode';
lblFormState.ElementHandle.classList.remove('text-success');
lblFormState.ElementHandle.classList.add('text-danger');
end; end;
......
...@@ -76,7 +76,7 @@ type ...@@ -76,7 +76,7 @@ type
procedure ClearTable(); procedure ClearTable();
procedure GeneratePagination(TotalPages: Integer); procedure GeneratePagination(TotalPages: Integer);
function GenerateSearchOptions(): string; function GenerateSearchOptions(): string;
procedure orderEntry(orderInfo, customerInfo, mode, orderType: string); procedure OrderEntry(orderInfo, customerInfo, mode, orderType: string);
procedure ShowAddOrderForm(); procedure ShowAddOrderForm();
procedure ShowSearchForm(); procedure ShowSearchForm();
procedure ShowSetStatusForm(); procedure ShowSetStatusForm();
...@@ -139,38 +139,25 @@ begin ...@@ -139,38 +139,25 @@ begin
); );
end; end;
procedure TFViewOrders.btnPDFClick(Sender: TObject); procedure TFViewOrders.btnPDFClick(Sender: TObject);
var
confirmBtn: TJSHTMLElement;
begin begin
if xdwdsOrders.RecordCount >= 100 then if xdwdsOrders.RecordCount >= 100 then
begin begin
FPendingPdfTab := nil; FPendingPdfTab := nil;
document.getElementById('modal_body').innerHTML := ShowConfirmationModal(
'You are about to generate a PDF for over 100 orders. This may take some time. Continue?'; 'You are about to generate a PDF for over 100 orders. This may take some time. Continue?',
document.getElementById('btn_confirm_cancel').innerText := 'Cancel'; 'Yes',
document.getElementById('btn_confirm_delete').innerText := 'Yes'; 'Cancel',
procedure(confirmed: Boolean)
confirmBtn := TJSHTMLElement(document.getElementById('btn_confirm_delete')); begin
confirmBtn.addEventListener('click', if confirmed then
TJSEventHandler(
procedure(Event: TJSEvent)
begin begin
asm bootstrap.Modal.getInstance(document.getElementById('confirmation_modal')).hide(); end;
HandlePDFConfirmation; HandlePDFConfirmation;
end;
end end
)
); );
asm
var modal = document.getElementById('confirmation_modal');
if (modal && modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
var confirmationModal = new bootstrap.Modal(modal, { keyboard: false });
confirmationModal.show();
end;
end end
else else
begin begin
...@@ -198,6 +185,7 @@ begin ...@@ -198,6 +185,7 @@ begin
end; end;
procedure TFViewOrders.HandlePDFConfirmation; procedure TFViewOrders.HandlePDFConfirmation;
begin begin
// Open tab only now // Open tab only now
...@@ -765,7 +753,10 @@ begin ...@@ -765,7 +753,10 @@ begin
// Update label // Update label
if orderListLength = 0 then if orderListLength = 0 then
lblEntries.Caption := 'No entries found' begin
lblEntries.Caption := 'No entries found';
ShowToast('No entries found', 'danger');
end
else if (PageNumber * PageSize) < orderListLength then else if (PageNumber * PageSize) < orderListLength then
lblEntries.Caption := Format('Showing entries %d - %d of %d', lblEntries.Caption := Format('Showing entries %d - %d of %d',
[(PageNumber - 1) * PageSize + 1, PageNumber * PageSize, orderListLength]) [(PageNumber - 1) * PageSize + 1, PageNumber * PageSize, orderListLength])
...@@ -784,18 +775,18 @@ begin ...@@ -784,18 +775,18 @@ begin
end; end;
procedure TFViewOrders.btnAddOrderClick(Sender: TObject); procedure TFViewOrders.btnAddOrderClick(Sender: TObject);
begin begin
ShowAddOrderForm(); ShowAddOrderForm();
end; end;
procedure TFViewOrders.orderEntry(orderInfo, customerInfo, mode, orderType: string); procedure TFViewOrders.OrderEntry(orderInfo, customerInfo, mode, orderType: string);
begin begin
if orderType = 'corrugated' then if orderType = 'corrugated' then
FViewMain.ViewOrderEntryCorrugated(orderInfo, customerInfo, mode, '') begin
FViewMain.ViewOrderEntryCorrugated(orderInfo, customerInfo, mode, '');
end
else if orderType = 'web' then else if orderType = 'web' then
FViewMain.ViewOrderEntryWeb(orderInfo, customerInfo, mode, '') FViewMain.ViewOrderEntryWeb(orderInfo, customerInfo, mode, '')
else else
......
object FSelectCustomer: TFSelectCustomer object FSelectCustomer: TFSelectCustomer
Width = 765 Width = 765
Height = 480 Height = 416
OnCreate = WebFormCreate OnCreate = WebFormCreate
OnShow = WebFormShow OnShow = WebFormShow
object WebLabel1: TWebLabel object WebLabel1: TWebLabel
Left = 8 Left = 8
Top = 81 Top = 27
Width = 95 Width = 95
Height = 15 Height = 15
Caption = 'Search Customers' Caption = 'Search Customers'
...@@ -14,7 +14,7 @@ object FSelectCustomer: TFSelectCustomer ...@@ -14,7 +14,7 @@ object FSelectCustomer: TFSelectCustomer
end end
object WebLabel2: TWebLabel object WebLabel2: TWebLabel
Left = 279 Left = 279
Top = 81 Top = 27
Width = 134 Width = 134
Height = 15 Height = 15
Caption = 'Selected Customer Name' Caption = 'Selected Customer Name'
...@@ -23,7 +23,7 @@ object FSelectCustomer: TFSelectCustomer ...@@ -23,7 +23,7 @@ object FSelectCustomer: TFSelectCustomer
end end
object WebLabel3: TWebLabel object WebLabel3: TWebLabel
Left = 131 Left = 131
Top = 81 Top = 27
Width = 113 Width = 113
Height = 15 Height = 15
Caption = 'Selected Customer ID' Caption = 'Selected Customer ID'
...@@ -32,7 +32,7 @@ object FSelectCustomer: TFSelectCustomer ...@@ -32,7 +32,7 @@ object FSelectCustomer: TFSelectCustomer
end end
object edtSearch: TWebEdit object edtSearch: TWebEdit
Left = 4 Left = 4
Top = 102 Top = 48
Width = 121 Width = 121
Height = 22 Height = 22
ChildOrder = 2 ChildOrder = 2
...@@ -42,7 +42,7 @@ object FSelectCustomer: TFSelectCustomer ...@@ -42,7 +42,7 @@ object FSelectCustomer: TFSelectCustomer
end end
object edtName: TWebEdit object edtName: TWebEdit
Left = 279 Left = 279
Top = 102 Top = 48
Width = 142 Width = 142
Height = 22 Height = 22
ChildOrder = 1 ChildOrder = 1
...@@ -52,7 +52,7 @@ object FSelectCustomer: TFSelectCustomer ...@@ -52,7 +52,7 @@ object FSelectCustomer: TFSelectCustomer
end end
object TMSFNCGrid1: TTMSFNCGrid object TMSFNCGrid1: TTMSFNCGrid
Left = 0 Left = 0
Top = 163 Top = 99
Width = 765 Width = 765
Height = 317 Height = 317
Align = alBottom Align = alBottom
...@@ -206,10 +206,11 @@ object FSelectCustomer: TFSelectCustomer ...@@ -206,10 +206,11 @@ object FSelectCustomer: TFSelectCustomer
ScrollMode = scmItemScrolling ScrollMode = scmItemScrolling
DesignTimeSampleData = True DesignTimeSampleData = True
OnCellClick = TMSFNCGrid1CellClick OnCellClick = TMSFNCGrid1CellClick
ExplicitTop = 163
end end
object btnCancel: TWebButton object btnCancel: TWebButton
Left = 556 Left = 556
Top = 101 Top = 47
Width = 96 Width = 96
Height = 25 Height = 25
Caption = 'Cancel' Caption = 'Cancel'
...@@ -220,7 +221,7 @@ object FSelectCustomer: TFSelectCustomer ...@@ -220,7 +221,7 @@ object FSelectCustomer: TFSelectCustomer
end end
object btnConfirm: TWebButton object btnConfirm: TWebButton
Left = 440 Left = 440
Top = 101 Top = 47
Width = 96 Width = 96
Height = 25 Height = 25
Caption = 'Select' Caption = 'Select'
...@@ -229,30 +230,9 @@ object FSelectCustomer: TFSelectCustomer ...@@ -229,30 +230,9 @@ object FSelectCustomer: TFSelectCustomer
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = btnConfirmClick OnClick = btnConfirmClick
end end
object edtNotification: TWebEdit
Left = 4
Top = 16
Width = 510
Height = 22
HelpType = htKeyword
TabStop = False
ChildOrder = 8
ElementFont = efCSS
Enabled = False
Font.Charset = ANSI_CHARSET
Font.Color = clRed
Font.Height = -13
Font.Name = 'Arial'
Font.Style = []
HeightPercent = 100.000000000000000000
HideSelection = False
ParentFont = False
TabOrder = 1
WidthPercent = 100.000000000000000000
end
object edtID: TWebEdit object edtID: TWebEdit
Left = 131 Left = 131
Top = 102 Top = 48
Width = 142 Width = 142
Height = 22 Height = 22
ChildOrder = 1 ChildOrder = 1
......
<html> <div id="spinner" class="position-absolute top-50 start-50 translate-middle d-none">
<head> <div class="lds-roller">
<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <div></div><div></div><div></div><div></div>
<title>TMS Web Project</title> <div></div><div></div><div></div><div></div>
<style> </div>
</style> </div>
</head>
<body>
</body>
</html>
\ No newline at end of file
...@@ -21,7 +21,6 @@ type ...@@ -21,7 +21,6 @@ type
TMSFNCGrid1: TTMSFNCGrid; TMSFNCGrid1: TTMSFNCGrid;
btnCancel: TWebButton; btnCancel: TWebButton;
btnConfirm: TWebButton; btnConfirm: TWebButton;
edtNotification: TWebEdit;
XDataWebClient1: TXDataWebClient; XDataWebClient1: TXDataWebClient;
xdwdsCustomers: TXDataWebDataSet; xdwdsCustomers: TXDataWebDataSet;
wdsCustomers: TWebDataSource; wdsCustomers: TWebDataSource;
...@@ -78,7 +77,6 @@ end; ...@@ -78,7 +77,6 @@ end;
procedure TFSelectCustomer.WebFormShow(Sender: TObject); procedure TFSelectCustomer.WebFormShow(Sender: TObject);
begin begin
Utils.ShowSpinner('spinner');
getCustomers(); getCustomers();
end; end;
...@@ -90,7 +88,7 @@ end; ...@@ -90,7 +88,7 @@ end;
procedure TFSelectCustomer.btnConfirmClick(Sender: TObject); procedure TFSelectCustomer.btnConfirmClick(Sender: TObject);
begin begin
if edtID.Text = '' then if edtID.Text = '' then
edtNotification.Text := 'Please Select a Customer' ShowToast('Please Select a Customer', 'danger')
else else
begin begin
xdwdsCustomers.Locate('Id', edtID.Text, []); xdwdsCustomers.Locate('Id', edtID.Text, []);
...@@ -111,6 +109,7 @@ var ...@@ -111,6 +109,7 @@ var
i: integer; i: integer;
begin begin
try try
Utils.ShowSpinner('spinner');
// Fetch data from XData service // Fetch data from XData service
xdcResponse := await(XDataWebClient1.RawInvokeAsync('ILookupService.getQBCustomers', [])); xdcResponse := await(XDataWebClient1.RawInvokeAsync('ILookupService.getQBCustomers', []));
customerList := TJSObject(xdcResponse.Result); customerList := TJSObject(xdcResponse.Result);
...@@ -126,7 +125,6 @@ begin ...@@ -126,7 +125,6 @@ begin
on E: EXDataClientRequestException do on E: EXDataClientRequestException do
Utils.ShowErrorModal('Could not retrieve QuickBooks customers: ' + E.ErrorResult.ErrorMessage); Utils.ShowErrorModal('Could not retrieve QuickBooks customers: ' + E.ErrorResult.ErrorMessage);
end; end;
Utils.HideSpinner('spinner');
end; end;
...@@ -165,6 +163,7 @@ begin ...@@ -165,6 +163,7 @@ begin
finally finally
TMSFNCGrid1.EndUpdate; TMSFNCGrid1.EndUpdate;
end; end;
Utils.HideSpinner('spinner');
end; end;
procedure TFSelectCustomer.TMSFNCGrid1CellClick(Sender: TObject; ACol, procedure TFSelectCustomer.TMSFNCGrid1CellClick(Sender: TObject; ACol,
......
object FSetStatus: TFSetStatus object FSetStatus: TFSetStatus
Width = 640 Width = 640
Height = 361 Height = 278
OnShow = WebFormShow OnShow = WebFormShow
object lblStatus1: TWebLabel object lblStatus1: TWebLabel
Left = 326 Left = 328
Top = 80 Top = 32
Width = 38 Width = 38
Height = 14 Height = 14
Caption = 'Status:' Caption = 'Status:'
...@@ -18,8 +18,8 @@ object FSetStatus: TFSetStatus ...@@ -18,8 +18,8 @@ object FSetStatus: TFSetStatus
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object WebLabel1: TWebLabel object WebLabel1: TWebLabel
Left = 484 Left = 486
Top = 80 Top = 32
Width = 91 Width = 91
Height = 14 Height = 14
Caption = 'Date Completed:' Caption = 'Date Completed:'
...@@ -33,8 +33,8 @@ object FSetStatus: TFSetStatus ...@@ -33,8 +33,8 @@ object FSetStatus: TFSetStatus
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object WebLabel2: TWebLabel object WebLabel2: TWebLabel
Left = 14 Left = 16
Top = 80 Top = 32
Width = 48 Width = 48
Height = 14 Height = 14
Caption = 'Order ID:' Caption = 'Order ID:'
...@@ -48,8 +48,8 @@ object FSetStatus: TFSetStatus ...@@ -48,8 +48,8 @@ object FSetStatus: TFSetStatus
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object WebLabel3: TWebLabel object WebLabel3: TWebLabel
Left = 172 Left = 174
Top = 78 Top = 30
Width = 57 Width = 57
Height = 14 Height = 14
Caption = 'Job Name:' Caption = 'Job Name:'
...@@ -63,8 +63,8 @@ object FSetStatus: TFSetStatus ...@@ -63,8 +63,8 @@ object FSetStatus: TFSetStatus
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object WebLabel4: TWebLabel object WebLabel4: TWebLabel
Left = 11 Left = 13
Top = 142 Top = 94
Width = 51 Width = 51
Height = 14 Height = 14
Caption = 'Ship Due:' Caption = 'Ship Due:'
...@@ -78,8 +78,8 @@ object FSetStatus: TFSetStatus ...@@ -78,8 +78,8 @@ object FSetStatus: TFSetStatus
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object WebLabel5: TWebLabel object WebLabel5: TWebLabel
Left = 169 Left = 171
Top = 142 Top = 94
Width = 78 Width = 78
Height = 14 Height = 14
Caption = 'New Due Date:' Caption = 'New Due Date:'
...@@ -93,8 +93,8 @@ object FSetStatus: TFSetStatus ...@@ -93,8 +93,8 @@ object FSetStatus: TFSetStatus
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object lblMount: TWebLabel object lblMount: TWebLabel
Left = 324 Left = 326
Top = 200 Top = 152
Width = 62 Width = 62
Height = 14 Height = 14
Caption = 'Mount Due:' Caption = 'Mount Due:'
...@@ -108,8 +108,8 @@ object FSetStatus: TFSetStatus ...@@ -108,8 +108,8 @@ object FSetStatus: TFSetStatus
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object lblMountNew: TWebLabel object lblMountNew: TWebLabel
Left = 482 Left = 484
Top = 200 Top = 152
Width = 78 Width = 78
Height = 14 Height = 14
Caption = 'New Due Date:' Caption = 'New Due Date:'
...@@ -123,8 +123,8 @@ object FSetStatus: TFSetStatus ...@@ -123,8 +123,8 @@ object FSetStatus: TFSetStatus
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object lblPlate: TWebLabel object lblPlate: TWebLabel
Left = 11 Left = 13
Top = 200 Top = 152
Width = 54 Width = 54
Height = 14 Height = 14
Caption = 'Plate Due:' Caption = 'Plate Due:'
...@@ -138,8 +138,8 @@ object FSetStatus: TFSetStatus ...@@ -138,8 +138,8 @@ object FSetStatus: TFSetStatus
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object lblPlateNew: TWebLabel object lblPlateNew: TWebLabel
Left = 169 Left = 171
Top = 200 Top = 152
Width = 78 Width = 78
Height = 14 Height = 14
Caption = 'New Due Date:' Caption = 'New Due Date:'
...@@ -153,8 +153,8 @@ object FSetStatus: TFSetStatus ...@@ -153,8 +153,8 @@ object FSetStatus: TFSetStatus
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object lblArt: TWebLabel object lblArt: TWebLabel
Left = 324 Left = 326
Top = 142 Top = 94
Width = 44 Width = 44
Height = 14 Height = 14
Caption = 'Art Due:' Caption = 'Art Due:'
...@@ -168,8 +168,8 @@ object FSetStatus: TFSetStatus ...@@ -168,8 +168,8 @@ object FSetStatus: TFSetStatus
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object lblArtNew: TWebLabel object lblArtNew: TWebLabel
Left = 482 Left = 484
Top = 142 Top = 94
Width = 78 Width = 78
Height = 14 Height = 14
Caption = 'New Due Date:' Caption = 'New Due Date:'
...@@ -183,8 +183,8 @@ object FSetStatus: TFSetStatus ...@@ -183,8 +183,8 @@ object FSetStatus: TFSetStatus
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object wlcbStatus: TWebLookupComboBox object wlcbStatus: TWebLookupComboBox
Left = 326 Left = 328
Top = 100 Top = 52
Width = 145 Width = 145
Height = 22 Height = 22
ElementClassName = 'custom-select' ElementClassName = 'custom-select'
...@@ -194,8 +194,8 @@ object FSetStatus: TFSetStatus ...@@ -194,8 +194,8 @@ object FSetStatus: TFSetStatus
LookupValues = <> LookupValues = <>
end end
object dtpDate: TWebDateTimePicker object dtpDate: TWebDateTimePicker
Left = 484 Left = 486
Top = 100 Top = 52
Width = 145 Width = 145
Height = 22 Height = 22
BorderStyle = bsSingle BorderStyle = bsSingle
...@@ -206,8 +206,8 @@ object FSetStatus: TFSetStatus ...@@ -206,8 +206,8 @@ object FSetStatus: TFSetStatus
Text = '' Text = ''
end end
object btnConfirm: TWebButton object btnConfirm: TWebButton
Left = 14 Left = 16
Top = 273 Top = 225
Width = 96 Width = 96
Height = 25 Height = 25
Caption = 'Confirm' Caption = 'Confirm'
...@@ -222,8 +222,8 @@ object FSetStatus: TFSetStatus ...@@ -222,8 +222,8 @@ object FSetStatus: TFSetStatus
OnClick = btnConfirmClick OnClick = btnConfirmClick
end end
object btnCancel: TWebButton object btnCancel: TWebButton
Left = 125 Left = 127
Top = 273 Top = 225
Width = 96 Width = 96
Height = 25 Height = 25
Caption = 'Cancel' Caption = 'Cancel'
...@@ -238,8 +238,8 @@ object FSetStatus: TFSetStatus ...@@ -238,8 +238,8 @@ object FSetStatus: TFSetStatus
OnClick = btnCancelClick OnClick = btnCancelClick
end end
object edtOrderID: TWebEdit object edtOrderID: TWebEdit
Left = 14 Left = 16
Top = 100 Top = 52
Width = 145 Width = 145
Height = 22 Height = 22
HelpType = htKeyword HelpType = htKeyword
...@@ -259,31 +259,9 @@ object FSetStatus: TFSetStatus ...@@ -259,31 +259,9 @@ object FSetStatus: TFSetStatus
TabOrder = 1 TabOrder = 1
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object edtNotification: TWebEdit
Left = 14
Top = 24
Width = 303
Height = 22
HelpType = htKeyword
TabStop = False
ChildOrder = 8
ElementClassName = 'form-control'
ElementFont = efCSS
Enabled = False
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -8
Font.Name = 'Arial'
Font.Style = []
HeightPercent = 100.000000000000000000
HideSelection = False
ParentFont = False
TabOrder = 1
WidthPercent = 100.000000000000000000
end
object edtJobName: TWebEdit object edtJobName: TWebEdit
Left = 172 Left = 174
Top = 100 Top = 52
Width = 145 Width = 145
Height = 22 Height = 22
HelpType = htKeyword HelpType = htKeyword
...@@ -304,8 +282,8 @@ object FSetStatus: TFSetStatus ...@@ -304,8 +282,8 @@ object FSetStatus: TFSetStatus
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object dtpShipDue: TWebDateTimePicker object dtpShipDue: TWebDateTimePicker
Left = 11 Left = 13
Top = 162 Top = 114
Width = 145 Width = 145
Height = 22 Height = 22
BorderStyle = bsSingle BorderStyle = bsSingle
...@@ -317,8 +295,8 @@ object FSetStatus: TFSetStatus ...@@ -317,8 +295,8 @@ object FSetStatus: TFSetStatus
Text = '' Text = ''
end end
object dtpNewShipDue: TWebDateTimePicker object dtpNewShipDue: TWebDateTimePicker
Left = 169 Left = 171
Top = 162 Top = 114
Width = 145 Width = 145
Height = 22 Height = 22
BorderStyle = bsSingle BorderStyle = bsSingle
...@@ -329,8 +307,8 @@ object FSetStatus: TFSetStatus ...@@ -329,8 +307,8 @@ object FSetStatus: TFSetStatus
Text = '' Text = ''
end end
object dtpMountDue: TWebDateTimePicker object dtpMountDue: TWebDateTimePicker
Left = 324 Left = 326
Top = 220 Top = 172
Width = 145 Width = 145
Height = 22 Height = 22
BorderStyle = bsSingle BorderStyle = bsSingle
...@@ -342,8 +320,8 @@ object FSetStatus: TFSetStatus ...@@ -342,8 +320,8 @@ object FSetStatus: TFSetStatus
Text = '' Text = ''
end end
object dtpNewMountDue: TWebDateTimePicker object dtpNewMountDue: TWebDateTimePicker
Left = 482 Left = 484
Top = 220 Top = 172
Width = 145 Width = 145
Height = 22 Height = 22
BorderStyle = bsSingle BorderStyle = bsSingle
...@@ -354,8 +332,8 @@ object FSetStatus: TFSetStatus ...@@ -354,8 +332,8 @@ object FSetStatus: TFSetStatus
Text = '' Text = ''
end end
object dtpPlateDue: TWebDateTimePicker object dtpPlateDue: TWebDateTimePicker
Left = 11 Left = 13
Top = 220 Top = 172
Width = 145 Width = 145
Height = 22 Height = 22
BorderStyle = bsSingle BorderStyle = bsSingle
...@@ -367,8 +345,8 @@ object FSetStatus: TFSetStatus ...@@ -367,8 +345,8 @@ object FSetStatus: TFSetStatus
Text = '' Text = ''
end end
object dtpNewPlateDue: TWebDateTimePicker object dtpNewPlateDue: TWebDateTimePicker
Left = 169 Left = 171
Top = 220 Top = 172
Width = 145 Width = 145
Height = 22 Height = 22
BorderStyle = bsSingle BorderStyle = bsSingle
...@@ -379,8 +357,8 @@ object FSetStatus: TFSetStatus ...@@ -379,8 +357,8 @@ object FSetStatus: TFSetStatus
Text = '' Text = ''
end end
object dtpArtDue: TWebDateTimePicker object dtpArtDue: TWebDateTimePicker
Left = 324 Left = 326
Top = 162 Top = 114
Width = 145 Width = 145
Height = 22 Height = 22
BorderStyle = bsSingle BorderStyle = bsSingle
...@@ -392,8 +370,8 @@ object FSetStatus: TFSetStatus ...@@ -392,8 +370,8 @@ object FSetStatus: TFSetStatus
Text = '' Text = ''
end end
object dtpNewArtDue: TWebDateTimePicker object dtpNewArtDue: TWebDateTimePicker
Left = 482 Left = 484
Top = 162 Top = 114
Width = 145 Width = 145
Height = 22 Height = 22
BorderStyle = bsSingle BorderStyle = bsSingle
......
...@@ -17,7 +17,6 @@ type ...@@ -17,7 +17,6 @@ type
btnCancel: TWebButton; btnCancel: TWebButton;
WebLabel2: TWebLabel; WebLabel2: TWebLabel;
edtOrderID: TWebEdit; edtOrderID: TWebEdit;
edtNotification: TWebEdit;
edtJobName: TWebEdit; edtJobName: TWebEdit;
WebLabel3: TWebLabel; WebLabel3: TWebLabel;
WebLabel4: TWebLabel; WebLabel4: TWebLabel;
......
...@@ -57,35 +57,19 @@ begin ...@@ -57,35 +57,19 @@ begin
Exit; Exit;
end; end;
asm ShowConfirmationModal(
var modal = document.getElementById('confirmation_modal'); 'Are you sure you want to save changes to your profile?',
var btnCancel = document.getElementById('btn_confirm_cancel'); 'Save',
var btnConfirm = document.getElementById('btn_confirm_delete'); 'Cancel',
var modalBody = document.getElementById('modal_body'); procedure(confirmed: Boolean)
var self = this; begin
if confirmed then
if (modal && btnCancel && btnConfirm && modalBody) { EditUser;
modalBody.innerText = 'Are you sure you want to save changes to your profile?'; end
btnCancel.innerText = 'Cancel'; );
btnConfirm.innerText = 'Save';
if (modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
var bsModal = new bootstrap.Modal(modal, { keyboard: false });
bsModal.show();
btnConfirm.onclick = function () {
self.EditUser();
bsModal.hide();
};
}
end;
end; end;
[async] procedure TFViewUserProfile.EditUser; [async] procedure TFViewUserProfile.EditUser;
var var
xdcResponse: TXDataClientResponse; xdcResponse: TXDataClientResponse;
...@@ -114,28 +98,33 @@ begin ...@@ -114,28 +98,33 @@ begin
end; end;
procedure TFViewUserProfile.btnCancelClick(Sender: TObject); procedure TFViewUserProfile.btnCancelClick(Sender: TObject);
var
xdcResponse: TXDataClientResponse;
userList: TJSObject;
data: TJSArray;
user: TJSObject;
begin begin
ShowConfirmationModal(
'Are you sure you want to cancel all your changes?',
'Yes',
'No',
procedure(confirmed: Boolean)
begin
if confirmed then
begin
GetUser(); GetUser();
showToast('Failure: Changes discarded'); ShowToast('Changes discarded', 'danger');
end;
end
);
end; end;
procedure TFViewUserProfile.WebFormShow(Sender: TObject); procedure TFViewUserProfile.WebFormShow(Sender: TObject);
begin begin
GetUser(); GetUser();
//edtJwt.Text := TJSJSON.stringify(AuthService.TokenPayload); //edtJwt.Text := TJSJSON.stringify(AuthService.TokenPayload);
// View.UserProfile.WebFormShow // View.UserProfile.WebFormShow
chkAdminUser.Checked := SameText(string(AuthService.TokenPayload.Properties['user_admin']), 'true'); chkAdminUser.Checked := SameText(string(AuthService.TokenPayload.Properties['user_admin']), 'true');
end; end;
procedure TFViewUserProfile.GetUser; procedure TFViewUserProfile.GetUser;
var var
xdcResponse: TXDataClientResponse; xdcResponse: TXDataClientResponse;
......
...@@ -43,22 +43,5 @@ ...@@ -43,22 +43,5 @@
</div> </div>
</div> </div>
</div> </div>
<!--</div> -->
<!--</div> -->
<div class="modal fade" id="confirmation_modal" tabindex="-1" aria-labelledby="confirmation_modal_label" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="confirmation_modal_label">Confirm</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
Are you sure you want to make these changes?
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary" data-bs-dismiss="modal" id="btn_confirm_delete" >Confirm</button>
</div>
</div>
</div>
</div>
...@@ -382,6 +382,15 @@ is-invalid .form-check-input { ...@@ -382,6 +382,15 @@ is-invalid .form-check-input {
animation: slideInLeft 0.4s ease-out forwards; animation: slideInLeft 0.4s ease-out forwards;
} }
#spinner {
position: fixed !important;
z-index: 9999 !important;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
......
...@@ -87,6 +87,7 @@ uses ...@@ -87,6 +87,7 @@ uses
System.Generics.Collections, System.Generics.Collections,
XData.Sys.Exceptions, uLibrary, rOrderWeb, rOrderCutting; XData.Sys.Exceptions, uLibrary, rOrderWeb, rOrderCutting;
procedure TLookupService.AfterConstruction; procedure TLookupService.AfterConstruction;
begin begin
inherited; inherited;
...@@ -94,12 +95,14 @@ begin ...@@ -94,12 +95,14 @@ begin
end; end;
procedure TLookupService.BeforeDestruction; procedure TLookupService.BeforeDestruction;
begin begin
ordersDB.Free; ordersDB.Free;
inherited; inherited;
end; end;
function TLookupService.DelShippingAddress(AddressID, CustomerID: string): TJSONObject; function TLookupService.DelShippingAddress(AddressID, CustomerID: string): TJSONObject;
var var
SQL: string; SQL: string;
...@@ -300,7 +303,6 @@ begin ...@@ -300,7 +303,6 @@ begin
end; end;
function TLookupService.AddShippingAddress(AddressInfo: string): TJSONObject; function TLookupService.AddShippingAddress(AddressInfo: string): TJSONObject;
var var
JSONData: TJSONObject; JSONData: TJSONObject;
...@@ -1686,7 +1688,7 @@ begin ...@@ -1686,7 +1688,7 @@ begin
if ( JSONData.GetValue<string>('staff_fields_mount_due') <> '' ) and ( JSONData.GetValue<string>('staff_fields_mount_due') <> '12/30/1899' ) then if ( JSONData.GetValue<string>('staff_fields_mount_due') <> '' ) and ( JSONData.GetValue<string>('staff_fields_mount_due') <> '12/30/1899' ) then
AddStatusSchedule('MOUNT', JSONData, ORDER_ID); AddStatusSchedule('MOUNT', JSONData, ORDER_ID);
addToRevisionsTable(intToStr(ORDER_ID), 'corrugated_plate_orders_revisions', JSONData); AddToRevisionsTable(intToStr(ORDER_ID), 'corrugated_plate_orders_revisions', JSONData);
if mode = 'ADD' then if mode = 'ADD' then
msg := 'Success: Order Successfully Added' msg := 'Success: Order Successfully Added'
...@@ -2239,25 +2241,22 @@ end; ...@@ -2239,25 +2241,22 @@ end;
function TLookupService.delOrder(OrderID, orderType, UserID: string): TJSONObject; function TLookupService.delOrder(OrderID, orderType, UserID: string): TJSONObject;
var var
table: string; table, table2, SQL: string;
table2: string; stream: TStringStream;
sql: string;
CorrugatedOrder: TFullOrder;
WebOrder: TWebOrder;
CuttingDieOrder: TCuttingDie;
DateFormat: TFormatSettings; DateFormat: TFormatSettings;
JSONData: TJSONObject; JSONValue: TJSONValue;
JSONObject, DataObject, JSONData: TJSONObject;
JSONArray: TJSONArray; JSONArray: TJSONArray;
Pair: TJSONPair; Pair: TJSONPair;
Field: TField; Field: TField;
mode: string; RevisionID, rev_num, OrderIDInt: Integer;
stream: TStringStream;
RevisionID, rev_num: integer;
JSONValue: TJSONValue;
JSONObject: TJSONObject;
DataObject: TJSONObject;
begin begin
try try
// Convert ORDER_ID to integer safely
OrderIDInt := StrToIntDef(OrderID, -1);
if OrderIDInt = -1 then
raise Exception.Create('Invalid OrderID: not a valid integer');
if orderType = 'corrugated' then if orderType = 'corrugated' then
begin begin
table := 'corrugated_plate_orders'; table := 'corrugated_plate_orders';
...@@ -2274,64 +2273,58 @@ begin ...@@ -2274,64 +2273,58 @@ begin
table2 := 'cutting_die_orders_revisions'; table2 := 'cutting_die_orders_revisions';
end; end;
stream := TStringStream.Create('', TEncoding.UTF8); // Get new revision ID
DateFormat := TFormatSettings.Create; SQL := 'UPDATE idfield SET KEYVALUE = KEYVALUE + 1 WHERE KEYNAME = ' + QuotedStr('GEN_ORDER_REVISION_ID');
DateFormat.ShortDateFormat := 'yyyy-mm-dd';
DateFormat.DateSeparator := '-';
//Update RevisionID
SQL := 'UPDATE idfield set KEYVALUE = KEYVALUE + 1 WHERE KEYNAME = ' + quotedStr('GEN_ORDER_REVISION_ID');
OrdersDB.UniQuery1.SQL.Text := SQL; OrdersDB.UniQuery1.SQL.Text := SQL;
OrdersDB.UniQuery1.ExecSQL; OrdersDB.UniQuery1.ExecSQL;
//Retrieve updated RevisionID SQL := 'SELECT KEYVALUE FROM idfield WHERE KEYNAME = ' + QuotedStr('GEN_ORDER_REVISION_ID');
SQL := 'select KEYVALUE from idfield where KEYNAME = ' + quotedStr('GEN_ORDER_REVISION_ID');
doQuery(OrdersDB.UniQuery1, SQL); doQuery(OrdersDB.UniQuery1, SQL);
RevisionID := OrdersDB.UniQuery1.FieldByName('KEYVALUE').AsInteger; RevisionID := OrdersDB.UniQuery1.FieldByName('KEYVALUE').AsInteger;
// Convert Order into JSON // Fetch the order to archive it
SQL := 'select * from ' + table + ' where ORDER_ID = ' + OrderID; SQL := 'SELECT * FROM ' + table + ' WHERE ORDER_ID = ' + IntToStr(OrderIDInt);
doQuery(ordersDB.UniQuery1, SQL); doQuery(OrdersDB.UniQuery1, SQL);
ordersDB.UniQuery1.SaveToJSON(stream); stream := TStringStream.Create('', TEncoding.UTF8);
try
OrdersDB.UniQuery1.SaveToJSON(stream);
stream.Position := 0; stream.Position := 0;
JSONValue := TJSONObject.ParseJSONValue(Stream.DataString); JSONValue := TJSONObject.ParseJSONValue(stream.DataString);
if not Assigned(JSONValue) then if not Assigned(JSONValue) then
raise Exception.Create('Invalid JSON content'); raise Exception.Create('Invalid JSON content');
try
if not (JSONValue is TJSONObject) then if not (JSONValue is TJSONObject) then
raise Exception.Create('Expected JSON object'); raise Exception.Create('Expected JSON object');
JSONObject := TJSONObject(JSONValue); JSONObject := TJSONObject(JSONValue);
// Get the "data" object
if not JSONObject.TryGetValue('data', DataObject) then if not JSONObject.TryGetValue('data', DataObject) then
raise Exception.Create('Missing "data" object in JSON'); raise Exception.Create('Missing "data" object in JSON');
// Get the "rows" array
if not DataObject.TryGetValue('rows', JSONArray) then if not DataObject.TryGetValue('rows', JSONArray) then
raise Exception.Create('Missing "rows" array in JSON data'); raise Exception.Create('Missing "rows" array in JSON data');
JSONData := JSONArray.Items[0] as TJSONObject; if JSONArray.Count = 0 then
raise Exception.Create('No order found with ORDER_ID = ' + IntToStr(OrderIDInt));
SQL := 'select max(REVISION_NUMBER) as rev_num from ' + table2 + ' where ORDER_ID = ' + orderID; JSONData := JSONArray.Items[0] as TJSONObject;
doQuery(ordersDB.UniQuery1, SQL);
rev_num := ordersDB.UniQuery1.FieldByName('rev_num').AsInteger + 1;
SQL := 'select * from ' + table2 + ' where ORDER_ID = ' + orderID; // Get current max revision number
doQuery(ordersDB.UniQuery1, SQL); SQL := 'SELECT MAX(REVISION_NUMBER) AS rev_num FROM ' + table2 + ' WHERE ORDER_ID = ' + IntToStr(OrderIDInt);
doQuery(OrdersDB.UniQuery1, SQL);
rev_num := OrdersDB.UniQuery1.FieldByName('rev_num').AsInteger + 1;
doQuery(ordersDB.UniQuery1, SQL); // Insert into revisions
try SQL := 'SELECT * FROM ' + table2 + ' WHERE ORDER_ID = ' + IntToStr(OrderIDInt);
ordersDB.UniQuery1.Insert; doQuery(OrdersDB.UniQuery1, SQL);
OrdersDB.UniQuery1.Insert;
for Pair in JSONData do for Pair in JSONData do
begin begin
Field := ordersDB.UniQuery1.FindField(Pair.JsonString.Value); // Checks if the field exists in the dataset Field := OrdersDB.UniQuery1.FindField(Pair.JsonString.Value);
if Assigned(Field) then if Assigned(Field) then
begin begin
// handles any dates or datetimes
if (Field is TDateTimeField) and (Pair.JsonValue.Value <> '') then if (Field is TDateTimeField) and (Pair.JsonValue.Value <> '') then
TDateTimeField(Field).AsDateTime := ISO8601ToDate(Pair.JsonValue.Value, False) TDateTimeField(Field).AsDateTime := ISO8601ToDate(Pair.JsonValue.Value, False)
else if Pair.JsonValue.Value <> '' then else if Pair.JsonValue.Value <> '' then
...@@ -2339,32 +2332,33 @@ begin ...@@ -2339,32 +2332,33 @@ begin
end; end;
end; end;
ordersDB.UniQuery1.FieldByName('ORDER_ID').AsString := OrderID; OrdersDB.UniQuery1.FieldByName('ORDER_ID').AsInteger := OrderIDInt;
ordersDB.UniQuery1.FieldByName('ORDER_STATUS').AsString := 'DELETED'; OrdersDB.UniQuery1.FieldByName('ORDER_STATUS').AsString := 'DELETED';
ordersDB.UniQuery1.FieldByName('REVISION_NUMBER').AsInteger := 1; OrdersDB.UniQuery1.FieldByName('REVISION_NUMBER').AsInteger := rev_num;
ordersDB.UniQuery1.FieldByName('ORDER_REVISION_ID').AsInteger := RevisionID; OrdersDB.UniQuery1.FieldByName('ORDER_REVISION_ID').AsInteger := RevisionID;
ordersDB.UniQuery1.FieldByName('REVISION_USER_ID').AsString := UserID; OrdersDB.UniQuery1.FieldByName('REVISION_USER_ID').AsString := UserID;
// Post the record to the database OrdersDB.UniQuery1.Post;
ordersDB.UniQuery1.Post;
Result := TJSONObject.Create.AddPair('status', 'success');
Result.AddPair('OrderID', OrderID);
TXDataOperationContext.Current.Handler.ManagedObjects.Add(Result);
except
on E: Exception do
begin
Result := TJSONObject.Create.AddPair('error', E.Message);
end
end;
finally finally
JSONData.Free; stream.Free;
JSONValue.Free;
end; end;
sql := 'delete from ' + table + ' where ORDER_ID = ' + OrderID;
// Delete from order tables
SQL := 'DELETE FROM ' + table + ' WHERE ORDER_ID = ' + IntToStr(OrderIDInt);
OrdersDB.UniQuery1.SQL.Text := SQL; OrdersDB.UniQuery1.SQL.Text := SQL;
OrdersDB.UniQuery1.ExecSQL; OrdersDB.UniQuery1.ExecSQL;
sql := 'delete from orders where ORDER_ID = ' + OrderID;
SQL := 'DELETE FROM orders WHERE ORDER_ID = ' + IntToStr(OrderIDInt);
OrdersDB.UniQuery1.SQL.Text := SQL; OrdersDB.UniQuery1.SQL.Text := SQL;
OrdersDB.UniQuery1.ExecSQL; OrdersDB.UniQuery1.ExecSQL;
// Return result
Result := TJSONObject.Create;
Result.AddPair('status', 'success');
Result.AddPair('OrderID', IntToStr(OrderIDInt));
TXDataOperationContext.Current.Handler.ManagedObjects.Add(Result);
except except
on E: Exception do on E: Exception do
begin begin
......
...@@ -5,8 +5,8 @@ webClientVersion=0.9.6 ...@@ -5,8 +5,8 @@ webClientVersion=0.9.6
LogFileNum=819 LogFileNum=819
[Database] [Database]
Server=192.168.159.144 --Server=192.168.159.153
--Server=192.168.102.130 Server=192.168.102.130
--Server=192.168.75.133 --Server=192.168.75.133
Database=kg_order_entry Database=kg_order_entry
Username=root Username=root
......
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