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))
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))
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))
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))