Exemple #1
0
    def AuthenticatedGet(self, org, event):
        site_proj = db.Query(Site,
                             projection=('county', 'state'),
                             distinct=True).filter('event', event)
        counties_and_states = {
            site.county_and_state: (site.county, site.state)
            for site in site_proj
        }
        Form = create_site_filter_form(counties_and_states)
        form = Form(self.request.GET)
        if not form.validate():
            form = Form()  # => use defaults

        # construct query
        query = Site.all().filter('event', event.key())
        if form.county_and_state.data:
            county, state = counties_and_states[form.county_and_state.data]
            query = query.filter('county', county).filter('state', state)
        if form.order.data:
            query = query.order(form.order.data)

        # run query
        sites = list(
            query.run(offset=form.page.data * self.SITES_PER_PAGE,
                      limit=self.SITES_PER_PAGE))

        self.response.out.write(
            template.render(
                dict(
                    page_db.get_page_block_dict(), **{
                        "form": form,
                        "sites": sites,
                        "sites_per_page": self.SITES_PER_PAGE,
                    })))
    def AuthenticatedGet(self, org, event):
        site_proj = db.Query(
            Site,
            projection=('county', 'state'),
            distinct=True
        ).filter('event', event)
        counties_and_states = {
            site.county_and_state : (site.county, site.state) for site
            in site_proj
        }
        Form = create_site_filter_form(counties_and_states)
        form = Form(self.request.GET)
        if not form.validate():
            form = Form()  # => use defaults

        # construct query
        query = Site.all().filter('event', event.key())
        if form.county_and_state.data:
            county, state = counties_and_states[form.county_and_state.data]
            query = query.filter('county', county).filter('state', state)
        if form.order.data:
            query = query.order(form.order.data)

        # run query
        sites = list(query.run(
            offset=form.page.data * self.SITES_PER_PAGE,
            limit=self.SITES_PER_PAGE
        ))

        self.response.out.write(template.render(dict(
            page_db.get_page_block_dict(), **{
            "form": form,
            "sites": sites,
            "sites_per_page": self.SITES_PER_PAGE,
        })))
Exemple #3
0
 def get_base_query(self):
     query = Site.all()
     if self.filtering_event_key:
         query.filter('event', Event.get(self.filtering_event_key))
     return query
 def get_base_query(self):
     query = Site.all()
     if self.filtering_event_key:
         query.filter('event', Event.get(self.filtering_event_key))
     return query