Commit 2d9baac6 by Cameron Hayes

Finished the Order Entry Corrugated changes and will be moving to web plate

parent b3095bc3
...@@ -61,6 +61,7 @@ object FViewAddAddress: TFViewAddAddress ...@@ -61,6 +61,7 @@ object FViewAddAddress: TFViewAddAddress
Width = 78 Width = 78
Height = 22 Height = 22
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
TabOrder = 4
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object edtFirstLine: TWebEdit object edtFirstLine: TWebEdit
...@@ -70,6 +71,7 @@ object FViewAddAddress: TFViewAddAddress ...@@ -70,6 +71,7 @@ object FViewAddAddress: TFViewAddAddress
Height = 22 Height = 22
ChildOrder = 1 ChildOrder = 1
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
TabOrder = 1
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object edtCity: TWebEdit object edtCity: TWebEdit
...@@ -79,6 +81,7 @@ object FViewAddAddress: TFViewAddAddress ...@@ -79,6 +81,7 @@ object FViewAddAddress: TFViewAddAddress
Height = 22 Height = 22
ChildOrder = 2 ChildOrder = 2
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
TabOrder = 3
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object edtZip: TWebEdit object edtZip: TWebEdit
...@@ -88,6 +91,7 @@ object FViewAddAddress: TFViewAddAddress ...@@ -88,6 +91,7 @@ object FViewAddAddress: TFViewAddAddress
Height = 22 Height = 22
ChildOrder = 3 ChildOrder = 3
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
TabOrder = 5
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object edtContact: TWebEdit object edtContact: TWebEdit
...@@ -97,6 +101,7 @@ object FViewAddAddress: TFViewAddAddress ...@@ -97,6 +101,7 @@ object FViewAddAddress: TFViewAddAddress
Height = 22 Height = 22
ChildOrder = 4 ChildOrder = 4
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
TabOrder = 6
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object edtAddress: TWebEdit object edtAddress: TWebEdit
...@@ -106,6 +111,7 @@ object FViewAddAddress: TFViewAddAddress ...@@ -106,6 +111,7 @@ object FViewAddAddress: TFViewAddAddress
Height = 22 Height = 22
ChildOrder = 1 ChildOrder = 1
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
TabOrder = 2
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object edtNotification: TWebEdit object edtNotification: TWebEdit
......
...@@ -29,6 +29,9 @@ ...@@ -29,6 +29,9 @@
<li class="nav-item pe-2"> <li class="nav-item pe-2">
<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 pe-2">
<button id="btnsendtoqb" class="btn btn-primary btn-sm">Send To QB</button>
</li>
<li class="nav-item"> <li class="nav-item">
<button id="btnclose" class="btn btn-primary btn-sm">Close</button> <button id="btnclose" class="btn btn-primary btn-sm">Close</button>
</li> </li>
...@@ -37,9 +40,6 @@ ...@@ -37,9 +40,6 @@
</div> </div>
</nav> </nav>
<div class="row mx-5"> <div class="row mx-5">
<div class="col-12 col-md-8">
</div>
<h4 class="custom-h4 mt-3">Customer</h4> <h4 class="custom-h4 mt-3">Customer</h4>
<hr class="custom-hr"> <hr class="custom-hr">
<div class="row"> <div class="row">
...@@ -57,9 +57,13 @@ ...@@ -57,9 +57,13 @@
Please Provide a Customer ID Name. Please Provide a Customer ID Name.
</div> </div>
</div> </div>
<div class="col-auto d-flex flex-column">
<label for="wdbcbinqb" class="form-label mt-2" style="font-weight: 700; font-size: 15px;">In QB?:</label>
<input id="wdbcbinqb" type="checkbox" class="form-check-input mt-1">
</div>
<div class="col-auto"> <div class="col-auto">
<label for="wdbe_first_name" style="font-weight: 700; font-size: 15px;" class="form-label mt-2">In Quickbooks?:</label> <label for="wdbe_first_name" style="font-weight: 700; font-size: 15px;" class="form-label mt-2">QB Order Number:</label>
<input id="edtinquickbooks"type="text" class="form-control" style="width: 150px"/> <input id="edtqbordernum"type="text" class="form-control" style="width: 150px" required/>
</div> </div>
</div> </div>
<h4 class="custom-h4 mt-3">Staff Fields</h4> <h4 class="custom-h4 mt-3">Staff Fields</h4>
...@@ -90,11 +94,17 @@ ...@@ -90,11 +94,17 @@
</div> </div>
<div class="col-auto"> <div class="col-auto">
<label for="wdbe_first_name" style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Quantity:</label> <label for="wdbe_first_name" style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Quantity:</label>
<input id="edtquantity" class="form-control input-sm" style="width: 100px"/> <input id="edtquantity" class="form-control input-sm" style="width: 100px" type="number" min="1" required/>
<div class="invalid-feedback" style="font-size: 15px;" required>
Please Provide a Quantity.
</div>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<label for="wdbe_first_name" style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Price:</label> <label for="wdbe_first_name" style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Price:</label>
<input id="edtprice" class="form-control input-sm" style="width: 100px" type="number" min="0"/> <input id="edtprice" class="form-control input-sm" style="width: 100px" type="number" min="1" required/>
<div class="invalid-feedback" style="font-size: 15px;">
Please Provide a Price.
</div>
</div> </div>
<div> <div>
<label for="wdbe_first_name" style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Invoice To:</label> <label for="wdbe_first_name" style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Invoice To:</label>
...@@ -118,12 +128,26 @@ ...@@ -118,12 +128,26 @@
<input id="edtponumber" class="form-control input-sm" width='50%'/> <input id="edtponumber" class="form-control input-sm" width='50%'/>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<label for="wdbe_first_name" style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Job Name:</label> <label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">QB Item:</label>
<input id="edtjobname" class="form-control input-sm" style="width: 300px"/> <select id="wcbqbitem" class='form-select' required></select>
<div class="invalid-feedback" style="font-size: 15px;">
Please Provide a QB Item.
</div>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<label for="wdbe_first_name" style="font-weight: 700; font-size: 15px;" class="form-label mt-2">QuickBooks Item:</label> <label for="wdbe_first_name" style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Job Name:</label>
<select id="wcbqbitem" class='form-select'></select> <input id="edtjobname" class="form-control input-sm" style="width: 600px"/>
<div class="invalid-feedback" style="font-size: 15px;">
Please Provide a Job Name.
</div>
</div>
<div class="row">
<div class="col-12">
<label for="edtitemdescription" class="form-label mt-2" style="font-weight: 700; font-size: 15px;">
Item Description:
</label>
<input id="edtitemdescription" class="form-control" style="width: 100%;" />
</div>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<label for="wdbe_first_name" style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Art Due:</label> <label for="wdbe_first_name" style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Art Due:</label>
......
...@@ -83,11 +83,10 @@ type ...@@ -83,11 +83,10 @@ type
procedure btnCancelClick(Sender: TObject); procedure btnCancelClick(Sender: TObject);
procedure WebFormCreate(Sender: TObject); procedure WebFormCreate(Sender: TObject);
[async] procedure GetCuttingDieOrder(Order_ID: string); [async] procedure GetCuttingDieOrder(Order_ID: string);
[async] procedure GetEmptyOrderInfo(customerID: string); [async] procedure SetNewOrderInfo(customerID: string);
[async] procedure AddCuttingDieOrder(orderJSON: TJSONObject); [async] procedure SendCuttingDieOrder();
procedure btnPDFClick(Sender: TObject); procedure btnPDFClick(Sender: TObject);
[async] procedure GenerateReportPDF; [async] procedure GenerateReportPDF;
procedure SendOrderToServer();
function VerifyOrder(): boolean; function VerifyOrder(): boolean;
[async] procedure btnDeleteClick(Sender: TObject); [async] procedure btnDeleteClick(Sender: TObject);
[async] procedure delOrder(); [async] procedure delOrder();
...@@ -155,7 +154,7 @@ end; ...@@ -155,7 +154,7 @@ end;
begin begin
if mode = 'ADD' then if mode = 'ADD' then
begin begin
await(getEmptyOrderInfo(customerID)); await(SetNewOrderInfo(customerID));
EditMode; EditMode;
end end
else else
...@@ -191,8 +190,6 @@ end; ...@@ -191,8 +190,6 @@ end;
procedure TFOrderEntryCuttingDie.btnQBClick(Sender: TObject); procedure TFOrderEntryCuttingDie.btnQBClick(Sender: TObject);
begin begin
//ShowToast('Sending Orders To QuickBooks is not yet Implemented', 'info');
console.log(customer_qb_id);
if JS.toString(AuthService.TokenPayload.Properties['user_qb_id']) <> '' then if JS.toString(AuthService.TokenPayload.Properties['user_qb_id']) <> '' then
begin begin
if ( VerifyQBOrder() )then if ( VerifyQBOrder() )then
...@@ -373,57 +370,12 @@ begin ...@@ -373,57 +370,12 @@ begin
input.classList.remove('is-invalid'); input.classList.remove('is-invalid');
end; end;
procedure TFOrderEntryCuttingDie.SendOrderToServer;
var
orderJSON: TJSONObject;
fieldNames: TStringList;
itemList: TJSNodeList;
header, value: string;
Field: TField;
Response: TXDataClientResponse;
begin
orderJSON := TJSONObject.Create;
xdwdsOrder.Edit;
xdwdsOrder.Post;
xdwdsOrder.First;
while not xdwdsOrder.Eof do
begin
for Field in xdwdsOrder.Fields do
begin
if Field is TStringField then
begin
if Field.AsString = '' then
orderJSON.AddPair(Field.FieldName, '')
else
orderJSON.AddPair(Field.FieldName, Field.AsString); // Add all other fields
end
else if Field is TBooleanField then
begin
if Field.AsBoolean then
orderJSON.AddPair(Field.FieldName, 'T')
else
orderJSON.AddPair(Field.FieldName, '');
end
else if Field is TIntegerField then
orderJSON.AddPair(Field.FieldName, Field.AsInteger);
end;
xdwdsOrder.Next;
end;
orderJSON.AddPair('mode', mode);
console.log(orderJSON);
AddCuttingDieOrder(orderJSON);
end;
procedure TFOrderEntryCuttingDie.btnSaveClick(Sender: TObject); procedure TFOrderEntryCuttingDie.btnSaveClick(Sender: TObject);
// Converts all the information on the page into a JSON to then send to the server // Converts all the information on the page into a JSON to then send to the server
begin begin
if VerifyOrder() then if VerifyOrder() then
begin begin
sendOrderToServer(); sendCuttingDieOrder();
ViewMode(); ViewMode();
end; end;
window.scrollTo(0, 0); window.scrollTo(0, 0);
...@@ -437,6 +389,8 @@ begin ...@@ -437,6 +389,8 @@ begin
xdwdsOrder.FieldByName('staff_fields_order_date').AsDateTime := 0; xdwdsOrder.FieldByName('staff_fields_order_date').AsDateTime := 0;
xdwdsOrder.FieldByName('staff_fields_proof_date').AsDateTime := 0; xdwdsOrder.FieldByName('staff_fields_proof_date').AsDateTime := 0;
xdwdsOrder.FieldByName('staff_fields_ship_date').AsDateTime := 0; xdwdsOrder.FieldByName('staff_fields_ship_date').AsDateTime := 0;
xdwdsOrder.FieldByName('IN_QB').AsString := 'F';
xdwdsOrder.FieldByName('QB_ORDER_NUM').AsString := '';
xdwdsOrder.FieldByName('ORDER_ID').AsString := ''; xdwdsOrder.FieldByName('ORDER_ID').AsString := '';
xdwdsOrder.Post; xdwdsOrder.Post;
...@@ -508,24 +462,60 @@ begin ...@@ -508,24 +462,60 @@ begin
end; end;
procedure TFOrderEntryCuttingDie.AddCuttingDieOrder(orderJSON: TJSONObject); procedure TFOrderEntryCuttingDie.SendCuttingDieOrder();
// sends the order JSON object to the server // sends the order JSON object to the server
var var
Response: TXDataClientResponse; Response: TXDataClientResponse;
jsObj: TJSObject; jsObj: TJSObject;
orderJSON: TJSONObject;
fieldNames: TStringList;
itemList: TJSNodeList;
header, value: string;
Field: TField;
begin begin
orderJSON := TJSONObject.Create;
xdwdsOrder.Edit;
xdwdsOrderUSER_ID.AsString := JS.toString(AuthService.TokenPayload.Properties['user_id']);
xdwdsOrder.Post;
xdwdsOrder.First;
while not xdwdsOrder.Eof do
begin
for Field in xdwdsOrder.Fields do
begin
if Field is TStringField then
begin
if Field.AsString = '' then
orderJSON.AddPair(Field.FieldName, '')
else
orderJSON.AddPair(Field.FieldName, Field.AsString);
end
else if Field is TBooleanField then
begin
if Field.AsBoolean then
orderJSON.AddPair(Field.FieldName, 'T')
else
orderJSON.AddPair(Field.FieldName, 'F');
end
else if Field is TIntegerField then
orderJSON.AddPair(Field.FieldName, Field.AsInteger);
end;
xdwdsOrder.Next;
end;
orderJSON.AddPair('mode', mode);
try try
Response := await(XDataWebClient1.RawInvokeAsync('ILookupService.AddCuttingDieOrder', Response := await(XDataWebClient1.RawInvokeAsync('ILookupService.AddCuttingDieOrder',
[orderJSON.ToString])); [orderJSON.ToString]));
jsObj := JS.TJSObject(Response.Result); jsObj := JS.TJSObject(Response.Result);
{if mode = 'ADD' then
OrderID := String(jsObj.Properties['OrderID']);}
xdwdsOrder.Close; xdwdsOrder.Close;
xdwdsOrder.SetJsonData(jsObj); xdwdsOrder.SetJsonData(jsObj);
xdwdsOrder.Open; xdwdsOrder.Open;
edtOrderNum.Text := xdwdsOrder.FieldByName('ORDER_ID').AsString; //edtOrderNum.Text := xdwdsOrder.FieldByName('ORDER_ID').AsString;
mode := 'EDIT'; mode := 'EDIT';
ShowToast(String(jsObj.Properties['status'])); ShowToast(String(jsObj.Properties['status']));
except except
...@@ -662,8 +652,9 @@ begin ...@@ -662,8 +652,9 @@ begin
end; end;
procedure TFOrderEntryCuttingDie.getEmptyOrderInfo(customerID: string); procedure TFOrderEntryCuttingDie.SetNewOrderInfo(customerID: string);
// gets a customer from the database then loads the appropiate fields // Set new blank order and then gets the customer and items from the database
// then loads the appropiate fields
var var
xdcResponse: TXDataClientResponse; xdcResponse: TXDataClientResponse;
customer, items : TJSObject; customer, items : TJSObject;
...@@ -684,7 +675,6 @@ begin ...@@ -684,7 +675,6 @@ begin
xdwdsOrder.FieldByName('staff_fields_invoice_to').AsString := string(customer['staff_fields_invoice_to']); xdwdsOrder.FieldByName('staff_fields_invoice_to').AsString := string(customer['staff_fields_invoice_to']);
xdwdsOrder.FieldByName('COMPANY_ID').AsString := customerID; xdwdsOrder.FieldByName('COMPANY_ID').AsString := customerID;
xdwdsOrderUSER_ID.AsString := JS.toString(AuthService.TokenPayload.Properties['user_id']);
xdwdsOrder.Post; xdwdsOrder.Post;
xdwdsShipTo.Close; xdwdsShipTo.Close;
......
...@@ -206,7 +206,6 @@ object FSelectCustomer: TFSelectCustomer ...@@ -206,7 +206,6 @@ 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
......
...@@ -146,15 +146,15 @@ type ...@@ -146,15 +146,15 @@ type
data: TList<TCustomerItem>; data: TList<TCustomerItem>;
end; end;
TFullOrder = class //TODO change name to TCorrugatedOrder TCorrugatedOrder = class
Public Public
//Company //Company
ORDER_ID: integer;
COMPANY_ID: integer; COMPANY_ID: integer;
NAME: string; NAME: string;
SHORT_NAME: string; SHORT_NAME: string;
inQuickBooks: string; IN_QB: string;
ADDRESS_LIST: TList<TAddressItem>; QB_ORDER_NUM: string;
ITEMS: TItemList;
// Staff Fields: // Staff Fields:
staff_fields_order_date: string; staff_fields_order_date: string;
...@@ -174,12 +174,10 @@ type ...@@ -174,12 +174,10 @@ type
staff_fields_art_location: string; staff_fields_art_location: string;
// Supplied by Customer: // Supplied by Customer:
supplied_by_customer_b_w_copy: boolean; supplied_by_customer_color_copy: string;
supplied_by_customer_color_copy: boolean; supplied_by_customer_plates: string;
supplied_by_customer_plates: boolean; supplied_by_customer_sample_ca: string;
supplied_by_customer_sample_ca: boolean;
supplied_by_customer_dimension: string; supplied_by_customer_dimension: string;
supplied_by_customer_disk_or_cd: boolean;
supplied_by_customer_e_mail: string; supplied_by_customer_e_mail: string;
supplied_by_customer_ftp: string; supplied_by_customer_ftp: string;
supplied_by_customer_other: string; supplied_by_customer_other: string;
...@@ -198,13 +196,13 @@ type ...@@ -198,13 +196,13 @@ type
layout_accross_no: string; layout_accross_no: string;
layout_around_no: string; layout_around_no: string;
layout_cad_file: string; layout_cad_file: string;
layout_excalibur_die: boolean; layout_excalibur_die: string;
layout_rsc_style: string; layout_rsc_style: string;
// Mounting // Mounting
mounting_loose: string; mounting_loose: string;
mounting_sticky_bak: boolean; mounting_sticky_bak: string;
mounting_full_mount: boolean; mounting_full_mount: string;
mounting_strip_mount: string; mounting_strip_mount: string;
mounting_standard_setup: string; mounting_standard_setup: string;
mounting_custom_backing: string; mounting_custom_backing: string;
...@@ -223,12 +221,12 @@ type ...@@ -223,12 +221,12 @@ type
proofing_e_mail: string; proofing_e_mail: string;
proofing_e_mail_attn: string; proofing_e_mail_attn: string;
proofing_ship_to: string; proofing_ship_to: string;
proofing_full_size_panel: boolean; proofing_full_size_panel: string;
proofing_print_card: boolean; proofing_print_card: string;
proofing_wide_format: boolean; proofing_wide_format: string;
proofing_pdf_file: boolean; proofing_pdf_file: string;
proofing_other: string; proofing_other: string;
proofing_art_approved_as_is: boolean; proofing_art_approved_as_is: string;
proofing_approved_date: string; proofing_approved_date: string;
// Plates // Plates
...@@ -479,7 +477,7 @@ type ...@@ -479,7 +477,7 @@ type
[HttpGet] function GetUsers(searchOptions: string): TUserList; [HttpGet] function GetUsers(searchOptions: string): TUserList;
[HttpGet] function GetItems(searchOptions: string): TItemList; [HttpGet] function GetItems(searchOptions: string): TItemList;
[HttpGet] function GetOrders(searchOptions: string): TOrderList; [HttpGet] function GetOrders(searchOptions: string): TOrderList;
[HttpGet] function GetOrder(orderInfo: string): TFullOrder; [HttpGet] function GetCorrugatedOrder(orderInfo: string): TCorrugatedOrder;
[HttpGet] function GetWebOrder(orderInfo: string): TWebOrder; [HttpGet] function GetWebOrder(orderInfo: string): TWebOrder;
[HttpGet] function GetCuttingDieOrder(orderInfo: string): TCuttingDie; [HttpGet] function GetCuttingDieOrder(orderInfo: string): TCuttingDie;
[HttpGet] function GetCustomers(customerInfo: string): TCustomerList; [HttpGet] function GetCustomers(customerInfo: string): TCustomerList;
......
...@@ -475,12 +475,6 @@ begin ...@@ -475,12 +475,6 @@ begin
finally finally
IniFile.Free; IniFile.Free;
end; end;
f := TStringList.Create;
// Save to file (overwrites existing file)
f.SaveToFile('QB.txt');
f.Free;
end; end;
procedure TfQB.Button2Click(Sender: TObject); procedure TfQB.Button2Click(Sender: TObject);
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
MemoLogLevel=3 MemoLogLevel=3
FileLogLevel=5 FileLogLevel=5
webClientVersion=0.9.7 webClientVersion=0.9.7
LogFileNum=927 LogFileNum=940
[Database] [Database]
Server=192.168.159.155 Server=192.168.159.155
...@@ -17,8 +17,8 @@ Password=emsys01 ...@@ -17,8 +17,8 @@ Password=emsys01
CompanyID=9341454272655710 CompanyID=9341454272655710
ClientID=ABgO14uvjh8XqLud7spQ8lkb98AUpcdA7HbyMJfCAtl65sQ5yy ClientID=ABgO14uvjh8XqLud7spQ8lkb98AUpcdA7HbyMJfCAtl65sQ5yy
ClientSecret=bQ06TRemHeAGFzVHRaTUvUoBU9jpU9itK6MOMgqN ClientSecret=bQ06TRemHeAGFzVHRaTUvUoBU9jpU9itK6MOMgqN
RefreshToken=RT1-44-H0-1762010333a3v07cb5eb0luyn2rppm RefreshToken=RT1-75-H0-17621978856h99eylecajhs2sw9gvm
AccessToken=eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwieC5vcmciOiJIMCJ9..7T78YBCSmvuJPRsZ9lGwuQ.1VJssLuNBAPKI7RAJOPluhtlA8DYgNcmXebNkWSxrHJ1949vjY4SPt5JjruuLsNOV09i_xKrQ76w9Zhjom1MiQaSyNoZHU-CZLfOtWgr9r3-gLxizdTlrTs9cEZs__8ep4_oe2r3n2u34QlM0xdVdLWxQbKYjpCl0k_58XPbS5Z_Vo2Y5qqoAuGJIRxMaTueMOH1ut-bV4Em318Ca1jN2DFCh_NYjLwFQQenWxOrCRMBaj7ZgB2yjtS5mEUxhuxsB7FAeONYqBSJ0OAy1yzWE-Ycxzt4dcZBCTHxzUCTH0-P0Mb_M6ivfmiYyKctf2gsZD8Xw91MgnF9TPwG8yXdej05fWr94VWeC3tFp0V-RYYv3_XRuim6fCvxJjWzfVEZwv9jUiZ6WByNSzu1k1W5_rQuSG7_Hs8WiDC1sBChJLfDclLO8pMoznqpSrM8ZmiNoYm4aZPQrpO6rgY8NiTokZRyeTw2adtW1YgDJsZdoEw.i2MSpKztX0v6UN0vZz5gQg AccessToken=eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwieC5vcmciOiJIMCJ9..bxX38cX1EtQoXIcJyc1aXQ.PAkiydy6yOM54Qzsyu7V2ztL6yuSg0SWBUuAPHAuMHboDIfDJleOAvINtZtBKNPNwsicE9kn9myqRSuIrMBNIMrONueVYFn5mQk1tSGL21rsQ0PYtYITMtOaE3xwqmjAk_MGDFq7NVbI51MQOvdUe1UwPXEX7GnRUf9W_XrIWksMujZh7n2dmbLyppee5VCC-FNWt3fqhxNQpA3zrQLXXrgK9MNei1A3jgnYhVscNUiIBJm2JBqK1YMbXwQ1MoP_YPJPvw7k8nyPRzY3KO90Egr25M9l-lI3C4oIKvaTs64uLCXxINX_9yI4CDbJWnreA6PrubvWfuJralTCvvWsTnEPGBABu2A1ArrpnaSiGr_XgxQAHE9gHAU2YA4tb20RoAY5CPxpH-DhpoxqkyOvdQJzWXVcxlChXQmN1yzKJALJGRNZfnp4DD2CtLN202YHMY9EOTMw6PkcKCC8PD8T-hg22uT6fLOf8pAGq-svy58.rgWZyjDgeaMfm98j_xsfWw
LastRefresh=7/23/2025 11:18:54 AM LastRefresh=7/25/2025 3:42:20 PM
--RefreshToken=RT1-10-H0-1760618473k44t73jittvqlr4wynn6 --RefreshToken=RT1-10-H0-1760618473k44t73jittvqlr4wynn6
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