Commit Graph
2097 Commits
Author SHA1 Message Date
daniel.subiabre 5421a91b3c fix: bad copies on consent page
PHPUnit / phpunit (push) Canceled after 0s
PHP CS Fixer / php-cs-fixer (pull_request) Canceled after 0s
2026-11-09 13:23:23 +01:00
Daniel Subiabre García 5e04db5406 Merge pull request #9 from goteo/feat/dtf-branding
PHPUnit / phpunit (push) Canceled after 0s
PHP CS Fixer / php-cs-fixer (pull_request) Canceled after 0s
feat: apply DTF branding to header, footer and palette
2026-11-05 15:54:36 +01:00
daniel.subiabre 9084f3a18e Merge branch 'main' into feat/dtf-api 2026-11-05 15:53:27 +01:00
Daniel Subiabre García d6beda1097 Merge pull request #10 from goteo/develop
PHPUnit / phpunit (push) Canceled after 0s
chore: sync main to open-core develop
2026-11-05 15:51:03 +01:00
Pep Villalonga Amorósanddaniel.subiabre 96ea565448 fix: declare roles[] filter as form style in OpenAPI spec (#268)
Co-authored-by: Daniel Subiabre <daniel.subiabre@platoniq.net>
2026-11-05 12:11:13 +01:00
daniel.subiabre 5c6ba99ddf fix: bad response model definition (#269) 2026-11-04 17:23:03 +01:00
Pep Villalonga Amorós a82b9dec37 feat: address ownership checks and default address (#262) 2026-11-04 16:53:45 +01:00
Pep Villalonga Amorósanddaniel.subiabre 7a8efca486 fix: keep user links as given, preserve them on PATCH and validate them (#267)
* fix: keep user links as given, preserve them on PATCH and validate them

* fix: add doc-block to ScoutService::normalizeUrl

* fix: raise PHPUnit CI memory limit to 256M

---------

Co-authored-by: Daniel Subiabre <daniel.subiabre@platoniq.net>
2026-11-04 16:52:41 +01:00
Pep f0e34ba80b feat: apply DTF branding to header, footer and palette 2026-11-03 13:56:16 +01:00
Pep Villalonga Amorós c9bd5a0c71 feat: filter accountings collection by id (#265)
* feat: filter accountings collection by id

* test: fix Foundry boot order in user UpdateTest
2026-11-02 13:50:57 +01:00
Pep Villalonga Amorós 4709d320ae fix: speed up users q and email filters (#264)
* fix: search QFilter related fields with subqueries instead of joins

* fix: restrict users email filter to admins and match by prefix

* test: fix Foundry boot order in user UpdateTest

* fix: only search users email in q filter for admins
2026-11-02 13:49:28 +01:00
Pep Villalonga Amorós d6a21b9e58 fix: Allow project filters on ProjectSupport money_total (#261)
* fix: Allow project filters on ProjectSupport money_total

* fix: Totalize money of filtered Projects collection

* fix: Totalize Accounting balances instead of ProjectSupports

* fix: Persist MoneyTotal fixtures directly through the EntityManager
2026-11-02 13:45:54 +01:00
Daniel Subiabre García ead4ab0cdc Merge pull request #8 from goteo/feat/add-project-descs
PHPUnit / phpunit (push) Canceled after 0s
PHP CS Fixer / php-cs-fixer (pull_request) Canceled after 0s
feat: add knowledge and infrastructure description fields to Project
2026-10-28 15:46:13 +01:00
daniel.subiabre 30c5c69c1d feat: add knowledge and infrastructure description fields to Project 2026-10-27 19:10:11 +01:00
daniel.subiabre 6f26e91c0d Merge branch 'main' into feat/dtf-api
PHPUnit / phpunit (push) Canceled after 0s
PHP CS Fixer / php-cs-fixer (pull_request) Canceled after 0s
2026-10-27 14:06:45 +01:00
Daniel Subiabre García 70c46db236 Merge pull request #7 from goteo/develop
chore: sync main to open-core develop
2026-10-27 14:05:32 +01:00
Daniel Subiabre García b8328789c2 Merge pull request #6 from goteo/feat/rauthy-integration
feat: Rauthy OAuth2 integration
2026-10-27 13:58:06 +01:00
daniel.subiabre 17654dfd50 fix: code style issues by php-cs-fixer 2026-10-27 13:55:34 +01:00
daniel.subiabre 85d268a71c feat: add DTF's rauthy instance as OAuth2 provider 2026-10-27 13:46:36 +01:00
daniel.subiabre 7777db7624 feat: update public name of mailer address 2026-10-27 11:37:31 +01:00
daniel.subiabre 037b0ae5c9 fix: hard to reach password reset (#263)
* feat: add link to password reset in login

* fix: improve display of known OAuth2 clients
2026-10-26 18:29:25 +01:00
Pep Villalonga Amorós 28a6ab8fa2 feat: add missing profile form fields to user, person and organization (#260)
* feat: add missing profile form fields to user, person and organization

* fix: address review on user profile fields
2026-10-26 18:29:06 +01:00
daniel.subiabre 6a744f4f49 Merge branch 'main' into feat/dtf-api
PHPUnit / phpunit (push) Canceled after 0s
PHP CS Fixer / php-cs-fixer (pull_request) Canceled after 0s
2026-10-26 14:22:43 +01:00
Daniel Subiabre García bd5c59b3a7 Merge pull request #5 from goteo/develop
PHPUnit / phpunit (push) Canceled after 0s
chore: sync main to open-core develop
2026-10-26 14:20:04 +01:00
daniel.subiabre eb822d7ff1 feat: Mail integration (#259)
* feat: composer require symfony/mailer

* feat: add entities for massive emailing

* feat: expose mail API resources

* feat: add BatchStatus::SentErrors

* fix: show client status after consent command

* feat: define shape of audiences criteria

* fix: missing map entity provider for mail entities

* fix: unsupported array/object conversion of audience criterias

* fix: rename MailBatch to MailBroadcast and MailBatchRecipient to MailDispatch

* feat: add command to process broadcasts

* feat: add lock to broadcast process command

* fix: remove dispatchCursor from Broadcast

* fix: make broadcasts-process command fast

* feat: update mailpit config for local dev

* feat: add app:mail:dispatches-process command

* feat: it was fun to play with a massive mailing prototype

* feat: composer require symfonycasts/reset-password-bundle

* feat: make reset-password

* fix: bad ALTER on migration down op

* feat: add migration for reset password bundle

* fix: update forms style

* feat: configure mailer address via env var

* fix: remove missing asset reference

* feat: translate /auth/reset-password

* feat: translate email message

* fix: calendar minimum optimum deadline not being set when release was given

* feat: translate /check-email

* feat: translate /reset

* fix: rename main SecurityController path to /auth

* feat: add known oauth2 clients controllr

* fix: deprecated custom responses openapi context definitions

* fix: projects not in campaign can still have a calendar

* fix: weird af regression out of the blue, fuck software

* feat: fuck my life
2026-10-26 12:52:19 +01:00
daniel.subiabre 1c1a2fc85e Merge branch 'main' into feat/dtf-api 2026-10-20 17:32:42 +02:00
Daniel Subiabre García faed879237 Merge pull request #4 from goteo/develop
chore: sync main to open-core develop
2026-10-20 17:31:34 +02:00
Pep Villalonga Amorósanddaniel.subiabre 0bc664a224 feat: generate random user handles with random-name-generator (#256)
* feat: generate random user handles with random-name-generator

* feat: use random-name-combiner for user handles

* feat: use random-name-generator Combination for user handles

* chore: update composer.lock for random-name-generator Combination

* feat: use Platoniq package

* feat: centralise user handle validation in UserHandle constraint

* feat: use platoniq/random-name-generator v1.0

* feat: increase uniqueness test size to 128 samples

---------

Co-authored-by: Daniel Subiabre <daniel.subiabre@platoniq.net>
2026-10-20 16:23:25 +02:00
daniel.subiabre f1c0e13e90 fix: missing map provider for themes 2026-10-19 16:26:12 +02:00
daniel.subiabre 302464e01e feat: update ProjectCreationDto categories and themes input
PHPUnit / phpunit (push) Canceled after 0s
PHP CS Fixer / php-cs-fixer (pull_request) Canceled after 0s
2026-10-19 15:36:25 +02:00
daniel.subiabre b48d4ed6de fix: Allow ProjectRewards shipping (#258)
* feat: add security to avoid exposing addresses to all users

* feat: add hasShipping to ProjectReward resources

* feat: split Address write from read API shapes

* fix: bad management of address input

* feat: pump reward hasShipping based on units

* fix: improve empty v3 address pumping

* fix: process country of v3 invest_address records
2026-10-13 17:55:59 +02:00
daniel.subiabre 4d348e1db7 Merge branch 'main' into feat/dtf-api 2026-10-08 16:30:31 +02:00
Daniel Subiabre García b4f1281e9c Merge pull request #3 from goteo/develop
chore: sync main to open-core develop
2026-10-08 16:29:14 +02:00
Daniel Subiabre García dc23606b42 Merge branch 'main' into develop 2026-10-08 16:18:49 +02:00
daniel.subiabre ac47aec378 feat: Themes (#257)
* feat: add trait to unify get by id or slug logic

* feat: add Theme resource

* fix: categories and themes

* feat: update api docs for projects to themes relationship

* feat: update doctrine relationship of projects to themes

* feat: add v3 categories to v4 themes pumping during projects pumping
2026-10-08 13:02:07 +02:00
daniel.subiabre 14ee28be4f [feat] Project reviews (#177)
* feat: start project reviews entity

* feat: add review areas entity

* feat: add review comments entity

* fix: code styles improvements by php-cs-fixer

* feat: expose project review resources in the API

* feat: add timestampt to review resources

* feat: add SQL migration

* fix: update ProjectReview API docs and operations

* feat: refactor ProjectsListener to dedicated project status listener

* fix: make default review area risk high

* feat: add ReviewService for creating default project reviews

* fix: renamed timestampt entity traits

* fix: update doctrine migration

* feat: test for release date to be set greater than today's start

* feat: add test for project campaign review

* fix: update person and organization patch validations

* fix: test if review entity is truly persisted

* fix: bad start statuses in project tests

* fix: ProjectStatusListener not persisting side effect data

* fix: centralize project status change side-effects processing in ProjectService

* fix: small review persistence tweaks

* feat: allow only concerned users to see and edit review areas

* feat: apply validations and security for concerned users to review comments
2026-10-07 13:31:44 +02:00
daniel.subiabre 86ba2c4fe4 fix: HTTPS in OAuth2 redirect_uri (#255)
* feat: remove router schema force via config

* fix: configure trusted proxies via env vars

* fix: typo in var description
2026-10-05 15:43:20 +02:00
daniel.subiabre 2dec0d1db5 fix: HTTP (!s) scheme in callback for OAuth2 providers (#254)
* fix: bad path to oauth2 provider logo

* feat: set https scheme on router on prod context

* feat: configure oauth2 jwts ttl via env var

* fix: bad nesting of access_token_ttl yaml option
2026-10-02 16:03:20 +02:00
daniel.subiabre 4761bc4544 Merge branch 'main' into feat/dtf-api
PHPUnit / phpunit (push) Canceled after 0s
PHP CS Fixer / php-cs-fixer (pull_request) Canceled after 0s
2026-10-02 03:27:00 +02:00
Daniel Subiabre García e1b7fec3ba chore: sync main to open-core develop (#2)
* fix: upgrade goteo/benzina to 0.6

* feat: increase Nominatim cache TTL

* fix: allow long addresses for territory data

* fix: build project addresses from goteo 3 territory fields

* fix: handle empty strings for video sources

* fix: update project drafts deadline to 2026

* feat: split project description into 4 fields

* feat: bump doctrine related dependencies

* feat: bump symfony related dependencies

* feat: make categories work on idOrSlug

* fix: allow filtering on project descBrief property

* fix: update constraints on project update to allow optional updates of properties

* fix: update Projects test suite to new project shape

* fix: order of DROP operations in migration Version20260813171902

* fix: move accounting balance and checkout to supports listeners to onFlush events

* fix: bad order of filter safeguards

* chore: code style by php-cs-fixer

* fix: prevent uninitialized fields on api resource from breaking AccountingVoter

* fix: small bug preventing code improvements on Accounting api resource

* feat: add cover property on ProjectReward resource

* feat: add cover property to Project resources

* feat: use video cover for project cover

* feat: add migration for property cover on project and rewards

* fix: small improvements on UserOwned helpers

* feat: add territory to project creation

* feat: mark creation fields as required

* feat: add CollaborationCandidacy resource

* fix: update old validations access of new types

* feat: add validation for charges targetting projects not in campaign

* feat: validate new collaboration candicacies are to open collaborations

* feat: prevent future object access issues in SameProjectRewardChargeValidator

* fix: return void on succesfull delete operations

* fix: force set of isFinite property

* feat: allow to filter ProjectBudgetItem by type and deadline

* feat: remove example values from .env

* feat: add testing encryption keys

* feat: make project in BudgetItem body required

* feat: add testing encryption keys to actions

* feat: add collaborations property to ProjectApiResource

* feat: Update Users PATCH body (#246)

* feat: move UserSignupDto to Dto\User namespace

* fix: bad parsing of INSTR by ApiPlatform pagination layer

* fix: make User resources be processed by dedicated update processor

* fix: specify authentication usage of UserSignupDto::password property

* feat: improve non-crawlable URI detection for ScoutService

* feat: add "org" to Links with known organizations behind links

* feat: map raw uri strings to full Link objects

* fix: bad loading of existing user data in UserStateProcessor

* feat: add NotExisting validator

* feat: use NotExisting constraint on Users handle, email, Projects titles and Tipjar names

* fix: check for existing node item in URI rel detection

* fix: make app:oauth2-server:consent-client true by default

* feat: bump league/oauth2-server-bundle to 1.2.2

* feat: add UserConverter decorator to have league/oauth2-server JWT's sub have User id instead of handle

* fix: specify OAuth2 and  separate server from client utilities

* fix: make app_user_provider use ID instead of handle

* feat: add explaining comment to doctrine_encryption.key_id

* feat: add status to reward claims

* feat: make default RewardClaim entity status in_pending

* feat: add shorter check for ownership of projects

* feat: allow to modify status of reward claims

* feat: add shipping address to reward claims

* fix: remove requirement of status in claim update op

* fix: update filters and remove obsolete attributes from ProjectRewardClaim resource

* feat: update DB layer for project reward claims

* fix: code style issues by PHP-CS-Fixer

* feat: add DoctrineLoggablePumpTrait to remove Gedmo Loggable event listener

* fix: update legacy ref to FileUriException

* feat: pump reward claim status and shipping address from v3 records

* fix: update pumps batch sizes and injected dependencies

* feat: pump user roles

* feat: add true image cover retrieval and leave video as fallback for ProjectsPump

* feat: pump project collaborations

* feat: allow cascading of collaborations

* fix: set isFulfilled of collaboration

* fix: link collaboration to in-pumping project

* fix: add trailing comma to list of fulfilling statuses

* test: update PHPUnit CI to use bin/phpunit instead of action

* feat: set memory_limit of PHPUnit run on CI to 128M

* fix: add user avatar to user pump processing

* fix: set invests batch size to 1 to avoid support duplicates on insert

* Merge pull request #253 from goteo/fix/pumping-bugs

fix: Pumping bugs
2026-10-02 03:26:21 +02:00
daniel.subiabre 8053e8f800 feat: update pumping to DTFs 2026-10-02 03:25:04 +02:00
daniel.subiabre 317dfc4e29 Merge branch 'main' into feat/dtf-api 2026-10-01 16:26:25 +02:00
Daniel Subiabre García 0007c6b9b1 chore: sync main to core develop (#1)
* fix: upgrade goteo/benzina to 0.6

* feat: increase Nominatim cache TTL

* fix: allow long addresses for territory data

* fix: build project addresses from goteo 3 territory fields

* fix: handle empty strings for video sources

* fix: update project drafts deadline to 2026

* feat: split project description into 4 fields

* feat: bump doctrine related dependencies

* feat: bump symfony related dependencies

* feat: make categories work on idOrSlug

* fix: allow filtering on project descBrief property

* fix: update constraints on project update to allow optional updates of properties

* fix: update Projects test suite to new project shape

* fix: order of DROP operations in migration Version20260813171902

* fix: move accounting balance and checkout to supports listeners to onFlush events

* fix: bad order of filter safeguards

* chore: code style by php-cs-fixer

* fix: prevent uninitialized fields on api resource from breaking AccountingVoter

* fix: small bug preventing code improvements on Accounting api resource

* feat: add cover property on ProjectReward resource

* feat: add cover property to Project resources

* feat: use video cover for project cover

* feat: add migration for property cover on project and rewards

* fix: small improvements on UserOwned helpers

* feat: add territory to project creation

* feat: mark creation fields as required

* feat: add CollaborationCandidacy resource

* fix: update old validations access of new types

* feat: add validation for charges targetting projects not in campaign

* feat: validate new collaboration candicacies are to open collaborations

* feat: prevent future object access issues in SameProjectRewardChargeValidator

* fix: return void on succesfull delete operations

* fix: force set of isFinite property

* feat: allow to filter ProjectBudgetItem by type and deadline

* feat: remove example values from .env

* feat: add testing encryption keys

* feat: make project in BudgetItem body required

* feat: add testing encryption keys to actions

* feat: add collaborations property to ProjectApiResource

* feat: Update Users PATCH body (#246)

* feat: move UserSignupDto to Dto\User namespace

* fix: bad parsing of INSTR by ApiPlatform pagination layer

* fix: make User resources be processed by dedicated update processor

* fix: specify authentication usage of UserSignupDto::password property

* feat: improve non-crawlable URI detection for ScoutService

* feat: add "org" to Links with known organizations behind links

* feat: map raw uri strings to full Link objects

* fix: bad loading of existing user data in UserStateProcessor

* feat: add NotExisting validator

* feat: use NotExisting constraint on Users handle, email, Projects titles and Tipjar names

* fix: check for existing node item in URI rel detection

* fix: make app:oauth2-server:consent-client true by default

* feat: bump league/oauth2-server-bundle to 1.2.2

* feat: add UserConverter decorator to have league/oauth2-server JWT's sub have User id instead of handle

* fix: specify OAuth2 and  separate server from client utilities

* fix: make app_user_provider use ID instead of handle

* feat: add explaining comment to doctrine_encryption.key_id

* feat: add status to reward claims

* feat: make default RewardClaim entity status in_pending

* feat: add shorter check for ownership of projects

* feat: allow to modify status of reward claims

* feat: add shipping address to reward claims

* fix: remove requirement of status in claim update op

* fix: update filters and remove obsolete attributes from ProjectRewardClaim resource

* feat: update DB layer for project reward claims

* fix: code style issues by PHP-CS-Fixer

* feat: add DoctrineLoggablePumpTrait to remove Gedmo Loggable event listener

* fix: update legacy ref to FileUriException

* feat: pump reward claim status and shipping address from v3 records

* fix: update pumps batch sizes and injected dependencies

* feat: pump user roles

* feat: add true image cover retrieval and leave video as fallback for ProjectsPump

* feat: pump project collaborations

* feat: allow cascading of collaborations

* fix: set isFulfilled of collaboration

* fix: link collaboration to in-pumping project

* fix: add trailing comma to list of fulfilling statuses

* test: update PHPUnit CI to use bin/phpunit instead of action

* feat: set memory_limit of PHPUnit run on CI to 128M

* fix: add user avatar to user pump processing

* fix: set invests batch size to 1 to avoid support duplicates on insert

* Merge pull request #253 from goteo/fix/pumping-bugs

fix: Pumping bugs
2026-10-01 16:26:01 +02:00
daniel.subiabre 5d878f2c4c Merge pull request #253 from goteo/fix/pumping-bugs
fix: Pumping bugs
2026-10-01 16:22:42 +02:00
daniel.subiabre 07b0b47e92 Merge pull request #252 from goteo/fix/missing-user-avatar-pumping
fix: missing User's avatar pumping
2026-09-30 17:40:38 +02:00
daniel.subiabre 7732352bb7 fix: set invests batch size to 1 to avoid support duplicates on insert 2026-09-30 17:36:42 +02:00
daniel.subiabre c3b4299097 fix: add user avatar to user pump processing 2026-09-30 17:36:27 +02:00
daniel.subiabre a2371240c2 Merge pull request #251 from goteo/feat/pump-user-roles
feat: update Pumps
2026-09-30 16:51:29 +02:00
daniel.subiabre deef8ad171 feat: set memory_limit of PHPUnit run on CI to 128M 2026-09-30 16:42:48 +02:00
daniel.subiabre 3d0925ca0f test: update PHPUnit CI to use bin/phpunit instead of action 2026-09-30 16:33:26 +02:00