feat: profile page
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
42
lms/unsplash.py
Normal 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
|
||||
Reference in New Issue
Block a user