34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
|
# MIT License. See license.txt
|
|
|
|
from __future__ import unicode_literals
|
|
|
|
import frappe
|
|
from frappe import _
|
|
import json
|
|
|
|
@frappe.whitelist()
|
|
def update_event(args, field_map):
|
|
"""Updates Event (called via calendar) based on passed `field_map`"""
|
|
args = frappe._dict(json.loads(args))
|
|
field_map = frappe._dict(json.loads(field_map))
|
|
w = frappe.get_doc(args.doctype, args.name)
|
|
w.set(field_map.start, args[field_map.start])
|
|
w.set(field_map.end, args.get(field_map.end))
|
|
w.save()
|
|
|
|
def get_event_conditions(doctype, filters=None):
|
|
"""Returns SQL conditions with user permissions and filters for event queries"""
|
|
from frappe.desk.reportview import build_match_conditions
|
|
if not frappe.has_permission(doctype):
|
|
frappe.throw(_("Not Permitted"), frappe.PermissionError)
|
|
|
|
conditions = build_match_conditions(doctype)
|
|
conditions = conditions and (" and " + conditions) or ""
|
|
if filters:
|
|
filters = json.loads(filters)
|
|
for key in filters:
|
|
if filters[key]:
|
|
conditions += " and " + key + ' = "' + filters[key].replace('"', '\"') + '"'
|
|
|
|
return conditions
|