Skip to content
Snippets Groups Projects
Commit 1b4057bf authored by Julian's avatar Julian
Browse files

Fix bugs regarding profile creation

parent a1ef72b0
No related branches found
No related tags found
No related merge requests found
# Generated by Django 3.2.4 on 2021-07-26 14:01 # Generated by Django 3.2.4 on 2021-07-26 14:54
import django.contrib.sites.managers import django.contrib.sites.managers
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion import django.db.models.deletion
import uuid
class Migration(migrations.Migration): class Migration(migrations.Migration):
...@@ -19,6 +20,7 @@ class Migration(migrations.Migration): ...@@ -19,6 +20,7 @@ class Migration(migrations.Migration):
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('extended_data', models.JSONField(default=dict, editable=False)), ('extended_data', models.JSONField(default=dict, editable=False)),
('name', models.CharField(max_length=255)), ('name', models.CharField(max_length=255)),
('field_name_field', models.UUIDField(default=uuid.UUID('5d46e4fa-2ae8-4565-a4ee-3a78272bae3e', editable=False)),
('site', models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.site')), ('site', models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.site')),
], ],
options={ options={
......
from django.db.utils import ProgrammingError
from jsonstore import fields from jsonstore import fields
from .models import AdditionalProfileField, Profile from .models import AdditionalProfileField, Profile
...@@ -5,8 +7,11 @@ from .models import AdditionalProfileField, Profile ...@@ -5,8 +7,11 @@ from .models import AdditionalProfileField, Profile
def update_profile_fields(): def update_profile_fields():
for obj in AdditionalProfileField.objects.all(): for obj in AdditionalProfileField.objects.all():
try: try:
Profile.field(**{object.field_name: fields.CharField(max_length=255, verbose_name=object.name)}) Profile.field(**{obj.field_name: fields.CharField(max_length=255, verbose_name=obj.name)})
Profile.fields[obj.field_name] = obj.name
except ValueError: except ValueError:
pass pass
try:
update_profile_fields() update_profile_fields()
except ProgrammingError:
pass
from django.db import models from django.db import models
from django.utils.text import slugify
from django.utils.translation import gettext as _ from django.utils.translation import gettext as _
from jsonstore import fields from jsonstore import fields
import uuid
from aleksis.core.mixins import ExtensibleModel from aleksis.core.mixins import ExtensibleModel
from aleksis.core.models import Person from aleksis.core.models import Person
...@@ -39,6 +41,7 @@ class AbiGroup(ExtensibleModel): ...@@ -39,6 +41,7 @@ class AbiGroup(ExtensibleModel):
class Profile(ExtensibleModel): class Profile(ExtensibleModel):
fields = {}
person = models.OneToOneField( person = models.OneToOneField(
to=AbiPerson, on_delete=models.CASCADE, verbose_name=_("Person"), related_name="profile" to=AbiPerson, on_delete=models.CASCADE, verbose_name=_("Person"), related_name="profile"
) )
...@@ -56,7 +59,7 @@ class Profile(ExtensibleModel): ...@@ -56,7 +59,7 @@ class Profile(ExtensibleModel):
class AdditionalProfileField(ExtensibleModel): class AdditionalProfileField(ExtensibleModel):
name = models.CharField(max_length=255) name = models.CharField(max_length=255)
field_name_field = models.UUIDField(editable=False) field_name_field = models.UUIDField(editable=False, default=uuid.uuid4())
@property @property
def field_name(self): def field_name(self):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment