Beispiel #1
0
 def test_no_past(self):
     """Die Veranstaltung wird das erste mal gehalten"""
     result = past_semester_orders(self.singleLV)
     self.assertEqual(len(result), 0)
     self.assertEqual(
         past_semester_orders(self.singleLV), [],
         'Die Liste sollte leer sein. Die Veranstaltung wird das erste mal angeboten.'
     )
Beispiel #2
0
    def test_one_befor(self):
        """Die Veranstaltung wurde schonmal gehalten, es wurde bestellt und auch Ergebnisse geliefert"""
        result = past_semester_orders(self.lv[1])
        self.assertEqual(len(result), 1)

        expeted_dict = {'veranstaltung': self.lv[0], 'anzahl_bestellung': 10, 'anzahl_ruecklauf': 5}

        self.assertDictEqual(expeted_dict, result[0])
Beispiel #3
0
    def test_one_befor(self):
        """Die Veranstaltung wurde schonmal gehalten, es wurde bestellt und auch Ergebnisse geliefert"""
        result = past_semester_orders(self.lv[1])
        self.assertEqual(len(result), 1)

        expetedDict = {'veranstaltung': self.lv[0], 'anzahl_bestellung': 10, 'anzahl_ruecklauf': 5}

        self.assertDictEqual(expetedDict, result[0])
Beispiel #4
0
    def test_one_befor_current_ordert(self):
        """Für die aktuelle Veranstaltung wurde eine Bestellung aufgegeben. In der Vergangenheit gab es die Veranstaltung einmal."""
        self.lv[1].anzahl=42
        self.lv[1].save()

        result = past_semester_orders(self.lv[1])
        self.assertEqual(len(result), 1)

        expetedDict = {'veranstaltung': self.lv[0], 'anzahl_bestellung': 10, 'anzahl_ruecklauf': 5}

        self.assertDictEqual(expetedDict, result[0])
Beispiel #5
0
    def test_no_result_exist(self):
        """Die Veranstaltung wurde gehalten, es wurde bestellt jedoch gibt es keine Ergebnisse"""
        self.lv[2].anzahl = 10
        self.lv[2].save()

        result = past_semester_orders(self.lv[3])

        self.assertEqual(len(result), 1)

        expeted_dict = {'veranstaltung': self.lv[2], 'anzahl_bestellung': 10, 'anzahl_ruecklauf': 0}

        self.assertDictEqual(expeted_dict, result[0])
Beispiel #6
0
    def test_one_befor_current_ordert(self):
        """Für die aktuelle Veranstaltung wurde eine Bestellung aufgegeben.
        In der Vergangenheit gab es die Veranstaltung einmal."""
        self.lv[1].anzahl = 42
        self.lv[1].save()

        result = past_semester_orders(self.lv[1])
        self.assertEqual(len(result), 1)

        expeted_dict = {'veranstaltung': self.lv[0], 'anzahl_bestellung': 10, 'anzahl_ruecklauf': 5}

        self.assertDictEqual(expeted_dict, result[0])
Beispiel #7
0
    def test_no_result_exist(self):
        """Die Veranstaltung wurde gehalten, es wurde bestellt jedoch gibt es keine Ergebnisse"""
        self.lv[2].anzahl=10
        self.lv[2].save()

        result = past_semester_orders(self.lv[3])

        self.assertEqual(len(result), 1)

        expetedDict = {'veranstaltung': self.lv[2], 'anzahl_bestellung': 10, 'anzahl_ruecklauf': 0}

        self.assertDictEqual(expetedDict, result[0])
Beispiel #8
0
def index(request):
    if request.user.username != settings.USERNAME_VERANSTALTER:
        return render(request, 'veranstalter/not_authenticated.html')

    data = {}
    veranst = Veranstaltung.objects.get(id=request.session['vid'])

    # TODO: statt Betrachtung der Sichtbarkeit automatisch aktuelles Semester (-> Kalender) annehmen
    if veranst.semester.sichtbarkeit == 'ADM' and Einstellung.get(
            'bestellung_erlaubt') == '1':
        if request.method == 'POST':
            order_form = BestellungModelForm(request.POST, instance=veranst)
            if order_form.is_valid():
                order_form.save()
                return redirect('VerantwortlicherUpdate')
        else:
            order_form = BestellungModelForm(instance=veranst)
        data['order_form'] = order_form
        data['paper_dict'] = past_semester_orders(veranst)

    if veranst.semester.sichtbarkeit != 'ADM':
        try:
            kommentar = Kommentar.objects.get(veranstaltung=veranst)
        except Kommentar.DoesNotExist:
            kommentar = None

        if request.method == 'POST':
            comment_form = KommentarModelForm(request.POST,
                                              instance=kommentar,
                                              veranstaltung=veranst)
            if comment_form.is_valid():
                # TODO: löschen ermöglichen
                kommentar = comment_form.save(commit=False)
                kommentar.veranstaltung = veranst
                kommentar.save()
                messages.success(request,
                                 'Ihre Änderungen wurden gespeichert.')
        else:
            comment_form = KommentarModelForm(instance=kommentar,
                                              veranstaltung=veranst)
        data['comment_form'] = comment_form

    data['veranstaltung'] = veranst
    return render(request, 'veranstalter/index.html', data)
Beispiel #9
0
def index(request):
    if request.user.username != settings.USERNAME_VERANSTALTER:
        return render(request, 'veranstalter/not_authenticated.html')

    data = {}
    veranst = Veranstaltung.objects.get(id=request.session['vid'])

    #TODO: statt Betrachtung der Sichtbarkeit automatisch aktuelles Semester (-> Kalender) annehmen
    if veranst.semester.sichtbarkeit == 'ADM' and Einstellung.get('bestellung_erlaubt') == '1':
        if request.method == 'POST':
            order_form = BestellungModelForm(request.POST, instance=veranst)
            if order_form.is_valid():
                order_form.save()
                return redirect('VerantwortlicherUpdate')
        else:
            order_form = BestellungModelForm(instance=veranst)
        data['order_form'] = order_form
        data['paper_dict'] = past_semester_orders(veranst)

    if veranst.semester.sichtbarkeit != 'ADM':
        try:
            kommentar = Kommentar.objects.get(veranstaltung=veranst)
        except Kommentar.DoesNotExist:
            kommentar = None

        if request.method == 'POST':
            comment_form = KommentarModelForm(request.POST, instance=kommentar, veranstaltung=veranst)
            if comment_form.is_valid():
                #TODO: löschen ermöglichen
                kommentar = comment_form.save(commit=False)
                kommentar.veranstaltung = veranst
                kommentar.save()
                messages.success(request, 'Ihre Änderungen wurden gespeichert.')
        else:
            comment_form = KommentarModelForm(instance=kommentar, veranstaltung=veranst)
        data['comment_form'] = comment_form

    data['veranstaltung'] = veranst
    return render(request, 'veranstalter/index.html', data)
Beispiel #10
0
 def test_not_exist(self):
     """Die Veranstaltung wurde schon einmal gehalten, es wurde jedoch nichts bestellt"""
     result = past_semester_orders(self.lv[3])
     self.assertEqual(len(result), 0)
Beispiel #11
0
    def get_context_data(self, form, **kwargs):
        context = super(VeranstalterWizard, self).get_context_data(form=form,
                                                                   **kwargs)
        context.update({'veranstaltung': self.get_instance()})

        progressbar = []
        step_active = True
        for step_key in self.form_list:
            progressbar.append({
                'step_value':
                VERANSTALTER_WIZARD_STEPS[step_key],
                'step_active':
                step_active,
                'step_key':
                step_key if step_key in self.steps.all else None
            })
            if step_active:
                if step_key == self.steps.current:
                    step_active = False
        context.update({'progressbar': progressbar})

        if self.steps.current == "basisdaten":
            past_sem_data = past_semester_orders(self.get_instance())
            context.update({'past_semester_data': past_sem_data})
        if self.steps.current == "verantwortlicher_address":
            context.update({'basisdaten': self.get_cleaned_basisdaten()})

        elif self.steps.current == "zusammenfassung":
            all_form_data = []
            for step_form in self.form_list:
                form_obj = self.get_form(
                    step=step_form,
                    data=self.storage.get_step_data(step_form),
                    files=self.storage.get_step_files(step_form),
                )

                if form_obj.is_valid():
                    for field_key, field_obj in list(form_obj.fields.items()):
                        cleaned_d = form_obj.cleaned_data[field_key]
                        field_value = ""

                        if isinstance(field_obj,
                                      forms.fields.TypedChoiceField):
                            for key, choice in field_obj.choices:
                                if key == cleaned_d:
                                    field_value = choice
                                    break
                        else:
                            field_value = form_obj.cleaned_data[field_key]

                        field_label = field_obj.label

                        if field_label is None:
                            field_label = field_key

                        if isinstance(form_obj, VeranstaltungTutorenForm
                                      ) and field_key == "csv_tutoren":
                            context.update({"tutoren_csv": field_value})
                        else:
                            all_form_data.append({
                                'label': field_label,
                                'value': field_value
                            })

            swap(all_form_data, 5, 6)
            swap(all_form_data, 6, 7)
            context.update({'all_form_data': all_form_data})
        return context
Beispiel #12
0
 def test_not_exist(self):
     """Die Veranstaltung wurde schon einmal gehalten, es wurde jedoch nichts bestellt"""
     result = past_semester_orders(self.lv[3])
     self.assertEqual(len(result), 0)
Beispiel #13
0
 def test_no_past(self):
     """Die Veranstaltung wird das erste mal gehalten"""
     result = past_semester_orders(self.singleLV)
     self.assertEqual(len(result), 0)
     self.assertEqual(past_semester_orders(self.singleLV), [], 'Die Liste sollte leer sein. Die Veranstaltung wird das erste mal angeboten.')