fix: Document key expiry logic
This commit is contained in:
parent
515f56a689
commit
afeddbb96d
5 changed files with 15 additions and 33 deletions
|
|
@ -2,7 +2,7 @@
|
|||
"actions": [],
|
||||
"allow_rename": 1,
|
||||
"autoname": "format:DOCUMENT-KEY-{########}",
|
||||
"creation": "2021-12-20 03:34:58.744797",
|
||||
"creation": "2022-01-14 13:40:49.487646",
|
||||
"doctype": "DocType",
|
||||
"document_key_expiry": 90,
|
||||
"editable_grid": 1,
|
||||
|
|
@ -11,8 +11,7 @@
|
|||
"reference_doctype",
|
||||
"reference_docname",
|
||||
"key",
|
||||
"expires_on",
|
||||
"status"
|
||||
"expires_on"
|
||||
],
|
||||
"fields": [
|
||||
{
|
||||
|
|
@ -43,23 +42,12 @@
|
|||
"in_list_view": 1,
|
||||
"label": "Expires On",
|
||||
"read_only": 1
|
||||
},
|
||||
{
|
||||
"default": "Active",
|
||||
"fieldname": "status",
|
||||
"fieldtype": "Select",
|
||||
"in_list_view": 1,
|
||||
"in_standard_filter": 1,
|
||||
"label": "Status",
|
||||
"options": "Active\nExpired",
|
||||
"read_only": 1,
|
||||
"search_index": 1
|
||||
}
|
||||
],
|
||||
"in_create": 1,
|
||||
"index_web_pages_for_search": 1,
|
||||
"links": [],
|
||||
"modified": "2021-12-28 00:43:57.811188",
|
||||
"modified": "2022-01-14 13:57:28.050678",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Core",
|
||||
"name": "Document Key",
|
||||
|
|
|
|||
|
|
@ -11,10 +11,5 @@ class DocumentKey(Document):
|
|||
meta = frappe.get_meta("DocType", self.reference_doctype)
|
||||
self.expires_on = frappe.utils.add_days(None, days=meta.get("document_key_expiry") or 90)
|
||||
|
||||
|
||||
def expire_document_keys():
|
||||
# called from hooks
|
||||
frappe.db.set_value("Document Key", {
|
||||
"expired_on": ["<", frappe.utils.nowdate()],
|
||||
"status": "Active"
|
||||
}, "status", "Expired")
|
||||
def is_expired(self):
|
||||
return self.expires_on < frappe.utils.getdate()
|
||||
|
|
|
|||
|
|
@ -241,7 +241,6 @@ scheduler_events = {
|
|||
"frappe.email.doctype.unhandled_email.unhandled_email.remove_old_unhandled_emails",
|
||||
"frappe.core.doctype.prepared_report.prepared_report.delete_expired_prepared_reports",
|
||||
"frappe.core.doctype.log_settings.log_settings.run_log_clean_up",
|
||||
"frappe.core.doctype.document_key.document_key.expire_document_keys",
|
||||
"frappe.website.doctype.personal_data_deletion_request.personal_data_deletion_request.process_data_deletion_request"
|
||||
],
|
||||
"daily_long": [
|
||||
|
|
|
|||
|
|
@ -1286,14 +1286,6 @@ class Document(BaseDocument):
|
|||
doc.insert(ignore_permissions=True)
|
||||
return doc.key
|
||||
|
||||
def is_document_key_valid(self, key):
|
||||
return frappe.db.exists("Document Key", {
|
||||
"reference_doctype": self.doctype,
|
||||
"reference_docname": self.name,
|
||||
"status": "Active",
|
||||
"key": key
|
||||
}, cache=True)
|
||||
|
||||
def get_liked_by(self):
|
||||
liked_by = getattr(self, "_liked_by", None)
|
||||
if liked_by:
|
||||
|
|
|
|||
|
|
@ -235,8 +235,16 @@ def get_rendered_raw_commands(doc, name=None, print_format=None, meta=None, lang
|
|||
|
||||
def validate_print_permission(doc):
|
||||
if frappe.form_dict.get("key"):
|
||||
if doc.is_document_key_valid(frappe.form_dict.key):
|
||||
return
|
||||
document_key = frappe.db.exists("Document Key", {
|
||||
"reference_doctype": doc.doctype,
|
||||
"reference_docname": doc.name,
|
||||
"key": frappe.form_dict.key
|
||||
}, cache=True)
|
||||
if document_key:
|
||||
if frappe.get_cached_doc("Document Key", document_key).is_expired():
|
||||
raise frappe.exceptions.LinkExpiredError
|
||||
else:
|
||||
return
|
||||
|
||||
if frappe.form_dict.key == doc.get_signature():
|
||||
return
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue