diff --git a/courses/migrations/0043_auto_20170621_1340.py b/courses/migrations/0043_auto_20170621_1340.py new file mode 100644 index 0000000..ff2483b --- /dev/null +++ b/courses/migrations/0043_auto_20170621_1340.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.3 on 2017-06-21 13:40 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('courses', '0042_auto_20161202_0338'), + ] + + operations = [ + migrations.AddField( + model_name='course', + name='public_old', + field=models.BooleanField(default=False, verbose_name='Старый статус'), + ), + migrations.AlterField( + model_name='lesson', + name='on_comment', + field=models.CharField(choices=[('N', 'Включены'), ('F', 'Отключены'), ('T', 'Подчиняется теме')], default='T', help_text='https://127.0.0.1:8000/management/faq/37', max_length=1, verbose_name='Блок комментариев'), + ), + ] diff --git a/courses/migrations/0044_auto_20170621_1548.py b/courses/migrations/0044_auto_20170621_1548.py new file mode 100644 index 0000000..c7b94ae --- /dev/null +++ b/courses/migrations/0044_auto_20170621_1548.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.3 on 2017-06-21 15:48 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('courses', '0043_auto_20170621_1340'), + ] + + operations = [ + migrations.AddField( + model_name='coursetheme', + name='empty_old', + field=models.BooleanField(default=False, verbose_name='Для проверки галочки'), + ), + migrations.AlterField( + model_name='lesson', + name='on_comment', + field=models.CharField(choices=[('N', 'Включены'), ('F', 'Отключены'), ('T', 'Подчиняется теме')], default='T', help_text='http://127.0.0.1:8000/management/faq/37', max_length=1, verbose_name='Блок комментариев'), + ), + ] diff --git a/courses/models.py b/courses/models.py index 288d2fe..6369299 100755 --- a/courses/models.py +++ b/courses/models.py @@ -11,6 +11,8 @@ from lms.tools import random_string, translit from management.models import Comment from storage.models import Storage +import logging + MATERIALS_TYPE = ( ('B', u'Базовый материал'), ('E', u'Расширеный материал'), @@ -74,6 +76,7 @@ class Course(models.Model): direction = models.ForeignKey(MaterialDirection, verbose_name=u'Направление', null=True) mentors = models.ManyToManyField(User, verbose_name=u'Кураторы', null=True, blank=True, related_name='course_mentors') public = models.BooleanField(verbose_name=u'Опубликовать', default=False) + public_old = models.BooleanField(verbose_name=u'Старый статус', default=False) title = models.CharField(verbose_name=u"Заголовок", max_length=255) description = RedactorField(verbose_name=u'Описание', blank=True) image = models.ImageField(verbose_name=u'Изображение', upload_to='course', blank=True) @@ -202,6 +205,12 @@ class Course(models.Model): return '/courses/%s' % self.slug def save(self, *args, **kwargs): + # Костыль для поиска ошибки галочки + if self.public != self.public_old: + log = logging.getLogger('Course_public_change') + log.error('status change') + self.public_old = self.public + # if not self.slug: self.slug = '{0}'.format(translit(self.title)) super(Course, self).save(*args, **kwargs) @@ -224,6 +233,7 @@ class CourseTheme(models.Model): empty = models.BooleanField(verbose_name=u'Ты не пройдешь!', help_text=u'Заблокировать дальнейшее прохождение курса. Из-за того, ' u'что курс не заполнен или что-то вроде того.', default=False) + empty_old = models.BooleanField(verbose_name=u'Для проверки галочки', default=False) def __unicode__(self): return u'%s:%s/%s' % (self.sort, self.course, self.title if self.title else self.get__type_display()) @@ -311,6 +321,13 @@ class CourseTheme(models.Model): return Homework.objects.filter(theme=self).count() def save(self, *args, **kwargs): + # Костыль для поиска ошибки смены галочки + if self.empty != self.empty_old: + log = logging.getLogger('Themes_status_change') + log.error('status change') + self.public_old = self.public + # Костыль конец + if CourseTheme.objects.filter(course=self.course, sort=self.sort).exclude(id=self.id).exists(): # Переформировать порядок test_in = self.sort + 1