feature/fix_generate_pass
Andrey 8 years ago
parent 9f850899ae
commit 8cc9dd7039
  1. 20
      access/migrations/0005_auto_20171218_1516.py
  2. 2
      access/models/other.py
  3. 6
      course_service/courses/models.py
  4. 12
      course_service/courses/views.py
  5. 924
      csv/access/progress.csv
  6. 18
      csv/load_comments.py
  7. 4
      csv/load_perm.py

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.6 on 2017-12-18 15:16
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('access', '0004_auto_20171218_1438'),
]
operations = [
migrations.AlterField(
model_name='pivotprogressvertex',
name='vertex',
field=models.CharField(blank=True, max_length=15, verbose_name='Ссылки на узлы'),
),
]

@ -66,7 +66,7 @@ class PivotProgressVertex(models.Model):
)
teacher = models.ForeignKey(to=settings.AUTH_USER_MODEL, verbose_name="Преподователь",)
progress = models.ForeignKey(to=Progress)
vertex = models.CharField(max_length=15, blank=True, verbose_name='Ссылки на узлы', unique=True)
vertex = models.CharField(max_length=15, blank=True, verbose_name='Ссылки на узлы')
status = models.SmallIntegerField(choices=VERTEX_STATUS, default=0)
comment = ArrayField(models.CharField(max_length=15, verbose_name='Ссылки на комменты', unique=True), default=[])
date = models.DateTimeField(verbose_name='Дата зачтения задания', blank=True, null=True)

@ -90,6 +90,12 @@ class Course(models.Model):
def __str__(self):
return self.title
def get_statistic(self):
return {
'topic_count': self.topic_set.count(),
'task_count': sum([topic.vertex_set.count() for topic in self.topic_set.all()])
}
objects = CourseManager()
class Meta:

@ -12,11 +12,6 @@ class TreeView(APIView):
renderer_classes = (JSONRenderer,)
status_code = 200
@staticmethod
def post(request):
print(request)
return Response(status=204)
def get(self, request, slug):
try:
@ -57,12 +52,7 @@ class CourseListView(APIView):
return Response(CourseDetailSerializer(course).data, status=self.status_code)
def get(self, request):
if request.user.is_authenticated() and request.user.is_staff:
course_list = Course.objects.all()
else:
course_list = Course.objects.filter(public=True)
res = [CourseListSerializer(course).data for course in course_list]
res = [CourseListSerializer(course).data for course in Course.objects.all()]
return Response(res, self.status_code)

File diff suppressed because one or more lines are too long

@ -13,9 +13,7 @@ sys.path.append("../")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from course_service.courses.models import Vertex
from storage.models import Comment, File
from access.models.other import PivotProgressVertex, Progress
if __name__ == '__main__':
csv.field_size_limit(500 * 1024 * 1024)
@ -43,19 +41,3 @@ if __name__ == '__main__':
parent_id = int(row['parent_id'])
if row['type'] == 'task':
parent_id += 50
vertex = Vertex.objects.get(id=parent_id)
vertex_key = vertex.token
comment_key = c.key
progress = Progress(
route=vertex.topic.course.route.out_key,
user=get_user_model().objects.get(email=row['student']))
pv, _is_create = PivotProgressVertex.objects.get_or_create(
vertex=vertex_key,
progress=progress,
teacher=get_user_model().objects.get(email=row['teacher']),
)
pv.status = 0 if row['status'] == 'Отклонено' else 2 if row['status'] == 'Отклонено' else 1
pv.save()

@ -37,13 +37,13 @@ if __name__ == '__main__':
for pivot in pivots:
pv = PivotProgressVertex.objects.create(
progress=p,
vertex=Vertex.objects.get(id=pivot['id']),
vertex=Vertex.objects.get(id=pivot['id']).token,
teacher=get_user_model().objects.get(id=pivot['teacher']),
status=1,
)
if pivot['date']:
pv.date = datetime(microsecond=pivot['date'])
pv.date = datetime.strptime(pivot['date'].split('.')[0], '%Y-%m-%d %H:%M:%S')
pv.status = 2
pv.save()

Loading…
Cancel
Save