Exemplo n.º 1
0
def runserverobj():
	"""
		Run server objects
	"""
	import webnotes.model.code
	from webnotes.model.wrapper import ModelWrapper
	from webnotes.utils import cint

	wrapper = None
	method = webnotes.form_dict.get('method')
	arg = webnotes.form_dict.get('arg')
	dt = webnotes.form_dict.get('doctype')
	dn = webnotes.form_dict.get('docname')

	if dt: # not called from a doctype (from a page)
		if not dn: dn = dt # single
		so = webnotes.model.code.get_obj(dt, dn)

	else:
		wrapper = ModelWrapper()
		wrapper.from_compressed(webnotes.form_dict.get('docs'), dn)
		if not wrapper.has_read_perm():
			webnotes.msgprint(_("No Permission"), raise_exception = True)
		so = wrapper.make_obj()
		wrapper.check_if_latest()

	check_guest_access(so.doc)
	
	if so:
		r = webnotes.model.code.run_server_obj(so, method, arg)
		if r:
			#build output as csv
			if cint(webnotes.form_dict.get('as_csv')):
				make_csv_output(r, so.doc.doctype)
			else:
				webnotes.response['message'] = r
		
		webnotes.response['docs'] = so.doclist