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
1 merge request!1Resolve "Implement models"
# 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.
Finish editing this message first!
Please register or to comment