fix: clean urls for hackathons and correcting slug parameter for discussions

This commit is contained in:
pateljannat
2021-04-07 19:53:03 +05:30
parent 3d024a289e
commit 84cf74e25d
7 changed files with 18 additions and 9 deletions

View File

@@ -4,4 +4,4 @@ Community App
#### License
MIT
AGPL

View File

@@ -137,7 +137,9 @@ primary_rules = [
{"from_route": "/courses", "to_route": "courses"},
{"from_route": "/courses/<course>", "to_route": "courses/course"},
{"from_route": "/courses/<course>/<topic>", "to_route": "courses/topic"},
{"from_route": "/courses/<course>/<topic>", "to_route": "courses/topic"}
{"from_route": "/hackathons", "to_route": "hackathons"},
{"from_route": "/hackathons/<hackathon>", "to_route": "hackathons/hackathon"},
{"from_route": "/hackathons/<hackathon>/<project>", "to_route": "hackathons/project"}
]
# Any frappe default URL is blocked by profile-rules, add it here to unblock it

View File

@@ -9,6 +9,12 @@ from frappe import _
from frappe.utils import add_days, nowdate
class LMSMessage(Document):
def after_insert(self):
message = self.as_dict()
message['broadcast'] = True
frappe.publish_realtime('new_lms_message', message, after_commit=True)
self.send_email()
def send_email(self):
membership = frappe.get_all("LMS Batch Membership", {"batch": self.batch}, ["member"])
for entry in membership:
member = frappe.get_doc("Community Member", entry.member)

View File

@@ -29,13 +29,14 @@ def get_course(slug):
)
return course
def get_discussions(course):
memberships = get_membership(course)
def get_discussions(slug):
memberships = get_membership(slug)
messages = get_messages(memberships[0].batch)
return messages, memberships
def get_membership(course):
def get_membership(slug):
memberships = []
course = frappe.db.get_value("LMS Course", {"slug": slug}, "name")
member = frappe.db.get_value("Community Member", {"email": frappe.session.user}, "name")
batches = frappe.get_all("LMS Batch", {"course": course}, ["name"])
for batch in batches:

View File

@@ -41,7 +41,7 @@
{% macro card(project) %}
<div class="col-sm-4 mb-4 text-left">
<a href="/hackathons/project?project={{ project.name }}&hackathon={{ hackathon }}" class="no-decoration no-underline">
<a href="/hackathons/{{ hackathon }}/{{ project.name }}" class="no-decoration no-underline">
<div class="card h-100">
<div class='card-body'>
<h5 class='card-title'>{{ project.name }}</h5>
@@ -72,7 +72,7 @@
<div class='card-body'>
<p>{{ frappe.utils.md_to_html(update.project_update) }}</p>
<div>
<a href="/hackathons/project?project={{update.project}}&hackathon={{hackathon}}">{{ update.project}}</a>
<a href="/hackathons/{{hackathon}}/{{update.project}}">{{ update.project}}</a>
by {{ show_user(update.owner) }}
<div class="text-muted">{{ frappe.utils.format_datetime(update.creation, "medium") }}</div>
</div>

View File

@@ -1,6 +1,6 @@
{% macro hackathon_card(hackathon) %}
<div class="col-sm-4 mb-4 text-left">
<a href="/hackathons/hackathon?hackathon={{ hackathon.name }}" class="no-decoration no-underline">
<a href="/hackathons/{{ hackathon.name }}" class="no-decoration no-underline">
<div class="card h-100">
<div class='card-body'>
<h5 class='card-title'>{{ hackathon.name }}</h5>

View File

@@ -41,7 +41,7 @@
{% block content %}
<section class="section">
{{ hero(project, {'name': hackathon, 'url': '/hackathons/hackathon?hackathon=' + hackathon}) }}
{{ hero(project, {'name': hackathon, 'url': '/hackathons/' + hackathon}) }}
<div class='container'>
{% if project %}
<h1 class="mb-2">{{project.project_name}}</h1>