예제 #1
0
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())
예제 #2
0
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())
예제 #3
0
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())
예제 #4
0
파일: views.py 프로젝트: jnaudon/datal
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())
예제 #5
0
파일: views.py 프로젝트: jnaudon/datal
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())
예제 #6
0
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())
예제 #7
0
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())