def view(request, id, slug=None): """ Show a microsite view """ account = request.account preferences = request.preferences try: visualization_revision = VisualizationDBDAO().get(request.user, visualization_id=id, published=True) visualization = visualization_revision['visualization'] # For datastream sidebar functions (downloads and others) datastream = DataStreamDBDAO().get( request.user, datastream_revision_id=visualization_revision[ "datastream_revision_id"]) except VisualizationRevision.DoesNotExist: raise VisualizationRevisionDoesNotExist else: VisualizationHitsDAO(visualization_revision).add(ChannelTypes.WEB) visualization_revision_parameters = RequestProcessor( request).get_arguments(visualization_revision["parameters"]) chart_type = json.loads( visualization_revision["impl_details"]).get('format').get('type') if chart_type == 'mapchart': geo_type = json.loads(visualization_revision["impl_details"]).get( 'chart').get('geoType') else: geo_type = '' visualization_revision_parameters = urllib.urlencode( visualization_revision_parameters) url_query = urllib.urlencode( RequestProcessor(request).get_arguments( visualization_revision['parameters'])) notes = visualization_revision['notes'] if request.GET.get('embedded', False) == 'true': return render_to_response('viewChart/embedded.html', locals()) else: return render_to_response('viewChart/index.html', locals())
def embed(request, guid): """ Show an embed microsite view """ account = request.account preferences = request.preferences msprotocol = 'https' if account.get_preference('account.microsite.https') else 'http' base_uri = msprotocol + '://' + preferences['account_domain'] try: visualization_revision = VisualizationDBDAO().get( preferences['account_language'], published=True, guid=guid ) datastream = DataStreamDBDAO().get( preferences['account_language'], datastream_revision_id=visualization_revision["datastream_revision_id"] ) except: return render_to_response('viewChart/embed404.html',{'settings': settings, 'request' : request}) #VisualizationHitsDAO(visualization_revision.visualization).add(ChannelTypes.WEB) VisualizationHitsDAO(visualization_revision).add(ChannelTypes.WEB) width = request.REQUEST.get('width', False) # TODO get default value from somewhere height = request.REQUEST.get('height', False) # TODO get default value from somewhere visualization_revision_parameters = RequestProcessor(request).get_arguments(visualization_revision["parameters"]) visualization_revision_parameters['pId'] = visualization_revision["datastream_revision_id"] command = AbstractCommandFactory('microsites').create("invoke", "vz", (visualization_revision_parameters,)) json, type = command.run() visualization_revision_parameters = urllib.urlencode(visualization_revision_parameters) return render_to_response('viewChart/embed.html', locals())
def embed(request, guid): account = request.account preferences = request.preferences msprotocol = 'https' if account.get_preference( 'account.microsite.https') else 'http' base_uri = msprotocol + '://' + preferences['account_domain'] try: datastream = DataStreamDBDAO().get(preferences['account_language'], guid=guid, published=True) parameters_query = RequestProcessor(request).get_arguments( datastream['parameters']) except Http404: return render_to_response('viewDataStream/embed404.html', { 'settings': settings, 'request': request }) DatastreamHitsDAO(datastream).add(ChannelTypes.WEB) end_point = urllib.urlencode(parameters_query) header_row = request.REQUEST.get('header_row', False) fixed_column = request.REQUEST.get('fixed_column', False) return render_to_response('viewDataStream/embed.html', locals())
def embed(request, guid): """ Get an embedded datastream :param request: :param guid: :return: """ account = request.account preferences = request.preferences msprotocol = 'https' if account.get_preference( 'account.microsite.https') else 'http' base_uri = msprotocol + '://' + preferences['account_domain'] try: # parche horrible para usar account_language en vez del language del user user = request.user user.language = preferences['account_language'] datastream = DataStreamDBDAO().get(user, guid=guid, published=True) parameters_query = RequestProcessor(request).get_arguments( datastream['parameters']) except DataStreamRevision.DoesNotExist: return render_to_response('viewDataStream/embed404.html', { 'settings': settings, 'request': request }) DatastreamHitsDAO(datastream).add(ChannelTypes.WEB) end_point = urllib.urlencode(parameters_query) header_row = request.REQUEST.get('header_row', False) fixed_column = request.REQUEST.get('fixed_column', False) return render_to_response('viewDataStream/embed.html', locals())
def view(request, id, slug): """ Get a datastream :param request: :param id: :param slug: :return: """ logger = logging.getLogger(__name__) account = request.account preferences = request.preferences # parche horrible para usar account_language en vez del language del user user = request.user user.language = preferences['account_language'] datastream = DataStreamDBDAO().get(user, datastream_id=id, published=True) url_query = urllib.urlencode( RequestProcessor(request).get_arguments(datastream['parameters'])) DatastreamHitsDAO(datastream).add(ChannelTypes.WEB) notes = datastream['notes'] if request.GET.get('embedded', False) == 'true': return render_to_response('viewDataStream/embedded.html', locals()) else: return render_to_response('viewDataStream/index.html', locals())
def preview(request): form = forms.PreviewForm(request.GET) if form.is_valid(): preferences = request.preferences datastream_revision_id = request.GET.get('datastream_revision_id', None) try: datastream = DataStreamDBDAO().get( request.user.language, datastream_revision_id=datastream_revision_id, published=False ) except Exception, e: logger.error(e) raise Http404 else: query = RequestProcessor(request).get_arguments(datastream["parameters"]) chart_type = form.cleaned_data.get('type') query.update({ 'pId': int(datastream_revision_id), 'pType': chart_type, 'pNullValueAction': form.cleaned_data.get('nullValueAction'), 'pNullValuePreset': form.cleaned_data.get('nullValuePreset'), 'pData': form.cleaned_data.get('data'), 'pLabelSelection': form.cleaned_data.get('labels'), 'pHeaderSelection': form.cleaned_data.get('headers'), 'pInvertedAxis': form.cleaned_data.get('invertedAxis'), 'pInvertData': form.cleaned_data.get('invertData') }) page = form.cleaned_data.get('page') if page is not None: query['pPage'] = page limit = form.cleaned_data.get('limit') if limit is not None: query['pLimit'] = form.cleaned_data.get('limit') result, content_type = preview_chart(query) return HttpResponse(result, mimetype=content_type)
def preview_map(request, datastream_revision_id): preferences = request.preferences form = forms.PreviewMapForm(request.GET) if form.is_valid(): try: datastream = DataStreamDBDAO().get( request.user.language, datastream_revision_id=datastream_revision_id, published=False ) except Exception, e: logger.error(e) raise Http404 else: query = RequestProcessor(request).get_arguments(datastream["parameters"]) query.update({ 'pId': int(datastream_revision_id), 'pType': 'mapchart', 'pNullValueAction': form.cleaned_data.get('nullValueAction', 'exclude'), 'pNullValuePreset': form.cleaned_data.get('nullValuePreset', ''), 'pData': form.cleaned_data.get('data', ''), 'pLatitudSelection': form.cleaned_data.get('lat', ''), 'pLongitudSelection': form.cleaned_data.get('lon', ''), 'pHeaderSelection': '', 'pTraceSelection': '', }) # Optional bounds = form.cleaned_data.get('bounds') if bounds is not None: query['pBounds'] = bounds zoom = form.cleaned_data.get('zoom') if zoom is not None: query['pZoom'] = zoom result, content_type = preview_chart(query) return HttpResponse(result, mimetype=content_type)
def view(request, id, slug): logger = logging.getLogger(__name__) account = request.account preferences = request.preferences datastream = DataStreamDBDAO().get( language=preferences['account_language'], datastream_id=id, published=True) url_query = urllib.urlencode( RequestProcessor(request).get_arguments(datastream['parameters'])) DatastreamHitsDAO(datastream).add(ChannelTypes.WEB) notes = datastream['notes'] return render_to_response('viewDataStream/index.html', locals())
def view(request, id, slug=None): """ Show a microsite view """ account = request.account preferences = request.preferences try: visualization_revision = VisualizationDBDAO().get( preferences['account_language'], visualization_id=id, published=True ) # verify if this account is the owner of this viz visualization = Visualization.objects.get(pk=id) if account.id != visualization.user.account.id: raise NotAccesVisualization #for datastream sidebar functions (downloads and others) datastream = DataStreamDBDAO().get( preferences['account_language'], datastream_revision_id=visualization_revision["datastream_revision_id"] ) except VisualizationRevision.DoesNotExist: raise VisualizationRevisionDoesNotExist else: VisualizationHitsDAO(visualization_revision).add(ChannelTypes.WEB) visualization_revision_parameters = RequestProcessor(request).get_arguments(visualization_revision["parameters"]) chart_type = json.loads(visualization_revision["impl_details"]).get('format').get('type') visualization_revision_parameters = urllib.urlencode(visualization_revision_parameters) notes = visualization_revision['notes'] return render_to_response('viewChart/index.html', locals())