def get_context_data(self, **kwargs): ofahrt = Ofahrt.current() max_members = ofahrt.max_members context = super(MemberlistView, self).get_context_data(**kwargs) context["members_cond"] = Member.objects.filter( money_received=False).filter(queue=True) context["members_queue"] = Member.objects.filter( money_received=False).filter(queue=False) context["members_fin"] = Member.objects.filter(money_received=True) context["width"] = math.ceil( (context["members_fin"].count() / max_members) * 100) context["max_members"] = max_members for index, member in enumerate(context["members_cond"]): context["members_cond"][ index].last_name = member.last_name[:1] + "." for index, member in enumerate(context["members_fin"]): context["members_fin"][ index].last_name = member.last_name[:1] + "." for index, member in enumerate(context["members_queue"]): context["members_queue"][ index].last_name = member.last_name[:1] + "." return context
def clean_birth_date(self): begin_date = Ofahrt.current().begin_date if begin_date.replace( year=begin_date.year - 18) < self.cleaned_data["birth_date"]: raise forms.ValidationError( "Eine Anmeldung ist nur für Teilnehmer*innen möglich, welche zum Zeitpunkt der Ofahrt volljährig sind." ) return self.cleaned_data["birth_date"]
def clean_birth_date(self): begin_date = Ofahrt.current().begin_date if begin_date.replace(year=begin_date.year - 18) < self.cleaned_data["birth_date"]: raise forms.ValidationError( "Eine Anmeldung ist nur für Teilnehmer*innen möglich, welche zum Zeitpunkt der Ofahrt volljährig sind." ) return self.cleaned_data["birth_date"]
def form_valid(self, form): member = form.save(commit=False) member.base = Ofahrt.current() mail = EmailMessage() mail.subject = settings.MAIL_NEW_ORGA_SUBJECT mail.body = settings.MAIL_NEW_ORGA_TEXT % { 'firstname': member.first_name, 'lastname': member.last_name } mail.to = [settings.SERVER_EMAIL] mail.send() return super(SignUpOrgaView, self).form_valid(form)
def get_context_data(self, **kwargs): ofahrt = Ofahrt.current() max_members = ofahrt.max_members queue_size = ofahrt.queue_tolerance members_fin = Member.objects.filter(money_received=True).count() members_queue = Member.objects.filter(money_received=False).filter( queue=True).count() context = super(SignUpView, self).get_context_data(**kwargs) context["member_reg_open"] = ofahrt.member_reg_open context["members_fin"] = members_fin context["queue"] = (members_fin + members_queue) < (max_members + queue_size) return context
def get_context_data(self, **kwargs): ofahrt = Ofahrt.current() max_members = ofahrt.max_members queue_size = ofahrt.queue_tolerance members_fin = Member.objects.filter(money_received=True).count() members_queue = Member.objects.filter(money_received=False).filter( queue=True).count() context = super(SignUpView, self).get_context_data(**kwargs) context["member_reg_open"] = ofahrt.member_reg_open context["members_fin"] = members_fin context["queue"] = (members_fin + members_queue) < ( max_members + queue_size) return context
def form_valid(self, form): member = form.save(commit=False) ofahrt = Ofahrt.current() member.base = ofahrt max_members = ofahrt.max_members queue_size = ofahrt.queue_tolerance members_fin = Member.objects.filter(money_received=True).count() members_queue = Member.objects.filter(money_received=False).filter( queue=True).count() email = EmailMessage() # Einstufung // Fall voll gibt es nicht if (members_fin + members_queue) < (max_members + queue_size): # Gesamtanmeldung noch nicht ausgelastet, Platz in der Queue # Neuanmeldungen fließen direkt in die vorläufige Anmeldeliste member.queue = True member.queue_deadline = datetime.datetime.now( ) + datetime.timedelta(7) email.subject = settings.MAIL_MEMBERSIGNUP_QUEUE_SUBJECT % ( member.base.begin_date.year) email.body = settings.MAIL_MEMBERSIGNUP_QUEUE_TEXT % ( member.first_name, member.base.begin_date.year, settings.BANK_ACCOUNT) else: # vorläufige Anmeldeliste ist voll, Anmeldungen kommen in die Warteschlange member.queue = False email.subject = settings.MAIL_MEMBERSIGNUP_SUBJECT % ( member.base.begin_date.year) email.body = settings.MAIL_MEMBERSIGNUP_TEXT % ( member.first_name, member.base.begin_date.year, settings.BANK_ACCOUNT) email.to = [member.email] email.send() return super(SignUpView, self).form_valid(form)
def form_valid(self, form): form.instance.base = Ofahrt.current() return super(WorkshopProposeView, self).form_valid(form)
def defaultdate(): return datetime.combine(Ofahrt.current().begin_date, time())
def get_context_data(self, **kwargs): ofahrt = Ofahrt.current() context = super(SuccessView, self).get_context_data(**kwargs) context["orga_reg_open"] = ofahrt.orga_reg_open return context
def get_context_data(self, **kwargs): ofahrt = Ofahrt.current() context = super(SignUpOrgaView, self).get_context_data(**kwargs) context["orga_reg_open"] = ofahrt.orga_reg_open context['open_orga_jobs'] = Group.objects.exclude(permissions__codename='group_full').count() return context