gitforge/modules/setting
Antonin Delpeuch c99b35cfa4 feat: setting to add team members by invitations (#12845)
Fixes #12564. Fixes #8951.

This introduces a new setting, `ADD_MEMBERS_BY_INVITATIONS`, which is turned off by default.
When turned on, adding a user to a team issues an invitation instead of adding them directly to the team.
A prerequisite for this work was to be able to link invitations to existing users (so far, they were only associated to an email address, since those invitations were meant to be issued to users who didn't have an account yet).

---

I plan to work on the following improvements, which I propose to do in separate PRs given that this one is already a bit big:
* generate an in-app notification for the invited user
* advertise the invitation to the invited user from the org page as well (#12120)
* show the list of invited users in the list of organization members (not just on the team page)

and various other improvements to invitations (#12570, #12716).

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/12845
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2026-06-15 01:46:25 +02:00
..
config
actions.go chore: unify signing key configuration across modules (#11194) 2026-04-21 19:39:33 +02:00
actions_test.go chore: unify signing key configuration across modules (#11194) 2026-04-21 19:39:33 +02:00
admin.go feat: add manage_password to user disable features (#10541) 2026-01-26 18:58:39 +01:00
admin_test.go
api.go
asset_dynamic.go
asset_static.go
attachment.go
attachment_test.go
authorized_integration.go feat: cache OIDC metadata & JWKS when read by authorized integration (#12275) 2026-04-28 02:13:06 +02:00
badges.go
cache.go ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
camo.go
config.go chore: add modernizer linter (#11936) 2026-04-02 03:29:37 +02:00
config_env.go chore: add modernizer linter (#11936) 2026-04-02 03:29:37 +02:00
config_env_test.go
config_provider.go fix: [quota.default].TOTAL config setting supports unit suffixes (#9252) 2025-09-12 00:44:09 +02:00
config_provider_test.go fix: [quota.default].TOTAL config setting supports unit suffixes (#9252) 2025-09-12 00:44:09 +02:00
cors.go
cron.go
cron_test.go fix: LFS GC is never running because of a bug in the parsing of the INI file (#9202) 2025-09-09 22:32:49 +02:00
database.go chore: upgrade to https://code.forgejo.org/xorm/xorm v1.4.0 (#12639) 2026-05-20 20:20:08 +02:00
database_sqlite.go
database_test.go feat: Add support for loading db password from file via PASSD_URI (#10421) 2025-12-18 20:55:56 +01:00
disposable_email_domain_data.go
f3.go chore: update gof3/v3 v3.11.15 (#10673) 2026-01-13 16:59:56 +01:00
f3_test.go chore: update gof3/v3 v3.11.15 (#10673) 2026-01-13 16:59:56 +01:00
federation.go
forgejo_storage_test.go
git.go feat: fsck incoming objects (#12695) 2026-05-25 14:51:04 +02:00
git_test.go feat: fsck incoming objects (#12695) 2026-05-25 14:51:04 +02:00
highlight.go
i18n.go
incoming_email.go ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
incoming_email_test.go feat: add _URI entries for mail config (#8116) 2025-07-09 23:15:26 +02:00
indexer.go Add code search with zoekt support (#8827) 2026-05-28 20:52:34 +02:00
indexer_test.go Update module github.com/golangci/golangci-lint/v2/cmd/golangci-lint to v2.5.0 (forgejo) (#9563) 2025-10-08 13:15:33 +02:00
lfs.go chore: remove #11024 workarounds (#12301) 2026-05-01 22:10:10 +02:00
lfs_test.go
log.go chore: add modernizer linter (#11936) 2026-04-02 03:29:37 +02:00
log_test.go feat(log): better parseable and configurable ssh-logs (#9056) 2025-09-11 18:59:24 +02:00
mailer.go ci: detect and prevent empty case statements in Go code (#11593) 2026-03-10 02:50:28 +01:00
mailer_test.go feat: add _URI entries for mail config (#8116) 2025-07-09 23:15:26 +02:00
markup.go chore: add modernizer linter (#11936) 2026-04-02 03:29:37 +02:00
metrics.go
migrations.go
mime_type_map.go
mirror.go chore: add modernizer linter (#11936) 2026-04-02 03:29:37 +02:00
moderation.go feat: add configurable timeout for automatically removing resolved reports (#7940) 2025-07-28 14:52:13 +02:00
oauth2.go feat: add option to use preferred_username claim when registering users via oauth2 (#12504) 2026-05-18 00:14:46 +02:00
oauth2_test.go
other.go
packages.go fix: [quota.default].TOTAL config setting supports unit suffixes (#9252) 2025-09-12 00:44:09 +02:00
packages_test.go fix: [quota.default].TOTAL config setting supports unit suffixes (#9252) 2025-09-12 00:44:09 +02:00
path.go
path_test.go
picture.go
project.go
proxy.go
pwa.go Move web app manifest to a own cache-able route and add a setting to set "display": "standalone"; Closes #2638 (#5384) 2026-01-09 17:49:29 +01:00
queue.go
quota.go fix: [quota.default].TOTAL config setting supports unit suffixes (#9252) 2025-09-12 00:44:09 +02:00
quota_test.go fix: [quota.default].TOTAL config setting supports unit suffixes (#9252) 2025-09-12 00:44:09 +02:00
repository.go fix(ui)!: remove squash merge committer trailer admin option (#11096) 2026-02-07 12:58:26 +01:00
repository_archive.go
repository_archive_test.go
repository_test.go
security.go chore: unify signing key configuration across modules (#11194) 2026-04-21 19:39:33 +02:00
server.go Move web app manifest to a own cache-able route and add a setting to set "display": "standalone"; Closes #2638 (#5384) 2026-01-09 17:49:29 +01:00
server_test.go
service.go feat: setting to add team members by invitations (#12845) 2026-06-15 01:46:25 +02:00
service_test.go
session.go branding!: make cookies brand independent (#10645) 2026-03-19 04:34:27 +01:00
setting.go feat: authorized integrations DB models and authentication implementation (#12261) 2026-04-26 20:52:42 +02:00
setting_test.go Move web app manifest to a own cache-able route and add a setting to set "display": "standalone"; Closes #2638 (#5384) 2026-01-09 17:49:29 +01:00
ssh.go feat: ensure only expected ssh public keys are in authorized_keys file (#10010) 2025-11-09 01:06:04 +01:00
storage.go chore: add modernizer linter (#11936) 2026-04-02 03:29:37 +02:00
storage_test.go
task.go
time.go
ui.go feat(api,ui): add multiline comment on pullrequest (#12582) 2026-06-03 16:06:29 +02:00
webhook.go