feat: added get_profile_url function to get the profile url in templates
This takes care of generating the correct profile URL depending on the `profile_url_prefix` setting. Issue #192
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
{% set color = member.get_palette() %}
|
{% set color = member.get_palette() %}
|
||||||
<a class="button-links" href="/user/{{member.username}}">
|
<a class="button-links" href="{{ get_profile_url(member.username) }}">
|
||||||
<span class="avatar {{ avatar_class }}" title="{{ member.full_name }}">
|
<span class="avatar {{ avatar_class }}" title="{{ member.full_name }}">
|
||||||
{% if member.user_image %}
|
{% if member.user_image %}
|
||||||
<img class="avatar-frame standard-image" style="object-fit: cover;" src="{{ member.user_image }}" title="{{ member.full_name }}">
|
<img class="avatar-frame standard-image" style="object-fit: cover;" src="{{ member.user_image }}" title="{{ member.full_name }}">
|
||||||
|
|||||||
@@ -149,8 +149,13 @@ website_redirects = [
|
|||||||
|
|
||||||
update_website_context = [
|
update_website_context = [
|
||||||
'community.widgets.update_website_context',
|
'community.widgets.update_website_context',
|
||||||
'community.page_renderers.update_website_context'
|
|
||||||
]
|
]
|
||||||
|
jinja = {
|
||||||
|
"methods": [
|
||||||
|
"community.page_renderers.get_profile_url"
|
||||||
|
],
|
||||||
|
"filters": []
|
||||||
|
}
|
||||||
## Specify the additional tabs to be included in the user profile page.
|
## Specify the additional tabs to be included in the user profile page.
|
||||||
## Each entry must be a subclass of community.community.plugins.ProfileTab
|
## Each entry must be a subclass of community.community.plugins.ProfileTab
|
||||||
# profile_tabs = []
|
# profile_tabs = []
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ frappe.ready(function () {
|
|||||||
|
|
||||||
frappe.web_form.after_save = () => {
|
frappe.web_form.after_save = () => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
window.location.href = `/user/${frappe.web_form.get_value(["username"])}`;
|
window.location.href = `/profile_/${frappe.web_form.get_value(["username"])}`;
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="course-author">
|
<div class="course-author">
|
||||||
{% with author = course.get_instructor() %}
|
{% with author = course.get_instructor() %}
|
||||||
{{ widgets.Avatar(member=author, avatar_class="avatar-medium") }} <a href="/user/{{author.username}}">{{ author.full_name }}</a>
|
{{ widgets.Avatar(member=author, avatar_class="avatar-medium") }} <a href="{{get_profile_url(author.username)}}">{{ author.full_name }}</a>
|
||||||
{% endwith %}
|
{% endwith %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<div class="instructor">
|
<div class="instructor">
|
||||||
{{ widgets.Avatar(member=instructor, avatar_class="avatar-medium") }}
|
{{ widgets.Avatar(member=instructor, avatar_class="avatar-medium") }}
|
||||||
<a class="ml-1 instructor-title" href="/user/{{instructor.username}}">{{ instructor.full_name }}</a>
|
<a class="ml-1 instructor-title" href="{{get_profile_url(instructor.username)}}">{{ instructor.full_name }}</a>
|
||||||
<div class="instructor-subtitle">Course Creator</div>
|
<div class="instructor-subtitle">Course Creator</div>
|
||||||
<!-- <div class="instructor-subtitle">Created {{instructor.get_course_count()}} courses</div> -->
|
<!-- <div class="instructor-subtitle">Created {{instructor.get_course_count()}} courses</div> -->
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -11,5 +11,5 @@
|
|||||||
Created {{ course_count }} {{ suffix }}
|
Created {{ course_count }} {{ suffix }}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a class="stretched-link" href="/user/{{ member.username }}"></a>
|
<a class="stretched-link" href="{{ get_profile_url(member.username) }}"></a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
<div class="review-card-footer">
|
<div class="review-card-footer">
|
||||||
<div>
|
<div>
|
||||||
{{ widgets.Avatar(member=review.owner_details, avatar_class="avatar-medium") }}
|
{{ widgets.Avatar(member=review.owner_details, avatar_class="avatar-medium") }}
|
||||||
<a class="button-links" href="/user/{{review.owner_details.username}}">
|
<a class="button-links" href="{{get_profile_url(review.owner_details.username) }}">
|
||||||
<span class="course-instructor">
|
<span class="course-instructor">
|
||||||
{{ review.owner_details.full_name }}
|
{{ review.owner_details.full_name }}
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@@ -17,13 +17,6 @@ from frappe.website.page_renderers.template_page import TemplatePage
|
|||||||
from frappe.website.page_renderers.web_form import WebFormPage
|
from frappe.website.page_renderers.web_form import WebFormPage
|
||||||
|
|
||||||
|
|
||||||
def update_website_context(context):
|
|
||||||
"""Adds get_profile_url to context
|
|
||||||
|
|
||||||
Specified in the hooks.
|
|
||||||
"""
|
|
||||||
context.get_profile_url = get_profile_url
|
|
||||||
|
|
||||||
def get_profile_url(username):
|
def get_profile_url(username):
|
||||||
"""Returns the profile URL given username.
|
"""Returns the profile URL given username.
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<div class="d-flex align-items-center muted-text">
|
<div class="d-flex align-items-center muted-text">
|
||||||
{% set member = frappe.get_doc("User", reply.owner) %}
|
{% set member = frappe.get_doc("User", reply.owner) %}
|
||||||
{{ widgets.Avatar(member=member, avatar_class="avatar-small")}}
|
{{ widgets.Avatar(member=member, avatar_class="avatar-small")}}
|
||||||
<a class="button-links ml-2" href="/user/{{ member.username }}">
|
<a class="button-links ml-2" href="{{ get_profile_url(member.username) }}">
|
||||||
{{ member.full_name }}
|
{{ member.full_name }}
|
||||||
</a>
|
</a>
|
||||||
<div class="ml-2 frappe-timestamp" data-timestamp="{{ reply.creation }}"> just now </div>
|
<div class="ml-2 frappe-timestamp" data-timestamp="{{ reply.creation }}"> just now </div>
|
||||||
|
|||||||
Reference in New Issue
Block a user