Beyond coding. We forge. (Code of Conduct: https://codeberg.org/forgejo/code-of-conduct)
Find a file
Aravinth Manivannan 2d06901a18
[GITEA] notifies admins on new user registration
Sends email with information on the new user (time of creation and time of last sign-in) and a link to manage the new user from the admin panel

closes: https://codeberg.org/forgejo/forgejo/issues/480

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/1371
Co-authored-by: Aravinth Manivannan <realaravinth@batsense.net>
Co-committed-by: Aravinth Manivannan <realaravinth@batsense.net>
(cherry picked from commit c721aa828b)
(cherry picked from commit 6487efcb9d)

Conflicts:
	modules/notification/base/notifier.go
	modules/notification/base/null.go
	modules/notification/notification.go
	https://codeberg.org/forgejo/forgejo/pulls/1422
(cherry picked from commit 7ea66ee1c5)

Conflicts:
	services/notify/notifier.go
	services/notify/notify.go
	services/notify/null.go
	https://codeberg.org/forgejo/forgejo/pulls/1469
(cherry picked from commit 7d2d997011)
(cherry picked from commit 435a54f140)
(cherry picked from commit 8ec7b3e448)

[GITEA] notifies admins on new user registration (squash) performance bottleneck

Refs: https://codeberg.org/forgejo/forgejo/issues/1479
(cherry picked from commit 97ac9147ff)
(cherry picked from commit 19f295c16b)
(cherry picked from commit 3367dcb2cf)

[GITEA] notifies admins on new user registration (squash) cosmetic changes

Co-authored-by: delvh <dev.lh@web.de>
(cherry picked from commit 9f1670e040)
(cherry picked from commit de5bb2a224)
(cherry picked from commit 8f8e52f31a)
(cherry picked from commit e0d5130312)
(cherry picked from commit f1288d6d9b)
(cherry picked from commit 1db4736fd7)
(cherry picked from commit e8dcbb6cd6)
(cherry picked from commit 09625d6476)

[GITEA] notifies admins on new user registration (squash) ctx.Locale

(cherry picked from commit dab7212fad)
(cherry picked from commit 9b7bbae8c4)
(cherry picked from commit f750b71d3d)
(cherry picked from commit f79af36679)
(cherry picked from commit e76eee334e)

[GITEA] notifies admins on new user registration (squash) fix locale

(cherry picked from commit 54cd100d8d)
(cherry picked from commit 053dbd3d50)

[GITEA] notifies admins on new user registration (squash) fix URL

1. Use absolute URL in the admin panel link sent on new registrations
2. Include absolute URL of the newly signed-up user's profile.

New email looks like this:

<details><summary>Please click to expand</summary>

```
--153937b1864f158f4fd145c4b5d4a513568681dd489021dd466a8ad7b770
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8

User Information: @realaravinth ( http://localhost:3000/realaravinth )
----------------------------------------------------------------------

* Created: 2023-12-13 19:36:50 +05:30

Please click here ( http://localhost:3000/admin/users/9 ) to manage the use=
r from the admin panel.
--153937b1864f158f4fd145c4b5d4a513568681dd489021dd466a8ad7b770
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=UTF-8

<!DOCTYPE html>
<html>
<head>
	<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8">
	<title>New user realaravinth just signed up</title>

	<style>
		blockquote { padding-left: 1em; margin: 1em 0; border-left: 1px solid gre=
y; color: #777}
		.footer { font-size:small; color:#666;}
	</style>

</head>

<body>
	<ul>
		<h3>User Information: <a href=3D"http://localhost:3000/realaravinth">@rea=
laravinth</a></h3>
		<li>Created: <relative-time format=3D"datetime" weekday=3D"" year=3D"nume=
ric" month=3D"short" day=3D"numeric" hour=3D"numeric" minute=3D"numeric" se=
cond=3D"numeric" datetime=3D"2023-12-13T19:36:50+05:30">2023-12-13 19:36:50=
 +05:30</relative-time></li>
	</ul>
	<p> Please <a href=3D"http://localhost:3000/admin/users/9" rel=3D"nofollow=
">click here</a> to manage the user from the admin panel. </p>
</body>
</html>

--153937b1864f158f4fd145c4b5d4a513568681dd489021dd466a8ad7b770--
```

</details>

fixes: https://codeberg.org/forgejo/forgejo/issues/1927
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/1940
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Aravinth Manivannan <realaravinth@batsense.net>
Co-committed-by: Aravinth Manivannan <realaravinth@batsense.net>
(cherry picked from commit b8d764e36a)
(cherry picked from commit d48b84f623)

Conflicts:
	routers/web/auth/auth.go
	https://codeberg.org/forgejo/forgejo/pulls/2034
(cherry picked from commit 02d3c125cc)
(cherry picked from commit 367374ecc3)

Conflicts:
	models/user/user_test.go
	https://codeberg.org/forgejo/forgejo/pulls/2119
(cherry picked from commit 4124fa5aa4)
(cherry picked from commit 7f12610ff6)

[GITEA] notifies admins on new user registration (squash) DeleteByID

trivial conflict because of
   778ad795fd Refactor deletion (#28610)

(cherry picked from commit 05682614e5)
(cherry picked from commit 64bd374803)
(cherry picked from commit 63d086f666)
(cherry picked from commit 3cd48ef4d5)

Conflicts:
	options/locale/locale_en-US.ini
	https://codeberg.org/forgejo/forgejo/pulls/2249
(cherry picked from commit 6578ec4ed6)

Conflicts:
	routers/web/auth/auth.go
	https://codeberg.org/forgejo/forgejo/pulls/2300
2024-02-05 16:09:28 +01:00
.devcontainer devpod use go1.21 (#26637) 2023-08-21 16:20:50 +00:00
.forgejo [CI] Forgejo Actions based CI for PR & branches (squash) install git >= 2.42 2024-02-05 13:33:59 +01:00
.gitea [WORKFLOW] issues & pr templates (squash) fix link to CONTRIBUTING.md 2024-02-05 15:08:04 +01:00
assets [GITEA] Vendor rupture dependency 2024-02-05 15:08:04 +01:00
build [I18n] tooling and process 2024-02-05 15:08:04 +01:00
cmd [CLI] implement forgejo-cli 2024-02-05 13:33:58 +01:00
contrib Suggest to use Type=simple for systemd service (#28717) 2024-01-07 15:18:04 +00:00
custom/conf [GITEA] notifies admins on new user registration 2024-02-05 16:09:28 +01:00
docker Dockerfile small refactor (#27757) 2023-10-29 09:44:06 +08:00
docs [GITEA] notifies admins on new user registration 2024-02-05 16:09:28 +01:00
models [GITEA] notifies admins on new user registration 2024-02-05 16:09:28 +01:00
modules [GITEA] notifies admins on new user registration 2024-02-05 16:09:28 +01:00
options [I18n] Translations update from Weblate (5 February) 2024-02-05 15:11:42 +01:00
public [API] Forgejo API /api/forgejo/v1 2024-02-05 14:44:32 +01:00
releases/images [DOCS] RELEASE-NOTES.md 2024-02-05 14:44:32 +01:00
routers [GITEA] notifies admins on new user registration 2024-02-05 16:09:28 +01:00
services [GITEA] notifies admins on new user registration 2024-02-05 16:09:28 +01:00
snap set version in snapcraft yaml 2023-09-13 23:20:46 -04:00
templates [GITEA] notifies admins on new user registration 2024-02-05 16:09:28 +01:00
tests [GITEA] add GitHub repo migration test 2024-02-05 16:05:50 +01:00
web_src [GITEA] Use vertical tabs on issue filters 2024-02-05 16:05:50 +01:00
.air.toml Reduce verbosity of dev commands (#24917) 2023-05-24 20:11:04 +00:00
.changelog.yml Adapt .changelog.yml to new labeling system (#27701) 2023-10-20 00:22:00 +02:00
.deadcode-out [DEADCODE] update deadcode-out 2024-02-05 15:08:04 +01:00
.dockerignore Move public asset files to the proper directory (#25907) 2023-07-18 18:06:43 +02:00
.editorconfig
.eslintrc.yaml Update JS and PY dependencies, build for es2020 browsers (#28977) 2024-02-02 09:36:32 +00:00
.gitattributes [META] Use correct language for .tmpl 2024-02-05 14:44:33 +01:00
.gitignore [DEVELOPMENT] added /local/ to .gitignore 2024-02-05 15:08:04 +01:00
.gitpod.yml Add Github related extensions in devcontainer (#25800) 2023-07-14 15:58:02 +08:00
.golangci.yml Remove go versions from .golangci.yml (#27953) 2023-11-07 22:03:27 +01:00
.ignore Add /public/assets to .ignore (#26232) 2023-07-30 12:34:20 +02:00
.markdownlint.yaml Update JS dependencies (#28537) 2023-12-30 05:29:03 +00:00
.npmrc Upgrade to npm lockfile v3 and explicitely set it (#23561) 2023-03-18 19:38:10 +01:00
.spectral.yaml
.stylelintrc.yaml Update JS and PY dependencies, build for es2020 browsers (#28977) 2024-02-02 09:36:32 +00:00
.yamllint.yaml fully replace drone with actions (#27556) 2023-10-11 06:39:32 +00:00
BSDmakefile Fix build errors on BSD (in BSDMakefile) (#27594) 2023-10-13 15:38:27 +00:00
build.go
CHANGELOG.md Fix release link in changelog for v1.21.0 2023-11-14 15:03:49 +01:00
CODEOWNERS [META] Add CODEOWNERS files 2024-02-05 14:44:33 +01:00
CONTRIBUTING.md [DOCS] CONTRIBUTING 2024-02-05 14:44:32 +01:00
DCO
Dockerfile [CI] Forgejo Actions based release process 2024-02-05 13:33:59 +01:00
Dockerfile.rootless [CI] Forgejo Actions based release process 2024-02-05 13:33:59 +01:00
go.mod [GITEA] Vendor rupture dependency 2024-02-05 15:08:04 +01:00
go.sum [GITEA] Vendor rupture dependency 2024-02-05 15:08:04 +01:00
LICENSE [DOCS] LICENSE: add Forgejo Authors 2024-02-05 14:44:32 +01:00
main.go [SEMVER] store SemVer in ForgejoSemVer after a database upgrade 2024-02-05 14:44:33 +01:00
MAINTAINERS Apply to become a maintainer (#27522) 2023-10-08 10:36:40 -04:00
Makefile [SEMVER] 7.0.0+0-gitea-1.22.0 2024-02-05 15:08:04 +01:00
package-lock.json Update JS and PY dependencies, build for es2020 browsers (#28977) 2024-02-02 09:36:32 +00:00
package.json Update JS and PY dependencies, build for es2020 browsers (#28977) 2024-02-02 09:36:32 +00:00
playwright.config.js
poetry.lock Update JS and PY dependencies, build for es2020 browsers (#28977) 2024-02-02 09:36:32 +00:00
poetry.toml Clean up pyproject.toml and package.json, fix poetry options (#25327) 2023-06-18 18:13:08 +00:00
pyproject.toml Update JS and PY dependencies, build for es2020 browsers (#28977) 2024-02-02 09:36:32 +00:00
README.md [DOCS] README 2024-02-05 14:44:32 +01:00
RELEASE-NOTES.md [DOCS] RELEASE-NOTES.md (squash) v1.21.5-0 (squash) go-git 2024-02-05 15:11:35 +01:00
vitest.config.js Use vitest globals (#27102) 2023-09-27 04:37:13 +00:00
webpack.config.js [API] Forgejo API /api/forgejo/v1 2024-02-05 14:44:32 +01:00

Welcome to Forgejo

Hi there! Tired of big platforms playing monopoly? Providing Git hosting for your project, friends, company or community? Forgejo (/for'd͡ʒe.jo/ inspired by forĝejo the Esperanto word for forge) has you covered with its intuitive interface, light and easy hosting and a lot of builtin functionality.

Forgejo was created in 2022 because we think that the project should be owned by an independent community. If you second that, then Forgejo is for you! Our promise: Independent Free/Libre Software forever!

What does Forgejo offer?

If you like any of the following, Forgejo is literally meant for you:

  • Lightweight: Forgejo can easily be hosted on nearly every machine. Running on a Raspberry? Small cloud instance? No problem!
  • Project management: Besides Git hosting, Forgejo offers issues, pull requests, wikis, kanban boards and much more to coordinate with your team.
  • Publishing: Have something to share? Use releases to host your software for download, or use the package registry to publish it for docker, npm and many other package managers.
  • Customizable: Want to change your look? Change some settings? There are many config switches to make Forgejo work exactly like you want.
  • Powerful: Organizations & team permissions, CI integration, Code Search, LDAP, OAuth and much more. If you have advanced needs, Forgejo has you covered.
  • Privacy: From update checker to default settings: Forgejo is built to be privacy first for you and your crew.
  • Federation: (WIP) We are actively working to connect software forges with each other through ActivityPub, and create a collaborative network of personal instances.

Learn more

Dive into the documentation, subscribe to releases and blog post on our website, find us on the Fediverse or hop into our Matrix room if you have any questions or want to get involved.

Get involved

If you are interested in making Forgejo better, either by reporting a bug or by changing the governance, please take a look at the contribution guide.