mirror of
https://github.com/itflow-org/itflow
synced 2026-11-11 15:07:24 +00:00
Commit Graph
Select branches
Hide Pull Requests
Before-Multi-Company-Removal
develop
duplicate-numbering-racecondition
feat-recurring-invoice-auto-send-toggle
master
revert-1176-Whit3XLightning-patch-2
ticket-task-approvals
undefined-asset-handling
#1000
#1001
#1002
#1003
#1004
#1005
#1006
#1007
#1008
#1009
#1010
#1011
#1012
#1013
#1014
#1015
#1016
#1019
#102
#1020
#1021
#1022
#1023
#1024
#1025
#1027
#1028
#1029
#1030
#1031
#1032
#1033
#1034
#1035
#1037
#1038
#1040
#1041
#1042
#1043
#1045
#1046
#1047
#1048
#1049
#1050
#1051
#1052
#1053
#1054
#1055
#1056
#1057
#1058
#1059
#1060
#1061
#1062
#1063
#1064
#1065
#1066
#1067
#1068
#1069
#1070
#1071
#1072
#1073
#1074
#1075
#1076
#1077
#1078
#1079
#1080
#1081
#1082
#1083
#1084
#1085
#1086
#1087
#1088
#1089
#1090
#1091
#1092
#1093
#1094
#1095
#1096
#1097
#1098
#1099
#1100
#1101
#1102
#1103
#1104
#1105
#1106
#1107
#1111
#1112
#1113
#1114
#1115
#1116
#1117
#1118
#1119
#1120
#1121
#1122
#1123
#1124
#1125
#1126
#1127
#1128
#1129
#1130
#1131
#1132
#1133
#1134
#1135
#1136
#1137
#1138
#1139
#1140
#1141
#1142
#1143
#1144
#1145
#1146
#1147
#1148
#1149
#1150
#1151
#1152
#1153
#1154
#1155
#1156
#1157
#1158
#1159
#1160
#1161
#1162
#1163
#1164
#1165
#1166
#1167
#1169
#1170
#1171
#1172
#1173
#1174
#1175
#1176
#1177
#1178
#1179
#1180
#1181
#1182
#1183
#1184
#1185
#1186
#1187
#1188
#1189
#1190
#1191
#1192
#1193
#1194
#1195
#1196
#1197
#1198
#1200
#1201
#1202
#1203
#1204
#1205
#1206
#1207
#1208
#1209
#1210
#1211
#1212
#1213
#1214
#1215
#1216
#1218
#1220
#1221
#1222
#1223
#1224
#1225
#1226
#1227
#1229
#1230
#1231
#1232
#1233
#1234
#1235
#1236
#1237
#1238
#1239
#1240
#1241
#1242
#1243
#1244
#1245
#1246
#1247
#1249
#1250
#1252
#1253
#1254
#1255
#1256
#1258
#1259
#1261
#1262
#1263
#1264
#1265
#1266
#1267
#1268
#1269
#1271
#1275
#1278
#1280
#1281
#1284
#1287
#1288
#1289
#129
#1290
#1291
#1292
#1294
#1296
#1297
#1298
#1299
#1300
#1301
#1302
#1303
#1304
#1305
#1306
#1307
#1308
#1309
#1310
#198
#228
#229
#230
#231
#233
#234
#235
#236
#239
#240
#242
#243
#244
#245
#246
#247
#248
#249
#250
#251
#252
#253
#254
#255
#256
#257
#258
#259
#260
#261
#262
#263
#265
#266
#267
#270
#271
#272
#274
#276
#277
#278
#279
#280
#281
#282
#283
#284
#285
#286
#290
#291
#296
#297
#299
#307
#308
#318
#319
#320
#326
#329
#330
#333
#334
#335
#337
#339
#340
#341
#342
#343
#344
#345
#347
#348
#349
#350
#354
#355
#356
#357
#358
#359
#360
#362
#363
#364
#365
#367
#368
#369
#371
#372
#373
#374
#375
#376
#378
#379
#380
#381
#382
#383
#386
#387
#389
#390
#391
#392
#393
#394
#396
#398
#399
#400
#401
#402
#404
#405
#406
#409
#410
#411
#412
#413
#414
#415
#416
#417
#418
#419
#421
#422
#423
#424
#425
#426
#427
#428
#429
#430
#432
#434
#435
#436
#437
#438
#439
#441
#442
#443
#444
#445
#447
#448
#449
#450
#451
#452
#453
#454
#455
#456
#457
#459
#460
#462
#463
#465
#468
#469
#470
#471
#472
#473
#478
#479
#480
#481
#485
#486
#488
#489
#490
#491
#492
#493
#494
#495
#499
#500
#502
#503
#504
#505
#506
#516
#517
#518
#520
#521
#523
#526
#528
#529
#533
#534
#536
#540
#541
#542
#543
#544
#545
#546
#547
#549
#550
#551
#552
#553
#554
#556
#557
#558
#559
#560
#565
#566
#568
#569
#570
#571
#573
#574
#575
#577
#578
#579
#580
#583
#584
#585
#586
#587
#588
#589
#590
#592
#593
#594
#595
#596
#597
#598
#599
#600
#602
#603
#604
#606
#607
#608
#609
#610
#611
#612
#613
#614
#615
#616
#617
#618
#619
#620
#621
#622
#623
#624
#625
#626
#628
#629
#630
#631
#632
#633
#634
#635
#636
#641
#642
#643
#644
#647
#649
#650
#651
#652
#653
#654
#655
#656
#657
#658
#659
#660
#661
#662
#663
#664
#665
#666
#667
#668
#671
#672
#674
#675
#676
#677
#678
#679
#680
#681
#682
#683
#685
#686
#687
#688
#690
#691
#692
#693
#694
#695
#698
#699
#700
#701
#702
#705
#706
#708
#709
#710
#711
#712
#713
#714
#715
#716
#717
#718
#720
#724
#725
#726
#727
#728
#729
#730
#731
#732
#733
#734
#735
#736
#737
#738
#746
#747
#748
#749
#750
#751
#752
#753
#754
#755
#756
#757
#758
#759
#760
#761
#762
#763
#764
#765
#766
#767
#768
#769
#770
#771
#772
#774
#775
#776
#777
#778
#779
#780
#781
#782
#783
#784
#785
#786
#787
#788
#789
#790
#791
#792
#793
#794
#795
#796
#797
#798
#799
#800
#801
#802
#803
#804
#804
#805
#806
#807
#808
#809
#810
#811
#812
#813
#814
#815
#815
#816
#817
#818
#819
#820
#821
#822
#823
#824
#825
#826
#827
#828
#829
#830
#831
#832
#833
#834
#835
#836
#837
#838
#839
#840
#841
#842
#843
#844
#845
#846
#847
#848
#849
#850
#851
#852
#853
#854
#855
#856
#857
#858
#859
#860
#861
#862
#863
#864
#865
#866
#867
#868
#870
#871
#872
#873
#874
#875
#876
#877
#878
#879
#880
#881
#882
#883
#884
#885
#886
#887
#888
#889
#890
#891
#892
#893
#894
#895
#897
#898
#900
#902
#903
#904
#905
#907
#908
#910
#911
#912
#913
#914
#915
#916
#917
#918
#919
#920
#926
#927
#928
#929
#931
#932
#934
#935
#936
#938
#939
#940
#943
#944
#945
#947
#948
#949
#950
#951
#952
#953
#954
#955
#956
#957
#958
#959
#960
#961
#962
#964
#965
#966
#967
#968
#969
#970
#971
#972
#973
#974
#975
#976
#977
#978
#979
#980
#981
#982
#983
#984
#985
#986
#987
#988
#989
#990
#991
#992
#993
#996
#997
#998
#999
v25.01
v25.01.2
v25.01.3
v25.02
v25.02.1
v25.02.2
v25.02.3
v25.02.4
v25.03
v25.05
v25.06
v25.09
v25.10
v25.11
v25.12
v26.02
v26.04
v26.05
v26.07
v26.08
v26.09
v26.10
v26.11
v26.3
v26.4
Select branches
Hide Pull Requests
Before-Multi-Company-Removal
develop
duplicate-numbering-racecondition
feat-recurring-invoice-auto-send-toggle
master
revert-1176-Whit3XLightning-patch-2
ticket-task-approvals
undefined-asset-handling
#1000
#1001
#1002
#1003
#1004
#1005
#1006
#1007
#1008
#1009
#1010
#1011
#1012
#1013
#1014
#1015
#1016
#1019
#102
#1020
#1021
#1022
#1023
#1024
#1025
#1027
#1028
#1029
#1030
#1031
#1032
#1033
#1034
#1035
#1037
#1038
#1040
#1041
#1042
#1043
#1045
#1046
#1047
#1048
#1049
#1050
#1051
#1052
#1053
#1054
#1055
#1056
#1057
#1058
#1059
#1060
#1061
#1062
#1063
#1064
#1065
#1066
#1067
#1068
#1069
#1070
#1071
#1072
#1073
#1074
#1075
#1076
#1077
#1078
#1079
#1080
#1081
#1082
#1083
#1084
#1085
#1086
#1087
#1088
#1089
#1090
#1091
#1092
#1093
#1094
#1095
#1096
#1097
#1098
#1099
#1100
#1101
#1102
#1103
#1104
#1105
#1106
#1107
#1111
#1112
#1113
#1114
#1115
#1116
#1117
#1118
#1119
#1120
#1121
#1122
#1123
#1124
#1125
#1126
#1127
#1128
#1129
#1130
#1131
#1132
#1133
#1134
#1135
#1136
#1137
#1138
#1139
#1140
#1141
#1142
#1143
#1144
#1145
#1146
#1147
#1148
#1149
#1150
#1151
#1152
#1153
#1154
#1155
#1156
#1157
#1158
#1159
#1160
#1161
#1162
#1163
#1164
#1165
#1166
#1167
#1169
#1170
#1171
#1172
#1173
#1174
#1175
#1176
#1177
#1178
#1179
#1180
#1181
#1182
#1183
#1184
#1185
#1186
#1187
#1188
#1189
#1190
#1191
#1192
#1193
#1194
#1195
#1196
#1197
#1198
#1200
#1201
#1202
#1203
#1204
#1205
#1206
#1207
#1208
#1209
#1210
#1211
#1212
#1213
#1214
#1215
#1216
#1218
#1220
#1221
#1222
#1223
#1224
#1225
#1226
#1227
#1229
#1230
#1231
#1232
#1233
#1234
#1235
#1236
#1237
#1238
#1239
#1240
#1241
#1242
#1243
#1244
#1245
#1246
#1247
#1249
#1250
#1252
#1253
#1254
#1255
#1256
#1258
#1259
#1261
#1262
#1263
#1264
#1265
#1266
#1267
#1268
#1269
#1271
#1275
#1278
#1280
#1281
#1284
#1287
#1288
#1289
#129
#1290
#1291
#1292
#1294
#1296
#1297
#1298
#1299
#1300
#1301
#1302
#1303
#1304
#1305
#1306
#1307
#1308
#1309
#1310
#198
#228
#229
#230
#231
#233
#234
#235
#236
#239
#240
#242
#243
#244
#245
#246
#247
#248
#249
#250
#251
#252
#253
#254
#255
#256
#257
#258
#259
#260
#261
#262
#263
#265
#266
#267
#270
#271
#272
#274
#276
#277
#278
#279
#280
#281
#282
#283
#284
#285
#286
#290
#291
#296
#297
#299
#307
#308
#318
#319
#320
#326
#329
#330
#333
#334
#335
#337
#339
#340
#341
#342
#343
#344
#345
#347
#348
#349
#350
#354
#355
#356
#357
#358
#359
#360
#362
#363
#364
#365
#367
#368
#369
#371
#372
#373
#374
#375
#376
#378
#379
#380
#381
#382
#383
#386
#387
#389
#390
#391
#392
#393
#394
#396
#398
#399
#400
#401
#402
#404
#405
#406
#409
#410
#411
#412
#413
#414
#415
#416
#417
#418
#419
#421
#422
#423
#424
#425
#426
#427
#428
#429
#430
#432
#434
#435
#436
#437
#438
#439
#441
#442
#443
#444
#445
#447
#448
#449
#450
#451
#452
#453
#454
#455
#456
#457
#459
#460
#462
#463
#465
#468
#469
#470
#471
#472
#473
#478
#479
#480
#481
#485
#486
#488
#489
#490
#491
#492
#493
#494
#495
#499
#500
#502
#503
#504
#505
#506
#516
#517
#518
#520
#521
#523
#526
#528
#529
#533
#534
#536
#540
#541
#542
#543
#544
#545
#546
#547
#549
#550
#551
#552
#553
#554
#556
#557
#558
#559
#560
#565
#566
#568
#569
#570
#571
#573
#574
#575
#577
#578
#579
#580
#583
#584
#585
#586
#587
#588
#589
#590
#592
#593
#594
#595
#596
#597
#598
#599
#600
#602
#603
#604
#606
#607
#608
#609
#610
#611
#612
#613
#614
#615
#616
#617
#618
#619
#620
#621
#622
#623
#624
#625
#626
#628
#629
#630
#631
#632
#633
#634
#635
#636
#641
#642
#643
#644
#647
#649
#650
#651
#652
#653
#654
#655
#656
#657
#658
#659
#660
#661
#662
#663
#664
#665
#666
#667
#668
#671
#672
#674
#675
#676
#677
#678
#679
#680
#681
#682
#683
#685
#686
#687
#688
#690
#691
#692
#693
#694
#695
#698
#699
#700
#701
#702
#705
#706
#708
#709
#710
#711
#712
#713
#714
#715
#716
#717
#718
#720
#724
#725
#726
#727
#728
#729
#730
#731
#732
#733
#734
#735
#736
#737
#738
#746
#747
#748
#749
#750
#751
#752
#753
#754
#755
#756
#757
#758
#759
#760
#761
#762
#763
#764
#765
#766
#767
#768
#769
#770
#771
#772
#774
#775
#776
#777
#778
#779
#780
#781
#782
#783
#784
#785
#786
#787
#788
#789
#790
#791
#792
#793
#794
#795
#796
#797
#798
#799
#800
#801
#802
#803
#804
#804
#805
#806
#807
#808
#809
#810
#811
#812
#813
#814
#815
#815
#816
#817
#818
#819
#820
#821
#822
#823
#824
#825
#826
#827
#828
#829
#830
#831
#832
#833
#834
#835
#836
#837
#838
#839
#840
#841
#842
#843
#844
#845
#846
#847
#848
#849
#850
#851
#852
#853
#854
#855
#856
#857
#858
#859
#860
#861
#862
#863
#864
#865
#866
#867
#868
#870
#871
#872
#873
#874
#875
#876
#877
#878
#879
#880
#881
#882
#883
#884
#885
#886
#887
#888
#889
#890
#891
#892
#893
#894
#895
#897
#898
#900
#902
#903
#904
#905
#907
#908
#910
#911
#912
#913
#914
#915
#916
#917
#918
#919
#920
#926
#927
#928
#929
#931
#932
#934
#935
#936
#938
#939
#940
#943
#944
#945
#947
#948
#949
#950
#951
#952
#953
#954
#955
#956
#957
#958
#959
#960
#961
#962
#964
#965
#966
#967
#968
#969
#970
#971
#972
#973
#974
#975
#976
#977
#978
#979
#980
#981
#982
#983
#984
#985
#986
#987
#988
#989
#990
#991
#992
#993
#996
#997
#998
#999
v25.01
v25.01.2
v25.01.3
v25.02
v25.02.1
v25.02.2
v25.02.3
v25.02.4
v25.03
v25.05
v25.06
v25.09
v25.10
v25.11
v25.12
v26.02
v26.04
v26.05
v26.07
v26.08
v26.09
v26.10
v26.11
v26.3
v26.4
-
0631c45040
Fix Cron Schedule and new directory includes created inside cron for the cron lock
johnnyq
2026-07-30 17:06:07 -04:00 -
119334ab71
Cron Fix
johnnyq
2026-07-30 16:44:56 -04:00 -
38e8edea19
Cron runs all jobs from a single dispatcher cron.php which should now be run every minute and all other cron jobs eliminated from cron
johnnyq
2026-07-30 13:48:39 -04:00 -
1005b73416
DB Structure Update
johnnyq
2026-07-30 02:30:15 -04:00 -
f2d5ac4a29
Feature: Calendars are now exportable shareable so Third Party Calendar services can read them, also added recoccurence to calendar, and all day along with sperating the time fields and click in a box to add calendar event is possible
johnnyq
2026-07-30 02:18:30 -04:00 -
3c8f812a16
Feature: On all export modals added Filter Tab and Selectable Columns tab with default selected, also you can now export to a PDF
johnnyq
2026-07-30 00:46:15 -04:00 -
729d22d19b
Move Attachments to Assignment in new ticket get rid of help texts in reply for attachments and update changelog
johnnyq
2026-07-29 18:39:43 -04:00 -
2395a3ee16
Phase 2 of ticket attachements by agents
johnnyq
2026-07-29 18:10:34 -04:00 -
7c8c93c01c
Feature allow agents to attach files to tickets in the app
johnnyq
2026-07-29 17:58:04 -04:00 -
e74307eaea
Feature: Add Dynamic Task editing in add ticket and add recurring ticket, recurring tickets now have their own task table as well
johnnyq
2026-07-29 17:48:41 -04:00 -
74a5359b80
Move Watchers into assignment in add ticket
johnnyq
2026-07-29 17:28:57 -04:00 -
d01024931b
Retire v1 Ticket and merge into 1 add ticket
johnnyq
2026-07-29 17:24:55 -04:00 -
8a092852cf
Fixed Asset section in recurring ticket if global added project in add ticket
johnnyq
2026-07-29 16:52:47 -04:00 -
3296e48ac6
Unlink template from recurring ticket if template is deleted
johnnyq
2026-07-29 16:36:47 -04:00 -
eaf3f5abd1
Add Badge next to recurring tickets with a template
johnnyq
2026-07-29 16:28:17 -04:00 -
75d8b4d37c
Fix get FieldByID spots
johnnyq
2026-07-29 16:16:32 -04:00 -
7245ff0650
Fix Cron URL Key on recurring tickets
johnnyq
2026-07-29 16:11:36 -04:00 -
bc64c9e3d1
Feature: Abiliry to assign Ticket Templates to Recurring Tickets
johnnyq
2026-07-29 15:55:14 -04:00 -
9c123c42d1
Update Changelog
johnnyq
2026-07-29 14:34:59 -04:00 -
af9990ff13
Fix Contact Notes and Fix a few broken links
johnnyq
2026-07-29 14:22:18 -04:00 -
a900b2cd74
Update DB Structure
johnnyq
2026-07-29 14:15:15 -04:00 -
fc5cdeea82
Add UI Elements for Asset Notes similar to contact notes
johnnyq
2026-07-29 14:13:55 -04:00 -
bb1f0d5489
SLA Fixes
johnnyq
2026-07-29 13:50:00 -04:00 -
566d74c15d
Fix SLA resolve-time reporting, stale settings cache on save, and report N+1
johnnyq
2026-07-29 13:34:34 -04:00 -
750c2e58cc
Update DB Structure
johnnyq
2026-07-29 13:23:02 -04:00 -
9533da4053
Repair SLA verdicts missed by kanban/portal resolve; record first response on kanban resolve
johnnyq
2026-07-29 13:21:37 -04:00 -
cc651c18be
DB Structure Update
johnnyq
2026-07-29 13:04:05 -04:00 -
162a597da9
Add SLA pausing, SLA reports, SLA filtering and kanban SLA state (phase 3)
johnnyq
2026-07-29 13:02:27 -04:00 -
e76b384606
Add ticket reply API endpoints
johnnyq
2026-07-29 01:53:18 -04:00 -
07c73a6a04
Add Urgent Priority, move Per Client SLA Settings to notes tab in client add / edit modal remove unnessesary sla admin setting for client overide
johnnyq
2026-07-29 00:49:31 -04:00 -
d5ed05017b
Allow selecting client SLA assignments on client create/edit
johnnyq
2026-07-29 00:21:13 -04:00 -
dd45a0f4f1
Update DB Structure
johnnyq
2026-07-29 00:03:08 -04:00 -
d08ef6184a
Add optional ticket SLAs
johnnyq
2026-07-29 00:00:42 -04:00 -
78ee38b39f
Revert DB Update
johnnyq
2026-07-28 22:08:01 -04:00 -
1494d2cb5e
Backed out of Refunds which still keeps the fix to properly set the invoice status when payment is deleted
johnnyq
2026-07-28 22:03:35 -04:00 -
31921ee99b
Add Refunding capability along with Stripe Refunding
johnnyq
2026-07-28 21:34:06 -04:00 -
b3f959ac55
Use Short echo tags across the code
johnnyq
2026-07-28 18:47:52 -04:00 -
0031438bce
Update Contrubuting
johnnyq
2026-07-28 18:12:42 -04:00 -
556ab22c79
Enfoce Sales Permission Read on products export
johnnyq
2026-07-28 17:53:13 -04:00 -
78e7e1c49e
Remove Normalize Scripts
johnnyq
2026-07-28 17:46:39 -04:00 -
c5ff3e2a3f
Normalize line endings to LF; add .gitattributes and .editorconfig
johnnyq
2026-07-28 17:45:52 -04:00 -
7f7880a4a7
Add Quick Payments view modal in Invoices
johnnyq
2026-07-28 12:49:57 -04:00 -
5f3a0bec46
Remove old payments and revenues and all ties to the pages as these are combined in income now
johnnyq
2026-07-28 12:38:29 -04:00 -
c3896ba3d6
Add Export CSV to the new combined income page
johnnyq
2026-07-28 12:26:50 -04:00 -
7327ebb37c
Stop parallel login attempts from bypassing the rate limits
johnnyq
2026-07-28 01:01:43 -04:00 -
2e855f62c9
Require credential module access to view or share credentials
johnnyq
2026-07-28 00:40:33 -04:00 -
4c65b8c561
Clear mail bodies after successful delivery
johnnyq
2026-07-28 00:18:07 -04:00 -
c64c76c577
Rotate session ID on login and fix client portal Entra SSO
johnnyq
2026-07-27 23:49:09 -04:00 -
22e93589cb
Fix share link view accounting and quote response handling
johnnyq
2026-07-27 21:11:45 -04:00 -
f129311b2e
Remove patch and update gitignore
johnnyq
2026-07-27 21:02:13 -04:00 -
70d165e8bc
Claim shared item views atomically and log guest audit IPs
johnnyq
2026-07-27 20:58:37 -04:00 -
b555a300bc
Give the vault session key full entropy and guard empty-key credential writes
johnnyq
2026-07-27 20:27:23 -04:00 -
829527244e
Fix broken ajax
johnnyq
2026-07-27 20:25:48 -04:00 -
50352fb779
Revert vault session key entropy change
johnnyq
2026-07-27 20:13:46 -04:00 -
8dcb45fc9d
Remove Patch
johnnyq
2026-07-27 20:00:42 -04:00 -
b18544c69b
Give the vault session key full entropy and guard empty-key credential writes
johnnyq
2026-07-27 20:00:09 -04:00 -
8825661360
Dump new DB Structure
johnnyq
2026-07-27 18:38:48 -04:00 -
a4fdced10f
Rate limit 2FA code attempts and narrow the TOTP acceptance window
johnnyq
2026-07-27 18:36:43 -04:00 -
97490bef3b
Security Fix in recurring invoices in cron
johnnyq
2026-07-27 18:07:15 -04:00 -
a844d7b428
Adds a shared flock guard used by all five cron entry points, keyed per script and per install. Replaces the mail queue's own lock file, which was not atomic and could be deleted out from under a long run. Bounds the SMTP conversation so an unresponsive server cannot hold the lock. Recovers rows left at Sending by a run that died, which nothing previously picked up.
johnnyq
2026-07-27 17:35:39 -04:00 -
686fca99e1
Fix Possible duplicate emails in a race condition in mail queue
johnnyq
2026-07-27 16:59:10 -04:00 -
775e8f58f6
Fix Cents Calc
johnnyq
2026-07-27 16:55:16 -04:00 -
409d769eb7
Scope the cron lock per install so instances don't block each other Report an unopenable cron lock file instead of claiming cron is running
johnnyq
2026-07-27 16:41:21 -04:00 -
cff416dd87
Remove Patch
johnnyq
2026-07-27 15:22:46 -04:00 -
65de8c35e6
Prevent duplicate Stripe payment bookings and overlapping cron runs
johnnyq
2026-07-27 15:22:16 -04:00 -
815802fb7c
Gate Admin UI Modals to Admin
johnnyq
2026-07-27 14:50:32 -04:00 -
53842a50d2
Add URI Tabs to mail settings keeps the tab active upon saving
johnnyq
2026-07-26 01:52:25 -04:00 -
5fc2f93b38
Allow negative numbers in add expense
johnnyq
2026-07-26 01:40:11 -04:00 -
32be252261
Remove patch file
johnnyq
2026-07-26 01:11:27 -04:00 -
04014da21f
Combined Payments and Revenues as one View called income keeps all income in one place and still can add revenue not related to invoice
johnnyq
2026-07-26 01:10:52 -04:00 -
276e84ad0b
Expenses: Set Current Date in new expense
johnnyq
2026-07-25 20:38:58 -04:00 -
cd34236716
Fix saved-payment setup Checkout: embedded_page ui_mode + attach existing Stripe customer
johnnyq
2026-07-25 19:00:06 -04:00 -
a26ac2c4fc
Fixed adding saved credit cards in stipe due to API change
johnnyq
2026-07-25 18:47:13 -04:00 -
497ea3b669
Centralize client portal access checks through contactCan()
johnnyq
2026-07-25 17:55:30 -04:00 -
887063394a
Prevent client portal contacts from editing their own contact record
johnnyq
2026-07-25 17:28:57 -04:00 -
04bf3c234f
Read API credential decrypt password from body instead of query string
johnnyq
2026-07-25 17:08:22 -04:00 -
e6daf00528
Fix some broken API calls after RBAC update
johnnyq
2026-07-25 16:59:03 -04:00 -
c509b7f693
Add user-based RBAC for API keys
johnnyq
2026-07-25 16:50:58 -04:00 -
8d46e2a7db
Fix Client Permission overides to include deny allow list in projects prohect and edit ticket
johnnyq
2026-07-25 13:28:47 -04:00 -
3756561458
Feature: Add Deny Client Access to Client Access Permssions - BREAKS UI, MUST UPDATE DB USING php scripts/cli_update.php --db_update
johnnyq
2026-07-25 13:22:52 -04:00 -
ff4b69b511
Client Enforcement via function on client edit instad of in sql query
johnnyq
2026-07-25 00:35:47 -04:00 -
761b2a7af4
Module permissions modal enforcement sweep to match its post counterpart
johnnyq
2026-07-25 00:28:42 -04:00 -
7a793cbbcc
Add more enforceClientAccess to agent ajax gets
johnnyq
2026-07-24 22:51:57 -04:00 -
113ef4b9a4
Add more enforceClientAccess
johnnyq
2026-07-24 22:49:18 -04:00 -
3524010d7a
Add enforceClientAccess to 4 bulk modals initially missing
johnnyq
2026-07-24 22:06:42 -04:00 -
8993bce53f
Force No Indexes of empty directories even if enabled using .htaccess in uploads
johnnyq
2026-07-24 20:52:35 -04:00 -
8813b2c066
Use imapEngine lib for testing imap connection
johnnyq
2026-07-24 18:56:16 -04:00 -
5c4805b822
Neutralize CSV formula injection in generated exports using the new created escapeCsvFormula Function
johnnyq
2026-07-24 18:12:45 -04:00 -
28f1a965b8
Remove dead code
johnnyq
2026-07-24 17:33:09 -04:00 -
565aff35f6
Set SameSite=Lax on the session cookie
johnnyq
2026-07-24 14:09:52 -04:00 -
3549c2ef2a
Harden CSRF handling and session cookies
johnnyq
2026-07-24 14:06:04 -04:00 -
8afc5aea89
Typo fix
johnnyq
2026-07-24 13:45:52 -04:00 -
af51c4316f
Updated validateCSRFToken to automatically grab and compare get or post csrf token no longer need to pass an argument to the function which fixed the issue if no hash was present
johnnyq
2026-07-24 13:40:37 -04:00 -
dd358da65d
Update missing CSRF endpoint checks missed update_db
johnnyq
2026-07-24 13:22:17 -04:00 -
91a1676e89
Update missing CSRF endpoint checks
johnnyq
2026-07-24 13:16:51 -04:00 -
e7698f15bd
Make better use of formatAddress function for clients listing
johnnyq
2026-07-24 12:22:15 -04:00 -
c7b34fe107
Remove leftover getFallBack in client pdf export in favor of ?: '-'
johnnyq
2026-07-23 18:29:11 -04:00 -
5846119ec9
remove duplicate formatAddress
johnnyq
2026-07-23 18:16:57 -04:00 -
41b118ab87
Add formatAddress function and replace all addresses with it
johnnyq
2026-07-23 18:10:39 -04:00 -
9c65644adc
Update the rest of the PHP functions to use camelCase
johnnyq
2026-07-23 17:39:06 -04:00