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 refactor: reduce sql query in retrieveFeeds (#3547) 2018-02-21 18:55:34 +08:00
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 Fix tests code to prevent some runtime errors (#2381) 2017-08-28 12:17:45 +03:00
attachment.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
attachment_test.go fix upload attachments (#6481) 2019-04-02 15:25:05 -04:00
branches.go Use gitea forked macaron (#7933) 2019-08-23 12:40:29 -04:00
branches_test.go Add deleted_branch table fixture (#2832) 2017-11-04 15:31:59 +02:00
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 gofmt (#1662) 2017-05-04 13:54:56 +08:00
external_login_user.go Add primary key and index to external login user table (#1656) 2017-05-02 16:41:44 +08:00
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 move code.gitea.io/git to code.gitea.io/gitea/modules/git (#6364) 2019-03-27 17:33:00 +08:00
graph_test.go move code.gitea.io/git to code.gitea.io/gitea/modules/git (#6364) 2019-03-27 17:33:00 +08:00
helper.go Add reactions to issues/PR and comments (#2856) 2017-12-04 01:14:26 +02:00
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 Pull request review/approval and comment on code (#3748) 2018-08-06 06:43:21 +02:00
issue_dependency.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
issue_dependency_test.go Fix an error while adding a dependency via UI. (#5862) 2019-01-27 13:31:40 +02:00
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 Shows total tracked time in issue and milestone list (#3341) 2018-04-29 13:58:47 +08:00
issue_lock.go Implement "conversation lock" for issue comments (#5073) 2019-02-18 22:55:04 +02:00
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 Ensure valid git author names passed in signatures (#5774) 2019-01-24 16:12:17 +02:00
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 Add more tests and docs for issue indexer, add db indexer type for searching from database (#6144) 2019-02-21 13:01:28 +08:00
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 Feature: Timetracking (#2211) 2017-09-12 09:48:13 +03:00
issue_user.go Fix sqlite deadlock when assigning to a PR (#5640) 2019-01-04 16:51:27 -05:00
issue_user_test.go Multiple assignees (#3705) 2018-05-09 19:29:04 +03:00
issue_watch.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
issue_watch_test.go Hide unactive on explore users and some refactors (#2741) 2017-10-24 20:36:19 +03:00
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 Unit tests for wiki routers (#3022) 2017-11-30 17:52:15 +02:00
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 Add 'mark all read' option to notifications (#3097) 2017-12-07 13:52:57 +08:00
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 Unit tests for models/repo_collaboration (#1032) 2017-02-24 09:37:38 +08:00
repo_indexer.go Convert files to utf-8 for indexing (#7814) 2019-08-15 20:07:28 +08:00
repo_issue.go Add EnableTimetracking option to app settings (#3719) 2018-04-09 23:15:32 +08:00
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 fix bug when update owner team then visit team's repo return 404 (#6119) 2019-02-22 11:14:45 -05:00
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 Fix sqlite deadlock when assigning to a PR (#5640) 2019-01-04 16:51:27 -05:00
repo_watch_test.go Hide unactive on explore users and some refactors (#2741) 2017-10-24 20:36:19 +03:00
review.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
review_test.go Show review summary in pull requests (#5132) 2018-11-22 15:17:36 +02:00
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 Ensure that sessions are passed into queries that could use the database to prevent deadlocks (#5718) 2019-01-13 21:29:58 -05:00
star_test.go Fix tests code to prevent some runtime errors (#2381) 2017-08-28 12:17:45 +03:00
test_fixtures.go Increase the retry limit to 20 times and the interval to 200ms (#5134) 2018-10-21 16:09:17 +02:00
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 feat(repo): support search repository by topic name (#4505) 2018-09-13 10:33:48 +08:00
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 Override xorm type mapping for U2F counter (#6232) 2019-03-04 21:34:52 -05:00
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 move code.gitea.io/git to code.gitea.io/gitea/modules/git (#6364) 2019-03-27 17:33:00 +08:00
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 Refactor session close as xorm already does everything needed internally (#2020) 2017-06-21 08:57:05 +08:00
user_follow_test.go Move user_follow to separate file (#1210) 2017-03-11 16:46:53 +08:00
user_heatmap.go Move database settings from models to setting (#7806) 2019-08-24 11:24:45 +02:00
user_heatmap_test.go Fix JSON result of empty array (#5154) 2018-10-24 21:17:21 +08:00
user_mail.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
user_mail_test.go Fix tests code to prevent some runtime errors (#2381) 2017-08-28 12:17:45 +03:00
user_openid.go Fix SQL quoting (#5117) 2018-10-20 18:19:21 -04:00
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