2009-12-10 44 views
2

我正在使用django-notification来允许我的用户选择停用在我的Web应用程序中生成的某些警报。将django通知设置为可选,而不是默认选择退出

默认情况下,当我创建启用它,而不是禁用在用户通知接口一个新的通知类型(选中)

我想做出一些提醒选入,而不是退出的默认。我浏览过文档,并且无法看到这样做的方法,是否有其他人设法完成此操作?

+0

你是什么意思“通知类型启用”? – 2009-12-11 06:55:26

+0

默认情况下,用户可以选择复选框来接收该通知的通知部分中,django-notification始终将其设置为启用 - 我希望某些内容在默认情况下处于禁用状态。 – 2009-12-11 19:00:49

+0

我认为我的答案处理你想要的东西:)让我知道如果你不明白它。 – sontek 2009-12-15 19:47:38

回答

3

它根据类型本身的“默认”列自动设置,默认情况下电子邮件的灵敏度为2,所以如果您将默认值设置为新通知类型默认值“1”,它将不会再设置它默认为您的用户,创建新的通知类型时的默认值是'2',这将允许它发送给每个人。

+0

嗨Sontek - 我不完全清楚如何实现这一点 - 这是否意味着我在创建新的通知类型的时候,我可以特别指定默认为1 - 所以一些启用,一些不是? 我目前创建一条通知,例如: notification.create_notice_type(“moderation_messages”,“Messages from moderators”,“Email notification when someone flags on your posts”) – 2009-12-15 22:15:05

+0

Sontek - 我在Django admin中看到界面我可以点击我创建的其中一种通知类型,并显示其默认值为“2” - 但是,如果我编辑并将其更改为“1”,它不会在我的任何用户通知页面上更改。 – 2009-12-15 23:27:12

+0

查看代码是唯一可行的方法... Inside NoticeType模型: #默认情况下仅适用于敏感度小于或等于此数字的媒体 - > default = models.IntegerField(_('default' )) 和默认: #垃圾邮件敏感如何是介质 NOTICE_MEDIA_DEFAULTS = { “1”:2#电子邮件 } 并在get_notification_setting方法: 默认=(NOTICE_MEDIA_DEFAULTS [介质] <= notice_type.default) so NOTICE_MEDIA_DEFAULTS [medium] = 2 如果您的notice_type.default为1 2 <= 1 = false,所以默认选择= false。 – sontek 2009-12-16 03:20:45

0

查看代码,发送通知的决定因素是“默认”列与灵敏度过滤器NOTICE_MEDIA_DEFAULTS [中]之间的比较。

这是否工作

from notification import models as notification 

notification.create_notice_type("friends_invite", "Invitation Received", "you have received an invitation", default=0) 
+0

这就是我告诉他要做的,^ _^ – sontek 2009-12-16 15:57:54

+0

czarchaic - 非常感谢你花时间回答这个问题,你是对的,但我接受了sonteks的回答,因为他得到了第一个,但是我真的很感谢你帮帮我。 – 2009-12-16 20:17:58