threads update

feature/fix_generate_pass
Andrey 8 years ago
parent c18b5d556f
commit ed9c771663
  1. 23
      access/views.py
  2. 3
      courses/models.py
  3. 28
      csv/load_student_teachers_threads.py
  4. 18
      journals/default_threads.py

@ -204,23 +204,28 @@ class UpdateProgress(APIView):
""" """
создание тредов для приёма домашки создание тредов для приёма домашки
""" """
thread, is_create = Thread.objects.get_or_create( teacher_thread = Thread.objects.get(
key="""user_%s__user_%s""" % (vertex.course.get_teacher().id, request.user.id,), key="""user_%s""" % vertex.course.get_teacher().id,
text="""Приватный диалог %s и %s""" % (vertex.course.get_teacher().email, request.user.email,),
is_recurse=True,
) )
if is_create: user_thread = Thread.objects.get(
thread.subscribers.add(request.user) key="""user_%s""" % request.user.id,
thread.subscribers.add(vertex.course.get_teacher()) )
support_thread = Thread.objects.get(
key="suports",
)
child_thread = Thread.objects.create( child_thread = Thread.objects.create(
key="""user_%s__vertex_%s""" % (request.id, vertex.id,), key="""user_%s__vertex_%s""" % (request.user.id, vertex.id,),
text="""Домашняя работа по курсу %s и теме %s для студента %s""" % text="""Домашняя работа по курсу %s и теме %s для студента %s""" %
(vertex.course.title, vertex.vertex_set.all()[0].title, request.user.get_full_name()), (vertex.course.title, vertex.vertex_set.all()[0].title, request.user.get_full_name()),
) )
child_thread.parent.add(thread) child_thread.subscribers.add(request.user)
child_thread.parent.add(teacher_thread)
child_thread.parent.add(support_thread)
child_thread.parent.add(user_thread)
progress.save() progress.save()
return Response({'id': progress.active_obj.id, 'type': progress.active_obj.content_type.model}, status=200) return Response({'id': progress.active_obj.id, 'type': progress.active_obj.content_type.model}, status=200)

@ -13,6 +13,7 @@ from lms.tools import decode_base64, get_real_name
from lms.global_decorators import transaction_decorator from lms.global_decorators import transaction_decorator
from library.models import Tags from library.models import Tags
from storage.models import Storage from storage.models import Storage
import random
COURSE_LEVEL = ( COURSE_LEVEL = (
('B', 'Базовый'), ('B', 'Базовый'),
@ -95,7 +96,7 @@ class Course(models.Model):
return self.title return self.title
def get_teacher(self): def get_teacher(self):
return return random.choice(self.teachers.all())
def get_tree(self, serializer): def get_tree(self, serializer):
""" """

@ -29,34 +29,20 @@ if __name__ == '__main__':
int(row['status'] == "Одобрено")*"yes" +\ int(row['status'] == "Одобрено")*"yes" +\
int(row['status'] == "Отклонено")*"no" int(row['status'] == "Отклонено")*"no"
try: child_thread, is_create = Thread.objects.get_or_create(
child_thread = Thread.objects.filter(subscribers=teacher).filter(subscribers=user)[0]
except IndexError:
child_thread = Thread.objects.create(
key="""user_%s__user_%s""" % (teacher.id, user.id,),
text="""Приватный диалог %s и %s""" % (teacher.email, user.email,),
is_recurse=True,
)
child_thread.subscribers.add(user)
child_thread.subscribers.add(teacher)
child_thread.parent.add(Thread.objects.get(key="""user_%s""" % user.id))
child_thread.parent.add(Thread.objects.get(key="""user_%s""" % teacher.id))
child_child_thread, is_create = Thread.objects.get_or_create(
key="""user_%s__vertex_%s""" % (user.id, vertex.id,), key="""user_%s__vertex_%s""" % (user.id, vertex.id,),
text="""Домашняя работа по курсу %s и теме %s для студента %s""" % text="""Домашняя работа по курсу %s и теме %s для студента %s""" %
(vertex.course.title, vertex.vertex_set.all()[0].title, user.get_full_name()), (vertex.course.title, vertex.vertex_set.all()[0].title, user.get_full_name()),
) )
if is_create: if is_create:
child_child_thread.parent.add(thread) child_thread.parent.add(thread)
child_child_thread.parent.add(Thread.objects.get(key="""user_%s""" % user.id)) child_thread.parent.add(Thread.objects.get(key="""user_%s""" % user.id))
child_child_thread.parent.add(child_thread) child_thread.parent.add(Thread.objects.get(key="""user_%s""" % teacher.id))
child_child_thread.subscribers.add(user) child_thread.subscribers.add(user)
journal = Journal.objects.create( journal = Journal.objects.create(
thread=child_child_thread, thread=child_thread,
user=owner, user=owner,
content_type=ct, content_type=ct,
object_id=vertex.id, object_id=vertex.id,
@ -66,7 +52,7 @@ if __name__ == '__main__':
journal.save() journal.save()
journal_comment = Journal.objects.create( journal_comment = Journal.objects.create(
thread=child_child_thread, thread=child_thread,
user=owner, user=owner,
content_type=ct, content_type=ct,
object_id=vertex.id, object_id=vertex.id,

@ -67,24 +67,6 @@ def main_threads():
managers.groups.add(Group.objects.get(name='managers')) managers.groups.add(Group.objects.get(name='managers'))
managers.parent.add(lead_managers) managers.parent.add(lead_managers)
st_tch = Thread.objects.create(
key='Student_teacher',
text='Тред студентов и учителей',
is_staff=True,
is_recurse=True,
y=700,
)
st_tch.parent.add(support_thread)
for i in get_user_model().objects.all():
thread = Thread.objects.create(
key="""user_%s""" % i.id,
text="""Приватный тред пользователя %s""" % i.email,
is_recurse=True,
)
thread.subscribers.add(i)
if __name__ == '__main__': if __name__ == '__main__':
main_threads() main_threads()

Loading…
Cancel
Save