Ejemplo n.º 1
0
def publisher_dashboard(request):
    from atrinsic.base.models import AqWidget, Organization, PublisherVertical, UserAqWidget, W9Status
    from forms import DashboardSettingsForm, w9UploadForm
    from atrinsic.util.AceApi import create_company
    
    this_page = 'publisher-dashboard'
    all_advertisers = Organization.objects.filter(publisher_relationships__status=RELATIONSHIP_ACCEPTED,
                                                     publisher_relationships__publisher=request.organization)
    
    aids = []
    aids = [j.id for j in all_advertisers]

    x = UserAqWidget.objects.select_related("AqWidget").filter(page=this_page,organization=request.organization).order_by('sort_order')
    widgets = UserAqWidget.prep(x,request,aids)
            
    z = AqWidget.objects.filter(widget_type__in=[1,3], Active=1)
    widget_list = AqWidget.prep(z)

    inbox = request.organization.received_messages.filter(is_active=True).order_by('-date_sent')
    
    # Check W9 Status form, if record doesnt exist, or set to Not Received
    # pass bool to page to display warning Lightbox
    showW9Warning = False

    #if request.organization.country != None and request.organization.country.lower().find("us") > -1:
    try:
        wNine = W9Status.objects.get(organization=request.organization)
    except:        
        wNine = W9Status.objects.create(organization=request.organization, status = W9_STATUS_NOT_RECEIVED, datereceived=datetime.datetime.now())
    
    if wNine.status != W9_STATUS_NOT_RECEIVED:
        showW9Warning = False    
        uploadForm = ""
    else:
        showW9Warning = True
        uploadForm = ""
    
    if request.organization.ace_id == None:        
        create_company(request.organization)
    
    hashed_ACEID = (int(request.organization.ace_id)  + 148773) * 12
    
    return AQ_render_to_response(request, 'publisher/dashboard.html', {
        'verticals' : PublisherVertical.objects.filter(is_adult=request.organization.is_adult).order_by('order'),
        'widgets':widgets,
        'widget_list':widget_list,
        'current_page':this_page,
        'msgcount' : inbox,
        'settings':True,
        'sdate':request.GET.get('start_date',''),
        'edate':request.GET.get('end_date',''),
        'showW9Warning':showW9Warning,
        'wNineForm':w9UploadForm(),
        'w9Link': settings.W9_PATH,
        'hashed_ACEID' : hashed_ACEID,
        #'w9Up' : W9UploadForm()
        }, context_instance=RequestContext(request))
Ejemplo n.º 2
0
def live_dashboard(request):
    this_page = 'live-dashboard'
    from atrinsic.base.models import OrganizationContacts, AqWidget, UserAqWidget
    if request.method == "POST":

        pywik_obj = PyWik(auth='8ea3806a0efcbc383600e6209ed557fc')

        #create the site first.
        status, code, site_response = pywik_obj('SitesManager_addSite',
                                                siteName=request.POST['sites'],
                                                urls=request.POST['urls'])
        print "site_response %s" % site_response
        if status == True and code == 200:
            if site_response.has_key('value'):
                idSite = site_response['value']
            else:
                return AQ_render_to_response(
                    request,
                    'live/js_tracker.html', {
                        'js_tracker': site_response['message'],
                        'has_piwik': 0,
                        'error': True,
                    },
                    context_instance=RequestContext(request))

        instant_password = str(datetime.datetime.now())
        import md5
        hash = md5.new(instant_password)
        print "instant_password %s" % instant_password
        print "hash %s" % hash.hexdigest()
        #then create the user, could have done this in reverse order, it really doenst matter.
        #used a regular expression to only keep alphanumeric characters.

        user_login = re.sub('[^a-zA-Z0-9_]', '',
                            request.organization.company_name)[:20]

        oc = OrganizationContacts.objects.select_related(
            "organization", "contact").get(organization=request.organization)

        status, code, user_response = pywik_obj('UsersManager_addUser',
                                                userLogin=user_login,
                                                password=instant_password,
                                                email=oc.email)
        print "user_response %s" % user_response
        #now that we have a user and a site, we associate them
        status, code, access_response = pywik_obj('UsersManager_setUserAccess',
                                                  userLogin=user_login,
                                                  access="view",
                                                  idSites=idSite)
        print "access_response %s" % access_response
        if status == True and code == 200:
            if not site_response.has_key('value'):
                return AQ_render_to_response(
                    request,
                    'live/js_tracker.html', {
                        'js_tracker': user_response['message'],
                        'has_piwik': 0,
                        'error': True,
                    },
                    context_instance=RequestContext(request))
        #now that he has access we need the auth code for the api calls he will do from now on.
        #first need the password hashed before you pass it for safety

        status, code, token_response = pywik_obj('UsersManager_getTokenAuth',
                                                 userLogin=user_login,
                                                 md5Password=hash.hexdigest())
        print "token_response %s" % token_response
        #finaly we need to get the JS tag the client needs for tracking.
        status, code, js_response = pywik_obj('SitesManager_getJavascriptTag',
                                              idSite=idSite)
        print "js_response %s" % js_response
        request.organization.pywik_token_auth_key = token_response['value']
        request.organization.pywik_siteId = idSite
        request.organization.save()

        return AQ_render_to_response(request,
                                     'live/js_tracker.html', {
                                         'js_tracker': js_response['value'],
                                         'has_piwik': 0,
                                     },
                                     context_instance=RequestContext(request))
    else:
        if request.organization.pywik_token_auth_key != None:
            x = UserAqWidget.objects.select_related("AqWidget").filter(
                page=this_page,
                organization=request.organization).order_by('sort_order')
            widgets = UserAqWidget.prep(x, request, None)

            z = AqWidget.objects.filter(widget_type=2)
            widget_list = AqWidget.prep(z)

            return AQ_render_to_response(
                request,
                'live/dashboard.html', {
                    'widgets': widgets,
                    'widget_list': widget_list,
                    'current_page': this_page,
                    'has_piwik': 1,
                },
                context_instance=RequestContext(request))
        else:
            return AQ_render_to_response(
                request,
                'live/signup.html', {
                    'has_piwik': 0,
                },
                context_instance=RequestContext(request))
Ejemplo n.º 3
0
def live_dashboard(request):
    this_page = 'live-dashboard'
    from atrinsic.base.models import OrganizationContacts,AqWidget,UserAqWidget
    if request.method == "POST":
        
        pywik_obj = PyWik(auth='8ea3806a0efcbc383600e6209ed557fc')
    
        #create the site first.
        status, code, site_response = pywik_obj('SitesManager_addSite', siteName = request.POST['sites'], urls = request.POST['urls'])
        print "site_response %s" % site_response
        if status == True and code == 200:
            if site_response.has_key('value'):
                idSite = site_response['value']
            else:
                return AQ_render_to_response(request, 'live/js_tracker.html', {
                    'js_tracker':site_response['message'],
                    'has_piwik':0,
                    'error':True,
                    }, context_instance=RequestContext(request))
        
        instant_password=str(datetime.datetime.now())
        import md5
        hash = md5.new(instant_password)
        print "instant_password %s" % instant_password
        print "hash %s" % hash.hexdigest()
        #then create the user, could have done this in reverse order, it really doenst matter.
        #used a regular expression to only keep alphanumeric characters.		
        
        user_login = re.sub('[^a-zA-Z0-9_]','',request.organization.company_name)[:20]
        
        oc = OrganizationContacts.objects.select_related("organization", "contact").get(organization=request.organization)

        status, code, user_response = pywik_obj('UsersManager_addUser',userLogin=user_login,password=instant_password,email=oc.email)            
        print "user_response %s" % user_response
        #now that we have a user and a site, we associate them
        status, code, access_response = pywik_obj('UsersManager_setUserAccess',userLogin=user_login,access="view",idSites=idSite)
        print "access_response %s" % access_response
        if status == True and code == 200:
            if not site_response.has_key('value'):
                return AQ_render_to_response(request, 'live/js_tracker.html', {
                'js_tracker':user_response['message'],
                'has_piwik':0,
                'error':True,
                }, context_instance=RequestContext(request))
        #now that he has access we need the auth code for the api calls he will do from now on.
        #first need the password hashed before you pass it for safety
        
        status, code, token_response = pywik_obj('UsersManager_getTokenAuth',userLogin=user_login,md5Password=hash.hexdigest())
        print "token_response %s" % token_response
        #finaly we need to get the JS tag the client needs for tracking.
        status, code, js_response = pywik_obj('SitesManager_getJavascriptTag',idSite=idSite)
        print "js_response %s" % js_response
        request.organization.pywik_token_auth_key = token_response['value']
        request.organization.pywik_siteId = idSite
        request.organization.save()
        
        return AQ_render_to_response(request, 'live/js_tracker.html', {
                'js_tracker':js_response['value'],
                'has_piwik':0,
                }, context_instance=RequestContext(request))
    else:
        if request.organization.pywik_token_auth_key != None:		
            x = UserAqWidget.objects.select_related("AqWidget").filter(page=this_page,organization=request.organization).order_by('sort_order')
            widgets = UserAqWidget.prep(x,request,None)
                    
            z = AqWidget.objects.filter(widget_type=2)
            widget_list = AqWidget.prep(z)
            
            return AQ_render_to_response(request, 'live/dashboard.html', {
        
                    'widgets':widgets,
                'widget_list':widget_list,
                'current_page':this_page,
                'has_piwik':1,
                }, context_instance=RequestContext(request))
        else:
            return AQ_render_to_response(request, 'live/signup.html', {
                'has_piwik':0,
                }, context_instance=RequestContext(request))
Ejemplo n.º 4
0
def publisher_dashboard(request):
    from atrinsic.base.models import AqWidget, Organization, PublisherVertical, UserAqWidget, W9Status
    from forms import DashboardSettingsForm, w9UploadForm
    from atrinsic.util.AceApi import create_company

    this_page = 'publisher-dashboard'
    all_advertisers = Organization.objects.filter(
        publisher_relationships__status=RELATIONSHIP_ACCEPTED,
        publisher_relationships__publisher=request.organization)

    aids = []
    aids = [j.id for j in all_advertisers]

    x = UserAqWidget.objects.select_related("AqWidget").filter(
        page=this_page,
        organization=request.organization).order_by('sort_order')
    widgets = UserAqWidget.prep(x, request, aids)

    z = AqWidget.objects.filter(widget_type__in=[1, 3], Active=1)
    widget_list = AqWidget.prep(z)

    inbox = request.organization.received_messages.filter(
        is_active=True).order_by('-date_sent')

    # Check W9 Status form, if record doesnt exist, or set to Not Received
    # pass bool to page to display warning Lightbox
    showW9Warning = False

    #if request.organization.country != None and request.organization.country.lower().find("us") > -1:
    try:
        wNine = W9Status.objects.get(organization=request.organization)
    except:
        wNine = W9Status.objects.create(organization=request.organization,
                                        status=W9_STATUS_NOT_RECEIVED,
                                        datereceived=datetime.datetime.now())

    if wNine.status != W9_STATUS_NOT_RECEIVED:
        showW9Warning = False
        uploadForm = ""
    else:
        showW9Warning = True
        uploadForm = ""

    if request.organization.ace_id == None:
        create_company(request.organization)

    hashed_ACEID = (int(request.organization.ace_id) + 148773) * 12

    return AQ_render_to_response(
        request,
        'publisher/dashboard.html',
        {
            'verticals':
            PublisherVertical.objects.filter(
                is_adult=request.organization.is_adult).order_by('order'),
            'widgets':
            widgets,
            'widget_list':
            widget_list,
            'current_page':
            this_page,
            'msgcount':
            inbox,
            'settings':
            True,
            'sdate':
            request.GET.get('start_date', ''),
            'edate':
            request.GET.get('end_date', ''),
            'showW9Warning':
            showW9Warning,
            'wNineForm':
            w9UploadForm(),
            'w9Link':
            settings.W9_PATH,
            'hashed_ACEID':
            hashed_ACEID,
            #'w9Up' : W9UploadForm()
        },
        context_instance=RequestContext(request))