Remove year from school class model
This commit is contained in:
parent
d8e3d24f4a
commit
0e3ed9ea7a
|
|
@ -2,7 +2,7 @@
|
||||||
<div class="room-group-widget">
|
<div class="room-group-widget">
|
||||||
<group></group>
|
<group></group>
|
||||||
<span>
|
<span>
|
||||||
{{name}} - {{year}}
|
{{name}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
import Group from '@/components/icons/Group.vue';
|
import Group from '@/components/icons/Group.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: ['name', 'year'],
|
props: ['name'],
|
||||||
|
|
||||||
components: {
|
components: {
|
||||||
Group
|
Group
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
fragment SchoolClassParts on SchoolClassNode {
|
fragment SchoolClassParts on SchoolClassNode {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
year
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,7 @@ class RoleInline(admin.TabularInline):
|
||||||
|
|
||||||
@admin.register(SchoolClass)
|
@admin.register(SchoolClass)
|
||||||
class SchoolClassAdmin(admin.ModelAdmin):
|
class SchoolClassAdmin(admin.ModelAdmin):
|
||||||
list_display = ('id', 'name', 'year')
|
list_display = ('id', 'name')
|
||||||
list_filter = ('year',)
|
|
||||||
|
|
||||||
|
|
||||||
@admin.register(Role)
|
@admin.register(Role)
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@ class SchoolClassFactory(factory.django.DjangoModelFactory):
|
||||||
model = SchoolClass
|
model = SchoolClass
|
||||||
|
|
||||||
name = factory.Sequence(lambda n: '{}{}{}'.format(random.choice(class_types), '18', class_suffix[n % len(class_suffix)]))
|
name = factory.Sequence(lambda n: '{}{}{}'.format(random.choice(class_types), '18', class_suffix[n % len(class_suffix)]))
|
||||||
year = factory.LazyAttribute(lambda x: random.choice([2017, 2018, 2019]))
|
|
||||||
is_deleted = False
|
is_deleted = False
|
||||||
|
|
||||||
@factory.post_generation
|
@factory.post_generation
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ from graphene import InputObjectType
|
||||||
class SchoolClassInput(InputObjectType):
|
class SchoolClassInput(InputObjectType):
|
||||||
id = graphene.ID()
|
id = graphene.ID()
|
||||||
name = graphene.String()
|
name = graphene.String()
|
||||||
year = graphene.Int()
|
|
||||||
|
|
||||||
|
|
||||||
class PasswordUpdateInput(InputObjectType):
|
class PasswordUpdateInput(InputObjectType):
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
# Generated by Django 2.0.6 on 2019-07-03 09:55
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('users', '0004_user_avatar_url'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='schoolclass',
|
||||||
|
name='year',
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='user',
|
||||||
|
name='email',
|
||||||
|
field=models.EmailField(max_length=254, unique=True, verbose_name='email address'),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -13,6 +13,7 @@ DEFAULT_SCHOOL_ID = 1
|
||||||
class User(AbstractUser):
|
class User(AbstractUser):
|
||||||
last_module = models.ForeignKey('books.Module', related_name='+', on_delete=models.SET_NULL, null=True)
|
last_module = models.ForeignKey('books.Module', related_name='+', on_delete=models.SET_NULL, null=True)
|
||||||
avatar_url = models.CharField(max_length=254, blank=True, default='')
|
avatar_url = models.CharField(max_length=254, blank=True, default='')
|
||||||
|
email = models.EmailField(_('email address'), unique=True)
|
||||||
|
|
||||||
def get_role_permissions(self):
|
def get_role_permissions(self):
|
||||||
perms = set()
|
perms = set()
|
||||||
|
|
@ -44,13 +45,11 @@ class User(AbstractUser):
|
||||||
|
|
||||||
class SchoolClass(models.Model):
|
class SchoolClass(models.Model):
|
||||||
name = models.CharField(max_length=100, blank=False, null=False)
|
name = models.CharField(max_length=100, blank=False, null=False)
|
||||||
year = models.PositiveIntegerField(blank=False, null=False,
|
|
||||||
validators=[MinValueValidator(1900), MaxValueValidator(2200)])
|
|
||||||
is_deleted = models.BooleanField(blank=False, null=False, default=False)
|
is_deleted = models.BooleanField(blank=False, null=False, default=False)
|
||||||
users = models.ManyToManyField(get_user_model(), related_name='school_classes')
|
users = models.ManyToManyField(get_user_model(), related_name='school_classes')
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return 'SchoolClass {}-{}-{}'.format(self.id, self.name, self.year)
|
return 'SchoolClass {}-{}'.format(self.id, self.name)
|
||||||
|
|
||||||
def is_user_in_schoolclass(self, user):
|
def is_user_in_schoolclass(self, user):
|
||||||
return user.is_superuser or user.school_classes.filter(pk=self.id).count() > 0
|
return user.is_superuser or user.school_classes.filter(pk=self.id).count() > 0
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@ def create_users(data=None):
|
||||||
|
|
||||||
SchoolClassFactory(
|
SchoolClassFactory(
|
||||||
users=[teacher] + students,
|
users=[teacher] + students,
|
||||||
year='2018',
|
|
||||||
name='skillbox'
|
name='skillbox'
|
||||||
)
|
)
|
||||||
teacher2 = UserFactory(username='teacher2')
|
teacher2 = UserFactory(username='teacher2')
|
||||||
|
|
@ -30,7 +29,6 @@ def create_users(data=None):
|
||||||
UserRole.objects.create(user=student_second_class, role=student_role)
|
UserRole.objects.create(user=student_second_class, role=student_role)
|
||||||
SchoolClassFactory(
|
SchoolClassFactory(
|
||||||
users=[teacher2, student_second_class],
|
users=[teacher2, student_second_class],
|
||||||
year='2018',
|
|
||||||
name='second_class'
|
name='second_class'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -59,5 +57,4 @@ def create_users(data=None):
|
||||||
SchoolClassFactory(
|
SchoolClassFactory(
|
||||||
users=students + [teacher],
|
users=students + [teacher],
|
||||||
name=school_class.get('class'),
|
name=school_class.get('class'),
|
||||||
year='2018'
|
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue