Compare commits

..

1694 commits

Author SHA1 Message Date
Ramon Gutierrez
630796df85 Merge branch '811-add-sealant-fee' into 'master'
Resolve "Add sealant fee"

Closes #811

See merge request jankstudio/resq!924
2024-12-08 14:35:58 +00:00
dedfb58a28 Fix issue of sealant and coolant fee not displaying in open edit form. #811 2024-12-05 01:48:39 -05:00
1b24e68f6b Add processing of sealant fee for tire repair service. #811 2024-12-04 02:51:50 -05:00
Ramon Gutierrez
dc4d5f90a7 Merge branch '808-add-form-validation-to-role' into 'master'
Validate role ID and name are not blank #808

Closes #808

See merge request jankstudio/resq!923
2024-10-02 05:58:32 +00:00
Ramon Gutierrez
0179a1b87e Validate role ID and name are not blank #808 2024-10-02 13:58:03 +08:00
Ramon Gutierrez
f1609b2273 Merge branch '807-disable-sms-for-certain-rejection-reasons' into 'master'
Resolve "Disable SMS for certain Rejection Reasons"

Closes #807 and #792

See merge request jankstudio/resq!922
2024-09-24 07:15:30 +00:00
22215ff9f6 Merge branch '807-disable-sms-for-certain-rejection-reasons' of gitlab.com:jankstudio/resq into 807-disable-sms-for-certain-rejection-reasons 2024-09-24 02:47:11 -04:00
Ramon Gutierrez
6994d69020 Merge branch '792-battery-facilitated-by-issue' into 'master'
Resolve "Battery Facilitated By issue"

Closes #792

See merge request jankstudio/resq!903
2024-09-24 02:45:43 -04:00
Ramon Gutierrez
83bdb5c626 Merge branch '792-battery-facilitated-by-issue' into 'master'
Resolve "Battery Facilitated By issue"

Closes #792

See merge request jankstudio/resq!903
2024-09-24 04:40:00 +00:00
Ramon Gutierrez
5a5113b166 Merge branch '803-fix-invoice-data-disappearing-on-open-edit-form' into 'master'
Fix invoice data on open edit form

Closes #803

See merge request jankstudio/resq!918
2024-09-24 04:23:02 +00:00
Ramon Gutierrez
629cc2afa1 Merge branch 'master' into 803-fix-invoice-data-disappearing-on-open-edit-form 2024-07-30 21:27:23 +08:00
Ramon Gutierrez
ad946247ba Merge branch '806-restore-inventory-counters-on-processing-form' into 'master'
Restore inventory retrieval on processing form #806

Closes #806

See merge request jankstudio/resq!921
2024-07-30 13:26:45 +00:00
Ramon Gutierrez
63902e5838 Restore inventory retrieval on processing form #806 2024-07-30 16:39:11 +08:00
Ramon Gutierrez
511aa5ec9b Merge branch 'master' into 803-fix-invoice-data-disappearing-on-open-edit-form 2024-07-18 16:34:59 +08:00
Ramon Gutierrez
2df53674c4 Merge branch '800-automatically-reject-jo-if-no-riders-or-inventory' into 'master'
Add hub selector filtering for available riders, refactor inventory filter to...

Closes #800

See merge request jankstudio/resq!920
2024-07-18 08:34:02 +00:00
Ramon Gutierrez
4ab6b0659d Merge branch 'master' into 800-automatically-reject-jo-if-no-riders-or-inventory 2024-07-18 16:30:10 +08:00
Ramon Gutierrez
a66d16a58b Restored hub filter area functionality #800 2024-07-16 16:10:29 +08:00
Ramon Gutierrez
5f2ed34d8c Disable round robin filter for emergency JOs #800 2024-07-12 14:17:59 +08:00
Ramon Gutierrez
e7d8af516e Temporarily disable hub filter area checks #800 2024-07-09 16:55:58 +08:00
Ramon Gutierrez
8da5381a1c Enable inventory retrieval if inventory checks are disabled #800 2024-07-05 15:54:14 +08:00
Ramon Gutierrez
f8d90cbdcd Fix typo on ResqJobOrderHandler properties #800 2024-07-04 17:06:46 +08:00
Ramon Gutierrez
6139e649fb Add logging for closest hubs selected #800 2024-07-04 16:10:02 +08:00
Ramon Gutierrez
e1103cf108 Move enabled filters list to env #800 2024-07-04 15:41:01 +08:00
Ramon Gutierrez
a10f58e425 Add filtering for JOs with VIP transaction origin #800 2024-07-04 12:57:27 +08:00
Ramon Gutierrez
23d814d1e9 Add extra logs to hub filtering #800 2024-07-03 23:41:44 +08:00
Ramon Gutierrez
9b63139957 Fix file logging format for hub filtering #800 2024-07-03 23:14:38 +08:00
Ramon Gutierrez
a335f84a13 Fix hub filter log location #800 2024-07-03 14:01:16 +08:00
Ramon Gutierrez
8992fdeec0 Add hub rejection log file #800 2024-07-03 13:56:27 +08:00
Ramon Gutierrez
57b4227da9 Add more requested JO rejection reasons #800 2024-06-30 11:47:23 +08:00
Ramon Gutierrez
bff1f7ff73 Add null check to battery inventory entries from motiv #800 2024-06-27 11:31:02 +08:00
Ramon Gutierrez
e8b14ff379 Fix available rider filter to also consider flag_active and current_job_order #800 2024-06-27 10:58:11 +08:00
Ramon Gutierrez
44b3753ece Skip hub filtering if hub list is alraedy empty #800 2024-06-26 10:02:04 +08:00
Ramon Gutierrez
a21ed66490 Move requested params to filters instead of hub selector #800 2024-06-26 09:59:29 +08:00
3fc04cd733 Fix trade-in issue for invoice. #803 2024-06-25 01:44:44 -04:00
Ramon Gutierrez
3b287236ec Add regional filter support for hub filters #800 2024-06-25 03:38:56 +08:00
Ramon Gutierrez
204c039fba Refactor hub selector to separate filters into individual classes #800 2024-06-25 03:19:10 +08:00
Ramon Gutierrez
b4057de938 Add hub filter exceptions to supported areas #800 2024-06-25 03:18:31 +08:00
2a30787dba Fix for issue with customer app JO request with trade in. #803 2024-06-24 06:00:01 -04:00
acee5f8f55 Populate invoice items array upon loading of form. #803 2024-06-21 05:37:04 -04:00
90628f0b54 Add trade in type to invoice item. #03 2024-06-21 05:24:58 -04:00
4ccdd29ae6 Changed the input for trade in items to battery size. #03 2024-06-21 03:39:44 -04:00
2f9ee4ec67 Add battery to criteria for battery replacement warranty. #803 2024-06-20 05:26:23 -04:00
4b5ad97225 Add battery size id to invoice item. Add saving of trade in items with battery size to invoice item. #803 2024-06-20 03:29:24 -04:00
Ramon Gutierrez
e83de164c1 Merge branch '804-add-checking-for-null-user-for-rejection-detail-report' into 'master'
Resolve "Add checking for null user for rejection detail report"

Closes #804

See merge request jankstudio/resq!917
2024-06-10 10:40:38 +00:00
8c886c4dbf Add check for null for user for hub rejection. #804 2024-06-10 02:20:28 -04:00
Ramon Gutierrez
10c44fbe64 Limit hub rejection SMS to one per JO/hub combo #800 2024-06-07 04:19:08 +08:00
Ramon Gutierrez
b5f169c14e Merge branch 'master' into 800-automatically-reject-jo-if-no-riders-or-inventory 2024-06-06 05:52:03 +08:00
Ramon Gutierrez
cec648f894 Merge branch '801-handle-failed-paymongo-payments' into 'master'
Attempt to re-enable paymongo webhook if found disabled #801

Closes #801

See merge request jankstudio/resq!916
2024-06-05 21:51:18 +00:00
Ramon Gutierrez
c4b0513386 Attempt to re-enable paymongo webhook if found disabled #801 2024-06-06 05:50:36 +08:00
Ramon Gutierrez
90838b004a Merge branch 'master' into 800-automatically-reject-jo-if-no-riders-or-inventory 2024-06-04 17:49:39 +08:00
Ramon Gutierrez
c60a39c13e Merge branch '802-fix-jos-being-able-to-proceed-after-cancellation' into 'master'
Add checks to rider app API for JO status and delivery status #802

Closes #802

See merge request jankstudio/resq!915
2024-06-04 09:47:46 +00:00
Ramon Gutierrez
792db080a1 Merge branch '801-handle-failed-paymongo-payments' into 'master'
Resolve "Handle failed PayMongo payments"

Closes #801

See merge request jankstudio/resq!914
2024-06-04 09:45:37 +00:00
Ramon Gutierrez
08084f682c Add force option to enable or disable webhook status checking, defaults to false #801 2024-05-31 18:51:55 +08:00
Ramon Gutierrez
3846ad5a43 Add checker for paymongo webhook status before running manual processing command #801 2024-05-31 18:45:16 +08:00
Ramon Gutierrez
191a02f4c4 Fix typo on getStatus call on entity listener #801 2024-05-31 12:28:43 +08:00
Ramon Gutierrez
e97cebd2b2 Fix typo in log message for new command #801 2024-05-31 12:11:13 +08:00
Ramon Gutierrez
952122a39e Prevent insurance applications from being flagged as paid more than once #801 2024-05-31 06:50:34 +08:00
Ramon Gutierrez
ad841a7e25 Prevent success handler from catching failed paymongo payment attempts #801 2024-05-31 06:49:55 +08:00
Ramon Gutierrez
75b2ada03f Add command for processing late pending paymongo transactions #801 2024-05-31 06:48:44 +08:00
Ramon Gutierrez
4b19cff996 Add checks to rider app API for JO status and delivery status #802 2024-05-30 17:15:47 +08:00
Ramon Gutierrez
2ebb6e040a Add placeholder debug logs #800 2024-05-30 16:06:55 +08:00
Ramon Gutierrez
404401d854 Fix erroneous delivery status IDs on collection #800 2024-05-30 16:06:04 +08:00
Ramon Gutierrez
6dfaeee799 Generate JO ID before hub selection on user app API, add additional params to HubCriteria for JORejection and SMS #800 2024-05-20 03:46:08 +08:00
Ramon Gutierrez
aae4aaa390 Enable inventory and rider hub filters for emergency JOs, disable for VIP customers #800 2024-05-18 15:21:32 +08:00
Ramon Gutierrez
b53aacb840 Update rejection messages to use battery name and model vs SKUs #800 2024-05-17 22:23:26 +08:00
Ramon Gutierrez
22683e1edf Add null check to user on detailed rejection report #800 2024-05-17 22:01:43 +08:00
Ramon Gutierrez
4be9134090 Update SMS message format for rejected hubs, add JO rejection entries for no inventory or no riders #800 2024-05-17 21:40:16 +08:00
Ramon Gutierrez
21c97df677 Set JO type regardless of area support on hub form initialization to trigger inventory filter #800 2024-05-16 21:46:02 +08:00
Ramon Gutierrez
5cf2c3619f Remove debug code from JO handler #800 2024-05-16 15:07:35 +08:00
Ramon Gutierrez
7b6afbb099 Modify inventory SMS message #800 2024-05-15 18:00:27 +08:00
Ramon Gutierrez
190ac88153 Enable inventory and rider filtering on CRM JO form hub lists #800 2024-05-15 18:00:07 +08:00
Ramon Gutierrez
aed31f2a33 Rearrange flow logic on hub selector, save inventory counts upon retrieval if enabled #800 2024-05-15 17:59:27 +08:00
Ramon Gutierrez
76496ed6fe Fix issues with inventory filter flow #800 2024-05-14 17:51:00 +08:00
Ramon Gutierrez
89e5dd799f Update hub rejection SMS translations #800 2024-05-14 17:49:34 +08:00
Ramon Gutierrez
0bd6a89840 Fix missing keys on NameValue class #800 2024-05-14 17:49:14 +08:00
Ramon Gutierrez
be0e69db89 Add blacklist support to base NameValue class, for hiding options when getting entire collection #800 2024-05-14 14:45:51 +08:00
Ramon Gutierrez
d52402a2ef Enable inventory and rider checks on hub criteria on user app and TAPI #800 2024-05-14 04:18:37 +08:00
Ramon Gutierrez
a45c3dd65c Add hub selector filtering for available riders, refactor inventory filter to send a single batch call instead #800 2024-05-14 03:39:45 +08:00
Ramon Gutierrez
b19d9c203a Merge branch '783-rider-app-trade-in-support' into 'master'
Resolve "Rider app trade-in support"

Closes #783

See merge request jankstudio/resq!912
2024-04-23 13:11:51 +00:00
Ramon Gutierrez
a64557ffcd Fix API roles permissions list to properly display the correct ACL group #783 2024-04-06 14:56:16 +08:00
Ramon Gutierrez
d7909f7941 Merge branch '796-price-display-issue-with-price-tier' into '783-rider-app-trade-in-support'
Resolve "Price display issue with price tier"

See merge request jankstudio/resq!908
2024-04-05 10:59:32 +00:00
Ramon Gutierrez
8e383fd23f Merge branch '794-capi-calls-for-pullout-form-system' into '783-rider-app-trade-in-support'
Resolve "CAPI calls for Pullout Form System"

See merge request jankstudio/resq!906
2024-04-05 10:57:13 +00:00
Ramon Gutierrez
86889b3147 Merge branch '798-motolite-user-jumpstart-fee' into '783-rider-app-trade-in-support'
Resolve "Motolite user jumpstart fee"

See merge request jankstudio/resq!910
2024-04-02 21:08:35 +00:00
6a804c11df Add sql file to update service offering table. #798 2024-04-02 01:21:23 -04:00
c8e2c02be1 Add a separate service fee for motolite users for jumpstart. #798 2024-04-02 01:11:32 -04:00
Ramon Gutierrez
06dc8eae7b Merge branch '795-jumpstart-service-fee-for-motolite-users' into '783-rider-app-trade-in-support'
Resolve "Jumpstart service fee for motolite users"

See merge request jankstudio/resq!907
2024-04-01 13:19:07 +00:00
Ramon Gutierrez
f97f287f5b Merge branch '797-resq-dispatch-display-issue' into '783-rider-app-trade-in-support'
Resolve "Resq Dispatch Display Issue"

See merge request jankstudio/resq!909
2024-04-01 13:17:25 +00:00
6f2fca292e Add use statement. #797 2024-04-01 06:55:23 -04:00
b80ece9084 Fix display issue for invoice. #796 2024-03-26 01:41:48 -04:00
90aada4bf3 ADd service offering for motolite users for jumpstart warranty. Add sql file to add new service offering. #795 2024-03-25 04:51:40 -04:00
93c313f111 Fix issues found during testing. #794 2024-03-24 23:38:08 -04:00
Ramon Gutierrez
25e0931f6f Revert warranty serial check for now #783 2024-03-23 04:03:00 +08:00
Ramon Gutierrez
5af3a3cb5e Add check for if serial is present before registering warranty #783 2024-03-23 04:01:16 +08:00
bf0d1f664b Add CAPI calls for hub list and job order details. #794 2024-03-22 05:35:06 -04:00
Ramon Gutierrez
07b459e7a3 Add pycache and test insurance banner to gitignore #783 2024-03-19 19:16:34 +08:00
Ramon Gutierrez
c4e03f861d Exclude cancelled JOs on rider app API #783 2024-03-19 17:33:13 +08:00
Ramon Gutierrez
cd21e41d2f Merge branch '793-prevent-jo-progression-on-rider-app-after-cancellation' into '783-rider-app-trade-in-support'
Rename JO progression check method #793

See merge request jankstudio/resq!905
2024-03-19 08:36:23 +00:00
Ramon Gutierrez
1a6af00399 Rename JO progression check method #793 2024-03-19 16:35:51 +08:00
Ramon Gutierrez
c03025748f Merge branch '793-prevent-jo-progression-on-rider-app-after-cancellation' into '783-rider-app-trade-in-support'
Resolve "Prevent JO progression on rider app after cancellation"

See merge request jankstudio/resq!904
2024-03-19 08:33:43 +00:00
Ramon Gutierrez
ca513355fe Switch parameters of allowJOProgress to fix error #793 2024-03-19 15:25:32 +08:00
Ramon Gutierrez
9152370300 Add checks to prevent JO progression if cancelled #793 2024-03-19 15:22:34 +08:00
Ramon Gutierrez
bff89a6817 Add regional pricing support to job order updates on rider app #783 2024-03-15 16:24:09 +08:00
Ramon Gutierrez
a59aa0f66d Make insurance body types a namevalue class #783 2024-03-14 13:40:37 +08:00
Ramon Gutierrez
69218aecf4 Update insurance application paid call to use external transaction id #783 2024-03-13 14:33:29 +08:00
Ramon Gutierrez
47dcd92474 Refactor insurance, paymongo connector logging logic #783 2024-03-13 07:09:56 +08:00
Ramon Gutierrez
9f4c16b149 Add debug code for insurance api #783 2024-03-12 16:34:21 +08:00
Ramon Gutierrez
175ac92765 Fix syntax error on rider api controller #783 2024-03-11 23:50:44 +08:00
Ramon Gutierrez
801a274e8c Disable serial number requirement on rider api to allow old rider app to work for now #783 2024-03-11 23:45:05 +08:00
Ramon Gutierrez
d603934d93 Update the correct MQTT client with latest changes #783 2024-03-07 23:41:21 +08:00
Ramon Gutierrez
a4b883b7ea Fix rider assign MQTT event for new rider app #783 2024-03-07 23:39:57 +08:00
Ramon Gutierrez
a2cd86b48c Merge branch '780-regional-pricing' into 783-rider-app-trade-in-support
# Conflicts:
#	src/Controller/CAPI/RiderAppController.php
#	src/InvoiceRule/BatterySales.php
2024-03-07 09:42:42 +08:00
5ddebcd95f Add saving of facilitated hub data when reassigning hub. Fix display of dropdown for facilitated hubs. #792 2024-03-04 22:45:57 -05:00
Ramon Gutierrez
ef5e629358 Merge branch '791-support-for-insurance-premiums-banner' into 780-regional-pricing 2024-02-23 18:40:10 +08:00
Ramon Gutierrez
4dd8efd95a Fix returned format of body types endpoint #791 2024-02-23 18:39:21 +08:00
34adefb798 Merge branch '791-support-for-insurance-premiums-banner' of gitlab.com:jankstudio/resq into 780-regional-pricing 2024-02-23 04:01:58 -05:00
Ramon Gutierrez
78a43ae85c Add insurance body types endpoint #791 2024-02-23 16:53:04 +08:00
7ed9f90945 Merge branch '791-support-for-insurance-premiums-banner' of gitlab.com:jankstudio/resq into 780-regional-pricing 2024-02-22 19:42:15 -05:00
Ramon Gutierrez
0a4f78559c Merge branch '791-support-for-insurance-premiums-banner' into 783-rider-app-trade-in-support 2024-02-22 16:51:55 +08:00
Ramon Gutierrez
270a4cfb10 Add endpoint for insurance premiums banner #791 2024-02-22 16:51:26 +08:00
Ramon Gutierrez
7a5583d840 Include trade in type and container size to battery info rider api call #783 2024-02-22 16:08:36 +08:00
4d89e7420f Add checking for location and price tier when getting list of compatible batteries. #780 2024-02-20 02:09:57 -05:00
010bdca458 Add updating of other fields when updating job order. Fix issue found during testing in invoice rule. #783 2024-02-12 06:19:00 -05:00
abf4bbfe22 Add checking for promo. #783 2024-02-12 03:46:26 -05:00
Ramon Gutierrez
eebd1d93c4 Fix battery info endpoint to work with warranty serials instead #783 2024-02-08 23:17:32 +08:00
Ramon Gutierrez
ba09e6ac7b Merge branch '782-invoice-and-jo-modifications-for-regional-pricing' into '780-regional-pricing'
Resolve "Invoice and JO modifications for regional pricing"

See merge request jankstudio/resq!894
2024-02-08 06:21:40 +00:00
Ramon Gutierrez
8860796db2 Add endpoint for rider app trade-in types #783 2024-02-07 15:02:47 +08:00
Ramon Gutierrez
3254527653 Merge branch 'master' into '782-invoice-and-jo-modifications-for-regional-pricing'
Master

See merge request jankstudio/resq!901
2024-02-06 08:16:28 +00:00
8ca7292a25 Add processing of trade in items from rider app. #783 2024-02-05 03:06:06 -05:00
c9057b9617 Add API call to update invoice. #783 2024-02-02 04:50:03 -05:00
86744afde3 Add serial as a parameter when rider fulfills a job order. #783 2024-02-01 04:24:09 -05:00
ae46d64f5b Add API call to return battery data given a serial. #783 2024-02-01 03:10:16 -05:00
Ramon Gutierrez
a5340fbfd6 Merge branch '788-remove-geofence-message-from-view-jo' into 'master'
Resolve "Remove geofence message from View JO"

Closes #788

See merge request jankstudio/resq!900
2024-02-01 06:46:29 +00:00
0e5365a015 Comment out geofence message when viewing JO. Initialize branch_codes array. #788 2024-01-31 20:13:41 -05:00
Ramon Gutierrez
313dc74eb0 Merge branch '784-transaction-origin-additional-fields' into 'master'
Fix transaction origin list to replace existing facebook and hotline with manila entries #784

Closes #784

See merge request jankstudio/resq!899
2024-01-31 14:06:05 +00:00
Ramon Gutierrez
33eaf9bbff Fix transaction origin list to replace existing facebook and hotline with manila entries #784 2024-01-31 22:05:42 +08:00
Ramon Gutierrez
8ee1809a99 Merge branch '787-update-geofence-message-in-app' into 'master'
Resolve "Update geofence message in app"

Closes #787

See merge request jankstudio/resq!898
2024-01-30 07:25:15 +00:00
5717eddaa0 Update geofence message in the app. #787 2024-01-30 02:24:08 -05:00
Ramon Gutierrez
35b3b23e55 Merge branch '786-remove-geofence-message-in-crm' into 'master'
Resolve "Remove geofence message in CRM"

Closes #786

See merge request jankstudio/resq!897
2024-01-30 07:14:34 +00:00
f7c8034538 Comment out the geofence call for admin panel. #786 2024-01-30 02:12:08 -05:00
Ramon Gutierrez
ba8ac73c9d Merge branch '785-no-sms-notification-for-discount' into 'master'
Resolve "No SMS notification for discount"

Closes #785

See merge request jankstudio/resq!896
2024-01-30 07:03:47 +00:00
9b52d4578f Add checking for discount rejection reason. #785 2024-01-30 02:02:24 -05:00
Ramon Gutierrez
b033e5674d Merge branch '784-transaction-origin-additional-fields' into 'master'
Resolve "Transaction Origin additional fields"

Closes #784

See merge request jankstudio/resq!895
2024-01-30 06:33:05 +00:00
0e2afaa400 Add new fields for transaction origin. #784 2024-01-30 01:30:09 -05:00
Ramon Gutierrez
b123be25cc Add battery sizes endpoint to rider api #783 2024-01-30 03:42:05 +08:00
d4eae00902 Add sql for item types. #782 2024-01-28 22:21:34 -05:00
20f5bb08e0 Add checking for longitude and latitude when calling getEstimate. #782 2024-01-26 04:50:54 -05:00
213171f4b7 Add price tiering for Resq 2 App and TAPI. #782 2024-01-26 04:44:18 -05:00
c136b0666b Fix issues found during testing. #782 2024-01-25 03:08:00 -05:00
57fd7fe5ac Fix issues found during testing. #782 2024-01-25 02:23:47 -05:00
bc6364ace5 Add price tier to invoice rules. #782 2024-01-25 02:11:05 -05:00
c5b395d720 Add price tier for battery replacement warranty. #782 2024-01-24 04:02:14 -05:00
b6763bfd3e Add price tier checking for battery sales. #782 2024-01-24 02:24:13 -05:00
29ad8d57a4 Add processing of battery entries and invoice item titles. #782 2024-01-22 04:24:41 -05:00
root
70ee7fdd89 Add invoice rule for price tier. #782 2024-01-19 04:14:06 -05:00
Korina Cordero
ee033ddd55 Fix issues found during testing. #780 2024-01-17 15:31:26 +08:00
Korina Cordero
a83fecf224 Merge branch 'master' of gitlab.com:jankstudio/resq into 780-regional-pricing 2024-01-17 14:50:50 +08:00
Korina Cordero
9de6fa7999 Fix issues found during saving of item prices. #780 2024-01-17 14:25:28 +08:00
Korina Cordero
6d7c8c5b53 Add saving of item prices for price tier. #780 2024-01-16 16:28:26 +08:00
Korina Cordero
022336ad8f Add saving of prices. #780 2024-01-15 17:21:31 +08:00
Korina Cordero
bfe7a5fbf6 Fix display of item prices per tier. #780 2024-01-15 15:23:07 +08:00
Korina Cordero
b592390554 Add response when displaying item prices. #780 2024-01-11 16:48:23 +08:00
Korina Cordero
7f4675a8a2 Add item type dropdown to form. #780 2024-01-10 17:23:15 +08:00
Korina Cordero
f65ca19010 Load service offering into Item Pricing page. #780 2024-01-09 17:39:29 +08:00
c17be92f0a Fix errors for item query. #780 2023-12-31 00:46:12 -05:00
80b9f90324 Rename ItemPriceController to ItemController. #780 2023-12-30 23:09:27 -05:00
01e4baa8c4 Add item price controller. #780 2023-12-28 20:41:44 -05:00
e4ffcc0c9d Add controller for item pricing. #780 2023-12-27 22:15:44 -05:00
Ramon Gutierrez
9c081b416e Merge branch '781-fix-character-length-for-motolite-events-title' into 'master'
Increase motolite event name field size to 255 #781

Closes #781

See merge request jankstudio/resq!893
2023-12-22 07:30:47 +00:00
Ramon Gutierrez
5ee41dab32 Increase motolite event name field size to 255 #781 2023-12-22 15:30:11 +08:00
root
58f46fd5bf Add route and CRUD for item type. #780 2023-12-21 23:23:46 -05:00
Korina Cordero
8c810bf27a Add validation and deletion for price tier. #780 2023-12-21 16:24:37 +08:00
Korina Cordero
fa3cf12be1 Add controller for price tier. #780 2023-12-20 18:15:17 +08:00
Korina Cordero
9447f64312 Create item price, price tier, and item type entities for regional pricing. #780 2023-12-19 17:30:38 +08:00
Ramon Gutierrez
b51160e9d0 Merge branch '779-fix-battery-recommendations-still-including-inactive-batteries' into 'master'
Display inactive batteries on edit vehicle form, exclude inactive batteries on...

Closes #779

See merge request jankstudio/resq!891
2023-12-18 09:18:17 +00:00
Ramon Gutierrez
d8bd2803e0 Display inactive batteries on edit vehicle form, exclude inactive batteries on battery recommendations API endpoint #779 2023-12-18 17:17:40 +08:00
Ramon Gutierrez
a7c7b03d06 Merge branch '746-resq-2-0-final' into 'master'
Add source to invoice criteria. Modify invoice rules to get service fees from...

See merge request jankstudio/resq!890
2023-11-22 08:54:47 +00:00
Ramon Gutierrez
ebfa3495a7 Merge branch '778-add-in-app-support-for-battery-trade-ins' into '746-resq-2-0-final'
Resolve "Add in-app support for battery trade-ins"

See merge request jankstudio/resq!889
2023-11-22 08:50:51 +00:00
Ramon Gutierrez
7c09dcac65 Merge branch '746-resq-2-0-final' into 778-add-in-app-support-for-battery-trade-ins
# Conflicts:
#	config/routes/apiv2.yaml
#	src/Controller/CustomerAppAPI/VehicleController.php
2023-11-18 04:36:57 +08:00
Ramon Gutierrez
fb2ca0bbd8 Merge branch '761-add-paramount-insurance-and-paymongo-support-for-resq2-api' into '746-resq-2-0-final'
Resolve "Add Paramount insurance and PayMongo support for RESQ2 API"

See merge request jankstudio/resq!888
2023-11-17 20:28:02 +00:00
Ramon Gutierrez
9bc9b13055 Merge branch '765-change-fax-to-alternative-phone-number' into '746-resq-2-0-final'
Resolve "Change Fax to Alternative Phone Number"

See merge request jankstudio/resq!879
2023-11-17 08:43:21 +00:00
Ramon Gutierrez
4773d6c08c Add trade-in support to invoice generation and JO creation for app #778 2023-11-17 06:30:07 +08:00
Ramon Gutierrez
fd0c9ede26 Merge branch '746-resq-2-0-final' into 778-add-in-app-support-for-battery-trade-ins 2023-11-14 19:25:54 +08:00
Ramon Gutierrez
ef10f7c7b9 Add endpoint for getting estimated trade-in value #778 2023-11-14 19:25:05 +08:00
Ramon Gutierrez
6d4614f634 Merge branch '772-remove-list-of-car-club-members-checkboxes-from-jo' into '746-resq-2-0-final'
Resolve "Remove list of car club members checkboxes from JO"

See merge request jankstudio/resq!886
2023-11-14 07:18:19 +00:00
Korina Cordero
cf5da6ea7b Comment out customer car club code. #772 2023-11-14 14:56:32 +08:00
Ramon Gutierrez
2e5ce7e28b Merge branch '770-add-another-module-for-all-resq-transactions' into '746-resq-2-0-final'
Resolve "Add another module for all RESQ transactions"

See merge request jankstudio/resq!885
2023-11-14 04:49:04 +00:00
Korina Cordero
deb26d3aa8 Remove debug message. #770 2023-11-13 18:30:07 +08:00
Korina Cordero
1dbfd2e3d1 Rename the menu item for Resq view all. #770 2023-11-13 18:29:24 +08:00
Korina Cordero
6cf94bb193 Add the new columns to the Resq View All page. #770 2023-11-13 18:27:01 +08:00
Korina Cordero
14d62d044f Make new page to view all Resq app job orders. #770 2023-11-13 15:20:46 +08:00
Ramon Gutierrez
fba077d4d3 Merge branch '773-add-a-dropdown-box-in-customer-information-to-indicate-if-customer-is-new-old' into '746-resq-2-0-final'
Resolve "Add a dropdown box in Customer Information to indicate if customer is new/old"

See merge request jankstudio/resq!883
2023-11-10 05:47:05 +00:00
Korina Cordero
c7b2502f0a Merge branch '746-resq-2-0-final' of gitlab.com:jankstudio/resq into 773-add-a-dropdown-box-in-customer-information-to-indicate-if-customer-is-new-old 2023-11-10 13:46:07 +08:00
Ramon Gutierrez
0ded3cea83 Merge branch '767-enable-viewing-of-jos-locked-to-another-agent' into '746-resq-2-0-final'
Resolve "Enable viewing of JOs locked to another agent"

See merge request jankstudio/resq!880
2023-11-10 05:45:32 +00:00
Korina Cordero
1ce284578d Merge branch '746-resq-2-0-final' of gitlab.com:jankstudio/resq into 767-enable-viewing-of-jos-locked-to-another-agent 2023-11-10 13:40:52 +08:00
Korina Cordero
24332c0f9b Merge branch '746-resq-2-0-final' of gitlab.com:jankstudio/resq into 773-add-a-dropdown-box-in-customer-information-to-indicate-if-customer-is-new-old 2023-11-10 13:39:12 +08:00
Korina Cordero
91edfa6ef0 Fix issues found during testing. #773 2023-11-10 13:35:49 +08:00
Korina Cordero
005f891057 Fix issues found during testing. #773 2023-11-10 13:29:52 +08:00
Korina Cordero
c77591fe01 Fix issues during testing. #773 2023-11-09 18:08:59 +08:00
Korina Cordero
fd28be75d1 Add command to update flag_cust_new for existing job orders. Rename flag for consistency. #773 2023-11-09 18:03:17 +08:00
Korina Cordero
806418db52 Fix checking for customer job orders. #773 2023-11-09 16:30:57 +08:00
Korina Cordero
35456cfb19 Add new field for job order for new customers. Add saving of new field for job orders from admin panel and third party API. #773 2023-11-09 12:07:26 +08:00
Ramon Gutierrez
58c3d1c64a Merge branch '768-add-timer-in-jo-list-to-show-real-time-dispatch-time' into '746-resq-2-0-final'
Add dispatch timer to list of all JOs view #768

See merge request jankstudio/resq!884
2023-11-08 22:17:00 +00:00
Ramon Gutierrez
e070d6df18 Merge branch '746-resq-2-0-final' into 768-add-timer-in-jo-list-to-show-real-time-dispatch-time
# Conflicts:
#	templates/job-order/list.all.html.twig
2023-11-09 06:16:24 +08:00
Ramon Gutierrez
ac5683f7f1 Add dispatch timer to list of all JOs view #768 2023-11-09 06:10:51 +08:00
Ramon Gutierrez
0ba63cc106 Merge branch '769-add-transaction-type-for-view-all-header' into '746-resq-2-0-final'
Resolve "Add Transaction Type for View All header"

See merge request jankstudio/resq!882
2023-11-08 07:19:54 +00:00
Korina Cordero
8ed1434353 Add service type to View All page. Replace Battery Facilitated By to Assigned Hub in View All Page. #769 2023-11-08 15:17:32 +08:00
Ramon Gutierrez
b20371cd1f Merge branch '774-add-late-documentation-tickbox-and-reason-field-in-new-ticket-ticket-creation' into '746-resq-2-0-final'
Add source to invoice criteria. Modify invoice rules to get service fees from...

See merge request jankstudio/resq!881
2023-11-06 20:04:50 +00:00
Ramon Gutierrez
2344ec716b Add documentation time column to ticket list #774 2023-11-07 04:02:57 +08:00
Ramon Gutierrez
d44323c097 Add late documentation fields to ticket form #774 2023-11-07 04:02:33 +08:00
Ramon Gutierrez
561a280647 Add late documentation fields to ticket table #774 2023-11-07 03:34:56 +08:00
Korina Cordero
20a6029671 Add view only form for job order. #767 2023-10-27 17:53:10 +08:00
Ramon Gutierrez
ff753d5452 Remove initial 0 from mobile number passed to paymongo checkout api #761 2023-10-23 12:42:09 +08:00
Ramon Gutierrez
2432a08c4d Add support for transient status between making a payment and receiving the webhook #761 2023-10-23 01:17:05 +08:00
Korina Cordero
a29c31d3de Change Fax to Alternative Phone. #765 2023-10-20 13:45:42 +08:00
Ramon Gutierrez
b1ff62d9ec Add back insurance status to vehicle list so latest status can be displayed #761 2023-10-17 14:43:06 +08:00
Ramon Gutierrez
ac2cf864f2 Handle expiry date from insurance completed callback #761 2023-10-13 17:38:03 +08:00
Ramon Gutierrez
708e9a67cc Update insurance callback handler to expect formdata #761 2023-10-13 14:13:57 +08:00
Ramon Gutierrez
38262151e8 Add dates to vehicle info insurance info #761 2023-10-11 17:06:37 +08:00
Ramon Gutierrez
502e9a11cd Add customer vehicle id to insurance FCM notifications #761 2023-10-11 15:39:07 +08:00
Ramon Gutierrez
da87b386a3 Add changelog to insurance info on vehicle endpoint #761 2023-10-09 17:02:23 +08:00
Ramon Gutierrez
d3054760d3 Add external transaction id to vehicle info endpoint #761 2023-10-09 16:56:41 +08:00
Ramon Gutierrez
c332757a53 Fix paymongo handler not checking for the correct payload parameter on validation #761 2023-10-09 16:35:06 +08:00
Ramon Gutierrez
516fbcfcba Add missing dependency to insurance callback handler #761 2023-10-09 15:51:33 +08:00
Ramon Gutierrez
c0c6fe26f7 Fix wrong parameter being checked for invalid insurance callback #761 2023-10-09 15:50:28 +08:00
Ramon Gutierrez
cbe84d1cc8 Set insurance callback handler to process raw json body #761 2023-10-09 15:48:05 +08:00
Ramon Gutierrez
e3a79361bd Remove auth from insurance listener. Fail silently if invalid callback given #761 2023-10-09 14:05:25 +08:00
Ramon Gutierrez
9b616cf398 Handle insurance callbacks, add support for non-JO related FCM notifications #761 2023-10-09 01:15:12 +08:00
Ramon Gutierrez
dd9c9dd0ec Add endpoint for getting individual vehicle info #761 2023-09-26 04:53:13 +08:00
Ramon Gutierrez
38023bdb00 Add insurance information to customer vehicle endpoint #761 2023-09-20 20:40:00 +08:00
Ramon Gutierrez
a002da6aad Add entity null check for paymongo webhooks #761 2023-09-20 06:14:22 +08:00
Ramon Gutierrez
ee021da453 Handle paymongo webhooks #761 2023-09-20 06:08:00 +08:00
Ramon Gutierrez
78956de357 Merge branch '763-add-shopify-to-transaction-origin' into '746-resq-2-0-final'
Resolve "Add Shopify to Transaction Origin"

See merge request jankstudio/resq!877
2023-09-12 13:02:19 +00:00
Ramon Gutierrez
c5a8bda95a Return premium amount on insurance application endpoint #761 2023-09-09 00:42:42 +08:00
Korina Cordero
4dbd2377f4 Add Shopify to TransactionOrigin. #763 2023-09-08 15:31:58 +08:00
Ramon Gutierrez
95f771c252 Update field requirements for is_public and vehicle_use_type #761 2023-09-07 06:54:30 +08:00
Ramon Gutierrez
db75e7becd Add insurance endpoints, insurance and paymongo connectors #761 2023-09-06 04:05:15 +08:00
Ramon Gutierrez
8c11ec9e8f
Merge branch '759-add-inventory-column-to-job-order-details-report' into '746-resq-2-0-final'
Resolve "Add inventory column to Job Order Details Report"

See merge request jankstudio/resq!873
2023-09-05 20:00:36 +00:00
Ramon Gutierrez
f94cec4bfa
Merge branch '760-jumpstart-fee-for-hotline' into '746-resq-2-0-final'
Resolve "Jumpstart fee for Hotline"

See merge request jankstudio/resq!875
2023-09-04 07:58:51 +00:00
Korina Cordero
041248ae0c Set jumpstart fee for motolite users, depending on JO source. #760 2023-09-04 15:36:44 +08:00
Korina Cordero
d00b211363 Merge branch '746-resq-2-0-final' of gitlab.com:jankstudio/resq into 759-add-inventory-column-to-job-order-details-report 2023-08-29 10:15:09 +08:00
Ramon Gutierrez
32f3f957be Merge branch '758-make-service-fees-dynamic' into '746-resq-2-0-final'
Fix issue of jumpstart for motolite user. #758

See merge request jankstudio/resq!874
2023-08-25 06:00:04 +00:00
Korina Cordero
fc95f781d8 Fix issue of jumpstart for motolite user. #758 2023-08-25 09:42:42 +08:00
Korina Cordero
f98b3e170c Merge branch '746-resq-2-0-final' of gitlab.com:jankstudio/resq into 759-add-inventory-column-to-job-order-details-report 2023-08-25 00:25:28 +00:00
Ramon Gutierrez
555e79ab68 Merge branch '758-make-service-fees-dynamic' into '746-resq-2-0-final'
Resolve "Make service fees dynamic"

See merge request jankstudio/resq!872
2023-08-24 10:02:59 +00:00
Korina Cordero
80c762d463 Add inventory to the Job Order Details report. #759 2023-08-24 09:04:40 +00:00
Korina Cordero
4f13114649 Add inventory count to job order. Add saving of inventory count when assigning hub. #759 2023-08-24 07:29:06 +00:00
Korina Cordero
cfa77bf2e1 Add source to invoice criteria. Modify invoice rules to get service fees from database. Modify call to invoice to include source. #758 2023-08-23 07:51:43 +00:00
Korina Cordero
e9631b437f Add sql file to populate the ServiceOffering table. #758 2023-08-22 10:53:18 +00:00
Korina Cordero
3af04a922a Fix input type for fee. #758 2023-08-22 10:34:01 +00:00
Korina Cordero
8f196000a8 Add permisssions, menu, forms, entity, for ServiceOffering. #758 2023-08-22 08:36:51 +00:00
Ramon Gutierrez
236819d951 Merge branch '757-fix-display-of-database-menu-items' into '746-resq-2-0-final'
Resolve "Fix display of Database menu items"

See merge request jankstudio/resq!871
2023-08-18 09:07:50 +00:00
Korina Cordero
70047d4ea0 Resolve "Fix display of Database menu items" 2023-08-18 09:07:50 +00:00
Ramon Gutierrez
f481af3694 Merge branch '756-update-jumpstart-service-fee' into '746-resq-2-0-final'
Resolve "Update jumpstart service fee"

See merge request jankstudio/resq!870
2023-08-16 07:55:14 +00:00
Korina Cordero
acf7ce0d4d Update the service fee for jumpstart. #756 2023-08-16 07:51:53 +00:00
Ramon Gutierrez
de5f55ac0e Use friendlier error message for invalid confirmation code #746 2023-08-14 07:22:41 +08:00
Ramon Gutierrez
3137d39a9a Add customer account validation and response spoofing to account deletion resend code method #746 2023-08-14 05:22:26 +08:00
Ramon Gutierrez
b3b81e4e27 Add transparent check if number is valid before storing new deletion request #746 2023-08-14 00:28:27 +08:00
Ramon Gutierrez
18c295f2b1 Fix customer record association when submitting a delete request #746 2023-08-13 17:36:33 +08:00
Ramon Gutierrez
9ad1f0d9b2 Add account deletion api endpoints #746 2023-08-11 07:26:49 +08:00
Ramon Gutierrez
73738b7a18 Fix checking of test app store numbers #746 2023-08-10 12:49:06 +08:00
Ramon Gutierrez
e3af21f741 Add mfg id to exported vehicle list, fix default sorting of vehicle results #746 2023-08-09 06:01:24 +08:00
Ramon Gutierrez
4516566d56 Add vehicle make and manufacturer CSV export functionality #746 2023-08-09 05:49:26 +08:00
Ramon Gutierrez
26824713da Remove authentication from version check endpoint #746 2023-08-04 18:00:35 +08:00
Ramon Gutierrez
f3992f05fc Update apiv2 app version check to include OS #746 2023-08-02 16:39:30 +08:00
Ramon Gutierrez
e212e2d29a Merge branch '755-resq-2-fix-display-of-discount-type' into '746-resq-2-0-final'
Resolve "RESQ 2: Fix display of discount type"

See merge request jankstudio/resq!869
2023-07-28 09:27:23 +00:00
Korina Cordero
458a34c6a8 Fix setting of promo for invoice. #755 2023-07-28 05:58:03 +00:00
Ramon Gutierrez
1704235bbd Add image for premium excel battery #746 2023-07-26 17:05:50 +08:00
Ramon Gutierrez
0708ebdca9 Fix vertical centering on battery images #746 2023-07-24 16:01:31 +08:00
Ramon Gutierrez
00eb5d1a9d Fix aspect ratio of stock battery images #746 2023-07-24 15:46:12 +08:00
Ramon Gutierrez
570d405347 Update temp static battery images with new ones, handle spaces in image path #746 2023-07-24 15:36:49 +08:00
Ramon Gutierrez
18c893cc6e Merge branch '753-resq-2-set-invoice-criteria-correctly-in-getestimate' into '746-resq-2-0-final'
Resolve "RESQ 2: Set invoice criteria correctly in getEstimate"

See merge request jankstudio/resq!868
2023-07-21 06:34:40 +00:00
Korina Cordero
7b16738709 Fix typo. #753 2023-07-21 06:28:40 +00:00
Korina Cordero
da419dd257 Fix setting of invoice criteria for vat computations and battery entries. #753 2023-07-21 06:25:48 +00:00
Ramon Gutierrez
49ff4b604b Merge branch '752-resq-2-fix-return-values-for-invoice-data' into '746-resq-2-0-final'
Resolve "RESQ 2: Fix return values for invoice data"

See merge request jankstudio/resq!867
2023-07-20 02:30:51 +00:00
Korina Cordero
fc33668a46 Typecast the invoice fields to float. Fix the namespace for APIResponse for TAPI controllers. #752 2023-07-20 02:19:13 +00:00
Ramon Gutierrez
9b75993d3d Merge branch '751-resq-2-test-fix-for-fcm-notification-priority' into '746-resq-2-0-final'
Change dependency for fcm to forked lib with high priority set #751

See merge request jankstudio/resq!866
2023-07-19 10:04:54 +00:00
Ramon Gutierrez
6d6662611d Change dependency for fcm to forked lib with high priority set #751 2023-07-19 17:57:05 +08:00
Ramon Gutierrez
0eef2449e8 Fix duplicate fcm notification issue #746 2023-07-19 16:14:49 +08:00
Ramon Gutierrez
c2ff927f1f Merge branch '750-resq-2-fix-computation-issue-for-jo-from-resq-1-app' into '746-resq-2-0-final'
Fix the same issue in resq 2 app. #750

See merge request jankstudio/resq!865
2023-07-19 07:43:33 +00:00
Korina Cordero
4f70fc437c Fix the same issue in resq 2 app. #750 2023-07-19 07:41:48 +00:00
Ramon Gutierrez
bc47873ed1 Merge branch '750-resq-2-fix-computation-issue-for-jo-from-resq-1-app' into '746-resq-2-0-final'
Resolve "RESQ 2: Fix computation issue for JO from Resq 1 app"

See merge request jankstudio/resq!864
2023-07-19 07:18:09 +00:00
Korina Cordero
8427b3fb3d Fix adding of battery to invoice criteria for new JOs created from app. #750 2023-07-19 07:17:03 +00:00
Ramon Gutierrez
a78c08b7a2 Merge branch '749-resq-2-fix-api-responses-in-capi-calls' into '746-resq-2-0-final'
Resolve "RESQ 2: Fix API responses in CAPI calls"

See merge request jankstudio/resq!863
2023-07-18 06:20:55 +00:00
Korina Cordero
976acc26ad Change APIResponse namespace for CAPI controllers. #749 2023-07-18 06:16:41 +00:00
Ramon Gutierrez
11355f3eb2 Fix case issue on class name for api controller #746 2023-07-18 09:35:48 +08:00
Ramon Gutierrez
20301b6b98 Merge branch '748-fuel-price-update-for-resq-2' into '746-resq-2-0-final'
Resolve "Fuel Price Update for Resq 2"

See merge request jankstudio/resq!862
2023-07-13 13:43:27 +00:00
Korina Cordero
97917cf49b Updated fuel prices. #748 2023-07-12 07:49:30 +00:00
Ramon Gutierrez
f26d6284f3 Merge branch '744-new-invoice-service' into '746-resq-2-0-final'
Resolve "New invoice service"

See merge request jankstudio/resq!860
2023-07-10 12:48:30 +00:00
Korina Cordero
12ebe3538c Set taxable for the invoice criteria. #744 2023-07-07 09:36:22 +00:00
Korina Cordero
37ce74f07d Merge branch '746-resq-2-0-final' of gitlab.com:jankstudio/resq into 744-new-invoice-service 2023-07-06 05:39:07 -04:00
Korina Cordero
17e0fd6dcf Merge branch 'master' of gitlab.com:jankstudio/resq into 744-new-invoice-service 2023-07-06 05:25:22 -04:00
Korina Cordero
54c49eb8c5 Add comment on return value for compute. #744 2023-07-05 01:38:31 -04:00
Korina Cordero
2f3a77e96d Fix issues found during testing. #744 2023-07-05 01:36:44 -04:00
Korina Cordero
b4bcc06e42 Modify the invoice manager to be more generic. #744 2023-07-04 06:05:34 -04:00
Ramon Gutierrez
7beeef104c Update table names of role and user to match master #746 2023-06-23 13:14:41 +08:00
Ramon Gutierrez
87f77c9b9c Merge branch '730-resq-2-0' into 746-resq-2-0-final 2023-06-22 12:35:28 +08:00
Ramon Gutierrez
abc4e31d96 Initial commit for insurance listener only #730 2023-06-22 12:34:31 +08:00
Korina Cordero
783c26facc Add setting of taxable for invoice criteria. #744 2023-06-19 00:14:34 -04:00
Korina Cordero
822bc59c6c Set taxable for invoice criteria when app requests a job order. #744 2023-06-18 23:40:09 -04:00
Korina Cordero
9840ecf633 Use interface for the invoice manager. #744 2023-06-18 23:23:29 -04:00
ee9031a8f3 Merge branch '745-make-required-initial-concern-of-customer-and-notes-on-initial-concern-of-customer' into 'master'
Resolve "Make required Initial Concern of Customer and Notes on Initial Concern of Customer"

Closes #745

See merge request jankstudio/resq!859
2023-06-18 23:54:01 +00:00
Korina Cordero
f9800d8da3 Make required the initial concern and notes on initial concern fields. #745 2023-06-16 02:09:35 -04:00
Ramon Gutierrez
b81b10840b Pass jo status with each notification #730 2023-06-14 17:36:31 +08:00
Ramon Gutierrez
c2418b117e Attach jo_id to all fcm notifications #730 2023-06-14 17:14:59 +08:00
Ramon Gutierrez
31c0f4a102 Fix customer user not being properly associated with session #730 2023-06-14 16:49:04 +08:00
Ramon Gutierrez
c4878a9e6d Increase os_version size to 200 #730 2023-06-14 16:38:30 +08:00
Ramon Gutierrez
5540084416 Fix translation locations #730 2023-06-14 15:33:29 +08:00
Ramon Gutierrez
4990a3dc9d Add inital support for FCM push notifications 2023-06-13 20:33:58 +08:00
Korina Cordero
282760fe5a Remove debug message. #744 2023-06-07 05:33:59 -04:00
Korina Cordero
05073f3a0c Add frontend elements for testing JO saving. #744 2023-06-07 05:30:37 -04:00
Korina Cordero
fa514ef26c Remove debug messages. Add TODO task for front-end. #744 2023-06-05 21:51:19 -04:00
Korina Cordero
e9f18ed184 Modify the admin panel to use the new invoice engine when creating a new JO. #744 2023-06-05 21:34:15 -04:00
Korina Cordero
4ebbd8cfd3 Finish adding the test cases. #744 2023-06-05 20:13:37 -04:00
Korina Cordero
fe5121cf71 Add methods to process generateInvoice ajax call. Add test cases. #744 2023-06-05 01:55:04 -04:00
Korina Cordero
a986d7835b Add function to let the JO service call the new invoice manager. #744 2023-06-02 05:50:39 -04:00
Korina Cordero
77c2763f53 Fix typo. #744 2023-06-01 04:39:38 -04:00
Korina Cordero
f760b2c02a Add discount type rule and test cases. #744 2023-06-01 03:22:24 -04:00
Korina Cordero
725704e951 Add test cases for no tax. Fix issues found when computing the total if no tax. #744 2023-05-31 06:09:54 -04:00
Korina Cordero
49317188c9 Fix issues found during testing of tax computation. #744 2023-05-31 03:57:30 -04:00
Korina Cordero
f598e4f426 Add tax rule. #744 2023-05-30 05:54:16 -04:00
Korina Cordero
9bac6df2df Add rules for trade in and other service types. Add test scenarios. #744 2023-05-29 06:05:59 -04:00
Ramon Gutierrez
82065bda93 Fix review tag endpoints #730 2023-05-29 15:49:55 +08:00
Korina Cordero
e3ec6148df Add command to test invoice manager. #744 2023-05-26 05:54:22 -04:00
Korina Cordero
15830924e2 Add function to process the criteria entries. #744 2023-05-25 06:06:15 -04:00
Korina Cordero
0063f10f93 Add function to check what rules to use. #744 2023-05-24 06:16:44 -04:00
Korina Cordero
0bb32f47b5 Modify invoice engine. #744 2023-05-23 07:52:14 -04:00
Ramon Gutierrez
ed037428b3 Fix missing rider object from jo info #730 2023-05-23 14:41:43 +08:00
Ramon Gutierrez
0b3b5eb0bb Add review info to jo info endpoint #730 2023-05-23 14:32:46 +08:00
Korina Cordero
1c02138f52 Add services for the new invoice generator. #744 2023-05-22 06:06:12 -04:00
Ramon Gutierrez
562e96e32d Add review tag management views #730 2023-05-22 14:42:21 +08:00
Ramon Gutierrez
e235026197 Add review tags api #730 2023-05-22 14:12:33 +08:00
Ramon Gutierrez
a821c42f0d Add rider average rating to jo info #730 2023-05-22 13:18:01 +08:00
Ramon Gutierrez
33e6994aaa Add rider rating average computation #730 2023-05-22 13:00:54 +08:00
Ramon Gutierrez
c2c4be8b7b Fix missing entity dependency for rider reviews #730 2023-05-22 12:48:01 +08:00
Ramon Gutierrez
f2233d6680 Remove unnecessary entitymanager dependency on motolite events controller #730 2023-05-17 01:29:53 +08:00
Ramon Gutierrez
9afa2dfc6c Add CRM support for upcoming motolite events #730 2023-05-17 00:30:13 +08:00
Ramon Gutierrez
059bda9bf6 Add limit clause to motolite events endpoint #730 2023-05-16 13:30:12 +08:00
Ramon Gutierrez
9b7e0e55a7 Add missing getter method to motolite events #730 2023-05-16 12:20:05 +08:00
Ramon Gutierrez
24bd64d6e0 Fix events endpoint not returning any rows #730 2023-05-16 12:15:39 +08:00
Ramon Gutierrez
202b2d740e Fix case types on motolite event type namevalue #730 2023-05-16 12:12:01 +08:00
Ramon Gutierrez
8241dc5630 Fix order clause for upcoming events #730 2023-05-16 12:06:15 +08:00
Ramon Gutierrez
58eafabdcf Add api support for motolite events #730 2023-05-16 06:12:05 +08:00
Ramon Gutierrez
9c36baa3d3 Fix jo id null on outlet_assign #730 2023-05-12 15:32:02 +08:00
Ramon Gutierrez
551a39a236 Append JO ID and debug code to outlet_assign event #730 2023-05-12 15:21:15 +08:00
Ramon Gutierrez
8d7556c732 Remove in_transit mqtt event #730 2023-05-12 15:15:14 +08:00
Ramon Gutierrez
b90fc2f8dd Move in_transit event to pre hub departure #730 2023-05-12 15:10:08 +08:00
Ramon Gutierrez
c32b7d68c7 Add in_transit mqtt event for new app #730 2023-05-12 15:05:21 +08:00
Ramon Gutierrez
63526d65f2 Fix typo for Search in menu translation keys #730 2023-05-12 03:27:17 +08:00
Ramon Gutierrez
ea60fa081c Fix missing param for new mqtt client on assigning hub and rider #730 2023-05-11 19:13:56 +08:00
Ramon Gutierrez
4f06c02bd4 Restore legacy MQTTClient, add new MQTTClientApiv2 class for new customer api #730 2023-05-11 18:34:02 +08:00
Ramon Gutierrez
1d278beb35 Fix label for jumpstart service #730 2023-05-11 16:11:39 +08:00
Ramon Gutierrez
0afc1a04b0 Fix partner reviews not working with new customer session type #730 2023-05-11 16:11:17 +08:00
Ramon Gutierrez
fa3998d47f Separate apiv2 user provider #730 2023-05-11 01:39:38 +08:00
Ramon Gutierrez
a52267ca76 Initial implementation of insurance connector #730 2023-05-06 03:24:45 +08:00
Ramon Gutierrez
3861a9bf93 Keep legacy mqtt payload the same #730 2023-05-06 01:51:06 +08:00
Ramon Gutierrez
ddde274fdc Additional fix using sess array as object on mqtt connector #730 2023-05-06 01:37:07 +08:00
Ramon Gutierrez
82578fb346 Fix using sess array as object on mqtt connector #730 2023-05-06 01:36:21 +08:00
Ramon Gutierrez
e24174e59e Use different mqtt channel for apiv2 sessions #730 2023-05-06 01:33:16 +08:00
Ramon Gutierrez
5f4e6b1ad9 Fix mapping for customer user to session #730 2023-05-04 18:26:57 +08:00
Ramon Gutierrez
8e53a3bb19 Add debug code for mqtt sending #730 2023-05-04 18:08:50 +08:00
Ramon Gutierrez
219ab513b5 Remove truncation of first two digits on customer creation for new API #730 2023-05-04 18:07:38 +08:00
Ramon Gutierrez
87702f0e4c Revert use of isEmpty on arraycollection on mqtt connector #730 2023-05-04 17:41:19 +08:00
Ramon Gutierrez
df6a4ad292 Fix array merge issue on refactoring mqtt client #730 2023-05-04 17:38:10 +08:00
Ramon Gutierrez
13531171d7 Update MQTT client to send to both legacy and new customer sessions #730 2023-05-03 11:03:25 +08:00
Ramon Gutierrez
1ed25d0a26 Remove debug code from review entity #730 2023-04-28 18:14:54 +08:00
Ramon Gutierrez
1261fc1d20 Add support for new customer sessions on partner reviews #730 2023-04-28 18:08:23 +08:00
Ramon Gutierrez
3bf350ceaf Add icon id to service list #730 2023-04-28 17:47:58 +08:00
Ramon Gutierrez
4182e44607 Add date_schedule to JO info generation #730 2023-04-24 17:02:58 +08:00
Ramon Gutierrez
fed0b655f5 Make landmark field optional for now #730 2023-04-24 15:11:09 +08:00
Ramon Gutierrez
68fe13de46 Add missing dependency for warranty #730 2023-04-12 22:52:27 +08:00
Ramon Gutierrez
403de63251 Add missing dependency for warranty serial, replace request input api_key instances with session_key #730 2023-04-12 06:37:15 +08:00
Ramon Gutierrez
bddddf1970 Fix missing dependency on warranty check #730 2023-04-04 11:49:10 +08:00
da03f13f75 Merge branch '743-fix-for-hub-filter-for-emergency-jo-from-re-assign-hub' into 'master'
Resolve "Fix for hub filter for emergency JO from Re-assign Hub"

Closes #743

See merge request jankstudio/resq!857
2023-03-31 10:29:58 +00:00
Korina Cordero
2535498db9 Add TODO for emergency distance limit. #743 2023-03-31 10:29:22 +00:00
Korina Cordero
f6436cd421 Add limit distance for emergencies when assigning hub from Open page. #743 2023-03-31 10:04:16 +00:00
Ramon Gutierrez
46104bc395 Replace doctrine spatial lib with forked version #730 2023-03-28 11:36:32 +08:00
Ramon Gutierrez
cb11849489 Add support for customer credits, add credit manager #730 2023-03-27 04:40:14 +08:00
Ramon Gutierrez
6d416ee5f1 Fix issues encountered during v2 app creation #730 2023-03-26 00:43:45 +08:00
Ramon Gutierrez
c7fc06ef50 Fix routes and acl for apiv2 #730 2023-03-26 00:43:08 +08:00
bc7a91c01d Merge branch '740-filter-sms-hub-rejection-by-servie-type' into 'master'
Resolve "Filter SMS Hub Rejection by Service Type"

Closes #740

See merge request jankstudio/resq!855
2023-03-08 01:01:27 +00:00
Korina Cordero
92abe703d3 Add checking for JO service type. #740 2023-03-07 02:30:57 +00:00
e2498beca7 Merge branch '739-add-customer-location-to-jo' into 'master'
Resolve "Add customer location to JO"

Closes #739

See merge request jankstudio/resq!854
2023-02-28 10:14:33 +00:00
f6a858cc28 Merge branch '738-filter-sms-hub-rejection' into 'master'
Resolve "Filter SMS Hub Rejection"

Closes #738

See merge request jankstudio/resq!853
2023-02-28 10:14:20 +00:00
Korina Cordero
674a862586 Remove else condition. #738 2023-02-28 08:04:19 +00:00
Korina Cordero
e102766961 Move checking for phone number and rejection reason. #738 2023-02-28 08:02:11 +00:00
Korina Cordero
a594bef863 Add sql script to insert the requested customer locations. #739 2023-02-23 08:07:40 +00:00
Korina Cordero
2aef8e64e7 Add blank option for customer location dropdown. Add checking for blank option. #739 2023-02-23 08:02:37 +00:00
Korina Cordero
4717d7d925 Add customer location dropdown to JO form. #739 2023-02-23 07:13:48 +00:00
Korina Cordero
f57c9f5f4f Add CRUD for customer locations. #739 2023-02-23 03:08:17 +00:00
Ramon Gutierrez
d59ac805f7 Update rider app to use correct api response class #730 2023-02-18 23:28:04 +08:00
Ramon Gutierrez
95b5c59db2 Fix customer user not being associated with customer record #730 2023-02-18 15:43:20 +08:00
Ramon Gutierrez
202b984aa2 Fix typo on customer user getter #730 2023-02-18 15:43:02 +08:00
Ramon Gutierrez
f7f182e062 Fix old dependency for customer endpoints on rider app api #730 2023-02-16 05:56:24 +08:00
Ramon Gutierrez
0947b12e99 Add resend code endpoint to creds whitelist #730 2023-02-16 05:54:39 +08:00
Ramon Gutierrez
2f7e493fab Separate routes for old and new apis #730 2023-02-16 05:54:14 +08:00
Korina Cordero
5dc4d9f3f8 Add checking if reason is administrative. #738 2023-02-13 02:05:18 +00:00
Ramon Gutierrez
81d4f46930 Fix existing customer user association #730 2023-02-10 15:10:24 +08:00
87846040b6 Merge branch 'staging' into 'master'
Staging

See merge request jankstudio/resq!852
2023-02-09 10:19:33 +00:00
71ee183813 Merge branch '734-add-columns-to-nearest-hubs-in-dispatch-page' into 'staging'
Add flag_active to query for riders. #734

See merge request jankstudio/resq!851
2023-02-09 03:14:29 +00:00
Korina Cordero
b87855e0a6 Add flag_active to query for riders. #734 2023-02-08 06:28:02 +00:00
2c6b39acb6 Merge branch '736-rejection-notification-to-hub-via-sms' into 'staging'
Add sending of SMS notification to hub when rejected. #736

See merge request jankstudio/resq!850
2023-02-08 03:32:25 +00:00
8cdf33014e Merge branch '734-add-columns-to-nearest-hubs-in-dispatch-page' into 'staging'
Add rider count columns to Nearest Hubs table in Dispatch page. #734

See merge request jankstudio/resq!848
2023-02-08 03:31:46 +00:00
0331fb605a Merge branch '733-add-capability-to-deactivate-a-battery' into 'staging'
"Add capability to deactivate a battery"

See merge request jankstudio/resq!847
2023-02-08 03:31:13 +00:00
Ramon Gutierrez
e3be92b63e Rename register return value from session_id to session_key #730 2023-02-08 07:45:01 +08:00
Ramon Gutierrez
f62ce78ac7 Fix base api user usage, fix customer user registration logic on number confirm #730 2023-02-08 07:42:51 +08:00
1ecd69b959 Fix typo in ApiUser entity #730 2023-02-08 02:45:20 +08:00
af39b6d6ca Add ApiUser to replace the old catalyst api user #730 2023-02-08 02:44:15 +08:00
Ramon Gutierrez
efec5c4b84 Add proper config for api acl #730 2023-02-08 02:24:25 +08:00
Ramon Gutierrez
693ee7cd9b Update api user provider on security policy #730 2023-02-07 18:19:55 +08:00
Ramon Gutierrez
e0029d8ab5 Remove debug code for register endpoint, add customer api user entity #730 2023-02-07 18:17:35 +08:00
Korina Cordero
879c80f7be Add sending of SMS notification to hub when rejected. #736 2023-02-07 07:15:43 +00:00
Ramon Gutierrez
98705f99d4 Remove guard on api routes, move all returns to base accessed methods #730 2023-02-07 09:11:17 +08:00
Ramon Gutierrez
9876165af5 Adjust new customer api method groupings, add routes #730 2023-02-07 08:25:07 +08:00
Ramon Gutierrez
b3301fdbac Add new customer app API logic #730 2023-02-07 07:58:57 +08:00
Korina Cordero
ab2d6be08e Add getActiveBatteries function. #733 2023-02-06 10:42:01 +00:00
Korina Cordero
765b3a99b9 Add getActiveBatteries function. #733 2023-02-06 10:39:30 +00:00
51a2111552 Merge branch '735-add-rider-status-to-rider-assignment-table-in-assignment-form' into 'staging'
Add rider status to rider assignment table. #735

See merge request jankstudio/resq!849
2023-02-06 10:30:47 +00:00
Korina Cordero
0e7a955a91 Improve checking for rider status. #735 2023-02-06 10:01:36 +00:00
Korina Cordero
63b02a7c21 Add rider status to rider assignment table. #735 2023-02-06 07:35:06 +00:00
Ramon Gutierrez
2a0ca3b9ea Update auth table names to new standard, fix model association config for acl #730 2023-02-06 05:14:08 +08:00
Korina Cordero
4c4a8da7e6 Add rider count columns to Nearest Hubs table in Dispatch page. #734 2023-02-03 08:36:43 +00:00
Ramon Gutierrez
876722ebe7 Switch over to newer catalyst libs, update service configs #730 2023-02-03 14:52:44 +08:00
Korina Cordero
6e9e56b1be Add filtering for inactive batteries. #733 2023-02-02 09:09:44 +00:00
Korina Cordero
72fc6ee9b0 Fix error. #733 2023-02-02 06:57:07 +00:00
Korina Cordero
cbf5d12d96 Modify queries to only get active batteries. #733 2023-02-02 03:59:21 +00:00
Korina Cordero
c478a4d0bf Add flag_active to Battery entity. Add flag_active to forms. #733 2023-02-02 02:50:22 +00:00
935dc15101 Merge branch '729-fuel-price-updates' into 'master'
Resolve "Fuel price updates"

Closes #729

See merge request jankstudio/resq!844
2023-01-27 13:30:38 +00:00
Korina Cordero
fd2a1b35bc Update fuel prices. #729 2023-01-27 06:02:25 +00:00
c8d22a0dfb Merge branch '726-add-sales-invoice-number-field-to-warranty' into 'master'
Resolve "Add sales invoice number field to warranty"

Closes #726

See merge request jankstudio/resq!841
2023-01-19 07:58:38 +00:00
Korina Cordero
7cd8dcf725 Add sales invoice number field to warranty creation in admin panel. #726 2022-12-26 02:15:43 +00:00
08ecd2ebea Merge branch '725-add-fields-for-warranty-creation-from-admin-panel' into 'master'
Resolve "Add fields for warranty creation from admin panel"

Closes #725

See merge request jankstudio/resq!840
2022-12-20 08:12:53 +00:00
Korina Cordero
54b5d0deef Fix layout of form. #725 2022-12-19 10:09:19 +00:00
d5245844ac Merge branch '724-fuel-price-changes' into 'master'
Resolve "Fuel price changes"

Closes #724

See merge request jankstudio/resq!839
2022-12-19 09:09:58 +00:00
Korina Cordero
7c95f1ff0d Add new fields to warranty creation in admin panel. #725 2022-12-19 06:37:21 +00:00
Korina Cordero
79caebf1f9 Modify fuel prices. #724 2022-12-19 03:28:30 +00:00
31b246fca0 Merge branch '723-fix-issue-with-raffle-reports-2' into 'master'
Resolve "Fix issue with raffle reports"

Closes #723

See merge request jankstudio/resq!838
2022-12-16 11:19:58 +00:00
Korina Cordero
6d6c855feb Fixed setting of time for date time for query. #723 2022-12-16 08:02:47 +00:00
524d99db08 Merge branch '720-create-service-to-filter-warranty-entries-for-warranty-raffle-report' into 'master'
Resolve "Create service to filter warranty entries for warranty raffle report"

Closes #720

See merge request jankstudio/resq!835
2022-11-22 07:42:16 +00:00
Korina Cordero
bec964ffa4 Add criteria to warranty raffle filter. #720 2022-11-22 07:39:45 +00:00
Korina Cordero
907bee0d70 Add service to filter warranty raffle entries. #720 2022-11-21 07:37:27 +00:00
Korina Cordero
5b6b090257 Add mobile number from mobile session to warranty raffle report. #719 2022-11-21 07:01:55 +00:00
8776d69a92 Merge branch '718-warranty-raffle-report-changes' into 'master'
Resolve "Warranty Raffle Report Changes"

Closes #718

See merge request jankstudio/resq!833
2022-11-16 10:42:42 +00:00
Korina Cordero
c70dbd3b52 Add action to report. Modify transaction id in report. #718 2022-11-16 10:41:35 +00:00
f0d14b7d77 Merge branch '717-log-warranty-activities-from-app' into 'master'
Resolve "Log warranty activities from app"

Closes #717

See merge request jankstudio/resq!832
2022-11-14 12:43:39 +00:00
Korina Cordero
8d9c02ae72 Merge branch '716-jo-raffle-report' of gitlab.com:jankstudio/resq into 717-log-warranty-activities-from-app
Conflicts:
	config/acl.yaml
	config/routes/report.yaml
	src/Controller/ReportController.php
2022-11-14 11:58:25 +00:00
Korina Cordero
29468c629b Add warranty raffle report. #717 2022-11-14 08:11:49 +00:00
Korina Cordero
f2a661f696 Add logging for raffle when doing a serial check, creating and updating a warranty. #717 2022-11-14 06:32:24 +00:00
Korina Cordero
b1d7777726 Add log for warranty from app. #717 2022-11-11 08:33:35 +00:00
Korina Cordero
2317bfee4d Fix formatting of csv output. #716 2022-11-11 03:28:23 +00:00
Korina Cordero
b9159b7f4a Add Raffle Number column. #716 2022-11-11 01:12:21 +00:00
Korina Cordero
1b3d8d86a0 Add JO raffle report. #716 2022-11-10 09:29:01 +00:00
36ad7a28c2 Merge branch '708-warranty-serial-upload-improvements' into 'master'
Resolve "Warranty Serial Upload Improvements"

Closes #708

See merge request jankstudio/resq!824
2022-11-10 06:45:46 +00:00
a5640914bf Merge branch '715-modify-number-of-days-for-sending-warranty-sms-expiry-notification' into 'master'
Resolve "Modify number of days for sending warranty sms expiry notification"

Closes #715

See merge request jankstudio/resq!830
2022-10-27 12:56:34 +00:00
Korina Cordero
0ece8b5864 Change time of warranty sms notification from one month to 45 days. #715 2022-10-25 02:55:38 +00:00
9f2027fcc1 Merge branch '714-fuel-price-update' into 'master'
Resolve "Fuel price update"

Closes #714

See merge request jankstudio/resq!829
2022-10-20 14:22:20 +00:00
Korina Cordero
ab77cb6260 Update fuel prices. #714 2022-10-19 01:11:09 +00:00
337b98f655 Merge branch '713-tapi-changes' into 'master'
Resolve "TAPI Changes"

Closes #713

See merge request jankstudio/resq!828
2022-10-11 07:24:55 +00:00
Korina Cordero
9112bf55f1 Fix formatting for floats. #713 2022-10-11 07:06:58 +00:00
Korina Cordero
36cf10871e Comment debug logs. #713 2022-10-11 05:37:24 +00:00
Korina Cordero
474298a42b Add a break when service type is set to jumpstart_warranty. #713 2022-10-11 05:23:23 +00:00
5e22dc5de1 Merge branch '712-fuel-price-changes' into 'master'
Resolve "Fuel price changes"

Closes #712

See merge request jankstudio/resq!827
2022-10-11 03:56:22 +00:00
Korina Cordero
49df3fc976 Change fuel prices. #712 2022-10-11 03:55:26 +00:00
e08a4ed803 Merge branch '711-fuel-price-changes' into 'master'
Resolve "Fuel price changes"

Closes #711

See merge request jankstudio/resq!826
2022-10-07 07:36:31 +00:00
Korina Cordero
1c3032b9e7 Change fuel prices. #711 2022-10-07 07:11:32 +00:00
9130d41a96 Merge branch '710-disable-stripping-qr-prefix' into 'master'
Resolve "Disable stripping QR prefix"

Closes #710

See merge request jankstudio/resq!825
2022-09-30 13:40:48 +00:00
Korina Cordero
a3be1434a0 Disable removal of QR prefix. #710 2022-09-30 07:51:25 +00:00
Korina Cordero
b3678168da Comment debug logs. #708 2022-09-30 04:57:54 +00:00
Korina Cordero
b4a6e233f1 Delete csv file and directory after processing file. #708 2022-09-29 07:04:53 +00:00
Korina Cordero
6794db5f6a Add checking if any file was processed. #708 2022-09-29 05:50:46 +00:00
Korina Cordero
97d058c3d3 Modify the load warranty serial command to process one file. Add a command to get the number of pending files. Add bash script to call the load warranty serial command. #708 2022-09-28 09:43:04 +00:00
Korina Cordero
815c25a894 Add locking and unlocking for warranty serial queue table when deleting an entry. #708 2022-09-28 06:19:41 +00:00
Korina Cordero
21231358d6 Delete entry from warranty_serial_queue when done processing. #708 2022-09-28 02:43:27 +00:00
c1ef75b8f5 Merge branch '707-add-checking-for-warranty-serial-length' into 'master'
Resolve "Add checking for warranty serial length"

Closes #707

See merge request jankstudio/resq!823
2022-09-27 01:11:39 +00:00
Korina Cordero
b8c0fa9932 Add checking for serial length. #707 2022-09-26 06:46:45 +00:00
72dab63503 Merge branch '704-capi-call-for-warranty-serial' into 'master'
Resolve "CAPI call for warranty serial"

Closes #704

See merge request jankstudio/resq!821
2022-09-23 03:14:27 +00:00
Korina Cordero
c077094044 Merge branch 'master' of gitlab.com:jankstudio/resq into 704-capi-call-for-warranty-serial 2022-09-22 01:25:16 +00:00
53d4d28716 Merge branch '705-fuel-changes' into 'master'
Resolve "Fuel changes"

Closes #705

See merge request jankstudio/resq!822
2022-09-21 13:23:34 +00:00
Korina Cordero
6ee6a7d9a1 Comment debug logs. #704 2022-09-21 05:36:39 +00:00
Korina Cordero
9efe73e8b2 Add validation for invalid number of fields. #704 2022-09-21 04:54:21 +00:00
Korina Cordero
f40155e1f5 Change the logging of serial. #704 2022-09-20 08:19:43 +00:00
Korina Cordero
2bbb83c43e Adjust fuel prices. #705 2022-09-20 06:12:34 +00:00
Korina Cordero
6314b4097d Add test capi endpoint. #704 2022-09-20 04:20:36 +00:00
Korina Cordero
138c60a61b Comment out sending to callback URL. #704 2022-09-20 02:38:32 +00:00
Korina Cordero
f8910860a6 Fix json output for command. #704 2022-09-19 09:28:12 +00:00
Korina Cordero
fc15b514bf Add file id. #704 2022-09-19 08:21:29 +00:00
Korina Cordero
0ffbf10879 Fix conflict. #704 2022-09-19 07:15:55 +00:00
Korina Cordero
c42d2973f4 Merge branch 'master' of gitlab.com:jankstudio/resq into 704-capi-call-for-warranty-serial
Conflicts:
	config/api_acl.yaml
	src/Controller/APIUserController.php
2022-09-19 07:14:04 +00:00
7416be8425 Merge branch '686-move-apicontroller-methods-into-capi' into 'master'
Resolve "Move APIController methods into CAPI"

Closes #686

See merge request jankstudio/resq!800
2022-09-19 06:39:38 +00:00
Korina Cordero
35d6e34128 Merge branch 'master' of gitlab.com:jankstudio/resq into 686-move-apicontroller-methods-into-capi
Conflicts:
	src/Ramcar/TransactionOrigin.php
2022-09-19 06:35:16 +00:00
Korina Cordero
d9aaea928c Add call to curl to command. #704 2022-09-19 06:27:03 +00:00
Korina Cordero
70e9b933d9 Add output to command. #704 2022-09-16 05:22:14 +00:00
Korina Cordero
cbc0b290ad Add processing for output. #704 2022-09-15 09:51:07 +00:00
Korina Cordero
32720ba9e7 Fix issues for the load command. #704 2022-09-15 07:38:33 +00:00
Korina Cordero
5b848a7f10 Fix issue when creating API user that's not a rider. Fix issues when uploading a file. #704 2022-09-15 05:56:43 +00:00
Korina Cordero
a3e9c45ec3 Separate the uploading of files and the processing of files. #704 2022-09-14 09:33:05 +00:00
Korina Cordero
3c9bdc8152 Add WarrantySerialQueue entity. #704 2022-09-14 08:02:51 +00:00
Korina Cordero
7d65b1eb77 Add CAPI call to upload warranty serial CSV file. #704 2022-09-14 07:33:51 +00:00
c2adf8f082 Merge branch '703-add-credit-card-amex-to-payment-mode' into 'master'
Resolve "Add Credit Card - AMEX to payment mode"

Closes #703

See merge request jankstudio/resq!820
2022-08-31 13:23:02 +00:00
Korina Cordero
dae8fe7051 Add credit card amex to mode of payment. #703 2022-08-31 04:57:27 +00:00
5352f16b83 Merge branch '702-modify-fuel-prices' into 'master'
Resolve "Modify fuel prices"

Closes #702

See merge request jankstudio/resq!819
2022-08-30 04:50:49 +00:00
Korina Cordero
f51ec9112d Modify fuel prices. #702 2022-08-30 04:38:22 +00:00
c1dbc8abf6 Merge branch '701-modify-motiv-endpoint-info-for-warranty-serial' into 'master'
Resolve "Modify motiv endpoint info for warranty serial"

Closes #701

See merge request jankstudio/resq!818
2022-08-30 04:30:12 +00:00
Korina Cordero
6231db2467 Update the token for the motiv blob. #701 2022-08-30 04:29:16 +00:00
4b887adcd2 Merge branch '695-yokohama-add-new-ticket-types-and-subticket-types' into 'master'
Resolve "YOKOHAMA Add new ticket types and subticket types"

Closes #695

See merge request jankstudio/resq!811
2022-08-23 09:34:56 +00:00
5d6eb443a7 Merge branch '694-yokohama-add-new-transactionorigin-types' into 'master'
Resolve "YOKOHAMA Add new TransactionOrigin types"

Closes #694

See merge request jankstudio/resq!810
2022-08-23 09:34:25 +00:00
eb769f736f Merge branch '696-ownership-dropdown-in-jo-form' into 'master'
Add sql file for ownership types. #696

Closes #696

See merge request jankstudio/resq!817
2022-08-16 08:07:27 +00:00
Korina Cordero
34accc1a0c Add sql file for ownership types. #696 2022-08-16 08:05:02 +00:00
091da71cc1 Merge branch '700-fuel-price-changes' into 'master'
Resolve "Fuel price changes"

Closes #700

See merge request jankstudio/resq!816
2022-08-16 07:55:38 +00:00
Korina Cordero
1feef7484e Adjust fuel charges. #700 2022-08-16 07:44:36 +00:00
52545c8a4f Merge branch '696-ownership-dropdown-in-jo-form' into 'master'
Resolve "Ownership Dropdown in JO form"

Closes #696

See merge request jankstudio/resq!812
2022-08-15 08:39:28 +00:00
Korina Cordero
a4338c8f61 Add ownership type dropdown to JO form. #696 2022-08-15 08:28:23 +00:00
Korina Cordero
837a3a2ec5 Add ownership type CRUD. #696 2022-08-15 07:10:15 +00:00
Korina Cordero
c1e33fb5dd Add new ticket and new subticket types. #695 2022-08-12 10:39:08 +00:00
Korina Cordero
5f94f252bc Add new transaction origin types for Yokohama. #694 2022-08-12 08:36:21 +00:00
a08f988a54 Merge branch '693-fuel-price-change-and-geofence-message-change' into 'master'
Resolve "Fuel price change and geofence message change"

Closes #693

See merge request jankstudio/resq!809
2022-08-05 14:22:29 +00:00
80d4063238 Change error message for geofence #693 2022-08-05 22:21:49 +08:00
774599a01b Change prices for refuel #693 2022-08-05 22:10:12 +08:00
d27d54f7da Fix motiv being down for getInventory 2022-07-16 19:22:59 +08:00
a327f070aa Merge branch '692-filter-plate-number-for-warranty-check-and-submission' into 'master'
Clean plate number before warranty registering for mobile API

Closes #692

See merge request jankstudio/resq!808
2022-07-12 16:50:38 +00:00
559d4bbc01 Clean plate number before warranty registering for mobile API 2022-07-13 00:45:58 +08:00
ae9b7ce061 Merge branch '690-warranty-creation-issue-in-warrantyhandler' into 'master'
Resolve "Warranty creation issue in WarrantyHandler"

Closes #690

See merge request jankstudio/resq!806
2022-06-28 13:25:38 +00:00
Korina Cordero
270867f86f Redo the warranty creation. #690 2022-06-28 13:21:47 +00:00
Korina Cordero
48aa0b024f Fix warranty creation issue. #690 2022-06-28 12:47:42 +00:00
0ea02ae04d Merge branch '684-move-the-blob-and-sas-token-for-warranty-serial-download-to-env' into 'master'
Resolve "Move the blob and sas token for warranty serial download to .env"

Closes #684

See merge request jankstudio/resq!798
2022-06-24 13:15:05 +00:00
Korina Cordero
ce160c506c Add a process date for the output filename when loading serials. Change the write method to append. #684 2022-06-24 07:13:09 +00:00
Korina Cordero
3910db88f0 Fix parameter issue for getJobOrderInfo. #686 2022-06-23 09:39:25 +00:00
Korina Cordero
ee44dfb44e Fix cleaning of mobile number. #686 2022-06-23 09:02:56 +00:00
Korina Cordero
06a2a887ef Fix cleaning of mobile number. #686 2022-06-23 08:46:50 +00:00
Korina Cordero
470dd47195 Add DeliveryStatus to JobOrderController. #686 2022-06-23 08:23:34 +00:00
Korina Cordero
accd6fd0f6 Add validation for model year. #686 2022-06-23 07:57:24 +00:00
Korina Cordero
7995706dd3 Add another date to bulk script. #684 2022-06-23 03:07:12 +00:00
Korina Cordero
a669159513 Merge branch 'master' of gitlab.com:jankstudio/resq into 684-move-the-blob-and-sas-token-for-warranty-serial-download-to-env 2022-06-23 03:05:45 +00:00
c2d556b1b6 Merge branch '682-add-code-to-emergency-types' into 'master'
Fixed the sql with emergency type code. #682

Closes #682

See merge request jankstudio/resq!804
2022-06-22 02:11:33 +00:00
Korina Cordero
873bf80154 Fixed the sql with emergency type code. #682 2022-06-22 02:09:28 +00:00
4e728fd59a Merge branch '688-disable-motiv' into 'master'
Add check to see if motiv reply is valid #688

Closes #688

See merge request jankstudio/resq!803
2022-06-22 01:37:04 +00:00
Korina Cordero
3ce12df214 Add another date to the bulk script. #684 2022-06-22 01:14:49 +00:00
b4def3c1a7 Add check to see if motiv reply is valid #688 2022-06-21 21:51:31 +08:00
Korina Cordero
bbb562d366 Comment out scheduleOptionStatus. #686 2022-06-21 10:16:48 +00:00
Korina Cordero
fd77f1ef62 Add route for getNearestHubAndSlots. Modify getNearestHubAndSlots. #686 2022-06-21 10:08:58 +00:00
Korina Cordero
2112edd4f0 Remove getJOHistory. Add route for locationSupport. Modify responses of locationSupport. #686 2022-06-21 09:43:19 +00:00
Korina Cordero
144afae551 Add route for getJobOrderInfo. Modify the responses for getJobOrderInfo. #686 2022-06-21 09:10:23 +00:00
Korina Cordero
4e613e3c01 Add route for cancelJobOrder. Modify cancelJobOrder responses. #686 2022-06-21 08:54:09 +00:00
Korina Cordero
3e73bc0513 Add route for getJOInvoice. Modify getJOInvoice responses. #686 2022-06-21 08:32:19 +00:00
Korina Cordero
f486a1b5a0 Add route for getEstimate. Modify getEstimate for third party api. #686 2022-06-21 07:55:25 +00:00
Korina Cordero
7985ec8f34 Rename validateRequest to validateJORequest. Modify required parameters for getEstimate. #686 2022-06-21 03:57:16 +00:00
Korina Cordero
ce6b1f8049 Fix responses. Add routes for promo. #686 2022-06-21 03:20:30 +00:00
7b01e7bc0d Merge branch '687-change-fuel-charges' into 'master'
Resolve "Change fuel charges"

Closes #687

See merge request jankstudio/resq!801
2022-06-20 14:57:28 +00:00
Korina Cordero
5b32349437 Fix the responses for the api calls for vehicle and battery. #686 2022-06-20 10:20:42 +00:00
Korina Cordero
fb91d462ff Add path to tapi calls. Add more required parameters for new job order. #686 2022-06-20 09:00:56 +00:00
Korina Cordero
2ca7f86829 Add another day to batch script. #684 2022-06-20 06:59:37 +00:00
Korina Cordero
fb766eb99f Change diesel fuel fee. #687 2022-06-20 06:56:48 +00:00
Korina Cordero
08050416bb Add route for job order creation using third party API. #686 2022-06-20 06:50:06 +00:00
Korina Cordero
db65c6d623 Add more dates to bulk script. #684 2022-06-17 10:44:28 +00:00
Korina Cordero
c8a8bc53af Start processing of request data. #686 2022-06-17 08:47:55 +00:00
Korina Cordero
89cd852db8 Merge branch '684-move-the-blob-and-sas-token-for-warranty-serial-download-to-env' of gitlab.com:jankstudio/resq into 686-move-apicontroller-methods-into-capi 2022-06-17 04:03:23 +00:00
Korina Cordero
16fb2cf0da Add bulk load serial script. Modify bulk script for loading serials. #684 2022-06-16 08:24:05 +00:00
Korina Cordero
c885033934 Change URL and token for downloading warranty serials. #684 2022-06-16 06:35:06 +00:00
Korina Cordero
44b9679a2e Move third party api controllers to a more descriptive directory. #686 2022-06-16 04:26:27 +00:00
Korina Cordero
60f401e26e Add permissions for another third party api. Copied the methods from APIController into CAPI third party conrtrollers. #686 2022-06-15 08:22:36 +00:00
54f065d30f Merge branch '668-remove-error_logs' into 'master'
Resolve "Remove error_logs"

Closes #668

See merge request jankstudio/resq!783
2022-06-13 02:09:24 +00:00
0734f315ac Merge branch '682-add-code-to-emergency-types' into 'master'
Resolve "Add code to emergency types"

Closes #682

See merge request jankstudio/resq!796
2022-06-12 05:40:06 +00:00
b68d722013 Merge branch '683-use-gettickettypetext-when-returning-ticket-type-for-ticket-list' into 'master'
Resolve "Use getTicketTypeText when returning ticket type for ticket list"

Closes #683

See merge request jankstudio/resq!797
2022-06-12 05:40:00 +00:00
11432f9742 Merge branch '681-mark-orange-in-dispatch-page-jos-that-are-marked-rush' into 'master'
Resolve "Mark orange in Dispatch page JOs that are marked Rush"

Closes #681

See merge request jankstudio/resq!795
2022-06-12 05:38:39 +00:00
Korina Cordero
a9a5760444 Use getTicketTypeText to display ticket type. #683 2022-06-10 08:39:41 +00:00
Korina Cordero
200f4bca22 Add code to emergency type. #682 2022-06-10 08:32:46 +00:00
Korina Cordero
f8e3e7df2d Add rush request JOs to be marked the same color as emergency. #681 2022-06-10 08:00:18 +00:00
4eb35364ca Merge branch '680-add-code-to-ticket-and-subticket-types' into 'master'
Resolve "Add code to ticket and subticket types"

Closes #680

See merge request jankstudio/resq!794
2022-06-10 07:38:32 +00:00
f90badd331 Merge branch '679-separate-screen-for-resq-transations' into 'master'
Resolve "Separate screen for RESQ transations"

Closes #679

See merge request jankstudio/resq!793
2022-06-10 07:25:49 +00:00
9150db3c20 Merge branch '677-dropdown-menu-for-specific-emergency-scenarios' into 'master'
Resolve "Dropdown Menu for specific Emergency Scenarios"

Closes #677

See merge request jankstudio/resq!791
2022-06-10 07:23:40 +00:00
Korina Cordero
cf97c74ea6 Fix display of ticket types when listing tickets in ticket list, ticket list in job order and ticket list in customer. #680 2022-06-10 07:20:24 +00:00
Korina Cordero
c63b9ffe43 Add code to ticket and subticket types. #680 2022-06-10 06:46:14 +00:00
Korina Cordero
3af014c7cf Remove JOs from mobile app in the Dispatch page. #679 2022-06-08 03:43:44 +00:00
Korina Cordero
d2591a3ffb Fix the routes for JOs coming from the Resq Dispatch page. #679 2022-06-08 03:07:12 +00:00
Korina Cordero
feade62c18 Add query parameter for the return urls when unlocking and editing/dispatching a JO. #679 2022-06-07 10:07:20 +00:00
Korina Cordero
86ab8edb74 Add a separate menu item for dispatch for JOs from mobile app. #679 2022-06-07 07:28:27 +00:00
50ce917a1a Merge branch '678-fix-color-coding-issues' into 'master'
Resolve "Fix color coding issues"

Closes #678

See merge request jankstudio/resq!792
2022-06-07 03:14:58 +00:00
Korina Cordero
61c7774da0 Fix color coding issue. #678 2022-06-07 03:08:02 +00:00
Korina Cordero
1a290436cb Modify length limit for name. Add table dump for emergency type. #677 2022-06-06 08:55:58 +00:00
Korina Cordero
70d917a585 Add emergency type to job order. #677 2022-06-06 08:40:26 +00:00
Korina Cordero
a847cba9b9 Add create, list, update, and delete for emergency type. #677 2022-06-06 06:44:55 +00:00
80e61bbc92 Merge branch '676-new-ticket-types' into 'master'
Resolve "New ticket types"

Closes #676

See merge request jankstudio/resq!790
2022-06-06 03:42:17 +00:00
Korina Cordero
3b80fee75f Add mysqldumps for ticket types and subticket types. #676 2022-06-03 09:55:44 +00:00
Korina Cordero
d89f67bc76 Add the new ticket fields into the ticket form. #676 2022-06-03 08:34:16 +00:00
Korina Cordero
96ce1f81fa Add saving of ticket type for subticket type. #676 2022-06-02 13:12:23 +00:00
Korina Cordero
efd402acb1 Add list, create, update, delete for subticket type. #676 2022-06-02 07:18:37 +00:00
Korina Cordero
5840aba2a9 Add list, create, update, delete for ticket types. #676 2022-06-02 06:44:51 +00:00
16e0d8448f Merge branch '674-color-code-jos-in-dispatch-page' into 'master'
Resolve "Color code JOs in dispatch page"

Closes #674

See merge request jankstudio/resq!788
2022-06-01 11:11:07 +00:00
Korina Cordero
a7f52fc139 Merge branch 'master' of gitlab.com:jankstudio/resq into 674-color-code-jos-in-dispatch-page
Conflicts:
	src/Service/JobOrderHandler/ResqJobOrderHandler.php
2022-06-01 08:06:06 +00:00
79f2686404 Merge branch '675-set-rider-s-current-jo-id-to-null-if-jo-s-hub-is-reassigned-and-jo-has-been-rider-assigned' into 'master'
Resolve "Set rider's current jo id to null if JO's hub is reassigned and JO has been rider assigned"

Closes #675

See merge request jankstudio/resq!789
2022-06-01 08:04:07 +00:00
Korina Cordero
e2bdf91f1c Add checking for current job order that current jo is the selected jo. #675 2022-06-01 08:01:39 +00:00
Korina Cordero
c3ecf51468 Add checking for current job order. #675 2022-06-01 07:44:02 +00:00
Korina Cordero
e36523528d Merge branch 'master' of gitlab.com:jankstudio/resq into 675-set-rider-s-current-jo-id-to-null-if-jo-s-hub-is-reassigned-and-jo-has-been-rider-assigned 2022-06-01 07:32:04 +00:00
744e80a9e5 Merge branch '673-add-classification-of-caller-to-job-order' into 'master'
Resolve "Add classification of caller to job order"

Closes #673

See merge request jankstudio/resq!787
2022-06-01 07:29:10 +00:00
Korina Cordero
6098858332 Fix issue of rider assignment not working after hub reassignment. #675 2022-06-01 06:04:04 +00:00
Korina Cordero
174acddc91 Add default values. #673 2022-06-01 04:08:08 +00:00
ee65a75ec2 Merge branch '672-add-gender-of-caller-to-jo' into 'master'
Resolve "Add gender of caller to JO"

Closes #672

See merge request jankstudio/resq!786
2022-06-01 03:43:31 +00:00
Korina Cordero
a67ec1ec11 Fixed setting of colors for special JO rows. #674 2022-06-01 03:40:16 +00:00
Korina Cordero
fe0243a4cc Add color coding for JOs that are for VIP customers or emergencies. #673 2022-05-31 09:37:29 +00:00
Korina Cordero
4580228628 Add caller classification to job order. #673 2022-05-31 07:25:49 +00:00
Korina Cordero
da20713f0f Add gender to job order. #672 2022-05-31 06:33:19 +00:00
9ac0c1613d Merge branch '671-yokohama-add-new-field-initial-concern-of-the-customer' into 'master'
Resolve "YOKOHAMA : add new field Initial Concern of the Customer"

Closes #671

See merge request jankstudio/resq!785
2022-05-31 02:39:14 +00:00
Korina Cordero
70cbecb481 Add initial concern of customer and text area to job order. #671 2022-05-26 03:47:51 +00:00
3b23c7b913 Merge branch '670-refuel-service-charge-increase' into 'master'
Resolve "Refuel service charge increase"

Closes #670

See merge request jankstudio/resq!784
2022-05-25 15:24:32 +00:00
Korina Cordero
b56787e637 Adjust fuel prices. #670 2022-05-25 06:52:18 +00:00
Korina Cordero
ff1f5bc7c6 Commented out the debug logs. #668 2022-05-20 06:59:51 +00:00
cc41ac4290 Merge branch '654-script-to-fulflll-job-orders' into 'master'
Resolve "Script to fulflll job orders"

Closes #654

See merge request jankstudio/resq!782
2022-05-19 06:03:07 +00:00
Korina Cordero
ba87fe61c5 Set flag_activated to false. #654 2022-05-19 05:44:23 +00:00
Korina Cordero
941f59ab6e Change jo event creation. #654 2022-05-18 09:34:15 +00:00
Korina Cordero
c8208df0f3 Modify warranty creation to be done by load data infile. #654 2022-05-18 08:46:13 +00:00
Korina Cordero
31e2088b6a Add log for processing. #654 2022-05-18 05:55:46 +00:00
Korina Cordero
1778af3f9f Fix issue on batch updates and inserts. #654 2022-05-18 05:53:38 +00:00
Korina Cordero
a7d1bb6a90 Add batch insert for JO event. #654 2022-05-17 12:01:15 +00:00
Korina Cordero
fa02cd1a67 Merge branch 'master' of gitlab.com:jankstudio/resq into 654-script-to-fulflll-job-orders 2022-05-17 01:58:16 +00:00
b343d00dfc Merge branch '660-add-customer-and-customer-vehicle-in-warranty-upload' into 'master'
Add sap code to warranty creation when battery exists. #660

Closes #660

See merge request jankstudio/resq!781
2022-05-16 08:48:48 +00:00
Korina Cordero
232b962c2e Add sap code to warranty creation when battery exists. #660 2022-05-16 08:38:41 +00:00
41c25ed1f5 Merge branch '660-add-customer-and-customer-vehicle-in-warranty-upload' into 'master'
Resolve "Add customer and customer vehicle in warranty upload"

Closes #660

See merge request jankstudio/resq!780
2022-05-16 07:44:13 +00:00
Korina Cordero
4803152fb1 Add checking for sap battery in hash. #660 2022-05-16 06:16:23 +00:00
Korina Cordero
3f9fd88729 Add sap battery hash. #660 2022-05-13 10:44:34 +00:00
Korina Cordero
c099ffd5fd Optimize sql selects. #654 2022-05-13 09:24:20 +00:00
Korina Cordero
f89e8548a9 Add checking for sap code for warranty creation. #654 2022-05-13 07:22:10 +00:00
Korina Cordero
b0e743b6e7 Merge branch 'master' of gitlab.com:jankstudio/resq into 654-script-to-fulflll-job-orders 2022-05-13 05:32:57 +00:00
1c22b8b96f Merge branch '660-add-customer-and-customer-vehicle-in-warranty-upload' into 'master'
Remove checking of entries. #660

Closes #660

See merge request jankstudio/resq!779
2022-05-12 08:19:39 +00:00
Korina Cordero
938d6ff848 Rename field total. #660 2022-05-12 08:10:44 +00:00
Korina Cordero
4afa21f51e Add row number to output. Add checking for correct number of fields. #660 2022-05-12 08:06:36 +00:00
Korina Cordero
559a61bb13 Add checking for null rider ids. #654 2022-05-12 07:04:52 +00:00
Korina Cordero
9318b37077 Remove checking of entries. #660 2022-05-12 06:08:50 +00:00
Korina Cordero
0dda309a76 Add insert command for warranty creation. #654 2022-05-12 04:08:28 +00:00
Korina Cordero
d9de5cd519 Redo the command to fulfill all open job orders. #654 2022-05-11 10:08:41 +00:00
Korina Cordero
1a7d53ca01 Merge branch 'master' of gitlab.com:jankstudio/resq into 654-script-to-fulflll-job-orders 2022-05-11 03:04:42 +00:00
3a00a46b73 Merge branch '660-add-customer-and-customer-vehicle-in-warranty-upload' into 'master'
Resolve "Add customer and customer vehicle in warranty upload"

Closes #660

See merge request jankstudio/resq!773
2022-05-10 06:58:44 +00:00
Korina Cordero
8401eeb0da Move the bulk warranty upload to its own service. #660 2022-05-10 06:28:28 +00:00
Korina Cordero
e8670e4b60 Add index for serial. Add additional checks for serial in warranty. #660 2022-05-06 10:17:27 +00:00
Korina Cordero
86ef1ec646 Fix issues found during testing of bulk upload. #660 2022-05-06 09:03:22 +00:00
Korina Cordero
ecff27524a Create test command for bulk warranty upload optimization. #660 2022-05-05 11:27:35 +00:00
Korina Cordero
39be9e94ed Merge branch 'master' of gitlab.com:jankstudio/resq into 660-add-customer-and-customer-vehicle-in-warranty-upload 2022-05-04 09:26:50 +00:00
Korina Cordero
a9cb98912c Merge branch 'master' of gitlab.com:jankstudio/resq into 654-script-to-fulflll-job-orders 2022-05-04 09:02:18 +00:00
413d963348 Merge branch '663-update-refuel-charges' into 'master'
Resolve "Update refuel charges"

Closes #663

See merge request jankstudio/resq!777
2022-05-02 06:56:56 +00:00
Korina Cordero
5adbc79363 Merge branch 'master' of gitlab.com:jankstudio/resq into 663-update-refuel-charges 2022-05-02 06:40:09 +00:00
102f0962bf Merge branch '662-fuel-type-and-status-condition-of-customer-vehicle-not-saved-correctly-via-app' into 'master'
Resolve "Fuel type and status condition of customer vehicle not saved correctly via app"

Closes #662

See merge request jankstudio/resq!776
2022-05-02 06:39:26 +00:00
Korina Cordero
0ea329655f Rename function to normalizeString. #662 2022-05-02 06:22:17 +00:00
Korina Cordero
19d12d9264 Modify hardcoded refuel charges. #663 2022-05-02 06:20:30 +00:00
Korina Cordero
3e61bdb89c Fix typo for call to normalize text. #662 2022-05-02 06:14:53 +00:00
Korina Cordero
4fb28174c5 Normalize fuel type and status condition of vehicle when adding customer vehicle via app. #662 2022-05-02 02:45:38 +00:00
4c67d59b22 Merge branch '661-yokohama-add-source-of-awareness-dropdown-and-related-remarks-field-to-ticket-and-jo' into 'master'
Add Referral to source of awareness dropdown. #661

Closes #661

See merge request jankstudio/resq!775
2022-04-29 05:05:08 +00:00
Korina Cordero
e44d8d3b06 Add Referral to source of awareness dropdown. #661 2022-04-29 05:03:17 +00:00
ca4c59f59e Merge branch '661-yokohama-add-source-of-awareness-dropdown-and-related-remarks-field-to-ticket-and-jo' into 'master'
Resolve "YOKOHAMA: Add Source of Awareness dropdown and related Remarks field to ticket and JO"

Closes #661

See merge request jankstudio/resq!774
2022-04-29 00:33:43 +00:00
Korina Cordero
ebaef97333 Add Source of Awareness and Remarks to job order form. #661 2022-04-27 06:45:54 +00:00
Korina Cordero
bbea317cf1 Add Source of Awareness and Remarks to Ticket and ticket form. #661 2022-04-27 05:56:15 +00:00
Korina Cordero
0dee028045 Find customer and customer vehicle before warranty creation for warranty upload. #660 2022-04-25 08:42:43 +00:00
4a93a2d482 Merge branch '659-post-cert-renewal-script' into 'master'
Resolve "Post cert renewal script"

Closes #659

See merge request jankstudio/resq!772
2022-04-22 09:25:20 +00:00
Korina Cordero
4d07f350bb Add comments on how to install the script. #695 2022-04-22 09:24:39 +00:00
Korina Cordero
cea8df1a2c Add script to copy the new certificates to vernemq folder and restart the needed services 2022-04-22 08:26:13 +00:00
19a757f48d Merge branch '658-check-numbers-sent-to-rising-tide' into 'master'
Fix bugs found when testing with app. #658

Closes #658

See merge request jankstudio/resq!771
2022-04-12 11:03:24 +00:00
Korina Cordero
dad3caecf3 Fix bugs found when testing with app. #658 2022-04-12 11:00:43 +00:00
2caa286f12 Merge branch '658-check-numbers-sent-to-rising-tide' into 'master'
Resolve "Check numbers sent to Rising Tide"

Closes #658

See merge request jankstudio/resq!770
2022-04-12 10:08:48 +00:00
Korina Cordero
9bc1f44ca2 Clean up code. #658 2022-04-12 10:08:13 +00:00
Korina Cordero
b712b35a97 Fix checking for return. #658 2022-04-12 10:01:14 +00:00
Korina Cordero
6fff162c0e Improve error message and return value. #658 2022-04-12 09:59:35 +00:00
Korina Cordero
a6add363bd Refine the cleaning of mobile number. #658 2022-04-12 09:53:01 +00:00
Korina Cordero
466d6c124f Prepend country code to mobile numbers for SMS messaging. #658 2022-04-12 09:30:00 +00:00
ab2ca02227 Merge branch '655-import-yokohama-vehicle-battery-compatibility' into 'master'
Modify script to create vehicle if vehicle does not exist. Modify length of make in Vehicle. #655

Closes #655

See merge request jankstudio/resq!769
2022-04-11 03:06:51 +00:00
Korina Cordero
688b890fd7 Modify script to create vehicle if vehicle does not exist. Modify length of make in Vehicle. #655 2022-04-11 03:04:43 +00:00
d0d26e01e4 Merge branch '655-import-yokohama-vehicle-battery-compatibility' into 'master'
Resolve "Import Yokohama vehicle battery compatibility"

Closes #655

See merge request jankstudio/resq!767
2022-04-08 12:23:03 +00:00
Korina Cordero
bc1c6110e8 Fix issues found during testing. #655 2022-04-08 09:06:55 +00:00
7433fd5153 Merge branch '656-add-motiv-inventory-to-initializehubform' into 'master'
Resolve "Add motiv inventory to initializeHubForm"

Closes #656

See merge request jankstudio/resq!768
2022-04-07 10:32:42 +00:00
Korina Cordero
928257ccdc Add motiv call to initializeOpenHubForm. #656 2022-04-07 09:58:17 +00:00
Korina Cordero
a50d591160 Redo warranty flow. #654 2022-04-07 09:32:23 +00:00
Korina Cordero
6cc9cddf1f Add command to import vehicle battery compatibility for Yokohama. #655 2022-04-06 11:01:27 +00:00
Korina Cordero
b831deacfb Add fixes. 2022-04-06 03:09:46 +00:00
Korina Cordero
789c919179 Redo command to include open job orders. 2022-04-05 10:30:49 +00:00
9b50efc9d0 Merge branch '654-script-to-fulflll-job-orders' into 'master'
Resolve "Script to fulflll job orders"

Closes #654

See merge request jankstudio/resq!766
2022-04-01 10:38:29 +00:00
Korina Cordero
4e1613540d Add date argument to command. #654 2022-03-31 06:45:40 +00:00
Korina Cordero
618769ab5d Remove clearing of entitymanager. #654 2022-03-31 02:10:10 +00:00
Korina Cordero
3315565000 Create command to fulfill assigned job orders. #654 2022-03-30 10:56:09 +00:00
b4f28a3b17 Merge branch '652-make-command-to-test-getclosestopenhubs' into 'master'
Resolve "Make command to test getClosestOpenHubs"

Closes #652

See merge request jankstudio/resq!764
2022-03-24 08:20:52 +00:00
Korina Cordero
3e238347be Add hub output with distance. #652 2022-03-24 08:19:44 +00:00
f9647f3337 Merge branch '653-modify-message-when-no-hubs-are-found' into 'master'
Resolve "Modify message when no hubs are found"

Closes #653

See merge request jankstudio/resq!765
2022-03-24 08:10:57 +00:00
Korina Cordero
c8629692e9 Change message when no hubs are found. Add checking for null if no hubs are found. #653 2022-03-24 07:44:03 +00:00
Korina Cordero
85be728bf6 Create command to test getClosestOpenHubs. #652 2022-03-24 07:32:06 +00:00
b7159c127c Merge branch '651-fix-nearest-hub-issue' into 'master'
Resolve "Fix nearest hub issue"

Closes #651

See merge request jankstudio/resq!763
2022-03-24 06:35:40 +00:00
Korina Cordero
73f0e69b9a Fix issues found while testing. #651 2022-03-24 05:50:02 +00:00
Korina Cordero
e80ce9db66 Fix issues found while testing. #651 2022-03-24 05:38:18 +00:00
Korina Cordero
457bbece2b Fix issues found while testing. #651 2022-03-24 05:28:15 +00:00
Korina Cordero
b7c5f5dafe Add checking for hub slots. #651 2022-03-24 05:07:26 +00:00
Korina Cordero
d8f5b7833d Add flag for unavailable slots. #651 2022-03-23 09:48:37 +00:00
b16e58cf35 Merge branch '650-improve-performance-for-capi-call-for-vehicles' into 'master'
Resolve "Improve performance for capi call for vehicles"

Closes #650

See merge request jankstudio/resq!762
2022-03-15 09:07:06 +00:00
Korina Cordero
8c685536d3 Change query for vehicle manufacturers and vehicles to use raw sql. #650 2022-03-15 09:01:53 +00:00
1d627025eb Merge branch '649-move-hardcoded-text-into-translations-file' into 'master'
Resolve "Move hardcoded text into translations file"

Closes #649

See merge request jankstudio/resq!761
2022-03-15 07:59:25 +00:00
Korina Cordero
a5a30ec7f9 Change hardcoded messages into entries in messages file. #649 2022-03-15 07:51:58 +00:00
Korina Cordero
ae477ea440 Move hardcoded labels to messages file. #649 2022-03-15 06:37:22 +00:00
5686923a04 Merge branch '647-update-fuel-prices' into 'master'
Resolve "Update fuel prices"

Closes #647

See merge request jankstudio/resq!759
2022-03-09 08:57:13 +00:00
Korina Cordero
4765c34be8 Update fuel prices for gas and diesel. #647 2022-03-09 03:44:16 +00:00
e986d07f70 Merge branch '644-fix-app-warranty-api' into 'master'
Add QR prefix removal to app api for warranty #644

Closes #644

See merge request jankstudio/resq!756
2022-02-02 14:32:32 +00:00
5b36e0d8d7 Add QR prefix removal to app api for warranty #644 2022-02-02 22:27:58 +08:00
c9fe5ffce5 Merge branch '643-have-capi-call-for-warranty-get-remove-qr-prefix-from-serial' into 'master'
Resolve "Have CAPI call for warranty get remove 'QR' prefix from serial"

Closes #643

See merge request jankstudio/resq!755
2022-01-20 17:04:13 +00:00
b1150d6c93 Add clean serial functionality for QR prefix in CAPI customer warranty #643 2022-01-21 01:02:55 +08:00
aa529e7411 Merge branch '641-create-capi-call-to-verify-if-resq-user' into 'master-fix'
Resolve "Create capi call to verify if resq user"

See merge request jankstudio/resq!753
2021-12-03 05:57:12 +00:00
a5f5ac861d Merge branch '640-new-rider-api-call-to-return-customer-hash' into 'master-fix'
Resolve "New rider api call to return customer hash"

See merge request jankstudio/resq!752
2021-12-03 05:56:57 +00:00
255395bb38 Merge branch '632-resq-1-5-changes' into 'master-fix'
Resolve "Resq 1.5 changes"

See merge request jankstudio/resq!745
2021-12-03 05:54:22 +00:00
Korina Cordero
8c057c216e Add mobile number to response. #641 2021-11-25 02:28:49 +00:00
Korina Cordero
5c03ccb1fb Add checking in hash service for invalid hashes. Add capi call to verify if hash belongs to customer. #641 2021-11-24 08:23:48 +00:00
Korina Cordero
b0de01ae1b Add get customer hash to api. #640 2021-11-23 05:29:51 +00:00
Korina Cordero
2e428378c6 Merge branch '632-resq-1-5-changes' of gitlab.com:jankstudio/resq into 640-new-rider-api-call-to-return-customer-hash 2021-11-23 03:12:00 +00:00
Korina Cordero
3dd2bf5de4 Remove modifications. #640 2021-11-23 03:02:03 +00:00
Korina Cordero
9c73a18b2e Add customer information to latest job order. #632 2021-11-23 02:50:49 +00:00
Korina Cordero
680a12e52a Add call to get customer hash. #640 2021-11-23 02:48:24 +00:00
Korina Cordero
0e5824af29 Add the hash generator and command to test hash generator. #640 2021-11-23 02:10:31 +00:00
Korina Cordero
ca21fcd5c9 Add landmark to response for latest jo. #632 2021-11-22 10:13:24 +00:00
Korina Cordero
1030b1934e Fix the response when no latest jo. #632 2021-11-22 08:10:12 +00:00
Korina Cordero
65c0ad1c56 Add call to get latest job order. #632 2021-11-22 06:02:50 +00:00
Korina Cordero
280a7c9c8f Fix issue found during testing. #632 2021-11-18 07:06:29 +00:00
Korina Cordero
c108647222 Add comment to response for getJOHistory. #632 2021-11-18 06:49:00 +00:00
ee07c9cc84 Fix decline in rider api to always return true, so rider app can get out of decline / accept screen 2021-11-08 18:45:36 +08:00
cc12e150f4 Merge branch '630-rider-app-timeout' into 'master-fix'
Resolve "Rider app timeout"

See merge request jankstudio/resq!743
2021-11-08 10:09:01 +00:00
11c323f39a Merge branch '637-set-up-24-7-ordering-using-app' into 'master-fix'
Resolve "Set up 24/7 ordering using app"

See merge request jankstudio/resq!750
2021-11-08 10:08:10 +00:00
Korina Cordero
09405d16ce Add setting of date_assign when JO is auto assigned. Add sql script to update date_assign of JOs. #630 2021-11-08 08:23:38 +00:00
Korina Cordero
05d50e28f7 Comment out debug log. #630 2021-11-08 07:45:31 +00:00
Korina Cordero
a7d6f20cc4 Commented out time check for schedule options. #637 2021-11-08 07:17:24 +00:00
Korina Cordero
f9de11ccb5 Fix the command to update unaccepted job orders. Add more checking before updating rider's availability. #630 2021-11-08 05:36:59 +00:00
Korina Cordero
8d5b67b020 Fix setting of landmark if no landmark is received. #632 2021-11-03 07:18:57 +00:00
Korina Cordero
12c85e5cbb Fix issue when fulfiling a JO in admin panel. #632 2021-11-03 07:02:26 +00:00
Korina Cordero
4ce09e9671 Change return response for locationSupport. #632 2021-11-03 06:27:36 +00:00
Korina Cordero
acf5d964cf Merge branch '636-fix-timing-of-vat-computation' of gitlab.com:jankstudio/resq into 632-resq-1-5-changes 2021-11-02 04:54:28 +00:00
4d66345ae3 Merge branch '636-fix-timing-of-vat-computation' into 'master-fix'
Revert VAT tax computation. #636

See merge request jankstudio/resq!749
2021-11-02 04:52:50 +00:00
Korina Cordero
0dce53beaa Revert VAT tax computation. #636 2021-11-02 04:46:30 +00:00
Korina Cordero
5c61e5ebea Add saving of landmark, if provided. #632 2021-10-29 08:24:42 +00:00
Korina Cordero
4a1ae91b78 Comment out call for completed job orders. Modify getJOHistory to only retrieve cancelled and fulfilled job orders. #632 2021-10-29 06:07:34 +00:00
Korina Cordero
918c06725e Add call to get completed job orders. #632 2021-10-29 05:51:12 +00:00
Korina Cordero
1f6162cb47 Fix sorting for ongoing job orders. #632 2021-10-28 09:43:07 +00:00
Korina Cordero
1d93c63da7 Add null checking for jo rating even if flag for rider rating is true. #632 2021-10-28 08:39:12 +00:00
Korina Cordero
8ebb123064 Add average rating for partners in response for closest partners. #632 2021-10-28 07:19:32 +00:00
Korina Cordero
158d05d822 Add rating and rider rating to JO history response. Fix associations between rider rating and customer, job order, and rider. #632 2021-10-28 06:31:27 +00:00
Korina Cordero
16c944899f Add rider rating for jo in job order history. #632 2021-10-28 03:05:05 +00:00
Korina Cordero
f7def95cdd Merge branch 'master-fix' of gitlab.com:jankstudio/resq into 632-resq-1-5-changes 2021-10-28 02:23:00 +00:00
07f7457937 Merge branch '636-fix-timing-of-vat-computation' into 'master-fix'
Fix response for vat ex price . #636

See merge request jankstudio/resq!748
2021-10-28 02:12:23 +00:00
Korina Cordero
b14007e276 Fix response for vat ex price . #636 2021-10-28 02:10:59 +00:00
Korina Cordero
7001d6a0ed Fix get locations response. #632 2021-10-27 09:39:28 +00:00
Korina Cordero
84844046f1 Add limit to number of locations to be stored. #632 2021-10-27 08:26:19 +00:00
Korina Cordero
c54ee5d7d8 Add landmark to location details. #632 2021-10-27 07:50:02 +00:00
Korina Cordero
e4e412fd14 Fix response to get locations. #632 2021-10-27 07:27:15 +00:00
Korina Cordero
3f7075f26d Merge branch 'master-fix' of gitlab.com:jankstudio/resq into 632-resq-1-5-changes 2021-10-27 07:15:13 +00:00
Korina Cordero
48aaeddadd Add call to remove a vehicle from customer's list of vehicles. #632 2021-10-27 06:35:40 +00:00
Korina Cordero
ca3fbc21c8 Add route for customer vehicle removal. Add call to get locations. #632 2021-10-27 02:54:34 +00:00
Korina Cordero
61b897d883 Add call to add location for customer. #632 2021-10-26 09:18:13 +00:00
Korina Cordero
a8eaad2a82 Add call to get ongoing job order count. #632 2021-10-26 07:49:45 +00:00
Korina Cordero
9c31a573c6 Add checking if hub_id is -1. Add call to get all ongoing job orders. #632 2021-10-26 07:26:11 +00:00
764c9e690c Merge branch '636-fix-timing-of-vat-computation' into 'master-fix'
Resolve "Fix timing of vat computation"

See merge request jankstudio/resq!747
2021-10-26 05:20:02 +00:00
Korina Cordero
0fe66f4719 Fix display of VAT. #636 2021-10-25 08:50:15 +00:00
Korina Cordero
44611915e5 Fix VAT computation when trade ins and discounts are present. #636 2021-10-25 08:37:19 +00:00
97070ded9a Merge branch '633-refuel-fee-changes' into 'master-fix'
Resolve "Refuel fee changes"

See merge request jankstudio/resq!746
2021-10-22 10:44:01 +00:00
Korina Cordero
50c67d7088 Modify the fuel charges for gas and diesel. #633 2021-10-22 10:19:37 +00:00
Korina Cordero
9f5493c125 Remove debug logs. Update rider's current job order when JO is requeued. #630 2021-10-22 06:59:55 +00:00
Korina Cordero
6fe63050c6 Merge branch 'master-fix' of gitlab.com:jankstudio/resq into 630-rider-app-timeout 2021-10-22 06:29:12 +00:00
Korina Cordero
b9fdcbbbbb Sort the job orders for job order history from latest to oldest. #632 2021-10-22 05:49:05 +00:00
1f067dd2ef Merge branch '631-change-dealer-information-for-selected-warranties' into 'master-fix'
Resolve "Change dealer information for selected warranties"

See merge request jankstudio/resq!744
2021-10-21 04:10:31 +00:00
Korina Cordero
46ea41f034 Add command to update dealer information for warranties. #631 2021-10-21 03:21:09 +00:00
Korina Cordero
e9fa25dada Fix sending of rider event when JO is requeued. #630 2021-10-20 06:45:12 +00:00
Korina Cordero
c955516acf Fix testing issues found. #630 2021-10-20 06:28:31 +00:00
Korina Cordero
f8ebe0d97a Set rider's availability after JOs are requeued. #630 2021-10-20 06:19:59 +00:00
Korina Cordero
9b7852d248 Remove rider id from command. #630 2021-10-20 05:42:05 +00:00
Korina Cordero
d366106381 Add sending of mqtt events. #630 2021-10-20 05:34:43 +00:00
Korina Cordero
c2066b86c9 Add retrieval of job orders to be updated. #630 2021-10-19 09:19:27 +00:00
Korina Cordero
0065bc94ef Add index for status for job order. Add command to update the status and rider for unaccepted job orders. #630 2021-10-19 06:41:53 +00:00
94f2cc75a7 Merge branch '628-sort-the-compatible-batteries-by-price-descending' into 'master-fix'
Resolve "Sort the compatible batteries by price descending"

See merge request jankstudio/resq!741
2021-10-12 08:06:11 +00:00
Korina Cordero
d750c6b8ba Add sorting to Vehicle's getBatteries. #628 2021-10-12 07:53:17 +00:00
8056cb6d29 Merge branch '626-improve-loading-for-jo-for-dispatch' into 'master-fix'
Resolve "Improve loading for JO for Dispatch"

See merge request jankstudio/resq!740
2021-10-08 12:36:07 +00:00
Korina Cordero
840cbe2463 Fix setting of hub jo count. #626 2021-10-08 12:34:55 +00:00
Korina Cordero
e6d3043556 Set hub jo count to redis jo count. #626 2021-10-08 12:21:57 +00:00
Korina Cordero
fe15385613 Use the redis job order count to display number of assigned job orders to hub. #626 2021-10-08 12:09:46 +00:00
38ce447b0a Merge branch '625-new-rider-cannot-log-in-to-app' into 'master-fix'
Resolve "New rider cannot log in to app"

See merge request jankstudio/resq!739
2021-10-06 04:14:23 +00:00
Korina Cordero
c6654bd3c6 Add creation of rider api user when rider is created. #625 2021-10-06 03:52:37 +00:00
697fa20071 Merge branch '624-app-error-when-customer-requests-tire-assistance' into 'master-fix'
Resolve "App error when customer requests tire assistance"

See merge request jankstudio/resq!738
2021-09-29 07:03:50 +00:00
Korina Cordero
21cf667b47 Add check for battery. #624 2021-09-29 06:44:04 +00:00
1db04374ec Merge branch '622-arrive-button-does-not-show-up-when-jo-is-auto-assigned' into 'master-fix'
Resolve "Arrive button does not show up when JO is auto assigned"

See merge request jankstudio/resq!736
2021-09-09 10:53:22 +00:00
Korina Cordero
f43d2f10fe Change QoS level to 1 when publishing messages. #622 2021-09-09 10:42:31 +00:00
0ababa77c2 Merge branch '621-check-for-null-current-job-order-when-re-assigning-rider-to-jo' into 'master-fix'
Resolve "Check for null current job order when re-assigning rider to JO"

See merge request jankstudio/resq!735
2021-09-09 03:52:47 +00:00
Korina Cordero
8dd06b2d5e Add null check for previous rider when re-assigning rider. #621 2021-09-09 03:40:53 +00:00
8ef2617f87 Merge branch '620-add-new-shift-to-rider-optimization' into 'master-fix'
Add new hour shifts to script. #620

See merge request jankstudio/resq!734
2021-09-08 03:06:40 +00:00
Korina Cordero
89370b4bd0 Add new hour shifts to script. #620 2021-09-08 03:04:31 +00:00
4ea21f7004 Merge branch '620-add-new-shift-to-rider-optimization' into 'master-fix'
Resolve "Add new shift to rider optimization"

See merge request jankstudio/resq!733
2021-09-08 02:23:13 +00:00
Korina Cordero
e820051d0e Add 6 AM-10 PM and 6AM - 12 AM shifts. #620 2021-09-02 09:19:10 +00:00
Korina Cordero
93d4282257 Add 6 AM-7 PM shift schedule. #620 2021-09-01 09:04:31 +00:00
82a49aa7ca Merge branch '618-add-new-events-to-jo-details-and-jo-events-reports' into 'master-fix'
Resolve "Add new events to JO Details and JO Events Reports"

See merge request jankstudio/resq!731
2021-08-24 09:56:34 +00:00
Korina Cordero
55172332ed Merge branch 'master-fix' of gitlab.com:jankstudio/resq into 618-add-new-events-to-jo-details-and-jo-events-reports 2021-08-24 09:17:56 +00:00
e271034331 Merge branch '617-migrate-rider-api' into 'master-fix'
Resolve "Migrate Rider API"

See merge request jankstudio/resq!730
2021-08-24 08:59:04 +00:00
Korina Cordero
6937ffdd6a Add new events to JO details report. #618 2021-08-24 08:58:54 +00:00
Korina Cordero
db4345aa71 Add new events to JO events report. #618 2021-08-24 07:38:18 +00:00
Korina Cordero
940329de28 Set rider's current job order and availability status when reassigning job order. #617 2021-08-23 08:51:12 +00:00
Korina Cordero
7a57ce0fac Fix not sending of rider event. #617 2021-08-23 07:53:47 +00:00
Korina Cordero
473ace4f23 Separate setting of delivery status from calling cancel on JO when cancelling a JO. #617 2021-08-23 06:42:52 +00:00
b433722764 Change mqtt channel for rider app #617 2021-08-22 00:32:09 +08:00
cf12d09ee5 Shift from using active jo to current jo for rider related stuff #617 2021-08-21 21:36:40 +08:00
Korina Cordero
7cd8f2f027 Renamed delivery status for consistency. #617 2021-08-21 09:41:45 +00:00
Korina Cordero
d863158dd6 Add validation to login. #617 2021-08-21 09:17:14 +00:00
fc513a973b Fix rider api user command to only create an api user for riders without it #617 2021-08-21 15:23:46 +08:00
Korina Cordero
25954afe63 Set api role for rider api user. #617 2021-08-21 06:39:12 +00:00
Korina Cordero
ff5e747d7a Set rider's api user. #617 2021-08-21 06:11:23 +00:00
Korina Cordero
ea2f0e639d Add command to create api users from existing riders. #617 2021-08-21 05:55:10 +00:00
c85ad3ab4f Change rider api getRiderFromCAPI to get from direct association instead of metadata #617 2021-08-21 13:13:35 +08:00
7483c35306 Link api user to rider entity directly without need for metadata #617 2021-08-21 13:11:40 +08:00
4a9de8e465 Fix api role edit #617 2021-08-21 00:50:26 +08:00
5dee6d0418 Fix new rider api login data return #617 2021-08-21 00:41:36 +08:00
e7fb5014ff Fix new rider api login #617 2021-08-21 00:05:46 +08:00
973ba8ff00 Add api user link in Rider entity and metadata field for API User #617 2021-08-20 22:45:50 +08:00
Korina Cordero
b5218a3499 Modify capi user checking. #617 2021-08-20 09:56:04 +00:00
Korina Cordero
62c78939a8 Modify rider api routes. #617 2021-08-20 09:11:17 +00:00
Korina Cordero
4f58f38f67 Rename rider controller. #617 2021-08-20 08:54:35 +00:00
Korina Cordero
84ced62f0f Modify login. #617 2021-08-20 08:04:51 +00:00
Korina Cordero
dd34466593 Fixes found during testing. #617 2021-08-19 05:26:16 +00:00
Korina Cordero
27c8cd1f2d Add changeService, getPromos, getBatteries. #617 2021-08-19 03:12:43 +00:00
Korina Cordero
bbee3c4b96 Add available, postHubArrive, postHubDepart. #617 2021-08-19 02:40:31 +00:00
Korina Cordero
bbe0a804ad Add startJobOrder and payment. #617 2021-08-18 10:30:55 +00:00
Korina Cordero
7671b79d2e Add preHubArrive and preHubDepart. #617 2021-08-18 10:10:52 +00:00
Korina Cordero
bcd55901d3 Add arrive and hubDepart. #617 2021-08-18 09:03:39 +00:00
Korina Cordero
5ea4ac013b Add cancelJobOrder. #617 2021-08-18 08:38:08 +00:00
Korina Cordero
1554f173a8 Add delivery status to job order. #617 2021-08-18 08:26:25 +00:00
Korina Cordero
b6f840f5d7 Add acceptJobOrder. #617 2021-08-18 07:54:24 +00:00
Korina Cordero
fc7151be88 Add getJobOrder. #617 2021-08-18 07:28:58 +00:00
Korina Cordero
604f3aa200 Merge branch '612-rider-revamp' of gitlab.com:jankstudio/resq into 617-migrate-rider-api 2021-08-18 07:06:52 +00:00
Korina Cordero
722ec653c5 Add login and logout. #617 2021-08-18 06:57:32 +00:00
Korina Cordero
446065880c Create rider api session entity. Add register for new rider controller. #617 2021-08-18 06:28:19 +00:00
Korina Cordero
55c8c393b2 Add routes for capi rider. #617 2021-08-18 03:35:10 +00:00
Korina Cordero
d78a5ebf80 Add rider current job order field. #612 2021-08-13 08:08:59 +00:00
Korina Cordero
0a6985f6b0 Merge branch 'master-fix' of gitlab.com:jankstudio/resq into 612-rider-revamp 2021-08-13 05:26:17 +00:00
fafb5206bd Merge branch '614-app-crashes-when-getting-hub-timeslots' into 'master-fix'
Resolve "App crashes when getting hub timeslots"

See merge request jankstudio/resq!727
2021-08-13 05:24:05 +00:00
Korina Cordero
fd101c391d Bug fix for when customer has customer promo tag but no hub. #614 2021-08-13 05:19:45 +00:00
9473da9f2a Merge branch '613-car-club-geofence-fix' into 'master-fix'
Resolve "Car club geofence fix"

See merge request jankstudio/resq!726
2021-08-12 10:33:54 +00:00
Korina Cordero
13e28d8c47 Add checking for promo tag for locationSupport. #613 2021-08-12 09:39:56 +00:00
Korina Cordero
13ee4c8e51 Add checking for promo tag before geofence check. #613 2021-08-12 09:20:16 +00:00
Korina Cordero
072a2df5d1 Fixes found during testing. #612 2021-08-12 09:05:21 +00:00
Korina Cordero
973c56ae85 Add new API calls. #612 2021-08-11 10:20:53 +00:00
1a72f5c95a Merge branch '611-open-scheduling' into 'master-fix'
Resolve "Open Scheduling"

See merge request jankstudio/resq!724
2021-08-10 07:20:23 +00:00
Korina Cordero
18852941a7 Comment out log messages . #611 2021-08-10 05:59:00 +00:00
Korina Cordero
5d98df83ed Remove unnecessary code. #611 2021-08-10 05:31:49 +00:00
Korina Cordero
d645040f10 Add logging for hub. #611 2021-08-10 04:20:56 +00:00
Korina Cordero
0738149a5b Set date_schedule for HubCriteria when creating a JO from mobile app. #611 2021-08-09 08:21:25 +00:00
Korina Cordero
ac7e26498b Set default value for HubCriteria's date_time field. Set date_time to JO's date schedule when loading dispatch form. Include checking of hub's opening and closing hours when emergency. #611 2021-08-09 07:29:39 +00:00
31047deb4a Merge branch '609-car-club-final-changes' into 'master-fix'
Resolve "Car club final changes"

See merge request jankstudio/resq!723
2021-08-09 06:59:30 +00:00
Korina Cordero
dd983f11ef Fix import command for the file. Fix association between carclubcustomerhub and hub. #609 2021-08-04 09:00:58 +00:00
Korina Cordero
72a4ef6f72 Fix bugs found during testing. #609 2021-08-02 09:13:58 +00:00
Korina Cordero
b56754363e Add checking for customer pre-registered hub. #609 2021-08-02 09:03:46 +00:00
Korina Cordero
6f5c88dbdb Add hub assignment for first time JO availing of car club promo. #609 2021-08-02 08:05:00 +00:00
Korina Cordero
6df384027e Add CarClubCustomerHub entity. Add command to import customer and hub information for car club. #609 2021-08-02 06:22:48 +00:00
34f651e35b Merge branch '607-modify-hub-and-hub-filtering-for-hub-and-rider-auto-assignment' into 'master-fix'
Resolve "Modify hub and hub filtering for hub and rider auto assignment"

See merge request jankstudio/resq!722
2021-07-30 11:57:27 +00:00
Korina Cordero
f54476a173 Add checking of flags for JO auto assignment. #607 2021-07-30 10:46:20 +00:00
49fdfa9ea6 Update hub form and controller to support the new auto assign flags #607 2021-07-30 17:17:22 +08:00
Korina Cordero
04e803510c Set default value for flags. #607 2021-07-30 08:34:12 +00:00
Korina Cordero
406568ab3d Add the two flags to Hub. #607 2021-07-30 08:03:40 +00:00
b0b9867f81 Merge branch '605-set-hub-filtering-option' into 'master-fix'
Resolve "Set hub filtering option"

See merge request jankstudio/resq!721
2021-07-29 07:43:46 +00:00
Korina Cordero
c261d43a6e Add TODO to refactor setting of HubCriteria fields. #605 2021-07-29 07:41:13 +00:00
Korina Cordero
0de8f71d0e Add hub filter option in .env. #605 2021-07-29 06:40:07 +00:00
ac0edd5467 Merge branch '604-disable-hub-filtering' into 'master-fix'
Resolve "Disable hub filtering"

See merge request jankstudio/resq!720
2021-07-28 13:01:40 +00:00
8577e57686 Disable hub filtering #604 2021-07-28 20:55:10 +08:00
9160cbe0af Merge branch '601-set-distance-limit-in-admin-panel' into 'master-fix'
Resolve "Set distance limit in admin panel"

See merge request jankstudio/resq!719
2021-07-26 09:49:39 +00:00
Korina Cordero
d0db056eed Add setting of distance limit for emergencies. #601 2021-07-26 07:49:12 +00:00
Korina Cordero
2650ac01c5 Bug fixes. #601 2021-07-26 07:27:36 +00:00
Korina Cordero
3a43cc14fb Add customer distance limit to hub filtering in admin panel. #601 2021-07-26 04:11:54 +00:00
8fbfc1ebe7 Merge branch '597-add-dealer-branch_code-to-warranty-details-report' into 'master-fix'
Resolve "Add dealer branch_code to Warranty Details Report"

See merge request jankstudio/resq!717
2021-07-23 04:17:36 +00:00
Korina Cordero
52419dea6f Remove optimizations and fix dealer query. #597 2021-07-23 04:06:48 +00:00
Korina Cordero
b9a6109c78 Add branch code to capi and mobile requests. Add branch code to Warranty Details Report. #597 2021-07-22 07:52:18 +00:00
Korina Cordero
bc80cc91ea Create command to set branch code for existing warranties. #597 2021-07-22 06:39:03 +00:00
Korina Cordero
f2046625d8 Add branch_code to Warranty. #597 2021-07-22 05:49:08 +00:00
9ff7fc6ec0 Merge branch '599-fix-jo-bug' into 'master-fix'
Fix for the jo count for both filtered and non-filtered area. #599

See merge request jankstudio/resq!718
2021-07-22 03:26:39 +00:00
Korina Cordero
aa466c2cc5 Fix for the jo count for both filtered and non-filtered area. #599 2021-07-22 03:01:15 +00:00
f06caf61a0 Merge branch '599-fix-jo-bug' into 'master-fix'
Zero out redis_jo_count #599

See merge request jankstudio/resq!716
2021-07-22 00:31:32 +00:00
cc4b68bd71 Zero out redis_jo_count #599 2021-07-22 08:30:31 +08:00
93c427c9fb Merge branch '596-add-distance-when-sorting-for-round-robin-hub-filtering' into 'master-fix'
Add kml files and bash script to run command to load kml files. #596

See merge request jankstudio/resq!715
2021-07-21 10:26:10 +00:00
Korina Cordero
ea1a85fc22 Add kml files and bash script to run command to load kml files. #596 2021-07-21 10:24:56 +00:00
a2fa95ac98 Merge branch '596-add-distance-when-sorting-for-round-robin-hub-filtering' into 'master-fix'
Resolve "Add distance when sorting for round robin hub filtering"

See merge request jankstudio/resq!714
2021-07-21 05:35:28 +00:00
Korina Cordero
b761e2bfb5 Add job order count for hubs in jo form. #596 2021-07-16 09:29:22 +00:00
Korina Cordero
625236667b Add sorting by distance to round robin. #596 2021-07-15 11:07:58 +00:00
bad6de1ed2 Merge branch '594-hub-filter-report' into 'master-fix'
Resolve "Hub Filter Report"

See merge request jankstudio/resq!713
2021-07-01 07:14:50 +00:00
Korina Cordero
2ce291a7fd Move JO id and customer id to HubCriteria. #594 2021-07-01 07:11:49 +00:00
Korina Cordero
b39872e4e0 Add customer name, customer mobile number. #594 2021-07-01 04:33:04 +00:00
Korina Cordero
0a706f453b Add customer id to hub filter logging in APIController. #594 2021-07-01 03:25:59 +00:00
Korina Cordero
dc68f899e7 Add jo id and customer id to hub filter logging. #594 2021-07-01 02:54:22 +00:00
Korina Cordero
8a1ead57e0 Add report for hub filter. #594 2021-06-30 09:11:00 +00:00
2aece1fb10 Merge branch '593-mobile-api-changes-for-resq-1-5' into 'master-fix'
Add setting of customer and vehicle when warranty is created via mobile API,...

See merge request jankstudio/resq!711
2021-06-30 06:57:13 +00:00
5181ad3e62 Add rider API status to get jo info api call #593 2021-06-30 14:53:05 +08:00
e317d26f84 Merge branch '593-mobile-api-changes-for-resq-1-5' into 'master-fix'
Fix req bug #592

See merge request jankstudio/resq!712
2021-06-30 06:17:24 +00:00
97e66fa1fc Fix req bug #592 2021-06-30 14:15:27 +08:00
6e81831869 Merge branch '593-mobile-api-changes-for-resq-1-5' into 'master-fix'
Resolve "Mobile API changes for RESQ 1.5"

See merge request jankstudio/resq!710
2021-06-30 05:22:30 +00:00
83d99953aa Add fields to get jo info call in mobile api #593 2021-06-30 13:21:21 +08:00
6daaa4fd4a Merge branch '592-add-get-jo-details-call-for-mobile-api' into 'master-fix'
Resolve "Add get JO details call for mobile API"

See merge request jankstudio/resq!709
2021-06-29 02:52:40 +00:00
adadadb6ee Add get jo info call for mobile API #592 2021-06-28 23:47:46 +08:00
3d8298a674 Merge branch '575-adopt-hub-filtering-branch' into 'master-fix'
Resolve "Adopt hub filtering branch"

See merge request jankstudio/resq!689
2021-06-24 08:24:32 +00:00
Korina Cordero
f40f6974e2 Add geofence hub filtering to mobile API and to dispatch form. #575 2021-06-24 06:09:48 +00:00
Korina Cordero
12fd768849 Add service to check if customer is within area for hub filtering. Add command to import KML files for hub filtering area. #575 2021-06-24 03:01:47 +00:00
Korina Cordero
e61c3f1762 Add round robin flag to HubCriteria. #575 2021-06-23 10:39:49 +00:00
Korina Cordero
b4c8da134c Merge branch 'master-fix' of gitlab.com:jankstudio/resq into 575-adopt-hub-filtering-branch 2021-06-23 09:42:12 +00:00
a944f059fb Merge branch '548-customer-source-changes-2' into 'master-fix'
Resolve "Customer source changes"

See merge request jankstudio/resq!703
2021-06-23 09:35:34 +00:00
39eb6e6dba Merge branch '590-fix-slow-ticket-loading' into 'master-fix'
Optimize query for related tickets - split into 3 separate queries #590

See merge request jankstudio/resq!707
2021-06-19 17:34:06 +00:00
1631cacf98 Optimize query for related tickets - split into 3 separate queries #590 2021-06-20 01:33:02 +08:00
4c50c91b93 Merge branch '590-fix-slow-ticket-loading' into 'master-fix'
Resolve "Fix slow ticket loading"

See merge request jankstudio/resq!706
2021-06-19 17:07:16 +00:00
9a7622ed5c Index ticket entity to speed up related ticket fetching #590 2021-06-20 01:06:28 +08:00
0eb8850b1f Merge branch '589-fix-issue-in-rider-inventory-in-rider-optimization' into 'master-fix'
Fix rider optimization issue when jo count for hub is 0 #589

See merge request jankstudio/resq!705
2021-06-18 13:27:43 +00:00
46cc089f48 Fix rider optimization issue when jo count for hub is 0 #589 2021-06-18 21:20:33 +08:00
c47bd0e882 Merge branch '588-set-vehicle-and-customer-id-in-warranty-when-jo-is-fulfilled' into 'master-fix'
Resolve "Set vehicle and customer id in warranty when JO is fulfilled"

See merge request jankstudio/resq!704
2021-06-18 08:30:25 +00:00
Korina Cordero
391237f08f Remove customer checking. #588 2021-06-18 08:27:47 +00:00
Korina Cordero
ceb54afa10 Fixed search for customer vehicle. #588 2021-06-18 08:15:33 +00:00
Korina Cordero
4a0adef749 Fixed search for customer vehicle. #588 2021-06-18 07:44:38 +00:00
Korina Cordero
406df3d083 Add setting of customer and vehicle when warranty is created via mobile API, rider API, and admin panel. #588 2021-06-18 07:00:56 +00:00
d43a2a8206 Merge branch '586-crud-for-dealers' into 'master-fix'
Resolve "CRUD for Dealers"

See merge request jankstudio/resq!701
2021-06-18 04:58:43 +00:00
Korina Cordero
2b356194bb Fix typo. Remove not needed packages. #548 2021-06-17 09:04:57 +00:00
Korina Cordero
532df141ed Add customer source when creating a new customer. #548 2021-06-17 09:01:44 +00:00
Korina Cordero
e7395217da Fix typo. #586 2021-06-17 07:32:50 +00:00
Korina Cordero
614183fa2d Add CRUD UI for dealers. #586 2021-06-17 07:27:22 +00:00
Korina Cordero
f4b4685f70 Merge branch 'master-fix' of gitlab.com:jankstudio/resq into 586-crud-for-dealers 2021-06-17 04:26:48 +00:00
28d530c0a2 Merge branch '587-warranty-details-report-modifications' into 'master-fix'
Resolve "Warranty Details Report modifications"

See merge request jankstudio/resq!702
2021-06-17 04:25:42 +00:00
Korina Cordero
4c3b895702 Add date range for warranty details report. Fix query to include all warranties. #587 2021-06-17 04:03:23 +00:00
Korina Cordero
a6af9c1bb9 Add crud access for dealers. #586 2021-06-17 03:23:13 +00:00
9c370802c7 Merge branch '584-modify-warranty-details-report' into 'master-fix'
Resolve "Modify Warranty Details Report"

See merge request jankstudio/resq!699
2021-06-15 03:06:00 +00:00
90fc4e3607 Merge branch '585-add-id-to-dealer-capi-call' into 'master-fix'
Resolve "Add ID to dealer capi call"

See merge request jankstudio/resq!700
2021-06-14 10:03:59 +00:00
7a377d2ede Add id to dealer capi call #585 2021-06-14 18:03:18 +08:00
Korina Cordero
a35101001b Add more data to warranty details report. #584 2021-06-14 09:26:35 +00:00
45c7ccbac1 Merge branch '581-create-capi-api-call-to-get-dealers' into 'master-fix'
Resolve "Create CAPI API call to get dealers"

See merge request jankstudio/resq!697
2021-06-14 02:36:00 +00:00
3b02bd76e7 Merge branch '583-modify-command-to-import-car-club-members' into 'master-fix'
Resolve "Modify command to import car club members"

See merge request jankstudio/resq!698
2021-06-11 07:55:54 +00:00
Korina Cordero
70fdfb1272 Update command with new template. #583 2021-06-11 06:45:09 +00:00
Korina Cordero
e3e949d42a Add CAPI call to get dealers. #581 2021-06-11 05:54:33 +00:00
f7677a136c Merge branch '580-create-dealer-entity' into 'master-fix'
Merge branch 'master-fix' of gitlab.com:jankstudio/resq into 580-create-dealer-entity

See merge request jankstudio/resq!696
2021-06-11 04:12:29 +00:00
04bad588fb Merge branch '580-create-dealer-entity' into 'master-fix'
Resolve "Create Dealer entity"

See merge request jankstudio/resq!694
2021-06-11 04:10:46 +00:00
Korina Cordero
828150c11e Merge branch 'master-fix' of gitlab.com:jankstudio/resq into 580-create-dealer-entity 2021-06-11 04:10:30 +00:00
264e82f721 Merge branch '582-add-battery-inventory-suggestion-to-rider-optimization' into 'master-fix'
Resolve "Add battery inventory suggestion to rider optimization"

See merge request jankstudio/resq!695
2021-06-10 16:53:59 +00:00
0fb09f2e6d Add recommended extra battery inventory feature #582 2021-06-11 00:53:02 +08:00
Korina Cordero
8648f6f3f1 Add dealer entity and PHP script to add dealers. #580 2021-06-10 10:21:20 +00:00
da6b344bef Merge branch '579-add-warranty-source-to-warranty-entity' into 'master-fix'
Change retrieval of API username. #579

See merge request jankstudio/resq!693
2021-06-10 08:49:01 +00:00
Korina Cordero
009d3d3267 Change retrieval of API username. #579 2021-06-10 08:07:27 +00:00
6c64055e69 Merge branch '579-add-warranty-source-to-warranty-entity' into 'master-fix'
Resolve "Add warranty source to Warranty entity"

See merge request jankstudio/resq!692
2021-06-10 07:58:07 +00:00
Korina Cordero
3937b73454 Add api user name to create source for warranty and warranty_api_log. #579 2021-06-10 07:20:02 +00:00
Korina Cordero
31f43aea39 Add warranty source to Warranty and when creating warranty. #579 2021-06-10 04:11:27 +00:00
40018d262f Merge branch '576-fix-warranty-loading-from-motiv' into 'master-fix'
Fix splitting of db info. #576

See merge request jankstudio/resq!691
2021-06-09 10:20:37 +00:00
Korina Cordero
4351d1242e Fix splitting of db info. #576 2021-06-09 10:19:22 +00:00
dcf8df3f2e Merge branch '576-fix-warranty-loading-from-motiv' into 'master-fix'
Resolve "Fix warranty loading from motiv"

See merge request jankstudio/resq!690
2021-06-09 08:52:46 +00:00
Korina Cordero
bd0b24b034 Fix splitting of database info. #576 2021-06-09 08:46:18 +00:00
Korina Cordero
3df1989f68 Remove the database information as an argument. #576 2021-06-09 08:16:27 +00:00
Korina Cordero
4b76e1e0d1 Remove cred as arguments. #576 2021-06-08 10:48:57 +00:00
Korina Cordero
8fa3551d47 Remove cred as arguments. #576 2021-06-08 10:48:38 +00:00
Korina Cordero
560db62a08 Fix error checking. #576 2021-06-08 09:32:15 +00:00
Korina Cordero
ed14a3defd Fix scripts for warranty serials. #576 2021-06-08 08:38:02 +00:00
Korina Cordero
b300814b50 Add error checking to processing script. Create new script for downloading files from motiv. #576 2021-06-04 10:22:28 +00:00
29f1c34b2c Change filename year to 4-digits #576 2021-06-04 00:52:26 +08:00
Korina Cordero
2ebfe4cccb Fix issues found during testing. #575 2021-06-03 09:22:58 +00:00
Korina Cordero
c3ffbb20ff Add hub filtering code. #575 2021-06-02 10:00:35 +00:00
68b9f99bdc Merge branch '572-make-command-to-import-car-club-customer-info' into 'master-fix'
Resolve "Make Command to import car club customer info"

See merge request jankstudio/resq!686
2021-06-01 11:34:27 +00:00
89b0dadad7 Merge branch '574-add-gcash-to-payment-method' into 'master-fix'
Resolve "Add GCash to Payment Method"

See merge request jankstudio/resq!688
2021-06-01 11:33:21 +00:00
Korina Cordero
3eaa307ac0 Add GCash to payment methods. #574 2021-06-01 09:02:01 +00:00
Korina Cordero
3d89199fd8 Improve flow for cleaning contact numbers. #572 2021-06-01 03:06:30 +00:00
bfc86abd6a Refactor entire car club import command #572 2021-06-01 01:10:38 +08:00
5830ad0c09 Fix issue by removing entity manager clear #572 2021-05-31 20:43:21 +08:00
Korina Cordero
6a075bd46b Fix issues found. #572 2021-05-31 10:36:45 +00:00
Korina Cordero
7d99eab2cc Add writing to file actions done. #572 2021-05-31 09:44:42 +00:00
dc8adbd139 Merge branch '573-warranty-api-bug' into 'master-fix'
Resolve "Warranty API bug"

See merge request jankstudio/resq!687
2021-05-31 05:56:14 +00:00
Korina Cordero
ed25fad0b0 Fix api bug. #573 2021-05-31 05:45:00 +00:00
Korina Cordero
be48ecdb82 Added cleaning of contact numbers. #572 2021-05-31 05:39:20 +00:00
Korina Cordero
079c8a033a Add command to create customer from car club file. #572 2021-05-28 10:06:18 +00:00
7f7bd15118 Merge branch '570-adopt-branch-558' into 'master-fix'
Fix issues found. #570

See merge request jankstudio/resq!685
2021-05-27 10:19:26 +00:00
Korina Cordero
dda39a9e7b Fix issues found. #570 2021-05-27 10:16:38 +00:00
06d44aa7cb Merge branch '570-adopt-branch-558' into 'master-fix'
Add customer tags to menu. #570

See merge request jankstudio/resq!684
2021-05-27 08:09:13 +00:00
Korina Cordero
989fdabc5b Add customer tags to menu. #570 2021-05-27 08:06:36 +00:00
dbc4be3acd Merge branch '570-adopt-branch-558' into 'master-fix'
Resolve "Adopt branch 558"

See merge request jankstudio/resq!682
2021-05-27 07:38:03 +00:00
Korina Cordero
64f3248b59 Fix issues found during merging and testing. #570 2021-05-27 07:14:18 +00:00
Korina Cordero
5b5e3f1e4f Merge branch 'master-fix' of gitlab.com:jankstudio/resq into 570-adopt-branch-558 2021-05-27 05:30:04 +00:00
e8dccbb0f8 Merge branch '571-fix-warranty-api-bug' into 'master-fix'
Fix serial variable error #571

See merge request jankstudio/resq!683
2021-05-27 05:16:49 +00:00
f5d1cf65a1 Fix serial variable error #571 2021-05-27 13:14:16 +08:00
Korina Cordero
5b42cf5ce9 Add one time promo. #570 2021-05-27 04:39:29 +00:00
69fb2d77ee Merge branch '568-fix-bash-script-for-warranty-loading' into 'master-fix'
Resolve "Fix  bash script for warranty loading"

See merge request jankstudio/resq!681
2021-05-20 10:18:40 +00:00
Korina Cordero
2a0a37b9cf Fix issues found during testing. Change filename of output file. #568 2021-05-20 10:17:25 +00:00
41e1cc9bf7 Merge branch '567-adopt-branch-551' into 'master-fix'
Remove the && from scripts. #567

See merge request jankstudio/resq!680
2021-05-20 09:43:09 +00:00
Korina Cordero
dfca7fe393 Remove the && from scripts. #567 2021-05-20 09:41:29 +00:00
66f34d6b0e Merge branch '567-adopt-branch-551' into 'master-fix'
Resolve "Adopt branch 551"

See merge request jankstudio/resq!679
2021-05-20 09:38:08 +00:00
Korina Cordero
04bbb8a069 Fix path for dev script. #567 2021-05-20 09:35:02 +00:00
Korina Cordero
ebc59e3587 Add bash script for warranty. #567 2021-05-20 09:33:33 +00:00
2a86497646 Merge branch '567-adopt-branch-551' into 'master-fix'
Fix typo in error message. #567

See merge request jankstudio/resq!677
2021-05-20 04:11:51 +00:00
Korina Cordero
10a9b3227f Fix typo in error message. #567 2021-05-20 03:51:17 +00:00
2dfeef5729 Merge branch '567-adopt-branch-551' into 'master-fix'
Add trim for serial. #567

See merge request jankstudio/resq!676
2021-05-20 03:00:03 +00:00
Korina Cordero
571a7e3200 Add trim for serial. #567 2021-05-20 02:55:56 +00:00
31b689210e Merge branch '567-adopt-branch-551' into 'master-fix'
Fix warranty update issue when serial changes from text to empty. #567

See merge request jankstudio/resq!675
2021-05-20 02:53:55 +00:00
Korina Cordero
ada87604fa Fix warranty update issue when serial changes from text to empty. #567 2021-05-20 02:51:58 +00:00
d6a7a0aa74 Merge branch '567-adopt-branch-551' into 'master-fix'
Fix for issues found during testing. #567

See merge request jankstudio/resq!674
2021-05-19 09:25:05 +00:00
Korina Cordero
97eccf8ab8 Fix for issues found during testing. #567 2021-05-19 09:11:56 +00:00
3b808a8bf8 Merge branch '567-adopt-branch-551' into 'master-fix'
Fix error. #567

See merge request jankstudio/resq!673
2021-05-19 08:28:59 +00:00
Korina Cordero
c9e16b4774 Fix error. #567 2021-05-19 08:26:36 +00:00
bf1da03aa7 Merge branch '567-adopt-branch-551' into 'master-fix'
Resolve "Adopt branch 551"

See merge request jankstudio/resq!671
2021-05-19 08:12:05 +00:00
Korina Cordero
66e1a71890 Apply branch 551 changes. #567 2021-05-19 08:10:18 +00:00
d2af08a5eb Merge branch '566-adopt-branch-556' into 'master-fix'
Resolve "Adopt branch 556"

See merge request jankstudio/resq!670
2021-05-19 06:09:47 +00:00
Korina Cordero
7ecfad828c Add the modified files from 556. #566 2021-05-19 06:09:09 +00:00
3304d64bcf Merge branch '565-adopt-branch-557' into 'master-fix'
Resolve "Adopt branch 557"

See merge request jankstudio/resq!669
2021-05-19 06:06:18 +00:00
Korina Cordero
c49229e388 Add the modified files from 557. #565 2021-05-19 04:46:27 +00:00
3f2467f8f7 Merge branch '540-paperless-warranty' into 'master'
Resolve "Paperless Warranty"

Closes #540

See merge request jankstudio/resq!649
2021-03-31 09:16:00 +00:00
fd6860442f Add province id and municipality id #540 2021-03-31 17:15:27 +08:00
6133b44d9a Add municipalities sql #540 2021-03-31 02:23:43 +08:00
69fbfe196f Add municipality (province / municipality / city) data and CAPI call #540 2021-03-31 02:20:37 +08:00
5d98216d21 Make customer info update on a warranty update #540 2021-03-31 00:57:31 +08:00
73263d1039 Merge branch '547-customer-source-report-in-admin-panel' into 'master'
Resolve "Customer Source Report in admin panel"

Closes #547

See merge request jankstudio/resq!648
2021-03-29 05:49:06 +00:00
Korina Cordero
7a6ccfb8eb Add Customer Source Report to admin panel. #547 2021-03-29 05:48:26 +00:00
4564b4f728 Merge branch '540-paperless-warranty' into 'master'
Send SMS on customer warranty register / update #540

Closes #540

See merge request jankstudio/resq!647
2021-03-26 13:28:23 +00:00
fff5b46eda Send SMS on customer warranty register / update #540 2021-03-26 21:26:46 +08:00
b2151b4f84 Merge branch '540-paperless-warranty' into 'master'
Add script to load warranty serials from motiv's csv #540

Closes #540

See merge request jankstudio/resq!646
2021-03-25 12:40:05 +00:00
17669e0831 Add script to load warranty serials from motiv's csv #540 2021-03-25 20:38:22 +08:00
7046bf49bd Merge branch '540-paperless-warranty' 2021-03-24 15:36:58 +08:00
9c2e66a4b6 Merge branch 'master' into '540-paperless-warranty'
# Conflicts:
#   src/Entity/Customer.php
2021-03-24 07:23:27 +00:00
Korina Cordero
4d5bbed39e Fix typo. #546 2021-03-24 15:20:44 +08:00
Korina Cordero
4d8a1166b6 Add the inventory flag in the response to get batteries call. #546 2021-03-24 15:20:44 +08:00
Korina Cordero
e0fab6703c Reset the motolite battery flag when loading page and loading customer vehicle. #546 2021-03-24 15:20:44 +08:00
Korina Cordero
28f5edf605 Remove debug logs. #546 2021-03-24 15:20:44 +08:00
Korina Cordero
1ab103e3e4 Add changes to additional fields in JO incoming form. #546 2021-03-24 15:20:44 +08:00
Korina Cordero
c1533c24c4 Create marketing research sms and email flags for customer. #546 2021-03-24 15:20:44 +08:00
ea06d922bb Have warranty create customer and add customer create source field #540 2021-03-24 01:44:41 +08:00
3e9ae5df35 Remove odometer and email from required fields #540 2021-03-23 20:11:19 +08:00
675877f8fd Add new fields to register api call #540 2021-03-23 19:57:04 +08:00
fd7ab1f858 Force odometer to be int #540 2021-03-23 19:47:33 +08:00
8310e162dc Add new fields for warranty in resq API #540 2021-03-23 17:03:19 +08:00
f56d08b9cc Add new fields for warranty - customer contact number and address #540 2021-03-23 15:47:13 +08:00
095159c3fe Add vehicle fields in warranty #540 2021-03-22 23:31:18 +08:00
ed20b421e4 Add azure blob libraries and proof of concept #540 2021-03-22 11:02:56 +08:00
c367a58e77 Merge branch '546-additional-fields' into 'master'
Fix typo. #546

Closes #546

See merge request jankstudio/resq!644
2021-03-19 10:31:28 +00:00
Korina Cordero
823b2a0458 Fix typo. #546 2021-03-19 10:30:18 +00:00
4da5e8b16e Merge branch '546-additional-fields' into 'master'
Add the inventory flag in the response to get batteries call. #546

Closes #546

See merge request jankstudio/resq!643
2021-03-19 10:26:34 +00:00
Korina Cordero
2b4ca1450a Add the inventory flag in the response to get batteries call. #546 2021-03-19 10:24:02 +00:00
471ca80d12 Merge branch '546-additional-fields' into 'master'
Reset the motolite battery flag when loading page and loading customer vehicle. #546

Closes #546

See merge request jankstudio/resq!642
2021-03-19 10:11:47 +00:00
Korina Cordero
6c7ee7c58e Reset the motolite battery flag when loading page and loading customer vehicle. #546 2021-03-19 10:08:07 +00:00
7c49910999 Merge branch '546-additional-fields' into 'master'
Remove debug logs. #546

Closes #546

See merge request jankstudio/resq!641
2021-03-19 09:50:20 +00:00
Korina Cordero
ac30ba766d Remove debug logs. #546 2021-03-19 09:47:05 +00:00
12f622de04 Merge branch '546-additional-fields' into 'master'
Resolve "Additional fields"

Closes #546

See merge request jankstudio/resq!640
2021-03-19 09:38:29 +00:00
Korina Cordero
a7070be776 Add changes to additional fields in JO incoming form. #546 2021-03-19 08:42:19 +00:00
Korina Cordero
1f35feffc1 Create marketing research sms and email flags for customer. #546 2021-03-19 05:50:06 +00:00
3bc4bb8db7 Allow for same plate number update on register api call #540 2021-03-19 02:23:22 +08:00
Korina Cordero
b2fcec5462 Update answers in FAQ. #546 2021-03-18 23:13:42 +08:00
Korina Cordero
0103aadcc3 Add Marketing Research checkbox under Marketing Promo for Customer. #546 2021-03-18 23:13:42 +08:00
Korina Cordero
5b5d12cf42 Add inventory flag to SAP battery. #546 2021-03-18 23:13:42 +08:00
Korina Cordero
d4541a5fce Add Trade-in Lazada field for battery size. #546 2021-03-18 23:13:42 +08:00
ae9d32d434 Add register functionality #540 2021-03-18 23:11:56 +08:00
20987e305b Merge branch '546-additional-fields' into 'master'
Resolve "Additional fields"

Closes #546

See merge request jankstudio/resq!639
2021-03-18 11:55:22 +00:00
Korina Cordero
a879e94615 Update answers in FAQ. #546 2021-03-18 07:24:58 +00:00
Korina Cordero
c0ef8be34c Add Marketing Research checkbox under Marketing Promo for Customer. #546 2021-03-18 06:02:56 +00:00
Korina Cordero
d0eade3012 Add inventory flag to SAP battery. #546 2021-03-18 03:54:34 +00:00
Korina Cordero
1fdd935b7f Add Trade-in Lazada field for battery size. #546 2021-03-18 03:25:49 +00:00
f08d7e03aa Add support for warranty registration via capi #540 2021-03-17 02:19:10 +08:00
9f00d8ded7 Add controller and routes for capi customer warranty #540 2021-03-17 00:09:51 +08:00
7e7c93ce55 Add email, invoice and warranty card to warranty check api call #540 2021-03-14 23:45:51 +08:00
59f06d7a5a Add odometer and date purchase (customer) to entity and api calls #540 2021-03-14 20:06:07 +08:00
6a6b93e087 Handle file uploads properly #540 2021-03-14 01:34:06 +08:00
d79f3b8854 Add warranty uploads folder to gitignore #540 2021-03-14 00:21:15 +08:00
25dfdf1bbc Handle file uploads for invoice and warranty card pics #540 2021-03-14 00:20:05 +08:00
d7485e0058 Merge branch '545-script-and-crontab-for-customer-source-report' into 'master'
Resolve "Script and crontab for customer source report"

Closes #545

See merge request jankstudio/resq!638
2021-03-12 12:57:04 +00:00
e65f6ff5bf Make bash script for weekly reports #545 2021-03-12 20:55:02 +08:00
Korina Cordero
d84c1c42f1 Add script to generate customer source report with input arguments year and month. #545 2021-03-12 08:16:27 +00:00
a3501dae62 Merge branch '544-app-faq-fix' into 'master'
Update FAQ for app #544

Closes #544

See merge request jankstudio/resq!637
2021-03-10 07:38:36 +00:00
ecf8f26d97 Update FAQ for app #544 2021-03-10 15:37:59 +08:00
c970bd40e6 Merge branch '542-app-error-for-user-profile' into 'master'
Add blank default email #542

Closes #542

See merge request jankstudio/resq!635
2021-03-07 08:16:26 +00:00
a70240efdc Add blank default email #542 2021-03-07 16:15:33 +08:00
033a16f02a Merge branch '540-paperless-warranty' into 'master'
Add battery image_url to warranty check and other improvements #540

Closes #540

See merge request jankstudio/resq!634
2021-03-05 15:07:23 +00:00
60c387378a Add battery image_url to warranty check and other improvements #540 2021-03-05 23:06:23 +08:00
584061c368 Merge branch '540-paperless-warranty' into 'master'
Add register error message in warranty check json return #540

Closes #540

See merge request jankstudio/resq!633
2021-03-05 12:06:13 +00:00
d8ad659aa6 Add register error message in warranty check json return #540 2021-03-05 20:04:51 +08:00
185679fabd Merge branch '540-paperless-warranty' into 'master'
Add API calls for warranty check and register #540

Closes #540

See merge request jankstudio/resq!632
2021-03-05 07:03:06 +00:00
f08c3d845b Add API calls for warranty check and register #540 2021-03-05 15:02:14 +08:00
fc8de9101f Merge branch '539-customer-source-report' into 'master'
Resolve "Customer source report"

Closes #539

See merge request jankstudio/resq!630
2021-03-02 02:38:45 +00:00
Korina Cordero
b7c722d8e9 Remove the unused date code. #539 2021-03-02 02:37:17 +00:00
Korina Cordero
643bc61bf9 Remove commented out code. #539 2021-03-02 02:31:11 +00:00
Korina Cordero
cd48c5e032 Add script to generate the customer source report. #539 2021-03-02 02:19:37 +00:00
Korina Cordero
8f839674b5 Add headers to csv file. #539 2021-03-02 01:49:03 +00:00
fd8845118e Change customer source report generation to use raw sql #539 2021-03-01 23:16:29 +08:00
Korina Cordero
59a77c945c Add command to get all customers for report. #539 2021-03-01 11:09:43 +00:00
9f44148e1a Merge branch '537-add-container-size-to-battery-information' into 'master'
Resolve "Add container size to battery information"

Closes #537

See merge request jankstudio/resq!628
2021-02-12 04:14:20 +00:00
Korina Cordero
4556c391e3 Add container size id and name to battery information. #537 2021-02-12 04:01:27 +00:00
870ed4b730 Merge branch '535-display-open-jos-in-the-last-24-hours' into 'master'
Add service for rider convert. #535

Closes #535

See merge request jankstudio/resq!627
2021-02-11 09:26:25 +00:00
Korina Cordero
13ed41b936 Add service for rider convert. #535 2021-02-11 09:25:19 +00:00
5eef11af12 Merge branch '535-display-open-jos-in-the-last-24-hours' into 'master'
Resolve "Display open JOs in the last 24 hours"

Closes #535

See merge request jankstudio/resq!626
2021-02-11 09:07:44 +00:00
Korina Cordero
6f0fb9a0ae Fix typo. #535 2021-02-11 08:52:10 +00:00
Korina Cordero
903a8bd3f7 Add to rider cache rider's current location. #535 2021-02-11 08:48:53 +00:00
Korina Cordero
c2fcf00249 Remove log messages. Fix port number. #535 2021-02-11 07:59:33 +00:00
Korina Cordero
eba1c015b2 Add a rider message converter script. #535 2021-02-11 07:43:51 +00:00
c69e212e26 Merge branch '535-display-open-jos-in-the-last-24-hours' into 'master'
Resolve "Display open JOs in the last 24 hours"

Closes #535

See merge request jankstudio/resq!625
2021-02-10 09:26:13 +00:00
a021efea72 Merge branch '536-resq-api-have-data-null-instead-of-empty-object-in-response' into 'master'
Add support for geofencing in location_support api call #536

Closes #536

See merge request jankstudio/resq!624
2021-02-10 09:07:48 +00:00
eb675dd4b9 Add support for geofencing in location_support api call #536 2021-02-10 17:06:59 +08:00
Korina Cordero
cdcb7d0b46 Remove a few console logs. #535 2021-02-10 08:13:03 +00:00
Korina Cordero
f5f321b506 Add checking if date schedule is more than 24 hours before adding to cache. Add advance orders to cache when refreshing. #535 2021-02-10 07:59:32 +00:00
Korina Cordero
032489d736 Fix dashboard issues. #535 2021-02-10 07:05:00 +00:00
69f15eecfd Merge branch '535-display-open-jos-in-the-last-24-hours' into 'master'
Add rider availability channel. #535

Closes #535

See merge request jankstudio/resq!623
2021-02-10 04:12:18 +00:00
Korina Cordero
bd75e159bd Add rider availability channel. #535 2021-02-10 03:35:32 +00:00
ce711e9ae8 Merge branch '535-display-open-jos-in-the-last-24-hours' into 'master'
Change time period to refresh cache to 5 hours. #535

Closes #535

See merge request jankstudio/resq!622
2021-02-09 06:13:30 +00:00
Korina Cordero
eaac08e84a Change time period to refresh cache to 5 hours. #535 2021-02-09 05:26:33 +00:00
085f0bd25c Merge branch '535-display-open-jos-in-the-last-24-hours' into 'master'
Added logs for cache refresh. #535

Closes #535

See merge request jankstudio/resq!621
2021-02-09 03:05:31 +00:00
Korina Cordero
b730e9b43a Added logs for cache refresh. #535 2021-02-09 02:58:22 +00:00
a9dfebf958 Merge branch '535-display-open-jos-in-the-last-24-hours' into 'master'
Resolve "Display open JOs in the last 24 hours"

Closes #535

See merge request jankstudio/resq!620
2021-02-08 09:20:00 +00:00
Korina Cordero
1101e025a5 Add command to clear and repopulate the latest job order cache. #535 2021-02-08 09:12:39 +00:00
Korina Cordero
4231c144d0 Add redis cache to have the JOs from the last 24 hours. #535 2021-02-08 08:38:50 +00:00
Korina Cordero
9473609459 Add checking if JO is from the last 24 hours. #535 2021-02-08 03:56:31 +00:00
bba9060548 Merge branch '533-add-7-am-10-pm-option-to-shift-schedule' into 'master'
Resolve "Add 7 AM - 10 PM option to shift schedule"

Closes #533

See merge request jankstudio/resq!618
2021-01-26 01:59:42 +00:00
Korina Cordero
208eb3ffc3 Add 7 AM-10 PM option. #533 2021-01-25 08:47:43 +00:00
50a853395c Merge branch '532-add-flag_new-in-api-call-response' into 'master'
Resolve "Add flag_new in API call response"

Closes #532

See merge request jankstudio/resq!617
2021-01-25 06:53:14 +00:00
Korina Cordero
7ce0d1e930 Add flag_new to /capi/batteries response. #532 2021-01-25 06:50:46 +00:00
3e75ddb618 Merge branch '531-add-24-7-and-current-configuration-for-rider-scheduling' into 'master'
Resolve "Add 24/7 and current configuration for rider scheduling"

Closes #531

See merge request jankstudio/resq!616
2021-01-25 02:41:19 +00:00
Korina Cordero
cdcdbe72b2 Added comments for the arguments for the solver script. #531 2021-01-25 02:29:09 +00:00
Korina Cordero
44afc498c1 Add population of hours based on shift selected. #531 2021-01-22 10:35:38 +00:00
Korina Cordero
f5759c8cea Add population of hour shift, depending on selected shift schedule. #531 2021-01-21 09:55:16 +00:00
Korina Cordero
f31891393d Add shift schedule dropdown. #531 2021-01-21 08:44:56 +00:00
bc05ade550 Merge branch '530-add-test-only-as-a-cancel-reason' into 'master'
Resolve "Add TEST ONLY as a cancel reason"

Closes #530

See merge request jankstudio/resq!615
2021-01-04 09:08:45 +00:00
Korina Cordero
314c0704f8 Add TEST ONLY as a cancel reason. #530 2021-01-04 07:20:39 +00:00
7d612df076 Merge branch '528-app-cannot-add-customer-vehicle' into 'master'
Add checking if token is null. #528

Closes #528

See merge request jankstudio/resq!614
2020-12-14 06:23:02 +00:00
Korina Cordero
f97153832c Add checking if token is null. #528 2020-12-14 06:21:27 +00:00
Korina Cordero
408a2bf42c Change output->writeln to error_log. 2020-12-14 03:28:09 +00:00
83e5ea3810 Merge branch '528-app-cannot-add-customer-vehicle' into 'master'
Add check for user class type for cv history #528

Closes #528

See merge request jankstudio/resq!613
2020-12-14 02:56:58 +00:00
0ff930438b Add check for user class type for cv history #528 2020-12-14 10:56:04 +08:00
ba7948c507 Merge branch '527-container-size-for-sap-battery' into 'master'
Resolve "Container size for SAP Battery"

Closes #527

See merge request jankstudio/resq!612
2020-12-07 09:28:42 +00:00
Korina Cordero
b17a95e35a Add container size to SAP battery form. #527 2020-12-07 09:05:00 +00:00
Korina Cordero
a9d631cbc2 Add list, create, update, and delete for container size. #527 2020-12-07 06:46:43 +00:00
Korina Cordero
807749c8f5 Add SAPBatteryContainerSize entity. #527 2020-12-07 05:48:48 +00:00
Korina Cordero
6a0b53580e Merge branch '526-add-new-tag-for-sap-battery' into 'master'
Resolve "Add new tag for SAP Battery"

Closes #526

See merge request jankstudio/resq!611
2020-12-07 05:02:29 +00:00
Korina Cordero
0d7ff77a07 Rename flag_latest to flag_new in constructor. #526 2020-12-07 05:00:46 +00:00
Korina Cordero
debc3bc8cb Add new flag for SAP battery. #526 2020-12-01 09:12:21 +00:00
afc9eb7062 Merge branch '524-add-sap-battery-to-admin-panel' into 'master'
Resolve "Add SAP Battery to admin panel"

Closes #524

See merge request jankstudio/resq!610
2020-11-27 10:33:15 +00:00
Korina Cordero
ac2138c1b1 Fix error validation for SAP battery. #524 2020-11-27 10:27:01 +00:00
Korina Cordero
0752fe3726 Add create, list, update, and delete for SAP Battery. #524 2020-11-27 09:52:24 +00:00
Korina Cordero
bd80c6295a Add create, delete, update, and list for SAP battery size. #524 2020-11-27 08:43:47 +00:00
Korina Cordero
041cb7bafa CRUD for SAP battery brand. #524 2020-11-27 08:25:01 +00:00
a032c4feb0 Merge branch '525-battery-serial-history' into 'master'
Resolve "Battery Serial History"

Closes #525

See merge request jankstudio/resq!609
2020-10-26 09:29:17 +00:00
070937cd37 Enable logging of changes to customer vehicle warranty code #525 2020-10-26 17:27:06 +08:00
7898595bff Add new entity for customer vehicle warranty code history #525 2020-10-26 16:30:14 +08:00
fe13315a32 Merge branch '525-battery-serial-history' into 'master'
Add warranty serial edit modal and ajax call for jo forms #525

Closes #525

See merge request jankstudio/resq!608
2020-10-25 17:47:17 +00:00
668f49f335 Add warranty serial edit modal and ajax call for jo forms #525 2020-10-26 01:46:35 +08:00
1e3ac3e71c Merge branch '523-changes-to-import-sapdeltacommand' into 'master'
Resolve "Changes to Import SAPDeltaCommand"

Closes #523

See merge request jankstudio/resq!607
2020-10-20 04:24:09 +00:00
Korina Cordero
28025a5735 Add checking for empty row and empty columns. #523 2020-10-20 03:55:40 +00:00
735bcffdd8 Merge branch '522-add-date_update-to-battery-fields' into 'master'
Resolve "Add date_update to battery fields"

Closes #522

See merge request jankstudio/resq!606
2020-10-20 00:05:42 +00:00
7ca467ce4c Add date_update to battery list CAPI #522 2020-10-20 07:52:07 +08:00
74928f196b Add date_create and date_update to SAPBattery entity #522 2020-10-20 07:38:47 +08:00
6898b9989e Add date_create and date_update fields in Battery entity #522 2020-10-20 07:01:01 +08:00
6a121ece81 Merge branch '520-missing-cancel-and-not-willing-to-wait-reason' into 'master'
Resolve "Missing cancel and not willing to wait reason"

Closes #520

See merge request jankstudio/resq!605
2020-10-13 02:37:04 +00:00
Korina Cordero
121f3623bb Add missing reasons. #520 2020-10-13 02:30:32 +00:00
a35f4bc78e Merge branch '519-motiv-connectivity' into 'master'
Resolve "Motiv connectivity"

Closes #519

See merge request jankstudio/resq!604
2020-10-12 14:49:00 +00:00
f684fb532c Merge branch 'master' into '519-motiv-connectivity'
# Conflicts:
#   src/Controller/JobOrderController.php
2020-10-12 14:48:56 +00:00
271b76331b Merge branch '485-resq-september-10-release' into 'master'
Resolve "Resq - September 10 release"

Closes #485

See merge request jankstudio/resq!603
2020-10-12 14:43:28 +00:00
1227e03e1a Add inventory count to hub table in job order processing form #519 2020-10-10 00:52:45 +08:00
c44fa66195 Create MotivConnector service #519 2020-10-09 22:57:44 +08:00
7bc0dfe54a Merge branch '504-resq-new-import-commands-for-sap-battery' into '485-resq-september-10-release'
Resolve "Resq - new import commands for SAP Battery"

See merge request jankstudio/resq!592
2020-09-29 01:30:07 +00:00
Korina Cordero
1151852f1d Merge branch '513-resq-add-date_create-to-customer' into '485-resq-september-10-release'
Resolve "Resq - add date_create to Customer"

See merge request jankstudio/resq!591
2020-09-28 08:20:44 +00:00
Korina Cordero
2d0b539f09 Add sql script to update date_create to current date for Customer. #513 2020-09-28 08:08:11 +00:00
Korina Cordero
ae5ccb40f2 Add date_create to Customer. #513 2020-09-28 07:52:00 +00:00
Korina Cordero
7107c57eb6 Create command to import SAP information. #504 2020-09-25 09:58:07 +00:00
Korina Cordero
beee87c3b4 Modify the ImportSAPDeltaCommand to make import checking easier. #504 2020-09-23 04:47:15 +00:00
Korina Cordero
7c49bd9f0a Add ImportSAPDeltaCommand. #504 2020-09-22 11:17:25 +00:00
Korina Cordero
d42723955a Merge branch '486-resq-restore-dpa' into '485-resq-september-10-release'
Add DPA access when creating customer and job order. Add checking for email...

See merge request jankstudio/resq!572
2020-09-10 07:09:58 +00:00
Korina Cordero
aa89e74e94 Add DPA access when creating customer and job order. Add checking for email when email promo is checked. #486 2020-09-10 06:05:41 +00:00
Korina Cordero
e1769470de Merge branch '471-resq-no-trade-in-reason-should-not-be-required' into '485-resq-september-10-release'
Add checking for service type for no trade in reason. #471

See merge request jankstudio/resq!571
2020-09-09 08:09:50 +00:00
Korina Cordero
2516b14de8 Merge branch '475-resq-missing-ticket-entries-for-cancelled-jos' into '485-resq-september-10-release'
Add fulfill-cancel mode to display the timeline. #475

See merge request jankstudio/resq!570
2020-09-09 08:09:30 +00:00
Korina Cordero
82671a80a3 Add checking for service type for no trade in reason. #471 2020-09-09 08:07:38 +00:00
Korina Cordero
ce7c1f5163 Add fulfill-cancel mode to display the timeline. #475 2020-09-09 04:03:59 +00:00
Korina Cordero
a6f8dfb333 Merge branch '482-resq-add-none-option-for-reason-why-not-willing-to-wait' into '480-resq-august-28-release'
Add the None option for why not willing to wait. #482

See merge request jankstudio/resq!566
2020-09-03 04:00:44 +00:00
Korina Cordero
dfb3682088 Add the None option for why not willing to wait. #482 2020-09-03 03:10:05 +00:00
Korina Cordero
e6dd08d6d0 Merge branch '476-resq-success-message-for-warranty-upload' into '480-resq-august-28-release'
Modified contents of the csv file when no invalid warranties are found. #476

See merge request jankstudio/resq!564
2020-08-28 09:40:04 +00:00
Korina Cordero
479ff96fdc Modified contents of the csv file when no invalid warranties are found. #476 2020-08-28 09:36:11 +00:00
Korina Cordero
9fa7ee9684 Merge branch '481-resq-additional-cancel-reasons' into '480-resq-august-28-release'
Added cancellation reasons. #481

See merge request jankstudio/resq!563
2020-08-28 05:29:45 +00:00
Korina Cordero
dba2eb693a Added cancellation reasons. #481 2020-08-28 05:26:10 +00:00
Korina Cordero
a8bef7be36 Merge branch '479-resq-changes-to-willing-to-wait' into '480-resq-august-28-release'
Add content. #479

See merge request jankstudio/resq!562
2020-08-28 04:14:05 +00:00
Korina Cordero
73dcdb0b99 Add content. #479 2020-08-28 04:12:42 +00:00
Korina Cordero
9d3433ce8e Merge branch '479-resq-changes-to-willing-to-wait' into '480-resq-august-28-release'
Change the wiling to wait checkbox into a dropdown. Add text field for not willing to wait. #479

See merge request jankstudio/resq!561
2020-08-28 04:05:07 +00:00
Korina Cordero
c30874e1c0 Change the wiling to wait checkbox into a dropdown. Add text field for not willing to wait. #479 2020-08-27 08:28:39 +00:00
Korina Cordero
1b88baa3de Add all batteries to Battery dropdown in JO form. #465 2020-08-18 02:25:31 +00:00
Korina Cordero
75ff5bcdbb Add country code to mobile number. #465 2020-08-17 11:09:35 +00:00
Korina Cordero
d14bb71c77 Adjust the column spacing in JO form. #465 2020-08-13 08:17:51 +00:00
Korina Cordero
defadcd016 Remove redundant text field from JO form. #465 2020-08-12 06:22:06 +00:00
Korina Cordero
61098b551f Merge branch '464-resq-sms-message-to-customer-upon-jo-completion' into '465-resq-august-13-release'
Resolve "Resq - sms message to customer upon JO completion"

See merge request jankstudio/resq!543
2020-08-12 05:46:07 +00:00
Korina Cordero
71b70d0c5a Merge branch '463-resq-message-prompt-for-non-serviceable-area' into '465-resq-august-13-release'
Resolve "Resq - message prompt for non-serviceable area"

See merge request jankstudio/resq!542
2020-08-12 05:41:56 +00:00
Korina Cordero
938ef24078 Add SMS message sending to customer when JO is fulfilled via rider app. #464 2020-08-12 05:35:36 +00:00
Korina Cordero
28b939a969 Add SMS messaging to customer when rider fulfills a JO from rider app. #464 2020-08-11 11:10:24 +00:00
Korina Cordero
2c48c619b8 Send SMS message to customer when JO is fulfilled from admin panel. #464 2020-08-11 07:24:20 +00:00
Korina Cordero
cf684c21a0 Merge branch '465-resq-august-13-release' of gitlab.com:jankstudio/resq into 464-resq-sms-message-to-customer-upon-jo-completion 2020-08-11 04:10:51 +00:00
Korina Cordero
b94b4e6787 Merge branch '453-resq-july-30-release' of gitlab.com:jankstudio/resq into 464-resq-sms-message-to-customer-upon-jo-completion 2020-08-11 04:09:01 +00:00
Korina Cordero
ce70966117 Add geofence checking to JO form. #463 2020-08-10 09:03:21 +00:00
Korina Cordero
87eee41958 Merge branch '453-resq-july-30-release' of gitlab.com:jankstudio/resq into 463-resq-message-prompt-for-non-serviceable-area 2020-08-10 08:00:16 +00:00
Korina Cordero
8d33e21647 Merge branch '462-resq-dropdown-for-trade-in-reason' into '465-resq-august-13-release'
Resolve "Resq - dropdown for trade-in reason"

See merge request jankstudio/resq!541
2020-08-10 07:53:01 +00:00
Korina Cordero
e8220f4282 Add no trade in reason to form and JO entity. #462 2020-08-10 07:51:37 +00:00
Korina Cordero
a57c6a48ee Merge branch '461-resq-get-only-compatible-batteries-after-customer-vehicle-is-selected' into '465-resq-august-13-release'
Resolve "Resq - get only compatible batteries after customer vehicle is selected"

See merge request jankstudio/resq!540
2020-08-10 06:35:12 +00:00
Korina Cordero
4454f10d45 Merge branch '453-resq-july-30-release' of gitlab.com:jankstudio/resq into 462-resq-dropdown-for-trade-in-reason 2020-08-10 04:01:46 +00:00
Korina Cordero
25b96e8a14 Fix error when user reassigns hub. #453 2020-08-10 03:28:40 +00:00
Korina Cordero
1f39ab3ccf Add list of no trade in reasons. #462 2020-08-07 08:54:16 +00:00
Korina Cordero
fb8dabc269 Return only compatible batteries for customer vehicle. #461 2020-08-07 07:05:42 +00:00
Korina Cordero
54c20f5218 Merge branch '453-resq-july-30-release' of gitlab.com:jankstudio/resq into 461-resq-get-only-compatible-batteries-after-customer-vehicle-is-selected 2020-08-07 07:00:16 +00:00
Korina Cordero
518121211c Merge branch 'revert-030a3655' into 'master'
Revert 030a3655

See merge request jankstudio/resq!537
2020-08-05 10:31:32 +00:00
Korina Cordero
df950006c1 Revert "Merge branch '457-cmb-add-telephone-number-to-search' into 'master'"
This reverts merge request !536
2020-08-05 10:17:40 +00:00
Korina Cordero
030a3655b3 Merge branch '457-cmb-add-telephone-number-to-search' into 'master'
Resolve "CMB - add telephone number to search"

Closes #424 and #457

See merge request jankstudio/resq!536
2020-08-05 10:17:24 +00:00
Korina Cordero
1a82676c25 Remove log messages. #457 2020-08-05 10:13:53 +00:00
Korina Cordero
62a4ffcdfd Add mobile number to customer vehicle search in JO forms. #457 2020-08-05 09:40:18 +00:00
Korina Cordero
11cdb161f0 Merge branch '459-cmb-add-responsible_party-to-jo' into '424-cmb-release'
Resolve "CMB - add responsible_party to JO"

See merge request jankstudio/resq!534
2020-08-05 08:10:25 +00:00
Korina Cordero
5942575fde Add responsible_party field to job order entity and JO forms. #459 2020-08-05 08:03:46 +00:00
Korina Cordero
1dabdee4b0 Merge branch '456-cmb-add-rider-s-finish-time-in-jo-list' into '424-cmb-release'
Add finish date column to list of all job orders. #456

See merge request jankstudio/resq!532
2020-08-05 04:04:08 +00:00
Korina Cordero
407c860582 Add finish date column to list of all job orders. #456 2020-08-05 03:51:40 +00:00
Korina Cordero
46bcf7f209 Fix zoom issue in dashboard map. #424 2020-08-04 08:08:56 +00:00
Korina Cordero
117974d2cb Add CustomerNotWaitReason. #453 2020-08-04 08:00:21 +00:00
Korina Cordero
8f6aa72cc0 Merge branch '424-cmb-release' of gitlab.com:jankstudio/resq into 424-cmb-release 2020-08-04 07:57:15 +00:00
Korina Cordero
8a026ef44a Add fix to dashboard map zoom error. #424 2020-08-04 07:52:27 +00:00
e3b189b7ae Merge branch 'revert-fdce6c02' into '424-cmb-release'
Revert "Add name to rider label. #424"

See merge request jankstudio/resq!531
2020-08-04 05:39:19 +00:00
55a4455586 Revert "Add name to rider label. #424"
This reverts commit fdce6c02a4
2020-08-04 05:39:07 +00:00
Korina Cordero
4857645e18 Merge branch '455-resq-add-lazada-as-source-of-transactions-on-crm' into '453-resq-july-30-release'
Resolve "Resq - Add Lazada as Source of transactions on CRM"

See merge request jankstudio/resq!530
2020-08-04 03:46:30 +00:00
Korina Cordero
21c1535e89 Add Lazada to Transaction Origin. #455 2020-08-04 03:45:23 +00:00
Korina Cordero
7b8fe8c9e6 Merge branch '454-resq-dropdown-of-reasons-for-customers-not-willing-to-wait' into '453-resq-july-30-release'
Resolve "Resq - dropdown of reasons for customers not willing to wait"

See merge request jankstudio/resq!529
2020-08-04 03:35:45 +00:00
Korina Cordero
78d0f4b150 Change text field to dropdown for reasons why customer will not wait. #454 2020-08-04 03:32:51 +00:00
Korina Cordero
cf6793a323 Merge branch '449-resq-dropdown-for-cancellation-reasons' into '453-resq-july-30-release'
Resolve "Resq - dropdown for cancellation reasons"

See merge request jankstudio/resq!528
2020-08-04 02:30:36 +00:00
Korina Cordero
a526b7bee5 Fix issue when user cancels the cancellation. #449 2020-08-04 02:27:44 +00:00
Korina Cordero
2e9a5585d4 Add dropdown for cancellation reasons. #449 2020-08-03 10:58:36 +00:00
Korina Cordero
4cd75acb46 Add updating of landmark, willing to wait, and reason when updating JO form. #453 2020-07-31 01:42:50 +00:00
Korina Cordero
3af78fd49b Add checking for SSL_ENABLE for Dashboard. #453 2020-07-30 03:23:03 +00:00
Korina Cordero
ca37b72d57 Check if role has permission to fulfill cancelled orders. #453 2020-07-29 05:22:33 +00:00
Korina Cordero
8e91f9f76b Merge branch '445-resq-tickbox-for-customer-willing-to-wait' into '453-resq-july-30-release'
Resolve "Resq - tickbox for customer willing to wait"

See merge request jankstudio/resq!527
2020-07-28 10:12:17 +00:00
Korina Cordero
84042a6bb9 Merge branch '447-resq-landmark-required-in-job-order' into '453-resq-july-30-release'
Make Landmark field in JO required. #447

See merge request jankstudio/resq!526
2020-07-28 10:11:30 +00:00
Korina Cordero
964dce9842 Add Willing to Wait tickbox and Reason for not waiting text field. #445 2020-07-28 10:10:59 +00:00
Korina Cordero
18dd63ac16 Make Landmark field in JO required. #447 2020-07-28 08:07:56 +00:00
Korina Cordero
4003ddb489 Merge branch '443-resq-add-battery-facilitated-by-in-view-all-page' into '453-resq-july-30-release'
Resolve "Resq - add Battery Facilitated By in View All page"

See merge request jankstudio/resq!525
2020-07-28 07:45:12 +00:00
Korina Cordero
acfea99040 Merge branch '442-resq-cancelled-jo-can-be-fulfilled' into '453-resq-july-30-release'
Resolve "Resq - cancelled JO can be fulfilled"

See merge request jankstudio/resq!524
2020-07-28 07:44:56 +00:00
Korina Cordero
a2b91818fb Merge branch '444-resq-include-date-filter-in-hub-view' into '453-resq-july-30-release'
Add date filter for hub view. #444

See merge request jankstudio/resq!523
2020-07-28 07:44:39 +00:00
Korina Cordero
ed0eefc1d8 Add Battery Facilitated By column in View All. #443 2020-07-28 06:48:40 +00:00
Korina Cordero
886ed94d88 Merge branch '444-resq-include-date-filter-in-hub-view' of gitlab.com:jankstudio/resq into 443-resq-add-battery-facilitated-by-in-view-all-page 2020-07-28 06:15:39 +00:00
Korina Cordero
c3e36ad055 Add fulfill for cancelled job orders. #442 2020-07-28 05:58:21 +00:00
Korina Cordero
fdce6c02a4 Add name to rider label. #424 2020-07-27 09:49:53 +00:00
Korina Cordero
a432def97b Add date start to list of job orders behind schedule. #424 2020-07-27 07:48:10 +00:00
Korina Cordero
e85139b864 Add date start to the list of JOs in View All and Open. #424 2020-07-27 07:38:13 +00:00
Korina Cordero
ed53e494b4 Fix bug where JO goes back to assigned when updated. #424 2020-07-24 08:57:33 +00:00
Korina Cordero
d61d71804d Return empty array for job order when no ongoing job order. #424 2020-07-24 06:42:38 +00:00
Korina Cordero
afbe3aa00b Add route to fulfill a cancelled job order. #442 2020-07-23 10:34:01 +00:00
Korina Cordero
505177360e Add date filter for hub view. #444 2020-07-23 08:58:41 +00:00
Korina Cordero
febd4d6e09 Comment out the error_log for header longitude and latitude. #424 2020-07-23 06:53:01 +00:00
Korina Cordero
ff83dec5ce Add upload photo event type. #424 2020-07-23 04:40:48 +00:00
Korina Cordero
eadcd4604a Add getHeaderCoordinates to rider api. #424 2020-07-23 03:55:33 +00:00
Korina Cordero
232ebfe3fc Add RIDER_FINISH event. Add date_complete to API response. #424 2020-07-23 02:50:13 +00:00
Korina Cordero
37fef914d9 Add checking for null for other images. #424 2020-07-22 06:35:12 +00:00
Korina Cordero
1cba6b0670 Merge branch '441-cmb-limit-uploaded-photos-to-four' into '424-cmb-release'
Commented out the Other Images section. #441

See merge request jankstudio/resq!519
2020-07-21 10:05:34 +00:00
Korina Cordero
6ed3c52e49 Commented out the Other Images section. #441 2020-07-21 10:04:47 +00:00
Korina Cordero
99eae1fae8 Merge branch '441-cmb-limit-uploaded-photos-to-four' into '424-cmb-release'
Resolve "CMB - limit uploaded photos to four"

See merge request jankstudio/resq!518
2020-07-21 09:59:25 +00:00
Korina Cordero
b680349e56 Limit uploaded photos to four. Rename images to generic names. #441 2020-07-21 09:58:06 +00:00
Korina Cordero
1bf29f86e6 Merge branch '438-cmb-rider-icon-should-be-green-when-rider-rejects-jo' into '424-cmb-release'
Resolve "CMB - rider icon should be green when rider rejects JO"

See merge request jankstudio/resq!516
2020-07-21 07:20:27 +00:00
Korina Cordero
127b4a6f7b Merge branch '424-cmb-release' of gitlab.com:jankstudio/resq into 438-cmb-rider-icon-should-be-green-when-rider-rejects-jo 2020-07-21 07:17:56 +00:00
Korina Cordero
34b71fe9e7 Merge branch '437-cmb-rider-cannot-go-offline-if-rider-has-assigned-jos' into '424-cmb-release'
Resolve "CMB - rider cannot go offline if rider has assigned JOs"

See merge request jankstudio/resq!515
2020-07-21 07:14:17 +00:00
Korina Cordero
d7a5bd7dda Merge branch '424-cmb-release' of gitlab.com:jankstudio/resq into 437-cmb-rider-cannot-go-offline-if-rider-has-assigned-jos 2020-07-21 07:12:46 +00:00
Korina Cordero
f0de318acf Merge branch '440-cmb-set-jo-time-started-when-rider-accepts-jo' into '424-cmb-release'
Resolve "CMB - set JO time started when rider accepts JO"

See merge request jankstudio/resq!514
2020-07-21 07:11:57 +00:00
Korina Cordero
6b65e92711 Add date_start to the job order data response. #440 2020-07-21 07:10:45 +00:00
Korina Cordero
d01aa82e31 Clear rider when JO has been rejected. Send event for rider availability when rider rejects JO. #437 2020-07-21 04:58:14 +00:00
Korina Cordero
109911bbb0 Clear rider when JO has been rejected. Send event for rider availability when rider rejects JO. #437 2020-07-21 04:51:50 +00:00
Korina Cordero
95a070051e Add checking for assigned job orders when rider is logging out or going offline. #437 2020-07-20 08:21:34 +00:00
Korina Cordero
20f5e46726 Add date_accept to the responses when getting a job order. #440 2020-07-17 06:17:55 +00:00
655b632849 Fix availability if active jo is closed #424 2020-07-16 15:12:44 +08:00
4b22344e72 Minor cleanup #424 2020-07-16 15:00:50 +08:00
9e649c9d70 Fix bug in rider availability check #424 2020-07-16 14:56:20 +08:00
a8b5a59ddb Display marker only if rider is 'online' #424 2020-07-16 14:54:26 +08:00
3d861537b5 Add debug for rider availability #424 2020-07-16 14:52:59 +08:00
2d292e1f9d Do not display marker for inactive rider #424 2020-07-16 14:50:36 +08:00
e79ae22f32 Fix rider available ajax call to rely on active job order #424 2020-07-16 14:40:30 +08:00
3f2cc2b82a Add debug console log for putting markers #424 2020-07-16 14:36:23 +08:00
9fd31a1531 Make dashmap available in ajax call #424 2020-07-16 14:33:45 +08:00
2745e0dac0 Fix hardcoded availability of rider in ajax call #424 2020-07-16 14:31:51 +08:00
718125f2bf Remove debug js for mqtt messasges to make it easier #424 2020-07-16 14:23:42 +08:00
1b2ea61891 Fix js error #424 2020-07-16 14:20:44 +08:00
b24bae3788 Add rider availability ajax call #424 2020-07-16 14:19:16 +08:00
f060223fb5 Add console debug for rider availability packets #424 2020-07-16 13:53:55 +08:00
Korina Cordero
72f2490f71 Merge branch '436-cmb-uat-requests' into '424-cmb-release'
Fix issue of icon not displaying when rider goes online. #436

See merge request jankstudio/resq!513
2020-07-16 05:10:54 +00:00
Korina Cordero
0c845b456e Fix issue of icon not displaying when rider goes online. #436 2020-07-16 05:09:53 +00:00
Korina Cordero
dc678fd622 Merge branch '436-cmb-uat-requests' into '424-cmb-release'
Add channel for rider availability to add/remove rider when rider goes online/offline. #436

See merge request jankstudio/resq!512
2020-07-16 03:32:40 +00:00
Korina Cordero
326bbeaed2 Add channel for rider availability to add/remove rider when rider goes online/offline. #436 2020-07-16 03:31:04 +00:00
Korina Cordero
a16e600ba4 Merge branch '436-cmb-uat-requests' into '424-cmb-release'
Add template for behind schedule JOs. #436

See merge request jankstudio/resq!511
2020-07-15 08:59:08 +00:00
Korina Cordero
40eb185fdb Add template for behind schedule JOs. #436 2020-07-15 08:58:06 +00:00
Korina Cordero
b9f96fff4f Merge branch '436-cmb-uat-requests' into '424-cmb-release'
Add list of job orders behind schedule. #436

See merge request jankstudio/resq!510
2020-07-15 08:45:15 +00:00
Korina Cordero
4c8ea2f69b Add list of job orders behind schedule. #436 2020-07-15 08:40:30 +00:00
Korina Cordero
ae5c18a761 Merge branch '436-cmb-uat-requests' into '424-cmb-release'
Add label to rider icons. #436

See merge request jankstudio/resq!509
2020-07-15 03:52:27 +00:00
Korina Cordero
340344729d Add label to rider icons. #436 2020-07-15 03:37:49 +00:00
Korina Cordero
423ab20d77 Merge branch '436-cmb-uat-requests' into '424-cmb-release'
Split invoice items with quantity more than 1. #436

See merge request jankstudio/resq!508
2020-07-14 03:25:39 +00:00
Korina Cordero
1a6ed417bf Split invoice items with quantity more than 1. #436 2020-07-14 03:15:51 +00:00
Korina Cordero
6cb3f1be66 Fix the quantity in invoice when user orders more than one battery of the same type. #436 2020-07-13 09:38:47 +00:00
Korina Cordero
c61e3ac39e Set colors for assigned and in progress job orders in View All and View Open JO lists. #436 2020-07-13 03:48:05 +00:00
Korina Cordero
6bf4b76486 Merge branch '424-cmb-release' of gitlab.com:jankstudio/resq into 436-cmb-uat-requests 2020-07-13 02:39:52 +00:00
Korina Cordero
8734871142 Merge branch '434-cmb-uat-issues' into '424-cmb-release'
Fix bug when assigning rider to JO. #434

See merge request jankstudio/resq!505
2020-07-08 10:42:26 +00:00
Korina Cordero
7d19cfa1eb Fix bug when assigning rider to JO. #434 2020-07-08 10:41:28 +00:00
Korina Cordero
451ea6c280 Merge branch '434-cmb-uat-issues' into '424-cmb-release'
Modify checking for JO reassignment. #434

See merge request jankstudio/resq!504
2020-07-08 09:13:24 +00:00
Korina Cordero
c82a7a388d Modify checking for JO reassignment. #434 2020-07-08 09:12:35 +00:00
Korina Cordero
596e077243 Merge branch '434-cmb-uat-issues' into '424-cmb-release'
Made the model year field a dropdown. #434

See merge request jankstudio/resq!503
2020-07-08 04:24:27 +00:00
Korina Cordero
a448177a1c Made the model year field a dropdown. #434 2020-07-08 04:21:17 +00:00
Korina Cordero
954ccc5071 Merge branch '434-cmb-uat-issues' into '424-cmb-release'
Resolve "CMB - UAT issues"

See merge request jankstudio/resq!501
2020-07-07 11:39:40 +00:00
Korina Cordero
3fcb3d31b5 Limit customer vehicles to 2 per customer. #434 2020-07-07 07:34:43 +00:00
Korina Cordero
9c2c1e5895 Remove before pictures from job order. Also remove uploadArrive endpoint. #434 2020-07-06 09:10:33 +00:00
Korina Cordero
3de8b8762f Add checking if scheduled date and time are before the current date and time. #434 2020-07-06 07:51:26 +00:00
Korina Cordero
27f37de489 Fix discount issues. #434 2020-07-03 08:14:12 +00:00
Korina Cordero
c3487358f1 Autopopulate the OR Name field with the customer name. #434 2020-07-03 07:29:47 +00:00
Korina Cordero
6e07e24e93 Made discount a dropdown. #434 2020-07-02 11:53:14 +00:00
Korina Cordero
9bb8380ca4 Add 45 minutes to date_schedule. #434 2020-07-02 02:59:23 +00:00
86122aa6e8 Merge branch '409-add-analytics-for-forecasting' into 'master'
Limit rider schedule to 7 - 4 and 8 - 5 #409

Closes #409

See merge request jankstudio/resq!502
2020-07-01 15:45:24 +00:00
32d3012802 Limit rider schedule to 7 - 4 and 8 - 5 #409 2020-07-01 23:43:24 +08:00
Korina Cordero
473e7a8e51 Return list of years for model year until current year. #434 2020-07-01 09:40:01 +00:00
Korina Cordero
2cf5542037 Adjust max value for discount to 60. #434 2020-07-01 09:21:41 +00:00
Korina Cordero
ada02f46a7 Comment saving of promo information. #434 2020-07-01 09:17:34 +00:00
Korina Cordero
1b9441a9ee Hide the promo/employee id field from both onestep and walkin forms. #434 2020-07-01 09:08:04 +00:00
Korina Cordero
e8923c8faf Add checking for odometer maximum value. #434 2020-07-01 02:55:48 +00:00
Korina Cordero
1c076228c6 Add Whatsapp to the list for transaction origin. #434 2020-07-01 02:35:12 +00:00
Korina Cordero
b4d1cd344d Add E-Wallet as mode of payment. #434 2020-07-01 02:20:57 +00:00
Korina Cordero
858849a764 Made customer notes non-mandatory. #434 2020-07-01 02:12:08 +00:00
Korina Cordero
9717effb0a Add signature and email address to display. Separate the before and after images. #432 2020-06-29 09:00:42 +00:00
Korina Cordero
7aed20019c Fix displaying of images. #432 2020-06-29 08:18:39 +00:00
Korina Cordero
32c83aa40c Add odometer and pictures when viewing JO. #432 2020-06-29 07:00:17 +00:00
Korina Cordero
e9981b24fa Merge branch '424-cmb-release' of gitlab.com:jankstudio/resq into 432-cmb-display-details-in-jo 2020-06-29 02:56:08 +00:00
944fff8d95 Merge branch '409-add-analytics-for-forecasting' into 'master'
Add time restriction in analytics #409

Closes #409

See merge request jankstudio/resq!498
2020-06-26 23:46:40 +00:00
94116a2958 Add time restriction in analytics #409 2020-06-27 07:42:04 +08:00
Korina Cordero
818a8fff30 Add cash to mode of payments. #424 2020-06-26 05:22:46 +00:00
Korina Cordero
481420294e Fix for JO not displaying errors when required fields are blank. #424 2020-06-26 03:26:54 +00:00
78d351b103 Merge branch '409-add-analytics-for-forecasting' into 'master'
Allow analytics to be filtered by date range #409

Closes #409

See merge request jankstudio/resq!497
2020-06-26 01:12:43 +00:00
2803c264ac Allow analytics to be filtered by date range #409 2020-06-25 23:39:46 +08:00
Korina Cordero
bf572fa93c Remove error_log commands. #424 2020-06-25 10:57:14 +00:00
Korina Cordero
87db4f4a4f Clear rider and hub when destination coordinates change. #424 2020-06-25 09:43:55 +00:00
Korina Cordero
be52d089d2 Fix JO saving when plate number is blank. #424 2020-06-25 08:50:08 +00:00
Korina Cordero
a65211a709 Remove the Action and Distance in KM from walkin form. Remove the Action columns in one step form. #424 2020-06-25 08:24:09 +00:00
Korina Cordero
c3b4e1219b Add trim when getting plate number when adding a customer vehicle. #424 2020-06-25 04:43:00 +00:00
Korina Cordero
a1a60100f5 Add new event type for perform. Add event creation when JO is performed. #424 2020-06-25 03:11:08 +00:00
Korina Cordero
5ad416df1d Set yaml files for cmb. #424 2020-06-24 09:05:35 +00:00
Korina Cordero
47a52782f7 Remove prefix from channel. #424 2020-06-24 07:55:50 +00:00
Korina Cordero
4de9a00942 Add config variable for ssl. #424 2020-06-24 07:10:45 +00:00
Korina Cordero
5822ea84a6 Add fix for rider being unavailable after completing a JO. #424 2020-06-23 09:54:50 +00:00
Korina Cordero
0f5bf2e8d6 Fix error when rider is not selected. #424 2020-06-23 09:40:39 +00:00
Korina Cordero
21ae94c5b6 Change default mode of payment to credit card. #424 2020-06-23 06:06:15 +00:00
Korina Cordero
093a249689 Add JO status checking for getOngoingJobOrder. #424 2020-06-23 02:33:24 +00:00
16b136b0d3 Make sure blank job_order is in data for get ongoing job order rider api call #424 2020-06-23 00:10:08 +08:00
Korina Cordero
9d41ecb228 Add fix for security checking for verifyJobOrder. #424 2020-06-22 11:39:58 +00:00
Korina Cordero
47eaa6488f Add display name for payment method in rider API JO data. #424 2020-06-22 10:56:41 +00:00
Korina Cordero
42d086ff5d Add sending of mqtt event when JO is assigned to rider. #424 2020-06-22 10:05:01 +00:00
Korina Cordero
a3cf1572f1 Refactor the controller for the API response. #424 2020-06-22 06:41:24 +00:00
Korina Cordero
0f0169cff4 Fix return value for verifyJobOrder. #424 2020-06-22 04:32:58 +00:00
Korina Cordero
db4ab726ab Fix bug in completeJobOrder. #424 2020-06-22 04:00:08 +00:00
Korina Cordero
2f8dca3dbc Fix responses for verifyJobOrder. #424 2020-06-22 03:45:50 +00:00
Korina Cordero
3abb6f0efb Add verifyJobOrder API call. #424 2020-06-22 03:13:41 +00:00
cbaf1ed6a6 Fix customer signature issue #424 2020-06-21 20:08:27 +08:00
eb2d173ea7 Add email and customer signature to complete call in rider api #424 2020-06-21 19:14:30 +08:00
2b13adffa0 Add customer email to jo details in rider api #424 2020-06-21 17:04:41 +08:00
f519ec01dc Set paid status in payment call in rider api #424 2020-06-21 16:46:11 +08:00
1e3b621a91 Send null for extra images if blank for rider api #424 2020-06-21 16:27:43 +08:00
d59174d721 Replace speedomtr with speedometer #424 2020-06-21 16:26:10 +08:00
4ec5ddd993 Add mode of payment to payment in rider api #424 2020-06-21 15:52:34 +08:00
fe363e1df6 Add request object to format job order data method #424 2020-06-21 14:49:31 +08:00
60323acce3 Add request to URL extra image generation #424 2020-06-21 14:48:27 +08:00
ce9a2f42b9 Add images and odometer to JO info #424 2020-06-21 14:44:10 +08:00
391909c493 Fix typo in job order status constant #424 2020-06-21 10:27:24 +08:00
59e6e9eb5c Support null date_status_change for rider api #424 2020-06-20 21:49:35 +08:00
5e75608402 Add date_status_change to job order data in rider api #424 2020-06-20 21:41:21 +08:00
0d89cab165 Add date_status_change for job order entity and refactor rider api job order data generation #424 2020-06-20 21:19:56 +08:00
ef7e362c7d Fix syntax bugs #424 2020-06-20 16:46:00 +08:00
b618605849 Fix syntax error #424 2020-06-20 16:43:14 +08:00
943c01e5d9 Add jo perform rider api call for CMB #424 2020-06-20 16:38:08 +08:00
Korina Cordero
131bc9c3f6 Merge branch '428-cmb-new-api-calls' into '424-cmb-release'
Add other_images parameter to upload photos API calls. #428

See merge request jankstudio/resq!496
2020-06-19 12:06:09 +00:00
Korina Cordero
5b96e03557 Add other_images parameter to upload photos API calls. #428 2020-06-19 11:33:49 +00:00
Korina Cordero
fed9c95449 Merge branch '428-cmb-new-api-calls' into '424-cmb-release'
Add getPaymentMethods and getCancelReason API calls to rider API. Add...

See merge request jankstudio/resq!495
2020-06-19 07:16:50 +00:00
Korina Cordero
6473c2e344 Add getPaymentMethods and getCancelReason API calls to rider API. Add phone_landline to the JO responses. #428 2020-06-19 07:14:12 +00:00
Korina Cordero
9728c4cae7 Merge branch '428-cmb-new-api-calls' into '424-cmb-release'
Resolve "CMB - new API calls"

See merge request jankstudio/resq!494
2020-06-19 06:29:17 +00:00
Korina Cordero
332f9687a2 Add getOngoingJobOrder to rider API. #428 2020-06-19 06:19:11 +00:00
Korina Cordero
7a2996d4e5 Add getStatus to rider API. #428 2020-06-19 04:16:45 +00:00
38d9839a96 Merge branch '427-cmb-jo-test-data-for-rider-api' into '424-cmb-release'
Resolve "CMB - JO test data for Rider API"

See merge request jankstudio/resq!493
2020-06-18 04:49:09 +00:00
Korina Cordero
0f06ca7339 Add saving of JOs. #427 2020-06-18 04:38:08 +00:00
Korina Cordero
9833a2709a Add command to add test JO data 2020-06-18 03:47:46 +00:00
2cd7a277cb Merge branch '426-command-to-copy-configuration-files' into '424-cmb-release'
Resolve "Command to copy configuration files"

See merge request jankstudio/resq!491
2020-06-17 09:39:26 +00:00
Korina Cordero
0a06a7ad31 Add command to copy the config and messages files. #426 2020-06-17 08:49:52 +00:00
Korina Cordero
90697af64b Merge branch '422-cmb-no-riders-in-list-when-rider-is-unavailable' of gitlab.com:jankstudio/resq into 426-command-to-copy-configuration-files 2020-06-17 08:20:12 +00:00
Korina Cordero
c3852e3b33 Merge branch '425-cmb-use-cmb-service-type' into '424-cmb-release'
Resolve "CMB - use CMB service type"

See merge request jankstudio/resq!489
2020-06-17 02:05:34 +00:00
Korina Cordero
bd0cf0ad1d Merge branch '424-cmb-release' into '425-cmb-use-cmb-service-type'
# Conflicts:
#   src/Service/RiderAPIHandler/CMBRiderAPIHandler.php
2020-06-17 02:05:06 +00:00
Korina Cordero
753c77773d Use CMBServiceType to check service type. #425 2020-06-17 02:03:50 +00:00
Korina Cordero
661e048206 Add checking for rider availability when saving JO. #422 2020-06-16 03:58:39 +00:00
Korina Cordero
86a5c117e3 Merge branch '421-cmb-new-rider-api' of gitlab.com:jankstudio/resq into 422-cmb-no-riders-in-list-when-rider-is-unavailable 2020-06-16 03:52:44 +00:00
618ccd8d06 Merge branch '421-cmb-new-rider-api' into '424-cmb-release'
Resolve "CMB - new Rider API"

See merge request jankstudio/resq!487
2020-06-16 02:25:17 +00:00
2be291c2ac Merge branch '409-add-analytics-for-forecasting' into 'master'
Resolve "Add analytics for forecasting"

Closes #409

See merge request jankstudio/resq!486
2020-06-15 05:38:56 +00:00
b65893e821 Add aggregate data table for analytics output #409 2020-06-15 13:38:13 +08:00
e13e3c0dd5 Fix bug when no JO comes up for hub in 2018 #409 2020-06-14 18:54:52 +08:00
69119c6b3a Merge branch '409-add-analytics-for-forecasting' into 'master'
Resolve "Add analytics for forecasting"

Closes #409

See merge request jankstudio/resq!485
2020-06-14 06:23:17 +00:00
a2fdb346b3 Refactor schedule solver to solver per weekday and add charts and tables to template #409 2020-06-14 14:12:32 +08:00
Korina Cordero
18081d0903 Add title field to error object. #421 2020-06-12 10:35:20 +00:00
d94e2353b0 Add schedule solver script and run it inside analytics controller #409 2020-06-11 01:15:58 +08:00
Korina Cordero
027c1ead39 Add upload directory for photos. #421 2020-06-09 06:05:16 +00:00
Korina Cordero
334b0f1c99 Add uploadFinishPhotos API call. #421 2020-06-09 02:57:48 +00:00
Korina Cordero
ce64a1b64d Add uploadArrivePhotos API call. #421 2020-06-08 10:39:57 +00:00
Korina Cordero
8f108c18cb Modify name of stype_id parameter to service_type for clarity. #421 2020-06-05 09:52:23 +00:00
Korina Cordero
760fa7acf3 Add get job order history for this month and last month. #421 2020-06-04 09:47:58 +00:00
Korina Cordero
b41b5ea29b Modify getJobOrderHistory. #421 2020-06-04 06:02:53 +00:00
Korina Cordero
a0ee7b32bc Add setOdometer API call. Modify url routes for some calls for easier reading. #421 2020-06-04 03:32:05 +00:00
Korina Cordero
b6c54615ad Add api calls: payment, complete, cancel, reject for job orders. #421 2020-06-03 10:34:56 +00:00
0911a1787e Create graph for overlaps #409 2020-06-03 01:18:12 +08:00
Korina Cordero
0e69eb4943 Add completeJobOrder and setActiveJobOrder API calls. #421 2020-06-02 09:25:43 +00:00
Korina Cordero
79b19a61f6 Add startJobOrder API call. Add RIDER_START event type. #421 2020-06-02 08:03:31 +00:00
Korina Cordero
22c1fab15c Add generateInvoice API call. #421 2020-06-02 07:41:47 +00:00
Korina Cordero
ce0240d001 Add event types for CMB. Add JO in transit API call. #421 2020-06-02 06:35:31 +00:00
Korina Cordero
e74d4061ba Add checking for assigned rider for JO for getJobOrder. #421 2020-06-02 04:27:10 +00:00
Korina Cordero
dbdde5cdde Change which flag is set when rider logs in and logs out. Add goOnline and goOffline API calls. #421 2020-06-02 03:40:55 +00:00
Korina Cordero
af9be59d8d Change getActiveJobOrders to getAssignedJobOrders. #421 2020-06-01 09:30:28 +00:00
Korina Cordero
2ea0111b1e Add generate invoice API call. #420 2020-06-01 09:15:05 +00:00
Korina Cordero
1842898c11 Add viewActiveJobOrders API call. #420 2020-06-01 06:29:11 +00:00
Korina Cordero
8730ab4ea3 Add viewJobOrderHistory API call to rider api. #420 2020-06-01 04:37:12 +00:00
Korina Cordero
2ea5bfe193 Add changes to CMB's rider API handler. #420 2020-06-01 02:26:04 +00:00
Korina Cordero
ce2b838ff7 Add RAPIController for CMB. #420 2020-05-29 07:20:00 +00:00
711082cf23 Merge branch '419-resq-search-optimization' into 'master'
Move the setting of JO search fields to the entity. Move the sql script to the...

Closes #419

See merge request jankstudio/resq!481
2020-05-27 08:56:31 +00:00
Korina Cordero
fabccc6950 Move update sql script to initial_sql directory. #419 2020-05-27 08:51:07 +00:00
Korina Cordero
7b60ec7c5f Move the setting of JO search fields to the entity. Move the sql script to the migration folder. #419 2020-05-27 08:13:51 +00:00
f56e995910 Merge branch '419-resq-search-optimization' into 'master'
Resolve "Resq - search optimization"

Closes #419

See merge request jankstudio/resq!479
2020-05-27 07:56:40 +00:00
Korina Cordero
2a0bee8d8d Create sql command to update the job orders for the search fields. Modify search to use the JO search fields. Add saving of search fields when adding a JO. #419 2020-05-27 07:05:44 +00:00
Korina Cordero
8b2a1cd09c Merge branch 'master' of gitlab.com:jankstudio/resq into 419-resq-search-optimization 2020-05-27 04:56:17 +00:00
Korina Cordero
c8c03b756d Add fields and indexes used for search to JO entity. #419 2020-05-27 03:44:52 +00:00
e150bf6181 Merge branch '409-add-analytics-for-forecasting' into 'master'
Resolve "Add analytics for forecasting"

Closes #409

See merge request jankstudio/resq!480
2020-05-26 10:00:27 +00:00
5cdd42e000 Merge branch '418-resq-comment-out-the-new-dpa-behavior' into 'master'
Resolve "Resq - comment out the new DPA behavior"

Closes #418

See merge request jankstudio/resq!478
2020-05-25 03:35:47 +00:00
Korina Cordero
f21753bd07 Comment out checking of dpa consent. Comment out access to dpa consent. #418 2020-05-25 03:33:44 +00:00
8be67413d4 Add map display to show overlaps #409 2020-05-24 16:09:17 +08:00
06d3aa3b27 Add form for analytics forecasting #409 2020-05-23 23:07:00 +08:00
760f823794 Have graphs for all hubs in list #409 2020-05-22 23:56:51 +08:00
761476134c Merge branch '415-resq-add-index-for-customer-first-name-and-last-name' into 'master'
Resolve "Resq - add index for customer first name and last name"

Closes #415

See merge request jankstudio/resq!477
2020-05-22 05:53:19 +00:00
Korina Cordero
7bd2a6fb31 Add index for customer first name, customer last name, and date_schedule. #415 2020-05-22 05:51:52 +00:00
2aa6d417b7 Merge branch '408-resq-additional-dpa-behavior' into 'master'
Resolve "Resq - additional dpa behavior"

Closes #408

See merge request jankstudio/resq!471
2020-05-21 01:50:57 +00:00
d63dfcabbd Create graphs for hours during the weekday and dates for the year #409 2020-05-21 00:33:32 +08:00
5bbc8c5bdc Merge branch '413-resq-report-on-jos-that-are-advance-orders' into 'master'
Add advance order job orders report. #413

Closes #413

See merge request jankstudio/resq!476
2020-05-20 08:24:48 +00:00
Korina Cordero
adcd9f8c4c Add advance order job orders report. #413 2020-05-20 08:13:42 +00:00
dc3e919ef0 Merge branch '412-resq-report-on-jos-that-were-auto-assigned' into 'master'
Resolve "Resq - report on JOs that were auto-assigned"

Closes #412

See merge request jankstudio/resq!474
2020-05-20 07:48:55 +00:00
Korina Cordero
c2ca48c402 Add auto assigned job orders report. #412 2020-05-20 07:40:18 +00:00
09b8ed2b40 Merge branch '411-resq-hub-view-enhancements' into 'master'
Resolve "Resq - hub view enhancements"

Closes #411

See merge request jankstudio/resq!473
2020-05-20 05:43:07 +00:00
Korina Cordero
c5eaf348a8 Filter hubs in hubs dropdown to those with flag_hub_view set to true. Add flag_hub_view to Hub entity. Filter JOs whose status are not cancelled or fulfilled. #411 2020-05-20 05:22:08 +00:00
039710750f Merge branch '410-resq-hub-view' into 'master'
Resolve "Resq - Hub View"

Closes #410

See merge request jankstudio/resq!472
2020-05-19 06:58:00 +00:00
Korina Cordero
ef3f5d5cec Add route to edit hub view form. Remove pdf link from hub view. Filter JOs based on selected hub. #410 2020-05-19 06:55:55 +00:00
Korina Cordero
25997ae11e Add acl, menu item, template, and route for Hub View. #410 2020-05-19 03:30:50 +00:00
616537d055 Add searching for job orders within 5 km of the hub #409 2020-05-18 23:33:16 +08:00
c1a8a5199b Add analytics menu, acl, controller, route, and template #409 2020-05-18 14:31:01 +08:00
Korina Cordero
bbebdb04c8 Add checking for email address if email checkbox is checked. #408 2020-05-15 09:24:31 +00:00
Korina Cordero
af85a632e5 Add acl entry for display of DPA Consent. Add checking when adding/updating customer for DPA consent. #408 2020-05-15 08:48:58 +00:00
5bfa881354 Merge branch '406-resq-add-flag_autoassign-to-jo' into 'master'
Resolve "Resq - add flag_autoassign to JO"

Closes #406

See merge request jankstudio/resq!469
2020-05-13 09:06:36 +00:00
Korina Cordero
eebdd40d0a Put advance order fix in APIController. #406 2020-05-13 09:00:46 +00:00
Korina Cordero
092df7dc7e Add status_autoassign to JobOrder entity. Add setting of auto assign status when a JO is requested via API. #406 2020-05-13 08:42:39 +00:00
519ee61ff7 Merge branch '405-mobile-api-advance-order-issues' into 'master'
Fix bug with advance order setting wrong variable #405

Closes #405

See merge request jankstudio/resq!468
2020-05-13 02:57:01 +00:00
0871ca1c1e Fix bug with advance order setting wrong variable #405 2020-05-13 10:49:27 +08:00
48640cbbc2 Merge branch '405-mobile-api-advance-order-issues' into 'master'
Make sure advance order flag sticks #405

Closes #405

See merge request jankstudio/resq!467
2020-05-13 02:29:26 +00:00
75b1d157b6 Make sure advance order flag sticks #405 2020-05-13 10:28:52 +08:00
4802d6187f Merge branch '404-resq-script-to-run-the-generatewarrantyfromjobordercommand' into 'master'
Resolve "Resq - script to run the GenerateWarrantyFromJobOrderCommand"

Closes #404

See merge request jankstudio/resq!453
2020-05-12 01:30:11 +00:00
19527e38da Merge branch '401-resq-modify-warrantyhandler-to-use-date_schedule-for-expiry-date-computation' into 'master'
Resolve "Resq - modify WarrantyHandler to use date_schedule for expiry date computation"

Closes #401

See merge request jankstudio/resq!465
2020-05-12 01:29:36 +00:00
2f80a510b0 Merge branch '400-resq-check-jos-with-no-warranty-entries' into 'master'
Resolve "Resq - check JOs with no warranty entries"

Closes #400

See merge request jankstudio/resq!450
2020-05-12 01:29:18 +00:00
Korina Cordero
e67c011831 Change the start date for warranty expiration computation to date_schedule, instead of date_create or date_fulfilled. #401 2020-05-11 06:50:15 +00:00
f54369d97f Merge branch '403-resq-refactor-setting-of-each-day-in-auto-assign-advance-order-jo' into 'master'
Fix typo in sprintf #403

Closes #403

See merge request jankstudio/resq!464
2020-05-09 14:32:36 +00:00
dc744e7117 Fix typo in sprintf #403 2020-05-09 22:32:01 +08:00
31a9de70da Merge branch '403-resq-refactor-setting-of-each-day-in-auto-assign-advance-order-jo' into 'master'
Fix typo #403

Closes #403

See merge request jankstudio/resq!463
2020-05-09 14:31:26 +00:00
1269774c39 Fix typo #403 2020-05-09 22:30:47 +08:00
072f84a2a4 Merge branch '403-resq-refactor-setting-of-each-day-in-auto-assign-advance-order-jo' into 'master'
Add debug information on next slot #403

Closes #403

See merge request jankstudio/resq!462
2020-05-09 14:30:09 +00:00
f059e2b981 Add debug information on next slot #403 2020-05-09 22:29:30 +08:00
0f579ad0cb Merge branch '403-resq-refactor-setting-of-each-day-in-auto-assign-advance-order-jo' into 'master'
Deplete next rider slot for scheduled order if it overlaps #403

Closes #403

See merge request jankstudio/resq!461
2020-05-09 14:27:48 +00:00
7abe34ee8b Deplete next rider slot for scheduled order if it overlaps #403 2020-05-09 22:26:50 +08:00
77923674e6 Merge branch '403-resq-refactor-setting-of-each-day-in-auto-assign-advance-order-jo' into 'master'
Add debug data for existing advance order slots #403

Closes #403

See merge request jankstudio/resq!460
2020-05-09 13:53:00 +00:00
824f5c3423 Add debug data for existing advance order slots #403 2020-05-09 21:52:17 +08:00
13f928a9f3 Merge branch '403-resq-refactor-setting-of-each-day-in-auto-assign-advance-order-jo' into 'master'
Fix getClosestOpenHubs bug #403

Closes #403

See merge request jankstudio/resq!459
2020-05-09 13:40:40 +00:00
9550e1e46c Fix getClosestOpenHubs bug #403 2020-05-09 21:39:53 +08:00
2bba2430be Merge branch '403-resq-refactor-setting-of-each-day-in-auto-assign-advance-order-jo' into 'master'
Fix bug in hub rider slots initialization #403

Closes #403

See merge request jankstudio/resq!458
2020-05-09 13:11:28 +00:00
c64a78c4b5 Fix bug in hub rider slots initialization #403 2020-05-09 21:10:44 +08:00
71d9cf4f23 Merge branch '403-resq-refactor-setting-of-each-day-in-auto-assign-advance-order-jo' into 'master'
Fix typo for advance order #403

Closes #403

See merge request jankstudio/resq!457
2020-05-09 13:08:53 +00:00
921a7180c8 Fix typo for advance order #403 2020-05-09 21:08:10 +08:00
a60aee7472 Merge branch '403-resq-refactor-setting-of-each-day-in-auto-assign-advance-order-jo' into 'master'
Resolve "Resq - refactor setting of each day in auto-assign advance order JO"

Closes #403

See merge request jankstudio/resq!456
2020-05-09 12:55:03 +00:00
47333acaef Add debug info for hub rider slots data #403 2020-05-09 20:53:20 +08:00
60846e17d6 Refactor scheduling for advance order #403 2020-05-09 20:47:26 +08:00
Korina Cordero
29daf75633 Merge branch 'master' of gitlab.com:jankstudio/resq into 404-resq-script-to-run-the-generatewarrantyfromjobordercommand 2020-05-08 09:40:21 +00:00
Korina Cordero
9dbbe93e31 Create script to run the GenerateWarrantyFromJOCommand per month. #404 2020-05-08 09:38:03 +00:00
dd7771b5ce Merge branch '399-app-advance-order-issues' into 'master'
Fix bug in hub_slots API #399

Closes #399

See merge request jankstudio/resq!455
2020-05-08 09:18:04 +00:00
2df5bdc080 Fix bug in hub_slots API #399 2020-05-08 17:17:27 +08:00
5eff2d4f76 Merge branch '399-app-advance-order-issues' into 'master'
Make hub slot computation easier #399

Closes #399

See merge request jankstudio/resq!454
2020-05-08 09:00:54 +00:00
475d91bc9e Make hub slot computation easier #399 2020-05-08 16:58:36 +08:00
d09ea18098 Merge branch '399-app-advance-order-issues' into 'master'
Change no hub message for API #399

Closes #399

See merge request jankstudio/resq!452
2020-05-08 06:32:47 +00:00
39dc9eff80 Change no hub message for API #399 2020-05-08 14:29:00 +08:00
Korina Cordero
78136cc281 Add output file for existing warranties and invalid plate numbers. #400 2020-05-08 05:30:27 +00:00
3c3bb31ee2 Merge branch '399-app-advance-order-issues' into 'master'
Fix advance order setting #399

Closes #399

See merge request jankstudio/resq!451
2020-05-08 00:58:20 +00:00
Korina Cordero
24d297b48f Add error log if JO fulfillment cannot created the warranty. Fix for warranty creation issues when creating warranty from existing JO. #400 2020-05-07 11:13:43 +00:00
6476a96c06 Fix advance order setting #399 2020-05-06 18:24:29 +08:00
906fc76ff3 Merge branch '398-filter-numbers-for-sms-warranty-sending' into 'master'
Resolve "Filter numbers for sms warranty sending"

Closes #398

See merge request jankstudio/resq!449
2020-05-05 03:09:11 +00:00
Korina Cordero
258a379b68 Add filter for 9900000000 number. #398 2020-05-05 03:07:08 +00:00
7faa6f3a1d Merge branch '394-warranty-expiration-sms-reminder' into 'master'
Activate actual sending of warranty SMS and change configuration to point to live DR URL #394

Closes #394

See merge request jankstudio/resq!448
2020-05-04 10:35:36 +00:00
e123008061 Activate actual sending of warranty SMS and change configuration to point to live DR URL #394 2020-05-04 18:34:42 +08:00
634296f9bc Merge branch '394-warranty-expiration-sms-reminder' into 'master'
Resolve "Warranty expiration sms reminder"

Closes #394

See merge request jankstudio/resq!447
2020-05-04 10:05:53 +00:00
f384c5d940 Merge branch 'master' of gitlab.com:jankstudio/resq into 394-warranty-expiration-sms-reminder 2020-05-04 18:05:15 +08:00
46da9b6bfd Add details to message #394 2020-05-04 18:04:56 +08:00
0b4702840b Merge branch '397-resq-sms-sent-report' into 'master'
Add index for date_create. #397

Closes #397

See merge request jankstudio/resq!446
2020-05-04 09:02:11 +00:00
Korina Cordero
8d7e0664ee Add index for date_create. #397 2020-05-04 08:46:38 +00:00
9018d1a294 Merge branch '397-resq-sms-sent-report' into 'master'
Resolve "Resq - SMS sent report"

Closes #397

See merge request jankstudio/resq!445
2020-05-04 08:12:44 +00:00
Korina Cordero
143c471a48 Add report for SMS messages. #397 2020-05-04 08:05:50 +00:00
1a78320ca9 Fix when date is not speicifed in warranty:sms command #394 2020-05-04 11:34:34 +08:00
e8446cd181 Merge branch '394-warranty-expiration-sms-reminder' of gitlab.com:jankstudio/resq into 394-warranty-expiration-sms-reminder 2020-05-04 11:31:00 +08:00
82baef50ee Make checks for mobile number format #394 2020-05-04 11:30:43 +08:00
Korina Cordero
81f8bf84d3 Made date an optional argument to command. #394 2020-05-04 03:23:04 +00:00
Korina Cordero
416441c572 Merge branch '394-warranty-expiration-sms-reminder' of gitlab.com:jankstudio/resq into 394-warranty-expiration-sms-reminder 2020-05-04 03:07:48 +00:00
cb95705848 Add command for sending warranty SMS #394 2020-05-04 11:05:28 +08:00
6abd8cacae Merge branch '394-warranty-expiration-sms-reminder' into 'master'
Have sms search for message_id instead of id #394

Closes #394

See merge request jankstudio/resq!444
2020-05-03 15:03:25 +00:00
0d50c864d6 Have sms search for message_id instead of id #394 2020-05-03 23:02:47 +08:00
54c0882b01 Merge branch '394-warranty-expiration-sms-reminder' into 'master'
Fix bug in dr_url passing #394

Closes #394

See merge request jankstudio/resq!443
2020-05-03 14:58:28 +00:00
106a38499d Fix bug in dr_url passing #394 2020-05-03 22:57:47 +08:00
89c18eda1c Merge branch '394-warranty-expiration-sms-reminder' into 'master'
Resolve "Warranty expiration sms reminder"

Closes #394

See merge request jankstudio/resq!442
2020-05-03 14:51:59 +00:00
d189b8eb18 Fix SMS delivery receipt functionality #394 2020-05-03 22:50:56 +08:00
dd2ddb0323 Merge branch '395-resq-api-bug-fixes' into 'master'
Add message field for version check #395

Closes #395

See merge request jankstudio/resq!441
2020-05-01 07:30:32 +00:00
7043f0c483 Add message field for version check #395 2020-05-01 15:29:24 +08:00
97915c22fe Merge branch '395-resq-api-bug-fixes' into 'master'
Replace flag_advance_order check with 1 instead of 'true' #395

Closes #395

See merge request jankstudio/resq!440
2020-05-01 07:01:18 +00:00
50e38e1e4b Replace flag_advance_order check with 1 instead of 'true' #395 2020-05-01 14:58:59 +08:00
0ef04e68a3 Merge branch '395-resq-api-bug-fixes' into 'master'
Set some defaults to null in get vehicles #395

Closes #395

See merge request jankstudio/resq!439
2020-05-01 06:30:46 +00:00
381323a07e Set some defaults to null in get vehicles #395 2020-05-01 14:29:40 +08:00
434cedf206 Merge branch '384-make-map-tile-server-configurable' of gitlab.com:jankstudio/resq into 394-warranty-expiration-sms-reminder 2020-05-01 14:05:57 +08:00
ff6b4da4df Save records of sms messages when sending #384 2020-05-01 14:03:27 +08:00
976fca1261 Merge branch '393-api-warranty-bug' into 'master'
Resolve "API Warranty bug"

Closes #393

See merge request jankstudio/resq!438
2020-04-30 08:22:44 +00:00
Korina Cordero
ce5a9cb79d Fix when name is null when returning customer vehicle info. #393 2020-04-30 08:08:33 +00:00
13d3cfd3ee Merge branch '392-resq-new-api-calls-for-version-check-and-display-order-screen' into 'master'
Add scheduleOptionStatus API call. #392

Closes #392

See merge request jankstudio/resq!437
2020-04-30 07:35:21 +00:00
Korina Cordero
7d4212195d Remove error_log. #392 2020-04-30 07:34:20 +00:00
Korina Cordero
ae17b23b2c Adjust the timecheck #392 2020-04-30 07:32:37 +00:00
Korina Cordero
6effa53997 Improve the time checking. #392 2020-04-30 07:26:12 +00:00
Korina Cordero
da16bf54a3 Add scheduleOptionStatus API call. #392 2020-04-30 07:17:34 +00:00
6ecc1166e3 Merge branch '392-resq-new-api-calls-for-version-check-and-display-order-screen' into 'master'
Resolve "Resq - new API calls for version check and display order screen"

Closes #392

See merge request jankstudio/resq!436
2020-04-30 07:03:01 +00:00
Korina Cordero
b66ebf7eeb Fix when no hubs are found. #392 2020-04-30 07:00:25 +00:00
Korina Cordero
b3b46bca7b Add versionCheck API call. #392 2020-04-30 05:38:41 +00:00
4d7455a058 Merge branch '391-resq-app-changes' into 'master'
Resolve "Resq - App Changes"

Closes #391

See merge request jankstudio/resq!435
2020-04-30 03:19:07 +00:00
Korina Cordero
9921f9d69f Modify rider slots to be normal array. Fix label for the lunch break slot. Rename label. #391 2020-04-30 03:09:21 +00:00
3716a9a881 Merge branch '389-resq-new-api-calls-for-advance-order-slots' into 'master'
Resolve "Resq - new API calls for advance order slots"

Closes #389

See merge request jankstudio/resq!433
2020-04-29 10:52:32 +00:00
f180214876 Merge branch '390-resq-modifications-to-importsapbatterycommand' into 'master'
Resolve "Resq - modifications to ImportSAPBatteryCommand"

Closes #390

See merge request jankstudio/resq!434
2020-04-29 08:43:22 +00:00
Korina Cordero
2a2cde8a2d Modify the message for clarity. #390 2020-04-29 08:24:07 +00:00
Korina Cordero
f030eeef2a Add newRequestJobOrder API call. #389 2020-04-28 09:08:48 +00:00
Korina Cordero
383fc1ee0a Modify input parameter for getNearestHubAndSlots. Add 4-5 PM shift. Add slot id to response. Remove unused code. #389 2020-04-27 09:19:21 +00:00
Korina Cordero
9e9c5759bb Fix issues found during testing for getNearestHubsAndSlots 2020-04-27 07:49:52 +00:00
Korina Cordero
ede1d04123 Add API call to get nearest hubs and slots. #389 2020-04-24 09:32:46 +00:00
53fc34739d Merge branch '384-make-map-tile-server-configurable' into 'master'
Resolve "Make map tile server configurable"

Closes #384

See merge request jankstudio/resq!432
2020-04-23 10:17:53 +00:00
1287fff597 Merge branch '388-resq-jo-details-report-fixes' into 'master'
Resolve "Resq - JO details report fixes"

Closes #388

See merge request jankstudio/resq!431
2020-04-23 09:50:09 +00:00
Korina Cordero
7c4f452a40 Fix serial number in JO details report. #388 2020-04-23 08:16:09 +00:00
70de3bcbae Merge branch '386-resq-comment-out-auto-assign-with-advance-order' into 'master'
Resolve "Resq - comment out auto assign with advance order"

Closes #386

See merge request jankstudio/resq!429
2020-04-23 03:17:23 +00:00
Korina Cordero
61278c81a4 Commented out auto assign advance order JO. #386 2020-04-23 03:15:12 +00:00
38e0b8a204 Merge branch '385-resq-jo-report-changes' into 'master'
Resolve "Resq - JO report changes"

Closes #385

See merge request jankstudio/resq!428
2020-04-22 11:41:34 +00:00
Korina Cordero
47a8f2dec1 Added the requested columns for the JO Details Report. #385 2020-04-22 10:37:16 +00:00
f13fab2344 Add map tiler api key in .env #384 2020-04-22 16:11:31 +08:00
f073baf518 Shift to maptiler and have the api key in the .env #384 2020-04-22 16:10:35 +08:00
Korina Cordero
920400076d Modify the JO Details Report. #385 2020-04-22 07:52:08 +00:00
031e2aa380 Merge branch '383-resq-bug-fixes-for-advance-order' into 'master'
Resolve "Resq - bug fixes for advance order"

Closes #383

See merge request jankstudio/resq!427
2020-04-21 08:38:13 +00:00
Korina Cordero
175b5855d3 Fix typo in JO status. #383 2020-04-21 08:33:15 +00:00
Korina Cordero
da151245c9 Fix typo in JO status. #383 2020-04-21 08:29:05 +00:00
Korina Cordero
a0c4c2f136 Set start time of advance order to 5 PM. #383 2020-04-21 08:23:55 +00:00
Korina Cordero
b4c234e5dd Fix issue of wrong JO status set. Add descriptive notes for JOStatus. #382 2020-04-21 08:12:46 +00:00
Korina Cordero
daa25091db Merge branch 'master' of gitlab.com:jankstudio/resq into 382-resq-earlier-start-time-for-advance-order-for-testing-purposes 2020-04-21 06:45:20 +00:00
Korina Cordero
a55fe79fd6 Set start time of advance job order to 2 PM. #382 2020-04-21 06:44:27 +00:00
5741d891df Merge branch '381-resq-auto-assign-with-advance-order' into 'master'
Resolve "Resq - auto-assign with advance order"

Closes #381

See merge request jankstudio/resq!426
2020-04-21 04:40:48 +00:00
Korina Cordero
b8dbe5eb07 Fix error when saving hub in HubController. #382 2020-04-21 04:13:02 +00:00
Korina Cordero
0f5a6a1863 Fix error when saving hub in HubController. #382 2020-04-21 04:12:04 +00:00
359cd52db9 Merge branch '380-resq-mobile-customer-icon-wrong-color-in-realtime-update' into 'master'
Resolve "Resq - mobile customer icon wrong color in realtime update"

Closes #380

See merge request jankstudio/resq!425
2020-04-21 03:59:08 +00:00
Korina Cordero
21700e7922 Modify auto-assign with advance order, based on code review. #381 2020-04-21 03:23:23 +00:00
Korina Cordero
a7b5bf18ff Add hub assignment for advance order job orders. #381 2020-04-20 13:08:24 +00:00
Korina Cordero
c7af1c1592 Add rider_slots to hub. #381 2020-04-20 03:37:40 +00:00
Korina Cordero
cc055f34f9 Merge branch '380-resq-mobile-customer-icon-wrong-color-in-realtime-update' of gitlab.com:jankstudio/resq into 381-resq-auto-assign-with-advance-order 2020-04-20 01:56:34 +00:00
7dee59782a Merge branch '379-resq-jo-and-jo-event-report' into 'master'
Resolve "Resq - JO and JO Event Report"

Closes #379

See merge request jankstudio/resq!424
2020-04-17 10:32:26 +00:00
Korina Cordero
f33a253cea Add transaction origin to mqtt message. #380 2020-04-17 06:07:32 +00:00
Korina Cordero
a30f9b2ce8 Modify how mobile customer markers are loaded when dashboard map is loaded. #380 2020-04-17 05:17:00 +00:00
Korina Cordero
88a45034f9 Add jo events report. #379 2020-04-16 09:08:35 +00:00
Korina Cordero
3caf23b57d Add job order details report. #379 2020-04-16 07:17:18 +00:00
Korina Cordero
e96fd6d7fb Merge branch '377-resq-bug-fixes' of gitlab.com:jankstudio/resq into 379-resq-jo-and-jo-event-report 2020-04-16 07:16:08 +00:00
Korina Cordero
932bd7c770 Add mobile customer layer to the dashboard map. 2020-04-15 07:32:05 +00:00
0cb3a137fa Merge branch '378-advance-order-auto-assign-algorithm' into 'master'
Resolve "Advance order auto assign algorithm"

Closes #378

See merge request jankstudio/resq!423
2020-04-15 07:18:01 +00:00
b7b38d138b Fix comment for checking advance order #378 2020-04-15 15:17:12 +08:00
7aebe13d1f Have battery services use the findNearestHub method without inventory check #378 2020-04-15 13:12:23 +08:00
5eef2df4e0 Check advance orders within 2 hours of order coming in before auto assigning #378 2020-04-15 13:11:04 +08:00
555d0dd3e7 Merge branch '377-resq-bug-fixes' into 'master'
Resolve "Resq - bug fixes"

Closes #377

See merge request jankstudio/resq!422
2020-04-15 03:50:25 +00:00
Korina Cordero
5460b216aa Change function name from updateJobOrder to openEditJobOrder. #377 2020-04-15 03:49:31 +00:00
e26f2dc7f8 Merge branch '374-auto-assign-hub-and-rider' into 'master'
Resolve "Auto-assign hub and rider"

Closes #374

See merge request jankstudio/resq!420
2020-04-15 03:34:57 +00:00
Korina Cordero
4fd8292d2e Fix JO link in dashboard for resq. #377 2020-04-15 03:21:47 +00:00
Korina Cordero
db46e5134f Fix for the JO event logs and status issues when editing a JO. #377 2020-04-14 09:18:13 +00:00
Korina Cordero
ea7908a18e Fix for access. #377 2020-04-14 08:06:17 +00:00
Korina Cordero
b545750910 Add customer distance limit to .env and checking if hub within the limit. #377 2020-04-14 07:21:10 +00:00
Korina Cordero
7bf9a7435c Bug fix for access. Add API logging to CMB services to avoid breakage. #377 2020-04-14 05:23:21 +00:00
Korina Cordero
ac3c442ddc Add API logging to resq's services.yaml. #377 2020-04-14 05:07:04 +00:00
cdbf817db8 Remove permission check for incoming customer vehicle search #374 2020-04-14 12:10:50 +08:00
Korina Cordero
a738aac7e7 Add fix for bug. #374 2020-04-14 02:57:41 +00:00
Korina Cordero
06d0e21b1d Add access to tier 1 to customer vehicle search. #374 2020-04-14 02:48:55 +00:00
Korina Cordero
48e95ee581 Add .env variable and checking of variable when logging API events. #374 2020-04-14 02:24:52 +00:00
32b4c8546d Make rider available when they arrive at hub #374 2020-04-13 21:10:29 +08:00
46f46436fe Tag rider as unavailable on rapi payment call #374 2020-04-13 20:56:46 +08:00
Korina Cordero
64b533b2df Add JO event creation and notifications when JO is auto assigned a hub and rider. #374 2020-04-13 02:50:20 +00:00
51ad36b272 Fix bug in api request jo #374 2020-04-11 19:01:04 +08:00
1ee744eba0 Add all other services to auto assign hub / rider #374 2020-04-11 18:37:35 +08:00
9c0f86e588 Filter only open hubs for API autoassign #374 2020-04-11 11:44:45 +08:00
3cc20c7410 Fix typo in api logger #374 2020-04-10 21:17:31 +08:00
63bb887370 Add request information in API logging #374 2020-04-10 21:14:45 +08:00
1e23f0cd55 Log API controller responses to enable us to debug #374 2020-04-10 20:18:36 +08:00
Korina Cordero
e1b27dea9a Add branch_code and status_open to hub form. #374 2020-04-08 10:11:43 +00:00
Korina Cordero
8619c49397 Add the status_open field in Hub. #374 2020-04-08 09:39:42 +00:00
Korina Cordero
917459f228 Comment out call to inventory manager. #374 2020-04-08 09:31:28 +00:00
Korina Cordero
ab6ed4a185 Add auto assignment of hub and rider to APIController. #374 2020-04-08 07:34:28 +00:00
Korina Cordero
6c02c30370 Update function name. Add checking for empty response in getBranchesInventory. #374 2020-04-08 02:32:16 +00:00
Korina Cordero
eb5710b846 Create InventoryManager service to connect to API. #374 2020-04-07 10:10:44 +00:00
Korina Cordero
0e09705c1d Merge branch 'master' of gitlab.com:jankstudio/resq into 374-auto-assign-hub-and-rider 2020-04-07 03:27:59 +00:00
Korina Cordero
c62775c990 Moved the autoAssign code into a service. #374 2020-04-07 03:27:39 +00:00
4b650e8a57 Merge branch '364-cmb-fix-top-bar-not-appearing-in-dashboard' into 'master'
Add z-index to dashboard map to allow for user and reports menu #364

Closes #364

See merge request jankstudio/resq!421
2020-04-07 03:25:14 +00:00
42abdd8097 Add z-index to dashboard map to allow for user and reports menu #364 2020-04-07 11:24:23 +08:00
Korina Cordero
9a661763a0 Add auto assign to controller. #374 2020-04-06 09:46:54 +00:00
d77574bc13 Merge branch '373-make-motolite-default-skin' into 'master'
Resolve "Make Motolite default skin"

Closes #373

See merge request jankstudio/resq!419
2020-04-03 07:53:28 +00:00
Korina Cordero
74ed1a72b6 Made Resq default skin. #373 2020-04-03 07:49:37 +00:00
e3cb53cb78 Merge branch '270-final-cmb-fixes' into 'master'
Resolve "Final CMB Fixes"

Closes #270

See merge request jankstudio/resq!418
2020-04-03 02:54:28 +00:00
79a1c46cee Merge branch '329-transition-branch-for-cmb-and-resq-merging' into 'master'
Resolve "Transition branch for CMB and Resq merging"

Closes #329

See merge request jankstudio/resq!370
2020-04-03 02:49:25 +00:00
Korina Cordero
615b5a3390 Merge branch 'master' of gitlab.com:jankstudio/resq into 329-transition-branch-for-cmb-and-resq-merging 2020-04-03 02:32:07 +00:00
440cf35cf2 Merge branch '366-cmb-access-for-getcustomervehicles-2' into '270-final-cmb-fixes'
Resolve "CMB - access for getCustomerVehicles"

See merge request jankstudio/resq!411
2020-04-03 02:01:49 +00:00
8f72cc4486 Merge branch '372-api-call-get-list-of-warranties-given-list-of-serial-numbers' into 'master'
Resolve "API call - get list of warranties given list of serial numbers"

Closes #372

See merge request jankstudio/resq!417
2020-04-02 04:02:09 +00:00
Korina Cordero
1dac0c506e Remove message. #372 2020-04-02 04:01:08 +00:00
Korina Cordero
135ab10cd3 Add to response the list of serials with no warranties. #372 2020-04-02 03:58:21 +00:00
2c54a62442 Merge branch '371-imporsapbatterycommand-modifications' into 'master'
Resolve "ImportSAPBAtteryCommand modifications"

Closes #371

See merge request jankstudio/resq!416
2020-04-02 03:36:37 +00:00
Korina Cordero
719cccf778 Add API call to get warranties when given a list of serial numbers. #372 2020-04-02 03:33:02 +00:00
Korina Cordero
c38eb147c8 Add logging of duplicate entries when importing SAP batteries. #371 2020-04-01 08:33:25 +00:00
Korina Cordero
1829e9112e Add error_logging in case of duplicate SAP battery. #371 2020-04-01 04:30:08 +00:00
35f237f3fa Merge branch '368-cmb-list-all-active-jobs-of-rider-on-dashboard-popup-when-clicking-on-rider-icon' into '270-final-cmb-fixes'
Resolve "CMB - list all active jobs of rider on dashboard popup when clicking on rider icon"

See merge request jankstudio/resq!414
2020-03-10 09:19:33 +00:00
Korina Cordero
a3c9c16d51 Restore active job order for rider. #368 2020-03-10 09:15:11 +00:00
Korina Cordero
9327f02623 Display active job orders of rider. #368 2020-03-10 09:07:01 +00:00
4f8568fe04 Merge branch '369-cmb-rename-delivery-instructions-in-one-step-and-walk-in-form-to-carfix-details' into '270-final-cmb-fixes'
Resolve "CMB - rename delivery instructions in one-step and walk-in form to "CarFix Details""

See merge request jankstudio/resq!413
2020-03-10 08:23:00 +00:00
Korina Cordero
63210ab463 Rename Delivery Instructions to CarFix Details. #369 2020-03-10 08:16:53 +00:00
c0595684d6 Merge branch '367-cmb-plate-number-required-if-new-customer-or-car' into '270-final-cmb-fixes'
Resolve "CMB - plate number required if new customer or car"

See merge request jankstudio/resq!412
2020-03-10 06:23:04 +00:00
Korina Cordero
d61d82b6e7 Add default value false to checking for new customer. #367 2020-03-10 06:22:25 +00:00
Korina Cordero
c4da604ac8 Made plate number a required field if new customer. #367 2020-03-10 06:07:29 +00:00
8e3df8f1c4 Treat blank serial as null to avoid unique exception in db #270 2020-03-06 07:42:00 +08:00
e4b8e44b06 Merge branch '270-final-cmb-fixes' of gitlab.com:jankstudio/resq into 270-final-cmb-fixes 2020-03-05 23:53:24 +08:00
60fb331b47 Fix role controller issue on saving #270 2020-03-05 23:52:40 +08:00
Korina Cordero
6a7cb9788e Fix access to customer vehicle search for walkin and one step. #366 2020-03-05 08:36:24 +00:00
5f6e89f10b Merge branch '365-cmb-add-columns-to-open-and-view-all-pages' into '270-final-cmb-fixes'
Resolve "CMB - add columns to Open and View All pages"

See merge request jankstudio/resq!408
2020-03-05 07:41:16 +00:00
Korina Cordero
1dd476fba9 Merge branch '365-cmb-add-columns-to-open-and-view-all-pages' of gitlab.com:jankstudio/resq into 366-cmb-access-for-getcustomervehicles-2 2020-03-05 07:29:22 +00:00
Korina Cordero
2e884ff577 Add additional columns to list of open JOs. #365 2020-03-05 07:22:38 +00:00
Korina Cordero
624cf2fb7d Return the additional values to template. #365 2020-03-05 07:17:03 +00:00
Korina Cordero
dafe7e6b1c Modify access to getCustomerVehicles. #366 2020-03-05 06:53:26 +00:00
Korina Cordero
e93b6432b0 Add view all form for cmb. #365 2020-03-05 06:26:50 +00:00
511d971814 Merge branch '362-cmb-fix-dashboard-status-change' into '270-final-cmb-fixes'
Make sure rider's active jo is in an open status #362

See merge request jankstudio/resq!407
2020-03-05 01:21:27 +00:00
bf535e37f5 Make sure rider's active jo is in an open status #362 2020-03-05 09:20:16 +08:00
d2a4b95805 Merge branch '362-cmb-fix-dashboard-status-change' into '270-final-cmb-fixes'
Update rider status when job order status is changed #362

See merge request jankstudio/resq!406
2020-03-05 00:58:36 +00:00
de9e803ad4 Update rider status when job order status is changed #362 2020-03-05 08:57:32 +08:00
a3f628efe6 Merge branch '362-cmb-fix-dashboard-status-change' into '270-final-cmb-fixes'
Support rider status changes in dashboard map #362

See merge request jankstudio/resq!405
2020-03-05 00:12:36 +00:00
2e3c879fd5 Support rider status changes in dashboard map #362 2020-03-05 07:15:26 +08:00
7124a7d2c8 Merge branch '360-cmb-allow-reordering-of-rider-jo' into '270-final-cmb-fixes'
Resolve "CMB: Allow reordering of rider JO"

See merge request jankstudio/resq!403
2020-03-02 00:35:04 +00:00
977559b88d Set priority properly for job order and handle priority down button #360 2020-03-02 08:33:50 +08:00
07753274c3 Add initial job order prioritization features #360 2020-03-01 22:14:13 +08:00
ebc9b77eda Merge branch '270-final-cmb-fixes' of gitlab.com:jankstudio/resq into 360-cmb-allow-reordering-of-rider-jo
Conflicts:
	src/Entity/JobOrder.php
2020-02-29 23:40:10 +08:00
1ab5909dfd Add priority field for JobOrder #360 2020-02-29 23:38:05 +08:00
3496976bf5 Merge branch '358-cmb-clear-battery-details-when-new-customer-toggle-is-turned-on' into '270-final-cmb-fixes'
Resolve "CMB - clear Battery Details when New Customer toggle is turned on"

See merge request jankstudio/resq!402
2020-02-27 05:25:02 +00:00
0d148d8d50 Merge branch '359-cmb-remove-color-from-jo-pdf' into '270-final-cmb-fixes'
Resolve "CMB - remove color from JO pdf"

See merge request jankstudio/resq!401
2020-02-27 05:24:30 +00:00
074a85a535 Merge branch '357-transition-fix-resq-s-geteditroute' into '270-final-cmb-fixes'
Resolve "TRANSITION - fix resq's getEditRoute"

See merge request jankstudio/resq!400
2020-02-27 04:59:18 +00:00
Korina Cordero
a0f7ca6abe Fix editRoute parameters for CMB. #357 2020-02-27 02:07:30 +00:00
Korina Cordero
2ab0055286 Clear battery details when New Customer toggle is on. #358 2020-02-25 09:09:51 +00:00
Korina Cordero
164e091c15 Remove color field from pdf form. #359 2020-02-25 08:39:30 +00:00
Korina Cordero
3d40bc6238 Remove links to onestep edit from templates for resq. Fix for getEditRoute issues found during testing. #357 2020-02-25 07:18:55 +00:00
Korina Cordero
6d14677bd7 Merge branch '270-final-cmb-fixes' of gitlab.com:jankstudio/resq into 357-transition-fix-resq-s-geteditroute 2020-02-25 03:38:18 +00:00
Korina Cordero
d534ce3241 Add getEditRoute for resq. #357 2020-02-25 03:37:58 +00:00
5b19302752 Merge branch '354-cmb-and-resq-move-invoice-related-code-out-of-jocontroller' into '270-final-cmb-fixes'
Resolve "CMB and Resq - move invoice-related code out of JOController"

See merge request jankstudio/resq!395
2020-02-25 03:35:53 +00:00
Korina Cordero
22be1eaf5a Fix edit for walkin JOs. #270 2020-02-24 10:33:13 +00:00
Korina Cordero
4700d2b840 Remove link to list of JOs ready to be fulfilled. #270 2020-02-24 09:28:38 +00:00
214e44405c Merge branch '270-final-cmb-fixes' of gitlab.com:jankstudio/resq into 270-final-cmb-fixes
Conflicts:
	src/Controller/JobOrderController.php
2020-02-24 16:45:43 +08:00
1a0fb13268 Fix view all edit button to use one step edit for CMB #270 2020-02-24 16:43:27 +08:00
1d33974451 Merge branch '355-cmb-display-amount-when-loading-existing-service-charges' into '270-final-cmb-fixes'
Add jo_service_charges to one step form. #355

See merge request jankstudio/resq!398
2020-02-24 08:01:11 +00:00
Korina Cordero
230dd41055 Add jo_service_charges to one step form. #355 2020-02-24 07:57:43 +00:00
506908d266 Merge branch '355-cmb-display-amount-when-loading-existing-service-charges' into '270-final-cmb-fixes'
Resolve "CMB - display amount when loading existing service charges"

See merge request jankstudio/resq!396
2020-02-24 03:08:50 +00:00
Korina Cordero
4b9b3622d5 Fix to display service charge amount when loading an existing JO. #355 2020-02-24 03:06:47 +00:00
Korina Cordero
311cea8d48 Merge branch '329-transition-branch-for-cmb-and-resq-merging' of gitlab.com:jankstudio/resq into 355-cmb-display-amount-when-loading-existing-service-charges 2020-02-24 02:43:43 +00:00
Korina Cordero
e93e0dd943 Bug fix for loading JO form for edit. #354 2020-02-21 05:10:11 +00:00
Korina Cordero
9125a0d2fa Moved invoice code out of JO controller. #354 2020-02-21 03:22:17 +00:00
39b9e50654 Merge branch '353-cmb-have-edit-go-to-onestep-edit' into '270-final-cmb-fixes'
Resolve "CMB - Have edit go to onestep edit"

See merge request jankstudio/resq!394
2020-02-21 00:54:25 +00:00
Korina Cordero
4a12fb6eb2 Change edit to edit onestep edit and walkin. #353 2020-02-20 04:12:12 +00:00
ffa25d6c79 Merge branch '347-cmb-fix-jo-form-display-when-loading-jo-from-view-all' into '270-final-cmb-fixes'
Resolve "CMB - fix JO form display when loading JO from View All"

See merge request jankstudio/resq!393
2020-02-19 08:37:49 +00:00
Korina Cordero
cbd9f429d4 Fixed form for walkin when JO is loaded from View All. #347 2020-02-19 06:46:26 +00:00
Korina Cordero
5ab6514a86 Fixed form for onestep when JO is loaded from View All. #347 2020-02-19 06:29:31 +00:00
bbeec52c60 Merge branch '348-cmb-service-charge-maintenance' into '270-final-cmb-fixes'
Resolve "CMB - service charge maintenance"

See merge request jankstudio/resq!391
2020-02-19 05:29:24 +00:00
03d2133716 Merge branch '334-trans-make-env-entry-for-disabling-dashboard' into '329-transition-branch-for-cmb-and-resq-merging'
Resolve "TRANS - make .env entry for disabling dashboard"

See merge request jankstudio/resq!392
2020-02-19 05:26:08 +00:00
Korina Cordero
7b5239e548 Add checking for dashboard_enable. #334 2020-02-19 05:22:57 +00:00
Korina Cordero
1374a91dd4 Add checking for transaction origin. #347 2020-02-19 05:02:21 +00:00
Korina Cordero
524378f6e0 Add dashboard_enable to .env.dist. #334 2020-02-19 04:21:34 +00:00
Korina Cordero
a62476a833 Add create, update, list, and delete for service charges. #348 2020-02-19 03:16:27 +00:00
3cd6b16497 Merge branch '349-cmb-menu-for-cmb-only' into '270-final-cmb-fixes'
Resolve "CMB - menu for CMB only"

See merge request jankstudio/resq!390
2020-02-19 01:13:20 +00:00
Korina Cordero
15fa7aafc6 Fix display of discount for walkin form when reset button for invoice is clicked. #270 2020-02-18 03:55:11 +00:00
Korina Cordero
8306e9db4f Create separate menu.yaml files for Resq and CMB. #349 2020-02-18 03:35:34 +00:00
Korina Cordero
688ccd8a91 Fix display of discount when reset button for invoice is clicked. #270 2020-02-18 02:29:22 +00:00
e48e86340a Fix bug in one step form #270 2020-02-18 10:06:44 +08:00
8e73c16b74 Fix typo in js for one step form #270 2020-02-18 10:05:59 +08:00
77fe7e8521 Remove service charges when invoice is reset in one step form #270 2020-02-18 10:03:43 +08:00
39fdf318d4 Make getMeta in JobOrder entity return null if meta key is not found #270 2020-02-18 09:55:13 +08:00
0f106ea790 Fix service charges bug in one step form #270 2020-02-18 09:52:51 +08:00
1c9ce12595 Merge branch '341-cmb-add-service-charge-dropdown' into '270-final-cmb-fixes'
Resolve "CMB - add service charge dropdown"

See merge request jankstudio/resq!387
2020-02-18 01:43:00 +00:00
Korina Cordero
ebc6867c8f Edit for one step JO with service charges. #341 2020-02-18 01:42:16 +00:00
Korina Cordero
9a24b08bdd Display existing service charges when editing one step JO. #341 2020-02-18 01:15:14 +00:00
d2afb99f4f Merge branch '344-cmb-rider-queue-management' into '270-final-cmb-fixes'
Add active job order feature for rider #344

See merge request jankstudio/resq!388
2020-02-17 17:01:50 +00:00
def4ed0357 Add active job order feature for rider #344 2020-02-18 01:00:19 +08:00
Korina Cordero
504d910621 Add saving to meta even if service charges are blank. #341 2020-02-17 14:56:35 +00:00
Korina Cordero
f9c304422c Add fix when saving an invoice with no service charges. #341 2020-02-17 14:43:21 +00:00
Korina Cordero
0cff722c6a Add saving of service charges to JO and Invoice Item. #341 2020-02-17 14:18:19 +00:00
Korina Cordero
f3f941e0a0 Add service charges to invoice generation. #341 2020-02-17 13:24:32 +00:00
Korina Cordero
115c207868 Add sending of service charge ids to generate invoice. #341 2020-02-17 12:21:18 +00:00
4ae899925d Merge branch '341-cmb-add-service-charge-dropdown' of gitlab.com:jankstudio/resq into 341-cmb-add-service-charge-dropdown 2020-02-17 16:13:12 +08:00
Korina Cordero
663698f087 Rename promo to discount in JO service, JO forms, and invoice generator. #341 2020-02-17 08:12:51 +00:00
34e9091297 Fix dropdown for service charges in one-step JO form #341 2020-02-17 16:12:35 +08:00
Korina Cordero
5edbb33b65 Merge branch '341-cmb-add-service-charge-dropdown' of gitlab.com:jankstudio/resq into 341-cmb-add-service-charge-dropdown 2020-02-17 07:46:01 +00:00
Korina Cordero
11bf116e68 Add sql file to populate service charge table. #341 2020-02-17 07:44:04 +00:00
6665c5ca0d Merge branch '341-cmb-add-service-charge-dropdown' of gitlab.com:jankstudio/resq into 341-cmb-add-service-charge-dropdown 2020-02-17 15:25:40 +08:00
147e949aff Add initial UI for service charge support in one step job order form #341 2020-02-17 15:25:12 +08:00
Korina Cordero
6c11650b25 Add service charge entity. #341 2020-02-17 07:20:37 +00:00
6656890fd8 Merge branch '343-cmb-discount' into '270-final-cmb-fixes'
Change computation of discount for CMB. #343

See merge request jankstudio/resq!385
2020-02-17 06:21:50 +00:00
Korina Cordero
984b0428d0 Fix for cmb to retain battery in invoice when editing JO. #343 2020-02-17 06:19:09 +00:00
Korina Cordero
a15b45173c Fix discount computation. #343 2020-02-17 01:02:41 +00:00
Korina Cordero
d439a411a8 Change computation of discount for CMB. #343 2020-02-14 09:40:08 +00:00
d9c3a4dff8 Merge branch '340-cmb-walk-in-customer-form' into '270-final-cmb-fixes'
Resolve "CMB - Walk-in customer form"

See merge request jankstudio/resq!383
2020-02-14 03:46:06 +00:00
Korina Cordero
ac91960bd7 Add mobile phone validation for JO when new customer is created. #340 2020-02-14 03:38:37 +00:00
Korina Cordero
6a944eeb16 Merge branch '270-final-cmb-fixes' of gitlab.com:jankstudio/resq into 340-cmb-walk-in-customer-form 2020-02-14 03:09:57 +00:00
Korina Cordero
bea5d72d13 Modify the function names for walkin. #340 2020-02-14 03:07:42 +00:00
Korina Cordero
034ae108e0 Fix saving issue for JOEvent. #340 2020-02-14 01:47:08 +00:00
Korina Cordero
d07adc606b Add saving of walkin form. #340 2020-02-13 08:53:57 +00:00
Korina Cordero
7e116d8d3e Add function to load walk-in form. #340 2020-02-13 07:32:18 +00:00
Korina Cordero
60203cc7b5 Add routes for walk-in form. #340 2020-02-13 05:11:01 +00:00
3ec6ca0ee1 Merge branch '339-cmb-mobile-phone-validation-check' into '270-final-cmb-fixes'
Resolve "CMB - mobile phone validation check"

See merge request jankstudio/resq!381
2020-02-13 04:33:50 +00:00
512 changed files with 70477 additions and 4325 deletions

View file

@ -15,7 +15,7 @@ APP_SECRET=b344cd6cd151ae1d61403ed55806c5ce
# Configure your db driver and server_version in config/packages/doctrine.yaml
DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name
###< doctrine/doctrine-bundle ###
GMAPS_API_KEY=insertgmapsapikeyhere
GMAPS_API_KEY=insert_gmapsapikey_here
# rising tide sms gateway
RT_USER=rt_user
@ -28,7 +28,7 @@ RT_SHORTCODE=1234
MQTT_IP_ADDRESS=localhost
MQTT_PORT=8883
MQTT_CERT=/location/of/cert/file.crt
MQTT_WS_HOST=insertiphere
MQTT_WS_HOST=insert_ip_here
MQTT_WS_PORT=8083
# redis client
@ -38,20 +38,55 @@ REDIS_CLIENT_PORT=6379
REDIS_CLIENT_PASSWORD=foobared
# privacy policy ids
POLICY_PROMO=insertpromopolicyidhere
POLICY_THIRD_PARTY=insertthirdpartypolicyidhere
POLICY_MOBILE=insertmobilepolicyidhere
POLICY_PROMO=insert_promopolicyid_here
POLICY_THIRD_PARTY=insert_thirdpartypolicyid_here
POLICY_MOBILE=insert_mobilepolicyid_here
# OTP
OTP_MODE=settotestorrandom
OTP_MODE=set_to_test_or_random
# geofence
GEOFENCE_ENABLE=settotrueorfalse
GEOFENCE_ENABLE=set_to_true_or_false
# unknown manufacturer and vehicle ids
CVU_MFG_ID=insertmfgidforunknownvehicles
CVU_BRAND_ID=insertbrandidforunknownvehicles
CVU_MFG_ID=insert_mfgid_for_unknown_vehicles
CVU_BRAND_ID=insert_brandid_for_unknown_vehicles
# country code prefix
COUNTRY_CODE=+insertcountrycodehere
COUNTRY_CODE=+insert_country_code_here
# redis hash
LATEST_ACTIVE_JO=latest_active_jo
# dashboard
DASHBOARD_ENABLE=set_to_true_or_false
# auth token for Inventory API
INVENTORY_API_URL=insert_api_url_here
INVENTORY_API_OCP=insert_ocp_text_here
INVENTORY_API_AUTH_TOKEN_PREFIX=Bearer
INVENTORY_API_AUTH_TOKEN=insert_auth_token_here
# API logging
API_LOGGING=set_to_true_or_false
# customer distance limit in km for mobile
CUST_DISTANCE_LIMIT=5
# customer distance limit in km for admin panel
CUST_DISTANCE_LIMIT_ADMIN_PANEL=5
MAPTILER_API_KEY=map_tiler_api_key
# API version
API_VERSION=insert_api_version_here
#SSL_ENABLE for websockets
SSL_ENABLE=set_to_true_or_false
# for hub filtering round robin
HUB_JO_KEY=hub_jo_count
# hub geofence
HUB_GEOFENCE_ENABLE=set_to_true_or_false
HUB_FILTER_ENABLE=set_to_true_or_false

4
.gitignore vendored
View file

@ -11,3 +11,7 @@
###< symfony/framework-bundle ###
*.swp
/public/warranty_uploads/*
.vscode
*__pycache__
/public/assets/images/insurance-premiums.png

View file

@ -1,9 +0,0 @@
<?php
namespace Catalyst\APIBundle\Access;
use Catalyst\AuthBundle\Service\ACLGenerator as BaseGenerator;
class Generator extends BaseGenerator
{
}

View file

@ -1,10 +0,0 @@
<?php
namespace Catalyst\APIBundle\Access;
use Catalyst\AuthBundle\Service\ACLVoter as BaseVoter;
class Voter extends BaseVoter
{
}

View file

@ -1,9 +0,0 @@
<?php
namespace Catalyst\APIBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class CatalystAPIBundle extends Bundle
{
}

View file

@ -1,142 +0,0 @@
<?php
namespace Catalyst\APIBundle\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface;
use Catalyst\APIBundle\Connector\Client as APIClient;
class TestAPICommand extends Command
{
protected function configure()
{
$this->setName('api:test-connector-all')
->setDescription('Test API connector with all commands.')
->setHelp('Test API Connector with all commands.')
->addArgument('protocol', InputArgument::REQUIRED, 'protocol')
->addArgument('server', InputArgument::REQUIRED, 'server')
->addArgument('api_key', InputArgument::REQUIRED, 'api_key')
->addArgument('secret_key', InputArgument::REQUIRED, 'secret_key');
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$protocol = $input->getArgument('protocol');
$server = $input->getArgument('server');
$api_key = $input->getArgument('api_key');
$secret_key = $input->getArgument('secret_key');
// api client
$api = new APIClient($server, $api_key, $secret_key);
$api->setProtocol($protocol);
// test
$api->get('/capi/test');
// TODO: shift this out of the bundle, since it's project specific
// warranty register
$serial = 'AJ34LJADR12134LKJL5';
$plate_num = 'XEN918';
$params = [
'serial' => $serial,
'plate_number' => $plate_num,
'warranty_class' => 'private',
'sku' => 'WMEB24CB-CPN00-LX',
'date_purchase' => '20181001',
'date_expire' => '20191001',
'first_name' => 'First',
'last_name' => 'Last',
'mobile_number' => '09231234567',
];
//$api->post('/capi/warranties', $params);
// get all warranties
$params = [
'order' => 'DESC',
'limit' => '5',
'start' => '1',
];
$api->get('/capi/warranties', $params);
// warranty find
//$api->get('/capi/warranties/' . $serial);
// warranty update
$id = 86811;
$params = [
'serial' => $serial,
'plate_number' => $plate_num,
'warranty_class' => 'private',
'sku' => 'WMEB24CB-CPN00-LX',
'date_purchase' => '20181001',
'date_expire' => '20191001',
'first_name' => 'First',
'last_name' => 'Last',
'mobile_number' => '123456789111',
];
//$api->post('/capi/warranties/'. $id, $params);
// warranty set privacy policy
$id = 86811;
$policy_id = 2;
$params = [
'privacy_policy_id' => $policy_id,
];
//$api->post('/capi/warranties/' . $id .'/privacypolicy', $params);
// warranty claim
$id = 86811;
$serial = 'AJ34LJADR12134LKJL5';
$params = [
'serial' => $serial,
];
//$api->post('/capi/warranties/' . $id . '/claim', $params);
// warranty cancel
$id = 86811;
//$api->get('/capi/warranties/' . $id . '/cancel');
// plate warranty
//$api->get('/capi/plates/' . $plate_num . '/warranties');
// warranty delete
$id = 86811;
//$api->post('/capi/warranties/' . $id . '/delete');
// battery
//$api->get('/capi/battery_brands');
//$api->get('/capi/battery_sizes');
//$api->get('/capi/batteries');
// vehicle
//$api->get('/capi/vehicle_manufacturers');
//$api->get('/capi/vehicles');
// privacy policy
$privacy_policy_id = 2;
$api->get('/capi/privacy_policy/' . $privacy_policy_id );
// register new customer
$params = [
'first_name' => 'Krispups',
'last_name' =>'Porzindog',
'mobile_number' => '9221111111',
'v_make_id' => '22241',
'v_model_year' => '2018',
'v_plate_number' => 'KPP1234',
'v_color' => 'White',
'v_condition' => 'new',
'v_fuel_type' => 'gas',
];
$api->post('/capi/quick_registration', $params);
}
}

View file

@ -1,104 +0,0 @@
<?php
namespace Catalyst\APIBundle\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface;
use Catalyst\APIBundle\Connector\Client as APIClient;
class TestCommand extends Command
{
protected function configure()
{
$this->setName('api:test-connector')
->setDescription('Test API connector.')
->setHelp('Test API Connector.')
->addArgument('protocol', InputArgument::REQUIRED, 'protocol')
->addArgument('server', InputArgument::REQUIRED, 'server')
->addArgument('api_key', InputArgument::REQUIRED, 'api_key')
->addArgument('secret_key', InputArgument::REQUIRED, 'secret_key');
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$protocol = $input->getArgument('protocol');
$server = $input->getArgument('server');
$api_key = $input->getArgument('api_key');
$secret_key = $input->getArgument('secret_key');
// api client
$api = new APIClient($server, $api_key, $secret_key);
$api->setProtocol($protocol);
// test
$api->get('/capi/test');
// TODO: shift this out of the bundle, since it's project specific
// warranty register
$serial = 'AJ34LJADR12134LKJL5';
$plate_num = 'XEN918';
$params = [
'serial' => $serial,
'plate_number' => $plate_num,
'warranty_class' => 'private',
'sku' => 'WMEB24CB-CPN00-LX',
'date_purchase' => '20181001',
'date_expire' => '20191001',
'first_name' => 'First',
'last_name' => 'Last',
'mobile_number' => '12345678910',
];
$api->post('/capi/warranties', $params);
// get all warranties
$api->get('/capi/warranties');
/*
// warranty find
$api->get('/capi/warranties/' . $serial);
*/
// warranty claim
$id = 86811;
$serial = 'AJ34LJADR12134LKJL';
$params = [
'serial' => $serial,
];
$api->post('/capi/warranties/' . $id . '/claim', $params);
// add battery
$sku = 'WZMB31QT-CPP00-S';
$brand_id = '4';
$size_id = '1';
$params = [
'sku' => $sku,
'brand_id' => $brand_id,
'size_id' => $size_id,
];
$api->post('/capi/batteries', $params);
/*
// plate warranty
$api->get('/capi/plates/' . $plate_num . '/warranties');
// battery
$api->get('/capi/battery_brands');
$api->get('/capi/battery_sizes');
$api->get('/capi/batteries');
// vehicle
// $api->get('/capi/vehicle_manufacturers');
// $api->get('/capi/vehicles');
*/
}
}

View file

@ -1,49 +0,0 @@
<?php
namespace Catalyst\APIBundle\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface;
use Doctrine\ORM\EntityManagerInterface;
use Catalyst\APIBundle\Entity\User;
class UserCreateCommand extends Command
{
protected $em;
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
parent::__construct();
}
protected function configure()
{
$this->setName('api:user-create')
->setDescription('Create new API user.')
->setHelp('Creates new API user and saves to database.')
->addArgument('name', InputArgument::REQUIRED, 'name');
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$name = $input->getArgument('name');
$user = new User();
$user->setName($name);
$this->em->persist($user);
$this->em->flush();
$output->write('API Key - ' . $user->getAPIKey() . "\n");
$output->write('Secret Key - ' . $user->getSecretKey() . "\n");
}
}

View file

@ -1,151 +0,0 @@
<?php
namespace Catalyst\APIBundle\Connector;
use DateTime;
class Client
{
const HEADER_API_KEY = 'X-Cata-API-Key';
const HEADER_SIGNATURE = 'X-Cata-Signature';
const HEADER_DATE = 'X-Cata-Date';
const DATE_FORMAT = 'D, d M Y H:i:s T';
const USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36';
protected $protocol;
protected $server;
protected $port;
protected $api_key;
protected $secret_key;
protected $curl;
public function __construct($server, $api_key, $secret_key)
{
$this->protocol = 'https';
$this->port = null;
$this->server = $server;
$this->api_key = $api_key;
$this->secret_key = $secret_key;
$this->curl = curl_init();
}
public function __destruct()
{
curl_close($this->curl);
}
public function setProtocol($protocol)
{
if ($protocol != 'http' && $protocol != 'https')
return $this;
$this->protocol = $protocol;
return $this;
}
protected function getDateString()
{
$date = new DateTime();
return $date->format(self::DATE_FORMAT);
}
public function get($url, $params = [])
{
curl_reset($this->curl);
$date_string = $this->getDateString();
$headers = $this->generateHeaders('GET', $url, $date_string);
// build query string
if (count($params) > 0)
$query_string = '?' . http_build_query($params);
else
$query_string = '';
// build url
if ($this->port == null)
$full_url = $this->protocol . '://' . $this->server . $url . $query_string;
else
$full_url = $this->protocol . '://' . $this->server . ':' . $this->port . $url . $query_string;
error_log($full_url);
// curl
// curl_setopt($this->curl, CURLOPT_VERBOSE, true);
curl_setopt($this->curl, CURLOPT_URL, $full_url);
curl_setopt($this->curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($this->curl, CURLOPT_USERAGENT, self::USER_AGENT);
curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($this->curl, CURLOPT_TIMEOUT, 0);
$res = curl_exec($this->curl);
error_log($res);
}
public function post($url, $params = [])
{
curl_reset($this->curl);
$date_string = $this->getDateString();
$headers = $this->generateHeaders('POST', $url, $date_string);
// build query string
$query_string = http_build_query($params);
// build url
if ($this->port == null)
$full_url = $this->protocol . '://' . $this->server . $url;
else
$full_url = $this->protocol . '://' . $this->server . ':' . $this->port . $url;
error_log($full_url);
// curl
// curl_setopt($this->curl, CURLOPT_VERBOSE, true);
curl_setopt($this->curl, CURLOPT_URL, $full_url);
curl_setopt($this->curl, CURLOPT_POST, true);
curl_setopt($this->curl, CURLOPT_POSTFIELDS, $query_string);
curl_setopt($this->curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($this->curl, CURLOPT_USERAGENT, self::USER_AGENT);
curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($this->curl, CURLOPT_TIMEOUT, 0);
$res = curl_exec($this->curl);
error_log($res);
}
protected function generateSignature($method, $url, $date_string)
{
$creds = [
$method,
$url,
$date_string,
$this->secret_key,
];
$sig_source = implode('|', $creds);
error_log('SIG SOURCE - ' . $sig_source);
$raw_sig = hash_hmac('sha1', $sig_source, $this->secret_key, true);
$enc_sig = base64_encode($raw_sig);
return $enc_sig;
}
protected function generateHeaders($method, $url, $date_string)
{
$sig = $this->generateSignature($method, $url, $date_string);
$headers = [
self::HEADER_API_KEY . ': ' . $this->api_key,
self::HEADER_SIGNATURE . ': ' . $sig,
self::HEADER_DATE . ': ' . $date_string,
];
return $headers;
}
}

View file

@ -1,42 +0,0 @@
<?php
namespace Catalyst\APIBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
abstract class APIController extends Controller
{
protected function checkRequiredParameters(Request $req, $params = [])
{
$missing = [];
// check if parameters are there
foreach ($params as $param)
{
if ($req->getMethod() == 'GET')
{
$check = $req->query->get($param);
if (empty($check))
$missing[] = $param;
}
// else if ($req->getMethod() == 'POST')
else
{
$check = $req->request->get($param);
//if (empty($check))
if (!isset($check))
$missing[] = $param;
}
}
// check missing parameters
if (count($missing) > 0)
{
$miss_string = implode(', ', $missing);
return 'Missing required parameter(s): ' . $miss_string;
}
return false;
}
}

View file

@ -1,20 +0,0 @@
<?php
namespace Catalyst\APIBundle\DataFixtures;
use Catalyst\APIBundle\Entity\Role;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\Persistence\ObjectManager;
class APIRoleFixtures extends Fixture
{
public function load(ObjectManager $em)
{
// setup super user account
$role = new Role();
$role->setID(Role::SUPER_ADMIN)
->setName('Super Administrator');
$em->persist($role);
$em->flush();
}
}

View file

@ -1,28 +0,0 @@
<?php
namespace Catalyst\APIBundle\Entity;
use Catalyst\AuthBundle\Entity\Role as BaseRole;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* @ORM\Entity
* @ORM\Table(name="api_role")
* @UniqueEntity("id")
* @UniqueEntity("name")
*/
class Role extends BaseRole
{
/**
* @ORM\ManyToMany(targetEntity="User", mappedBy="roles", fetch="EXTRA_LAZY")
*/
protected $users;
public function __construct()
{
parent::__construct();
}
}

View file

@ -1,148 +0,0 @@
<?php
namespace Catalyst\APIBundle\Entity;
use Catalyst\AuthBundle\Entity\User as BaseUser;
use Symfony\Component\Security\Core\User\UserInterface;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\JoinColumn;
use Doctrine\Common\Collections\ArrayCollection;
use DateTime;
/**
* @ORM\Entity
* @ORM\Table(name="api_user")
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
// api key
/**
* @ORM\Column(type="string", length=32)
*/
protected $api_key;
// secret key
/**
* @ORM\Column(type="string", length=32)
*/
protected $secret_key;
/**
* @ORM\Column(type="string", length=80)
*/
protected $name;
// date created
/**
* @ORM\Column(type="datetime")
*/
protected $date_create;
// roles
/**
* @ORM\ManyToMany(targetEntity="Role", inversedBy="users")
* @ORM\JoinTable(name="api_user_role")
*/
protected $roles;
public function __construct()
{
parent::__construct();
// generate keys
$this->setAPIKey($this->generateAPIKey())
->setSecretKey($this->generateSecretKey());
// set date created
$this->date_create = new DateTime();
}
public function getID()
{
return $this->id;
}
public function setAPIKey($api_key)
{
$this->api_key = $api_key;
return $this;
}
public function getAPIKey()
{
return $this->api_key;
}
public function setSecretKey($key)
{
$this->secret_key = $key;
return $this;
}
public function getSecretKey()
{
return $this->secret_key;
}
public function setName($name)
{
$this->name = $name;
return $this;
}
public function getName()
{
return $this->name;
}
public function getDateCreate()
{
return $this->date_create;
}
public function getPassword()
{
// we don't need this for API
return 'notneeded';
}
public function getSalt()
{
return null;
}
public function getUsername()
{
// since it's an api, the api key IS the username
return $this->api_key;
}
public function eraseCredentials()
{
return;
}
public function generateAPIKey()
{
return $this->generateKey('api');
}
public function generateSecretKey()
{
return $this->generateKey('secret');
}
protected function generateKey($prefix = '')
{
return md5(uniqid($prefix, true));
}
}

View file

@ -1,20 +0,0 @@
<?php
namespace Catalyst\APIBundle\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
class APIResponse extends JsonResponse
{
public function __construct($success = true, $message = '', $data = null, $status = 200, $headers = [])
{
$data = [
'success' => (bool) $success,
'message' => (string) $message,
'data' => $data,
];
parent::__construct($data, $status, $headers);
}
}

View file

@ -1,160 +0,0 @@
<?php
namespace Catalyst\APIBundle\Security;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Security\Core\Authentication\Token\PreAuthenticatedToken;
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
use Symfony\Component\Security\Core\Exception\AuthenticationException;
use Symfony\Component\Security\Core\Exception\CustomUserMessageAuthenticationException;
use Symfony\Component\Security\Core\Exception\BadCredentialsException;
use Symfony\Component\Security\Core\User\UserProviderInterface;
use Symfony\Component\Security\Http\Authentication\SimplePreAuthenticatorInterface;
use Symfony\Component\Security\Http\Authentication\AuthenticationFailureHandlerInterface;
use Doctrine\ORM\EntityManagerInterface;
use DateTime;
class APIKeyAuthenticator implements SimplePreAuthenticatorInterface, AuthenticationFailureHandlerInterface
{
const HEADER_API_KEY = 'X-Cata-API-Key';
const HEADER_SIGNATURE = 'X-Cata-Signature';
const HEADER_DATE = 'X-Cata-Date';
const DATE_FORMAT = 'D, d M Y H:i:s T';
// 30 minute time limit
const TIME_LIMIT = 1800;
protected $em;
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
}
protected function validateSignature($creds, $secret_key)
{
$elements = [
$creds['method'],
$creds['uri'],
$creds['date'],
$secret_key,
];
$sig_source = implode('|', $elements);
error_log($sig_source);
// generate signature
$raw_sig = hash_hmac('sha1', $sig_source, $secret_key, true);
$enc_sig = base64_encode($raw_sig);
error_log($enc_sig);
if ($enc_sig != trim($creds['signature']))
throw new CustomUserMessageAuthenticationException('Invalid signature.');
}
public function createToken(Request $req, $provider_key)
{
// api key header
$api_key = $req->headers->get(self::HEADER_API_KEY);
if ($api_key == null)
throw new BadCredentialsException('No API key sent.');
// check date from headers
$hdate_string = $req->headers->get(self::HEADER_DATE);
if ($hdate_string == null)
throw new BadCredentialsException('No date specified.');
$hdate = DateTime::createFromFormat(self::DATE_FORMAT, $hdate_string);
if ($hdate == null)
throw new BadCredentialsException('Invalid date specified.');
// get number of seconds difference
$date_now = new DateTime();
$date_diff = abs($date_now->getTimestamp() - $hdate->getTimestamp());
// time difference is too much
if ($date_diff > self::TIME_LIMIT)
throw new BadCredentialsException('Clock synchronization error.');
// signature header
$sig = $req->headers->get(self::HEADER_SIGNATURE);
if ($sig == null)
throw new BadCredentialsException('No signature sent.');
// credentials
$creds = [
'api_key' => $api_key,
'date' => $hdate_string,
'signature' => $sig,
'method' => $req->getRealMethod(),
'uri' => $req->getPathInfo(),
];
return new PreAuthenticatedToken(
'anonymous',
$creds,
$provider_key
);
}
public function supportsToken(TokenInterface $token, $provider_key)
{
return $token instanceof PreAuthenticatedToken && $token->getProviderKey() === $provider_key;
}
public function authenticateToken(TokenInterface $token, UserProviderInterface $user_provider, $provider_key)
{
if (!$user_provider instanceof APIKeyUserProvider)
{
throw new \InvalidArgumentException(
sprintf(
'The user provider must be an instance of APIKeyUserProvider (%s was given).',
get_class($user_provider)
)
);
}
$creds = $token->getCredentials();
$api_key = $creds['api_key'];
$user = $user_provider->getUserByAPIKey($api_key);
// check if api key is valid
if (!$user)
throw new CustomUserMessageAuthenticationException('Invalid API Key');
// check if signature is valid
$this->validateSignature($creds, $user->getSecretKey());
// check if user is enabled
if (!$user->isEnabled())
{
throw new CustomUserMessageAuthenticationException('User account is disabled');
}
// $user = $user_provider->loadUserByUsername($username);
return new PreAuthenticatedToken(
$user,
$api_key,
$provider_key,
$user->getRoles()
);
}
public function onAuthenticationFailure(Request $req, AuthenticationException $exception)
{
$data = [
'success' => false,
'error' => [
'message' => $exception->getMessage(),
],
];
return new JsonResponse($data, 401);
}
}

View file

@ -1,62 +0,0 @@
<?php
namespace Catalyst\APIBundle\Security;
use Symfony\Component\Security\Core\User\UserProviderInterface;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Security\Core\Exception\UnsupportedUserException;
use Doctrine\ORM\EntityManagerInterface;
use Catalyst\APIBundle\Entity\User;
class APIKeyUserProvider implements UserProviderInterface
{
protected $em;
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
}
public function getUserByAPIKey($api_key)
{
$user = $this->em->getRepository(User::class)->findOneBy(array('api_key' => $api_key));
return $user;
}
public function getUsernameForAPIKey($apiKey)
{
// Look up the username based on the token in the database, via
// an API call, or do something entirely different
$username = 'test';
return $username;
}
public function loadUserByUsername($username)
{
return new User(
$username,
null,
// the roles for the user - you may choose to determine
// these dynamically somehow based on the user
array('ROLE_API')
);
}
public function refreshUser(UserInterface $user)
{
// this is used for storing authentication in the session
// but in this example, the token is sent in each request,
// so authentication can be stateless. Throwing this exception
// is proper to make things stateless
throw new UnsupportedUserException();
}
public function supportsClass($class)
{
return User::class === $class;
}
}

View file

@ -1,18 +0,0 @@
<?php
namespace Catalyst\APIBundle\Service;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
use Symfony\Component\Security\Http\Authorization\AccessDeniedHandlerInterface;
class AccessDeniedHandler implements AccessDeniedHandlerInterface
{
public function handle(Request $req, AccessDeniedException $exception)
{
$content = $exception->getMessage();
return new Response($content, 403);
}
}

View file

@ -2,18 +2,44 @@
"type": "project",
"license": "proprietary",
"repositories": [
{ "type": "vcs", "url": "git@gitlab.com:jankstudio-catalyst/auth-bundle.git" },
{ "type": "vcs", "url": "git@gitlab.com:jankstudio-catalyst/menu-bundle.git" }
{
"type": "vcs",
"url": "https://github.com/jankstudio/doctrine2-spatial.git"
},
{
"type": "vcs",
"url": "git@gitlab.com:jankstudio1/catalyst-2/api-bundle.git"
},
{
"type": "vcs",
"url": "git@gitlab.com:jankstudio1/catalyst-2/auth-bundle.git"
},
{
"type": "vcs",
"url": "git@gitlab.com:jankstudio1/catalyst-2/menu-bundle.git"
},
{
"type": "vcs",
"url": "https://github.com/arcticzero/php-fcm.git"
}
],
"require": {
"php": "^7.1.3",
"ext-iconv": "*",
"catalyst/auth-bundle": "dev-master",
"catalyst/menu-bundle": "dev-master",
"creof/doctrine2-spatial": "^1.2",
"composer/package-versions-deprecated": "1.11.99.4",
"data-dog/audit-bundle": "^0.1.10",
"edwinhoksberg/php-fcm": "^1.0",
"doctrine/common": "^2",
"doctrine/doctrine-bundle": "^2",
"doctrine/doctrine-migrations-bundle": "^2",
"doctrine/orm": "^2",
"edwinhoksberg/php-fcm": "dev-notif-priority-hotfix",
"guzzlehttp/guzzle": "^6.3",
"hashids/hashids": "^4.1",
"jankstudio/catalyst-api-bundle": "dev-master",
"jankstudio/catalyst-auth-bundle": "dev-master",
"jankstudio/catalyst-menu-bundle": "dev-master",
"jankstudio/doctrine-spatial": "dev-master",
"microsoft/azure-storage-blob": "^1.5",
"predis/predis": "^1.1",
"sensio/framework-extra-bundle": "^5.1",
"setasign/fpdf": "^1.8",
@ -24,8 +50,8 @@
"symfony/flex": "^1.0",
"symfony/framework-bundle": "^4.0",
"symfony/maker-bundle": "^1.0",
"symfony/orm-pack": "^1.0",
"symfony/profiler-pack": "^1.0",
"symfony/monolog-bundle": "^3.7",
"symfony/process": "^4.0",
"symfony/security-bundle": "^4.0",
"symfony/translation": "^4.0",
"symfony/twig-bundle": "^4.0",
@ -35,18 +61,24 @@
"require-dev": {
"doctrine/doctrine-fixtures-bundle": "^3.0",
"symfony/dotenv": "^4.0",
"symfony/thanks": "^1.0"
"symfony/stopwatch": "^4.0",
"symfony/thanks": "^1.0",
"symfony/web-profiler-bundle": "^4.0"
},
"config": {
"preferred-install": {
"*": "dist"
},
"sort-packages": true
"sort-packages": true,
"allow-plugins": {
"composer/package-versions-deprecated": true,
"symfony/flex": true,
"symfony/thanks": true
}
},
"autoload": {
"psr-4": {
"App\\": "src/",
"Catalyst\\APIBundle\\": "catalyst/api-bundle/"
"App\\": "src/"
}
},
"autoload-dev": {

5185
composer.lock generated

File diff suppressed because it is too large Load diff

View file

@ -156,6 +156,8 @@ access_keys:
label: Update
- id: customer.delete
label: Delete
- id: customer.dpa
label: Display DPA
- id: location
@ -215,6 +217,20 @@ access_keys:
- id: rider.delete
label: Delete
- id: servicecharge
label: Service Charge
acls:
- id: service_charge.menu
label: Menu
- id: service_charge.list
label: List
- id: service_charge.add
label: Add
- id: service_charge.update
label: Update
- id: service_charge.delete
label: Delete
- id: joborder
label: Job Order
acls:
@ -246,6 +262,18 @@ access_keys:
label: One-step Process
- id: jo_onestep.edit
label: One-step Process Edit
- id: jo_walkin.form
label: Walk-in
- id: jo_walkin.edit
label: Walk-in Edit
- id: jo_autoassign.test
label: Autoassign Test
- id: jo_hub.list
label: Hub View
- id: jo_cancel.fulfill
label: Fulfill Cancelled JO
- id: jo_resq_proc.list
label: RESQ Dispatch
- id: support
label: Customer Support Access
@ -306,6 +334,24 @@ access_keys:
label: Vehicle Battery Compatibility Report
- id: report.warranty.details
label: Warranty Details Report
- id: report.jo.details
label: Job Order Details Report
- id: report.jo_events
label: Job Order Events Report
- id: report.sms_messages
label: SMS Messages Report
- id: report.jo.auto_assign
label: Auto Assigned Job Order Report
- id: report.jo.advance_order
label: Advance Order Job Order Report
- id: report.customer.source
label: Customer Source Report
- id: report.hub.filter
label: Hub Filter Report
- id: report.warranty.raffle
label: Warranty Raffle Report
- id: report.jo.raffle
label: JO Raffle Report
- id: service
label: Other Services
@ -386,3 +432,171 @@ access_keys:
label: Update
- id: static_content.delete
label: Delete
- id: analytics
label: Analytics
acls:
- id: analytics.menu
label: Menu
- id: analytics.forecast
label: Forecasting
- id: sap_battery
label: SAP Battery Access
acls:
- id: sap_battery.menu
label: Menu
- id: sap_battery.list
label: List
- id: sap_battery.add
label: Add
- id: sap_battery.update
label: Update
- id: sap_battery.delete
label: Delete
- id: sap_brand
label: SAP Battery Brand Access
acls:
- id: sap_brand.menu
label: Menu
- id: sap_brand.list
label: List
- id: sap_brand.add
label: Add
- id: sap_brand.update
label: Update
- id: sap_brand.delete
label: Delete
- id: sap_bsize
label: SAP Battery Size Access
acls:
- id: sap_bsize.menu
label: Menu
- id: sap_bsize.list
label: List
- id: sap_bsize.add
label: Add
- id: sap_bsize.update
label: Update
- id: sap_bsize.delete
label: Delete
- id: sap_csize
label: SAP Battery Container Size Access
acls:
- id: sap_csize.menu
label: Menu
- id: sap_csize.list
label: List
- id: sap_csize.add
label: Add
- id: sap_csize.update
label: Update
- id: sap_csize.delete
label: Delete
- id: customer_tag
label: Customer Tags Access
acls:
- id: customer_tag.menu
label: Menu
- id: customer_tag.list
label: List
- id: customer_tag.add
label: Add
- id: customer_tag.update
label: Update
- id: customer_tag.delete
label: Delete
- id: dealer
label: Dealer Access
acls:
- id: dealer.menu
label: Menu
- id: dealer.list
label: List
- id: dealer.add
label: Add
- id: dealer.update
label: Update
- id: dealer.delete
label: Delete
- id: database
label: Database Access
acls:
- id: database.menu
label: Menu
- id: ticket_type
label: Ticket Type Access
acls:
- id: ticket_type.menu
label: Menu
- id: ticket_type.list
label: List
- id: ticket_type.add
label: Add
- id: ticket_type.update
label: Update
- id: ticket_type.delete
label: Delete
- id: subticket_type
label: Sub Ticket Type Access
acls:
- id: subticket_type.menu
label: Menu
- id: subticket_type.list
label: List
- id: subticket_type.add
label: Add
- id: subticket_type.update
label: Update
- id: subticket_type.delete
label: Delete
- id: emergency_type
label: Emergency Type Access
acls:
- id: emergency_type.menu
label: Menu
- id: emergency_type.list
label: List
- id: emergency_type.add
label: Add
- id: emergency_type.update
label: Update
- id: emergency_type.delete
label: Delete
- id: ownership_type
label: Ownership Type Access
acls:
- id: ownership_type.menu
label: Menu
- id: ownership_type.list
label: List
- id: ownership_type.add
label: Add
- id: ownership_type.update
label: Update
- id: ownership_type.delete
label: Delete
- id: customer_location
label: Customer Location Access
acls:
- id: cust_location.menu
label: Menu
- id: cust_location.list
label: List
- id: cust_location.add
label: Add
- id: cust_location.update
label: Update
- id: cust_location.delete
label: Delete

View file

@ -20,6 +20,8 @@ access_keys:
label: Delete
- id: warranty.set.privacypolicy
label: Set Privacy Policy
- id: warranty.list.serial
label: List by Serial
- id: batterybrand
label: Battery Brand Access
acls:
@ -55,3 +57,68 @@ access_keys:
acls:
- id: customer.register
label: Register Customer
- id: customer.verify
label: Verify Customer
- id: municipality
label: Municipality
acls:
- id: municipality.list
label: List
- id: dealer
label: Dealer
acls:
- id: dealer.list
label: List
- id: warrantyserial
label: Warranty Serial
acls:
- id: warrantyserial.upload
label: Upload
- id: tapi_vmanufacturer
label: Third Party Vehicle Manufacturer Access
acls:
- id: tapi_vmanufacturer.list
label: List Third Party Vehicle Manufacturers
- id: tapi_vehicle
label: Third Party Vehicle Make Access
acls:
- id: tapi_vehicle.list
label: List Third Party Vehicles
- id: tapi_promo
label: Third Party Promo Access
acls:
- id: tapi_promo.list
label: List Third Party Promos
- id: tapi_battery
label: Third Party Battery Access
acls:
- id: tapi_battery_compatible.list
label: List Third Party Compatible Batteries
- id: tapi_jo
label: Third Party Job Order Access
acls:
- id: tapi_jo.request
label: Third Party Request Job Order
- id: tapi_jo.get.estimate
label: Third Party Get Estimate
- id: tapi_jo.get.ongoing
label: Third Party Get Ongoing Job Order
- id: tapi_jo.cancel
label: Third Party Cancel Job Order
- id: tapi_jo.get.invoice
label: Third Party Get Job Order Invoice
- id: tapi_jo.location.support
label: Third Party Check Location Support
- id: tapi_jo.nearest_hub.get
label: Third Party Get Nearest Hub and Slots
- id: tapi_jo.schedule_option.status
label: Third Party Schedule Option Status
- id: tapi_jo.get.info
label: Third Party Get Job Order Info
- id: tapi_service
label: Third Party Service Access
acls:
- id: tapi_service.list
label: List Third Party Services

View file

@ -2,7 +2,6 @@
return [
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle::class => ['all' => true],
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
@ -11,7 +10,8 @@ return [
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
Catalyst\APIBundle\CatalystAPIBundle::class => ['all' => true],
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
Catalyst\ApiBundle\CatalystApiBundle::class => ['all' => true],
Catalyst\AuthBundle\CatalystAuthBundle::class => ['all' => true],
Catalyst\MenuBundle\CatalystMenuBundle::class => ['all' => true],
];

179
config/cmb.menu.yaml Normal file
View file

@ -0,0 +1,179 @@
main_menu:
- id: home
acl: dashboard.menu
label: Dashboard
icon: flaticon-line-graph
- id: user
acl: user.menu
label: User
icon: flaticon-users
- id: user_list
acl: user.list
label: Users
parent: user
- id: role_list
acl: role.list
label: Roles
parent: user
- id: apiuser
acl: apiuser.menu
label: API User
icon: flaticon-users
- id: api_user_list
acl: apiuser.list
label: API Users
parent: apiuser
- id: api_role_list
acl: apirole.list
label: API Roles
parent: apiuser
- id: logistics
acl: logistics.menu
label: Logistics
icon: fa fa-truck
- id: rider_list
acl: rider.list
label: Riders
parent: logistics
- id: service_charge_list
acl: service_charge.list
label: Service Charges
parent: logistics
- id: battery
acl: battery.menu
label: Battery
icon: fa fa-battery-3
- id: battery_list
acl: battery.list
label: Batteries
parent: battery
- id: bmfg_list
acl: bmfg.list
label: Manufacturers
parent: battery
- id: bmodel_list
acl: bmodel.list
label: Models
parent: battery
- id: bsize_list
acl: bsize.list
label: Sizes
parent: battery
- id: promo_list
acl: promo.list
label: Promos
parent: battery
- id: vehicle
acl: vehicle.menu
label: Vehicle
icon: fa fa-car
- id: vehicle_list
acl: vehicle.list
label: Vehicles
parent: vehicle
- id: vmfg_list
acl: vmfg.list
label: Manufacturers
parent: vehicle
- id: location
acl: location.menu
label: Location
icon: fa fa-home
- id: outlet_list
acl: outlet.menu
label: Outlet
parent: location
- id: hub_list
acl: hub.menu
label: Hub
parent: location
- id: geofence_list
acl: geofence.menu
label: Geofence
parent: location
- id: joborder
acl: joborder.menu
label: Job Order
icon: flaticon-calendar-3
- id: jo_onestep_form
acl: jo_onestep.form
label: One-step Process
parent: joborder
- id: jo_walkin_form
acl: jo_walkin.form
label: Walk-in
parent: joborder
- id: jo_open
acl: jo_open.list
label: Open
parent: joborder
- id: jo_all
acl: jo_all.list
label: View All
parent: joborder
- id: support
acl: support.menu
label: Customer Support
icon: flaticon-support
- id: customer_list
acl: customer.list
label: Customers
parent: support
- id: ticket_list
acl: ticket.list
label: Tickets
parent: support
- id: general_search
acl: general.search
label: Search
parent: support
- id: warranty_search
acl: warranty.search
label: Customer Battery Search
parent: support
- id: privacy_policy_list
acl: privacy_policy.list
label: Privacy Policy
parent: support
- id: warranty_list
acl: warranty.list
label: Warranty
parent: support
- id: warranty_upload
acl: warranty.upload
label: Warranty Upload
parent: support
- id: static_content_list
acl: static_content.list
label: Static Content
parent: support
- id: service
acl: service.menu
label: Other Services
icon: flaticon-squares
- id: service_list
acl: service.list
label: Services
parent: service
- id: partner
acl: partner.menu
label: Partners
icon: flaticon-network
- id: partner_list
acl: partner.list
label: Partners
parent: partner
- id: review_list
acl: review.list
label: Reviews
parent: partner

View file

@ -42,20 +42,6 @@ services:
$cache_dir: "%kernel.cache_dir%"
$config_dir: "%kernel.root_dir%/../config"
Catalyst\AuthBundle\Service\ACLGenerator:
arguments:
$router: "@router.default"
$cache_dir: "%kernel.cache_dir%"
$config_dir: "%kernel.root_dir%/../config"
$acl_file: "%app_acl_file%"
Catalyst\AuthBundle\Service\ACLVoter:
arguments:
$user_class: "App\\Entity\\User"
tags: ['security.voter']
Catalyst\AuthBundle\Service\UserChecker:
App\Service\FileUploader:
arguments:
$target_dir: '%image_upload_directory%'
@ -64,6 +50,7 @@ services:
arguments:
$em: "@doctrine.orm.entity_manager"
$gmaps_api_key: "%env(GMAPS_API_KEY)%"
$cust_dist_limit: "%env(CUST_DISTANCE_LIMIT)%"
App\Service\RisingTideGateway:
arguments:
@ -113,50 +100,6 @@ services:
arguments:
$redis_client: "@App\\Service\\RedisClientProvider"
Catalyst\APIBundle\Security\APIKeyUserProvider:
arguments:
$em: "@doctrine.orm.entity_manager"
Catalyst\APIBundle\Security\APIKeyAuthenticator:
arguments:
$em: "@doctrine.orm.entity_manager"
Catalyst\APIBundle\Command\UserCreateCommand:
arguments:
$em: "@doctrine.orm.entity_manager"
tags: ['console.command']
Catalyst\APIBundle\Command\TestCommand:
tags: ['console.command']
Catalyst\APIBundle\Command\TestAPICommand:
tags: ['console.command']
Catalyst\APIBundle\Access\Voter:
arguments:
$acl_gen: "@Catalyst\\APIBundle\\Access\\Generator"
$user_class: "Catalyst\\APIBundle\\Entity\\User"
tags: ['security.voter']
Catalyst\APIBundle\Access\Generator:
arguments:
$router: "@router.default"
$cache_dir: "%kernel.cache_dir%"
$config_dir: "%kernel.root_dir%/../config"
$acl_file: "%api_acl_file%"
Catalyst\MenuBundle\Menu\Generator:
arguments:
$router: "@router.default"
$cache_dir: "%kernel.cache_dir%"
$config_dir: "%kernel.root_dir%/../config"
Catalyst\MenuBundle\Listener\MenuAnnotationListener:
arguments:
$menu_name: "main_menu"
tags:
- { name: kernel.event_listener, event: kernel.controller, method: onKernelController }
# invoice generator
App\Service\InvoiceGenerator\CMBInvoiceGenerator: ~
@ -227,3 +170,8 @@ services:
$redis_prov: "@App\\Service\\RedisClientProvider"
$loc_key: "%env(LOCATION_RIDER_ACTIVE_KEY)%"
$status_key: "%env(STATUS_RIDER_KEY)%"
# API logging
App\EventSubscriber\LogSubscriber:
arguments:
$api_log_flag: "%env(API_LOGGING)%"

View file

@ -63,6 +63,28 @@ main_menu:
label: Promos
parent: battery
- id: sapbattery
acl: sap_battery.menu
label: SAP Battery
icon: fa fa-battery
- id: sapbattery_list
acl: sap_battery.list
label: SAP Batteries
parent: sapbattery
- id: sapbrand_list
acl: sap_brand.list
label: SAP Battery Brands
parent: sapbattery
- id: sapbsize_list
acl: sap_bsize.list
label: SAP Battery Sizes
parent: sapbattery
- id: sapcsize_list
acl: sap_csize.list
label: SAP Container Sizes
parent: sapbattery
- id: vehicle
acl: vehicle.menu
label: Vehicle
@ -88,6 +110,10 @@ main_menu:
acl: hub.menu
label: Hub
parent: location
- id: dealer_list
acl: dealer.list
label: Dealer
parent: location
- id: geofence_list
acl: geofence.menu
label: Geofence
@ -98,10 +124,6 @@ main_menu:
acl: joborder.menu
label: Job Order
icon: flaticon-calendar-3
- id: jo_onestep_form
acl: jo_onestep.form
label: One-step Process
parent: joborder
- id: jo_in
acl: jo_in.list
label: Incoming
@ -110,6 +132,10 @@ main_menu:
acl: jo_proc.list
label: Dispatch
parent: joborder
- id: jo_resq_proc
acl: jo_resq_proc.list
label: RESQ Dispatch
parent: joborder
- id: jo_assign
acl: jo_assign.list
label: Rider Assignment
@ -126,6 +152,10 @@ main_menu:
acl: jo_all.list
label: View All
parent: joborder
- id: jo_hub_view
acl: jo_hub.list
label: Hub View
parent: joborder
- id: support
acl: support.menu
@ -163,6 +193,10 @@ main_menu:
acl: static_content.list
label: Static Content
parent: support
- id: customertag_list
acl: customer_tag.list
label: Customer Tags
parent: support
- id: service
acl: service.menu
@ -185,3 +219,37 @@ main_menu:
acl: review.list
label: Reviews
parent: partner
- id: analytics
acl: analytics.menu
label: Analytics
icon: flaticon-graphic
- id: analytics_forecast_form
acl: analytics.forecast
label: Forecasting
parent: analytics
- id: database
acl: database.menu
label: Database
icon: fa fa-database
- id: ticket_type_list
acl: ticket_type.menu
label: Ticket Types
parent: database
- id: subticket_type_list
acl: subticket_type.menu
label: Sub Ticket Types
parent: database
- id: emergency_type_list
acl: emergency_type.menu
label: Emergency Types
parent: database
- id: ownership_type_list
acl: ownership_type.menu
label: Ownership Types
parent: database
- id: customer_location_list
acl: cust_location.menu
label: Customer Locations
parent: database

View file

@ -0,0 +1,944 @@
catalyst_auth:
main:
user_entity: "App\\Entity\\User"
acl_data:
- id: dashboard
label: Dashboard Access
acls:
- id: dashboard.menu
label: Menu
- id: user
label: User Access
acls:
- id: user.menu
label: Menu
- id: user.list
label: List
- id: user.add
label: Add
- id: user.update
label: Update
- id: user.delete
label: Delete
- id: user.role.sadmin
label: Super Admin Role
- id: user.profile
label: User Profile
- id: role
label: Role Access
acls:
- id: role.menu
label: Menu
- id: role.list
label: List
- id: role.add
label: Add
- id: role.update
label: Update
- id: role.delete
label: Delete
- id: apiuser
label: API User Access
acls:
- id: apiuser.menu
label: Menu
- id: apiuser.list
label: List
- id: apiuser.add
label: Add
- id: apiuser.update
label: Update
- id: apiuser.delete
label: Delete
- id: apirole
label: API Role Access
acls:
- id: apirole.menu
label: Menu
- id: apirole.list
label: List
- id: apirole.add
label: Add
- id: apirole.update
label: Update
- id: apirole.delete
label: Delete
- id: logistics
label: Logistics Access
acls:
- id: logistics.menu
label: Menu
- id: battery
label: Battery Access
acls:
- id: battery.menu
label: Menu
- id: battery.list
label: List
- id: battery.add
label: Add
- id: battery.update
label: Update
- id: battery.delete
label: Delete
- id: bmfg
label: Battery Manufacturer Access
acls:
- id: bmfg.menu
label: Menu
- id: bmfg.list
label: List
- id: bmfg.add
label: Add
- id: bmfg.update
label: Update
- id: bmfg.delete
label: Delete
- id: bmodel
label: Battery Model Access
acls:
- id: bmodel.menu
label: Menu
- id: bmodel.list
label: List
- id: bmodel.add
label: Add
- id: bmodel.update
label: Update
- id: bmodel.delete
label: Delete
- id: bsize
label: Battery Size Access
acls:
- id: bsize.menu
label: Menu
- id: bsize.list
label: List
- id: bsize.add
label: Add
- id: bsize.update
label: Update
- id: bsize.delete
label: Delete
- id: vehicle
label: Vehicle Access
acls:
- id: vehicle.menu
label: Menu
- id: vehicle.list
label: List
- id: vehicle.add
label: Add
- id: vehicle.update
label: Update
- id: vehicle.delete
label: Delete
- id: vmfg
label: Vehicle Manufacturer Access
acls:
- id: vmfg.menu
label: Menu
- id: vmfg.list
label: List
- id: vmfg.add
label: Add
- id: vmfg.update
label: Update
- id: vmfg.delete
label: Delete
- id: customer
label: Customer Access
acls:
- id: customer.menu
label: Menu
- id: customer.list
label: List
- id: customer.add
label: Add
- id: customer.update
label: Update
- id: customer.delete
label: Delete
- id: customer.dpa
label: Display DPA
- id: location
label: Location Access
acls:
- id: location.menu
label: Menu
- id: outlet
label: Outlet Access
acls:
- id: outlet.menu
label: Menu
- id: outlet.list
label: List
- id: outlet.add
label: Add
- id: outlet.update
label: Update
- id: outlet.delete
label: Delete
- id: hub
label: Hub Access
acls:
- id: hub.menu
label: Menu
- id: hub.list
label: List
- id: hub.add
label: Add
- id: hub.update
label: Update
- id: hub.delete
label: Delete
- id: geofence
label: Geofence
acls:
- id: geofence.menu
label: Menu
- id: geofence.list
label: List
- id: geofence.add
label: Add
- id: geofence.delete
label: Delete
- id: rider
label: Rider Access
acls:
- id: rider.menu
label: Menu
- id: rider.list
label: List
- id: rider.add
label: Add
- id: rider.update
label: Update
- id: rider.delete
label: Delete
- id: servicecharge
label: Service Charge
acls:
- id: service_charge.menu
label: Menu
- id: service_charge.list
label: List
- id: service_charge.add
label: Add
- id: service_charge.update
label: Update
- id: service_charge.delete
label: Delete
- id: joborder
label: Job Order
acls:
- id: joborder.menu
label: Menu
- id: jo_in.list
label: Incoming
- id: jo_proc.list
label: Dispatch
- id: jo_proc.unlock
label: Dispatch Unlock
- id: jo_assign.list
label: Rider Assignment
- id: jo_assign.unlock
label: Rider Assignment Unlock
- id: jo_fulfill.list
label: Fulfillment
- id: jo_open.list
label: Open
- id: jo_all.list
label: View All
- id: jo_pdf.list
label: PDF
- id: jo_open.edit
label: Edit
- id: joborder.cancel
label: Cancel
- id: jo_onestep.form
label: One-step Process
- id: jo_onestep.edit
label: One-step Process Edit
- id: jo_walkin.form
label: Walk-in
- id: jo_walkin.edit
label: Walk-in Edit
- id: jo_autoassign.test
label: Autoassign Test
- id: jo_hub.list
label: Hub View
- id: jo_cancel.fulfill
label: Fulfill Cancelled JO
- id: jo_resq_proc.list
label: RESQ Dispatch
- id: jo_resq_all.list
label: RESQ All
- id: support
label: Customer Support Access
acls:
- id: support.menu
label: Menu
- id: general.search
label: Search
- id: warranty.search
label: Customer Battery Search
- id: warranty.upload
label: Warranty Upload
- id: ticket
label: Ticket Access
acls:
- id: ticket.menu
label: Menu
- id: ticket.list
label: List
- id: ticket.add
label: Add
- id: ticket.update
label: Update
- id: ticket.delete
label: Delete
- id: promo
label: Promo Access
acls:
- id: promo.menu
label: Menu
- id: promo.list
label: List
- id: promo.add
label: Add
- id: promo.update
label: Update
- id: promo.delete
label: Delete
- id: report
label: Reports
acls:
- id: report.menu
label: Menu
- id: report.reject
label: Rejection Report
- id: report.battery.conflict
label: Battery Conflict Report
- id: report.popapp.comparison
label: Popapp Comparison Report
- id: report.meh.customer
label: RESQ MEH Customer Report
- id: report.warranty.class
label: Warranty Class Report
- id: report.vehicle.battery.compatibility
label: Vehicle Battery Compatibility Report
- id: report.warranty.details
label: Warranty Details Report
- id: report.jo.details
label: Job Order Details Report
- id: report.jo_events
label: Job Order Events Report
- id: report.sms_messages
label: SMS Messages Report
- id: report.jo.auto_assign
label: Auto Assigned Job Order Report
- id: report.jo.advance_order
label: Advance Order Job Order Report
- id: report.customer.source
label: Customer Source Report
- id: report.hub.filter
label: Hub Filter Report
- id: report.warranty.raffle
label: Warranty Raffle Report
- id: report.jo.raffle
label: JO Raffle Report
- id: service
label: Other Services
acls:
- id: service.menu
label: Menu
- id: service.list
label: List
- id: service.add
label: Add
- id: service.update
label: Update
- id: service.delete
label: Delete
- id: partner
label: Partners
acls:
- id: partner.menu
label: Menu
- id: partner.list
label: List
- id: partner.add
label: Add
- id: partner.update
label: Update
- id: partner.delete
label: Delete
- id: motolite_event
label: Motolite Events
acls:
- id: motolite_event.menu
label: Menu
- id: motolite_event.list
label: List
- id: motolite_event.add
label: Add
- id: motolite_event.update
label: Update
- id: motolite_event.delete
label: Delete
- id: review
label: Reviews
acls:
- id: review.menu
label: Menu
- id: review.list
label: List
- id: review.view
label: View
- id: review.delete
label: Delete
- id: privacypolicy
label: Privacy Policy
acls:
- id: privacy_policy.menu
label: Menu
- id: privacy_policy.list
label: List
- id: privacy_policy.add
label: Add
- id: privacy_policy.update
label: Update
- id: privacy_policy.delete
label: Delete
- id: warranty
label: Warranty
acls:
- id: warranty.menu
label: Menu
- id: warranty.list
label: List
- id: warranty.add
label: Add
- id: warranty.update
label: Update
- id: staticcontent
label: Static Content
acls:
- id: static_content.menu
label: Menu
- id: static_content.list
label: List
- id: static_content.add
label: Add
- id: static_content.update
label: Update
- id: static_content.delete
label: Delete
- id: analytics
label: Analytics
acls:
- id: analytics.menu
label: Menu
- id: analytics.forecast
label: Forecasting
- id: sap_battery
label: SAP Battery Access
acls:
- id: sap_battery.menu
label: Menu
- id: sap_battery.list
label: List
- id: sap_battery.add
label: Add
- id: sap_battery.update
label: Update
- id: sap_battery.delete
label: Delete
- id: sap_brand
label: SAP Battery Brand Access
acls:
- id: sap_brand.menu
label: Menu
- id: sap_brand.list
label: List
- id: sap_brand.add
label: Add
- id: sap_brand.update
label: Update
- id: sap_brand.delete
label: Delete
- id: sap_bsize
label: SAP Battery Size Access
acls:
- id: sap_bsize.menu
label: Menu
- id: sap_bsize.list
label: List
- id: sap_bsize.add
label: Add
- id: sap_bsize.update
label: Update
- id: sap_bsize.delete
label: Delete
- id: sap_csize
label: SAP Battery Container Size Access
acls:
- id: sap_csize.menu
label: Menu
- id: sap_csize.list
label: List
- id: sap_csize.add
label: Add
- id: sap_csize.update
label: Update
- id: sap_csize.delete
label: Delete
- id: customer_tag
label: Customer Tags Access
acls:
- id: customer_tag.menu
label: Menu
- id: customer_tag.list
label: List
- id: customer_tag.add
label: Add
- id: customer_tag.update
label: Update
- id: customer_tag.delete
label: Delete
- id: review_tag
label: Review Tags Access
acls:
- id: review_tag.menu
label: Menu
- id: review_tag.list
label: List
- id: review_tag.add
label: Add
- id: review_tag.update
label: Update
- id: review_tag.delete
label: Delete
- id: dealer
label: Dealer Access
acls:
- id: dealer.menu
label: Menu
- id: dealer.list
label: List
- id: dealer.add
label: Add
- id: dealer.update
label: Update
- id: dealer.delete
label: Delete
- id: database
label: Database Access
acls:
- id: database.menu
label: Menu
- id: ticket_type
label: Ticket Type Access
acls:
- id: ticket_type.menu
label: Menu
- id: ticket_type.list
label: List
- id: ticket_type.add
label: Add
- id: ticket_type.update
label: Update
- id: ticket_type.delete
label: Delete
- id: subticket_type
label: Sub Ticket Type Access
acls:
- id: subticket_type.menu
label: Menu
- id: subticket_type.list
label: List
- id: subticket_type.add
label: Add
- id: subticket_type.update
label: Update
- id: subticket_type.delete
label: Delete
- id: emergency_type
label: Emergency Type Access
acls:
- id: emergency_type.menu
label: Menu
- id: emergency_type.list
label: List
- id: emergency_type.add
label: Add
- id: emergency_type.update
label: Update
- id: emergency_type.delete
label: Delete
- id: ownership_type
label: Ownership Type Access
acls:
- id: ownership_type.menu
label: Menu
- id: ownership_type.list
label: List
- id: ownership_type.add
label: Add
- id: ownership_type.update
label: Update
- id: ownership_type.delete
label: Delete
- id: service_offering
label: Service Offering Access
acls:
- id: service_offering.menu
label: Menu
- id: service_offering.list
label: List
- id: service_offering.add
label: Add
- id: service_offering.update
label: Update
- id: service_offering.delete
label: Delete
- id: price_tier
label: Price Tier
acls:
- id: price_tier.menu
label: Menu
- id: price_tier.list
label: List
- id: price_tier.add
label: Add
- id: price_tier.update
label: Update
- id: price_tier.delete
label: Delete
- id: item_type
label: Item Type
acls:
- id: item_type.menu
label: Menu
- id: item_type.list
label: List
- id: item_type.add
label: Add
- id: item_type.update
label: Update
- id: item_type.delete
label: Delete
- id: item
label: Item
acls:
- id: item.menu
label: Menu
- id: item_pricing
label: Item Pricing
acls:
- id: item_pricing.update
label: Update
api:
user_entity: "App\\Entity\\ApiUser"
acl_data:
- id: warranty
label: Warranty Access
acls:
- id: warranty.list
label: List
- id: warranty.find.serial
label: Find by Serial
- id: warranty.find.platenumber
label: Find by Plate Number
- id: warranty.register.battery
label: Register Battery
- id: warranty.claim
label: Claim
- id: warranty.update
label: Update
- id: warranty.cancel
label: Cancel
- id: warranty.delete
label: Delete
- id: warranty.set.privacypolicy
label: Set Privacy Policy
- id: warranty.list.serial
label: List by Serial
- id: batterybrand
label: Battery Brand Access
acls:
- id: batterybrand.list
label: List
- id: batterysize
label: Battery Size Access
acls:
- id: batterysize.list
label: List
- id: battery
label: Battery Access
acls:
- id: battery.list
label: List
- id: vmanufacturer
label: Vehicle Manufacturer Access
acls:
- id: vmanufacturer.list
label: List
- id: vehicle
label: Vehicle Access
acls:
- id: vehicle.list
label: List
- id: privacypolicy
label: Privacy Policy
acls:
- id: privacypolicy.find
label: Find Privacy Policy
- id: customer
label: Customer
acls:
- id: customer.register
label: Register Customer
- id: customer.verify
label: Verify Customer
- id: municipality
label: Municipality
acls:
- id: municipality.list
label: List
- id: dealer
label: Dealer
acls:
- id: dealer.list
label: List
- id: warrantyserial
label: Warranty Serial
acls:
- id: warrantyserial.upload
label: Upload
- id: hub
label: Hub Access
acls:
- id: hub.list
label: List
- id: joborder
label: Job Order Access
acls:
- id: joborder.find
label: Find Job Order
- id: tapi_vmanufacturer
label: Third Party Vehicle Manufacturer Access
acls:
- id: tapi_vmanufacturer.list
label: List Third Party Vehicle Manufacturers
- id: tapi_vehicle
label: Third Party Vehicle Make Access
acls:
- id: tapi_vehicle.list
label: List Third Party Vehicles
- id: tapi_promo
label: Third Party Promo Access
acls:
- id: tapi_promo.list
label: List Third Party Promos
- id: tapi_battery
label: Third Party Battery Access
acls:
- id: tapi_battery_compatible.list
label: List Third Party Compatible Batteries
- id: tapi_jo
label: Third Party Job Order Access
acls:
- id: tapi_jo.request
label: Third Party Request Job Order
- id: tapi_jo.get.estimate
label: Third Party Get Estimate
- id: tapi_jo.get.ongoing
label: Third Party Get Ongoing Job Order
- id: tapi_jo.cancel
label: Third Party Cancel Job Order
- id: tapi_jo.get.invoice
label: Third Party Get Job Order Invoice
- id: tapi_jo.location.support
label: Third Party Check Location Support
- id: tapi_jo.nearest_hub.get
label: Third Party Get Nearest Hub and Slots
- id: tapi_jo.schedule_option.status
label: Third Party Schedule Option Status
- id: tapi_jo.get.info
label: Third Party Get Job Order Info
- id: tapi_service
label: Third Party Service Access
acls:
- id: tapi_service.list
label: List Third Party Services
cust_api_v2:
user_entity: "App\\Entity\\CustomerUser"
acl_data:
- id: cust_api_v2.auth
label: Authentication
acls:
- id: cust_api_v2.auth.register
label: Register
- id: cust_api_v2.auth.confirm
label: Confirm Number
- id: cust_api_v2.auth.validate
label: Validate Code
- id: cust_api_v2.auth.resend_code
label: Resend Code
- id: cust_api_v2.customer
label: Customer
acls:
- id: cust_api_v2.customer.info
label: Info
- id: cust_api_v2.customer.update
label: Update
- id: cust_api_v2.customer.status
label: Status
- id: cust_api_v2.customer.hash
label: Hash
- id: cust_api_v2.device
label: Device
acls:
- id: cust_api_v2.device.id
label: Update
- id: cust_api_v2.invoice
label: Invoice
acls:
- id: cust_api_v2.invoice.estimate
label: Estimate
- id: cust_api_v2.jo
label: Job Order
acls:
- id: cust_api_v2.jo.ongoing
label: List Ongoing
- id: cust_api_v2.jo.invoice
label: Get Invoice
- id: cust_api_v2.jo.cancel
label: Cancel
- id: cust_api_v2.jo.info
label: Info
- id: cust_api_v2.jo.history
label: History
- id: cust_api_v2.jo.latest
label: Latest
- id: cust_api_v2.jo.all_ongoing
label: List All Ongoing
- id: cust_api_v2.jo.ongoing_count
label: List Ongoing Count
- id: cust_api_v2.jo.create
label: Create
- id: cust_api_v2.jo.request
label: Request
- id: cust_api_v2.jo.completed
label: List Completed
- id: cust_api_v2.location
label: Location
acls:
- id: cust_api_v2.location.support
label: Get Support Status
- id: cust_api_v2.location.nearest_hub_and_slots
label: List Nearest Hub and Slots
- id: cust_api_v2.location.create
label: Create
- id: cust_api_v2.location.list
label: List
- id: cust_api_v2.partner
label: Partner
acls:
- id: cust_api_v2.partner.info
label: Info
- id: cust_api_v2.partner.closest
label: List Closest Partners
- id: cust_api_v2.partner.review
label: Review
- id: cust_api_v2.privacy
label: Privacy
acls:
- id: cust_api_v2.privacy.settings
label: Get Privacy Settings
- id: cust_api_v2.promo
label: Promo
acls:
- id: cust_api_v2.promo.list
label: Get Promos
- id: cust_api_v2.rider
label: Rider
acls:
- id: cust_api_v2.rider.status
label: Status
- id: cust_api_v2.rider.rating
label: Rate
- id: cust_api_v2.schedule
label: Schedule
acls:
- id: cust_api_v2.schedule.status
label: Get Schedule Option Status
- id: cust_api_v2.service
label: Service
acls:
- id: cust_api_v2.service.list
label: List
- id: cust_api_v2.vehicle
label: Vehicle
acls:
- id: cust_api_v2.vehicle.mfgs
label: List Manufacturers
- id: cust_api_v2.vehicle.makes
label: List Makes
- id: cust_api_v2.vehicle.create
label: Add
- id: cust_api_v2.vehicle.update
label: Update
- id: cust_api_v2.vehicle.list
label: List
- id: cust_api_v2.vehicle.batteries
label: Compatible Batteries
- id: cust_api_v2.vehicle.delete
label: Delete
- id: cust_api_v2.warranty
label: Warranty
acls:
- id: cust_api_v2.warranty.activate
label: Activate
- id: cust_api_v2.warranty.check
label: Check Status
- id: cust_api_v2.warranty.register
label: Register

View file

@ -0,0 +1,308 @@
catalyst_menu:
main:
- id: home
acl: dashboard.menu
label: '[menu.dashboard]'
icon: flaticon-line-graph
order: 1
- id: user
acl: user.menu
label: '[menu.user]'
icon: flaticon-users
order: 2
- id: user_list
acl: user.list
label: '[menu.user.users]'
parent: user
- id: role_list
acl: role.list
label: '[menu.user.roles]'
parent: user
- id: apiuser
acl: apiuser.menu
label: '[menu.apiuser]'
icon: flaticon-users
order: 3
- id: api_user_list
acl: apiuser.list
label: '[menu.apiuser.users]'
parent: apiuser
- id: api_role_list
acl: apirole.list
label: '[menu.apiuser.roles]'
parent: apiuser
- id: logistics
acl: logistics.menu
label: '[menu.logistics]'
icon: fa fa-truck
order: 4
- id: rider_list
acl: rider.list
label: '[menu.logistics.riders]'
parent: logistics
- id: battery
acl: battery.menu
label: '[menu.battery]'
icon: fa fa-battery-3
order: 5
- id: battery_list
acl: battery.list
label: '[menu.battery.batteries]'
parent: battery
- id: bmfg_list
acl: bmfg.list
label: '[menu.battery.manufacturers]'
parent: battery
- id: bmodel_list
acl: bmodel.list
label: '[menu.battery.models]'
parent: battery
- id: bsize_list
acl: bsize.list
label: '[menu.battery.sizes]'
parent: battery
- id: promo_list
acl: promo.list
label: '[menu.battery.promos]'
parent: battery
- id: sapbattery
acl: sap_battery.menu
label: '[menu.sapbattery]'
icon: fa fa-battery
order: 6
- id: sapbattery_list
acl: sap_battery.list
label: '[menu.sapbattery.batteries]'
parent: sapbattery
- id: sapbrand_list
acl: sap_brand.list
label: '[menu.sapbattery.brands]'
parent: sapbattery
- id: sapbsize_list
acl: sap_bsize.list
label: '[menu.sapbattery.sizes]'
parent: sapbattery
- id: sapcsize_list
acl: sap_csize.list
label: '[menu.sapbattery.csizes]'
parent: sapbattery
- id: vehicle
acl: vehicle.menu
label: '[menu.vehicle]'
icon: fa fa-car
order: 7
- id: vehicle_list
acl: vehicle.list
label: '[menu.vehicle.vehicles]'
parent: vehicle
- id: vmfg_list
acl: vmfg.list
label: '[menu.vehicle.manufacturers]'
parent: vehicle
- id: location
acl: location.menu
label: '[menu.location]'
icon: fa fa-home
order: 8
- id: outlet_list
acl: outlet.menu
label: '[menu.location.outlets]'
parent: location
- id: hub_list
acl: hub.menu
label: '[menu.location.hubs]'
parent: location
- id: dealer_list
acl: dealer.list
label: '[menu.location.dealers]'
parent: location
- id: geofence_list
acl: geofence.menu
label: '[menu.location.geofence]'
parent: location
- id: joborder
acl: joborder.menu
label: '[menu.joborder]'
icon: flaticon-calendar-3
order: 9
- id: jo_in
acl: jo_in.list
label: '[menu.joborder.incoming]'
parent: joborder
- id: jo_proc
acl: jo_proc.list
label: '[menu.joborder.dispatch]'
parent: joborder
- id: jo_resq_proc
acl: jo_resq_proc.list
label: '[menu.joborder.resqdispatch]'
parent: joborder
- id: jo_assign
acl: jo_assign.list
label: '[menu.joborder.assignment]'
parent: joborder
- id: jo_fulfill
acl: jo_fulfill.list
label: '[menu.joborder.fulfillment]'
parent: joborder
- id: jo_open
acl: jo_open.list
label: '[menu.joborder.open]'
parent: joborder
- id: jo_all
acl: jo_all.list
label: '[menu.joborder.viewall]'
parent: joborder
- id: jo_hub_view
acl: jo_hub.list
label: '[menu.joborder.hubview]'
parent: joborder
- id: jo_resq_all
acl: jo_resq_all.list
label: '[menu.joborder.resqall]'
parent: joborder
- id: support
acl: support.menu
label: '[menu.support]'
icon: flaticon-support
order: 11
- id: customer_list
acl: customer.list
label: '[menu.support.customers]'
parent: support
- id: ticket_list
acl: ticket.list
label: '[menu.support.tickets]'
parent: support
- id: general_search
acl: general.search
label: '[menu.support.search]'
parent: support
- id: warranty_search
acl: warranty.search
label: '[menu.support.warrantysearch]'
parent: support
- id: privacy_policy_list
acl: privacy_policy.list
label: '[menu.support.privacypolicy]'
parent: support
- id: warranty_list
acl: warranty.list
label: '[menu.support.warranty]'
parent: support
- id: warranty_upload
acl: warranty.upload
label: '[menu.support.warrantyupload]'
parent: support
- id: static_content_list
acl: static_content.list
label: '[menu.support.staticcontent]'
parent: support
- id: customertag_list
acl: customer_tag.list
label: '[menu.support.customertags]'
parent: support
- id: reviewtag_list
acl: review_tag.list
label: '[menu.support.reviewtags]'
parent: support
- id: service
acl: service.menu
label: '[menu.service]'
icon: flaticon-squares
order: 12
- id: service_list
acl: service.list
label: '[menu.service.services]'
parent: service
- id: partner
acl: partner.menu
label: '[menu.partner]'
icon: flaticon-network
order: 13
- id: partner_list
acl: partner.list
label: '[menu.partner.partners]'
parent: partner
- id: review_list
acl: review.list
label: '[menu.partner.reviews]'
parent: partner
- id: motolite_event
acl: motolite_event.menu
label: '[menu.motolite_event]'
icon: flaticon-event-calendar-symbol
order: 14
- id: motolite_event_list
acl: motolite_event.list
label: '[menu.motolite_event.events]'
parent: motolite_event
- id: analytics
acl: analytics.menu
label: '[menu.analytics]'
icon: flaticon-graphic
order: 15
- id: analytics_forecast_form
acl: analytics.forecast
label: '[menu.analytics.forecasting]'
parent: analytics
- id: database
acl: database.menu
label: '[menu.database]'
icon: fa fa-database
order: 16
- id: ticket_type_list
acl: ticket_type.menu
label: '[menu.database.tickettypes]'
parent: database
- id: subticket_type_list
acl: subticket_type.menu
label: '[menu.database.subtickettypes]'
parent: database
- id: emergency_type_list
acl: emergency_type.menu
label: '[menu.database.emergencytypes]'
parent: database
- id: ownership_type_list
acl: ownership_type.menu
label: '[menu.database.ownershiptypes]'
parent: database
- id: service_offering_list
acl: service_offering.menu
label: '[menu.database.serviceofferings]'
parent: database
- id: item_type_list
acl: item_type.menu
label: '[menu.database.itemtypes]'
parent: database
- id: item
acl: item.menu
label: Item Management
icon: fa fa-boxes
order: 10
- id: price_tier_list
acl: price_tier.list
label: Price Tiers
parent: item
- id: item_pricing
acl: item_pricing.update
label: Item Pricing
parent: item

View file

@ -0,0 +1,19 @@
monolog:
handlers:
main:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
channels: ["!event"]
# uncomment to get logging in your browser
# you may have to allow bigger header sizes in your Web server configuration
#firephp:
# type: firephp
# level: info
#chromephp:
# type: chromephp
# level: info
console:
type: console
process_psr_3_messages: false
channels: ["!event", "!doctrine", "!console"]

View file

@ -11,6 +11,8 @@ doctrine:
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
options:
!php/const PDO::MYSQL_ATTR_LOCAL_INFILE: true
# With Symfony 3.3, remove the `resolve:` prefix
url: '%env(resolve:DATABASE_URL)%'

View file

@ -0,0 +1,8 @@
# As of Symfony 5.1, deprecations are logged in the dedicated "deprecation" channel when it exists
#monolog:
# channels: [deprecation]
# handlers:
# deprecation:
# type: stream
# channels: [deprecation]
# path: php://stderr

View file

@ -0,0 +1,18 @@
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
excluded_http_codes: [404, 405]
buffer_size: 50 # How many messages should be saved? Prevent memory leaks
nested:
type: stream
path: php://stderr
level: debug
formatter: monolog.formatter.json
console:
type: console
process_psr_3_messages: false
channels: ["!event", "!doctrine"]

View file

@ -9,13 +9,24 @@ security:
entity:
class: App\Entity\User
property: username
api_key_user_provider:
id: Catalyst\APIBundle\Security\APIKeyUserProvider
api_provider:
entity:
class: App\Entity\ApiUser
property: api_key
api_v2_provider:
entity:
class: App\Entity\CustomerUser
property: api_key
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
new_rider_api_login:
pattern: ^\/rider_api\/login$
methods: [POST]
security: false
login:
pattern: ^\/login$
methods: [GET]
@ -30,17 +41,65 @@ security:
pattern: ^\/api\/
security: false
sms:
pattern: ^/sms\/
security: false
rider_api:
pattern: ^\/rapi\/
security: false
test_capi:
pattern: ^\/test_capi\/
security: false
insurance:
pattern: ^\/insurance\/
security: false
paymongo:
pattern: ^\/paymongo\/
security: false
cust_api_v2:
pattern: ^\/apiv2\/(?!register|register\/|number_confirm|number_confirm\/|code_validate|code_validate\/|resend_code|resend_code\/|version_check|version_check\/|account|account\/|account_code_validate|account_code_validate\/|account_resend_code|account_resend_code\/)
provider: api_v2_provider
access_denied_handler: Catalyst\ApiBundle\Service\AccessDeniedHandler
stateless: true
guard:
authenticators:
- Catalyst\ApiBundle\Security\Authenticator
cust_api_v2_guest:
pattern: ^\/apiv2\/(register|register\/|number_confirm|number_confirm\/|code_validate|code_validate\/|resend_code|resend_code\/|version_check|version_check\/|account|account\/|account_code_validate|account_code_validate\/|account_resend_code|account_resend_code\/)
security: false
warranty_api:
pattern: ^\/capi\/
provider: api_provider
access_denied_handler: Catalyst\ApiBundle\Service\AccessDeniedHandler
stateless: true
simple_preauth:
authenticator: Catalyst\APIBundle\Security\APIKeyAuthenticator
provider: api_key_user_provider
user_checker: Catalyst\AuthBundle\Service\UserChecker
guard:
authenticators:
- Catalyst\ApiBundle\Security\Authenticator
new_rider_api:
pattern: ^\/rider_api\/
provider: api_provider
access_denied_handler: Catalyst\ApiBundle\Service\AccessDeniedHandler
stateless: true
guard:
authenticators:
- Catalyst\ApiBundle\Security\Authenticator
third_party_api:
pattern: ^\/tapi\/
provider: api_provider
access_denied_handler: Catalyst\ApiBundle\Service\AccessDeniedHandler
stateless: true
guard:
authenticators:
- Catalyst\ApiBundle\Security\Authenticator
main:
provider: user_provider
@ -55,6 +114,7 @@ security:
lifetime: 604800
path: /
user_checker: Catalyst\AuthBundle\Service\UserChecker
switch_user: { role: ROLE_SUPER_ADMIN }
# activate different ways to authenticate

View file

@ -0,0 +1,13 @@
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
excluded_http_codes: [404, 405]
channels: ["!event"]
nested:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug

View file

@ -4,5 +4,8 @@ twig:
strict_variables: '%kernel.debug%'
globals:
gmaps_api_key: "%env(GMAPS_API_KEY)%"
maptiler_api_key: "%env(MAPTILER_API_KEY)%"
mqtt_host: "%env(MQTT_WS_HOST)%"
mqtt_port: "%env(MQTT_WS_PORT)%"
dashboard_enable: "%env(DASHBOARD_ENABLE)%"
ssl_enable: "%env(SSL_ENABLE)%"

186
config/resq.menu.yaml Normal file
View file

@ -0,0 +1,186 @@
main_menu:
- id: home
acl: dashboard.menu
label: Dashboard
icon: flaticon-line-graph
- id: user
acl: user.menu
label: User
icon: flaticon-users
- id: user_list
acl: user.list
label: Users
parent: user
- id: role_list
acl: role.list
label: Roles
parent: user
- id: apiuser
acl: apiuser.menu
label: API User
icon: flaticon-users
- id: api_user_list
acl: apiuser.list
label: API Users
parent: apiuser
- id: api_role_list
acl: apirole.list
label: API Roles
parent: apiuser
- id: logistics
acl: logistics.menu
label: Logistics
icon: fa fa-truck
- id: rider_list
acl: rider.list
label: Riders
parent: logistics
- id: battery
acl: battery.menu
label: Battery
icon: fa fa-battery-3
- id: battery_list
acl: battery.list
label: Batteries
parent: battery
- id: bmfg_list
acl: bmfg.list
label: Manufacturers
parent: battery
- id: bmodel_list
acl: bmodel.list
label: Models
parent: battery
- id: bsize_list
acl: bsize.list
label: Sizes
parent: battery
- id: promo_list
acl: promo.list
label: Promos
parent: battery
- id: vehicle
acl: vehicle.menu
label: Vehicle
icon: fa fa-car
- id: vehicle_list
acl: vehicle.list
label: Vehicles
parent: vehicle
- id: vmfg_list
acl: vmfg.list
label: Manufacturers
parent: vehicle
- id: location
acl: location.menu
label: Location
icon: fa fa-home
- id: outlet_list
acl: outlet.menu
label: Outlet
parent: location
- id: hub_list
acl: hub.menu
label: Hub
parent: location
- id: geofence_list
acl: geofence.menu
label: Geofence
parent: location
- id: joborder
acl: joborder.menu
label: Job Order
icon: flaticon-calendar-3
- id: jo_in
acl: jo_in.list
label: Incoming
parent: joborder
- id: jo_proc
acl: jo_proc.list
label: Dispatch
parent: joborder
- id: jo_assign
acl: jo_assign.list
label: Rider Assignment
parent: joborder
- id: jo_fulfill
acl: jo_fulfill.list
label: Fulfillment
parent: joborder
- id: jo_open
acl: jo_open.list
label: Open
parent: joborder
- id: jo_all
acl: jo_all.list
label: View All
parent: joborder
- id: jo_hub.view
label: Hub View
parent: joborder
- id: support
acl: support.menu
label: Customer Support
icon: flaticon-support
- id: customer_list
acl: customer.list
label: Customers
parent: support
- id: ticket_list
acl: ticket.list
label: Tickets
parent: support
- id: general_search
acl: general.search
label: Search
parent: support
- id: warranty_search
acl: warranty.search
label: Customer Battery Search
parent: support
- id: privacy_policy_list
acl: privacy_policy.list
label: Privacy Policy
parent: support
- id: warranty_list
acl: warranty.list
label: Warranty
parent: support
- id: warranty_upload
acl: warranty.upload
label: Warranty Upload
parent: support
- id: static_content_list
acl: static_content.list
label: Static Content
parent: support
- id: service
acl: service.menu
label: Other Services
icon: flaticon-squares
- id: service_list
acl: service.list
label: Services
parent: service
- id: partner
acl: partner.menu
label: Partners
icon: flaticon-network
- id: partner_list
acl: partner.list
label: Partners
parent: partner
- id: review_list
acl: review.list
label: Reviews
parent: partner

View file

@ -12,6 +12,7 @@ parameters:
app_access_key: 'access_keys'
cvu_brand_id: "%env(CVU_BRAND_ID)%"
country_code: "%env(COUNTRY_CODE)%"
api_version: "%env(API_VERSION)%"
services:
# default configuration for services in *this* file
@ -42,20 +43,6 @@ services:
$cache_dir: "%kernel.cache_dir%"
$config_dir: "%kernel.root_dir%/../config"
Catalyst\AuthBundle\Service\ACLGenerator:
arguments:
$router: "@router.default"
$cache_dir: "%kernel.cache_dir%"
$config_dir: "%kernel.root_dir%/../config"
$acl_file: "%app_acl_file%"
Catalyst\AuthBundle\Service\ACLVoter:
arguments:
$user_class: "App\\Entity\\User"
tags: ['security.voter']
Catalyst\AuthBundle\Service\UserChecker:
App\Service\FileUploader:
arguments:
$target_dir: '%image_upload_directory%'
@ -64,6 +51,7 @@ services:
arguments:
$em: "@doctrine.orm.entity_manager"
$gmaps_api_key: "%env(GMAPS_API_KEY)%"
$cust_dist_limit: "%env(CUST_DISTANCE_LIMIT)%"
App\Service\RisingTideGateway:
arguments:
@ -113,50 +101,6 @@ services:
arguments:
$redis_client: "@App\\Service\\RedisClientProvider"
Catalyst\APIBundle\Security\APIKeyUserProvider:
arguments:
$em: "@doctrine.orm.entity_manager"
Catalyst\APIBundle\Security\APIKeyAuthenticator:
arguments:
$em: "@doctrine.orm.entity_manager"
Catalyst\APIBundle\Command\UserCreateCommand:
arguments:
$em: "@doctrine.orm.entity_manager"
tags: ['console.command']
Catalyst\APIBundle\Command\TestCommand:
tags: ['console.command']
Catalyst\APIBundle\Command\TestAPICommand:
tags: ['console.command']
Catalyst\APIBundle\Access\Voter:
arguments:
$acl_gen: "@Catalyst\\APIBundle\\Access\\Generator"
$user_class: "Catalyst\\APIBundle\\Entity\\User"
tags: ['security.voter']
Catalyst\APIBundle\Access\Generator:
arguments:
$router: "@router.default"
$cache_dir: "%kernel.cache_dir%"
$config_dir: "%kernel.root_dir%/../config"
$acl_file: "%api_acl_file%"
Catalyst\MenuBundle\Menu\Generator:
arguments:
$router: "@router.default"
$cache_dir: "%kernel.cache_dir%"
$config_dir: "%kernel.root_dir%/../config"
Catalyst\MenuBundle\Listener\MenuAnnotationListener:
arguments:
$menu_name: "main_menu"
tags:
- { name: kernel.event_listener, event: kernel.controller, method: onKernelController }
# invoice generator
App\Service\InvoiceGenerator\ResqInvoiceGenerator: ~
@ -226,3 +170,16 @@ services:
$redis_prov: "@App\\Service\\RedisClientProvider"
$loc_key: "%env(LOCATION_RIDER_ACTIVE_KEY)%"
$status_key: "%env(STATUS_RIDER_KEY)%"
# inventory manager
App\Service\InventoryManager:
arguments:
$api_url: "%env(INVENTORY_API_URL)%"
$api_ocp_key: "%env(INVENTORY_API_OCP)%"
$api_auth_prefix: "%env(INVENTORY_API_AUTH_TOKEN_PREFIX)%"
$api_auth_token: "%env(INVENTORY_API_AUTH_TOKEN)%"
# API logging
App\EventSubscriber\LogSubscriber:
arguments:
$api_log_flag: "%env(API_LOGGING)%"

View file

@ -0,0 +1,11 @@
# analytics
analytics_forecast_form:
path: /analytics/forecast
controller: App\Controller\AnalyticsController::forecastForm
methods: [GET]
analytics_forecast_submit:
path: /analytics/forecast
controller: App\Controller\AnalyticsController::forecastSubmit
methods: [POST]

View file

@ -149,3 +149,79 @@ api_partner_review:
path: /api/partners/{pid}/review
controller: App\Controller\APIController:reviewPartner
methods: [POST]
api_nearest_hub_slots:
path: /api/hub_slots
controller: App\Controller\APIController::getNearestHubAndSlots
methods: [GET]
api_new_jo_request:
path: /api/new_job_order
controller: App\Controller\APIController::newRequestJobOrder
methods: [POST]
api_version_check:
path: /api/version_check
controller: App\Controller\APIController::versionCheck
methods: [GET]
api_schedule_option_status:
path: /api/schedule_option_status
controller: App\Controller\APIController::scheduleOptionStatus
methods: [GET]
# paperless warranty / qr code
api_warr_serial_check:
path: /api/warranty/{serial}
controller: App\Controller\APIController::warrantyCheck
methods: [GET]
api_warr_serial_register:
path: /api/warranty/{serial}
controller: App\Controller\APIController::warrantyRegister
methods: [POST]
api_jo_info:
path: /api/job_order/{id}/info
controller: App\Controller\APIController::getJobOrderInfo
methods: [GET]
api_ongoing_job_orders:
path: /api/job_orders/ongoing
controller: App\Controller\APIController::getAllOngoingJobOrders
methods: [GET]
api_ongoing_jo_count:
path: /api/job_orders/ongoing/count
controller: App\Controller\APIController::getOngoingJobOrderCount
methods: [GET]
api_new_location:
path: /api/new_location
controller: App\Controller\APIController::addLocation
methods: [POST]
api_locations:
path: /api/locations
controller: App\Controller\APIController::getLocations
methods: [GET]
api_cust_vehicle_remove:
path: /api/vehicles/{id}/remove
controller: App\Controller\APIController::removeVehicle
methods: [POST]
api_latest_job_order:
path: /api/job_order/latest
controller: App\Controller\APIController::getLatestJobOrder
methods: [GET]
api_customer_hash_get:
path: /api/customer_hash
controller: App\Controller\APIController::getCustomerHash
methods: [GET]
#api_completed_job_orders:
# path: /api/job_orders/completed
# controller: App\Controller\APIController::getCompletedJobOrders
# methods: [GET]

315
config/routes/apiv2.yaml Normal file
View file

@ -0,0 +1,315 @@
# api
apiv2_register:
path: /apiv2/register
controller: App\Controller\CustomerAppAPI\AuthController::register
methods: [POST]
apiv2_confirm:
path: /apiv2/number_confirm
controller: App\Controller\CustomerAppAPI\AuthController::confirmNumber
methods: [POST]
apiv2_validate:
path: /apiv2/code_validate
controller: App\Controller\CustomerAppAPI\AuthController::validateCode
methods: [POST]
apiv2_info_get:
path: /apiv2/info
controller: App\Controller\CustomerAppAPI\CustomerController::getInfo
methods: [GET]
apiv2_info_update:
path: /apiv2/info
controller: App\Controller\CustomerAppAPI\CustomerController::updateInfo
methods: [POST]
apiv2_status:
path: /apiv2/status
controller: App\Controller\CustomerAppAPI\CustomerController::getStatus
methods: [GET]
apiv2_vehicle_mfg_list:
path: /apiv2/vehicle/mfgs
controller: App\Controller\CustomerAppAPI\VehicleController::listVehicleManufacturers
methods: [GET]
apiv2_vehicle_make_list:
path: /apiv2/vehicle/mfgs/{mfg_id}/makes
controller: App\Controller\CustomerAppAPI\VehicleController::listVehicleMakes
methods: [GET]
apiv2_cust_vehicle_add:
path: /apiv2/vehicles
controller: App\Controller\CustomerAppAPI\VehicleController::addVehicle
methods: [POST]
apiv2_cust_vehicle_info:
path: /apiv2/vehicles/{id}
controller: App\Controller\CustomerAppAPI\VehicleController::getVehicle
methods: [GET]
apiv2_cust_vehicle_update:
path: /apiv2/vehicles/{id}
controller: App\Controller\CustomerAppAPI\VehicleController::updateVehicle
methods: [POST]
apiv2_cust_vehicle_list:
path: /apiv2/vehicles
controller: App\Controller\CustomerAppAPI\VehicleController::listVehicles
methods: [GET]
apiv2_promo_list:
path: /apiv2/promos
controller: App\Controller\CustomerAppAPI\PromoController::listPromos
methods: [GET]
apiv2_battery_list:
path: /apiv2/vehicles/{vid}/compatible_batteries
controller: App\Controller\CustomerAppAPI\VehicleController::getCompatibleBatteries
methods: [GET]
apiv2_jo_request:
path: /apiv2/job_order
controller: App\Controller\CustomerAppAPI\JobOrderController::requestJobOrder
methods: [POST]
apiv2_estimate:
path: /apiv2/estimate
controller: App\Controller\CustomerAppAPI\InvoiceController::getEstimate
methods: [POST]
apiv2_ongoing:
path: /apiv2/job_order/ongoing
controller: App\Controller\CustomerAppAPI\JobOrderController::getOngoing
methods: [GET]
apiv2_rider_status:
path: /apiv2/rider
controller: App\Controller\CustomerAppAPI\RiderController::getRiderStatus
methods: [GET]
apiv2_rider_rating_add:
path: /apiv2/rider_rating
controller: App\Controller\CustomerAppAPI\RiderController::addRiderRating
methods: [POST]
apiv2_jo_cancel:
path: /apiv2/job_order/cancel
controller: App\Controller\CustomerAppAPI\JobOrderController:cancelJobOrder
methods: [POST]
apiv2_jo_history:
path: /apiv2/job_order/history
controller: App\Controller\CustomerAppAPI\JobOrderController:getJOHistory
methods: [GET]
apiv2_jo_invoice:
path: /apiv2/job_order/invoice
controller: App\Controller\CustomerAppAPI\JobOrderController:getJOInvoice
methods: [GET]
apiv2_device_id:
path: /apiv2/device_id
controller: App\Controller\CustomerAppAPI\DeviceController:updateDeviceID
methods: [POST]
apiv2_privacy:
path: /apiv2/privacy
controller: App\Controller\CustomerAppAPI\PrivacyController:privacySettings
methods: [POST]
apiv2_resend_code:
path: /apiv2/resend_code
controller: App\Controller\CustomerAppAPI\AuthController:resendCode
methods: [POST]
apiv2_location_support:
path: /apiv2/location_support
controller: App\Controller\CustomerAppAPI\LocationController:locationSupport
methods: [GET]
apiv2_activate_warranty:
path: /apiv2/activate_warranty
controller: App\Controller\CustomerAppAPI\WarrantyController:activateWarranty
methods: [POST]
apiv2_service_list:
path: /apiv2/services
controller: App\Controller\CustomerAppAPI\ServiceController:listServices
methods: [GET]
apiv2_partner_info:
path: /apiv2/partners/{pid}
controller: App\Controller\CustomerAppAPI\PartnerController:getPartnerInformation
methods: [GET]
apiv2_partner:
path: /apiv2/partners
controller: App\Controller\CustomerAppAPI\PartnerController:getClosestPartners
methods: [GET]
apiv2_partner_review:
path: /apiv2/partners/{pid}/review
controller: App\Controller\CustomerAppAPI\PartnerController:reviewPartner
methods: [POST]
apiv2_nearest_hub_slots:
path: /apiv2/hub_slots
controller: App\Controller\CustomerAppAPI\LocationController::getNearestHubAndSlots
methods: [GET]
apiv2_new_jo_request:
path: /apiv2/new_job_order
controller: App\Controller\CustomerAppAPI\JobOrderController::newRequestJobOrder
methods: [POST]
apiv2_version_check:
path: /apiv2/version_check
controller: App\Controller\CustomerAppAPI\AppController::versionCheck
methods: [GET]
apiv2_schedule_option_status:
path: /apiv2/schedule_option_status
controller: App\Controller\CustomerAppAPI\ScheduleController::scheduleOptionStatus
methods: [GET]
# paperless warranty / qr code
apiv2_warr_serial_check:
path: /apiv2/warranty/{serial}
controller: App\Controller\CustomerAppAPI\WarrantyController::warrantyCheck
methods: [GET]
apiv2_warr_serial_register:
path: /apiv2/warranty/{serial}
controller: App\Controller\CustomerAppAPI\WarrantyController::warrantyRegister
methods: [POST]
apiv2_jo_info:
path: /apiv2/job_order/{id}/info
controller: App\Controller\CustomerAppAPI\JobOrderController::getJobOrderInfo
methods: [GET]
apiv2_ongoing_job_orders:
path: /apiv2/job_orders/ongoing
controller: App\Controller\CustomerAppAPI\JobOrderController::getAllOngoingJobOrders
methods: [GET]
apiv2_ongoing_jo_count:
path: /apiv2/job_orders/ongoing/count
controller: App\Controller\CustomerAppAPI\JobOrderController::getOngoingJobOrderCount
methods: [GET]
apiv2_new_location:
path: /apiv2/new_location
controller: App\Controller\CustomerAppAPI\LocationController::addLocation
methods: [POST]
apiv2_locations:
path: /apiv2/locations
controller: App\Controller\CustomerAppAPI\LocationController::getLocations
methods: [GET]
apiv2_location_remove:
path: /apiv2/locations/{id}/remove
controller: App\Controller\CustomerAppAPI\LocationController::removeLocation
methods: [POST]
apiv2_cust_vehicle_remove:
path: /apiv2/vehicles/{id}/remove
controller: App\Controller\CustomerAppAPI\VehicleController::removeVehicle
methods: [POST]
apiv2_latest_job_order:
path: /apiv2/job_order/latest
controller: App\Controller\CustomerAppAPI\JobOrderController::getLatestJobOrder
methods: [GET]
apiv2_customer_hash_get:
path: /apiv2/customer_hash
controller: App\Controller\CustomerAppAPI\CustomerController::getCustomerHash
methods: [GET]
#apiv2_completed_job_orders:
# path: /apiv2/job_orders/completed
# controller: App\Controller\CustomerAppAPI\JobOrderController::getCompletedJobOrders
# methods: [GET]
# motolite events
apiv2_motolite_events:
path: /apiv2/motolite_events
controller: App\Controller\CustomerAppAPI\MotoliteEventController::getEvents
methods: [GET]
# review tags
apiv2_partner_review_tags:
path: /apiv2/review_tags/partner
controller: App\Controller\CustomerAppAPI\ReviewTagController::getPartnerReviewTags
apiv2_rider_review_tags:
path: /apiv2/review_tags/rider
controller: App\Controller\CustomerAppAPI\ReviewTagController::getRiderReviewTags
# account deletion
apiv2_account_delete:
path: /apiv2/account_delete
controller: App\Controller\CustomerAppAPI\AccountController::deleteAccount
methods: [POST]
apiv2_account_delete_resend_code:
path: /apiv2/account_delete_resend_code
controller: App\Controller\CustomerAppAPI\AccountController:resendCode
methods: [POST]
apiv2_account_delete_code_validate:
path: /apiv2/account_delete_code_validate
controller: App\Controller\CustomerAppAPI\AccountController::validateDeleteCode
methods: [POST]
# trade-in support
apiv2_cust_vehicle_trade_in_estimate:
path: /apiv2/vehicles/{id}/trade_in_estimate
controller: App\Controller\CustomerAppAPI\VehicleController::getTradeInEstimate
methods: [GET]
# insurance
apiv2_insurance_vehicle_maker_list:
path: /apiv2/insurance/vehicles/makers
controller: App\Controller\CustomerAppAPI\InsuranceController::getVehicleMakers
methods: [GET]
apiv2_insurance_vehicle_model_list:
path: /apiv2/insurance/vehicles/models/{maker_id}
controller: App\Controller\CustomerAppAPI\InsuranceController::getVehicleModels
methods: [GET]
apiv2_insurance_vehicle_trim_list:
path: /apiv2/insurance/vehicles/trims/{model_id}
controller: App\Controller\CustomerAppAPI\InsuranceController::getVehicleTrims
methods: [GET]
apiv2_insurance_vehicle_mv_type_list:
path: /apiv2/insurance/mvtypes
controller: App\Controller\CustomerAppAPI\InsuranceController::getMVTypes
methods: [GET]
apiv2_insurance_vehicle_client_type_list:
path: /apiv2/insurance/clienttypes
controller: App\Controller\CustomerAppAPI\InsuranceController::getClientTypes
methods: [GET]
apiv2_insurance_application_create:
path: /apiv2/insurance/application
controller: App\Controller\CustomerAppAPI\InsuranceController::createApplication
methods: [POST]
apiv2_insurance_premiums_banner:
path: /apiv2/insurance/premiums_banner
controller: App\Controller\CustomerAppAPI\InsuranceController::getPremiumsBanner
methods: [GET]
apiv2_insurance_body_types:
path: /apiv2/insurance/body_types
controller: App\Controller\CustomerAppAPI\InsuranceController::getBodyTypes
methods: [GET]

View file

@ -3,6 +3,10 @@ capi_test:
path: /capi/test
controller: App\Controller\CAPI\TestController::test
capi_test_warranty_serial:
path: /test_capi/test/warranty_serial
controller: App\Controller\CAPI\TestController::warrantySerial
# battery api
@ -49,6 +53,11 @@ capi_vehicle_list:
controller: App\Controller\CAPI\VehicleController::list
methods: [GET]
capi_vehicle_by_mfg:
path: /capi/vehicle_manufacturer/{mfg_id}
controller: App\Controller\CAPI\VehicleController::getByManufacturer
methods: [GET]
# plate api
@ -108,6 +117,12 @@ capi_warranty_privacy_policy:
controller: App\Controller\CAPI\WarrantyController::setPrivacyPolicy
methods: [POST]
# get list of warranties given list of serials
capi_warranty_get_warranties_from_serials:
path: /capi/warranties_list
controller: App\Controller\CAPI\WarrantyController::getWarrantiesBySerialList
methods: [POST]
# customer vehicle api
# find customer vehicle by id
@ -143,3 +158,52 @@ capi_customer_register:
path: /capi/quick_registration
controller: App\Controller\CAPI\CustomerController::register
methods: [POST]
# verify if resq customer
capi_customer_verify:
path: /capi/customer/{customer_hash}
controller: App\Controller\CAPI\CustomerController::verifyCustomer
methods: [GET]
# customer warranty api
capi_cwarr_check:
path: /capi/customer_warranty/{serial}
controller: App\Controller\CAPI\CustomerWarrantyController::check
methods: [GET]
capi_cwarr_register:
path: /capi/customer_warranty/{serial}
controller: App\Controller\CAPI\CustomerWarrantyController::register
methods: [POST]
# municipality
capi_municipality_list:
path: /capi/municipality
controller: App\Controller\CAPI\MunicipalityController::getAll
methods: [GET]
# dealer
capi_dealer_list:
path: /capi/dealers
controller: App\Controller\CAPI\DealerController::getAll
methods: [GET]
# warranty serial api
capi_warranty_serial_upload:
path: /capi/warranty_serial/upload
controller: App\Controller\CAPI\WarrantySerialController::uploadWarrantySerialFile
methods: [POST]
# pullout form system
# hub
capi_hub_list:
path: /capi/hubs
controller: App\Controller\CAPI\HubController::getAll
methods: [GET]
# job order details
capi_job_order:
path: /capi/job_order/{id}
controller: App\Controller\CAPI\JobOrderController::getJobOrder
methods: [GET]

View file

@ -0,0 +1,117 @@
# rider app api
capi_rider_register:
path: /rider_api/register
controller: App\Controller\CAPI\RiderAppController::register
methods: [POST]
capi_rider_login:
path: /rider_api/login
controller: App\Controller\CAPI\RiderAppController::login
methods: [POST]
capi_rider_logout:
path: /rider_api/logout
controller: App\Controller\CAPI\RiderAppController::logout
methods: [POST]
capi_rider_jo_get:
path: /rider_api/joborder
controller: App\Controller\CAPI\RiderAppController::getJobOrder
methods: [GET]
capi_rider_jo_accept:
path: /rider_api/accept
controller: App\Controller\CAPI\RiderAppController::acceptJobOrder
methods: [POST]
capi_rider_jo_cancel:
path: /rider_api/cancel
controller: App\Controller\CAPI\RiderAppController::cancelJobOrder
methods: [POST]
capi_rider_arrive:
path: /rider_api/arrive
controller: App\Controller\CAPI\RiderAppController::arrive
methods: [POST]
capi_rider_payment:
path: /rider_api/payment
controller: App\Controller\CAPI\RiderAppController::payment
methods: [POST]
capi_rider_hub_arrive:
path: /rider_api/hub_arrive
controller: App\Controller\CAPI\RiderAppController::hubArrive
methods: [POST]
capi_rider_promos:
path: /rider_api/promos
controller: App\Controller\CAPI\RiderAppController::getPromos
methods: [GET]
capi_rider_batteries:
path: /rider_api/batteries
controller: App\Controller\CAPI\RiderAppController::getBatteries
methods: [GET]
capi_rider_change_service:
path: /rider_api/service
controller: App\Controller\CAPI\RiderAppController::changeService
methods: [POST]
capi_rider_available:
path: /rider_api/available
controller: App\Controller\CAPI\RiderAppController::available
methods: [POST]
capi_rider_hub_depart:
path: /rider_api/hub_depart
controller: App\Controller\CAPI\RiderAppController::hubDepart
methods: [POST]
capi_rider_pre_hub_depart:
path: /rider_api/pre_hub_depart
controller: App\Controller\CAPI\RiderAppController::preHubDepart
methods: [POST]
capi_rider_pre_hub_arrive:
path: /rider_api/pre_hub_arrive
controller: App\Controller\CAPI\RiderAppController::preHubArrive
methods: [POST]
capi_rider_post_hub_depart:
path: /rider_api/post_hub_depart
controller: App\Controller\CAPI\RiderAppController::postHubDepart
methods: [POST]
capi_rider_post_hub_arrive:
path: /rider_api/post_hub_arrive
controller: App\Controller\CAPI\RiderAppController::postHubArrive
methods: [POST]
capi_rider_jo_start:
path: /rider_api/start
controller: App\Controller\CAPI\RiderAppController::startJobOrder
methods: [POST]
# trade-ins
capi_rider_battery_sizes:
path: /rider_api/battery_sizes
controller: App\Controller\CAPI\RiderAppController::getBatterySizes
methods: [GET]
capi_rider_trade_in_types:
path: /rider_api/trade_in_types
controller: App\Controller\CAPI\RiderAppController::getTradeInTypes
methods: [GET]
capi_rider_battery_info:
path: /rider_api/battery/{serial}
controller: App\Controller\CAPI\RiderAppController::getBatteryInfo
methods: [GET]
capi_rider_update_jo:
path: /rider_api/job_order/update
controller: App\Controller\CAPI\RiderAppController::updateJobOrder
methods: [POST]

View file

@ -5,7 +5,7 @@ customer_list:
customer_rows:
path: /customers/rows
controller: App\Controller\CustomerController::rows
methods: [POST]
methods: [GET,POST]
customer_vehicle_search:
path: /customers/vehicles
@ -44,3 +44,8 @@ customer_delete:
path: /customers/{id}
controller: App\Controller\CustomerController::destroy
methods: [DELETE]
customer_vehicle_warranty_edit_ajax:
path: /ajax/customer_vehicle/{id}
controller: App\Controller\CustomerController::editCustomerVehicleWarranty
methods: [POST]

View file

@ -0,0 +1,227 @@
# api
cust_api_register:
path: /apiv2/register
controller: App\Controller\CustomerAppAPI\AuthController::register
methods: [POST]
cust_api_confirm:
path: /apiv2/number_confirm
controller: App\Controller\CustomerAppAPI\AuthController::confirmNumber
methods: [POST]
cust_api_validate:
path: /apiv2/code_validate
controller: App\Controller\CustomerAppAPI\AuthController::validateCode
methods: [POST]
cust_api_info_get:
path: /apiv2/info
controller: App\Controller\CustomerAppAPI\CustomerController::getInfo
methods: [GET]
cust_api_info_update:
path: /apiv2/info
controller: App\Controller\CustomerAppAPI\CustomerController::updateInfo
methods: [POST]
cust_api_status:
path: /apiv2/status
controller: App\Controller\CustomerAppAPI\CustomerController::getStatus
methods: [GET]
cust_api_vehicle_mfg_list:
path: /apiv2/vehicle/mfgs
controller: App\Controller\CustomerAppAPI\VehicleController::listVehicleManufacturers
methods: [GET]
cust_api_vehicle_make_list:
path: /apiv2/vehicle/mfgs/{mfg_id}/makes
controller: App\Controller\CustomerAppAPI\VehicleController::listVehicleMakes
methods: [GET]
cust_api_cust_vehicle_add:
path: /apiv2/vehicles
controller: App\Controller\CustomerAppAPI\VehicleController::addVehicle
methods: [POST]
cust_api_cust_vehicle_update:
path: /apiv2/vehicles/{id}
controller: App\Controller\CustomerAppAPI\VehicleController::updateVehicle
methods: [POST]
cust_api_cust_vehicle_list:
path: /apiv2/vehicles
controller: App\Controller\CustomerAppAPI\VehicleController::listVehicles
methods: [GET]
cust_api_promo_list:
path: /apiv2/promos
controller: App\Controller\CustomerAppAPI\PromoController::listPromos
methods: [GET]
cust_api_battery_list:
path: /apiv2/vehicles/{vid}/compatible_batteries
controller: App\Controller\CustomerAppAPI\VehicleController::getCompatibleBatteries
methods: [GET]
cust_api_jo_request:
path: /apiv2/job_order
controller: App\Controller\CustomerAppAPI\JobOrderController::requestJobOrder
methods: [POST]
cust_api_estimate:
path: /apiv2/estimate
controller: App\Controller\CustomerAppAPI\EstimateController::getEstimate
methods: [POST]
cust_api_ongoing:
path: /apiv2/job_order/ongoing
controller: App\Controller\CustomerAppAPI\JobOrderController::getOngoing
methods: [GET]
cust_api_rider_status:
path: /apiv2/rider
controller: App\Controller\CustomerAppAPI\RiderController::getRiderStatus
methods: [GET]
cust_api_rider_rating_add:
path: /apiv2/rider_rating
controller: App\Controller\CustomerAppAPI\RiderController::addRiderRating
methods: [POST]
cust_api_jo_cancel:
path: /apiv2/job_order/cancel
controller: App\Controller\CustomerAppAPI\JobOrderController:cancelJobOrder
methods: [POST]
cust_api_jo_history:
path: /apiv2/job_order/history
controller: App\Controller\CustomerAppAPI\JobOrderController:getJOHistory
methods: [GET]
cust_api_jo_invoice:
path: /apiv2/job_order/invoice
controller: App\Controller\CustomerAppAPI\JobOrderController:getJOInvoice
methods: [GET]
cust_api_device_id:
path: /apiv2/device_id
controller: App\Controller\CustomerAppAPI\DeviceController:updateDeviceID
methods: [POST]
cust_api_privacy:
path: /apiv2/privacy
controller: App\Controller\CustomerAppAPI\PrivacyController:privacySettings
methods: [POST]
cust_api_resend_code:
path: /apiv2/resend_code
controller: App\Controller\CustomerAppAPI\AuthController:resendCode
methods: [POST]
cust_api_location_support:
path: /apiv2/location_support
controller: App\Controller\CustomerAppAPI\LocationController:locationSupport
methods: [GET]
cust_api_activate_warranty:
path: /apiv2/activate_warranty
controller: App\Controller\CustomerAppAPI\WarrantyController:activateWarranty
methods: [POST]
cust_api_service_list:
path: /apiv2/services
controller: App\Controller\CustomerAppAPI\ServiceController:listServices
methods: [GET]
cust_api_partner_info:
path: /apiv2/partners/{pid}
controller: App\Controller\CustomerAppAPI\PartnerController:getPartnerInformation
methods: [GET]
cust_api_partner:
path: /apiv2/partners
controller: App\Controller\CustomerAppAPI\PartnerController:getClosestPartners
methods: [GET]
cust_api_partner_review:
path: /apiv2/partners/{pid}/review
controller: App\Controller\CustomerAppAPI\PartnerController:reviewPartner
methods: [POST]
cust_api_nearest_hub_slots:
path: /apiv2/hub_slots
controller: App\Controller\CustomerAppAPI\LocationController::getNearestHubAndSlots
methods: [GET]
cust_api_new_jo_request:
path: /apiv2/new_job_order
controller: App\Controller\CustomerAppAPI\JobOrderController::newRequestJobOrder
methods: [POST]
cust_api_version_check:
path: /apiv2/version_check
controller: App\Controller\CustomerAppAPI\AppController::versionCheck
methods: [GET]
cust_api_schedule_option_status:
path: /apiv2/schedule_option_status
controller: App\Controller\CustomerAppAPI\ScheduleController::scheduleOptionStatus
methods: [GET]
# paperless warranty / qr code
cust_api_warr_serial_check:
path: /apiv2/warranty/{serial}
controller: App\Controller\CustomerAppAPI\WarrantyController::warrantyCheck
methods: [GET]
cust_api_warr_serial_register:
path: /apiv2/warranty/{serial}
controller: App\Controller\CustomerAppAPI\WarrantyController::warrantyRegister
methods: [POST]
cust_api_jo_info:
path: /apiv2/job_order/{id}/info
controller: App\Controller\CustomerAppAPI\JobOrderController::getJobOrderInfo
methods: [GET]
cust_api_ongoing_job_orders:
path: /apiv2/job_orders/ongoing
controller: App\Controller\CustomerAppAPI\JobOrderController::getAllOngoingJobOrders
methods: [GET]
cust_api_ongoing_jo_count:
path: /apiv2/job_orders/ongoing/count
controller: App\Controller\CustomerAppAPI\JobOrderController::getOngoingJobOrderCount
methods: [GET]
cust_api_new_location:
path: /apiv2/new_location
controller: App\Controller\CustomerAppAPI\LocationController::addLocation
methods: [POST]
cust_api_locations:
path: /apiv2/locations
controller: App\Controller\CustomerAppAPI\LocationController::getLocations
methods: [GET]
cust_api_cust_vehicle_remove:
path: /apiv2/vehicles/{id}/remove
controller: App\Controller\CustomerAppAPI\VehicleController::removeVehicle
methods: [POST]
cust_api_latest_job_order:
path: /apiv2/job_order/latest
controller: App\Controller\CustomerAppAPI\JobOrderController::getLatestJobOrder
methods: [GET]
cust_api_customer_hash_get:
path: /apiv2/customer_hash
controller: App\Controller\CustomerAppAPI\CustomerController::getCustomerHash
methods: [GET]
#cust_api_completed_job_orders:
# path: /apiv2/job_orders/completed
# controller: App\Controller\CustomerAppAPI\JobOrderController::getCompletedJobOrders
# methods: [GET]

View file

@ -0,0 +1,35 @@
customer_location_list:
path: /customer-locations
controller: App\Controller\CustomerLocationController::index
methods: [GET]
customer_location_rows:
path: /customer-locations/rowdata
controller: App\Controller\CustomerLocationController::datatableRows
methods: [POST]
customer_location_add_form:
path: /customer-locations/newform
controller: App\Controller\CustomerLocationController::addForm
methods: [GET]
customer_location_add_submit:
path: /customer-locations
controller: App\Controller\CustomerLocationController::addSubmit
methods: [POST]
customer_location_update_form:
path: /customer-locations/{id}
controller: App\Controller\CustomerLocationController::updateForm
methods: [GET]
customer_location_update_submit:
path: /customer-locations/{id}
controller: App\Controller\CustomerLocationController::updateSubmit
methods: [POST]
customer_location_delete:
path: /customer-locations/{id}
controller: App\Controller\CustomerLocationController::deleteSubmit
methods: [DELETE]

View file

@ -0,0 +1,33 @@
customertag_list:
path: /customer_tags
controller: App\Controller\CustomerTagController::index
customertag_rows:
path: /customer_tags/rows
controller: App\Controller\CustomerTagController::rows
methods: [POST]
customertag_create:
path: /customer_tags/create
controller: App\Controller\CustomerTagController::addForm
methods: [GET]
customertag_create_submit:
path: /customer_tags/create
controller: App\Controller\CustomerTagController::addSubmit
methods: [POST]
customertag_update:
path: /customer_tags/{id}
controller: App\Controller\CustomerTagController::updateForm
methods: [GET]
customertag_update_submit:
path: /customer_tags/{id}
controller: App\Controller\CustomerTagController::updateSubmit
methods: [POST]
customertag_delete:
path: /customer_tags/{id}
controller: App\Controller\CustomerTagController::destroy
methods: [DELETE]

33
config/routes/dealer.yaml Normal file
View file

@ -0,0 +1,33 @@
dealer_list:
path: /dealers
controller: App\Controller\DealerController::index
dealer_rows:
path: /dealers/rows
controller: App\Controller\DealerController::rows
methods: [POST]
dealer_create:
path: /dealers/create
controller: App\Controller\DealerController::addForm
methods: [GET]
dealer_create_submit:
path: /dealers/create
controller: App\Controller\DealerController::addSubmit
methods: [POST]
dealer_update:
path: /dealers/{id}
controller: App\Controller\DealerController::updateForm
methods: [GET]
dealer_update_submit:
path: /dealers/{id}
controller: App\Controller\DealerController::updateSubmit
methods: [POST]
dealer_delete:
path: /dealers/{id}
controller: App\Controller\DealerController::destroy
methods: [DELETE]

View file

@ -11,3 +11,7 @@ test_gmap:
test_distance:
path: /test/distance
controller: App\Controller\TestController::distance
test_motiv_connector:
path: /test/motiv_connector
controller: App\Controller\TestController::motivConnector

View file

@ -0,0 +1,34 @@
emergency_type_list:
path: /emergency-types
controller: App\Controller\EmergencyTypeController::index
methods: [GET]
emergency_type_rows:
path: /emergency-types/rowdata
controller: App\Controller\EmergencyTypeController::datatableRows
methods: [POST]
emergency_type_add_form:
path: /emergency-types/newform
controller: App\Controller\EmergencyTypeController::addForm
methods: [GET]
emergency_type_add_submit:
path: /emergency-types
controller: App\Controller\EmergencyTypeController::addSubmit
methods: [POST]
emergency_type_update_form:
path: /emergency-types/{id}
controller: App\Controller\EmergencyTypeController::updateForm
methods: [GET]
emergency_type_update_submit:
path: /emergency-types/{id}
controller: App\Controller\EmergencyTypeController::updateSubmit
methods: [POST]
emergency_type_delete:
path: /emergency-types/{id}
controller: App\Controller\EmergencyTypeController::deleteSubmit
methods: [DELETE]

View file

@ -0,0 +1,6 @@
# insurance
insurance_listener:
path: /insurance/listen
controller: App\Controller\InsuranceController::listen
methods: [POST]

View file

@ -0,0 +1,14 @@
item_pricing:
path: /item-pricing
controller: App\Controller\ItemPricingController::index
methods: [GET]
item_pricing_update:
path: /item-pricing
controller: App\Controller\ItemPricingController::formSubmit
methods: [POST]
item_pricing_prices:
path: /item-pricing/{pt_id}/{it_id}/prices
controller: App\Controller\ItemPricingController::itemPrices
methods: [GET]

View file

@ -0,0 +1,34 @@
item_type_list:
path: /item-types
controller: App\Controller\ItemTypeController::index
methods: [GET]
item_type_rows:
path: /item-types/rowdata
controller: App\Controller\ItemTypeController::datatableRows
methods: [POST]
item_type_add_form:
path: /item-types/newform
controller: App\Controller\ItemTypeController::addForm
methods: [GET]
item_type_add_submit:
path: /item-types
controller: App\Controller\ItemTypeController::addSubmit
methods: [POST]
item_type_update_form:
path: /item-types/{id}
controller: App\Controller\ItemTypeController::updateForm
methods: [GET]
item_type_update_submit:
path: /item-types/{id}
controller: App\Controller\ItemTypeController::updateSubmit
methods: [POST]
item_type_delete:
path: /item-types/{id}
controller: App\Controller\ItemTypeController::deleteSubmit
methods: [DELETE]

View file

@ -206,3 +206,69 @@ jo_tracker:
controller: App\Controller\JobOrderController::tracker
methods: [GET]
jo_walkin_form:
path: /job-order/walk-in
controller: App\Controller\JobOrderController::walkInForm
methods: [GET]
jo_walkin_submit:
path: /job-order/walk-in
controller: App\Controller\JobOrderController::walkInSubmit
methods: [POST]
jo_walkin_edit_form:
path: /job-order/walk-in/{id}
controller: App\Controller\JobOrderController::walkInEditForm
methods: [GET]
jo_walkin_edit_submit:
path: /job-order/walk-in/{id}
controller: App\Controller\JobOrderController::walkInEditSubmit
methods: [POST]
jo_autoassign:
path: /job-order/autoassign
controller: App\Controller\JobOrderController::autoAssignForm
methods: [GET]
jo_autoassign_test_submit:
path: /job-order/autoassign
controller: App\Controller\JobOrderController::autoAssignSubmit
methods: [POST]
jo_hub_view:
path: /job-order/hub-view
controller: App\Controller\JobOrderController::hubView
methods: [GET]
jo_hub_view_rows:
path: /job-order/hub-view-rows
controller: App\Controller\JobOrderController::getHubViewRows
methods: [POST]
defaults:
tier: "hub_view_all"
jo_hub_view_form:
path: /job-order/hub-view/{id}
controller: App\Controller\JobOrderController::hubViewForm
methods: [GET]
jo_fulfill_cancel_submit:
path: /job-order/fulfillcancel/{id}
controller: App\Controller\JobOrderController::fulfillCancelSubmit
methods: [POST]
jo_cancel_reasons:
path: /ajax/jo_cancel_reasons
controller: App\Controller\JobOrderController::cancelReasons
methods: [GET]
jo_geofence:
path: /ajax/job-order/geofence
controller: App\Controller\JobOrderController::checkGeofence
methods: [GET]
jo_all_view_form:
path: /job-order/all/view/{id}
controller: App\Controller\JobOrderController::allViewForm
methods: [GET]

View file

@ -0,0 +1,38 @@
motolite_event_list:
path: /motolite_events
controller: App\Controller\MotoliteEventController::index
motolite_event_rows:
path: /motolite_events/rows
controller: App\Controller\MotoliteEventController::rows
methods: [POST]
motolite_event_create:
path: /motolite_events/create
controller: App\Controller\MotoliteEventController::addForm
methods: [GET]
motolite_event_create_submit:
path: /motolite_events/create
controller: App\Controller\MotoliteEventController::addSubmit
methods: [POST]
motolite_event_upload_image:
path: /motolite_events/upload
controller: App\Controller\MotoliteEventController::uploadImage
methods: [POST]
motolite_event_update:
path: /motolite_events/{id}
controller: App\Controller\MotoliteEventController::updateForm
methods: [GET]
motolite_event_update_submit:
path: /motolite_events/{id}
controller: App\Controller\MotoliteEventController::updateSubmit
methods: [POST]
motolite_event_delete:
path: /motolite_events/{id}
controller: App\Controller\MotoliteEventController::destroy
methods: [DELETE]

View file

@ -0,0 +1,35 @@
ownership_type_list:
path: /ownership-types
controller: App\Controller\OwnershipTypeController::index
methods: [GET]
ownership_type_rows:
path: /ownership-types/rowdata
controller: App\Controller\OwnershipTypeController::datatableRows
methods: [POST]
ownership_type_add_form:
path: /ownership-types/newform
controller: App\Controller\OwnershipTypeController::addForm
methods: [GET]
ownership_type_add_submit:
path: /ownership-types
controller: App\Controller\OwnershipTypeController::addSubmit
methods: [POST]
ownership_type_update_form:
path: /ownership-types/{id}
controller: App\Controller\OwnershipTypeController::updateForm
methods: [GET]
ownership_type_update_submit:
path: /ownership-types/{id}
controller: App\Controller\OwnershipTypeController::updateSubmit
methods: [POST]
ownership_type_delete:
path: /ownership-types/{id}
controller: App\Controller\OwnershipTypeController::deleteSubmit
methods: [DELETE]

View file

@ -0,0 +1,16 @@
# paymongo
paymongo_listener:
path: /paymongo/listen
controller: App\Controller\PayMongoController::listen
methods: [POST]
paymongo_payment_success:
path: /paymongo/success
controller: App\Controller\PayMongoController::paymentSuccess
methods: [GET]
paymongo_payment_cancelled:
path: /paymongo/cancelled
controller: App\Controller\PayMongoController::paymentCancelled
methods: [GET]

View file

@ -0,0 +1,34 @@
price_tier_list:
path: /price-tiers
controller: App\Controller\PriceTierController::index
methods: [GET]
price_tier_rows:
path: /price-tiers/rows
controller: App\Controller\PriceTierController::datatableRows
methods: [POST]
price_tier_add_form:
path: /price-tiers/newform
controller: App\Controller\PriceTierController::addForm
methods: [GET]
price_tier_add_submit:
path: /price-tiers
controller: App\Controller\PriceTierController::addSubmit
methods: [POST]
price_tier_update_form:
path: /price-tiers/{id}
controller: App\Controller\PriceTierController::updateForm
methods: [GET]
price_tier_update_submit:
path: /price-tiers/{id}
controller: App\Controller\PriceTierController::updateSubmit
methods: [POST]
price_tier_delete:
path: /price-tiers/{id}
controller: App\Controller\PriceTierController::deleteSubmit
methods: [DELETE]

View file

@ -73,7 +73,97 @@ rep_warranty_details_form:
controller: App\Controller\ReportController::warrantyDetailsForm
methods: [GET]
rep_warranty_details_export_csv:
rep_warranty_details_submit:
path: /report/warranty_details_report
controller: App\Controller\ReportController::warrantyDetailsExportCSV
controller: App\Controller\ReportController::warrantyDetailsSubmit
methods: [POST]
rep_jo_details_form:
path: /report/jo_details_report
controller: App\Controller\ReportController::jobOrderDetailsForm
methods: [GET]
rep_jo_details_submit:
path: /report/jo_details_report
controller: App\Controller\ReportController::jobOrderDetailsSubmit
methods: [POST]
rep_jo_events_form:
path: /report/jo_events_report
controller: App\Controller\ReportController::jobOrderEventsForm
methods: [GET]
rep_jo_events_submit:
path: /report/jo_events_report
controller: App\Controller\ReportController::jobOrderEventsSubmit
methods: [POST]
rep_sms_messages_form:
path: /report/sms_messages_report
controller: App\Controller\ReportController::smsMessagesForm
methods: [GET]
rep_sms_messages_submit:
path: /report/sms_messages_report
controller: App\Controller\ReportController::smsMessagesSubmit
methods: [POST]
rep_jo_auto_assign_form:
path: /report/jo_auto_assign_report
controller: App\Controller\ReportController::jobOrderAutoAssignForm
methods: [GET]
rep_jo_auto_assign_submit:
path: /report/jo_auto_assign_report
controller: App\Controller\ReportController::jobOrderAutoAssignSubmit
methods: [POST]
rep_jo_advance_order_form:
path: /report/jo_advance_order_report
controller: App\Controller\ReportController::jobOrderAdvanceOrderForm
methods: [GET]
rep_jo_advance_order_submit:
path: /report/jo_advance_order_report
controller: App\Controller\ReportController::jobOrderAdvanceOrderSubmit
methods: [POST]
rep_customer_source_form:
path: /report/customer_source_report
controller: App\Controller\ReportController::customerSourceForm
methods: [GET]
rep_customer_source_submit:
path: /report/customer_source_report
controller: App\Controller\ReportController::customerSourceSubmit
methods: [POST]
rep_hub_filter_form:
path: /report/hub_filter_report
controller: App\Controller\ReportController::hubFilterForm
methods: [GET]
rep_hub_filter_submit:
path: /report/hub_filter_report
controller: App\Controller\ReportController::hubFilterSubmit
methods: [POST]
rep_warranty_raffle_form:
path: /report/warranty_raffle_report
controller: App\Controller\ReportController::warrantyRaffleForm
methods: [GET]
rep_warranty_raffle_submit:
path: /report/warranty_raffle_report
controller: App\Controller\ReportController::warrantyRaffleSubmit
methods: [POST]
rep_jo_raffle_form:
path: /report/jo_raffle_report
controller: App\Controller\ReportController::joRaffleForm
methods: [GET]
rep_jo_raffle_submit:
path: /report/jo_raffle_report
controller: App\Controller\ReportController::joRaffleSubmit
methods: [POST]

View file

@ -0,0 +1,23 @@
jo_resq_proc:
path: /resq-job-order/processing
controller: App\Controller\ResqJobOrderController::listProcessing
methods: [GET]
jo_resq_proc_rows:
path: /resq-job-order/processing-rows
controller: App\Controller\ResqJobOrderController::datatableRows
methods: [POST]
defaults:
tier: "proc"
jo_resq_all:
path: /resq-job-order/all
controller: App\Controller\ResqJobOrderController::listAll
methods: [GET]
jo_resq_all_rows:
path: /resq-job-orer/all
controller: App\Controller\ResqJobOrderController::datatableRows
methods: [POST]
defaults:
tier: "all"

View file

@ -0,0 +1,33 @@
reviewtag_list:
path: /review_tags
controller: App\Controller\ReviewTagController::index
reviewtag_rows:
path: /review_tags/rows
controller: App\Controller\ReviewTagController::rows
methods: [POST]
reviewtag_create:
path: /review_tags/create
controller: App\Controller\ReviewTagController::addForm
methods: [GET]
reviewtag_create_submit:
path: /review_tags/create
controller: App\Controller\ReviewTagController::addSubmit
methods: [POST]
reviewtag_update:
path: /review_tags/{id}
controller: App\Controller\ReviewTagController::updateForm
methods: [GET]
reviewtag_update_submit:
path: /review_tags/{id}
controller: App\Controller\ReviewTagController::updateSubmit
methods: [POST]
reviewtag_delete:
path: /review_tags/{id}
controller: App\Controller\ReviewTagController::destroy
methods: [DELETE]

View file

@ -41,3 +41,23 @@ rider_ajax_popup:
path: /riders/{id}/popup
controller: App\Controller\RiderController::popupInfo
methods: [GET]
rider_active_jo:
path: /riders/{id}/activejo/{jo_id}
controller: App\Controller\RiderController::riderActiveJO
methods: [GET]
rider_priority_up_jo:
path: /riders/{id}/priority_up/{jo_id}
controller: App\Controller\RiderController::priorityUpJO
methods: [GET]
rider_priority_down_jo:
path: /riders/{id}/priority_down/{jo_id}
controller: App\Controller\RiderController::priorityDownJO
methods: [GET]
rider_ajax_available:
path: /riders/{id}/available
controller: App\Controller\RiderController::ajaxAvailable
methods: [GET]

View file

@ -64,3 +64,34 @@ rapi_available:
path: /rapi/available
controller: App\Controller\RAPIController::available
methods: [POST]
rapi_hub_depart:
path: /rapi/hub_depart
controller: App\Controller\RAPIController::hubDepart
methods: [POST]
rapi_pre_hub_depart:
path: /rapi/pre_hub_depart
controller: App\Controller\RAPIController::preHubDepart
methods: [POST]
rapi_pre_hub_arrive:
path: /rapi/pre_hub_arrive
controller: App\Controller\RAPIController::preHubArrive
methods: [POST]
rapi_post_hub_depart:
path: /rapi/post_hub_depart
controller: App\Controller\RAPIController::postHubDepart
methods: [POST]
rapi_post_hub_arrive:
path: /rapi/post_hub_arrive
controller: App\Controller\RAPIController::postHubArrive
methods: [POST]
rapi_jo_start:
path: /rapi/start
controller: App\Controller\RAPIController::startJobOrder
methods: [POST]

View file

@ -0,0 +1,148 @@
# sap battery
sapbattery_list:
path: /sap-batteries
controller: App\Controller\SAPBatteryController::index
sapbattery_rows:
path: /sap-batteries/rows
controller: App\Controller\SAPBatteryController::rows
methods: [POST]
sapbattery_upload_image:
path: /sap-batteries/upload
controller: App\Controller\SAPBatteryController::uploadImage
methods: [POST]
sapbattery_create:
path: /sap-batteries/create
controller: App\Controller\SAPBatteryController::addForm
methods: [GET]
sapbattery_create_submit:
path: /sap-batteries/create
controller: App\Controller\SAPBatteryController::addSubmit
methods: [POST]
sapbattery_update:
path: /sap-batteries/{id}
controller: App\Controller\SAPBatteryController::updateForm
methods: [GET]
sapbattery_update_submit:
path: /sap-batteries/{id}
controller: App\Controller\SAPBatteryController::updateSubmit
methods: [POST]
sapbattery_delete:
path: /sap-batteries/{id}
controller: App\Controller\SAPBatteryController::destroy
methods: [DELETE]
# sap battery brands
sapbrand_list:
path: /sap-battery-brands
controller: App\Controller\SAPBatteryBrandController::index
sapbrand_rows:
path: /sap-battery-brands/rows
controller: App\Controller\SAPBatteryBrandController::rows
methods: [POST]
sapbrand_create:
path: /sap-battery-brands/create
controller: App\Controller\SAPBatteryBrandController::addForm
methods: [GET]
sapbrand_create_submit:
path: /sap-battery-brands/create
controller: App\Controller\SAPBatteryBrandController::addSubmit
methods: [POST]
sapbrand_update:
path: /sap-battery-brands/{id}
controller: App\Controller\SAPBatteryBrandController::updateForm
methods: [GET]
sapbrand_update_submit:
path: /sap-battery-brands/{id}
controller: App\Controller\SAPBatteryBrandController::updateSubmit
methods: [POST]
sapbrand_delete:
path: /sap-battery-brands/{id}
controller: App\Controller\SAPBatteryBrandController::destroy
methods: [DELETE]
# sap battery sizes
sapbsize_list:
path: /sap-battery-sizes
controller: App\Controller\SAPBatterySizeController::index
sapbsize_rows:
path: /sap-battery-sizes/rows
controller: App\Controller\SAPBatterySizeController::rows
methods: [POST]
sapbsize_create:
path: /sap-battery-sizes/create
controller: App\Controller\SAPBatterySizeController::addForm
methods: [GET]
sapbsize_create_submit:
path: /sap-battery-sizes/create
controller: App\Controller\SAPBatterySizeController::addSubmit
methods: [POST]
sapbsize_update:
path: /sap-battery-sizes/{id}
controller: App\Controller\SAPBatterySizeController::updateForm
methods: [GET]
sapbsize_update_submit:
path: /sap-battery-sizes/{id}
controller: App\Controller\SAPBatterySizeController::updateSubmit
methods: [POST]
sapbsize_delete:
path: /sap-battery-sizes/{id}
controller: App\Controller\SAPBatterySizeController::destroy
methods: [DELETE]
# sap battery container sizes
sapcsize_list:
path: /sap-battery-container-sizes
controller: App\Controller\SAPBatteryContainerSizeController::index
sapcsize_rows:
path: /sap-battery-container-sizes/rows
controller: App\Controller\SAPBatteryContainerSizeController::rows
methods: [POST]
sapcsize_create:
path: /sap-battery-container-sizes/create
controller: App\Controller\SAPBatteryContainerSizeController::addForm
methods: [GET]
sapcsize_create_submit:
path: /sap-battery-container-sizes/create
controller: App\Controller\SAPBatteryContainerSizeController::addSubmit
methods: [POST]
sapcsize_update:
path: /sap-battery-container-sizes/{id}
controller: App\Controller\SAPBatteryContainerSizeController::updateForm
methods: [GET]
sapcsize_update_submit:
path: /sap-battery-container-sizes/{id}
controller: App\Controller\SAPBatteryContainerSizeController::updateSubmit
methods: [POST]
sapcsize_delete:
path: /sap-battery-container-sizes/{id}
controller: App\Controller\SAPBatteryContainerSizeController::destroy
methods: [DELETE]

View file

@ -0,0 +1,34 @@
service_charge_list:
path: /service_charges
controller: App\Controller\ServiceChargeController::index
service_charge_rows:
path: /service_charges/rows
controller: App\Controller\ServiceChargeController::rows
methods: [POST]
service_charge_create:
path: /service_charges/create
controller: App\Controller\ServiceChargeController::addForm
methods: [GET]
service_charge_create_submit:
path: /service_charges/create
controller: App\Controller\ServiceChargeController::addSubmit
methods: [POST]
service_charge_update:
path: /service_charges/{id}
controller: App\Controller\ServiceChargeController::updateForm
methods: [GET]
service_charge_update_submit:
path: /service_charges/{id}
controller: App\Controller\ServiceChargeController::updateSubmit
methods: [POST]
service_charge_delete:
path: /service_charges/{id}
controller: App\Controller\ServiceChargeController::destroy
methods: [DELETE]

View file

@ -0,0 +1,34 @@
service_offering_list:
path: /service-offerings
controller: App\Controller\ServiceOfferingController::index
methods: [GET]
service_offering_rows:
path: /service-offerings/rowdata
controller: App\Controller\ServiceOfferingController::datatableRows
methods: [POST]
service_offering_add_form:
path: /service-offerings/newform
controller: App\Controller\ServiceOfferingController::addForm
methods: [GET]
service_offering_add_submit:
path: /service-offerings
controller: App\Controller\ServiceOfferingController::addSubmit
methods: [POST]
service_offering_update_form:
path: /service-offerings/{id}
controller: App\Controller\ServiceOfferingController::updateForm
methods: [GET]
service_offering_update_submit:
path: /service-offerings/{id}
controller: App\Controller\ServiceOfferingController::updateSubmit
methods: [POST]
service_offering_delete:
path: /service-offerings/{id}
controller: App\Controller\ServiceOfferingController::deleteSubmit
methods: [DELETE]

6
config/routes/sms.yaml Normal file
View file

@ -0,0 +1,6 @@
# sms handling - rising tide
sms_delivery_receipt:
path: /sms/delivery_receipt
controller: App\Controller\SMSController::deliveryReceipt
methods: [POST]

View file

@ -0,0 +1,35 @@
subticket_type_list:
path: /subticket-types
controller: App\Controller\SubTicketTypeController::index
methods: [GET]
subticket_type_rows:
path: /subticket-types/rowdata
controller: App\Controller\SubTicketTypeController::datatableRows
methods: [POST]
subticket_type_add_form:
path: /subticket-types/newform
controller: App\Controller\SubTicketTypeController::addForm
methods: [GET]
subticket_type_add_submit:
path: /subticket-types
controller: App\Controller\SubTicketTypeController::addSubmit
methods: [POST]
subticket_type_update_form:
path: /subticket-types/{id}
controller: App\Controller\SubTicketTypeController::updateForm
methods: [GET]
subticket_type_update_submit:
path: /subticket-types/{id}
controller: App\Controller\SubTicketTypeController::updateSubmit
methods: [POST]
subticket_type_delete:
path: /subticket-types/{id}
controller: App\Controller\SubTicketTypeController::deleteSubmit
methods: [DELETE]

60
config/routes/tapi.yaml Normal file
View file

@ -0,0 +1,60 @@
# third party api
# job order
tapi_jo_request:
path: /tapi/job_order
controller: App\Controller\TAPI\JobOrderController::requestJobOrder
methods: [POST]
tapi_estimate:
path: /tapi/estimate
controller: App\Controller\TAPI\JobOrderController::getEstimate
methods: [POST]
tapi_jo_invoice:
path: /tapi/job_order/invoice/{jo_id}
controller: App\Controller\TAPI\JobOrderController:getJOInvoice
methods: [GET]
tapi_jo_cancel:
path: /tapi/job_order/cancel
controller: App\Controller\TAPI\JobOrderController:cancelJobOrder
methods: [POST]
tapi_jo_info:
path: /tapi/job_order/{jo_id}/info
controller: App\Controller\TAPI\JobOrderController::getJobOrderInfo
methods: [GET]
tapi_location_support:
path: /tapi/location_support
controller: App\Controller\TAPI\JobOrderController:locationSupport
methods: [POST]
tapi_nearest_hub_slots:
path: /tapi/hub_slots
controller: App\Controller\TAPI\JobOrderController::getNearestHubAndSlots
methods: [POST]
# vehicle manufacturer and vehicle
tapi_vehicle_mfg_list:
path: /tapi/vehicle/mfgs
controller: App\Controller\TAPI\VehicleController::listVehicleManufacturers
methods: [GET]
tapi_vehicle_make_list:
path: /tapi/vehicle/mfgs/{mfg_id}/makes
controller: App\Controller\TAPI\VehicleController::listVehicleMakes
methods: [GET]
# battery
tapi_battery_list:
path: /tapi/vehicles/{vid}/compatible_batteries
controller: App\Controller\TAPI\BatteryController::getCompatibleBatteries
methods: [POST]
# promos
tapi_promo_list:
path: /tapi/promos
controller: App\Controller\TAPI\PromoController::listPromos
methods: [GET]

View file

@ -0,0 +1,35 @@
ticket_type_list:
path: /ticket-types
controller: App\Controller\TicketTypeController::index
methods: [GET]
ticket_type_rows:
path: /ticket-types/rowdata
controller: App\Controller\TicketTypeController::datatableRows
methods: [POST]
ticket_type_add_form:
path: /ticket-types/newform
controller: App\Controller\TicketTypeController::addForm
methods: [GET]
ticket_type_add_submit:
path: /ticket-types
controller: App\Controller\TicketTypeController::addSubmit
methods: [POST]
ticket_type_update_form:
path: /ticket-types/{id}
controller: App\Controller\TicketTypeController::updateForm
methods: [GET]
ticket_type_update_submit:
path: /ticket-types/{id}
controller: App\Controller\TicketTypeController::updateSubmit
methods: [POST]
ticket_type_delete:
path: /ticket-types/{id}
controller: App\Controller\TicketTypeController::deleteSubmit
methods: [DELETE]

View file

@ -12,6 +12,11 @@ parameters:
app_access_key: 'access_keys'
cvu_brand_id: "%env(CVU_BRAND_ID)%"
country_code: "%env(COUNTRY_CODE)%"
api_version: "%env(API_VERSION)%"
android_app_version: "%env(ANDROID_APP_VERSION)%"
ios_app_version: "%env(IOS_APP_VERSION)%"
insurance_premiums_banner_url: "%env(INSURANCE_PREMIUMS_BANNER_URL)%"
enabled_hub_filters: "%env(ENABLED_HUB_FILTERS)%"
services:
# default configuration for services in *this* file
@ -42,20 +47,6 @@ services:
$cache_dir: "%kernel.cache_dir%"
$config_dir: "%kernel.root_dir%/../config"
Catalyst\AuthBundle\Service\ACLGenerator:
arguments:
$router: "@router.default"
$cache_dir: "%kernel.cache_dir%"
$config_dir: "%kernel.root_dir%/../config"
$acl_file: "%app_acl_file%"
Catalyst\AuthBundle\Service\ACLVoter:
arguments:
$user_class: "App\\Entity\\User"
tags: ['security.voter']
Catalyst\AuthBundle\Service\UserChecker:
App\Service\FileUploader:
arguments:
$target_dir: '%image_upload_directory%'
@ -64,6 +55,7 @@ services:
arguments:
$em: "@doctrine.orm.entity_manager"
$gmaps_api_key: "%env(GMAPS_API_KEY)%"
$cust_dist_limit: "%env(CUST_DISTANCE_LIMIT)%"
App\Service\RisingTideGateway:
arguments:
@ -72,12 +64,18 @@ services:
$pass: "%env(RT_PASS)%"
$usage_type: "%env(RT_USAGE_TYPE)%"
$shortcode: "%env(RT_SHORTCODE)%"
$dr_url: "https://resqaws.jankstudio.com/sms/delivery_receipt"
App\Service\MQTTClient:
arguments:
$redis_client: "@App\\Service\\RedisClientProvider"
$key: "mqtt_events"
App\Service\MQTTClientApiv2:
arguments:
$redis_client: "@App\\Service\\RedisClientProvider"
$key: "mqtt_events"
App\Service\APNSClient:
arguments:
$redis_client: "@App\\Service\\RedisClientProvider"
@ -108,111 +106,61 @@ services:
$cvu_mfg_id: "%env(CVU_MFG_ID)%"
$cvu_brand_id: "%env(CVU_BRAND_ID)%"
App\Command\LoadWarrantySerialCommand:
arguments:
$callback_url: "%env(WARRANTY_SERIAL_CALLBACK_URL)%"
App\Command\ProcessLatePaymongoTransactionsCommand:
arguments:
$em: "@doctrine.orm.entity_manager"
$paymongo: "@App\\Service\\PayMongoConnector"
$webhook_id: "%env(PAYMONGO_WEBHOOK_ID)%"
# rider tracker service
App\Service\RiderTracker:
arguments:
$redis_client: "@App\\Service\\RedisClientProvider"
Catalyst\APIBundle\Security\APIKeyUserProvider:
arguments:
$em: "@doctrine.orm.entity_manager"
Catalyst\APIBundle\Security\APIKeyAuthenticator:
arguments:
$em: "@doctrine.orm.entity_manager"
Catalyst\APIBundle\Command\UserCreateCommand:
arguments:
$em: "@doctrine.orm.entity_manager"
tags: ['console.command']
Catalyst\APIBundle\Command\TestCommand:
tags: ['console.command']
Catalyst\APIBundle\Command\TestAPICommand:
tags: ['console.command']
Catalyst\APIBundle\Access\Voter:
arguments:
$acl_gen: "@Catalyst\\APIBundle\\Access\\Generator"
$user_class: "Catalyst\\APIBundle\\Entity\\User"
tags: ['security.voter']
Catalyst\APIBundle\Access\Generator:
arguments:
$router: "@router.default"
$cache_dir: "%kernel.cache_dir%"
$config_dir: "%kernel.root_dir%/../config"
$acl_file: "%api_acl_file%"
Catalyst\MenuBundle\Menu\Generator:
arguments:
$router: "@router.default"
$cache_dir: "%kernel.cache_dir%"
$config_dir: "%kernel.root_dir%/../config"
Catalyst\MenuBundle\Listener\MenuAnnotationListener:
arguments:
$menu_name: "main_menu"
tags:
- { name: kernel.event_listener, event: kernel.controller, method: onKernelController }
# CMB invoice generator
App\Service\InvoiceGenerator\CMBInvoiceGenerator: ~
# Resq invoice generator
#App\Service\InvoiceGenerator\ResqInvoiceGenerator: ~
# invoice generator
App\Service\InvoiceGenerator\ResqInvoiceGenerator: ~
# invoice generator interface
App\Service\InvoiceGeneratorInterface: "@App\\Service\\InvoiceGenerator\\CMBInvoiceGenerator"
#App\Service\InvoiceGeneratorInterface: "@App\\Service\\InvoiceGenerator\\ResqInvoiceGenerator"
App\Service\InvoiceGeneratorInterface: "@App\\Service\\InvoiceManager"
# invoice manager
App\Service\InvoiceManager: ~
# Resq job order generator
#App\Service\JobOrderHandler\ResqJobOrderHandler:
# arguments:
# $country_code: "%env(COUNTRY_CODE)%"
# CMB job order generator
App\Service\JobOrderHandler\CMBJobOrderHandler:
# job order generator
App\Service\JobOrderHandler\ResqJobOrderHandler:
arguments:
$country_code: "%env(COUNTRY_CODE)%"
$country_code: "%env(COUNTRY_CODE)%"
$cust_distance_limit: "%env(CUST_DISTANCE_LIMIT_ADMIN_PANEL)%"
$hub_filter_enabled: "%env(HUB_FILTER_ENABLE)%"
#job order generator interface
App\Service\JobOrderHandlerInterface: "@App\\Service\\JobOrderHandler\\CMBJobOrderHandler"
#App\Service\JobOrderHandlerInterface: "@App\\Service\\JobOrderHandler\\ResqJobOrderHandler"
App\Service\JobOrderHandlerInterface: "@App\\Service\\JobOrderHandler\\ResqJobOrderHandler"
# CMB customer generator
App\Service\CustomerHandler\CMBCustomerHandler:
arguments:
$country_code: "%env(COUNTRY_CODE)%"
# Resq customer generator
#App\Service\CustomerHandler\ResqCustomerHandler:
# arguments:
# $country_code: "%env(COUNTRY_CODE)%"
# customer generator interface
App\Service\CustomerHandlerInterface: "@App\\Service\\CustomerHandler\\CMBCustomerHandler"
#App\Service\CustomerHandlerInterface: "@App\\Service\\CustomerHandler\\ResqCustomerHandler"
# rider assignment
#App\Service\RiderAssignmentHandler\CMBRiderAssignmentHandler: ~
# rider assignment interface
App\Service\RiderAssignmentHandlerInterface: "@App\\Service\\RiderAssignmentHandler\\CMBRiderAssignmentHandler"
# rider API service
App\Service\RiderAPIHandler\CMBRiderAPIHandler:
# customer generator
App\Service\CustomerHandler\ResqCustomerHandler:
arguments:
$country_code: "%env(COUNTRY_CODE)%"
#App\Service\RiderAPIHandler\ResqRiderAPIHandler:
# arguments:
# $country_code: "%env(COUNTRY_CODE)%"
# customer generator interface
App\Service\CustomerHandlerInterface: "@App\\Service\\CustomerHandler\\ResqCustomerHandler"
# rider API interface
App\Service\RiderAPIHandlerInterface: "@App\\Service\\RiderAPIHandler\\CMBRiderAPIHandler"
# rider assignment
App\Service\RiderAssignmentHandler\ResqRiderAssignmentHandler: ~
# rider assignment interface
App\Service\RiderAssignmentHandlerInterface: "@App\\Service\\RiderAssignmentHandler\\ResqRiderAssignmentHandler"
# rider API service
App\Service\RiderAPIHandler\ResqRiderAPIHandler:
arguments:
$country_code: "%env(COUNTRY_CODE)%"
App\Service\RiderAPIHandlerInterface: "@App\\Service\\RiderAPIHandler\\ResqRiderAPIHandler"
# map manager
#App\Service\GISManager\Bing: ~
App\Service\GISManager\OpenStreet: ~
@ -241,9 +189,170 @@ services:
arguments:
$redis_prov: "@App\\Service\\RedisClientProvider"
$active_jo_key: "%env(LOCATION_JO_ACTIVE_KEY)%"
$latest_jo_key: "%env(LATEST_ACTIVE_JO)%"
App\Service\RiderCache:
arguments:
$redis_prov: "@App\\Service\\RedisClientProvider"
$loc_key: "%env(LOCATION_RIDER_ACTIVE_KEY)%"
$status_key: "%env(STATUS_RIDER_KEY)%"
# inventory manager
App\Service\InventoryManager:
arguments:
$api_url: "%env(INVENTORY_API_URL)%"
$api_ocp_key: "%env(INVENTORY_API_OCP)%"
$api_auth_prefix: "%env(INVENTORY_API_AUTH_TOKEN_PREFIX)%"
$api_auth_token: "%env(INVENTORY_API_AUTH_TOKEN)%"
# API logging
App\EventSubscriber\LogSubscriber:
arguments:
$api_log_flag: "%env(API_LOGGING)%"
# motiv connector
App\Service\MotivConnector:
arguments:
$base_url: "%env(MOTIV_BASE_URL)%"
$sub_key: "%env(MOTIV_KEY)%"
$token: "%env(MOTIV_TOKEN)%"
# insurance connector
App\Service\InsuranceConnector:
arguments:
$base_url: "%env(INSURANCE_BASE_URL)%"
$username: "%env(INSURANCE_USERNAME)%"
$password: "%env(INSURANCE_PASSWORD)%"
# entity listener for gateway transactions
App\EntityListener\GatewayTransactionListener:
arguments:
$em: "@doctrine.orm.entity_manager"
$ic: "@App\\Service\\InsuranceConnector"
tags:
- name: doctrine.orm.entity_listener
event: 'postUpdate'
entity: 'App\Entity\GatewayTransaction'
# paymongo connector
App\Service\PayMongoConnector:
arguments:
$base_url: "%env(PAYMONGO_BASE_URL)%"
$public_key: "%env(PAYMONGO_PUBLIC_KEY)%"
$secret_key: "%env(PAYMONGO_SECRET_KEY)%"
# entity listener for customer vehicle warranty code history
App\EntityListener\CustomerVehicleSerialListener:
arguments:
$ts: "@security.token_storage"
tags:
- name: doctrine.orm.entity_listener
event: 'preUpdate'
entity: 'App\Entity\CustomerVehicle'
- name: doctrine.orm.entity_listener
event: 'postUpdate'
entity: 'App\Entity\CustomerVehicle'
- name: doctrine.orm.entity_listener
event: 'postPersist'
entity: 'App\Entity\CustomerVehicle'
# warranty api logger
App\Service\WarrantyAPILogger:
arguments:
$em: "@doctrine.orm.entity_manager"
# warranty logger for raffle
App\Service\WarrantyRaffleLogger:
arguments:
$em: "@doctrine.orm.entity_manager"
# warranty raffle filter
App\Service\WarrantyRaffleFilter: ~
# promo logger
App\Service\PromoLogger:
arguments:
$em: "@doctrine.orm.entity_manager"
# hub service
App\Service\HubSelector:
arguments:
$em: "@doctrine.orm.entity_manager"
$im: "@App\\Service\\InventoryManager"
$hub_distributor: "@App\\Service\\HubDistributor"
$hub_filter_logger: "@App\\Service\\HubFilterLogger"
# hub distributor
App\Service\HubDistributor:
arguments:
$redis: "@App\\Service\\RedisClientProvider"
$hub_jo_key: "%env(HUB_JO_KEY)%"
# hub filter logger
App\Service\HubFilterLogger:
arguments:
$em: "@doctrine.orm.entity_manager"
# hub filter geofence checking
App\Service\HubFilteringGeoChecker:
arguments:
$geofence_flag: "%env(HUB_GEOFENCE_ENABLE)%"
# bulk warranty uploader
App\Service\WarrantyBulkUploader:
arguments:
$em: "@doctrine.orm.entity_manager"
# warranty serial file logger
App\Service\WarrantySerialUploadLogger:
arguments:
$em: "@doctrine.orm.entity_manager"
# warranty serial load logger
App\Service\WarrantySerialLoadLogger:
arguments:
$em: "@doctrine.orm.entity_manager"
# FCM sender
App\Service\FCMSender:
arguments:
$server_key: "%env(FCM_SERVER_KEY)%"
$sender_id: "%env(FCM_SENDER_ID)%"
# price tier manager
App\Service\PriceTierManager:
arguments:
$em: "@doctrine.orm.entity_manager"
# hub filters
App\Service\HubFilter\BaseHubFilter:
arguments:
$hub_filter_logger: "@App\\Service\\HubFilterLogger"
$em: "@doctrine.orm.entity_manager"
$rt: "@App\\Service\\RisingTideGateway"
$trans: "@Symfony\\Contracts\\Translation\\TranslatorInterface"
App\Service\HubFilter\Filters\DateAndTimeHubFilter:
public: true
App\Service\HubFilter\Filters\JoTypeHubFilter:
public: true
App\Service\HubFilter\Filters\MaxResultsHubFilter:
public: true
App\Service\HubFilter\Filters\PaymentMethodHubFilter:
public: true
App\Service\HubFilter\Filters\RiderAvailabilityHubFilter:
public: true
App\Service\HubFilter\Filters\InventoryHubFilter:
public: true
arguments:
$im: "@App\\Service\\InventoryManager"
App\Service\HubFilter\Filters\RoundRobinHubFilter:
public: true
arguments:
$hub_distributor: "@App\\Service\\HubDistributor"

View file

@ -0,0 +1 @@
INSERT INTO `service_charge` VALUES(1,'Bangi',20),(2,'Banting',30),(3,'Bdr Saujana Utama',20),(4,'Bdr Seri Coalfields',30),(5,'Bdr Baru Bangi',20),(6,'Bdr Saujana Putra',20),(7,'Bukit Beruntung',30),(8,'Cyberjaya',20),(9,'Dengkil',30),(10,'Hulu Langat',20),(11,'Jenjarom',30),(12,'Klia',30),(13,'Meru',20),(14,'Port Klang',20),(15,'Pulau Indah',30),(16,'Puncak Alam',20),(17,'Putrajaya',20),(18,'Rawang',30),(19,'Salak Tinggi',30),(20,'Semenyih',20),(21,'Sepang',30),(22,'Serendah',30),(23,'Sungai Buloh',20),(24,'Teluk Panglima Garang',30),(25,'Uitm Puncak Alam',20),(26,'12am - 7am',10),(27,'Out of define Klg Valley',20),(28,'Airport',35),(29,'Jump start',50),(30,'Product warranty service charge - existing BA customer',20),(31,'Product warranty service charge - non BA customer',40);

View file

@ -0,0 +1,2 @@
UPDATE customer SET date_create=NOW() WHERE date_create="0000-00-00 00:00:00";

View file

@ -0,0 +1 @@
UPDATE job_order jo, customer c, customer_vehicle cv SET jo.first_name = c.first_name, jo.last_name = c.last_name, jo.phone_mobile = c.phone_mobile, jo.plate_number = cv.plate_number WHERE jo.customer_id = c.id AND jo.cvehicle_id = cv.id;

0
public/.gitkeep Normal file
View file

View file

@ -155,6 +155,30 @@ span.has-danger,
color: #fff !important;
}
.m-table__row--is_vip td {
background-color: #ffff00 !important;
color: #414a4c !important;
}
.m-table__row--is_vip td > span,
.m-table__row--is_vip td > span a,
.m-table__row--is_vip td > span a i {
color: #414a4c !important;
}
.m-table__row--is_emergency td {
background-color: #ffa500 !important;
color: #fff !important;
}
.m-table__row--is_emergency td > span,
.m-table__row--is_emergency td > span a,
.m-table__row--is_emergency td > span a i {
color: #fff !important;
}
.m-datatable.m-datatable--default > .m-datatable__table {
min-height: 0 !important;
}
@ -358,4 +382,4 @@ span.has-danger,
.map-info .m-badge {
border-radius: 0;
}
}

BIN
public/assets/images/image.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

View file

@ -0,0 +1,74 @@
$(function() {
// export table to csv
$(document).on('click', '[data-export-csv]', async function(e) {
const el = e.target.closest('[data-export-csv]');
const oldLabel = el.innerHTML;
// set loading status
el.disabled = true;
el.innerHTML = 'Exporting...';
const formData = new FormData();
formData.append('datatable[pagination][page]', 1);
formData.append('datatable[pagination][perpage]', 10000000);
// get all rows
const response = await fetch(el.dataset.url, {
method: el.dataset.method,
body: formData,
});
const result = await response.json();
if (response.status === 200) {
// empty set returned
if (parseInt(result.meta.total) === 0) {
swal({
title: 'Whoops',
html: 'No data to export!',
type: 'warning',
});
}
// build csv data
const csvRows = [];
const fieldList = el.dataset.fields.split(',');
csvRows.push(el.dataset.headers);
result.data.forEach((row) => {
const fieldData = [];
fieldList.forEach((field) => {
fieldData.push('"' + row[field] + '"');
});
csvRows.push(fieldData.join(','));
});
const csvData = csvRows.join('\n');
// build the csv file
const csvFile = new Blob([csvData], {
type: 'text/csv',
});
// create a link to the file and download it
const url = window.URL.createObjectURL(csvFile);
const a = document.createElement('a');
a.href = url;
a.download = el.dataset.filename + '.csv';
a.click();
} else {
// something went wrong on the server
swal({
title: 'Whoops',
html: 'An error has occurred while retrieving data.',
type: 'error',
});
}
// remove loading status
el.disabled = false;
el.innerHTML = oldLabel;
});
});

View file

@ -3,12 +3,14 @@ class DashboardMap {
this.options = options;
this.rider_markers = rider_markers;
this.cust_markers = cust_markers;
this.rider_availability = {};
// layer groups
this.layer_groups = {
'rider_available': L.layerGroup(),
'rider_active_jo': L.layerGroup(),
'customer': L.layerGroup()
'customer': L.layerGroup(),
'mobile_customer': L.layerGroup(),
};
}
@ -20,17 +22,30 @@ class DashboardMap {
);
// add tile layer
var streets = L.tileLayer('https://api.maptiler.com/maps/streets/{z}/{x}/{y}.png?key={accessToken}',{
tileSize: 512,
zoomOffset: -1,
minZoom: 1,
attribution: '<a href="https://www.maptiler.com/copyright/" target="_blank">© MapTiler</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap contributors</a>',
crossOrigin: true,
accessToken: this.options.access_token
}).addTo(this.map);
/*
// NOTE: this is for mapbox
var streets = L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
maxZoom: 18,
id: 'mapbox/streets-v11',
accessToken: this.options.access_token
}).addTo(this.map);
*/
// layer groups
this.layer_groups.rider_available.addTo(this.map);
this.layer_groups.rider_active_jo.addTo(this.map);
this.layer_groups.customer.addTo(this.map);
this.layer_groups.mobile_customer.addTo(this.map);
// base layer
var baseMaps = {
@ -42,7 +57,8 @@ class DashboardMap {
var overlayMaps = {
'Available Riders' : this.layer_groups.rider_available,
'JO Riders' : this.layer_groups.rider_active_jo,
'Customers' : this.layer_groups.customer
'Customers' : this.layer_groups.customer,
'Mobile Customers': this.layer_groups.mobile_customer
}
L.control.layers(baseMaps, overlayMaps).addTo(this.map);
@ -51,6 +67,56 @@ class DashboardMap {
return this.map;
}
switchRiderStatus(rider_id, rider_status) {
console.log('switching rider ' + rider_id + ' to ' + rider_status);
// find the marker
console.log(this.rider_markers);
if (this.rider_markers.hasOwnProperty(rider_id)) {
var marker = this.rider_markers[rider_id];
} else {
// TODO: call ajax to get location and create marker
console.log('marker not found for rider');
return true;
}
// add it to proper layer group
console.log(rider_status);
if (rider_status == 'available') {
this.layer_groups.rider_active_jo.removeLayer(marker);
this.layer_groups.rider_available.addLayer(marker);
marker.setIcon(this.options.icons.rider_available);
} else if (rider_status == 'jo') {
this.layer_groups.rider_available.removeLayer(marker);
this.layer_groups.rider_active_jo.addLayer(marker);
marker.setIcon(this.options.icons.rider_active_jo);
}
}
switchJobOrderOrigin(jo_id, jo_origin) {
console.log('switching jo ' + jo_id + ' to ' + jo_origin);
// find the marker
if (this.cust_markers.hasOwnProperty(jo_id)) {
var marker = this.cust_markers[jo_id];
} else {
console.log('marker not found for customer');
return true;
}
// add marker to proper layer group
console.log(jo_origin);
if (jo_origin == 'mobile') {
this.layer_groups.customer.removeLayer(marker);
this.layer_groups.mobile_customer.addLayer(marker);
marker.setIcon(this.options.icons.mobile_customer);
} else {
this.layer_groups.mobile_customer.removeLayer(marker);
this.layer_groups.customer.addLayer(marker);
marker.setIcon(this.options.icons.customer);
}
}
putMarker(id, lat, lng, markers, icon, layer_group, popup_url) {
var my = this;
// existing marker
@ -76,7 +142,7 @@ class DashboardMap {
$.get(url).done(function(data) {
popup.setContent(data);
popup.update();
});
});
});
}
}
@ -95,7 +161,6 @@ class DashboardMap {
removeCustomerMarker(id) {
console.log('removing customer marker for ' + id);
var layer_group = this.layer_groups.customer;
var markers = this.cust_markers;
// no customer marker with that id
@ -104,7 +169,20 @@ class DashboardMap {
return;
}
layer_group.removeLayer(markers[id]);
this.layer_groups.customer.removeLayer(markers[id]);
this.layer_groups.mobile_customer.removeLayer(markers[id]);
}
putMobileCustomerMarker(id, lat, lng) {
this.putMarker(
id,
lat,
lng,
this.cust_markers,
this.options.icons.mobile_customer,
this.layer_groups.mobile_customer,
this.options.cust_popup_url
);
}
putRiderAvailableMarker(id, lat, lng) {
@ -131,6 +209,19 @@ class DashboardMap {
);
}
removeRiderMarker(id) {
console.log('removing rider marker for ' + id);
var markers = this.rider_markers;
if (!markers.hasOwnProperty(id)) {
console.log('no such marker to remove');
return;
}
this.layer_groups.rider_active_jo.removeLayer(markers[id]);
this.layer_groups.rider_available.removeLayer(markers[id]);
}
loadLocations(location_url) {
console.log(this.rider_markers);
var my = this;
@ -141,6 +232,7 @@ class DashboardMap {
my.layer_groups.rider_available.clearLayers();
my.layer_groups.rider_active_jo.clearLayers();
my.layer_groups.customer.clearLayers();
my.layer_groups.mobile_customer.clearLayers();
// get riders and job orders
var riders = response.riders;
@ -151,7 +243,10 @@ class DashboardMap {
var lat = data.latitude;
var lng = data.longitude;
my.putCustomerMarker(id, lat, lng);
if (data.is_mobile)
my.putMobileCustomerMarker(id, lat, lng);
else
my.putCustomerMarker(id, lat, lng);
});
// riders
@ -159,10 +254,13 @@ class DashboardMap {
var lat = data.latitude;
var lng = data.longitude;
if (data.has_jo)
if (data.has_jo) {
my.rider_availability[id] = false;
my.putRiderActiveJOMarker(id, lat, lng);
else
} else {
my.rider_availability[id] = true;
my.putRiderAvailableMarker(id, lat, lng);
}
});
// console.log(rider_markers);

View file

@ -1,7 +1,8 @@
class MapEventHandler {
constructor(options, dashmap) {
constructor(options, dashmap, ssl) {
this.options = options;
this.dashmap = dashmap;
this.ssl = ssl;
}
connect(user_id, host, port) {
@ -11,7 +12,7 @@ class MapEventHandler {
this.mqtt = new Paho.MQTT.Client(host, port, client_id);
var options = {
// useSSL: true,
useSSL: this.ssl,
timeout: 3,
invocationContext: this,
onSuccess: this.onConnect.bind(this),
@ -27,18 +28,34 @@ class MapEventHandler {
console.log('mqtt connected!');
var my = icontext.invocationContext;
// subscribe to rider locations
if (my.options.track_rider) {
// subscribe to rider locations
console.log('subscribing to ' + my.options.channels.rider_location);
my.mqtt.subscribe(my.options.channels.rider_location);
// subscribe to rider status
console.log('subscribing to ' + my.options.channels.rider_status);
my.mqtt.subscribe(my.options.channels.rider_status);
// subscribe to rider availability
console.log('subscribing to ' + my.options.channels.rider_availability);
my.mqtt.subscribe(my.options.channels.rider_availability);
}
// subscribe to jo locations
if (my.options.track_jo) {
// subscribe to jo locations
console.log('subscribing to ' + my.options.channels.jo_location);
my.mqtt.subscribe(my.options.channels.jo_location);
// subscribe to jo status
console.log('subscribing to ' + my.options.channels.jo_status);
my.mqtt.subscribe(my.options.channels.jo_status);
// subscribe to jo origin
console.log('subscribing to ' + my.options.channels.jo_origin);
my.mqtt.subscribe(my.options.channels.jo_origin);
}
}
onMessage(msg) {
@ -61,12 +78,12 @@ class MapEventHandler {
}
handleRider(chan_split, payload) {
console.log("rider message");
//console.log("rider message");
switch (chan_split[2]) {
case "location":
console.log("got location for rider " + chan_split[1] + " - " + payload);
var pl_split = payload.split(':');
console.log(pl_split);
// console.log(pl_split);
// check for correct format
if (pl_split.length != 2)
@ -75,8 +92,62 @@ class MapEventHandler {
var lat = parseFloat(pl_split[0]);
var lng = parseFloat(pl_split[1]);
// TODO: check if available or not
this.dashmap.putRiderAvailableMarker(chan_split[1], lat, lng);
break;
case "status":
console.log("got status for rider " + chan_split[1] + " - " + payload);
switch (payload) {
case 'available':
this.dashmap.switchRiderStatus(chan_split[1], 'available');
break;
case 'jo':
console.log('jo status');
this.dashmap.switchRiderStatus(chan_split[1], 'jo');
break;
case 'logout':
this.dashmap.removeRiderMarker(chan_split[1]);
break;
}
break;
case "availability":
console.log("got availability for rider " + chan_split[1] + " - " + payload);
var obj = JSON.parse(payload);
var status = obj.status;
// console.log("status " + status);
switch (status) {
case 'rider_offline':
this.dashmap.rider_availability[chan_split[1]] = false;
this.dashmap.removeRiderMarker(chan_split[1]);
break;
case 'rider_online':
this.dashmap.rider_availability[chan_split[1]] = true;
var lat = parseFloat(obj.latitude);
var lng = parseFloat(obj.longitude);
// check if rider is available / unavailable
var dashmap = this.dashmap;
var url = dashmap.options.rider_availability_url;
var rider_availability_url = url.replace('[id]', chan_split[1]);
$.get(rider_availability_url).done(function(data) {
console.log('rider availability - ' + data);
switch (data) {
case 'available':
console.log('putting available marker ' + chan_split[1] + ' ' + lat + ':' + lng);
dashmap.switchRiderStatus(chan_split[1], 'available');
dashmap.putRiderAvailableMarker(chan_split[1], lat, lng);
break;
case 'unavailable':
console.log('putting active jo marker ' + chan_split[1] + ' ' + lat + ':' + lng);
dashmap.switchRiderStatus(chan_split[1], 'jo');
dashmap.putRiderActiveJOMarker(chan_split[1], lat, lng);
break;
}
});
break;
}
break;
}
}
@ -102,6 +173,7 @@ class MapEventHandler {
this.dashmap.putCustomerMarker(id, lat, lng);
break;
case "status":
console.log("got status for jo " + payload);
switch (payload) {
case 'cancel':
case 'fulfill':
@ -109,6 +181,14 @@ class MapEventHandler {
this.dashmap.removeCustomerMarker(id);
break;
}
break;
case "origin":
console.log("got origin for jo " + payload);
if (payload == 'mobile_app')
{
this.dashmap.switchJobOrderOrigin(chan_split[1], 'mobile');
}
break;
}
}
}

BIN
public/battery/enduro_mobile.jpg Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

BIN
public/battery/excel_mobile.jpg Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

BIN
public/battery/generic.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
public/battery/gold_mobile.jpg Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View file

@ -0,0 +1 @@

View file

@ -44,7 +44,7 @@
<h2 style="font-weight: bold; font-size: 40px;">Can I request for any Res-Q service if I don't have or have a weak data signal?
</h2>
<p>Res-Q needs a stable data connection for you to be able to request for a service and track the location of our rider. If you don't have a stable data connection, you may call our hotline at (02) 370-6686.
<p>Res-Q needs a stable data connection for you to be able to request for a service and track the location of our rider. If you don't have a stable data connection, you may call our hotline at (02) 8370-6686.
</p>
<h2 style="font-weight: bold; font-size: 40px;">
@ -58,7 +58,13 @@ Yes, we accept Visa and Mastercard issued in the Philippines.
How can I pay for your services/ products?
</h2>
<p>
We accept COD, local Credit Cards, Debit Cards, and ATM Cards only.
We accept COD, local credit cards, debit cards, and ATM cards for battery replacement transactions. We only accept cash payment for flat tire, refuel and overheat transactions.
</p>
<p>
Credit Card and Debit Card Payment is for Battery Sales only.
</p>
<p>
Cash only for services request.
</p>
<h2 style="font-weight: bold; font-size: 40px;">
@ -72,7 +78,7 @@ Once you have successfully submitted your request, you will be able to see the p
How do I make a follow up for my order/service?
</h2>
<p>
Once your order/ service has been assigned to a Technician Rider, you may be able to see his/her contact details in the App. If no Technician Rider has been assigned yet, you may call our hotline at (02) 370-6686.
Once your order/ service has been assigned to a Technician Rider, you may be able to see his/her contact details in the App. If no Technician Rider has been assigned yet, you may call our hotline at (02) 8370-6686.
</p>
<h2 style="font-weight: bold; font-size: 40px;">
@ -93,14 +99,14 @@ Delivery for battery purchase is free of charge.
Can you deliver anywhere in the Philippines?
</h2>
<p>
Not yet. Res-Q is offered initially in Metro Manila only.
Not yet. Res-Q is offered Metro Manila, Baguio City and Binan, Laguna only.
</p>
<h2 style="font-weight: bold; font-size: 40px;">
My battery was pulled out and is being recharged in an outlet. How do I follow-up when I can take my battery back?
</h2>
<p>
Please call our hotline at (02) 370-6686.
Please call our hotline at (02) 8370-6686.
</p>
@ -109,7 +115,7 @@ Please call our hotline at (02) 370-6686.
How do I contact you for questions or feedback?
</h2>
<p>
You may call our Customer Support Hotline: 02-3706686 or email us at online@motolite.com.
You may call our Customer Support Hotline: 02-83706686 or email us at online@motolite.com.
</p>
<h2 style="font-weight: bold; font-size: 40px;">

View file

@ -58,7 +58,7 @@ Yes, we accept Visa and Mastercard issued in the Philippines.
How can I pay for your services/ products?
</h2>
<p>
We accept COD, local Credit Cards, Debit Cards, and ATM Cards only.
We accept COD, local credit cards, debit cards, and ATM cards for battery replacement transactions. We only accept cash payment for flat tire, refuel and overheat transactions.
</p>
<h2 style="font-weight: bold; font-size: 40px;">
@ -93,7 +93,7 @@ Delivery for battery purchase is free of charge.
Can you deliver anywhere in the Philippines?
</h2>
<p>
Not yet. Res-Q is offered initially in Metro Manila only.
Not yet. Res-Q is offered Metro Manila, Baguio City and Binan, Laguna only.
</p>
<h2 style="font-weight: bold; font-size: 40px;">

View file

@ -46,5 +46,7 @@ class AdjustLongLatCommand extends Command
}
$em->flush();
return 0;
}
}

View file

@ -71,5 +71,7 @@ class ComputeWarrantyExpiryDateCommand extends Command
$this->em->clear();
}
return 0;
}
}

View file

@ -0,0 +1,54 @@
<?php
namespace App\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Doctrine\ORM\EntityManagerInterface;
use App\Entity\WarrantySerialQueue;
class CountTotalPendingWarrantySerialFilesCommand extends Command
{
protected $em;
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
parent::__construct();
}
protected function configure()
{
$this->setName('warrantyserial:count')
->setDescription('Count number of pending warranty serial files.')
->setHelp('Count number of pending warranty serial files.');
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$em = $this->em;
$status = 'pending';
$db = $em->getConnection();
$ws_query_sql = 'SELECT COUNT(*) AS total FROM warranty_serial_queue
WHERE status = :status';
$ws_query_stmt = $db->prepare($ws_query_sql);
$ws_query_stmt->bindValue('status', $status);
$ws_results = $ws_query_stmt->executeQuery();
$results = $ws_results->fetchAssociative();
$output->write($results['total']);
return 0;
}
}

View file

@ -216,7 +216,8 @@ class CreateCustomerFromWarrantyCommand extends Command
$new_cust = new Customer();
$new_cust->setFirstName($w_first_name)
->setLastName($w_last_name)
->setPhoneMobile($w_mobile_num);
->setPhoneMobile($w_mobile_num)
->setCreateSource('CMB_CreateCustomerFromWarranty');
$this->em->persist($new_cust);
@ -290,6 +291,8 @@ class CreateCustomerFromWarrantyCommand extends Command
//$output->writeln('Total warranties with no mobile number: ' . $total_inv_warr);
$output->writeln('Total customers added: ' . $total_cust_added);
$output->writeln('Total customer vehicles added: ' . $total_cv_added);
return 0;
}
protected function getDefaultVehicle()

View file

@ -0,0 +1,92 @@
<?php
namespace App\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Output\OutputInterface;
use Doctrine\ORM\EntityManagerInterface;
use App\Entity\ApiUser as APIUser;
use Catalyst\ApiBundle\Entity\Role as APIRole;
use App\Entity\Rider;
use DateTime;
class CreateRiderAPIUserCommand extends Command
{
protected $em;
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
parent::__construct();
}
protected function configure()
{
$this->setName('api:user-create-for-rider')
->setDescription('Create API users for existing riders.')
->setHelp('Creates API users for existing riders.')
->addArgument('role_id', InputArgument::REQUIRED, 'Role ID for api_user.');
}
protected function execute(InputInterface $input, OutputInterface $output)
{
error_log('Creating api users...');
// get all existing riders
$riders = $this->em->getRepository(Rider::class)->findAll();
// get role for rider api user
$role_id = $input->getArgument('role_id');
$role = $this->em->getRepository(APIRole::class)->find($role_id);
if ($role == null)
{
error_log('Cannot find role with id ' . $role_id);
return 0;
}
foreach ($riders as $rider)
{
// skip riders who already have users
if ($rider->getAPIUser() != null)
continue;
// create api user for each rider
// no need to generate the keys.
// Secret and API keys are generated in constructor
$api_user = new APIUser();
// set enabled to true
$api_user->setEnabled(true);
// set name to rider's last name + first name
$rider_name = $rider->getFirstName() . ' ' . $rider->getLastName();
$api_user->setName($rider_name);
// set rider to api_user
$api_user->setRider($rider);
// set meta
$meta = ['rider_id' => $rider->getID()];
$api_user->setMetaData($meta);
// set role
$api_user->addRole($role);
// set rider's api user
$rider->setAPIUser($api_user);
$this->em->persist($api_user);
}
$this->em->flush();
return 0;
}
}

View file

@ -22,9 +22,9 @@ class FulfillOldJobOrderCommand extends Command
{
protected $em;
public function __construct(EntityManagerInterface $om)
public function __construct(EntityManagerInterface $em)
{
$this->em = $om;
$this->em = $em;
parent::__construct();
}
@ -76,5 +76,7 @@ class FulfillOldJobOrderCommand extends Command
}
$em->flush();
return 0;
}
}

View file

@ -0,0 +1,529 @@
<?php
namespace App\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Doctrine\ORM\EntityManagerInterface;
use App\Entity\JobOrder;
use App\Entity\JOEvent;
use App\Entity\User;
use App\Entity\Warranty;
use App\Entity\SAPBattery;
use App\Ramcar\JOStatus;
use App\Ramcar\JOEventType;
use App\Ramcar\DeliveryStatus;
use App\Ramcar\WarrantyClass;
use App\Ramcar\ServiceType;
use App\Ramcar\WarrantySource;
use App\Ramcar\WarrantyStatus;
use DateTime;
use DateInterval;
class FulfillOpenJobOrderCommand extends Command
{
const DEFAULT_SAP_WARRANTY = 12;
const JO_BATCH_CTR = 200;
protected $em;
protected $batt_hash;
protected $sap_batt_hash;
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
parent::__construct();
}
protected function configure()
{
$this->setName('joborder:fulfillopenjosnosms')
->setDescription('Fulfill open job orders without sending an SMS message.')
->setHelp('Mark open job orders as fulfilled and should not send a SMS message. Date format: YYYY-MM-DD')
->addArgument('end_date', InputArgument::REQUIRED, 'End date. Format: YYYY-MM-DD');
}
protected function execute(InputInterface $input, OutputInterface $output)
{
// load batteries into hash
$this->populateBatteryIndex();
// load sap batteries into hash
$this->populateSAPBatteryIndex();
// get the input date
$str_date_end = $input->getArgument('end_date');
// append the 23:59:59 to end date
$str_date_end = $str_date_end . ' ' . '23:59:59';
// starting time to count is date schedule
$date_end = new DateTime($str_date_end);
// get current date and convert to string
$current_date = new DateTime();
$str_current_date = $current_date->format('Y-m-d H:i:s');
// find all open job orders starting from input date and before
// need to get customer id, customer vehicle id, service type, warranty class
$conn = $this->em->getConnection();
$jo_sql = 'SELECT jo.id AS jo_id, c.id AS c_id, cv.id AS cv_id,
jo.service_type, jo.warranty_class, jo.rider_id, jo.date_schedule
FROM job_order jo, customer c, customer_vehicle cv
WHERE jo.customer_id = c.id AND jo.cvehicle_id = cv.id
AND jo.status IN (\'pending\', \'rider_assign\', \'assigned\', \'in_transit\', \'in_progress\')
AND jo.date_schedule <= :date_end';
$stmt = $conn->prepare($jo_sql);
$stmt->execute([
'date_end' => $str_date_end]);
$jo_results = $stmt->fetchAll();
error_log('JOs found ' . count($jo_results));
$total_jos = count($jo_results);
$jo_ctr = 0;
$update_jo_ctr = 0;
$update_wheres = [];
$w_data = [];
$jo_evt_data = [];
foreach ($jo_results as $jo_row)
{
// get the data first
$jo_id = $jo_row['jo_id'];
$cust_id = $jo_row['c_id'];
$cv_id = $jo_row['cv_id'];
$service_type = $jo_row['service_type'];
$warranty_class = $jo_row['warranty_class'];
$rider_id = $jo_row['rider_id'];
$str_date_schedule = $jo_row['date_schedule'];
$jo_ctr++;
// fulfill JO
$this->fulfillJO($conn, $jo_id, $update_jo_ctr, $update_wheres, $jo_ctr, $total_jos);
// create JO event
$jo_evt_data[] = $this->createJOEvent($conn, $jo_id, $str_current_date, $rider_id);
// error_log($jo_ctr . ' Processing JO ' . $jo_id);
// check service type
if ($service_type == ServiceType::BATTERY_REPLACEMENT_NEW)
{
// new battery so we need to create warranty so we need to get battery id from invoice
$batt_id = $this->getBatteryInformation($conn, $jo_id);
if (($batt_id != null) && (isset($this->batt_hash[$batt_id])))
$w_data[] = $this->createWarrantyForJO($conn, $current_date, $str_date_schedule, $cust_id, $cv_id, $warranty_class, $batt_id);
}
}
// load data file for jo event
$this->createLoadDataFileForJOEvent($jo_evt_data);
// load data file for warranty
$this->createLoadDataFileForWarranty($w_data);
return 0;
}
protected function fulfillJO($conn, $jo_id, &$update_jo_ctr, &$update_wheres, $jo_ctr, $total_jos)
{
$update_wheres[] = 'id = ' . $jo_id;
// update db when we reach max # of JOs or when we reach total number of jos
if (($update_jo_ctr == self::JO_BATCH_CTR) ||
($jo_ctr == $total_jos))
{
error_log('Processing ' . $update_jo_ctr . ' job orders...');
$update_where_string = implode(' OR ' , $update_wheres);
// update job order
$fulfill_jo_sql = 'UPDATE job_order SET status = :fulfilled, delivery_status = :del_fulfilled WHERE ' . $update_where_string;
// error_log($fulfill_jo_sql);
$fulfill_jo_stmt = $conn->prepare($fulfill_jo_sql);
$fulfill_jo_stmt->execute([
'fulfilled' => JOStatus::FULFILLED,
'del_fulfilled' => DeliveryStatus::FULFILLED,
]);
// reset the wheres string
$update_wheres = [];
// reset the update jo counter
$update_jo_ctr = 0;
}
else
$update_jo_ctr++;
}
protected function createJOEvent($conn, $jo_id, $str_current_date, $rider_id)
{
// create jo event
// set user to admin that has id of 1
$user_id = 1;
$r_id = '\N';
// check if rider is null
if ($rider_id != NULL)
$r_id = $rider_id;
// create array for the jo event
$data = [
$user_id,
$jo_id,
$str_current_date,
$str_current_date,
JOEventType::FULFILL,
$r_id,
];
return $data;
}
protected function getBatteryInformation($conn, $jo_id)
{
// break this down into two sql calls
// get the invoice for job order
$i_sql = 'SELECT i.id FROM invoice i
WHERE i.job_order_id = :jo_id';
$i_stmt = $conn->prepare($i_sql);
$i_stmt->execute([
'jo_id' => $jo_id,
]);
$i_result = $i_stmt->fetch();
// check if invoice exists
if (empty($i_result))
return null;
$invoice_id = $i_result['id'];
// get the battery id from invoice item
$ii_sql = 'SELECT ii.battery_id FROM invoice_item ii
WHERE ii.invoice_id = :invoice_id
AND ii.battery_id IS NOT NULL';
$ii_stmt = $conn->prepare($ii_sql);
$ii_stmt->execute([
'invoice_id' => $invoice_id,
]);
$ii_result = $ii_stmt->fetch();
// checking for result
if (empty($ii_result))
return null;
$batt_id = $ii_result['battery_id'];
return $batt_id;
}
protected function createWarrantyForJO($conn, $current_date, $str_date_schedule, $cust_id, $cv_id, $warranty_class, $batt_id)
{
// convert current date to string since we use this for date_create
$str_current_date = $current_date->format('Y-m-d H:i:s');
// get the warranty period based on warranty class from battery hash
$warranty_period = $this->getWarrantyPeriod($batt_id, $warranty_class);
// compute date expiry.
// convert to DateTime date schedule
$date_schedule = DateTime::createFromFormat('Y-m-d H:i:s', $str_date_schedule);
$date_expire = $this->computeDateExpire($date_schedule, $warranty_period);
// convert to string the expiry date
$str_date_expire = $date_expire->format('Y-m-d');
// convert date schedule to just date
$str_date_purchase = $date_schedule->format('Y-m-d');
// check if date_expire is after or equal to the current date
// if so, set warranty status to active
$warranty_status = WarrantyStatus::EXPIRED;
if ($date_expire >= $current_date)
$warranty_status = WarrantyStatus::ACTIVE;
// get customer
$cust_info = $this->getCustomerInfo($conn, $cust_id);
// get customer vehicle
$cv_info = $this->getCustomerVehicleInfo($conn, $cv_id);
// customer info
$first_name = addslashes($cust_info['first_name']);
$last_name = addslashes($cust_info['last_name']);
$mobile = addslashes($cust_info['mobile']);
// customer vehicle info
$plate_number = $cv_info['plate_number'];
$vehicle_id = $cv_info['vehicle_id'];
// battery info
$model_id = $this->batt_hash[$batt_id]['model_id'];
$size_id = $this->batt_hash[$batt_id]['size_id'];
// need to confirm that sap_code exists in sap_battery
if (isset($this->sap_batt_hash['sap_code']))
$sap_code = $this->batt_hash[$batt_id]['sap_code'];
else
$sap_code = '\N';
// set flag_activated to false since that's the default in Warranty's constructor
$flag_activated = false;
// create array for the infile
$warranty_data = [
$model_id,
$size_id,
$sap_code,
$warranty_class,
$plate_number,
$warranty_status,
$str_current_date,
$str_date_purchase,
$str_date_expire,
$first_name,
$last_name,
$mobile,
$flag_activated,
$vehicle_id,
$cust_id,
WarrantySource::ADMIN_PANEL,
];
return $warranty_data;
}
protected function createLoadDataFileForWarranty($warranty_data)
{
// cache directory
$cache_dir = __DIR__ . '/../../var/cache';
$file = $cache_dir . '/warranty_data.tab';
error_log('opening file for warranty - ' . $file);
$fp = fopen($file, 'w');
if ($fp === false)
{
error_log('could not open file for load data infile - ' . $file);
}
else
{
foreach ($warranty_data as $key => $data)
{
$line = implode('|', $data) . "\r\n";
fwrite($fp, $line);
}
}
fclose($fp);
error_log('Loading warranty data');
$conn = $this->em->getConnection();
$stmt = $conn->prepare('LOAD DATA LOCAL INFILE \'' . $file . '\' INTO TABLE warranty FIELDS TERMINATED BY \'|\' LINES TERMINATED BY \'\\r\\n\' (bty_model_id,bty_size_id,sap_bty_id,warranty_class,plate_number,status,date_create,date_purchase,date_expire,first_name,last_name,mobile_number,flag_activated,vehicle_id,customer_id, create_source)');
$result = $stmt->execute();
if (!$result)
error_log('Failed loading data.');
// TODO: delete file?
}
protected function createLoadDataFileForJOEvent($jo_evt_data)
{
// cache directory
$cache_dir = __DIR__ . '/../../var/cache';
$file = $cache_dir . '/jo_event_data.tab';
error_log('opening file for jo_event - ' . $file);
$fp = fopen($file, 'w');
if ($fp === false)
{
error_log('could not open file for load data infile - ' . $file);
}
else
{
foreach ($jo_evt_data as $key => $data)
{
$line = implode('|', $data) . "\r\n";
fwrite($fp, $line);
}
}
fclose($fp);
error_log('Loading jo event data');
$conn = $this->em->getConnection();
$stmt = $conn->prepare('LOAD DATA LOCAL INFILE \'' . $file . '\' INTO TABLE jo_event FIELDS TERMINATED BY \'|\' LINES TERMINATED BY \'\\r\\n\' (create_user_id, job_order_id, date_create, date_happen, type_id, rider_id)');
$result = $stmt->execute();
if (!$result)
error_log('Failed loading data.');
// TODO: delete file?
}
protected function getCustomerInfo($conn, $id)
{
$cust_info = [];
$cust_sql = 'SELECT c.first_name, c.last_name, c.phone_mobile
FROM customer c
WHERE c.id = :id';
$cust_stmt = $conn->prepare($cust_sql);
$cust_stmt->execute([
'id' => $id,
]);
$cust_result = $cust_stmt->fetch();
$cust_info = [
'first_name' => $cust_result['first_name'],
'last_name' => $cust_result['last_name'],
'mobile' => $cust_result['phone_mobile'],
];
return $cust_info;
}
protected function getCustomerVehicleInfo($conn, $id)
{
$cv_info = [];
$cv_sql = 'SELECT cv.plate_number, cv.vehicle_id
FROM customer_vehicle cv
WHERE cv.id = :id';
$cv_stmt = $conn->prepare($cv_sql);
$cv_stmt->execute([
'id' => $id,
]);
$cv_result = $cv_stmt->fetch();
$plate_number = $cv_result['plate_number'];
$clean_plate = $this->cleanPlateNumber($plate_number);
$cv_info = [
'plate_number' => $clean_plate,
'vehicle_id' => $cv_result['vehicle_id'],
];
return $cv_info;
}
protected function getWarrantyPeriod($batt_id, $warranty_class)
{
// set default period to that of private
$period = $this->batt_hash[$batt_id]['warr_private'];
if ($warranty_class == WarrantyClass::WTY_PRIVATE)
{
$period = $this->batt_hash[$batt_id]['warr_private'];
return $period;
}
if ($warranty_class == WarrantyClass::WTY_COMMERCIAL)
{
$period = $this->batt_hash[$batt_id]['warr_commercial'];
return $period;
}
if ($warranty_class == WarrantyClass::WTY_TNV)
{
$period = $this->batt_hash[$batt_id]['warr_tnv'];
return $period;
}
return $period;
}
protected function computeDateExpire($purchase_date, $warranty_period)
{
$expire_date = clone $purchase_date;
$expire_date->add(new DateInterval('P'.$warranty_period.'M'));
return $expire_date;
}
protected function cleanPlateNumber($plate)
{
// trim plate number down to 20 characters
$trim_plate = str_replace(' ','', $plate);
// truncate plate number down to 20 (max length)
$trunc_plate = substr($trim_plate, 0, 20);
return strtoupper($trunc_plate);
}
protected function populateBatteryIndex()
{
$conn = $this->em->getConnection();
// get all the batteries
$sql = 'SELECT b.id, b.model_id, b.size_id, b.sap_code, b.warr_private, b.warr_commercial, b.warr_tnv
FROM battery b';
$stmt = $conn->prepare($sql);
$stmt->execute();
$results = $stmt->fetchAll();
// go through the rows
foreach ($results as $row)
{
// breaking this down for clarity
$battery_id = $row['id'];
$model_id = $row['model_id'];
$size_id = $row['size_id'];
$sap_code = trim($row['sap_code']);
$warr_private = $row['warr_private'];
$warr_commercial = $row['warr_commercial'];
$warr_tnv = $row['warr_tnv'];
$this->batt_hash[$battery_id] = [
'sap_code' => $sap_code,
'model_id' => $model_id,
'size_id' => $size_id,
'warr_private' => $warr_private,
'warr_commercial' => $warr_commercial,
'warr_tnv' => $warr_tnv,
];
}
}
protected function populateSAPBatteryIndex()
{
$conn = $this->em->getConnection();
// get all the sap batteries
$sql = 'SELECT sap.id, sap.brand_id, sap.size_id FROM sap_battery sap';
$stmt = $conn->prepare($sql);
$stmt->execute();
$results = $stmt->fetchAll();
// go through the rows
foreach ($results as $row)
{
// set warranty period to default warranty period for SAP batteries
$this->sap_batt_hash[$row['id']] = [
'sap_brand' => $row['brand_id'],
'sap_size' => $row['size_id'],
'warranty' => self::DEFAULT_SAP_WARRANTY,
];
}
}
}

View file

@ -22,9 +22,9 @@ class FulfillPendingJobOrderCommand extends Command
{
protected $em;
public function __construct(EntityManagerInterface $om)
public function __construct(EntityManagerInterface $em)
{
$this->em = $om;
$this->em = $em;
parent::__construct();
}
@ -79,5 +79,7 @@ class FulfillPendingJobOrderCommand extends Command
}
$em->flush();
return 0;
}
}

View file

@ -21,9 +21,9 @@ class GenerateBatteryCompatibilityCommand extends Command
protected $em;
protected $vmfg_index;
public function __construct(EntityManagerInterface $om)
public function __construct(EntityManagerInterface $em)
{
$this->em = $om;
$this->em = $em;
parent::__construct();
}
@ -43,7 +43,7 @@ class GenerateBatteryCompatibilityCommand extends Command
$vehicles = $vm->getVehicles();
foreach ($vehicles as $vehicle)
{
$batteries = $vehicle->getBatteries();
$batteries = $vehicle->getActiveBatteries();
$comp_batt = [];
foreach ($batteries as $battery)
{
@ -100,5 +100,7 @@ class GenerateBatteryCompatibilityCommand extends Command
fwrite($json_file, json_encode($this->vmfg_index, JSON_PRETTY_PRINT));
fclose($json_file);
return 0;
}
}

View file

@ -0,0 +1,140 @@
<?php
namespace App\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Output\OutputInterface;
use Doctrine\ORM\EntityManagerInterface;
use App\Entity\Customer;
use App\Entity\CustomerVehicle;
use App\Entity\VehicleManufacturer;
use App\Entity\Vehicle;
use DateTime;
use PDO;
class GenerateCustomerSourceReportCommand extends Command
{
protected $em;
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
parent::__construct();
}
protected function configure()
{
$this->setName('report:customer_source')
->setDescription('Create customer source reports')
->setHelp('Creates customer source reports.')
->addArgument('year', InputArgument::REQUIRED, 'Year to process customer data')
->addArgument('month', InputArgument::REQUIRED, 'Month to process customer data')
->addArgument('csv_file', InputArgument::REQUIRED, 'Output CSV file');
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$em = $this->em;
// get year and month
$year = $input->getArgument('year');
$month = $input->getArgument('month');
$csv_file = $input->getArgument('csv_file');
// get all mobile user customer id hash
$resq_cust_ids = $this->getRESQCustomerIDs();
// TODO: error checking for file
$fp = fopen($csv_file, 'w');
// pdo connection
$db = $em->getConnection();
// get all customers
$sql = 'select c.id, c.first_name, c.last_name, c.phone_mobile, c.phone_landline, c.phone_office, c.phone_fax, c.email, c.flag_mobile_app, vm.name, v.make, cv.model_year, cv.plate_number from customer c, customer_vehicle cv, vehicle v, vehicle_manufacturer vm where year(c.date_create) = :year and month(c.date_create) = :month and c.id = cv.customer_id and cv.vehicle_id = v.id and v.manufacturer_id = vm.id';
$stmt = $db->prepare($sql);
$stmt->execute([
'month' => $month,
'year' => $year,
]);
// add header rows
fputcsv($fp, [
'Customer ID',
'First Name',
'Last Name',
'Mobile Phone',
'Landline',
'Office Phone',
'Fax',
'Email Address',
'Vehicle Manufacturer',
'Vehicle Make',
'Model Year',
'Plate Number',
'Source',
]);
// go through rows
while ($row = $stmt->fetch(PDO::FETCH_NUM))
{
// TODO: find customer source
// NOTE: flag_mobile_app is 0 for some reason
// customer source
if (isset($resq_cust_ids[$row[0]]))
$source = 'resq';
else
$source = 'crm / owr';
$data = [
$row[0], // id
$row[1], // first name
$row[2], // last name
$row[3], // phone - mobile
$row[4], // phone - landline
$row[5], // phone - office
$row[6], // phone - fax
$row[7], // email
$row[9], // vehicle manufacturer
$row[10], // vehicle make
$row[11], // vehicle model
$row[12], // plate number
$source // customer source
];
fputcsv($fp, $data);
}
fclose($fp);
return 0;
}
protected function getRESQCustomerIDs()
{
// pdo connection
$db = $this->em->getConnection();
// get all customer ids of all mobile sessions
$sql = 'select distinct customer_id from mobile_session';
$stmt = $db->prepare($sql);
$stmt->execute();
$res = $stmt->fetchAll();
$cust_ids = [];
foreach ($res as $cust)
{
$cust_ids[$cust['customer_id']] = $cust['customer_id'];
}
return $cust_ids;
}
}

View file

@ -16,21 +16,27 @@ use App\Entity\JobOrder;
use App\Entity\Warranty;
use App\Entity\SAPBattery;
use App\Service\WarrantyAPILogger;
use App\Ramcar\ServiceType;
use App\Ramcar\WarrantyStatus;
use App\Ramcar\WarrantySource;
use DoctrineExtensions\Query\Mysql\DateFormat;
class GenerateWarrantyFromJobOrderCommand extends Command
{
protected $em;
protected $logger;
protected $sapbatt_hash;
protected $warranties_hash;
public function __construct(EntityManagerInterface $em)
public function __construct(EntityManagerInterface $em, WarrantyAPILogger $logger)
{
$this->em = $em;
$this->logger = $logger;
$this->loadSAPBatteries();
$this->loadWarranties();
parent::__construct();
}
@ -39,7 +45,10 @@ class GenerateWarrantyFromJobOrderCommand extends Command
{
$this->setName('warranty:generate')
->setDescription('Generates warranty from job order and inserts into database')
->setHelp('Generate warranty from job order');
->setHelp('Generate warranty from job order')
->addArgument('start_date', InputArgument::REQUIRED, 'Start Date')
->addArgument('end_date', InputArgument::REQUIRED, 'End Date')
->addArgument('output_filename', InputArgument::REQUIRED, 'Output Filename');
}
protected function computeDateExpire($date_create, $warranty_period)
@ -62,28 +71,6 @@ class GenerateWarrantyFromJobOrderCommand extends Command
}
}
protected function loadWarranties()
{
$this->warranties_hash = [];
/*
$warranties = $this->em->getRepository(Warranty::class)->findAll();
foreach($warranties as $warranty)
{
$plate_number = $warranty->getPlateNumber();
$date_expire = $warranty->getDateExpire();
// skip null date expire
if ($date_expire == null)
continue;
$expiry_date = $date_expire->format('Y-m-d');
$this->warranties_hash[$plate_number][$expiry_date] = $warranty->getID();
}
*/
}
protected function findSAPBattery($batt_id)
{
if (!isset($this->sapbatt_hash[$batt_id]))
@ -96,8 +83,9 @@ class GenerateWarrantyFromJobOrderCommand extends Command
protected function findWarranty($plate_number, $expiry_date)
{
$date_expire = $expiry_date->format('Y-m-d');
if (!isset($this->warranties_hash[$plate_number][$date_expire]))
// find warranty given plate number and expiration date
$results = $this->em->getRepository(Warranty::class)->findBy(['plate_number' => $plate_number, 'date_expire' => $expiry_date]);
if (empty($results))
{
return false;
}
@ -109,9 +97,20 @@ class GenerateWarrantyFromJobOrderCommand extends Command
{
$em = $this->em;
$s_date = $input->getArgument('start_date');
$e_date = $input->getArgument('end_date');
$output_filename = $input->getArgument('output_filename');
$start_date = DateTime::createFromFormat('Ymd', $s_date);
$end_date = DateTime::createFromFormat('Ymd', $e_date);
$end_date->setTime(23, 59);
// to save on joins, go with invoice item first
$query = $em->createQuery('select ii,i,jo,cv from App\Entity\InvoiceItem ii inner join ii.invoice i inner join i.job_order jo inner join jo.cus_vehicle cv join jo.customer c where ii.battery is not null and jo.service_type = :service_type');
$query->setParameter('service_type', ServiceType::BATTERY_REPLACEMENT_NEW);
$query = $em->createQuery('select ii,i,jo,cv from App\Entity\InvoiceItem ii inner join ii.invoice i inner join i.job_order jo inner join jo.cus_vehicle cv join jo.customer c where ii.battery is not null and jo.service_type = :service_type and jo.date_schedule > :date_start and jo.date_schedule < :date_end');
$query->setParameter('service_type', ServiceType::BATTERY_REPLACEMENT_NEW)
->setParameter('date_start', $start_date)
->setParameter('date_end', $end_date);
/*
$query = $em->createQuery('SELECT jo FROM App\Entity\JobOrder jo
WHERE jo.service_type = :service_type');
@ -120,6 +119,7 @@ class GenerateWarrantyFromJobOrderCommand extends Command
$result = $query->iterate();
$dupe_warranties = [];
foreach ($result as $row)
{
$invoice_item = $row[0];
@ -169,15 +169,28 @@ class GenerateWarrantyFromJobOrderCommand extends Command
// check if plate number is "clean". If not, do not insert into warranty
if (!(Warranty::cleanPlateNumber($cv->getPlateNumber())))
{
// log with the dupes
$dupe_warranties[] = [
'plate_number' => $cv->getPlateNumber(),
];
continue;
}
// check if warranty already exists
$cleaned_plate_number = Warranty::cleanPlateNumber($cv->getPlateNumber());
$expiry_date = $this->computeDateExpire($jo->getInvoice()->getDateCreate(), $warranty_period);
$found_warranty = $this->findWarranty($cleaned_plate_number, $expiry_date);
if (!$found_warranty)
//$expiry_date = $this->computeDateExpire($jo->getInvoice()->getDateCreate(), $warranty_period);
// use date_schedule as the starting point of expiry date computation
$expiry_date_date_schedule = $this->computeDateExpire($jo->getDateSchedule(), $warranty_period);
$found_warranty_date_schedule = $this->findWarranty($cleaned_plate_number, $expiry_date_date_schedule);
// need to check for warranty using invoice date_create because
// first version of this command used invoice's date_create for expiry date computation
$expiry_date_date_create = $this->computeDateExpire($jo->getInvoice()->getDateCreate(), $warranty_period);
$found_warranty_date_create = $this->findWarranty($cleaned_plate_number, $expiry_date_date_create);
if ((!$found_warranty_date_schedule) && (!$found_warranty_date_create))
{
$bty_model_id = $invoice_item->getBattery()->getModel()->getID();
$bty_size_id = $invoice_item->getBattery()->getSize()->getID();
@ -188,7 +201,7 @@ class GenerateWarrantyFromJobOrderCommand extends Command
$date_create = date('Y-m-d H:i:s');
$date_expire = $expiry_date->format('Y-m-d');
$date_expire = $expiry_date_date_schedule->format('Y-m-d');
$first_name = addslashes(trim($customer->getFirstName()));
$last_name = addslashes(trim($customer->getLastName()));
@ -197,13 +210,47 @@ class GenerateWarrantyFromJobOrderCommand extends Command
$values = '(' . $bty_model_id . ',' . $bty_size_id . ',NULL,\'' . $warranty_class . '\',\''
. $cleaned_plate_number . '\',\'' . WarrantyStatus::ACTIVE . '\',\'' . $date_create . '\',\'' . $date_purchase
. '\',\'' . $date_expire . '\',NULL,'
. $sap_code . ',NULL,\'' . $first_name . '\',\'' . $last_name . '\',\'' . $mobile_number . '\');';
. $sap_code . ',NULL,\'' . $first_name . '\',\'' . $last_name . '\',\'' . $mobile_number . '\',' . 0 . ',NULL,\''
. WarrantySource::COMMAND .'\');';
$sql_statement = 'INSERT INTO `warranty` (bty_model_id,bty_size_id,serial,warranty_class,plate_number,status,date_create,date_purchase,date_expire,date_claim,sap_bty_id,claim_id,first_name,last_name,mobile_number) VALUES ' . $values . "\n";
$sql_statement = 'INSERT INTO `warranty` (bty_model_id,bty_size_id,serial,warranty_class,plate_number,status,date_create,date_purchase,date_expire,date_claim,sap_bty_id,claim_id,first_name,last_name,mobile_number,flag_activated,warranty_privacy_policy,create_source) VALUES ' . $values . "\n";
echo $sql_statement;
$db = $this->em->getConnection();
$stmt = $db->prepare($sql_statement);
$stmt->execute();
// log warranty creation
$log_data = [
'battery_model_id' => $bty_model_id,
'battery_size_id' => $bty_size_id,
'warranty_class' => $warranty_class,
'plate_number' => $cleaned_plate_number,
'date_create' => $date_create,
'date_purchase' => $date_purchase,
'date_expire' => $date_expire,
'sap_code' => $sap_code,
'first_name' => $first_name,
'last_name' => $last_name,
'mobile_number' => $mobile_number,
];
$this->logger->logWarrantyInfo($log_data, '', 'internal', 'create', WarrantySource::COMMAND);
}
else
{
$expiry_date = '';
if ($expiry_date_date_create != $expiry_date_date_schedule)
$expiry_date = $expiry_date_date_create->format('Y-m-d');
else
$expiry_date = $expiry_date_date_schedule->format('Y-m-d');
$dupe_warranties[] = [
'plate_number' => $cleaned_plate_number,
'expiry_date' => $expiry_date,
];
}
}
}
}
@ -211,5 +258,24 @@ class GenerateWarrantyFromJobOrderCommand extends Command
$em->detach($row[0]);
$em->clear();
}
// check if dupes were found
if (count($dupe_warranties) > 0)
{
// output file
$dupe_outfile = fopen($output_filename, 'a');
foreach ($dupe_warranties as $dupe)
{
if (empty($dupe['expiry_date']))
fwrite($dupe_outfile, 'Invalid plate number ' . $dupe['plate_number'] . "\n");
else
fwrite($dupe_outfile, 'Warranty already exists for ' . $dupe['plate_number'] . ' with expiration date ' . $dupe['expiry_date'] . "\n");
}
fclose($dupe_outfile);
}
return 0;
}
}

View file

@ -30,9 +30,9 @@ class ImportBatteryPriceCommand extends Command
protected $em;
protected $size_index;
public function __construct(EntityManagerInterface $om)
public function __construct(EntityManagerInterface $em)
{
$this->em = $om;
$this->em = $em;
$this->size_index = [];
parent::__construct();
@ -174,5 +174,7 @@ class ImportBatteryPriceCommand extends Command
}
$em->flush();
return 0;
}
}

View file

@ -170,6 +170,8 @@ class ImportCMBBatteryDataCommand extends Command
}
}
return 0;
}
protected function addBatteryManufacturer($name)

View file

@ -92,9 +92,9 @@ class ImportCMBBatteryTradeInPriceCommand extends Command
{
error_log('Cannot find battery size ' . $size);
}
}
return 0;
}
protected function loadBatterySizes()

Some files were not shown because too many files have changed in this diff Show more