Merge remote-tracking branch 'origin/dev' into dev

remotes/origin/hasaccess
nikita 8 years ago
commit ae690ac51d
  1. 2
      api/v1/permissions.py
  2. 21
      apps/course/migrations/0038_lesson_author.py
  3. 8
      apps/course/models.py
  4. 32
      apps/payment/migrations/0018_auto_20180512_1202.py

@ -41,4 +41,4 @@ class IsAuthorObjectOrAdmin(BasePermission):
def has_object_permission(self, request, view, obj):
return request.user.is_authenticated and (
request.user.role == User.ADMIN_ROLE or request.user.is_staff or request.user.is_superuser
) and request.user == obj.author
) or request.user == obj.author

@ -0,0 +1,21 @@
# Generated by Django 2.0.4 on 2018-05-12 12:02
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),
('course', '0037_auto_20180507_1422'),
]
operations = [
migrations.AddField(
model_name='lesson',
name='author',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL),
),
]

@ -164,6 +164,9 @@ class Category(models.Model):
class Lesson(BaseModel, DeactivatedMixin):
title = models.CharField('Название урока', max_length=100)
short_description = models.TextField('Краткое описание урока')
author = models.ForeignKey(
User, on_delete=models.SET_NULL, null=True, blank=True
)
course = models.ForeignKey(
Course, on_delete=models.CASCADE, related_name='lessons'
)
@ -178,6 +181,11 @@ class Lesson(BaseModel, DeactivatedMixin):
def __str__(self):
return self.title
def save(self, *args, **kwargs):
if not self.author and self.course and self.course.author:
self.author = self.course.author
super().save(*args, **kwargs)
class Meta:
verbose_name = 'Урок'
verbose_name_plural = 'Уроки'

@ -0,0 +1,32 @@
# Generated by Django 2.0.4 on 2018-05-12 12:02
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('payment', '0017_schoolpayment_add_days'),
]
operations = [
migrations.AlterModelOptions(
name='payment',
options={'ordering': ('created_at',), 'verbose_name': 'Платеж', 'verbose_name_plural': 'Платежи'},
),
migrations.AlterModelManagers(
name='coursepayment',
managers=[
],
),
migrations.AlterModelManagers(
name='payment',
managers=[
],
),
migrations.AlterModelManagers(
name='schoolpayment',
managers=[
],
),
]
Loading…
Cancel
Save