feature/fix_generate_pass
Andrey 8 years ago
parent 0321270bb0
commit 2c5e19cce3
  1. 20
      access/migrations/0003_pivotprogressvertex_date.py
  2. 21
      access/migrations/0004_auto_20171218_1438.py
  3. 4
      access/models/other.py
  4. 924
      csv/access/progress.csv
  5. 54
      csv/load_perm.py

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.6 on 2017-12-18 14:37
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('access', '0002_auto_20171217_1808'),
]
operations = [
migrations.AddField(
model_name='pivotprogressvertex',
name='date',
field=models.DateTimeField(blank=True, null=True, verbose_name='Дата зачтения задания'),
),
]

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.6 on 2017-12-18 14:38
from __future__ import unicode_literals
import django.contrib.postgres.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('access', '0003_pivotprogressvertex_date'),
]
operations = [
migrations.AlterField(
model_name='pivotprogressvertex',
name='comment',
field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=15, unique=True, verbose_name='Ссылки на комменты'), default=[], size=None),
),
]

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

File diff suppressed because one or more lines are too long

@ -2,6 +2,9 @@ import csv
import django
import os
import sys
import json
from datetime import datetime
sys.path.append("../")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
@ -19,47 +22,30 @@ if __name__ == '__main__':
progress_reader = csv.DictReader(progress_csv)
for row in progress_reader:
route = Course.objects.get(id=row['course']).route.out_key
vertex = None
try:
pk=None
if row['type'] == 'lesson':
pk = int(row['last_success_obj']) + 600
elif row['type'] == 'homework':
pk = int(row['last_success_obj']) + 50
elif row['type'] == 'exam':
pk = int(row['last_success_obj'])
vertex = Vertex.objects.get(id=pk).token
except Vertex.DoesNotExist:
pass
api = OutApiRoute
list_vertex = OutApiRoute.get_route_matrix(route)[0]
try:
user = get_user_model().objects.get(id=row['user'])
if vertex is not None:
p, c = Progress.objects.get_or_create(
user=user,
route=route,
p, c = Progress.objects.get_or_create(
user=user,
route=route,
teacher=get_user_model().objects.get(id=row['teacher']),
)
pivots = json.loads(row['success'])
for pivot in pivots:
pv = PivotProgressVertex.objects.create(
progress=p,
vertex=Vertex.objects.get(id=pivot['id']),
teacher=get_user_model().objects.get(id=row['teacher']),
status=1,
)
for i in list_vertex:
PivotProgressVertex(
progress=p,
vertex=i,
status=2,
)
else:
p, c = Progress.objects.get_or_create(
user=user,
route=route,
)
if row['date']:
pv.date = datetime(microsecond=row['date'])
pv.status = 2
pv.save()
g = Group.objects.get(name='students')
g.user_set.add(user)

Loading…
Cancel
Save