Deleted tools.py (2015, staré modely)
This commit is contained in:
		
							parent
							
								
									f0f8a95e11
								
							
						
					
					
						commit
						9485dacad2
					
				
					 1 changed files with 0 additions and 82 deletions
				
			
		|  | @ -1,82 +0,0 @@ | ||||||
| # -*- coding: utf-8 -*- |  | ||||||
| 
 |  | ||||||
| import logging as log |  | ||||||
| from .models import Resitel |  | ||||||
| from reversion import revisions as reversion |  | ||||||
| 
 |  | ||||||
| def merge_props(r1, r2, prop, pretend=True, smaller=False, equal=True): |  | ||||||
| 	"""Merge r2.`prop` into r1.`prop`. |  | ||||||
| 
 |  | ||||||
| 	If r1.`prop` unset, use r1.`prop`=r2.`prop`. |  | ||||||
| 	If both set and equal=True, warn if not equal. |  | ||||||
| 	If both set and smaller=True, use the smaller one. |  | ||||||
| 	With pretend=True does not modify r1. |  | ||||||
| 	""" |  | ||||||
| 	a1 = r1.__getattribute__(prop) |  | ||||||
| 	a2 = r2.__getattribute__(prop) |  | ||||||
| 	if not a1: |  | ||||||
| 		if not pretend: |  | ||||||
| 			r1.__setattr__(prop, a2) |  | ||||||
| 	elif a2: |  | ||||||
| 		if equal and a1 != a2: |  | ||||||
| 			log.warn("merge: Ruzna %s: %s VS %s", prop, a1, a2) |  | ||||||
| 		if smaller: |  | ||||||
| 			if not pretend: |  | ||||||
| 				r1.__setattr__(prop, min(a1, a2)) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| def merge_Resitel(rbase, rmerge, pretend=True): |  | ||||||
| 	"""Zahrne data a vztahy Resitele rmerge do Resitele rbase, pak smaze rmerge. |  | ||||||
| 
 |  | ||||||
| 	Selze pro uzivatele s user!=NULL. S pretend=True nezmeni databazi. |  | ||||||
| 	""" |  | ||||||
| 	# Ma relace: skola |  | ||||||
| 	# Je v relaci: user, reseni, soustredeni_ucastnici, vysledky_base(VIEW) |  | ||||||
| 
 |  | ||||||
| 	log.info("merge: %s <- %s", unicode(rbase), unicode(rmerge)) |  | ||||||
| 
 |  | ||||||
| 	assert not rbase.user |  | ||||||
| 	assert not rmerge.user |  | ||||||
| 	assert rbase != rmerge |  | ||||||
| 
 |  | ||||||
| 	if (rbase.jmeno != rmerge.jmeno) or (rbase.prijmeni != rmerge.prijmeni): |  | ||||||
| 		log.error("merge: Ruzna jmena: %s VS %s", rbase, rmerge) |  | ||||||
| 	if rbase.rok_maturity != rmerge.rok_maturity: |  | ||||||
| 		log.error("merge: Ruzne roky maturity: %s VS %s", rbase.rok_maturity, rmerge.rok_maturity) |  | ||||||
| 
 |  | ||||||
| 	with reversion.create_revision(): |  | ||||||
| 		reversion.set_comment('Merge duplicitnich Resitelu: %r <- %r' % (rbase.pk, rmerge.pk)) |  | ||||||
| 
 |  | ||||||
| 		merge_props(rbase, rmerge, 'skola', pretend=pretend) |  | ||||||
| 		merge_props(rbase, rmerge, 'datum_narozeni', pretend=pretend) |  | ||||||
| 		merge_props(rbase, rmerge, 'datum_prihlaseni', pretend=pretend) |  | ||||||
| 		merge_props(rbase, rmerge, 'datum_souhlasu_zasilani', pretend=pretend, smaller=True, equal=False) |  | ||||||
| 		merge_props(rbase, rmerge, 'datum_souhlasu_udaje', pretend=pretend, smaller=True, equal=False) |  | ||||||
| 		merge_props(rbase, rmerge, 'email', pretend=pretend) |  | ||||||
| 		if rmerge.import_mamoper_id and not pretend: |  | ||||||
| 			rbase.import_mamoper_id += ' ' + rmerge.import_mamoper_id |  | ||||||
| 		if rmerge.poznamka and not pretend: |  | ||||||
| 			rbase.poznamka += ' ' + rmerge.poznamka |  | ||||||
| 		merge_props(rbase, rmerge, 'mesto', pretend=pretend) |  | ||||||
| 		merge_props(rbase, rmerge, 'pohlavi_muz', pretend=pretend) |  | ||||||
| 		merge_props(rbase, rmerge, 'psc', pretend=pretend) |  | ||||||
| 		merge_props(rbase, rmerge, 'stat', pretend=pretend) |  | ||||||
| 		merge_props(rbase, rmerge, 'telefon', pretend=pretend) |  | ||||||
| 		merge_props(rbase, rmerge, 'ulice', pretend=pretend) |  | ||||||
| 		merge_props(rbase, rmerge, 'zasilat', pretend=pretend) |  | ||||||
| 
 |  | ||||||
| 		for res in rmerge.reseni.all(): |  | ||||||
| 			if not pretend: |  | ||||||
| 				res.resitel = rbase |  | ||||||
| 				res.save() |  | ||||||
| 
 |  | ||||||
| 		for uc in rmerge.soustredeni_ucastnici_set.all(): |  | ||||||
| 			if not pretend: |  | ||||||
| 				uc.resitel = rbase |  | ||||||
| 				uc.save() |  | ||||||
| 
 |  | ||||||
| 		if not pretend: |  | ||||||
| 			rmerge.delete() |  | ||||||
| 			rbase.save() |  | ||||||
| 		 |  | ||||||
| 
 |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Jonas Havelka
						Jonas Havelka