style: made the avatar and name of the person a link

This commit is contained in:
Anand Chitipothu
2021-05-06 20:41:52 +05:30
parent 3382de0ecb
commit 0ad03a3fb5
4 changed files with 12 additions and 4 deletions

View File

@@ -1,4 +1,5 @@
{% set color = member.get_palette() %} {% set color = member.get_palette() %}
<a href="/{{member.username}}">
<span class="avatar {{ avatar_class }}" title="{{ member.full_name }}"> <span class="avatar {{ avatar_class }}" title="{{ member.full_name }}">
{% if member.photo %} {% if member.photo %}
<img class="avatar-frame standard-image" src="{{ member.photo }}" title="{{ member.full_name }}"> <img class="avatar-frame standard-image" src="{{ member.photo }}" title="{{ member.full_name }}">
@@ -9,4 +10,5 @@
{{ member.abbr }} {{ member.abbr }}
</span> </span>
{% endif %} {% endif %}
</a>
</span> </span>

View File

@@ -7,7 +7,9 @@
</div> </div>
<div class="course-footer"> <div class="course-footer">
<div class="course-author"> <div class="course-author">
<img class="course-author-avatar" src="{{ course.get_instructor().avatar }}" />{{ course.get_instructor().full_name }} {% with author = course.get_instructor() %}
{{ widgets.Avatar(member=author, avatar_class="avatar-medium") }} <a href="/{{author.username}}">{{ author.full_name }}</a>
{% endwith %}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -9,7 +9,8 @@
<a href="sketches/{{sketch.sketch_id}}">{{sketch.title}}</a> <a href="sketches/{{sketch.sketch_id}}">{{sketch.title}}</a>
</div> </div>
<div class="sketch-author"> <div class="sketch-author">
by {{sketch.get_owner().full_name}} {% set owner = sketch.get_owner() %}
by <a href="/{{owner.username}}">{{owner.full_name}}</a>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -36,8 +36,9 @@ class Widgets:
'<div>Hello, World!</div>' '<div>Hello, World!</div>'
""" """
def __getattr__(self, name): def __getattr__(self, name):
widget_globals = {"widgets": self}
if not name.startswith("__"): if not name.startswith("__"):
return Widget(name) return Widget(name, widget_globals)
else: else:
raise AttributeError(name) raise AttributeError(name)
@@ -51,11 +52,13 @@ class Widget:
>>> w(name="World!") >>> w(name="World!")
'<div>Hello, World!</div>' '<div>Hello, World!</div>'
""" """
def __init__(self, name): def __init__(self, name, widget_globals={}):
self.widget_globals = widget_globals
self.name = name self.name = name
def __call__(self, **kwargs): def __call__(self, **kwargs):
# the widget could be in any of the modules # the widget could be in any of the modules
paths = [f"{module}/widgets/{self.name}.html" for module in MODULES] paths = [f"{module}/widgets/{self.name}.html" for module in MODULES]
env = get_jenv() env = get_jenv()
kwargs.update(self.widget_globals)
return env.get_or_select_template(paths).render(kwargs) return env.get_or_select_template(paths).render(kwargs)