feat: profile page

This commit is contained in:
Jannat Patel
2024-04-10 11:53:28 +05:30
parent 13d0621881
commit e56c8cc5f8
5 changed files with 3625 additions and 7 deletions

View File

@@ -148,7 +148,7 @@ def get_user_info():
user = frappe.db.get_value(
"User",
frappe.session.user,
["name", "email", "enabled", "user_image", "full_name", "user_type"],
["name", "email", "enabled", "user_image", "full_name", "user_type", "username"],
as_dict=1,
)
user["roles"] = frappe.get_roles(user.name)
@@ -288,3 +288,13 @@ def get_branding():
"brand_html": frappe.db.get_single_value("Website Settings", "brand_html"),
"favicon": frappe.db.get_single_value("Website Settings", "favicon"),
}
@frappe.whitelist()
def get_unsplash_photos(keyword=None):
from lms.unsplash import get_list, get_by_keyword
if keyword:
return get_by_keyword(keyword)
return frappe.cache().get_value("unsplash_photos", generator=get_list)

View File

@@ -6,10 +6,11 @@
"engine": "InnoDB",
"field_order": [
"course",
"course_title",
"member",
"member_name",
"template",
"column_break_3",
"template",
"issue_date",
"expiry_date",
"batch_name",
@@ -75,11 +76,18 @@
"label": "Template",
"options": "Print Format",
"reqd": 1
},
{
"fetch_from": "course.title",
"fieldname": "course_title",
"fieldtype": "Data",
"label": "Course Title",
"read_only": 1
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2023-10-25 12:20:56.091979",
"modified": "2024-04-09 13:42:18.350028",
"modified_by": "Administrator",
"module": "LMS",
"name": "LMS Certificate",

View File

@@ -15,10 +15,10 @@
<meta name="twitter:title" content="{{ meta.title }}" />
<meta name="twitter:image" content="{{ meta.image }}" />
<meta name="twitter:description" content="{{ meta.description }}" />
<script type="module" crossorigin src="/assets/lms/frontend/assets/index-BVArU1VY.js"></script>
<link rel="modulepreload" crossorigin href="/assets/lms/frontend/assets/frappe-ui-h_6W7zSS.js">
<link rel="stylesheet" crossorigin href="/assets/lms/frontend/assets/frappe-ui-DzKBfka9.css">
<link rel="stylesheet" crossorigin href="/assets/lms/frontend/assets/index-B5SBTRQU.css">
<script type="module" crossorigin src="/assets/lms/frontend/assets/index-B0I4dIsL.js"></script>
<link rel="modulepreload" crossorigin href="/assets/lms/frontend/assets/frappe-ui-BlL1CpdE.js">
<link rel="stylesheet" crossorigin href="/assets/lms/frontend/assets/frappe-ui-B1gEXx4C.css">
<link rel="stylesheet" crossorigin href="/assets/lms/frontend/assets/index-wBsCm0D8.css">
</head>
<body>
<div id="app">

42
lms/unsplash.py Normal file
View File

@@ -0,0 +1,42 @@
# Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
import frappe
base_url = "https://api.unsplash.com"
def get_by_keyword(keyword):
data = make_unsplash_request(f"/search/photos?query={keyword}")
return data.get("results")
def get_list():
return make_unsplash_request("/photos")
def get_random(params=None):
query_string = ""
for key, value in params.items():
query_string += f"{key}={value}&"
return make_unsplash_request(f"/photos/random?{query_string}")
def make_unsplash_request(path):
if not "unsplash_access_key" in frappe.conf:
frappe.throw("Please set unsplash_access_key in site_config.json")
import requests
url = f"{base_url}{path}"
print(url)
res = requests.get(
url,
headers={
"Accept-Version": "v1",
"Authorization": f"Client-ID {frappe.conf.unsplash_access_key}",
},
)
res.raise_for_status()
data = res.json()
return data