mirror of
https://github.com/reddit-archive/reddit.git
synced 2026-04-27 03:00:12 -04:00
Suggested sort: Rename default_sort fields to 'suggested' variants
This commit is contained in:
@@ -1442,7 +1442,7 @@ class ApiController(RedditController):
|
||||
VSrCanAlter('id'),
|
||||
thing=VByName('id', thing_cls=Link),
|
||||
sort=VOneOf('sort', CommentSortMenu.suggested_sort_options))
|
||||
def POST_set_default_sort(self, form, jquery, thing, sort):
|
||||
def POST_set_suggested_sort(self, form, jquery, thing, sort):
|
||||
"""Set a default sort for a link.
|
||||
|
||||
Default sorts are useful to display comments in a certain preferred way
|
||||
@@ -1455,9 +1455,9 @@ class ApiController(RedditController):
|
||||
|
||||
if c.user._id != thing.author_id:
|
||||
ModAction.create(thing.subreddit_slow, c.user, target=thing,
|
||||
action='setdefaultsort')
|
||||
action='setsuggestedsort')
|
||||
|
||||
thing.default_sort = sort
|
||||
thing.suggested_sort = sort
|
||||
thing._commit()
|
||||
jquery.refresh()
|
||||
|
||||
@@ -2404,12 +2404,12 @@ class ApiController(RedditController):
|
||||
kw[key] = validator.run(value)
|
||||
|
||||
if feature.is_enabled('default_sort'):
|
||||
vsort = VOneOf('default_comment_sort',
|
||||
vsort = VOneOf('suggested_comment_sort',
|
||||
CommentSortMenu._options,
|
||||
default=None,
|
||||
)
|
||||
sort_param = request.params.get('default_comment_sort')
|
||||
kw['default_comment_sort'] = vsort.run(sort_param)
|
||||
sort_param = request.params.get('suggested_comment_sort')
|
||||
kw['suggested_comment_sort'] = vsort.run(sort_param)
|
||||
|
||||
# the status button is outside the form -- have to reset by hand
|
||||
form.parent().set_html('.status', "")
|
||||
@@ -2450,7 +2450,7 @@ class ApiController(RedditController):
|
||||
]
|
||||
|
||||
if feature.is_enabled('default_sort'):
|
||||
keyword_fields.append('default_comment_sort')
|
||||
keyword_fields.append('suggested_comment_sort')
|
||||
|
||||
kw = {k: v for k, v in kw.iteritems() if k in keyword_fields}
|
||||
|
||||
|
||||
@@ -575,7 +575,7 @@ class LinkJsonTemplate(ThingJsonTemplate):
|
||||
d["upvote_ratio"] = thing.upvote_ratio
|
||||
|
||||
if feature.is_enabled('default_sort'):
|
||||
d['default_sort'] = thing.sort_if_suggested()
|
||||
d['suggested_sort'] = thing.sort_if_suggested()
|
||||
|
||||
return d
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ class Link(Thing, Printable):
|
||||
_data_int_props = Thing._data_int_props + (
|
||||
'num_comments', 'reported', 'comment_tree_id', 'gildings')
|
||||
_defaults = dict(is_self=False,
|
||||
default_sort=None,
|
||||
suggested_sort=None,
|
||||
over_18=False,
|
||||
over_18_override=False,
|
||||
nsfw_str=False,
|
||||
@@ -744,16 +744,16 @@ class Link(Thing, Printable):
|
||||
|
||||
def sort_if_suggested(self):
|
||||
"""Returns a sort, if the link or its subreddit has suggested one."""
|
||||
if self.default_sort:
|
||||
# A default sort of "blank" means explicitly empty: Do not obey
|
||||
# the subreddit's default sort, either.
|
||||
if self.default_sort == 'blank':
|
||||
if self.suggested_sort:
|
||||
# A suggested sort of "blank" means explicitly empty: Do not obey
|
||||
# the subreddit's suggested sort, either.
|
||||
if self.suggested_sort == 'blank':
|
||||
return None
|
||||
return self.default_sort
|
||||
return self.suggested_sort
|
||||
|
||||
sr = self.subreddit_slow
|
||||
if sr.default_comment_sort:
|
||||
return sr.default_comment_sort
|
||||
if sr.suggested_comment_sort:
|
||||
return sr.suggested_comment_sort
|
||||
|
||||
return None
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ class ModAction(tdb_cassandra.UuidThing):
|
||||
'wikibanned', 'wikicontributor', 'wikiunbanned', 'wikipagelisted',
|
||||
'removewikicontributor', 'wikirevise', 'wikipermlevel',
|
||||
'ignorereports', 'unignorereports', 'setpermissions',
|
||||
'setdefaultsort', 'sticky', 'unsticky')
|
||||
'setsuggestedsort', 'sticky', 'unsticky')
|
||||
|
||||
_menu = {'banuser': _('ban user'),
|
||||
'unbanuser': _('unban user'),
|
||||
@@ -88,7 +88,7 @@ class ModAction(tdb_cassandra.UuidThing):
|
||||
'ignorereports': _('ignore reports'),
|
||||
'unignorereports': _('unignore reports'),
|
||||
'setpermissions': _('permissions'),
|
||||
'setdefaultsort': _('set default sort'),
|
||||
'setsuggestedsort': _('set suggested sort'),
|
||||
'sticky': _('sticky post'),
|
||||
'unsticky': _('unsticky post'),
|
||||
}
|
||||
@@ -120,7 +120,7 @@ class ModAction(tdb_cassandra.UuidThing):
|
||||
'ignorereports': _('ignored reports'),
|
||||
'unignorereports': _('unignored reports'),
|
||||
'setpermissions': _('changed permissions on'),
|
||||
'setdefaultsort': _('set default sort'),
|
||||
'setsuggestedsort': _('set suggested sort'),
|
||||
'sticky': _('stickied'),
|
||||
'unsticky': _('unstickied'),
|
||||
}
|
||||
|
||||
@@ -226,7 +226,7 @@ class Subreddit(Thing, Printable, BaseSite):
|
||||
show_cname_sidebar=False,
|
||||
css_on_cname=True,
|
||||
domain=None,
|
||||
default_comment_sort=None,
|
||||
suggested_comment_sort=None,
|
||||
wikimode="disabled",
|
||||
wiki_edit_karma=100,
|
||||
wiki_edit_age=0,
|
||||
|
||||
@@ -972,7 +972,7 @@ function toggle_clear_suggested_sort(elem) {
|
||||
|
||||
function set_suggested_sort(elem, value) {
|
||||
$(elem).parents('form').first().find('input[name="sort"]').val(value);
|
||||
change_state(elem, "set_default_sort");
|
||||
change_state(elem, "set_suggested_sort");
|
||||
$(elem).children().toggle();
|
||||
}
|
||||
|
||||
|
||||
@@ -367,11 +367,11 @@ try participating in other communities on reddit for a little while first before
|
||||
</ul>
|
||||
%if feature.is_enabled('default_sort'):
|
||||
<div class="usertext-edit">
|
||||
<label for="default_comment_sort">${_('suggested comment sort')} <span class="gray">${_('(all comment threads will use this sorting method by default)')}</span></label>
|
||||
<select class="nomargin" name="default_comment_sort" id="default_comment_sort">
|
||||
<label for="suggested_comment_sort">${_('suggested comment sort')} <span class="gray">${_('(all comment threads will use this sorting method by default)')}</span></label>
|
||||
<select class="nomargin" name="suggested_comment_sort" id="suggested_comment_sort">
|
||||
<option value="">${_('none (recommended for most subreddits)')}</option>
|
||||
%for sort in thing.comment_sorts:
|
||||
<option ${'selected="selected"' if thing.site and sort == thing.site.default_comment_sort else ''} value="${sort}">${getattr(menu, sort, sort)}</option>
|
||||
<option ${'selected="selected"' if thing.site and sort == thing.site.suggested_comment_sort else ''} value="${sort}">${getattr(menu, sort, sort)}</option>
|
||||
%endfor
|
||||
</select>
|
||||
</div>
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
<%def name="clear_suggested_sort()">
|
||||
<li class="toggle">
|
||||
<form method="post" action="/api/set_default_sort">
|
||||
<form method="post" action="/api/set_suggested_sort">
|
||||
<input type="hidden" name="id" value="${thing.link._fullname}" />
|
||||
<input type="hidden" name="sort" value="" />
|
||||
<input type="hidden" value="${_('suggested sort cleared')}" name="executed"/>
|
||||
@@ -44,7 +44,7 @@
|
||||
<span class="option error">
|
||||
${_("clear suggested sort?")}
|
||||
|
||||
%if thing.sr.default_comment_sort:
|
||||
%if thing.sr.suggested_comment_sort:
|
||||
|
||||
 
|
||||
## Set to explicitly "blank", which will disallow using the subreddit setting and use the user's setting
|
||||
@@ -52,7 +52,7 @@
|
||||
 /
|
||||
|
||||
## Show "use subreddit setting" only if a link's suggested sort is explicitly set
|
||||
%if thing.link.default_sort is not None:
|
||||
%if thing.link.suggested_sort is not None:
|
||||
 
|
||||
## Set back to default, which will be the subreddit's suggested sort
|
||||
${suggested_clear_type('use subreddit setting', '')}
|
||||
@@ -81,7 +81,7 @@
|
||||
%if thing.suggested_sort == thing.sort:
|
||||
<% clear_suggested_sort() %>
|
||||
%else:
|
||||
${ynbutton(_("set as suggested sort"), _("suggested sort set"), "set_default_sort",
|
||||
${ynbutton(_("set as suggested sort"), _("suggested sort set"), "set_suggested_sort",
|
||||
hidden_data=dict(id=thing.link._fullname, sort=thing.sort))}
|
||||
%endif
|
||||
%endif
|
||||
|
||||
Reference in New Issue
Block a user