Merge branch 'master' into prednasky
This commit is contained in:
		
						commit
						34f0dffd79
					
				
					 3 changed files with 21 additions and 9 deletions
				
			
		|  | @ -95,7 +95,7 @@ function safe_checkout_branch { | |||
| 		echo >&2 "Změna v $SCRIPT, prosím pullni manuálně" | ||||
| 		exit 1 | ||||
| 	fi | ||||
| 	git checkout "$BRANCH" | ||||
| 	git checkout "$BRANCH" -- | ||||
| 	git pull | ||||
| 	git clean -f | ||||
| } | ||||
|  |  | |||
|  | @ -322,14 +322,26 @@ def hodnoceniReseniView(request, pk, *args, **kwargs): | |||
| 					**form.cleaned_data, | ||||
| 					) | ||||
| 			logger.info(f"Creating Hodnoceni: {hodnoceni}") | ||||
| 			# FIXME následující kód má velmi vysokou šanci se rozbít, vymyslet, jak to udělat jinak | ||||
| 			zmeny_bodu = [it for it in form.changed_data if it.startswith("body")] | ||||
| 			if len(zmeny_bodu) == 1: | ||||
| 				hodnoceni.__setattr__(zmeny_bodu[0], data_for_body[zmeny_bodu[0]]) | ||||
| 			# > jedna změna je špatně, ale 4 "změny" znamenají že nebylo nic zadáno | ||||
| 			if len(zmeny_bodu) > 1 and len(zmeny_bodu) != 4 and len(zmeny_bodu) != 2: | ||||
| 				# 4 znamená vše už vyplněno a nic nezměněno, 2 znamená předvyplnili se součty a nic se nezměnilo | ||||
| 				logger.warning(f"Hodnocení {hodnoceni} mělo mít nastavené víc různých bodů: {zmeny_bodu}. Nastavuji -0.1.") | ||||
| 				hodnoceni.body = -0.1 | ||||
| 			if len(zmeny_bodu) != 0: | ||||
| 				body_nastaveny: None | tuple[str, object] = None | ||||
| 				def nastav_body(jake, na_kolik): | ||||
| 					nonlocal body_nastaveny | ||||
| 					if body_nastaveny is not None: | ||||
| 						logger.warning(f"Hodnocení {hodnoceni} s id {hodnoceni.id} k řešení {reseni.id} mělo mít nastavené kromě {body_nastaveny[0]} na {body_nastaveny[1]} ještě další body: {jake} na {na_kolik}. Nastavuji -0.1.") | ||||
| 						hodnoceni.body = -0.1 | ||||
| 					else: | ||||
| 						body_nastaveny = (jake, na_kolik) | ||||
| 						hodnoceni.__setattr__(jake, na_kolik) | ||||
| 
 | ||||
| 				for key, value in data_for_body.items(): | ||||
| 					if key.startswith("body") and value is not None: | ||||
| 						nastav_body(key, value) | ||||
| 
 | ||||
| 				# Něco se změnilo, ale nic není nastavené = něco bylo smazáno | ||||
| 				if body_nastaveny is None: | ||||
| 					hodnoceni.body = None | ||||
| 			hodnoceni.save() | ||||
| 
 | ||||
| 		adresati = reseni.resitele.filter(upozornovat_na_opravy_reseni=True).values_list('osoba__email', flat=True) | ||||
|  |  | |||
|  | @ -17,7 +17,7 @@ django-solo # Singleton model (speciálně Nastavení) | |||
| django-ckeditor-5 # Editor htmlka (hlavně v adminu u flatpages) | ||||
| django-cleanup  # Uklízí media/ od smazaných „databázových“ souborů | ||||
| django-taggit # Taggy v djangu (speciálně zaměření problémů) | ||||
| django-autocomplete-light>=3.9.0 # Automatické doplňování (problémů, účastníků, …) ve formulářích | ||||
| django-autocomplete-light>=3.9.0,<3.12.0 # Automatické doplňování (problémů, účastníků, …) ve formulářích | ||||
| django-imagekit # Všechny možné obrázky v Djangu | ||||
| django-polymorphic # Polymorfismus na django modelech (hlavně Problém nebo treenode) | ||||
| django-sitetree # Struktura stránek, hlavně pro meníčko | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue