Beispiel #1
0
def vraceni_k_potvrzeni(user, finding, reason):

	finding.stav = c.ODESLANY
	ret = finding.save(update_fields=["stav"]) # Must do like this because of the geom field which is not text

	#print(ret)
	zmena = models.HistorieSamNalezu(
			typ_zmeny=c.ZPET_K_POTVRZENI,
			samostatny_nalez = finding,
			uzivatel = user,
			duvod = reason
			)
	hist_ret = zmena.save()
	#print(hist_ret)

	# Podivam se do historie a najdu posledni odeslani
	record = finding.historiesamnalezu_set.filter(typ_zmeny=c.POTVRZENI).order_by('datum_zmeny').last()
	uzivatel_email = ''
	if record:
		uzivatel_email = record.uzivatel.email
	else:
		logger.error('Samostatny nalez '+ finding.ident_cely + ' nema zaznam o jeho potvrzeni v jeho historii')

	# Send email to the badatel that some corrections are required
	emails.email_send_SN3andSN4.delay(finding, uzivatel_email, c.ODESLANY, reason)

	return ret
Beispiel #2
0
def zapsani(params, user, sid):

	logger.debug("Zapsani nalezu")

	params['datum_vlozeni'] = str(int(time.mktime(time.localtime())))
	params['odpovedny_pracovnik_vlozeni'] = user.id.id
	params['stav'] = '1'
	# Create through xmlrpc
	resp = xmlrpc.create_update_detektor(sid, 'create', params)

	if resp[0]:
		id_det = str(resp[1])
		# And then load it using models
		nalez = get_object_or_404(models.SamostatnyNalez, pk=id_det)

		# Zapis zmen do historie
		zmena = models.HistorieSamNalezu(
			typ_zmeny=c.ZAPSANI,
			samostatny_nalez = nalez,
			uzivatel = user
			)
		zmena.save()

		return nalez
	return None
Beispiel #3
0
def vraceni_k_archivaci(user, finding, reason):

	finding.stav = c.POTVRZENY
	ret = finding.save(update_fields=["stav"]) # Must do like this because of the geom field which is not text

	zmena = models.HistorieSamNalezu(
			typ_zmeny=c.ZPET_K_ARCHIVACI,
			samostatny_nalez = finding,
			uzivatel = user,
			duvod = reason
			)
	hist_ret = zmena.save()

	return ret
Beispiel #4
0
def update(params, nalez, user, sid):

	logger.debug("Aktualizace nalezu : " + str(nalez.id))

	resp = xmlrpc.create_update_detektor(sid, 'update', params)

	if resp[0]:
		zmena = models.HistorieSamNalezu(
				typ_zmeny=c.AKTUALIZACE,
				samostatny_nalez = nalez,
				uzivatel = user
			)
		zmena.save()

	return resp
Beispiel #5
0
def potvrzeni(params, nalez, user, sid):

	logger.debug("Potvrzeni nalezu : " + str(nalez.id))

	params['stav']= c.POTVRZENY

	resp = xmlrpc.create_update_detektor(sid, 'update', params)

	if resp[0]:
		zmena = models.HistorieSamNalezu(
			typ_zmeny=c.POTVRZENI,
			samostatny_nalez = nalez,
			uzivatel = user
			)
		zmena.save()
		# Send email?

	return resp
Beispiel #6
0
def odeslani(params, nalez, user, sid):

	logger.debug("Odeslani nalezu : " + str(nalez.id))

	params['stav']= c.ODESLANY

	resp = xmlrpc.create_update_detektor(sid, 'update', params)

	if resp[0]:
		zmena = models.HistorieSamNalezu(
			typ_zmeny=c.ODESLANI,
			samostatny_nalez = nalez,
			uzivatel = user
		)
		zmena.save()
		project_id = nalez.projekt
		project = models.Projekt.objects.get(pk=project_id)
		if project.odpovedny_pracovnik_prihlaseni:
			emails.email_send_SN1.delay(user, nalez, project.odpovedny_pracovnik_prihlaseni.email)
		else:
			logger.error("Neexistuje odpovědný pracovník přihlášení projektu " + str(project_id))

	return resp
Beispiel #7
0
def archivace(params, nalez, user, sid):

	logger.debug("Archivace nalezu : " + str(nalez.id))

	params['datum_archivace'] = str(int(time.mktime(time.localtime())))
	params['stav']= c.ARCHIVOVANY
	params['odpovedny_pracovnik_archivace']=str(user.id.id)

	resp = xmlrpc.create_update_detektor(sid, 'update', params)

	if resp[0]:
		zmena = models.HistorieSamNalezu(
			typ_zmeny=c.ARCHIVACE,
			samostatny_nalez = nalez,
			uzivatel = user
			)
		zmena.save()
		zapsani_rec = nalez.historiesamnalezu_set.filter(typ_zmeny=c.ZAPSANI).last()
		if zapsani_rec:
			emails.email_send_SN2.delay(nalez, zapsani_rec.uzivatel.email)
		else:
			logger.error("Samostatný nález nemá odpovídající záznam o vytvoření v tabulce historie nálezů " + nalez.ident_cely)
	return resp