core: move name field to base Provider
This commit is contained in:
		| @ -33,7 +33,7 @@ class ProviderListView( | ||||
|     permission_required = "passbook_core.add_provider" | ||||
|     template_name = "administration/provider/list.html" | ||||
|     ordering = "id" | ||||
|     search_fields = ["id"] | ||||
|     search_fields = ["id", "name"] | ||||
|  | ||||
|  | ||||
| class ProviderCreateView( | ||||
|  | ||||
| @ -17,7 +17,7 @@ class ProviderSerializer(ModelSerializer): | ||||
|     class Meta: | ||||
|  | ||||
|         model = Provider | ||||
|         fields = ["pk", "authorization_flow", "property_mappings", "__type__"] | ||||
|         fields = ["pk", "name", "authorization_flow", "property_mappings", "__type__"] | ||||
|  | ||||
|  | ||||
| class ProviderViewSet(ReadOnlyModelViewSet): | ||||
|  | ||||
							
								
								
									
										19
									
								
								passbook/core/migrations/0011_provider_name_temp.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								passbook/core/migrations/0011_provider_name_temp.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | ||||
| # Generated by Django 3.1.2 on 2020-10-03 17:34 | ||||
|  | ||||
| from django.db import migrations, models | ||||
|  | ||||
|  | ||||
| class Migration(migrations.Migration): | ||||
|  | ||||
|     dependencies = [ | ||||
|         ("passbook_core", "0010_auto_20200917_1021"), | ||||
|     ] | ||||
|  | ||||
|     operations = [ | ||||
|         migrations.AddField( | ||||
|             model_name="provider", | ||||
|             name="name_temp", | ||||
|             field=models.TextField(default=""), | ||||
|             preserve_default=False, | ||||
|         ), | ||||
|     ] | ||||
							
								
								
									
										20
									
								
								passbook/core/migrations/0012_auto_20201003_1737.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								passbook/core/migrations/0012_auto_20201003_1737.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | ||||
| # Generated by Django 3.1.2 on 2020-10-03 17:37 | ||||
|  | ||||
| from django.db import migrations | ||||
|  | ||||
|  | ||||
| class Migration(migrations.Migration): | ||||
|  | ||||
|     dependencies = [ | ||||
|         ("passbook_core", "0011_provider_name_temp"), | ||||
|         ("passbook_providers_oauth2", "0006_remove_oauth2provider_name"), | ||||
|         ("passbook_providers_saml", "0006_remove_samlprovider_name"), | ||||
|     ] | ||||
|  | ||||
|     operations = [ | ||||
|         migrations.RenameField( | ||||
|             model_name="provider", | ||||
|             old_name="name_temp", | ||||
|             new_name="name", | ||||
|         ), | ||||
|     ] | ||||
| @ -124,6 +124,8 @@ class User(GuardianUserMixin, AbstractUser): | ||||
| class Provider(models.Model): | ||||
|     """Application-independent Provider instance. For example SAML2 Remote, OAuth2 Application""" | ||||
|  | ||||
|     name = models.TextField() | ||||
|  | ||||
|     authorization_flow = models.ForeignKey( | ||||
|         Flow, | ||||
|         on_delete=models.CASCADE, | ||||
| @ -148,11 +150,8 @@ class Provider(models.Model): | ||||
|         """Return Form class used to edit this object""" | ||||
|         raise NotImplementedError | ||||
|  | ||||
|     # This class defines no field for easier inheritance | ||||
|     def __str__(self): | ||||
|         if hasattr(self, "name"): | ||||
|             return getattr(self, "name") | ||||
|         return super().__str__() | ||||
|         return self.name | ||||
|  | ||||
|  | ||||
| class Application(PolicyBindingModel): | ||||
|  | ||||
| @ -0,0 +1,30 @@ | ||||
| # Generated by Django 3.1.2 on 2020-10-03 17:37 | ||||
|  | ||||
| from django.apps.registry import Apps | ||||
| from django.db import migrations | ||||
| from django.db.backends.base.schema import BaseDatabaseSchemaEditor | ||||
|  | ||||
|  | ||||
| def update_name_temp(apps: Apps, schema_editor: BaseDatabaseSchemaEditor): | ||||
|     OAuth2Provider = apps.get_model("passbook_providers_oauth2", "OAuth2Provider") | ||||
|     db_alias = schema_editor.connection.alias | ||||
|  | ||||
|     for provider in OAuth2Provider.objects.using(db_alias).all(): | ||||
|         provider.name_temp = provider.name | ||||
|         provider.save() | ||||
|  | ||||
|  | ||||
| class Migration(migrations.Migration): | ||||
|  | ||||
|     dependencies = [ | ||||
|         ("passbook_core", "0011_provider_name_temp"), | ||||
|         ("passbook_providers_oauth2", "0005_auto_20200920_1240"), | ||||
|     ] | ||||
|  | ||||
|     operations = [ | ||||
|         migrations.RunPython(update_name_temp), | ||||
|         migrations.RemoveField( | ||||
|             model_name="oauth2provider", | ||||
|             name="name", | ||||
|         ), | ||||
|     ] | ||||
| @ -120,8 +120,6 @@ class ScopeMapping(PropertyMapping): | ||||
| class OAuth2Provider(Provider): | ||||
|     """OAuth2 Provider for generic OAuth and OpenID Connect Applications.""" | ||||
|  | ||||
|     name = models.TextField() | ||||
|  | ||||
|     client_type = models.CharField( | ||||
|         max_length=30, | ||||
|         choices=ClientTypes.choices, | ||||
|  | ||||
| @ -0,0 +1,30 @@ | ||||
| # Generated by Django 3.1.2 on 2020-10-03 17:37 | ||||
|  | ||||
| from django.apps.registry import Apps | ||||
| from django.db import migrations | ||||
| from django.db.backends.base.schema import BaseDatabaseSchemaEditor | ||||
|  | ||||
|  | ||||
| def update_name_temp(apps: Apps, schema_editor: BaseDatabaseSchemaEditor): | ||||
|     SAMLProvider = apps.get_model("passbook_providers_saml", "SAMLProvider") | ||||
|     db_alias = schema_editor.connection.alias | ||||
|  | ||||
|     for provider in SAMLProvider.objects.using(db_alias).all(): | ||||
|         provider.name_temp = provider.name | ||||
|         provider.save() | ||||
|  | ||||
|  | ||||
| class Migration(migrations.Migration): | ||||
|  | ||||
|     dependencies = [ | ||||
|         ("passbook_core", "0011_provider_name_temp"), | ||||
|         ("passbook_providers_saml", "0005_remove_samlprovider_processor_path"), | ||||
|     ] | ||||
|  | ||||
|     operations = [ | ||||
|         migrations.RunPython(update_name_temp), | ||||
|         migrations.RemoveField( | ||||
|             model_name="samlprovider", | ||||
|             name="name", | ||||
|         ), | ||||
|     ] | ||||
| @ -27,8 +27,6 @@ class SAMLBindings(models.TextChoices): | ||||
| class SAMLProvider(Provider): | ||||
|     """SAML 2.0 Endpoint for applications which support SAML.""" | ||||
|  | ||||
|     name = models.TextField() | ||||
|  | ||||
|     acs_url = models.URLField(verbose_name=_("ACS URL")) | ||||
|     audience = models.TextField(default="") | ||||
|     issuer = models.TextField(help_text=_("Also known as EntityID")) | ||||
|  | ||||
| @ -0,0 +1,29 @@ | ||||
| # Generated by Django 3.1.2 on 2020-10-03 17:34 | ||||
|  | ||||
| import django.contrib.postgres.fields | ||||
| from django.db import migrations, models | ||||
|  | ||||
|  | ||||
| class Migration(migrations.Migration): | ||||
|  | ||||
|     dependencies = [ | ||||
|         ( | ||||
|             "passbook_stages_identification", | ||||
|             "0004_identificationstage_case_insensitive_matching", | ||||
|         ), | ||||
|     ] | ||||
|  | ||||
|     operations = [ | ||||
|         migrations.AlterField( | ||||
|             model_name="identificationstage", | ||||
|             name="user_fields", | ||||
|             field=django.contrib.postgres.fields.ArrayField( | ||||
|                 base_field=models.CharField( | ||||
|                     choices=[("email", "E Mail"), ("username", "Username")], | ||||
|                     max_length=100, | ||||
|                 ), | ||||
|                 help_text="Fields of the user object to match against. (Hold shift to select multiple options)", | ||||
|                 size=None, | ||||
|             ), | ||||
|         ), | ||||
|     ] | ||||
| @ -6589,6 +6589,7 @@ definitions: | ||||
|         minLength: 1 | ||||
|   Provider: | ||||
|     required: | ||||
|       - name | ||||
|       - authorization_flow | ||||
|     type: object | ||||
|     properties: | ||||
| @ -6596,6 +6597,10 @@ definitions: | ||||
|         title: ID | ||||
|         type: integer | ||||
|         readOnly: true | ||||
|       name: | ||||
|         title: Name | ||||
|         type: string | ||||
|         minLength: 1 | ||||
|       authorization_flow: | ||||
|         title: Authorization flow | ||||
|         description: Flow used when authorizing this provider. | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Jens Langhammer
					Jens Langhammer