예제 #1
0
def fill_form(id, data, dom):
	"""Hae pyynnöstä lomakkeen data.

	Returns:
		Data dict-muodossa. Avaimet: nimi (str), kuvaus (str)
	"""
	dom_item = domutil.getContentElementById("item%s" % id, dom)
	domutil.getElementById("nimi%s" % id, dom_item).setAttribute("value", data["nimi"].decode("utf-8"))
	domutil.getElementById("kuvaus%s" % id, dom_item).setAttribute("value", data["kuvaus"].decode("utf-8"))
예제 #2
0
def fill_errors(id, errors, dom):
	"""Täytä errors-dictin avaimien nimiä vastaavat DOM-elementit avaimia vastaavalla virheilmoituksella.

	Args:
		errors: Virheilmoitukset dict-muodossa. Avaimet: nimi (str), kuvaus (str), maara (str), laji (str), tekstit (str[]). HUOM oletetaan, että löytyy virhe-elementit muotoa avain+"_err"
	"""
	dom_item = domutil.getContentElementById("item%s" % id, dom)
	for error in errors.keys():
		errname = "%s_err%s" % (error, id)
		dom_err = domutil.getElementById(errname, dom_item)
		dom_err.appendChild(dom.createTextNode(errors[error]))
예제 #3
0
			status = u"Virhe tallentaessa! (virhe: %s)" % str(e)


	# Luo kentät jokaiselle tietokannasta löytyvälle ruokalajille, ja aseta niiden id:t ruokalajia vastaaviksi
	dom_items = domutil.getContentElementById("items", dom)
	cur.execute("""
		select nimi as nimi, kuvaus as kuvaus, ruokalajiid as id
		from ruokalaji;
	""")
	kinds = cur.fetchall()
	# Luo oma lomake jokaiselle ruokalajille.
	for row in kinds:
		id = str(row["id"])
		dom_item = dom_item_template.cloneNode(True)
		# Aseta piilotetun id-inputin arvo ruokalajiid:n mukaan
		dom_id = domutil.getElementById("id", dom_item)
		dom_id.setAttribute("value", id)
		# Aseta näille uniikit id:t ruokalajiid:n perusteella että löydetään myöhemmin eikä tule id-konflikteja
		elem_names = ["item", "id", "nimi", "kuvaus", "status_text", "nimi_err", "kuvaus_err"]
		for elem_name in elem_names:
			elem = domutil.getElementById(elem_name, dom_item)
			elem_id = elem.getAttribute("id")
			elem.setAttribute("id", elem_id+id)
		dom_items.appendChild(dom_item)
		# Aseta kenttien arvot tietokannan datan mukaan
		item_data = {}
		item_data["nimi"] = row["nimi"]
		item_data["kuvaus"] = row["kuvaus"]
		fill_form(id, item_data, dom)

	con.close()