forgejo/models
Gary Kim f1c414882c Add Ability for User to Customize Email Notification Frequency (#7813)
* Add Backend Logic for Toggling Email Notification

This commit adds the backend logic for
allowing users to enable or disable email
notifications. The implementation ensures
that only issue notification emails get disabled
and important emails are still sent regardless
of the setting.

The UI to toggle this setting has not yet been
implemented.

* Add UI and complete user email notification enable

This commit completes the functionality to allow
users to disable their own email notifications.

Signed-off-by: Gary Kim <gary@garykim.dev>

* Add Third Option for Only Email on Mention

Signed-off-by: Gary Kim <gary@garykim.dev>

* Readd NOT NULL to new preference string

Signed-off-by: Gary Kim <gary@garykim.dev>

* Add Tests and Rewrite Comment

Signed-off-by: Gary Kim <gary@garykim.dev>

* Allow admin to set default email frequency

Signed-off-by: Gary Kim <gary@garykim.dev>

* Add new config option to docs

Signed-off-by: Gary Kim <gary@garykim.dev>

* Fix a few mistakes

Signed-off-by: Gary Kim <gary@garykim.dev>

* Only update required columns

Signed-off-by: Gary Kim <gary@garykim.dev>

* Simplify an error check

Signed-off-by: Gary Kim <gary@garykim.dev>

* Make email_notification_preference column in DB be VARCHAR(20)

Signed-off-by: Gary Kim <gary@garykim.dev>

* Handle errors

Signed-off-by: Gary Kim <gary@garykim.dev>

* Update models/migrations/v93.go

Co-Authored-By: Lauris BH <lauris@nix.lv>
2019-08-29 17:05:42 +03:00
..
fixtures Add Ability for User to Customize Email Notification Frequency (#7813) 2019-08-29 17:05:42 +03:00
migrations Add Ability for User to Customize Email Notification Frequency (#7813) 2019-08-29 17:05:42 +03:00
access.go Trace Logging on Permission Denied & ColorFormat (#6618) 2019-04-22 23:40:51 +03:00
access_test.go Fixed ineffectual assignments in tests (#7553) 2019-07-22 15:11:16 +08:00
action.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
action_list.go
action_test.go Add file status on API (#7671) 2019-08-21 13:16:22 +08:00
admin.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
admin_test.go
attachment.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
attachment_test.go
branches.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
branches_test.go
commit_status.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
commit_status_test.go api: fix multiple bugs with statuses endpoints (#7785) 2019-08-09 10:13:03 +08:00
consistency.go Fix error log when loading issues caused by a xorm bug (#7271) 2019-06-23 18:22:43 +03:00
convert.go Move database settings from models to setting (#7806) 2019-08-24 11:24:45 +02:00
error.go Add error for fork already existing (#7185) 2019-06-12 16:20:43 -04:00
error_oauth2.go
external_login_user.go
git_diff.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
git_diff_test.go Make diff line-marker non-selectable (#7279) 2019-06-24 21:23:52 +01:00
gpg_key.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
gpg_key_test.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
graph.go
graph_test.go
helper.go
helper_directory.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
helper_environment.go Fix bug create/edit wiki pages when code master branch protected (#7580) 2019-07-25 22:50:20 +01:00
issue.go Retry create issue to cope with duplicate keys (#7898) 2019-08-26 22:17:23 -04:00
issue_assignees.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
issue_assignees_test.go refactor: append, build variable and type switch (#4940) 2019-05-28 23:45:54 +08:00
issue_comment.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
issue_comment_list.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
issue_comment_test.go
issue_dependency.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
issue_dependency_test.go
issue_label.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
issue_label_test.go Move sdk structs to modules/structs (#6905) 2019-05-11 18:21:34 +08:00
issue_list.go Fix error log when loading issues caused by a xorm bug (#7271) 2019-06-23 18:22:43 +03:00
issue_list_test.go
issue_lock.go
issue_mail.go Add Ability for User to Customize Email Notification Frequency (#7813) 2019-08-29 17:05:42 +03:00
issue_milestone.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
issue_milestone_test.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
issue_reaction.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
issue_reaction_test.go
issue_stopwatch.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
issue_stopwatch_test.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
issue_test.go
issue_tracked_time.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
issue_tracked_time_test.go
issue_user.go
issue_user_test.go
issue_watch.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
issue_watch_test.go
lfs.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
lfs_lock.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
log.go Fix error log when loading issues caused by a xorm bug (#7271) 2019-06-23 18:22:43 +03:00
login_source.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
mail.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
mail_test.go Include thread related headers in issue/coment mail (#7484) 2019-07-17 15:02:42 -04:00
main_test.go
migrate.go Fix milestone completness calculation when migrating (#7725) 2019-08-03 21:38:42 +03:00
models.go Move database settings from models to setting (#7806) 2019-08-24 11:24:45 +02:00
models_test.go Move database settings from models to setting (#7806) 2019-08-24 11:24:45 +02:00
notification.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
notification_test.go
oauth2.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
oauth2_application.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
oauth2_application_test.go OAuth2 Grant UI (#6625) 2019-04-17 16:18:16 +08:00
org.go Add support for DEFAULT_ORG_MEMBER_VISIBLE (#7669) 2019-08-24 15:28:59 +03:00
org_team.go Fix approvals counting (#7757) 2019-08-07 07:22:41 +03:00
org_team_test.go Fix approvals counting (#7757) 2019-08-07 07:22:41 +03:00
org_test.go Add support for DEFAULT_ORG_MEMBER_VISIBLE (#7669) 2019-08-24 15:28:59 +03:00
pull.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
pull_test.go only return head: null if source branch was deleted (#6705) 2019-07-08 10:32:46 +03:00
release.go fix wrong sender when send slack webhook (#7918) 2019-08-20 17:05:30 +02:00
release_test.go Added missing error checks in tests (#7554) 2019-07-23 20:28:43 +01:00
repo.go Move database settings from models to setting (#7806) 2019-08-24 11:24:45 +02:00
repo_activity.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
repo_branch.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
repo_collaboration.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
repo_collaboration_test.go
repo_indexer.go Convert files to utf-8 for indexing (#7814) 2019-08-15 20:07:28 +08:00
repo_issue.go
repo_list.go Include description in repository search. (#7942) 2019-08-25 20:06:36 +03:00
repo_list_test.go Include description in repository search. (#7942) 2019-08-25 20:06:36 +03:00
repo_mirror.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
repo_permission.go Removed unnecessary conversions (#7557) 2019-07-23 19:50:39 +01:00
repo_permission_test.go
repo_redirect.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
repo_redirect_test.go
repo_tag.go Fixes #2738 - Adds the /git/tags API endpoint (#7138) 2019-06-08 17:31:11 +03:00
repo_test.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
repo_unit.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
repo_watch.go
repo_watch_test.go
review.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
review_test.go
ssh_key.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
ssh_key_test.go Make PKCS8, PEM and SSH2 keys work (#7600) 2019-07-25 20:33:38 +01:00
star.go
star_test.go
test_fixtures.go
token.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
token_test.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
topic.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
topic_test.go
twofactor.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
u2f.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
u2f_test.go
unit.go Fixes #5960 - Adds API Endpoint for Repo Edit (#7006) 2019-05-30 11:09:05 -04:00
unit_tests.go Move database settings from models to setting (#7806) 2019-08-24 11:24:45 +02:00
update.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
update_test.go
upload.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
user.go Add Ability for User to Customize Email Notification Frequency (#7813) 2019-08-29 17:05:42 +03:00
user_follow.go
user_follow_test.go
user_heatmap.go Move database settings from models to setting (#7806) 2019-08-24 11:24:45 +02:00
user_heatmap_test.go
user_mail.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
user_mail_test.go
user_openid.go
user_openid_test.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
user_test.go Add Ability for User to Customize Email Notification Frequency (#7813) 2019-08-29 17:05:42 +03:00
userlist.go org/members: display 2FA members states + optimize sql requests (#7621) 2019-08-02 12:06:27 -04:00
userlist_test.go org/members: display 2FA members states + optimize sql requests (#7621) 2019-08-02 12:06:27 -04:00
webhook.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
webhook_dingtalk.go Move sdk structs to modules/structs (#6905) 2019-05-11 18:21:34 +08:00
webhook_discord.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
webhook_msteams.go Move sdk structs to modules/structs (#6905) 2019-05-11 18:21:34 +08:00
webhook_slack.go Fix Slack webhook fork message (#7774) 2019-08-06 19:27:10 -04:00
webhook_telegram.go Move sdk structs to modules/structs (#6905) 2019-05-11 18:21:34 +08:00
webhook_test.go Move sdk structs to modules/structs (#6905) 2019-05-11 18:21:34 +08:00
wiki.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
wiki_test.go Remove local clones & make hooks run on merge/edit/upload (#6672) 2019-05-11 11:29:17 -04:00