Добавление поля производителя

remotes/origin/dev^2
Andrey 8 years ago
parent af18d48a97
commit 80caafc738
  1. 48
      courses/models.py

@ -5,6 +5,7 @@ import unidecode
from django.contrib.postgres.fields import ArrayField from django.contrib.postgres.fields import ArrayField
from django.db import models from django.db import models
from django.template.defaultfilters import slugify from django.template.defaultfilters import slugify
from model_utils import Choices
from lms.tools import get_real_name, get_empty_list from lms.tools import get_real_name, get_empty_list
@ -79,47 +80,6 @@ class Topic(models.Model):
unique_together = ('sort', 'course') unique_together = ('sort', 'course')
class CourseManager(models.Manager):
def update_or_create_course(self, image=None, big_image=None, old_slug=None,
big_mobile_image=None, slug=None, teacher_tokens=None,
level=None, direction=None, **kwargs):
slug = slug if slug else old_slug
kwargs['teacher_tokens'] = teacher_tokens
if image:
kwargs['image'] = image
if big_image:
kwargs['big_image'] = big_image
if big_mobile_image:
kwargs['big_mobile_image'] = big_mobile_image
if level:
kwargs['level'] = get_real_name(COURSE_LEVEL, level)
if direction:
kwargs['direction'] = get_real_name(COURSE_DIRECTION, direction[0])
try:
course = self.get(slug=old_slug)
for i in kwargs:
if kwargs[i]:
setattr(course, i, kwargs[i])
course.slug = slug
course.save()
except self.DoesNotExist:
if not slug is None:
kwargs['slug'] = slug
course = self.create(**kwargs)
return course
def upload_image(instance, _filename): def upload_image(instance, _filename):
return 'courses/%s/image.png' % instance.slug return 'courses/%s/image.png' % instance.slug
@ -137,6 +97,8 @@ def default_slug():
class Course(models.Model): class Course(models.Model):
PRODUCERS = Choices('skillbox', 'Ingate', 'AIC')
token = models.UUIDField(verbose_name="Токен", default=uuid.uuid4, editable=False) token = models.UUIDField(verbose_name="Токен", default=uuid.uuid4, editable=False)
slug = models.SlugField(unique=True, editable=False, max_length=127, default=default_slug) slug = models.SlugField(unique=True, editable=False, max_length=127, default=default_slug)
title = models.CharField(verbose_name="Заголовок", max_length=255, unique=True) title = models.CharField(verbose_name="Заголовок", max_length=255, unique=True)
@ -155,6 +117,8 @@ class Course(models.Model):
big_mobile_image = models.ImageField(verbose_name='Под мобилку', blank=True, upload_to=upload_mobile_image, big_mobile_image = models.ImageField(verbose_name='Под мобилку', blank=True, upload_to=upload_mobile_image,
help_text='Большая картинка для мобильной версии', max_length=255) help_text='Большая картинка для мобильной версии', max_length=255)
hidden = models.BooleanField(verbose_name='Видно только оплатившим', default=False) hidden = models.BooleanField(verbose_name='Видно только оплатившим', default=False)
producer = models.CharField(
choices=PRODUCERS, default=PRODUCERS.skillbox, max_length=15, verbose_name="Производитель")
def __str__(self): def __str__(self):
return self.title return self.title
@ -202,8 +166,6 @@ class Course(models.Model):
except IndexError: except IndexError:
pass pass
objects = CourseManager()
class Meta: class Meta:
verbose_name = "Курс" verbose_name = "Курс"
verbose_name_plural = "Курсы" verbose_name_plural = "Курсы"

Loading…
Cancel
Save