Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
Suggested sort: Rename default_sort fields to 'suggested' variants
Browse files Browse the repository at this point in the history
  • Loading branch information
umbrae committed Feb 28, 2015
1 parent 42ca445 commit c97ee0e
Show file tree
Hide file tree
Showing 8 changed files with 28 additions and 28 deletions.
14 changes: 7 additions & 7 deletions r2/r2/controllers/api.py
Expand Up @@ -1442,7 +1442,7 @@ def POST_rescrape(self, thing):
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
Expand All @@ -1455,9 +1455,9 @@ def POST_set_default_sort(self, form, jquery, thing, sort):

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()

Expand Down Expand Up @@ -2404,12 +2404,12 @@ def apply_wikid_field(sr, form, pagename, value, field):
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', "")
Expand Down Expand Up @@ -2450,7 +2450,7 @@ def apply_wikid_field(sr, form, pagename, value, field):
]

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}

Expand Down
2 changes: 1 addition & 1 deletion r2/r2/lib/jsontemplates.py
Expand Up @@ -575,7 +575,7 @@ def raw_data(self, thing):
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

Expand Down
16 changes: 8 additions & 8 deletions r2/r2/models/link.py
Expand Up @@ -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,
Expand Down Expand Up @@ -744,16 +744,16 @@ def responder_ids(self):

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

Expand Down
6 changes: 3 additions & 3 deletions r2/r2/models/modaction.py
Expand Up @@ -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'),
Expand Down Expand Up @@ -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'),
}
Expand Down Expand Up @@ -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'),
}
Expand Down
2 changes: 1 addition & 1 deletion r2/r2/models/subreddit.py
Expand Up @@ -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,
Expand Down
2 changes: 1 addition & 1 deletion r2/r2/public/static/js/reddit.js
Expand Up @@ -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();
}

Expand Down
6 changes: 3 additions & 3 deletions r2/r2/templates/createsubreddit.html
Expand Up @@ -367,11 +367,11 @@
</ul>
%if feature.is_enabled('default_sort'):
<div class="usertext-edit">
<label for="default_comment_sort">${_('suggested comment sort')}&#32;<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')}&#32;<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>
Expand Down
8 changes: 4 additions & 4 deletions r2/r2/templates/linkcommentssettings.html
Expand Up @@ -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"/>
Expand All @@ -44,15 +44,15 @@
<span class="option error">
${_("clear suggested sort?")}

%if thing.sr.default_comment_sort:
%if thing.sr.suggested_comment_sort:

&#32;
## Set to explicitly "blank", which will disallow using the subreddit setting and use the user's setting
${suggested_clear_type('clear', 'blank')}
&#32;/

## 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:
&#32;
## Set back to default, which will be the subreddit's suggested sort
${suggested_clear_type('use subreddit setting', '')}
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit c97ee0e

Please sign in to comment.