Generating unique user id for analytics

remotes/origin/roles-filter
Jesús Espino 2017-10-31 16:42:14 +01:00
parent 14f5ad4bdd
commit 52ce32edf4
3 changed files with 43 additions and 0 deletions

View File

@ -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),
),
]

View File

@ -19,6 +19,7 @@
from importlib import import_module
import random
import uuid
import re
from django.apps import apps
@ -125,7 +126,13 @@ class PermissionsMixin(models.Model):
return self.is_superuser
def get_default_uuid():
return uuid.uuid4().hex
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,
help_text=_("Required. 30 characters or fewer. Letters, numbers and "
"/./-/_ characters"),

View File

@ -78,6 +78,7 @@ class UserAdminSerializer(UserSerializer):
total_private_projects = MethodField()
total_public_projects = MethodField()
email = Field()
uuid = Field()
max_private_projects = Field()
max_public_projects = Field()
max_memberships_private_projects = Field()