added option that allows users to decide when they consider topics new (default 2 days old or newer)

added site_setting to control the default new_topic_duration_minutes
added 10 minutes option for auto_track_topics_after_msecs, default bumped up to 5 mins
This commit is contained in:
Sam Saffron
2013-02-14 17:32:58 +11:00
parent cdff5a5a77
commit 87d83802b9
14 changed files with 95 additions and 18 deletions

View File

@@ -26,9 +26,20 @@ Discourse.PreferencesController = Ember.ObjectController.extend Discourse.Presen
freqs.addObject(name: Em.String.i18n('user.auto_track_options.after_n_minutes', count: 1), value: 60000)
freqs.addObject(name: Em.String.i18n('user.auto_track_options.after_n_minutes', count: 2), value: 120000)
freqs.addObject(name: Em.String.i18n('user.auto_track_options.after_n_minutes', count: 5), value: 300000)
freqs.addObject(name: Em.String.i18n('user.auto_track_options.after_n_minutes', count: 10), value: 600000)
freqs
).property()
considerNewTopicOptions: (->
opts = Em.A()
opts.addObject(name: Em.String.i18n('user.new_topic_duration.not_viewed'), value: -1) # always
opts.addObject(name: Em.String.i18n('user.new_topic_duration.after_n_days', count: 1), value: 60 * 24)
opts.addObject(name: Em.String.i18n('user.new_topic_duration.after_n_days', count: 2), value: 60 * 48)
opts.addObject(name: Em.String.i18n('user.new_topic_duration.after_n_weeks', count: 1), value: 7 * 60 * 24)
opts.addObject(name: Em.String.i18n('user.new_topic_duration.last_here'), value: -2) # last visit
opts
).property()
save: ->
@set('saving', true)

View File

@@ -41,7 +41,16 @@ window.Discourse.User = Discourse.Model.extend Discourse.Presence,
save: (finished) ->
jQuery.ajax "/users/" + @get('username').toLowerCase(),
data: @getProperties('auto_track_topics_after_msecs','bio_raw', 'website', 'name', 'email_digests', 'email_direct', 'email_private_messages', 'digest_after_days')
data: @getProperties('auto_track_topics_after_msecs',
'bio_raw',
'website',
'name',
'email_digests',
'email_direct',
'email_private_messages',
'digest_after_days',
'new_topic_duration_minutes'
)
type: 'PUT'
success: => finished(true)
error: => finished(false)

View File

@@ -90,12 +90,17 @@
</div>
</div>
<div class="control-group">
<div class="control-group other">
<label class="control-label">{{i18n user.other_settings}}</label>
<div class="controls">
<label>{{i18n user.auto_track_topics}}</label>
{{view Discourse.ComboboxView valueAttribute="value" contentBinding="controller.autoTrackDurations" valueBinding="content.auto_track_topics_after_msecs"}}
</div>
<div class="controls">
<label>{{i18n user.new_topic_duration.label}}</label>
{{view Discourse.ComboboxView valueAttribute="value" contentBinding="controller.considerNewTopicOptions" valueBinding="content.new_topic_duration_minutes"}}
</div>
</div>
<div class="control-group">