mirror of
				https://gitlab.com/animath/si/plateforme.git
				synced 2025-10-31 22:24:30 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Generated by Django 3.2.18 on 2023-02-19 22:13
 | |
| from django.contrib.contenttypes.models import ContentType
 | |
| from django.db import migrations, models
 | |
| from django.db.models import F
 | |
| 
 | |
| 
 | |
| def merge_admins(apps, schema_editor):
 | |
|     AdminRegistration = apps.get_model('registration', 'AdminRegistration')
 | |
|     VolunteerRegistration = apps.get_model('registration', 'VolunteerRegistration')
 | |
|     db_alias = schema_editor.connection.alias
 | |
|     AdminRegistration.objects.using(db_alias).update(admin=True)
 | |
|     for admin in AdminRegistration.objects.all():
 | |
|         admin.professional_activity = admin.role
 | |
|         admin.polymorphic_ctype_id = ContentType.objects.get_for_model(VolunteerRegistration).id
 | |
|         admin.save()
 | |
| 
 | |
| 
 | |
| def separate_admins(apps, schema_editor):
 | |
|     AdminRegistration = apps.get_model('registration', 'AdminRegistration')
 | |
|     VolunteerRegistration = apps.get_model('registration', 'VolunteerRegistration')
 | |
|     for admin in VolunteerRegistration.objects.filter(admin=True).all():
 | |
|         admin.delete()
 | |
|         AdminRegistration.objects.create(user=admin.user,
 | |
|                                          professional_activity=admin.professional_activity,
 | |
|                                          role=admin.professional_activity)
 | |
| 
 | |
| 
 | |
| class Migration(migrations.Migration):
 | |
|     dependencies = [
 | |
|         ('participation', '0003_alter_team_trigram'),
 | |
|         ('registration', '0003_alter_participantregistration_zip_code'),
 | |
|     ]
 | |
| 
 | |
|     operations = [
 | |
|         migrations.AddField(
 | |
|             model_name='volunteerregistration',
 | |
|             name='admin',
 | |
|             field=models.BooleanField(
 | |
|                 default=False,
 | |
|                 help_text="An administrator has all rights. Please don't give this right to all juries and volunteers.",
 | |
|                 verbose_name='administrator'),
 | |
|         ),
 | |
|         migrations.RunPython(
 | |
|             merge_admins,
 | |
|             separate_admins,
 | |
|             elidable=True,
 | |
|         ),
 | |
|         migrations.DeleteModel(
 | |
|             name='AdminRegistration',
 | |
|         ),
 | |
|     ]
 |