Merge remote-tracking branch 'origin/origin/feature/migrate-etablishment' into origin/feature/migration

This commit is contained in:
alex 2019-10-29 12:31:32 +03:00
commit e68e33859d
5 changed files with 26 additions and 1 deletions

View File

@ -0,0 +1,18 @@
# Generated by Django 2.2.4 on 2019-10-29 08:21
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('account', '0017_merge_20191024_1233'),
]
operations = [
migrations.AddField(
model_name='user',
name='old_id',
field=models.IntegerField(blank=True, default=None, null=True),
),
]

View File

@ -94,6 +94,8 @@ class User(AbstractUser):
unconfirmed_email = models.EmailField(_('unconfirmed email'), blank=True, null=True, default=None)
email_confirmed = models.BooleanField(_('email status'), default=False)
newsletter = models.NullBooleanField(default=True)
old_id = models.IntegerField(null=True, blank=True, default=None)
EMAIL_FIELD = 'email'
USERNAME_FIELD = 'username'

View File

@ -26,6 +26,7 @@ send_email_action.short_description = "Send the selected news by email"
@admin.register(models.News)
class NewsAdmin(admin.ModelAdmin):
"""News admin."""
raw_id_fields = ('address',)
actions = [send_email_action]

View File

@ -6,17 +6,20 @@ class UserSerializer(serializers.ModelSerializer):
nickname = serializers.CharField()
email = serializers.CharField()
confirmed_at = serializers.DateTimeField()
id = serializers.CharField()
class Meta:
model = User
fields = (
"id",
"nickname",
"email",
"confirmed_at"
)
def validate(self, data):
data["old_id"] = data.pop("id")
data["username"] = self.get_username(data)
data["email_confirmed"] = self.get_email_confirmed(data)
data.pop("nickname")

View File

@ -22,7 +22,8 @@ class SubscriberSerializer(serializers.ModelSerializer):
return data
def create(self, validated_data):
Subscriber.objects.create(**validated_data)
inst, created = Subscriber.objects.get_or_create(**validated_data)
return inst
def get_email(self, obj):
return obj["email"]