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.' )
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])
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])
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])
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])
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])
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])
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)
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)
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)
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
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.')