コード例 #1
0
def deployments(request, template="appstore/deployments.html"):
    params, _ = parse_args_for_es(request)
    params = dict([(DEPLOYMENT_MAPPING.get(p, p), params[p]) for p in params])
    page = int(params.pop('page', 1))
    results = es_deployments_query(params, DEPLOYMENT_FACETS)
    d_results = [
        Domain.wrap(res['_source']) for res in results['hits']['hits']
    ]

    more_pages = False if len(d_results) <= page * 10 else True

    facet_map = fill_mapping_with_facets(DEPLOYMENT_MAPPING, results, params)
    include_unapproved = True if request.GET.get('is_approved',
                                                 "") == "false" else False
    vals = {
        'deployments': d_results[(page - 1) * 10:page * 10],
        'page': page,
        'prev_page': page - 1,
        'next_page': (page + 1),
        'more_pages': more_pages,
        'include_unapproved': include_unapproved,
        'facet_map': facet_map,
        'query_str': request.META['QUERY_STRING'],
        'search_url': reverse('deployments'),
        'search_query': params.get('search', [""])[0]
    }
    return render(request, template, vals)
コード例 #2
0
ファイル: reports.py プロジェクト: kamilk161/commcare-hq
 def run_query(self, size=None):
     self.es_params, _ = parse_args_for_es(self.request, prefix=self.es_prefix)
     results = self.es_query(self.es_params, size)
     self.es_facet_map = fill_mapping_with_facets(self.es_facet_mapping, results, self.es_params)
     self.es_response = results
     self.es_queried = True
     return self.es_response
コード例 #3
0
 def page_context(self):
     return {
         'apps':
         self.selected_snapshots,
         'page':
         self.page,
         'prev_page': (self.page - 1),
         'next_page': (self.page + 1),
         'more_pages':
         False
         if self.total_results <= self.page * self.page_length else True,
         'sort_by':
         self.sort_by,
         'show_starter_apps':
         self.starter_apps,
         'include_unapproved':
         self.include_unapproved,
         'facet_map':
         fill_mapping_with_facets(SNAPSHOT_MAPPING, self.results,
                                  self.params),
         'facets':
         self.results.get("facets", []),
         'query_str':
         self.request.META['QUERY_STRING'],
         'search_query':
         self.params.get('search', [""])[0],
         'persistent_params':
         self.persistent_params,
     }
コード例 #4
0
 def page_context(self):
     results = es_deployments_query({}, DEPLOYMENT_FACETS)
     facet_map = fill_mapping_with_facets(DEPLOYMENT_MAPPING, results, {})
     return {
         'domain': self.project,
         'search_url': reverse(DeploymentsView.urlname),
         'url_base': reverse(DeploymentsView.urlname),
         'facet_map': facet_map,
     }
コード例 #5
0
 def page_context(self):
     results = es_deployments_query({}, DEPLOYMENT_FACETS)
     facet_map = fill_mapping_with_facets(DEPLOYMENT_MAPPING, results, {})
     return {
         'domain': self.project,
         'search_url': reverse(DeploymentsView.urlname),
         'url_base': reverse(DeploymentsView.urlname),
         'facet_map': facet_map,
     }
コード例 #6
0
 def run_query(self, size=None):
     self.es_params, _ = parse_args_for_es(self.request,
                                           prefix=self.es_prefix)
     results = self.es_query(self.es_params, size)
     self.es_facet_map = fill_mapping_with_facets(self.es_facet_mapping,
                                                  results, self.es_params)
     self.es_response = results
     self.es_queried = True
     return self.es_response
コード例 #7
0
def appstore(request, template="appstore/appstore_base.html"):
    page_length = 10
    include_unapproved = True if request.GET.get('is_approved',
                                                 "") == "false" else False
    if include_unapproved and not request.user.is_superuser:
        raise Http404()
    params, _ = parse_args_for_es(request)
    page = params.pop('page', 1)
    page = int(page[0] if isinstance(page, list) else page)
    results = es_snapshot_query(params, SNAPSHOT_FACETS)
    hits = results.get('hits', {}).get('hits', [])
    hits = deduplicate(hits)
    d_results = [Domain.wrap(res['_source']) for res in hits]

    sort_by = request.GET.get('sort_by', None)
    if sort_by == 'best':
        d_results = Domain.popular_sort(d_results)
    elif sort_by == 'newest':
        pass
    else:
        d_results = Domain.hit_sort(d_results)

    persistent_params = {}
    if sort_by:
        persistent_params["sort_by"] = sort_by
    if include_unapproved:
        persistent_params["is_approved"] = "false"
    persistent_params = urlencode(
        persistent_params)  # json.dumps(persistent_params)

    average_ratings = list()
    for result in d_results:
        average_ratings.append([
            result.name,
            Review.get_average_rating_by_app(result.copied_from._id)
        ])

    more_pages = False if len(d_results) <= page * page_length else True

    facet_map = fill_mapping_with_facets(SNAPSHOT_MAPPING, results, params)
    vals = dict(
        apps=d_results[(page - 1) * page_length:page * page_length],
        page=page,
        prev_page=(page - 1),
        next_page=(page + 1),
        more_pages=more_pages,
        sort_by=sort_by,
        average_ratings=average_ratings,
        include_unapproved=include_unapproved,
        facet_map=facet_map,
        facets=results.get("facets", []),
        query_str=request.META['QUERY_STRING'],
        search_query=params.get('search', [""])[0],
        persistent_params=persistent_params,
    )
    return render(request, template, vals)
コード例 #8
0
ファイル: views.py プロジェクト: NoahCarnahan/commcare-hq
def appstore(request, template="appstore/appstore_base.html"):
    page_length = 10
    include_unapproved = True if request.GET.get('is_approved', "") == "false" else False
    if include_unapproved and not request.user.is_superuser:
        raise Http404()
    params, _ = parse_args_for_es(request)
    page = params.pop('page', 1)
    page = int(page[0] if isinstance(page, list) else page)
    results = es_snapshot_query(params, SNAPSHOT_FACETS)
    hits = results.get('hits', {}).get('hits', [])
    hits = deduplicate(hits)
    d_results = [Domain.wrap(res['_source']) for res in hits]

    sort_by = request.GET.get('sort_by', None)
    if sort_by == 'best':
        d_results = Domain.popular_sort(d_results)
    elif sort_by == 'newest':
        pass
    else:
        d_results = Domain.hit_sort(d_results)

    persistent_params = {}
    if sort_by:
        persistent_params["sort_by"] = sort_by
    if include_unapproved:
        persistent_params["is_approved"] = "false"
    persistent_params = urlencode(persistent_params) # json.dumps(persistent_params)

    average_ratings = list()
    for result in d_results:
        average_ratings.append([result.name, Review.get_average_rating_by_app(result.copied_from._id)])

    more_pages = False if len(d_results) <= page*page_length else True

    facet_map = fill_mapping_with_facets(SNAPSHOT_MAPPING, results, params)
    vals = dict(
        apps=d_results[(page-1)*page_length:page*page_length],
        page=page,
        prev_page=(page-1),
        next_page=(page+1),
        more_pages=more_pages,
        sort_by=sort_by,
        average_ratings=average_ratings,
        include_unapproved=include_unapproved,
        facet_map=facet_map,
        facets=results.get("facets", []),
        query_str=request.META['QUERY_STRING'],
        search_query=params.get('search', [""])[0],
        persistent_params=persistent_params,
    )
    return render(request, template, vals)
コード例 #9
0
ファイル: views.py プロジェクト: LifeCoaching/commcare-hq
def deployment_info(request, domain, template="appstore/deployment_info.html"):
    dom = Domain.get_by_name(domain)
    if not dom or not dom.deployment.public:
        raise Http404()

    # get facets
    results = es_deployments_query({}, DEPLOYMENT_FACETS)
    facet_map = fill_mapping_with_facets(DEPLOYMENT_MAPPING, results, {})

    return render(request, template, {
        'domain': dom,
        'search_url': reverse('deployments'),
        'url_base': reverse('deployments'),
        'facet_map': facet_map,
    })
コード例 #10
0
 def page_context(self):
     return {
         'apps': self.selected_snapshots,
         'page': self.page,
         'prev_page': (self.page - 1),
         'next_page': (self.page + 1),
         'more_pages': False if self.total_results <= self.page * self.page_length else True,
         'sort_by': self.sort_by,
         'show_starter_apps': self.starter_apps,
         'include_unapproved': self.include_unapproved,
         'facet_map': fill_mapping_with_facets(SNAPSHOT_MAPPING, self.results, self.params),
         'facets': self.results.get("facets", []),
         'query_str': self.request.META['QUERY_STRING'],
         'search_query': self.params.get('search', [""])[0],
         'persistent_params': self.persistent_params,
     }
コード例 #11
0
def deployment_info(request, domain, template="appstore/deployment_info.html"):
    dom = Domain.get_by_name(domain)
    if not dom or not dom.deployment.public:
        raise Http404()

    # get facets
    results = es_deployments_query({}, DEPLOYMENT_FACETS)
    facet_map = fill_mapping_with_facets(DEPLOYMENT_MAPPING, results, {})

    return render(
        request, template, {
            'domain': dom,
            'search_url': reverse('deployments'),
            'url_base': reverse('deployments'),
            'facet_map': facet_map,
        })
コード例 #12
0
 def page_context(self):
     more_pages = False if len(self.d_results) <= self.page * self.projects_per_page else True
     facet_map = fill_mapping_with_facets(DEPLOYMENT_MAPPING, self.results, self.params)
     include_unapproved = True if self.request.GET.get('is_approved', "") == "false" else False
     deployments = self.d_results[(self.page - 1) * self.projects_per_page:self.page * self.projects_per_page]
     return {
         'deployments': deployments,
         'page': self.page,
         'prev_page': self.page - 1,
         'next_page': (self.page + 1),
         'more_pages': more_pages,
         'include_unapproved': include_unapproved,
         'facet_map': facet_map,
         'query_str': self.request.META['QUERY_STRING'],
         'search_url': reverse(self.urlname),
         'search_query': self.params.get('search', [""])[0]
     }
コード例 #13
0
ファイル: views.py プロジェクト: rodneylubwama/commcare-hq
 def page_context(self):
     more_pages = False if len(self.d_results) <= self.page * self.projects_per_page else True
     facet_map = fill_mapping_with_facets(DEPLOYMENT_MAPPING, self.results, self.params)
     include_unapproved = True if self.request.GET.get('is_approved', "") == "false" else False
     deployments = self.d_results[(self.page - 1) * self.projects_per_page:self.page * self.projects_per_page]
     return {
         'deployments': deployments,
         'page': self.page,
         'prev_page': self.page - 1,
         'next_page': (self.page + 1),
         'more_pages': more_pages,
         'include_unapproved': include_unapproved,
         'facet_map': facet_map,
         'query_str': self.request.META['QUERY_STRING'],
         'search_url': reverse(self.urlname),
         'search_query': self.params.get('search', [""])[0]
     }
コード例 #14
0
ファイル: views.py プロジェクト: LifeCoaching/commcare-hq
def deployments(request, template="appstore/deployments.html"):
    params, _ = parse_args_for_es(request)
    params = dict([(DEPLOYMENT_MAPPING.get(p, p), params[p]) for p in params])
    page = int(params.pop('page', 1))
    results = es_deployments_query(params, DEPLOYMENT_FACETS)
    d_results = [Domain.wrap(res['_source']) for res in results['hits']['hits']]

    more_pages = False if len(d_results) <= page * 10 else True

    facet_map = fill_mapping_with_facets(DEPLOYMENT_MAPPING, results, params)
    include_unapproved = True if request.GET.get('is_approved', "") == "false" else False
    vals = {'deployments': d_results[(page - 1) * 10:page * 10],
            'page': page,
            'prev_page': page - 1,
            'next_page': (page + 1),
            'more_pages': more_pages,
            'include_unapproved': include_unapproved,
            'facet_map': facet_map,
            'query_str': request.META['QUERY_STRING'],
            'search_url': reverse('deployments'),
            'search_query': params.get('search', [""])[0]}
    return render(request, template, vals)
コード例 #15
0
ファイル: views.py プロジェクト: ansarbek/commcare-hq
def appstore(request, template="appstore/appstore_base.html"):
    page_length = 10
    include_unapproved = True if request.GET.get('is_approved', "") == "false" else False
    if include_unapproved and not request.user.is_superuser:
        raise Http404()
    params, _ = parse_args_for_es(request)
    page = params.pop('page', 1)
    page = int(page[0] if isinstance(page, list) else page)
    results = es_snapshot_query(params, SNAPSHOT_FACETS)
    hits = results.get('hits', {}).get('hits', [])
    hits = deduplicate(hits)
    d_results = []
    for res in hits:
        try:
            domain = Domain.wrap(res['_source'])
            if domain.copied_from is not None:
                # this avoids putting in snapshots in the list where the
                # copied_from domain has been deleted.
                d_results.append(domain)
        except CopiedFromDeletedException as e:
            notify_exception(
                request,
                message=(
                    "Fetched Exchange Snapshot Error: {}. "
                    "The problem snapshot id: {}".format(
                    e.message, res['_source']['_id'])
                )
            )

    starter_apps = request.GET.get('is_starter_app', None)
    sort_by = request.GET.get('sort_by', None)
    if sort_by == 'newest':
        pass
    else:
        d_results = Domain.hit_sort(d_results)

    persistent_params = {}
    if sort_by:
        persistent_params["sort_by"] = sort_by
    if include_unapproved:
        persistent_params["is_approved"] = "false"
    persistent_params = urlencode(persistent_params)  # json.dumps(persistent_params)

    more_pages = False if len(d_results) <= page * page_length else True

    facet_map = fill_mapping_with_facets(SNAPSHOT_MAPPING, results, params)
    vals = dict(
        apps=d_results[(page - 1) * page_length:page * page_length],
        page=page,
        prev_page=(page - 1),
        next_page=(page + 1),
        more_pages=more_pages,
        sort_by=sort_by,
        show_starter_apps=starter_apps,
        include_unapproved=include_unapproved,
        facet_map=facet_map,
        facets=results.get("facets", []),
        query_str=request.META['QUERY_STRING'],
        search_query=params.get('search', [""])[0],
        persistent_params=persistent_params,
    )
    return render(request, template, vals)