core: add more fields for metadata of applications
This commit is contained in:
parent
1d22e30c70
commit
2dfd93afb1
|
@ -15,11 +15,13 @@ class ApplicationSerializer(ModelSerializer):
|
||||||
"pk",
|
"pk",
|
||||||
"name",
|
"name",
|
||||||
"slug",
|
"slug",
|
||||||
"launch_url",
|
|
||||||
"icon_url",
|
|
||||||
"provider",
|
|
||||||
"policies",
|
|
||||||
"skip_authorization",
|
"skip_authorization",
|
||||||
|
"provider",
|
||||||
|
"meta_launch_url",
|
||||||
|
"meta_icon_url",
|
||||||
|
"meta_description",
|
||||||
|
"meta_publisher",
|
||||||
|
"policies",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -19,19 +19,23 @@ class ApplicationForm(forms.ModelForm):
|
||||||
fields = [
|
fields = [
|
||||||
"name",
|
"name",
|
||||||
"slug",
|
"slug",
|
||||||
"launch_url",
|
|
||||||
"icon_url",
|
|
||||||
"provider",
|
|
||||||
"policies",
|
|
||||||
"skip_authorization",
|
"skip_authorization",
|
||||||
|
"provider",
|
||||||
|
"meta_launch_url",
|
||||||
|
"meta_icon_url",
|
||||||
|
"meta_description",
|
||||||
|
"meta_publisher",
|
||||||
|
"policies",
|
||||||
]
|
]
|
||||||
widgets = {
|
widgets = {
|
||||||
"name": forms.TextInput(),
|
"name": forms.TextInput(),
|
||||||
"launch_url": forms.TextInput(),
|
"meta_launch_url": forms.TextInput(),
|
||||||
"icon_url": forms.TextInput(),
|
"meta_icon_url": forms.TextInput(),
|
||||||
|
"meta_publisher": forms.TextInput(),
|
||||||
"policies": FilteredSelectMultiple(_("policies"), False),
|
"policies": FilteredSelectMultiple(_("policies"), False),
|
||||||
}
|
}
|
||||||
labels = {
|
labels = {
|
||||||
"launch_url": _("Launch URL"),
|
"meta_launch_url": _("Launch URL"),
|
||||||
"icon_url": _("Icon URL"),
|
"meta_icon_url": _("Icon URL"),
|
||||||
}
|
}
|
||||||
|
help_texts = {"policies": _("Policies required to access this Application.")}
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
# Generated by Django 3.0.3 on 2020-02-20 12:42
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("passbook_core", "0007_auto_20200217_1934"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RenameField(
|
||||||
|
model_name="application", old_name="icon_url", new_name="meta_icon_url",
|
||||||
|
),
|
||||||
|
migrations.RenameField(
|
||||||
|
model_name="application", old_name="launch_url", new_name="meta_launch_url",
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="application",
|
||||||
|
name="meta_description",
|
||||||
|
field=models.TextField(blank=True, null=True),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="application",
|
||||||
|
name="meta_publisher",
|
||||||
|
field=models.TextField(blank=True, null=True),
|
||||||
|
),
|
||||||
|
]
|
|
@ -143,16 +143,19 @@ class Application(ExportModelOperationsMixin("application"), PolicyModel):
|
||||||
|
|
||||||
name = models.TextField()
|
name = models.TextField()
|
||||||
slug = models.SlugField()
|
slug = models.SlugField()
|
||||||
launch_url = models.URLField(null=True, blank=True)
|
skip_authorization = models.BooleanField(default=False)
|
||||||
icon_url = models.TextField(null=True, blank=True)
|
|
||||||
provider = models.OneToOneField(
|
provider = models.OneToOneField(
|
||||||
"Provider", null=True, blank=True, default=None, on_delete=models.SET_DEFAULT
|
"Provider", null=True, blank=True, default=None, on_delete=models.SET_DEFAULT
|
||||||
)
|
)
|
||||||
skip_authorization = models.BooleanField(default=False)
|
|
||||||
|
meta_launch_url = models.URLField(null=True, blank=True)
|
||||||
|
meta_icon_url = models.TextField(null=True, blank=True)
|
||||||
|
meta_description = models.TextField(null=True, blank=True)
|
||||||
|
meta_publisher = models.TextField(null=True, blank=True)
|
||||||
|
|
||||||
objects = InheritanceManager()
|
objects = InheritanceManager()
|
||||||
|
|
||||||
def get_provider(self):
|
def get_provider(self) -> Optional[Provider]:
|
||||||
"""Get casted provider instance"""
|
"""Get casted provider instance"""
|
||||||
if not self.provider:
|
if not self.provider:
|
||||||
return None
|
return None
|
||||||
|
@ -167,6 +170,7 @@ class Source(ExportModelOperationsMixin("source"), PolicyModel):
|
||||||
|
|
||||||
name = models.TextField()
|
name = models.TextField()
|
||||||
slug = models.SlugField()
|
slug = models.SlugField()
|
||||||
|
|
||||||
enabled = models.BooleanField(default=True)
|
enabled = models.BooleanField(default=True)
|
||||||
property_mappings = models.ManyToManyField(
|
property_mappings = models.ManyToManyField(
|
||||||
"PropertyMapping", default=None, blank=True
|
"PropertyMapping", default=None, blank=True
|
||||||
|
|
Reference in New Issue