|
|
@ -5,8 +5,12 @@ import base64 |
|
|
|
import os |
|
|
|
from frappe.utils import cstr |
|
|
|
from smart_service.apis.app_user_login import input_validation |
|
|
|
site_name = cstr(frappe.local.site) |
|
|
|
base_url = os.path.expanduser( |
|
|
|
"~") + "/frappe-bench/sites/" + site_name + "/public" |
|
|
|
current_db_name = frappe.conf.get("db_name") |
|
|
|
|
|
|
|
|
|
|
|
def custom_rate_limit(limit, seconds): |
|
|
|
ip_based = True |
|
|
|
ip = frappe.local.request_ip if ip_based is True else None |
|
|
@ -24,6 +28,7 @@ def custom_rate_limit(limit, seconds): |
|
|
|
return "You hit the rate limit because of too many requests. Please try after sometime." |
|
|
|
return 1 |
|
|
|
|
|
|
|
|
|
|
|
@frappe.whitelist() |
|
|
|
def addon(args=None): |
|
|
|
rate_res = custom_rate_limit(limit=5, seconds=15) |
|
|
@ -70,7 +75,8 @@ def addon(args=None): |
|
|
|
elif args == "teknet_module": |
|
|
|
api = frappe.db.get_list( |
|
|
|
"Teknet Module", |
|
|
|
fields=["name", "teknet_module_name", "active_status", "flvl_id"], |
|
|
|
fields=["name", "teknet_module_name", |
|
|
|
"active_status", "flvl_id"], |
|
|
|
) |
|
|
|
for i in api: |
|
|
|
if i["active_status"] == "Active": |
|
|
@ -82,7 +88,8 @@ def addon(args=None): |
|
|
|
api = frappe.get_doc('User Manual') |
|
|
|
|
|
|
|
else: |
|
|
|
api = {"status": 0, "error": "No such function. Check argument: args"} |
|
|
|
api = {"status": 0, |
|
|
|
"error": "No such function. Check argument: args"} |
|
|
|
|
|
|
|
except Exception as e: |
|
|
|
api = {"status": 0, "error": "Module not available"} |
|
|
@ -217,7 +224,7 @@ def feedback(args=None, request=None): |
|
|
|
file_name = x |
|
|
|
file_data = f[x] |
|
|
|
|
|
|
|
file_url = "/home/ubuntu/frappe-bench/sites/" + site_name + "/public/files/" + file_name |
|
|
|
file_url = base_url+"/files/" + file_name |
|
|
|
with open(file_url, "wb") as img: |
|
|
|
img.write(base64.b64decode(file_data)) |
|
|
|
|
|
|
@ -231,7 +238,8 @@ def feedback(args=None, request=None): |
|
|
|
ret.is_private = 0 |
|
|
|
ret.insert(ignore_permissions=True) |
|
|
|
file_response.append(ret) |
|
|
|
api = {"isSuccessful": True, "name": usr_fdbk.name, "files": file_response} |
|
|
|
api = {"isSuccessful": True, |
|
|
|
"name": usr_fdbk.name, "files": file_response} |
|
|
|
except Exception as e: |
|
|
|
api = {"status": 0, "error": str(frappe.get_traceback())} |
|
|
|
else: |
|
|
@ -275,7 +283,8 @@ def model_hit(args=None, request=None): |
|
|
|
model_hit.download_vehicle_date = i['DownloadVehicleDate'] |
|
|
|
model_hit.download_vehicle_language_id = i['DownloadVehicleLanguageID'] |
|
|
|
model_hit.download_vehicle_current_version = i['DownloadVehicleCurrentVersion'] |
|
|
|
model_hit.insert(ignore_if_duplicate=True, ignore_mandatory=True) |
|
|
|
model_hit.insert(ignore_if_duplicate=True, |
|
|
|
ignore_mandatory=True) |
|
|
|
return {"isSuccessful": True} |
|
|
|
|
|
|
|
except Exception as e: |
|
|
@ -326,7 +335,8 @@ def model_usage(args=None, request=None): |
|
|
|
model_usage.steps_id = i['StepsID'] |
|
|
|
model_usage.menu_id = i['MenuID'] |
|
|
|
model_usage.language = i['Language'] |
|
|
|
model_usage.insert(ignore_if_duplicate=True, ignore_mandatory=True) |
|
|
|
model_usage.insert( |
|
|
|
ignore_if_duplicate=True, ignore_mandatory=True) |
|
|
|
return {"isSuccessful": True} |
|
|
|
|
|
|
|
except Exception as e: |
|
|
|