Kopírujeme emaily z osoby do usera, aby jednoduše fungovalo resetování hesla.
This commit is contained in:
		
							parent
							
								
									65a76935a6
								
							
						
					
					
						commit
						83aa9a1758
					
				
					 3 changed files with 37 additions and 0 deletions
				
			
		
							
								
								
									
										22
									
								
								seminar/migrations/0073_copy_osoba_email_to_user_email.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								seminar/migrations/0073_copy_osoba_email_to_user_email.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,22 @@ | ||||||
|  | # Generated by Django 2.2.9 on 2020-01-15 21:28 | ||||||
|  | 
 | ||||||
|  | from django.db import migrations | ||||||
|  | 
 | ||||||
|  | def copy_mails(apps, schema_editor): | ||||||
|  | 	Osoba = apps.get_model('seminar', 'Osoba') | ||||||
|  | 
 | ||||||
|  | 	for o in Osoba.objects.all(): | ||||||
|  | 		if o.user is not None: | ||||||
|  | 			u = o.user | ||||||
|  | 			u.email = o.email | ||||||
|  | 			u.save() | ||||||
|  | 
 | ||||||
|  | class Migration(migrations.Migration): | ||||||
|  | 
 | ||||||
|  |     dependencies = [ | ||||||
|  |         ('seminar', '0072_auto_20191204_2257'), | ||||||
|  |     ] | ||||||
|  | 
 | ||||||
|  |     operations = [ | ||||||
|  |         migrations.RunPython(copy_mails, migrations.RunPython.noop) | ||||||
|  |     ] | ||||||
|  | @ -130,6 +130,17 @@ class Osoba(SeminarModelBase): | ||||||
| 	def __str__(self): | 	def __str__(self): | ||||||
| 		return self.plne_jmeno() | 		return self.plne_jmeno() | ||||||
| 
 | 
 | ||||||
|  | 	# Overridujeme save Osoby, aby když si změní e-mail, aby se projevil i v | ||||||
|  | 	# Userovi (a tak se dal poslat mail s resetem hesla) | ||||||
|  | 	def save(self, *args, **kwargs): | ||||||
|  | 		if self.user is not None: | ||||||
|  | 			u = self.user | ||||||
|  | 			# U svatého tučňáka, prosím ať tohle funguje. | ||||||
|  | 			# (Takhle se kódit asi nemá...) | ||||||
|  | 			u.email = self.email | ||||||
|  | 			u.save() | ||||||
|  | 		super().save() | ||||||
|  | 
 | ||||||
| # | # | ||||||
| # Mělo by být částečně vytaženo z Aesopa | # Mělo by být částečně vytaženo z Aesopa | ||||||
| # viz https://ovvp.mff.cuni.cz/wiki/aesop/export-skol. | # viz https://ovvp.mff.cuni.cz/wiki/aesop/export-skol. | ||||||
|  |  | ||||||
|  | @ -1296,6 +1296,7 @@ class LogoutView(auth_views.LogoutView): | ||||||
| 	# Pavel: Vůbec nevím, proč to s _lazy funguje, ale bez toho to bylo rozbité. | 	# Pavel: Vůbec nevím, proč to s _lazy funguje, ale bez toho to bylo rozbité. | ||||||
| 	next_page = reverse_lazy('titulni_strana') | 	next_page = reverse_lazy('titulni_strana') | ||||||
| 
 | 
 | ||||||
|  | # "Chci resetovat heslo" | ||||||
| class PasswordResetView(auth_views.PasswordResetView): | class PasswordResetView(auth_views.PasswordResetView): | ||||||
| 	#template_name = 'seminar/password_reset.html' | 	#template_name = 'seminar/password_reset.html' | ||||||
| 	# TODO: vlastní email_template_name a subject_template_name a html_email_template_name | 	# TODO: vlastní email_template_name a subject_template_name a html_email_template_name | ||||||
|  | @ -1303,14 +1304,17 @@ class PasswordResetView(auth_views.PasswordResetView): | ||||||
| 	from_email = 'login@mam.mff.cuni.cz' | 	from_email = 'login@mam.mff.cuni.cz' | ||||||
| 	# TODO: přepsat User-a :-( | 	# TODO: přepsat User-a :-( | ||||||
| 
 | 
 | ||||||
|  | # "Poslali jsme e-mail (pokud bylo kam))" | ||||||
| class PasswordResetDoneView(auth_views.PasswordResetDoneView): | class PasswordResetDoneView(auth_views.PasswordResetDoneView): | ||||||
| 	#template_name = 'seminar/password_reset_done.html' | 	#template_name = 'seminar/password_reset_done.html' | ||||||
| 	pass | 	pass | ||||||
| 
 | 
 | ||||||
|  | # "Vymysli si heslo" | ||||||
| class PasswordResetConfirmView(auth_views.PasswordResetConfirmView): | class PasswordResetConfirmView(auth_views.PasswordResetConfirmView): | ||||||
| 	#template_name = 'seminar/password_confirm_done.html' | 	#template_name = 'seminar/password_confirm_done.html' | ||||||
| 	success_url = reverse_lazy('reset_password_complete') | 	success_url = reverse_lazy('reset_password_complete') | ||||||
| 
 | 
 | ||||||
|  | # "Heslo se asi změnilo." | ||||||
| class PasswordResetCompleteView(auth_views.PasswordResetCompleteView): | class PasswordResetCompleteView(auth_views.PasswordResetCompleteView): | ||||||
| 	#template_name = 'seminar/password_complete_done.html' | 	#template_name = 'seminar/password_complete_done.html' | ||||||
| 	pass | 	pass | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Pavel 'LEdoian' Turinsky
						Pavel 'LEdoian' Turinsky