Merge branch 'hotfix/courses_slug_url_20-01-19' into 'master'

проверить работу ссылок на курсы в админке, сделать все ссылки на курсы по...

See merge request lilschool/site!249
remotes/origin/hotfix/courses_slug_url_20-01-19
Danil 7 years ago
commit 3cb23728e6
  1. 0
      apps/course/management/__init__.py
  2. 0
      apps/course/management/commands/__init__.py
  3. 20
      apps/course/management/commands/update_courses_slug.py
  4. 18
      apps/course/models.py
  5. 1
      requirements.txt

@ -0,0 +1,20 @@
from unidecode import unidecode
from django.core.management.base import BaseCommand, CommandError
from django.db.models import Q
from django.utils.text import slugify
from apps.course.models import Course
class Command(BaseCommand):
help = 'Upload users to Roistat'
def handle(self, *args, **options):
courses = Course.objects.filter(Q(slug__isnull=True) | Q(slug=''))
for course in courses:
course.slug = slugify(unidecode(course.title[:90]))
try:
course.save()
except:
course.slug += str(course.id)
course.save()

@ -1,10 +1,13 @@
import arrow import arrow
from random import shuffle from random import shuffle
from uuid import uuid4 from uuid import uuid4
from unidecode import unidecode
from django.db import models from django.db import models
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.utils import timezone from django.utils import timezone
from django.utils.timezone import now from django.utils.timezone import now
from django.utils.text import slugify
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from django.urls import reverse_lazy from django.urls import reverse_lazy
from django.conf import settings from django.conf import settings
@ -119,17 +122,14 @@ class Course(BaseModel, DeactivatedMixin):
def __str__(self): def __str__(self):
return str(self.id) + ' ' + self.title return str(self.id) + ' ' + self.title
# def save(self, *args, **kwargs): def save(self, *args, **kwargs):
# if not self.slug: if not self.slug:
# self.slug = slugify( self.slug = slugify(unidecode(self.title[:90]))
# self.title[:90],
# allow_unicode=True
# )
# if Course.objects.filter(slug=self.slug).exclude(id=self.id).exists(): if Course.objects.filter(slug=self.slug).exclude(id=self.id).exists():
# self.slug += '_' + str(uuid4())[:6] self.slug += str(uuid4())[-3:]
# return super().save() return super().save()
@property @property
def url(self): def url(self):

@ -36,3 +36,4 @@ short_url
sendgrid sendgrid
drf_dynamic_fields drf_dynamic_fields
flower==0.9.2 flower==0.9.2
unidecode

Loading…
Cancel
Save