def get_context_data(self, **kwargs): """ called by the template system to get the context data for the template """ context = super().get_context_data(**kwargs) context['url_stap_2'] = reverse('Functie:otp-koppelen-stap2') context['url_controleer'] = reverse('Functie:otp-koppelen-stap3') context['form'] = OTPControleForm() context['now'] = timezone.now() menu_dynamics(self.request, context, actief="wissel-van-rol") return context
def get(self, request, *args, **kwargs): """ deze functie wordt aangeroepen om de GET request af te handelen """ context = dict() try: wedstrijd_pk = int(str( kwargs['wedstrijd_pk'])[:6]) # afkappen voor de veiligheid wedstrijd = (KalenderWedstrijd.objects.get(pk=wedstrijd_pk)) except KalenderWedstrijd.DoesNotExist: raise Http404('Wedstrijd niet gevonden') if self.rol_nu == Rollen.ROL_HWL and wedstrijd.organiserende_vereniging != self.functie_nu.nhb_ver: raise PermissionDenied('Wedstrijd niet van jouw vereniging') context['wedstrijd'] = wedstrijd try: sessie_pk = int(str( kwargs['sessie_pk'])[:6]) # afkappen voor de veiligheid sessie = (KalenderWedstrijdSessie.objects.get(pk=sessie_pk)) except KalenderWedstrijdSessie.DoesNotExist: raise Http404('Sessie niet gevonden') context['sessie'] = sessie if wedstrijd.sessies.filter(pk=sessie.pk).count() != 1: raise Http404('Sessie hoort niet bij wedstrijd') context['opt_datums'] = self._maak_opt_datums(wedstrijd, sessie) sessie.tijd_begin_str = sessie.tijd_begin.strftime('%H:%M') context['opt_duur'] = self._maak_opt_duur(sessie) context['opt_klassen_m'], context[ 'opt_klassen_v'] = self._maak_opt_klassen(wedstrijd, sessie) context['url_terug'] = reverse('Kalender:wijzig-sessies', kwargs={'wedstrijd_pk': wedstrijd.pk}) context['url_opslaan'] = reverse('Kalender:wijzig-sessie', kwargs={ 'wedstrijd_pk': wedstrijd.pk, 'sessie_pk': sessie.pk }) if wedstrijd.status == WEDSTRIJD_STATUS_GEANNULEERD: context['niet_verwijderbaar'] = True else: context['url_verwijder'] = context['url_opslaan'] menu_dynamics(self.request, context, actief='kalender') return render(request, self.template_name, context)
def get_context_data(self, **kwargs): """ called by the template system to get the context data for the template """ context = super().get_context_data(**kwargs) sec_count = dict() hwl_count = dict() alle_ver = list() sec_email = dict() # [ver_nr] = email for func in (Functie.objects.select_related('nhb_ver').filter( rol__in=('SEC', 'HWL')).exclude( nhb_ver__geen_wedstrijden=True).annotate( aantal_accounts=Count('accounts')).order_by( 'nhb_ver__ver_nr')): ver = func.nhb_ver ver_nr = ver.ver_nr if func.rol == 'SEC': sec_count[ver_nr] = func.aantal_accounts if func.bevestigde_email: sec_email[ver_nr] = func.bevestigde_email else: hwl_count[ver_nr] = func.aantal_accounts if ver not in alle_ver: alle_ver.append(ver) # for context['geen_sec'] = geen_sec = list() context['geen_beheerders'] = geen_beheerders = list() for ver in alle_ver: ver_nr = ver.ver_nr try: ver.functie_sec_email = sec_email[ver_nr] except KeyError: ver.functie_sec_email = '??' count = sec_count[ver_nr] if count == 0: geen_sec.append(ver) ver.nr_geen_sec = len(geen_sec) count += hwl_count[ver_nr] if count == 0: geen_beheerders.append(ver) ver.nr_geen_beheerders = len(geen_beheerders) # for menu_dynamics(self.request, context, actief='vereniging') return context
def get_context_data(self, **kwargs): """ called by the template system to get the context data for the template """ context = super().get_context_data(**kwargs) huidige_jaar = timezone.now().year context['comp_1'] = self._comp_info(huidige_jaar - 1) context['comp_2'] = self._comp_info(huidige_jaar) context[ 'persoonlijke_leeftijdsklassen'] = self.request.user.is_authenticated menu_dynamics(self.request, context, actief='competitie') return context
def get_context_data(self, **kwargs): """ called by the template system to get the context data for the template """ context = super().get_context_data(**kwargs) # haal de deelnemer op try: deelnemer_pk = int( kwargs['deelnemer_pk'][:6]) # afkappen voor de veiligheid deelnemer = (RegioCompetitieSchutterBoog.objects.select_related( 'sporterboog', 'sporterboog__sporter', 'sporterboog__boogtype', 'bij_vereniging', 'deelcompetitie__competitie').get(pk=deelnemer_pk)) except (ValueError, RegioCompetitieSchutterBoog.DoesNotExist): raise Http404('Sporter niet gevonden') context['deelnemer'] = deelnemer # controleer dat deze deelnemer bekeken en gewijzigd mag worden self._mag_wijzigen_of_404(deelnemer) deelnemer.naam_str = deelnemer.sporterboog.sporter.volledige_naam() deelnemer.boog_str = deelnemer.sporterboog.boogtype.beschrijving ag_str = '%.3f' % deelnemer.ag_voor_team deelnemer.ag_str = ag_str.replace('.', ',') ag_hist = (ScoreHist.objects.filter( score__sporterboog=deelnemer.sporterboog, score__afstand_meter=deelnemer.deelcompetitie.competitie.afstand, score__type=SCORE_TYPE_TEAM_AG).order_by('-when')) for obj in ag_hist: obj.oude_waarde /= 1000 obj.nieuwe_waarde /= 1000 obj.oude_waarde_str = "%.3f" % obj.oude_waarde obj.nieuwe_waarde_str = "%.3f" % obj.nieuwe_waarde # for context['ag_hist'] = ag_hist comp = deelnemer.deelcompetitie.competitie comp.bepaal_fase() if comp.fase < 'E': context['url_opslaan'] = reverse( 'CompRegio:wijzig-ag', kwargs={'deelnemer_pk': deelnemer.pk}) if self.rol_nu == Rollen.ROL_HWL: menu_dynamics(self.request, context, actief='vereniging') else: menu_dynamics_competitie(self.request, context, comp_pk=comp.pk) return context
def get(self, request, *args, **kwargs): """ called by the template system to get the context data for the template """ # print("resolver_match: %s" % repr(request.resolver_match)) context = {} if request.resolver_match.url_name == 'begin': page = settings.HANDLEIDING_TOP else: page = request.resolver_match.url_name template = 'handleiding/%s.dtl' % page menu_dynamics(self.request, context) return render(request, template, context)
def get_context_data(self, **kwargs): """ called by the template system to get the context data for the template """ context = super().get_context_data(**kwargs) # zoek de deelcompetitie waar de regio teams voor in kunnen stellen context['deelcomp_rk'] = deelcomp_rk = self._get_deelcomp_rk( kwargs['rk_deelcomp_pk']) ver = self.functie_nu.nhb_ver teamtype_default = None teams = TeamType.objects.order_by('volgorde') for obj in teams: obj.choice_name = obj.afkorting if obj.afkorting == 'R': teamtype_default = obj # for context['opt_team_type'] = teams try: rk_team_pk = int( kwargs['rk_team_pk'][:6]) # afkappen voor de veiligheid rk_team = (KampioenschapTeam.objects.get( pk=rk_team_pk, deelcompetitie=deelcomp_rk, vereniging=ver)) except (ValueError, KampioenschapTeam.DoesNotExist): raise Http404('Team niet gevonden of niet van jouw vereniging') except KeyError: # dit is een nieuw rk_team rk_team = KampioenschapTeam(pk=0, vereniging=self.functie_nu.nhb_ver, team_type=teamtype_default) context['rk_team'] = rk_team for obj in teams: obj.actief = rk_team.team_type == obj # for context['url_opslaan'] = reverse('CompRayon:teams-rk-wijzig', kwargs={ 'rk_deelcomp_pk': deelcomp_rk.pk, 'rk_team_pk': rk_team.pk }) if rk_team.pk > 0: context['url_verwijderen'] = context['url_opslaan'] menu_dynamics(self.request, context, actief='vereniging') return context
def get_context_data(self, **kwargs): """ called by the template system to get the context data for the template """ context = super().get_context_data(**kwargs) try: wedstrijd_pk = str( kwargs['wedstrijd_pk'])[:6] # afkappen voor de veiligheid wedstrijd = KalenderWedstrijd.objects.get(pk=wedstrijd_pk) except KalenderWedstrijd.DoesNotExist: raise Http404('Wedstrijd niet gevonden') context['wedstrijd'] = wedstrijd menu_dynamics(self.request, context, 'kalender') return context
def get_context_data(self, **kwargs): """ called by the template system to get the context data for the template """ context = super().get_context_data(**kwargs) count_niet_afgehandeld = SiteFeedback.objects.filter( is_afgehandeld=False).count() context[ 'count_aanwezig'] = count_aanwezig = SiteFeedback.objects.count() context['count_afgehandeld'] = count_aanwezig - count_niet_afgehandeld if self.request.user.is_staff: context['url_admin_site'] = reverse( 'admin:Overig_sitefeedback_changelist') menu_dynamics(self.request, context) return context
def _render_form(self, form, functie): context = dict() context['functie'] = functie if self.rol_nu in (Rollen.ROL_SEC, Rollen.ROL_HWL, Rollen.ROL_WL): context['terug_url'] = reverse('Functie:overzicht-vereniging') menu_dynamics(self.request, context, actief='vereniging') else: context['terug_url'] = reverse('Functie:overzicht') menu_dynamics(self.request, context, actief='competitie') context['form'] = form context['form_submit_url'] = reverse('Functie:wijzig-email', kwargs={'functie_pk': functie.pk}) return render(self.request, TEMPLATE_WIJZIG_EMAIL, context)
def get_context_data(self, **kwargs): """ called by the template system to get the context data for the template """ context = super().get_context_data(**kwargs) try: context['moet_oude_ww_weten'] = self.request.session[ 'moet_oude_ww_weten'] except KeyError: context['moet_oude_ww_weten'] = True account = self.request.user if account.sporter_set.count( ) > 0: # FUTURE: ongewenste kennis over op Sporter.account menu_dynamics(self.request, context, actief="sporter-profiel") else: menu_dynamics(self.request, context) return context
def get_context_data(self, **kwargs): """ called by the template system to get the context data for the template """ context = super().get_context_data(**kwargs) context['filter'] = self.filter if context['is_paginated']: context['page_links'] = self._make_link_urls(context) context['active'] = str(context['page_obj'].number) # extra informatie vaststellen, maar alleen voor de actieve pagina for obj in context['object_list']: obj.door = obj.bepaal_door() # for context['url_rest'] = reverse('Logboek:rest') context['url_rollen'] = reverse('Logboek:rollen') context['url_uitrol'] = reverse('Logboek:uitrol') context['url_records'] = reverse('Logboek:records') context['url_accounts'] = reverse('Logboek:accounts') context['url_clusters'] = reverse('Logboek:clusters') context['url_competitie'] = reverse('Logboek:competitie') context['url_nhbstructuur'] = reverse('Logboek:nhbstructuur') context['url_accommodaties'] = reverse('Logboek:accommodaties') context['filter_url'] = self.base_url # extra knop tonen om zoekterm te wissen zoekterm = self.request.GET.get('zoekterm', '') if zoekterm: context['zoekterm'] = zoekterm context['unfiltered_url'] = reverse('Logboek:%s' % self.filter) zoekterm = "?zoekterm=%s" % quote_plus(zoekterm) context['url_rest'] += zoekterm context['url_rollen'] += zoekterm context['url_uitrol'] += zoekterm context['url_records'] += zoekterm context['url_accounts'] += zoekterm context['url_clusters'] += zoekterm context['url_competitie'] += zoekterm context['url_nhbstructuur'] += zoekterm context['url_accommodaties'] += zoekterm menu_dynamics(self.request, context, actief='hetplein') return context
def get(self, request, *args, **kwargs): """ deze functie wordt aangeroepen als een GET request ontvangen is """ if not request.user.is_authenticated: # gebruiker is niet ingelogd, dus zou hier niet moeten komen return HttpResponseRedirect(reverse('Plein:plein')) account = request.user needs_vhpg, _ = account_needs_vhpg(account) if not needs_vhpg: # gebruiker heeft geen VHPG nodig return HttpResponseRedirect(reverse('Plein:plein')) form = AccepteerVHPGForm() context = {'form': form} menu_dynamics(request, context, actief="wissel-van-rol") return render(request, TEMPLATE_VHPG_ACCEPTATIE, context)
def get(self, request, *args, **kwargs): """ deze functie wordt aangeroepen als een GET request ontvangen is """ # informatie doorgifte van de registratie view naar deze view # gaat via server-side session-variabelen try: login_naam = request.session['login_naam'] partial_email = request.session['partial_email'] except KeyError: # url moet direct gebruikt zijn raise PermissionDenied() # geef de data door aan de template context = {'login_naam': login_naam, 'partial_email': partial_email} menu_dynamics(request, context) return render(request, TEMPLATE_AANGEMAAKT, context)
def get_context_data(self, **kwargs): """ called by the template system to get the context data for the template """ context = super().get_context_data(**kwargs) account = self.request.user sporter = (account.sporter_set.select_related( 'bij_vereniging', 'bij_vereniging__regio', 'bij_vereniging__regio__rayon').all())[0] voorkeuren, _ = SporterVoorkeuren.objects.get_or_create( sporter=sporter) alle_bogen = BoogType.objects.all() context['sporter'] = sporter context['records'], context['show_loc'] = self._find_records(sporter) context['histcomp'] = self._find_histcomp_scores(sporter, alle_bogen) context['url_bondspas'] = reverse('Bondspas:toon-bondspas') context['toon_bondscompetities'] = False if sporter.bij_vereniging and not sporter.bij_vereniging.geen_wedstrijden: context['toon_bondscompetities'] = True context['competities'] = comps = self._find_competities(voorkeuren) regiocomps, moet_bogen_kiezen, gebruik_knoppen = self._find_regiocompetities( comps, sporter, voorkeuren, alle_bogen) context['regiocompetities'] = regiocomps context['moet_bogen_kiezen'] = moet_bogen_kiezen context['gebruik_knoppen'] = gebruik_knoppen context['regiocomp_scores'] = self._find_scores(sporter) context['gemiddelden'], context[ 'heeft_ags'] = self._find_gemiddelden(sporter, alle_bogen) if not voorkeuren.voorkeur_meedoen_competitie: if regiocomps is None: # niet ingeschreven en geen interesse context['toon_bondscompetities'] = False context['speelsterktes'] = self._find_speelsterktes(sporter) self._get_contact_gegevens(sporter, context) menu_dynamics(self.request, context, actief='sporter-profiel') return context
def get_context_data(self, **kwargs): """ called by the template system to get the context data for the template """ context = super().get_context_data(**kwargs) context['show_vhpg'], context['vhpg'] = account_needs_vhpg( self.request.user) context['huidige_rol'] = rol_get_beschrijving(self.request) if self.account.is_staff: context['url_admin_site'] = reverse('admin:index') context['url_login_as'] = reverse('Account:account-wissel') # als we hier komen weten is de tweede factor gekoppeld is # de controle van de tweede factor moet misschien nog uitgevoerd worden context['show_otp_controle'] = not account_rechten_is_otp_verified( self.request) if context['show_vhpg']: context['show_beheerder_intro'] = True context['wiki_2fa_url'] = reverse_handleiding(self.request, settings.HANDLEIDING_2FA) context['wiki_rollen'] = reverse_handleiding( self.request, settings.HANDLEIDING_ROLLEN) context['wiki_intro_nieuwe_beheerders'] = reverse_handleiding( self.request, settings.HANDLEIDING_INTRO_NIEUWE_BEHEERDERS) # snel wissel kaartje voor BB if self.rol_nu == Rollen.ROL_BB: context['heeft_alle_rollen'] = self._maak_alle_rollen() context['url_wissel_naar_sec'] = reverse('Functie:wissel-naar-sec') # bedoeld voor de testsuite, maar kan geen kwaad context['insert_meta'] = True context['meta_rol'] = rol2url[self.rol_nu] if self.functie_nu: context[ 'meta_functie'] = self.functie_nu.beschrijving # template doet html escaping else: context['meta_functie'] = "" eval_open_taken(self.request, forceer=True) menu_dynamics(self.request, context, actief='wissel-van-rol') return context
def get_context_data(self, **kwargs): """ called by the template system to get the context data for the template """ context = super().get_context_data(**kwargs) context['url_stap_1'] = reverse('Functie:otp-koppelen-stap1') context['url_stap_3'] = reverse('Functie:otp-koppelen-stap3') account = self.request.user # haal de QR code op (en alles wat daar voor nodig is) account_otp_prepare_koppelen(account) context['qrcode'] = qrcode_get(account) tmp = account.otp_code.lower() context['otp_secret'] = " ".join( [tmp[i:i + 4] for i in range(0, len(tmp), 4)]) menu_dynamics(self.request, context, actief="wissel-van-rol") return context
def get_context_data(self, **kwargs): """ called by the template system to get the context data for the template """ context = super().get_context_data(**kwargs) # gegarandeerd ingelogd door test_func() account = self.request.user sporter = account.sporter_set.all()[0] geboorte_jaar = sporter.geboorte_datum.year huidige_jaar, leeftijd, wlst, clst, lkl_volgende_competitie = bereken_leeftijdsklassen(geboorte_jaar) context['huidige_jaar'] = huidige_jaar context['leeftijd'] = leeftijd context['wlst'] = wlst context['clst'] = clst context['lkl_volgende_competitie'] = lkl_volgende_competitie menu_dynamics(self.request, context, actief='sporter-profiel') return context
def menu_dynamics_competitie(request, context, comp_pk=None, actief=''): # voeg de seizoenen toe als sub-menus context['menu_competities'] = comps = list() menu_actief = 'competitie' rol_nu = rol_get_huidige(request) # zet de huidige competitie bovenaan # en de competitie-in-voorbereiding daar onder # groepeer per competitie-type (afstand) for obj in Competitie.objects.order_by('afstand', 'begin_jaar'): obj.bepaal_openbaar(rol_nu) if obj.is_openbaar: label = obj.titel() menu = 'competitie-%s' % obj.pk url = reverse('Competitie:overzicht', kwargs={'comp_pk': obj.pk}) comp = {'url': url, 'menu': menu, 'label': label} comps.append(comp) if obj.pk == comp_pk: menu_actief = menu # for # voeg de historische competitie toe, helemaal onderaan label = 'Vorig seizoen' url = reverse('HistComp:top') menu = 'competitie-hist' comp = {'url': url, 'menu': menu, 'label': label} comps.append(comp) if actief == 'histcomp': menu_actief = menu # print('context:') # for key, value in context.items(): # print(' %s: %s' % (key, repr(value))) menu_dynamics(request, context, actief=menu_actief)
def get(self, request, *args, **kwargs): """ deze functie wordt aangeroepen om de GET request af te handelen """ context = dict() try: wedstrijd_pk = int(str( kwargs['wedstrijd_pk'])[:6]) # afkappen voor de veiligheid wedstrijd = (KalenderWedstrijd.objects.get(pk=wedstrijd_pk)) except KalenderWedstrijd.DoesNotExist: raise Http404('Wedstrijd niet gevonden') if self.rol_nu == Rollen.ROL_HWL and wedstrijd.organiserende_vereniging != self.functie_nu.nhb_ver: raise PermissionDenied('Wedstrijd niet van jouw vereniging') context['wed'] = wedstrijd sessies = ( wedstrijd.sessies.prefetch_related('wedstrijdklassen').annotate( aanmeldingen_count=Count('sporters')).order_by( 'datum', 'tijd_begin')) for sessie in sessies: sessie.klassen_ordered = sessie.wedstrijdklassen.order_by( 'volgorde') sessie.url_wijzig = reverse('Kalender:wijzig-sessie', kwargs={ 'wedstrijd_pk': wedstrijd.pk, 'sessie_pk': sessie.pk }) # for context['sessies'] = sessies if wedstrijd.status != WEDSTRIJD_STATUS_GEANNULEERD: context['url_nieuwe_sessie'] = reverse( 'Kalender:wijzig-sessies', kwargs={'wedstrijd_pk': wedstrijd.pk}) if self.rol_nu == Rollen.ROL_HWL: context['url_terug'] = reverse('Kalender:vereniging') else: context['url_terug'] = reverse('Kalender:manager') menu_dynamics(self.request, context, actief='kalender') return render(request, self.template_name, context)
def get(self, request, *args, **kwargs): """ deze functie wordt aangeroepen als een GET request ontvangen is """ if not request.user.is_authenticated: # gebruiker is niet ingelogd, dus stuur terug naar af return HttpResponseRedirect(reverse('Plein:plein')) account = request.user if not account.otp_is_actief: # gebruiker heeft geen OTP koppeling return HttpResponseRedirect(reverse('Plein:plein')) # waar eventueel naartoe na de controle? next_url = request.GET.get('next', '') form = OTPControleForm(initial={'next_url': next_url}) context = {'form': form} menu_dynamics(request, context, actief="wissel-van-rol") return render(request, TEMPLATE_OTP_CONTROLE, context)
def get_context_data(self, **kwargs): """ called by the template system to get the context data for the template """ context = super().get_context_data(**kwargs) volg_nr = self.kwargs['nummer'] # parameter guaranteed by urlconf discipline = self.kwargs['discipline'] # zoek het specifieke record erbij try: spec = IndivRecord.objects.get(volg_nr=volg_nr, discipline=discipline) except IndivRecord.DoesNotExist: # dat was geen valide record nummer raise Http404('Record niet gevonden') # voeg informatie toe voor de template spec.gesl_str = gesl2str[spec.geslacht] spec.disc_str = disc2str[spec.discipline] spec.lcat_str = lcat2str[spec.leeftijdscategorie] spec.makl_str = makl2str[spec.materiaalklasse] spec.op_pagina = "specifiek_record_%s-%s" % (discipline, volg_nr) # zoek de andere records die hier bij horen, aflopend gesorteerd op datum # hier zit ook het record zelf bij objs = IndivRecord.objects.filter( geslacht=spec.geslacht, discipline=spec.discipline, leeftijdscategorie=spec.leeftijdscategorie, materiaalklasse=spec.materiaalklasse, soort_record=spec.soort_record, para_klasse=spec.para_klasse).order_by('-datum') for obj in objs: obj.is_specifieke_record = (obj.volg_nr == spec.volg_nr) self.set_url_specifiek(obj) # for context['obj_record'] = spec context['object_list'] = objs menu_dynamics(self.request, context, actief='records') return context
def get(self, request, *args, **kwargs): """ called by the template system to get the context data for the template """ context = dict() # pak de 50 meest recente wedstrijden wedstrijden = (KalenderWedstrijd .objects .order_by('-datum_begin')[:50]) for wed in wedstrijden: wed.disc_str = WEDSTRIJD_DISCIPLINE_TO_STR[wed.discipline] wed.status_str = WEDSTRIJD_STATUS_TO_STR[wed.status] wed.status_val_op = (wed.status == WEDSTRIJD_STATUS_WACHT_OP_GOEDKEURING) wed.url_wijzig = reverse('Kalender:wijzig-wedstrijd', kwargs={'wedstrijd_pk': wed.pk}) wed.url_sessies = reverse('Kalender:wijzig-sessies', kwargs={'wedstrijd_pk': wed.pk}) # for context['wedstrijden'] = wedstrijden menu_dynamics(self.request, context, actief='kalender') return render(request, self.template_name, context)
def post(request, *args, **kwargs): """ deze functie wordt aangeroepen als een POST request ontvangen is. dit is gekoppeld aan het drukken op de knop van het formulier. """ if not request.user.is_authenticated: # gebruiker is niet ingelogd, dus stuur terug naar af return HttpResponseRedirect(reverse('Plein:plein')) form = AccepteerVHPGForm(request.POST) if form.is_valid(): # hier komen we alleen als de checkbox gezet is account = request.user account_vhpg_is_geaccepteerd(account) schrijf_in_logboek(account, 'Rollen', 'VHPG geaccepteerd') account_rechten_eval_now(request, account) return HttpResponseRedirect(reverse('Functie:wissel-van-rol')) # checkbox is verplicht --> nog een keer context = {'form': form} menu_dynamics(request, context, actief="hetplein") return render(request, TEMPLATE_VHPG_ACCEPTATIE, context)
def get_context_data(self, **kwargs): """ called by the template system to get the context data for the template """ context = super().get_context_data(**kwargs) context['ver'] = self.functie_nu.nhb_ver # zoek de deelcompetitie waar de regio teams voor in kunnen stellen context['deelcomp_rk'] = deelcomp_rk = self._get_deelcomp_rk( kwargs['rk_deelcomp_pk']) context[ 'rk_bk_klassen_vastgesteld'] = is_vastgesteld = deelcomp_rk.competitie.klassengrenzen_vastgesteld_rk_bk context['rk_teams'] = self._get_rk_teams(deelcomp_rk, is_vastgesteld) if not is_vastgesteld: context['url_nieuw_team'] = reverse( 'CompRayon:teams-rk-nieuw', kwargs={'rk_deelcomp_pk': deelcomp_rk.pk}) menu_dynamics(self.request, context, actief='vereniging') return context
def get_context_data(self, **kwargs): """ called by the template system to get the context data for the template """ context = super().get_context_data(**kwargs) jaar = kwargs['jaar'] # int maand = self._maand_to_nr(kwargs['maand']) # str self._validate_jaar_maand(jaar, maand) context['datum'] = date(year=jaar, month=maand, day=1) context['url_prev_maand'], context[ 'url_next_maand'] = self._get_prev_next_urls(jaar, maand) datum_vanaf = date(year=jaar, month=maand, day=1) if maand == 12: maand = 1 jaar += 1 else: maand += 1 datum_voor = date(year=jaar, month=maand, day=1) wedstrijden = ( KalenderWedstrijd.objects.select_related('locatie').filter( datum_begin__gte=datum_vanaf, datum_begin__lt=datum_voor, status__in=( WEDSTRIJD_STATUS_GEACCEPTEERD, WEDSTRIJD_STATUS_GEANNULEERD)).order_by('datum_begin')) for wed in wedstrijden: if wed.status == WEDSTRIJD_STATUS_GEANNULEERD: wed.titel = '[GEANNULEERD] ' + wed.titel else: wed.url_details = reverse('Kalender:wedstrijd-info', kwargs={'wedstrijd_pk': wed.pk}) # for context['wedstrijden'] = wedstrijden menu_dynamics(self.request, context, 'kalender') return context
def get(self, request, *args, **kwargs): context = dict() context['locatie'] = locatie = self.get_locatie() context['ver'] = ver = self.get_vereniging() context['readonly'] = readonly = self._check_access(locatie, ver) context['disc'] = disc = list() disc.append(('disc_outdoor', 'Outdoor', locatie.discipline_outdoor)) disc.append(('disc_indoor', 'Indoor', locatie.discipline_indoor)) disc.append(('disc_25m1p', '25m 1pijl', locatie.discipline_25m1pijl)) disc.append(('disc_veld', 'Veld', locatie.discipline_veld)) disc.append(('disc_3d', '3D', locatie.discipline_3d)) disc.append(('disc_run', 'Run archery', locatie.discipline_run)) disc.append(('disc_clout', 'Clout', locatie.discipline_clout)) # aantal banen waar uit gekozen kan worden, voor gebruik in de template context['banen'] = [nr for nr in range(2, 24 + 1) ] # 1 baan = handmatig in .dtl # aantal banen waar uit gekozen kan worden, voor gebruik in de template context['buiten_banen'] = [nr for nr in range(2, 80 + 1) ] # 1 baan = handmatig in .dtl context['buiten_max_afstand'] = [nr for nr in range(30, 100 + 1, 10)] if not readonly: context['url_opslaan'] = reverse('Vereniging:locatie-details', kwargs={ 'vereniging_pk': ver.pk, 'locatie_pk': locatie.pk }) context['url_verwijder'] = context['url_opslaan'] context['url_terug'] = reverse('Vereniging:externe-locaties', kwargs={'vereniging_pk': ver.pk}) menu_dynamics(self.request, context, actief='vereniging') return render(request, self.template_name, context)
def get(request, *args, **kwargs): """ deze functie handelt het GET verzoek af met de extra parameter 'code', zoekt de bijbehorende data op en roept de juiste dispatcher aan. Om de tijdelijke URL te gebruiken moet een POST gedaan worden. Hiervoor bieden we een pagina met een knop aan. """ context = {} menu_dynamics(request, context, 'hetplein') url_code = kwargs['code'] context['url'] = reverse('Overig:tijdelijke-url', kwargs={'code': url_code}) objs = SiteTijdelijkeUrl.objects.filter(url_code=url_code) context['activiteit'] = '???' # kijk of deze tijdelijke url al verlopen is match = False now = timezone.now() for obj in objs: if obj.geldig_tot > now: # bruikbare match gevonden match = True context['activiteit'] = beschrijving_activiteit(obj) else: # verlopen link obj.delete() # for if not match: template = TEMPLATE_TIJDELIJKEURL_FOUT else: template = TEMPLATE_TIJDELIJKEURL_GOED return render(request, template, context)
def receive_bevestiging_accountemail(request, obj): """ deze functie wordt aangeroepen als een tijdelijke url gevolgd wordt om een email adres te bevestigen, zowel de eerste keer als wijziging van email. obj is een AccountEmail object. We moeten een url teruggeven waar een http-redirect naar gedaan kan worden. """ account_email_bevestiging_ontvangen(obj) # schrijf in het logboek from_ip = get_safe_from_ip(request) account = obj.account msg = "Bevestigd vanaf IP %s voor account %s" % ( from_ip, account.get_account_full_name()) schrijf_in_logboek(account=account, gebruikte_functie="Bevestig e-mail", activiteit=msg) context = dict() if not request.user.is_authenticated: context['show_login'] = True menu_dynamics(request, context) return render(request, TEMPLATE_BEVESTIGD, context)
def post(self, request, *args, **kwargs): """ deze functie handelt het http-post verzoek af als de gebruiker op de Verstuur knop drukt krijgt deze functie de ingevoerde data. """ form = SiteFeedbackForm(data=request.POST) if form.is_valid(): try: op_pagina = request.session['feedback_op_pagina'] gebruiker = request.session['feedback_gebruiker'] except KeyError: pass else: store_feedback(gebruiker, op_pagina, form.cleaned_data['bevinding'], form.cleaned_data['feedback']) return redirect('Overig:feedback-bedankt') context = { 'form': form, 'formulier_url': reverse('Overig:feedback-formulier') } # URL voor de POST menu_dynamics(request, context) return render(request, self.template_name, context)