Skip to content

Commit

Permalink
Merge c0ab46a into 3096bc8
Browse files Browse the repository at this point in the history
  • Loading branch information
Georgeygigz committed Feb 1, 2019
2 parents 3096bc8 + c0ab46a commit c0abba4
Show file tree
Hide file tree
Showing 10 changed files with 547 additions and 6 deletions.
18 changes: 18 additions & 0 deletions authors/apps/articles/migrations/0023_comment_selected_text.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 2.1.4 on 2019-01-30 09:04

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('articles', '0022_merge_20190128_1245'),
]

operations = [
migrations.AddField(
model_name='comment',
name='selected_text',
field=models.TextField(null=True),
),
]
14 changes: 14 additions & 0 deletions authors/apps/articles/migrations/0024_merge_20190130_1344.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Generated by Django 2.1.4 on 2019-01-30 13:44

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('articles', '0023_comment_selected_text'),
('articles', '0023_auto_20190129_1219'),
]

operations = [
]
36 changes: 36 additions & 0 deletions authors/apps/articles/migrations/0025_auto_20190131_1219.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Generated by Django 2.1.4 on 2019-01-31 12:19

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('articles', '0024_merge_20190130_1344'),
]

operations = [
migrations.CreateModel(
name='HighlightTextModel',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('body', models.TextField()),
('selected_text', models.TextField(blank=True, null=True)),
('start_highlight_position', models.IntegerField(blank=True, null=True)),
('end_highlight_position', models.IntegerField(blank=True, null=True)),
('createdAt', models.DateTimeField(auto_now_add=True)),
('article', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='highlight', to='articles.Article')),
('user_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
options={
'ordering': ['-createdAt'],
},
),
migrations.RemoveField(
model_name='comment',
name='selected_text',
),
]
14 changes: 14 additions & 0 deletions authors/apps/articles/migrations/0026_merge_20190201_0623.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Generated by Django 2.1.4 on 2019-02-01 06:23

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('articles', '0025_auto_20190131_1219'),
('articles', '0024_merge_20190130_0649'),
]

operations = [
]
14 changes: 14 additions & 0 deletions authors/apps/articles/migrations/0027_merge_20190201_1306.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Generated by Django 2.1.4 on 2019-02-01 13:06

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('articles', '0025_merge_20190201_0800'),
('articles', '0026_merge_20190201_0623'),
]

operations = [
]
17 changes: 17 additions & 0 deletions authors/apps/articles/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,20 @@ def __str__(self):

class Meta:
ordering = ['-createdAt']


class HighlightTextModel(models.Model):
user_id = models.ForeignKey(User, on_delete=models.CASCADE)
body = models.TextField()
article = models.ForeignKey(Article, related_name='highlight',
on_delete=models.CASCADE, null=True)
selected_text = models.TextField(blank=True)
start_highlight_position = models.IntegerField(blank=True, null=True)
end_highlight_position = models.IntegerField(blank=True, null=True)
createdAt = models.DateTimeField(auto_now_add=True)

def __str__(self):
return str(self.body)

class Meta:
ordering = ['-createdAt']
26 changes: 25 additions & 1 deletion authors/apps/articles/serializers.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from rest_framework import serializers
from authors.apps.profiles.serializers import UserProfileSerializer
from authors.apps.profiles.models import UserProfile
from .models import Article, Comment
from .models import Article, Comment, HighlightTextModel

from taggit_serializer.serializers import (TagListSerializerField,
TaggitSerializer)
Expand Down Expand Up @@ -158,3 +158,27 @@ class Meta:
model = Comment
fields = ['is_deleted', 'parent']


class HighlightSerializer(serializers.Serializer):
"""Serializer for creating a Comment"""
id = serializers.IntegerField(read_only=True)
user_id = serializers.SerializerMethodField()
article = serializers.SerializerMethodField()
body = serializers.CharField()
selected_text = serializers.CharField()
start_highlight_position = serializers.IntegerField()
end_highlight_position = serializers.IntegerField()

def create(self, validated_data):
return HighlightTextModel.objects.create(**validated_data)

def update(self, instance, validated_data):
instance.body = validated_data.get('body', instance.body)
instance.save()
return instance

def get_user_id(self, obj):
return obj.user_id.id

def get_article(self, obj):
return obj.article.slug
Loading

0 comments on commit c0abba4

Please sign in to comment.