From 7c5e7e933243f46caea43c3cda9712ce299e3d1f Mon Sep 17 00:00:00 2001 From: yomguy Date: Fri, 8 Jun 2012 13:52:18 +0200 Subject: [PATCH] reassemble course dict to get dates --- teleforma/templates/teleforma/courses.html | 17 ++--- teleforma/views.py | 85 +++++++++++----------- 2 files changed, 51 insertions(+), 51 deletions(-) diff --git a/teleforma/templates/teleforma/courses.html b/teleforma/templates/teleforma/courses.html index 483cd486..7613076e 100644 --- a/teleforma/templates/teleforma/courses.html +++ b/teleforma/templates/teleforma/courses.html @@ -23,10 +23,10 @@ $(document).ready(function(){
@@ -55,7 +55,7 @@ $(document).ready(function(){ {% block course %}
{% for c in object_list %} - {% for course in c.courses %} + {% with c.course as course %} {% for type in c.types %}
{{ course.title }} - {{ type }}{% if course.description %} - {{ course.description }}{% endif %} @@ -74,10 +74,9 @@ $(document).ready(function(){ {% endblock %}
- {% endfor %} - {% endfor %} - {% endfor %} - + {% endfor %} + {% endwith %} + {% endfor %}
{% endblock course %}
diff --git a/teleforma/views.py b/teleforma/views.py index 2c2ba59e..be6aa305 100755 --- a/teleforma/views.py +++ b/teleforma/views.py @@ -39,63 +39,64 @@ def render(request, template, data = None, mimetype = None): return render_to_response(template, data, context_instance=RequestContext(request), mimetype=mimetype) -def get_course(obj): - course = [] - if obj and obj.code != 'X': - course = Course.objects.filter(id=obj.id) - return course + +def format_courses(courses, course=None, queryset=None, types=None): + if queryset: + for c in queryset: + if c and c.code != 'X': + courses.append({'course': c, 'types': types.all(), 'date': c.date_modified}) + elif course: + courses.append({'course': course, 'types': types.all(), 'date': course.date_modified}) + return courses def get_courses(user): professor = user.professor.all() student = user.student.all() + courses = [] if professor: professor = user.professor.get() - courses = [{'courses': professor.courses.all(), - 'types': CourseType.objects.all()}, - ] + courses = format_courses(courses, queryset=professor.courses.all(), + types=CourseType.objects.all()) + elif student: student = user.student.get() - courses = [{'courses': get_course(student.procedure), - 'types':student.training.procedure.all()}, - {'courses': get_course(student.written_speciality), - 'types':student.training.written_speciality.all()}, - {'courses': get_course(student.oral_speciality), - 'types':student.training.oral_speciality.all()}, - {'courses': get_course(student.oral_1), - 'types':student.training.oral_1.all()}, - {'courses': get_course(student.oral_2), - 'types':student.training.oral_2.all()}, - {'courses': get_course(student.options), - 'types':student.training.options.all()}, - ] - - synthesis_note = student.training.synthesis_note.all() + s_courses = {student.procedure:student.training.procedure, + student.written_speciality:student.training.written_speciality, + student.oral_speciality:student.training.oral_speciality, + student.oral_1:student.training.oral_1, + student.oral_2:student.training.oral_2, + student.options:student.training.options, + } + + for course in s_courses: + courses = format_courses(courses, course=course, + types=s_courses[course]) + + synthesis_note = student.training.synthesis_note if synthesis_note: - c = Course.objects.filter(synthesis_note=True) - t = student.training.synthesis_note.all() - courses.append({'courses': c, 'types': t}) - obligation = student.training.obligation.all() + courses = format_courses(courses, + queryset=Course.objects.filter(synthesis_note=True), + types=synthesis_note) + + obligation = student.training.obligation if obligation: - c = Course.objects.filter(obligation=True) - t = student.training.obligation.all() - courses.append({'courses': c, 'types': t}) - magistral = student.training.magistral.all() + courses = format_courses(courses, + queryset=Course.objects.filter(obligation=True), + types=obligation) + + magistral = student.training.magistral if magistral: - c = Course.objects.filter(magistral=True) - t = student.training.magistral.all() - courses.append({'courses': c, 'types': t}) + courses = format_courses(courses, + queryset=Course.objects.filter(magistral=True), + types=magistral) elif user.is_staff: - courses = [{'courses': Course.objects.all(), - 'types': CourseType.objects.all()}, - ] - course_menu = [{'courses': courses[0]['courses'].order_by('number'), - 'types': courses[0]['types']}, - ] - + courses = format_courses(courses, queryset=Course.objects.all(), + types=CourseType.objects) else: courses = None + return courses @@ -116,7 +117,7 @@ def document_download(request, pk): extension = mimetypes.guess_extension(mimetype) response = HttpResponse(fsock, mimetype=mimetype) response['Content-Disposition'] = "attachment; filename=%s%s" % \ - (unicode(document.title.decode('utf8')), extension) + (document.title.encode('utf8'), extension) return response def document_view(request, pk): -- 2.39.5