Example #1
0
def test_file_upload(rf, user):
    from django.conf import settings
    from course_material.views import FileUploadView
    from course_material.models import CourseMaterial
    import os

    file_name = settings.MEDIA_ROOT + '/dbsql/dummy_file.txt'
    if os.path.exists(file_name):
        os.remove(file_name)

    course = mommy.make('Course', name='Test Course', slug='dbsql')
    # course_material = mommy.make('CourseMaterial', course=course, text='foobar**bold**')
    course_material = CourseMaterial.objects.get(course=course)

    with open('course_material/tests/dummy_file.txt') as fp:
        request = rf.post('/course_material/file_upload/dbsql', {'file': fp, 'course_material': course_material.id})
        request.user = user
        view = FileUploadView(request=request)
        view.kwargs = {'slug': 'dbsql'}
        response = view.post(request)

    assert response.status_code == 200
    assert os.path.exists(file_name)
    assert course_material.files.all()[0].file.name == 'dbsql/dummy_file.txt'
    if os.path.exists(file_name):
        os.remove(file_name)
Example #2
0
def test_file_upload(rf, user):
    from django.conf import settings
    from course_material.views import FileUploadView
    from course_material.models import CourseMaterial
    import os

    file_name = settings.MEDIA_ROOT + '/dbsql/dummy_file.txt'
    if os.path.exists(file_name):
        os.remove(file_name)

    course = mommy.make('Course', name='Test Course', slug='dbsql')
    # course_material = mommy.make('CourseMaterial', course=course, text='foobar**bold**')
    course_material = CourseMaterial.objects.get(course=course)

    with open('course_material/tests/dummy_file.txt') as fp:
        request = rf.post('/course_material/file_upload/dbsql', {
            'file': fp,
            'course_material': course_material.id
        })
        request.user = user
        view = FileUploadView(request=request)
        view.kwargs = {'slug': 'dbsql'}
        response = view.post(request)

    assert response.status_code == 200
    assert os.path.exists(file_name)
    assert course_material.files.all()[0].file.name == 'dbsql/dummy_file.txt'
    if os.path.exists(file_name):
        os.remove(file_name)
Example #3
0
def test_file_upload(rf, user):
    from course_material.views import FileUploadView
    import os

    file_name = 'media/dbsql/dummy_file.txt'
    if os.path.exists(file_name):
        os.remove(file_name)

    course = mommy.make('Course', name='Test Course', slug='dbsql')
    course_material = mommy.make('CourseMaterial',
                                 course=course,
                                 text='foobar**bold**')

    with open('course_material/tests/dummy_file.txt') as fp:
        request = rf.post('/course_material/file_upload/dbsql', {'file': fp})
        request.user = user
        view = FileUploadView(request=request)
        view.kwargs = {'slug': 'dbsql'}
        response = view.post(request)

    assert response.status_code == 200
    assert os.path.exists(file_name)
    assert course_material.files.all()[0].file.name == 'dbsql/dummy_file.txt'
    if os.path.exists(file_name):
        os.remove(file_name)
Example #4
0
def test_file_upload(rf, user):
    from course_material.views import FileUploadView
    import os

    file_name = 'media/dbsql/dummy_file.txt'
    if os.path.exists(file_name):
        os.remove(file_name)

    course = mommy.make('Course', name='Test Course', slug='dbsql')
    course_material = mommy.make('CourseMaterial', course=course, text='foobar**bold**')

    with open('course_material/tests/dummy_file.txt') as fp:
        request = rf.post('/course_material/file_upload/dbsql', {'file': fp})
        request.user = user
        view = FileUploadView(request=request)
        view.kwargs = {'slug': 'dbsql'}
        response = view.post(request)

    assert response.status_code == 200
    assert os.path.exists(file_name)
    assert course_material.files.all()[0].file.name == 'dbsql/dummy_file.txt'
    if os.path.exists(file_name):
        os.remove(file_name)
Example #5
0
    # Services
    url(r'^api/', include(router.urls)),
    # Forum
    url(r'^forum/(?P<course_slug>[-a-zA-Z0-9_]+)/$',
        CourseForumView.as_view(),
        name='forum'),
    url(r'^forum/question/(?P<slug>[-a-zA-Z0-9_]+)/$',
        QuestionView.as_view(),
        name='forum_question'),
    url(r'^forum/question/add/(?P<course_slug>[-a-zA-Z0-9_]+)/$',
        QuestionCreateView.as_view(),
        name='forum_question_create'),

    # Course Material
    url(r'^course/(?P<slug>[-a-zA-Z0-9_]+)/material/file_upload/$',
        FileUploadView.as_view(),
        name='file_upload'),
    url(r'^course/(?P<slug>[-a-zA-Z0-9_]+)/material/$',
        CourseMaterialView.as_view(),
        name='course_material'),

    # Notes
    url(r'^notes/(?P<username>[\w.+-]+)?$',
        UserNotesView.as_view(),
        name='user_notes'),
    url(r'^course/(?P<course_slug>[-a-zA-Z0-9_]+)/mynotes/$',
        CourseNotesView.as_view(),
        name='user_course_notes'),

    # Messages
    url(r'^course/(?P<course_slug>[-a-zA-Z0-9_]+)/messages/$',
Example #6
0
    url(r'^class/create/$', ClassCreateView.as_view(), name='class-create'),
    url(r'^class/(?P<pk>[0-9]+)/$', ClassUpdateView.as_view(), name='class'),
    url(r'^class/(?P<pk>[0-9]+)/delete/$', ClassDeleteView.as_view(), name='class-delete'),
    url(r'^class/(?P<pk>[0-9]+)/remove_user/$', ClassRemoveUserView.as_view(), name='class-remove-user'),
    url(r'^class/(?P<pk>[0-9]+)/add_users/$', ClassAddUsersView.as_view(), name='class-add-users'),


    # Services
    url(r'^api/', include(router.urls)),
    # Forum
    url(r'^forum/(?P<course_slug>[-a-zA-Z0-9_]+)/$', CourseForumView.as_view(), name='forum'),
    url(r'^forum/question/(?P<slug>[-a-zA-Z0-9_]+)/$', QuestionView.as_view(), name='forum_question'),
    url(r'^forum/question/add/(?P<course_slug>[-a-zA-Z0-9_]+)/$', QuestionCreateView.as_view(), name='forum_question_create'),

    # Course Material
    url(r'^course/(?P<slug>[-a-zA-Z0-9_]+)/material/file_upload/$', FileUploadView.as_view(), name='file_upload'),
    url(r'^course/(?P<slug>[-a-zA-Z0-9_]+)/material/$', CourseMaterialView.as_view(), name='course_material'),

    # Notes
    url(r'^notes/(?P<username>[\w.+-]+)?$', UserNotesView.as_view(), name='user_notes'),
    url(r'^course/(?P<course_slug>[-a-zA-Z0-9_]+)/mynotes/$', CourseNotesView.as_view(), name='user_course_notes'),

    # Messages
    url(r'^course/(?P<course_slug>[-a-zA-Z0-9_]+)/messages/$', GenericCourseView.as_view(template_name="messages.html"), name='messages'),
    url(r'^course/(?P<course_slug>[-a-zA-Z0-9_]+)/message/(?P<message_id>[1-9][0-9]*)$', GenericCourseView.as_view(template_name="message.html"), name='message_detail'),

    # Reports
    url(r'^course/(?P<course_slug>[-a-zA-Z0-9_]+)/reports/$', GenericCourseView.as_view(template_name="administration/stats.html"), name='reports'),

    # Authentication
    url(r'^logout/', 'django.contrib.auth.views.logout', {'next_page': '/'}, name='timtec_logout'),
Example #7
0
    url(r'^class/(?P<pk>[0-9]+)/delete/?$', ClassDeleteView.as_view(), name='class-delete'),
    url(r'^class/(?P<pk>[0-9]+)/remove_user/?$', ClassRemoveUserView.as_view(), name='class-remove-user'),
    url(r'^class/(?P<pk>[0-9]+)/evaluations/?$', ClassEvaluationsView.as_view(), name='class-evaluations'),

    # Evaluations
    url(r'^course/(?P<course_slug>[-a-zA-Z0-9_]+)/course_evaluations/?$', GenericCourseView.as_view(template_name="course-evaluations.html"), name='course-evaluations'),

    # Services
    url(r'^api/', include(router.urls)),
    # Forum
    url(r'^forum/(?P<course_slug>[-a-zA-Z0-9_]+)/?$', CourseForumView.as_view(), name='forum'),
    url(r'^forum/question/(?P<slug>[-a-zA-Z0-9_]+)/?$', QuestionView.as_view(), name='forum_question'),
    url(r'^forum/question/add/(?P<course_slug>[-a-zA-Z0-9_]+)/?$', QuestionCreateView.as_view(), name='forum_question_create'),

    # Course Material
    url(r'^course/(?P<slug>[-a-zA-Z0-9_]+)/material/file_upload/?$', FileUploadView.as_view(), name='file_upload'),
    url(r'^course/(?P<slug>[-a-zA-Z0-9_]+)/material/?$', CourseMaterialView.as_view(), name='course_material'),

    # Notes
    url(r'^notes/(?P<username>[\w.+-]+)?$', UserNotesView.as_view(), name='user_notes'),
    url(r'^course/(?P<course_slug>[-a-zA-Z0-9_]+)/mynotes/?$', CourseNotesView.as_view(), name='user_course_notes'),

    # Messages
    url(r'^course/(?P<course_slug>[-a-zA-Z0-9_]+)/messages/?$', GenericCourseView.as_view(template_name="messages.html"), name='messages'),
    url(r'^course/(?P<course_slug>[-a-zA-Z0-9_]+)/message/(?P<message_id>[1-9][0-9]*)$', GenericCourseView.as_view(template_name="message.html"), name='message_detail'),

    # Reports
    url(r'^course/(?P<course_slug>[-a-zA-Z0-9_]+)/reports/?$', GenericCourseView.as_view(template_name="administration/stats.html"), name='reports'),

    # Authentication
    url(r'^accounts/login/', CustomLoginView.as_view(), name='account_login'),