Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
706 commits
Select commit Hold shift + click to select a range
407cdb8
Fix password hash check for laravel 12 compatibility
nolanpro Jan 16, 2026
844a774
Removed unused method safeJsonParse
sanjacornelius Jan 16, 2026
33d31b7
Merge pull request #8664 from ProcessMaker/bugfix/FOUR-28520
nolanpro Jan 16, 2026
f240073
Merge pull request #8617 from ProcessMaker/bugfix/FOUR-27993
nolanpro Jan 16, 2026
de87bff
Merge pull request #8610 from ProcessMaker/bugfix/FOUR-27904
nolanpro Jan 16, 2026
a2b812d
Merge pull request #8563 from ProcessMaker/epic/FOUR-26611
nolanpro Jan 16, 2026
44db8ce
Merge pull request #8569 from ProcessMaker/bugfix/FOUR-21604
nolanpro Jan 16, 2026
4da5af9
Merge pull request #8554 from ProcessMaker/epic/FOUR-26391
nolanpro Jan 16, 2026
5b8c5a1
Merge branch 'develop' into bugfix/FOUR-24108-A
gproly Jan 16, 2026
b5dd0ac
Merge pull request #8685 from ProcessMaker/observation/FOUR-28794
eiresendez Jan 16, 2026
73e78a2
Merge pull request #8649 from ProcessMaker/bugfix/FOUR-24108-A
nolanpro Jan 19, 2026
8a82e0b
FOUR-28840: Available self service tasks not displayed for non-admin …
rodriquelca Jan 19, 2026
7e0ba6a
Merge pull request #8681 from ProcessMaker/bugfix/FOUR-28328
nolanpro Jan 19, 2026
f5a225b
Update dependencies
nolanpro Jan 19, 2026
aeaabc1
v2026.2.1
nolanpro Jan 19, 2026
0ff8ab4
Added scheduler configuration options for claim timeout and BPMN time…
marcoAntonioNina Jan 19, 2026
972670d
fix: reset pagination page on per-page change
eiresendez Jan 20, 2026
ead6e29
fix(cases): guard missing case requests before rendering detail
eiresendez Jan 20, 2026
af40a9a
Use php 8.4
nolanpro Jan 20, 2026
4677567
Merge branch 'develop' into task/FOUR-28803
nolanpro Jan 20, 2026
64df33b
Implement session synchronization and timeout management in bootstrap…
marcoAntonioNina Jan 21, 2026
91dca6c
Enhance session management by adding clearWarningState invocation in …
marcoAntonioNina Jan 21, 2026
e9b337a
This improves robustness and user experience during session timeouts.
marcoAntonioNina Jan 21, 2026
c15212e
add comments
marcoAntonioNina Jan 21, 2026
d6d9947
Merge pull request #8693 from ProcessMaker/observation/FOUR-28838
eiresendez Jan 21, 2026
3438027
add loader
marcoAntonioNina Jan 21, 2026
db81d7f
Add the ability fot task to retrive dinamic fields
rodriquelca Jan 21, 2026
041f951
fix cursor agent notes
rodriquelca Jan 21, 2026
6c8f6b2
fix cursor agent notes 2
rodriquelca Jan 21, 2026
3a9ce16
restore app login
rodriquelca Jan 21, 2026
0a556ce
add id always
rodriquelca Jan 21, 2026
2db9d6d
Implement message deduplication logic in bootstrap.js to enhance sess…
marcoAntonioNina Jan 22, 2026
bd1e89c
Enhance session management by adding manual logout handling in bootst…
marcoAntonioNina Jan 22, 2026
eb782c5
fix(import-export): sync launchpad screen id/title on import
eiresendez Jan 22, 2026
df25a80
Add login in next/Session
marcoAntonioNina Jan 22, 2026
861451d
Must pass db name for getViews and getTables now
nolanpro Jan 22, 2026
d8adcdb
Do not extend the passport controller. Use our own
nolanpro Jan 22, 2026
2b6bcc2
Disable referencing oauth clients by UUID
nolanpro Jan 22, 2026
cf6ce9b
Enhance session event broadcasting by adding a unique identifier to m…
marcoAntonioNina Jan 22, 2026
c57f6d1
Fix AuthenticateSession
nolanpro Jan 22, 2026
81cb879
Enhance session synchronization by introducing suppress warning funct…
marcoAntonioNina Jan 22, 2026
1516f8e
Updates for passport API
nolanpro Jan 26, 2026
5ed3c1a
Update UserSeeder.php
nolanpro Jan 26, 2026
400026c
Disable ssl for testing
nolanpro Jan 27, 2026
578ebc7
Fix ssl option
nolanpro Jan 27, 2026
e8ddfd9
Update dump command
nolanpro Jan 27, 2026
d7e4830
Use maria db commands when available
nolanpro Jan 27, 2026
d4845b1
fix: guard undefined setting key in admin settings text input
eiresendez Jan 27, 2026
0599a38
fix(processes): validate owner on update and surface 422 alerts
eiresendez Jan 27, 2026
48065d0
Fix calls to token repository
nolanpro Jan 27, 2026
bfeb847
fix(projects): hide PI import in projects and guard data-sources modal
eiresendez Jan 28, 2026
d3fe7bd
submit button listener
gustavobascope Jan 28, 2026
aceaf97
Update dependencies
nolanpro Jan 28, 2026
ee48cb3
Temporary allow CVE as it doesnt affect us
nolanpro Jan 28, 2026
647527b
2026.2.2
nolanpro Jan 28, 2026
3eb8534
FOUR-29010 Redis Client Requirement for Installation
gproly Jan 29, 2026
2ade593
Update framework packages
nolanpro Jan 29, 2026
2736767
Update composer.lock
nolanpro Jan 29, 2026
0b9da15
Remove debugging
nolanpro Jan 29, 2026
df78e76
feat(screen-templates): add prev/next navigation in preview
eiresendez Jan 29, 2026
f19c034
removed comment
gustavobascope Jan 29, 2026
184902c
Merge pull request #8705 from ProcessMaker/bugfix/FOUR-28985
nolanpro Jan 29, 2026
4b66ff3
Version 2026.2.3
processmaker-bot Jan 29, 2026
c5b5899
Convert middleware registration to Laravel 11+ format
nolanpro Jan 29, 2026
1c25cf2
Merge branch 'develop' into task/FOUR-28803
nolanpro Jan 29, 2026
87aa21b
Fix composer.lock
nolanpro Jan 29, 2026
425c7c5
Fix middleware
nolanpro Jan 29, 2026
5a6bc11
fix(requests): link case title/number to /cases with fallback
eiresendez Jan 30, 2026
604aa9d
Reapply "Merge pull request #8544 from ProcessMaker/feature/FOUR-26707"
nolanpro Jan 30, 2026
d987589
Update dependencies
nolanpro Jan 30, 2026
86fdf0a
2026.2.4
nolanpro Jan 30, 2026
e9bcdc9
Merge pull request #8706 from ProcessMaker/bugfix/FOUR-29010
nolanpro Jan 30, 2026
ea10d72
Fix security advisory and unit test fixes
nolanpro Jan 31, 2026
4ec773a
Merge branch 'develop' into task/FOUR-28803
nolanpro Jan 31, 2026
4e2ed4b
Fix composer.lock
nolanpro Jan 31, 2026
b0389a3
Use isset for metrics check in tearDown method
nolanpro Feb 2, 2026
1d3e028
Update dependency
nolanpro Feb 2, 2026
3045806
Rebuild 2026.2.4
nolanpro Feb 2, 2026
21fdef3
Merge pull request #8632 from ProcessMaker/bugfix/FOUR-25401
nolanpro Feb 3, 2026
8b2459a
Merge pull request #8675 from ProcessMaker/epic/FOUR-28600
nolanpro Feb 3, 2026
f7c67e6
Merge pull request #8676 from ProcessMaker/bugfix/FOUR-26514
nolanpro Feb 3, 2026
7524e63
Merge pull request #8690 from ProcessMaker/bugfix/FOUR-28840
nolanpro Feb 3, 2026
1d4d26d
Merge pull request #8680 from ProcessMaker/bugfix/FOUR-28487
nolanpro Feb 3, 2026
0710a56
Merge pull request #8637 from ProcessMaker/bugfix/FOUR-28206
nolanpro Feb 3, 2026
c720177
Merge pull request #8662 from ProcessMaker/bugfix/FOUR-27831
nolanpro Feb 3, 2026
dc92565
Merge pull request #8650 from ProcessMaker/bugfix/FOUR-25084
nolanpro Feb 3, 2026
25ca291
Merge pull request #8642 from ProcessMaker/bugfix/FOUR-25055
nolanpro Feb 3, 2026
513d30f
Merge pull request #8695 from ProcessMaker/bugfix/FOUR-27401
nolanpro Feb 3, 2026
e111732
Update dependencies
nolanpro Feb 4, 2026
fa249ef
Version 2026.3.1
processmaker-bot Feb 4, 2026
320955b
fix(screen-templates): close preview on tab switch (FOUR-29145)
eiresendez Feb 4, 2026
77b0967
Enhance URL validation in MakeHttpRequests trait to ensure a host is …
marcoAntonioNina Feb 4, 2026
ac52c1d
change validation
marcoAntonioNina Feb 4, 2026
e138bd6
Merge branch 'develop' into task/FOUR-28803
nolanpro Feb 4, 2026
c5e7b34
Include opentelemetry here instead of build script
nolanpro Feb 4, 2026
c2ef4ae
Enhance MakeHttpRequests trait to replace placeholder '{{__api_base_u…
marcoAntonioNina Feb 4, 2026
b60ade1
Merge pull request #8718 from ProcessMaker/bugfix/FOUR-29133
nolanpro Feb 4, 2026
b425ed6
Use correct context for notifications
nolanpro Feb 5, 2026
ccc4f2b
Update open telemetry api
nolanpro Feb 6, 2026
520d48e
Merge pull request #8723 from ProcessMaker/bugfix/FOUR-29161
nolanpro Feb 10, 2026
4f59e4c
Version 2026.3.2
processmaker-bot Feb 10, 2026
0f3d235
FOUR-29250 End Event – External URL with Mustache/FEEL Support
gproly Feb 10, 2026
5ad73da
FOUR-29250 Add unit tests for end event external URL Mustache context…
gproly Feb 11, 2026
2d97cc8
Update dependencies
nolanpro Feb 11, 2026
517987f
Apply suggestion from @devmiguelangel
gproly Feb 11, 2026
6af7877
Apply suggestion from @devmiguelangel
gproly Feb 11, 2026
f8aac11
Apply suggestion from @devmiguelangel
gproly Feb 11, 2026
96a4eb2
FOUR-29250 ProcessRequestToken: improve getElementDestinationMustache…
gproly Feb 11, 2026
8f0a9a8
Fix global URL helper
nolanpro Feb 11, 2026
da4c8f7
Merge pull request #8729 from ProcessMaker/bugfix/FOUR-29220
nolanpro Feb 11, 2026
6f3a606
Version 2026.3.3
processmaker-bot Feb 11, 2026
fec0898
Fix logging when name attribute is unknown
nolanpro Feb 12, 2026
02dd6ff
Merge pull request #8731 from ProcessMaker/bugfix/FOUR-29304
nolanpro Feb 12, 2026
55bad7a
Update dependency
nolanpro Feb 12, 2026
c39effc
Version 2026.3.4
processmaker-bot Feb 12, 2026
b4b70c4
Merge branch 'develop' into feature/FOUR-29250
gproly Feb 12, 2026
fc99538
Implement process request status updates in RollbackProcessRequest class
marcoAntonioNina Feb 12, 2026
cafd339
FOUR-29250 Add unit tests for ProcessRequestToken element destination…
gproly Feb 13, 2026
fde9617
Update dependency
nolanpro Feb 13, 2026
5db044c
Version 2026.3.5
processmaker-bot Feb 13, 2026
39680bc
Update psysh
nolanpro Feb 17, 2026
b3843e7
Merge branch 'develop' into task/FOUR-28803
nolanpro Feb 17, 2026
2438c67
Fix composer lock
nolanpro Feb 17, 2026
5ff4b55
Update dependency
nolanpro Feb 18, 2026
93d37ff
Version 2026.4.1
processmaker-bot Feb 18, 2026
ae36a74
Merge branch 'develop' into task/FOUR-28803
nolanpro Feb 19, 2026
a210854
Merge branch 'develop' of github.com:ProcessMaker/processmaker into b…
marcoAntonioNina Feb 19, 2026
3f64058
Merge branch 'develop' into feature/FOUR-29250
gproly Feb 20, 2026
97ae1a7
fix(data-sources): apply dynamic PARAM query values when endpoint par…
eiresendez Feb 20, 2026
deba121
FOUR-29250 Implement conditional redirect enhancements and data norma…
gproly Feb 22, 2026
9b49fba
Merge pull request #8738 from ProcessMaker/bugfix/FOUR-29448
nolanpro Feb 23, 2026
6bbaf51
Update ABE dependency
nolanpro Feb 23, 2026
fd9894a
Merge pull request #8739 from ProcessMaker/bugfix/FOUR-29234
nolanpro Feb 23, 2026
74212c5
FOUR-29250 Resolve element destination URL for customDashboard as wel…
gproly Feb 25, 2026
eeee3b1
FOUR-29250 Document element-destination redirect risk; strip remember…
gproly Feb 25, 2026
a5d5b76
Version 2026.4.2
processmaker-bot Feb 26, 2026
2cbf37b
FOUR-29250 Restore edit.js from develop branch.
gproly Feb 26, 2026
7cd53c1
FOUR-29531 The screen does not open when a user belongs to a self-ser…
julceslauhub Feb 27, 2026
33a83b3
FOUR-29531 The screen does not open when a user belongs to a self-ser…
julceslauhub Mar 2, 2026
6af1617
Merge pull request #8745 from ProcessMaker/bugfix/FOUR-29531
nolanpro Mar 3, 2026
93536ae
Update dependencies
nolanpro Mar 4, 2026
21f7c4b
Update dependency
nolanpro Mar 4, 2026
74d6fc2
Version 2026.4.3
processmaker-bot Mar 4, 2026
44edd7b
Remove redundant event listeners for timeout worker restart.
marcoAntonioNina Mar 4, 2026
b3b7079
Merge pull request #8746 from ProcessMaker/bugfix/FOUR-29632
nolanpro Mar 4, 2026
74f12f9
Version 2026.4.4
processmaker-bot Mar 4, 2026
5da27ce
Merge branch 'develop' into task/FOUR-28803
nolanpro Mar 9, 2026
d07f8b8
Update dependencies
nolanpro Mar 12, 2026
36cc698
Version 2026.4.5
nolanpro Mar 12, 2026
d288caa
Merge pull request #8728 from ProcessMaker/feature/FOUR-29250
nolanpro Mar 13, 2026
4e3fa3a
Merge pull request #8733 from ProcessMaker/bugfix/FOUR-25486
nolanpro Mar 13, 2026
91109ca
Merge pull request #8712 from ProcessMaker/bugfix/FOUR-27394
nolanpro Mar 13, 2026
107d55d
Update dependencies
nolanpro Mar 13, 2026
e5b2464
Update dependency
nolanpro Mar 13, 2026
0d36bf7
Version 2026.5.1
processmaker-bot Mar 13, 2026
9adf3c4
Solving fix with Recent Assets Copy option from ellipsis with Scripts
CarliPinell Mar 16, 2026
028fa82
FOUR-29961: APPLICANT >> Improve Draft behavior
rodriquelca Mar 18, 2026
8921fe3
Merge pull request #8752 from ProcessMaker/feature/FOUR-29961
nolanpro Mar 18, 2026
e6ad0df
Update dependencies
nolanpro Mar 18, 2026
25c7763
Version 2026.5.2
processmaker-bot Mar 18, 2026
4e1b054
Prevent access for BLOCKED/INACTIVE users
agustinbusso Mar 23, 2026
67195cb
Implement account status checks in password reset flow
marcoAntonioNina Mar 24, 2026
7e6b7b5
Add PasswordResetTest to validate password reset flow for blocked and…
marcoAntonioNina Mar 24, 2026
e41939c
Enhance password reset flow to include checks for inactive user
marcoAntonioNina Mar 24, 2026
e910706
Merge pull request #8755 from ProcessMaker/security/FOUR-30041
nolanpro Mar 24, 2026
7e4e133
Merge pull request #8757 from ProcessMaker/bugfix/FOUR-30040-A
nolanpro Mar 24, 2026
f48b687
Version 2026.5.3
processmaker-bot Mar 24, 2026
32352c2
Include username tovalidate when using the reset password
agustinbusso Mar 25, 2026
9f98cff
Merge pull request #8759 from ProcessMaker/security/FOUR-30042
nolanpro Mar 25, 2026
1159229
Version 2026.5.3
processmaker-bot Mar 25, 2026
e49fafd
Merge branch 'develop' into task/FOUR-28803
nolanpro Mar 28, 2026
d628fac
Update composer dependencies
nolanpro Mar 28, 2026
e68f3c7
Add sameSite header to cookies using .env or by default set to lax
agustinbusso Mar 30, 2026
a37671f
Merge pull request #8697 from ProcessMaker/bugfix/FOUR-25827
nolanpro Mar 31, 2026
8024b4d
Update dependencies
nolanpro Mar 31, 2026
0a86432
Version 2026.6.1
processmaker-bot Mar 31, 2026
006321c
Remove homestead
nolanpro Mar 31, 2026
27fe3f8
Merge branch 'develop' into task/FOUR-28803
nolanpro Mar 31, 2026
b120a67
Use temporary upgrade for for open telemetry
nolanpro Apr 2, 2026
f10f3b4
Remove unused packages
nolanpro Apr 2, 2026
dbaceb8
Update dependencies for laravel 13
nolanpro Apr 2, 2026
ad86c55
Add back packages that were temporarily removed for the L13 dependenc…
nolanpro Apr 2, 2026
3003f0a
Add serializable_classes config
nolanpro Apr 2, 2026
910f630
Fix middleware name change in Laravel 13
nolanpro Apr 2, 2026
2800d22
Update Dependencies
nolanpro Apr 6, 2026
15013c7
Fix swagger annotations
nolanpro Apr 6, 2026
e03959e
Remove unused file
nolanpro Apr 6, 2026
ff5e610
Remove dusk provider
nolanpro Apr 6, 2026
d0b4509
Version 2026.6.2
nolanpro Apr 6, 2026
9d3abdd
Fix l5-generate for cached config
nolanpro Apr 7, 2026
12669e2
Merge branch 'develop' into task/FOUR-28803
nolanpro Apr 7, 2026
ac33e2e
Merge branch 'task/FOUR-28803' into task/FOUR-28803-L13
nolanpro Apr 7, 2026
e45dfa8
Add no cache option when rebuilding
nolanpro Apr 7, 2026
1841f3b
Merge pull request #8769 from ProcessMaker/bugfix/FOUR-30478
nolanpro Apr 7, 2026
023e4d2
Update dependency
nolanpro Apr 7, 2026
25c0950
Version 2026.6.3
nolanpro Apr 7, 2026
f0f84ba
Fix composer.lock
nolanpro Apr 8, 2026
4bd98ec
Update build hash
nolanpro Apr 8, 2026
2be10ea
Fix bootIfNotBooted circular issue in laravel 13
nolanpro Apr 8, 2026
fea7d0a
Fix test
nolanpro Apr 8, 2026
65392e5
Change workflow reference to 'testbench' branch
nolanpro Apr 9, 2026
2517209
Use our forks for dependencies and a new pmql release
nolanpro Apr 10, 2026
2cafb52
Merge pull request #8768 from ProcessMaker/task/FOUR-28803-L13
nolanpro Apr 10, 2026
aaf0a1b
Update workflow reference from 'testbench' to 'main'
nolanpro Apr 10, 2026
35db6bf
Merge branch 'develop' into task/FOUR-28803
nolanpro Apr 10, 2026
95352c5
Delete draft after editing request data
nolanpro Apr 10, 2026
c111eca
Merge pull request #7864 from ProcessMaker/bugfix/FOUR-19108
nolanpro Apr 10, 2026
0834ec0
Merge pull request #8699 from ProcessMaker/bugfix/FOUR-25963
nolanpro Apr 10, 2026
5ec6775
Merge pull request #8564 from ProcessMaker/defect/FOUR-25983
nolanpro Apr 10, 2026
cdcdac3
Merge pull request #8700 from ProcessMaker/bugfix/FOUR-26241
nolanpro Apr 10, 2026
f9c3aef
Merge pull request #8750 from ProcessMaker/bugfix/FOUR-26367
nolanpro Apr 10, 2026
34ff4da
Merge pull request #8707 from ProcessMaker/task/FOUR-27903
nolanpro Apr 10, 2026
ae0b22b
Merge pull request #8703 from ProcessMaker/bugfix/FOUR-28338
nolanpro Apr 10, 2026
9b0c9a6
Merge pull request #8653 from ProcessMaker/bugfix/FOUR-28342
nolanpro Apr 10, 2026
acf88f0
Merge pull request #8761 from ProcessMaker/task/FOUR-28351
nolanpro Apr 10, 2026
4a80ede
Merge pull request #8687 from ProcessMaker/task/FOUR-28803
nolanpro Apr 10, 2026
e2aa901
Merge branch 'develop' into bugfix/FOUR-28471
eiresendez Apr 10, 2026
0e1621e
Merge pull request #8682 from ProcessMaker/bugfix/FOUR-28471
nolanpro Apr 10, 2026
de0e63a
Update JavaScript Dependencies
nolanpro Apr 10, 2026
6852ecf
Update dependencies
nolanpro Apr 10, 2026
873d698
Version 2026.7.1
processmaker-bot Apr 10, 2026
371a28e
Fix security advisories
nolanpro Apr 13, 2026
5ed57d9
Move package-accessibility to enterprise
nolanpro Apr 13, 2026
129c00e
Fix axios vulnerability in swagger ui
nolanpro Apr 14, 2026
a59bea0
Fix swagger generate problem
nolanpro Apr 15, 2026
18902a6
FOUR-30704: REGRESSION Not all pages are displayed on forms tab to r…
henryjonathanquispe Apr 16, 2026
5beb7b4
FOUR-30704: REGRESSION Not all pages are displayed on forms tab to r…
henryjonathanquispe Apr 16, 2026
7f0f448
FOUR-30704: REGRESSION Not all pages are displayed on forms tab to r…
henryjonathanquispe Apr 16, 2026
1df5aa0
Added a new update_by column in process_template table
gustavobascope Apr 17, 2026
60dfb50
Qualify token filter columns; add tests
mcraeteisha Apr 17, 2026
212c11d
Qualify id in scope filter and extend tests
mcraeteisha Apr 20, 2026
16b5446
Fix DevLink
nolanpro Apr 22, 2026
16a066c
Merge pull request #8775 from ProcessMaker/task/FOUR-30670
nolanpro Apr 23, 2026
0cb38e6
Merge pull request #8781 from ProcessMaker/bugfix/FOUR-30703
nolanpro Apr 23, 2026
c8b8adc
Merge pull request #8778 from ProcessMaker/FOUR-30704
nolanpro Apr 23, 2026
7d7c0c2
Merge pull request #8789 from ProcessMaker/bugfix/FOUR-30705
nolanpro Apr 23, 2026
4f24d36
Merge pull request #8777 from ProcessMaker/bugfix/FOUR-30724
nolanpro Apr 23, 2026
02069bf
Merge pull request #8780 from ProcessMaker/observation/FOUR-30742
nolanpro Apr 23, 2026
a826796
Update JavaScript Dependencies
nolanpro Apr 23, 2026
cbef30f
Update dependencies
nolanpro Apr 23, 2026
5aa2bfd
Version 2026.7.2
processmaker-bot Apr 23, 2026
0b7be67
Move package-accessibility to enterprise
nolanpro Apr 24, 2026
1486da1
Update custom package versions
nolanpro Apr 24, 2026
8c75471
Remove prefix
nolanpro Apr 24, 2026
14ebeae
Update plg version
nolanpro Apr 24, 2026
f2ae9d4
Add forked repo here for package-esign
nolanpro Apr 24, 2026
7e03f40
Merge remote-tracking branch 'origin/develop' into feature/FOUR-26166-b
caleeli Apr 28, 2026
137df95
Merge pull request #8793 from ProcessMaker/task/FOUR-30672
nolanpro Apr 29, 2026
27286ad
Version 2026.7.3
processmaker-bot Apr 29, 2026
b6d3d52
Merge remote-tracking branch 'origin/develop' into feature/FOUR-26166-b
devmiguelangel Apr 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,4 @@ devhub/pm-font/dist
test-db-snapshot.db
snapshot_*.db
storage/transitions
.envrc
14 changes: 2 additions & 12 deletions ProcessMaker/Application.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace ProcessMaker;

use Igaster\LaravelTheme\Facades\Theme;
use Illuminate\Container\Container;
use Illuminate\Filesystem\Filesystem;
use Illuminate\Foundation\Application as IlluminateApplication;
use Illuminate\Foundation\Bootstrap\LoadEnvironmentVariables;
Expand All @@ -12,8 +13,8 @@
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Config;
use ProcessMaker\Console\Kernel;
use ProcessMaker\Multitenancy\Tenant;
use ProcessMaker\Multitenancy\TenantBootstrapper;

/**
* Class Application.
Expand Down Expand Up @@ -101,15 +102,4 @@ public function registerConfiguredProviders()

parent::registerConfiguredProviders();
}

public function bootstrapWith(array $bootstrappers)
{
// Insert TenantBootstrapper after LoadEnvironmentVariables
if ($bootstrappers[0] !== LoadEnvironmentVariables::class) {
throw new \Exception('LoadEnvironmentVariables is not the first bootstrapper. Did a laravel upgrade change this?');
}
array_splice($bootstrappers, 1, 0, [TenantBootstrapper::class]);

return parent::bootstrapWith($bootstrappers);
}
}
52 changes: 50 additions & 2 deletions ProcessMaker/AssignmentRules/ProcessManagerAssigned.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
use ProcessMaker\Exception\ThereIsNoProcessManagerAssignedException;
use ProcessMaker\Models\Process;
use ProcessMaker\Models\ProcessRequest;
use ProcessMaker\Models\ProcessRequestToken;
use ProcessMaker\Models\User;
use ProcessMaker\Nayra\Contracts\Bpmn\ActivityInterface;
use ProcessMaker\Nayra\Contracts\Bpmn\TokenInterface;

Expand All @@ -24,16 +26,62 @@ class ProcessManagerAssigned implements AssignmentRuleInterface
* @param TokenInterface $token
* @param Process $process
* @param ProcessRequest $request
* @return int
* @return int|null
* @throws ThereIsNoProcessManagerAssignedException
*/
public function getNextUser(ActivityInterface $task, TokenInterface $token, Process $process, ProcessRequest $request)
{
$user_id = $request->processVersion->manager_id;
// review for multiple managers
$managers = $request->processVersion->manager_id;
$user_id = $this->getNextManagerAssigned($managers, $task, $request);
if (!$user_id) {
throw new ThereIsNoProcessManagerAssignedException($task);
}

return $user_id;
}

/**
* Get the round robin manager using a true round robin algorithm
*
* @param array $managers
* @param ActivityInterface $task
* @param ProcessRequest $request
* @return int|null
*/
private function getNextManagerAssigned($managers, $task, $request)
{
// Validate input
if (empty($managers) || !is_array($managers)) {
return null;
}

// If only one manager, return it
if (count($managers) === 1) {
return $managers[0];
}

// get the last manager assigned to the task across all requests
$last = ProcessRequestToken::where('process_id', $request->process_id)
->where('element_id', $task->getId())
->whereIn('user_id', $managers)
->orderBy('created_at', 'desc')
->first();

$user_id = $last ? $last->user_id : null;

sort($managers);

$key = array_search($user_id, $managers);
if ($key === false) {
// If no previous manager found, start with the first manager
$key = 0;
} else {
// Move to the next manager in the round-robin
$key = ($key + 1) % count($managers);
}
$user_id = $managers[$key];

return $user_id;
}
}
39 changes: 37 additions & 2 deletions ProcessMaker/Console/Commands/BuildScriptExecutors.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,11 @@ class BuildScriptExecutors extends Command
*
* @var string
*/
protected $signature = 'processmaker:build-script-executor {lang} {user?} {--rebuild}';
protected $signature = 'processmaker:build-script-executor
{lang : The ID or language of the script executor}
{user? : The user ID to send the broadcast event to}
{--rebuild : Rebuild the docker image}
{--build-args= : The build arguments for the docker build command}';

/**
* The console command description.
Expand Down Expand Up @@ -156,9 +160,17 @@ public function buildExecutor()
$this->info('Building the docker executor');

$image = $scriptExecutor->dockerImageName();
$cacheArg = $this->option('rebuild') ? '--no-cache ' : '';
$command = Docker::command() .
" build --build-arg SDK_DIR=./sdk -t {$image} -f {$packagePath}/Dockerfile.custom {$packagePath}";
" build {$cacheArg}--build-arg SDK_DIR=./sdk -t {$image} -f {$packagePath}/Dockerfile.custom {$packagePath}";

$buildArgs = $this->getBuildArgs();

foreach ($buildArgs as $buildArg) {
$command .= ' ' . $buildArg;
}

$this->info("Running command: $command");
$this->execCommand($command);

$isNayra = $scriptExecutor->language === Base::NAYRA_LANG;
Expand All @@ -167,6 +179,29 @@ public function buildExecutor()
}
}

/**
* Get the build arguments for the docker build command.
*
* @return array
* - '--build-arg <key>=<value>'
*/
public function getBuildArgs(): array
{
$args = $this->option('build-args');

if ($args) {
$buildArgs = [];

foreach (explode(',', $args) as $arg) {
$buildArgs[] = '--build-arg ' . $arg;
}

return $buildArgs;
}

return [];
}

public function getDockerfileContent(ScriptExecutor $scriptExecutor): string
{
$lang = $scriptExecutor->language;
Expand Down
6 changes: 4 additions & 2 deletions ProcessMaker/Console/Commands/CreateDataLakeViews.php
Original file line number Diff line number Diff line change
Expand Up @@ -181,9 +181,10 @@ protected function getTableColumns(string $tableName): array
*/
protected function getTables(): array
{
$database = \DB::connection()->getDatabaseName();
$tables = array_map(function ($item) {
return $item['name'];
}, Schema::getTables());
}, Schema::getTables($database));

return $tables;
}
Expand All @@ -193,9 +194,10 @@ protected function getTables(): array
*/
protected function getViews(): array
{
$database = \DB::connection()->getDatabaseName();
$views = array_map(function ($item) {
return $item['name'];
}, Schema::getViews());
}, Schema::getViews($database));

return $views;
}
Expand Down
66 changes: 0 additions & 66 deletions ProcessMaker/Console/Commands/CreateTestDBs.php

This file was deleted.

5 changes: 2 additions & 3 deletions ProcessMaker/Console/Commands/IndexedSearchEnable.php
Original file line number Diff line number Diff line change
Expand Up @@ -123,9 +123,8 @@ private function setConfig($driver, $url = null, $prefix = null)
$env .= "\n\nSCOUT_DRIVER={$driver}";
$env .= "\nELASTIC_HOST={$url}";
break;
case 'sqlite':
$driver = 'tntsearch';
$env .= "\n\nSCOUT_DRIVER={$driver}";
default:
throw new \Exception('Only Elasticsearch is supported for indexed search.');
break;
}

Expand Down
2 changes: 1 addition & 1 deletion ProcessMaker/Console/Commands/Install.php
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ class Install extends Command
{--data-username= : The data database username}
{--data-password= : The data database password}
{--data-schema= : The data database schema (if pgsql)}
{--redis-client=predis : The Redis client (predis or phpredis)}
{--redis-client=phpredis : The Redis client (predis or phpredis)}
{--redis-host= : The Redis host, default is 127.0.0.1}
{--redis-prefix= : The prefix to be appended to Redis entries}
{--horizon-prefix=horizon: : The prefix to be appended to Horizon queue entries}
Expand Down
4 changes: 3 additions & 1 deletion ProcessMaker/Console/Commands/TenantsCreate.php
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,9 @@ public function handle()
$this->line('- Run migrations and seed the database');
$this->line('- Run the install command for each package');
$this->line('- Run artisan upgrade');
$this->line('- Install passport by calling passport:install');
$this->line('- Install passport by calling passport:install (create the default clients');
$this->line('- Reset the admin password with auth:set-password');
$this->line('- Run processmaker:initialize-script-microservice');
$this->info("For example, `TENANT={$tenant->id} php artisan migrate:fresh --seed`");
}
}
Expand Down
8 changes: 7 additions & 1 deletion ProcessMaker/Console/Commands/TenantsList.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class TenantsList extends Command
*
* @var string
*/
protected $signature = 'tenants:list {--ids : Only output the ids}';
protected $signature = 'tenants:list {--ids : Only output the ids} {--json : Output the tenants as JSON}';

/**
* The console command description.
Expand All @@ -40,6 +40,12 @@ public function handle()
return;
}

if ($this->option('json')) {
$this->line(json_encode($tenants->toArray(), JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES));

return;
}

$formattedTenants = $tenants->map(function ($tenant) {
$config = $tenant->config;

Expand Down
Loading
Loading