Exemple #1
0
    def _parse_vv_xml(self, xmltestfile):
        parse_vv_xml(settings.TESTDATA_PATH + xmltestfile)

        cat_root = self._get_cat_or_fail(name='root', parent=None)
        cat_ov = self._get_cat_or_fail(
            name='Alle Orientierungs- und Einführungsveranstaltungen',
            parent=cat_root)
        cat_fb20 = self._get_cat_or_fail(name='FB20 - Informatik',
                                         parent=cat_root)
        cat_fb20_ov = self._get_cat_or_fail(
            name='Orientierungsveranstaltungen', parent=cat_fb20)
        cat_fb20_g = self._get_cat_or_fail(name='Grundlagenveranstaltungen',
                                           parent=cat_fb20)
        self.assertEqual(ImportCategory.objects.count(), 5)

        self.assertEqual(cat_root.ivs.count(), 0)
        self.assertEqual(cat_ov.ivs.count(), 0)
        self.assertEqual(cat_fb20.ivs.count(), 0)
        self.assertEqual(cat_fb20_ov.ivs.count(), 0)
        self.assertEqual(cat_fb20_g.ivs.count(), 2)

        self._get_veranst_or_fail(typ='vu',
                                  name='Grundlagen der Informatik I',
                                  cat=cat_fb20_g)
        self._get_veranst_or_fail(typ='vu',
                                  name='Grundlagen der Informatik II',
                                  cat=cat_fb20_g)
Exemple #2
0
def import_vv(request):
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        if form.is_valid():
            # TODO: Fehlerbehandlung
            vv_parser.parse_vv_xml(request.FILES['file'])
            return HttpResponseRedirect(reverse('import_vv_edit'))
        else:
            messages.error(request, 'Fehler beim Upload')
    else:
        form = UploadFileForm()
    return render(request, 'intern/import_vv.html', {'form': form})
Exemple #3
0
def import_vv(request):
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        if form.is_valid():
            #TODO: Fehlerbehandlung
            vv_parser.parse_vv_xml(request.FILES['file'])
            return HttpResponseRedirect(reverse('import_vv_edit'))
        else:
            messages.error(request, 'Fehler beim Upload')
    else:
        form = UploadFileForm()
    return render(request, 'intern/import_vv.html', {'form': form})
Exemple #4
0
def import_vv(request):
    """Zuständig für den Import des Vorlesungsverzeichnisses durch eine XML."""
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        if form.is_valid():
            # TODO: Fehlerbehandlung
            vv_parser.parse_vv_xml(request.FILES['file'])
            return HttpResponseRedirect(reverse('import_vv_edit'))
        else:
            messages.error(request, 'Fehler beim Upload')
    else:
        form = UploadFileForm()
    return render(request, 'intern/import_vv.html', {'form': form})
Exemple #5
0
    def _parse_vv_xml(self, xmltestfile):
        parse_vv_xml(settings.TESTDATA_PATH + xmltestfile)

        cat_root = self._get_cat_or_fail(name='root', parent=None)
        cat_ov = self._get_cat_or_fail(name='Alle Orientierungs- und Einführungsveranstaltungen',
                                       parent=cat_root)
        cat_fb20 = self._get_cat_or_fail(name='FB20 - Informatik', parent=cat_root)
        cat_fb20_ov = self._get_cat_or_fail(name='Orientierungsveranstaltungen', parent=cat_fb20)
        cat_fb20_g = self._get_cat_or_fail(name='Grundlagenveranstaltungen', parent=cat_fb20)
        self.assertEqual(ImportCategory.objects.count(), 5)

        self.assertEqual(cat_root.importveranstaltung_set.count(), 0)
        self.assertEqual(cat_ov.importveranstaltung_set.count(), 0)
        self.assertEqual(cat_fb20.importveranstaltung_set.count(), 0)
        self.assertEqual(cat_fb20_ov.importveranstaltung_set.count(), 0)
        self.assertEqual(cat_fb20_g.importveranstaltung_set.count(), 2)

        self._get_veranst_or_fail(typ='vu', name='Grundlagen der Informatik I', cat=cat_fb20_g)
        self._get_veranst_or_fail(typ='vu', name='Grundlagen der Informatik II', cat=cat_fb20_g)