Generating unique user id for analytics
parent
14f5ad4bdd
commit
37c2a3c8c4
|
@ -0,0 +1,35 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.11.2 on 2017-10-31 14:57
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import taiga.users.models
|
||||||
|
import uuid
|
||||||
|
|
||||||
|
|
||||||
|
def update_uuids(apps, schema_editor):
|
||||||
|
User = apps.get_model("users", "User")
|
||||||
|
for user in User.objects.all():
|
||||||
|
user.uuid = uuid.uuid4().hex
|
||||||
|
user.save()
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('users', '0024_auto_20170406_0727'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='user',
|
||||||
|
name='uuid',
|
||||||
|
field=models.CharField(default=taiga.users.models.get_default_uuid, editable=False, max_length=32),
|
||||||
|
),
|
||||||
|
migrations.RunPython(update_uuids, lambda apps, schema_editor: None),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='user',
|
||||||
|
name='uuid',
|
||||||
|
field=models.CharField(default=taiga.users.models.get_default_uuid, editable=False, max_length=32, unique=True),
|
||||||
|
),
|
||||||
|
]
|
|
@ -19,6 +19,7 @@
|
||||||
from importlib import import_module
|
from importlib import import_module
|
||||||
|
|
||||||
import random
|
import random
|
||||||
|
import uuid
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from django.apps import apps
|
from django.apps import apps
|
||||||
|
@ -125,7 +126,13 @@ class PermissionsMixin(models.Model):
|
||||||
return self.is_superuser
|
return self.is_superuser
|
||||||
|
|
||||||
|
|
||||||
|
def get_default_uuid():
|
||||||
|
return uuid.uuid4().hex
|
||||||
|
|
||||||
|
|
||||||
class User(AbstractBaseUser, PermissionsMixin):
|
class User(AbstractBaseUser, PermissionsMixin):
|
||||||
|
uuid = models.CharField(max_length=32, editable=False, null=False,
|
||||||
|
blank=False, unique=True, default=get_default_uuid)
|
||||||
username = models.CharField(_("username"), max_length=255, unique=True,
|
username = models.CharField(_("username"), max_length=255, unique=True,
|
||||||
help_text=_("Required. 30 characters or fewer. Letters, numbers and "
|
help_text=_("Required. 30 characters or fewer. Letters, numbers and "
|
||||||
"/./-/_ characters"),
|
"/./-/_ characters"),
|
||||||
|
|
|
@ -78,6 +78,7 @@ class UserAdminSerializer(UserSerializer):
|
||||||
total_private_projects = MethodField()
|
total_private_projects = MethodField()
|
||||||
total_public_projects = MethodField()
|
total_public_projects = MethodField()
|
||||||
email = Field()
|
email = Field()
|
||||||
|
uuid = Field()
|
||||||
max_private_projects = Field()
|
max_private_projects = Field()
|
||||||
max_public_projects = Field()
|
max_public_projects = Field()
|
||||||
max_memberships_private_projects = Field()
|
max_memberships_private_projects = Field()
|
||||||
|
|
Loading…
Reference in New Issue