## The contents of this file are subject to the Common Public Attribution
## License Version 1.0. (the "License"); you may not use this file except in
## compliance with the License. You may obtain a copy of the License at
## http://code.reddit.com/LICENSE. The License is based on the Mozilla Public
## License Version 1.1, but Sections 14 and 15 have been added to cover use of
## software over a computer network and provide for limited attribution for the
## Original Developer. In addition, Exhibit A has been modified to be
## consistent with Exhibit B.
##
## Software distributed under the License is distributed on an "AS IS" basis,
## WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
## the specific language governing rights and limitations under the License.
##
## The Original Code is reddit.
##
## The Original Developer is the Initial Developer. The Initial Developer of
## the Original Code is reddit Inc.
##
## All portions of the code written by reddit are Copyright (c) 2006-2012
## reddit Inc. All Rights Reserved.
###############################################################################
<%!
from r2.lib.template_helpers import add_sr
from r2.lib.strings import strings
from r2.lib.pages.things import BanButtons
%>
<%namespace file="utils.html" import="plain_link" />
${self.RenderPrintable()}
<%def name="admintagline()">
%if thing.show_spam:
[
%if c.user_is_admin:
${"auto" if thing.autobanned else ""}${strings.banned}
${("by %s" % thing.banner) if thing.banner else ""}
%elif thing.moderator_banned and thing.banner:
${strings.banned_by % thing.banner}
%else:
${strings.banned}
%endif
]
%endif
%def>
<%def name="thing_css_class(what)">thing id-${what._fullname}%def>
<%def name="thing_data_attributes(what)">data-fullname="${what._fullname}"%def>
<%def name="RenderPrintable()">
<% cls = thing.lookups[0].__class__.__name__.lower() %>
<%
if hasattr(thing, 'render_css_class'):
cls = thing.render_css_class
elif hasattr(thing, 'render_class'):
cls = thing.render_class.__name__.lower()
else:
cls = thing.lookups[0].__class__.__name__.lower()
if getattr(thing, "is_self", False):
selflink = "self"
else:
selflink = ""
if thing.show_spam:
rowclass = thing.rowstyle + " spam"
if thing.show_spam == "author":
rowclass += " banned-user"
elif thing.show_reports:
rowclass = thing.rowstyle + " reported"
else:
rowclass = thing.rowstyle
if hasattr(thing, "saved") and thing.saved:
rowclass += " saved"
if hasattr(thing, "hidden") and thing.hidden:
rowclass += " hidden"
%>
${self.ParentDiv()}
${self.numcol()}
<%
like_cls = "unvoted"
if getattr(thing, "likes", None):
like_cls = "likes"
elif getattr(thing, "likes", None) is False:
like_cls = "dislikes"
%>
${self.midcol(cls = like_cls)}
${self.entry()}
${self.Child()}
%def>
<%def name="buttons(ban=True)">
${BanButtons(thing)}
%def>
<%def name="ParentDiv()">
%def>
<%def name="numcol()">
%def>
<%def name="entry()">
%def>
<%def name="Child(display=True)">
${thing.childlisting}
%def>
<%def name="arrow(this, dir, mod)">
<%
_type = "up" if dir > 0 else "down"
_class = _type + ("mod" if mod else "")
fullname = this._fullname
%>
%def>
<%def name="score(this, likes=None, scores = None, tag='span')" >
<%
if scores is None:
scores = this.display_score
%>
%for cls, score in zip(["dislikes", "unvoted", "likes"], scores):
<${tag} class="score ${cls}">
${score}
${tag}>
%endfor
%def>
<%def name="midcol(display=True, cls = '')">
${self.arrow(thing, 1, thing.likes)}
${self.arrow(thing, 0, thing.likes == False)}
%def>