def update_ad(request, site): active_site = Site.get_cached_by_id(site) try: ad = Ad.objects.get(id=request.POST['id'], site=active_site) ad.name = request.POST['name'] ad.format = request.POST['format'] ad.viewcounter = request.POST['viewcounter'] if not ad.is_adform_script(): ad.destination = request.POST['destination'].strip() if 'ad' in request.FILES: ad.delete_file() ad.sha1_hash, ad.extension, ad.content_type = upload(request.FILES['ad']) if not validate_size(request.FILES['ad'], request.POST['format']): messages.error(request, 'invalid_size') if 'ad_fallback' in request.FILES: ad.delete_fallback_file() ad.fallback_sha1_hash, ad.fallback_extension, ad.fallback_content_type = upload(request.FILES['ad_fallback']) if not validate_size(request.FILES['ad_fallback'], request.POST['format']): messages.error(request, 'invalid_size') else: script = request.POST['script'].strip() ad.destination = parse_adform_script_destination(script) ad.content_script = script ad.save() except IndexError: messages.error(request, 'unparseable_script') return redirect('admin:sites.ads.list', active_site.id)
def update_ad(request, site): active_site = Site.objects.get(id=site) try: ad = Ad.on(active_site).get(id=request.POST['id']) ad.name = request.POST['name'] ad.viewcounter = request.POST['viewcounter'] if not ad.is_adform_script(): ad.destination = request.POST['destination'].strip() if ad.width is not None: ad.width = request.POST['width'] if ad.height is not None: ad.height = request.POST['height'] if 'ad' in request.FILES: ad.delete_file() ad.sha1_hash, ad.extension, ad.content_type = upload(request.FILES['ad']) if 'ad_fallback' in request.FILES: ad.delete_fallback_file() ad.fallback_sha1_hash, ad.fallback_extension, ad.fallback_content_type = upload(request.FILES['ad_fallback']) else: script = request.POST['script'].strip() ad.destination = parse_adform_script_destination(script) ad.content_script = script ad.save() except IndexError: messages.error(request, 'unparseable_script') return redirect('admin.sites.ads.views.list', active_site.id)
def create_ad(request, site): active_site = Site.objects.get(id=site) if request.POST['type'] == 'file': if not 'ad' in request.FILES: return redirect('admin.sites.ads.views.list', active_site.id) hash, extension, content_type = upload(request.FILES['ad']) fallback_hash = None fallback_extension = None fallback_content_type = None if 'ad_fallback' in request.FILES: fallback_hash, fallback_extension, fallback_content_type = upload(request.FILES['ad_fallback']) width = None if request.POST['width'] == '' else request.POST['width'].strip() height = None if request.POST['height'] == '' else request.POST['height'].strip() ad = Ad( name=request.POST['name'].strip(), extension=extension, destination=request.POST['destination'].strip(), viewcounter=request.POST['viewcounter'].strip(), sha1_hash=hash, width=width, height=height, content_type=content_type, fallback_extension=fallback_extension, fallback_sha1_hash=fallback_hash, fallback_content_type=fallback_content_type, site=active_site, ) ad.save() elif request.POST['type'] == 'adform-script': try: script = request.POST['script'].strip() destination = parse_adform_script_destination(script) ad = Ad( name=request.POST['name'].strip(), extension='', destination=destination, viewcounter=request.POST['viewcounter'].strip(), sha1_hash='', width=None, height=None, content_script=script, content_type=Ad.ADFORM_SCRIPT_CONTENT_TYPE, fallback_extension=None, fallback_sha1_hash=None, fallback_content_type=None, site=active_site, ) ad.save() except IndexError: messages.error(request, 'unparseable_script') return redirect('admin.sites.ads.views.list', active_site.id)
def create_ad(request, site): active_site = Site.get_cached_by_id(site) if request.POST['type'] == 'file': if 'ad' not in request.FILES: return redirect('admin:sites.ads.list', active_site.id) hash, extension, content_type = upload(request.FILES['ad']) # Validation has do be done after upload, or upload will not work properly if not validate_size(request.FILES['ad'], request.POST['format']): messages.error(request, 'invalid_size') fallback_hash = None fallback_extension = None fallback_content_type = None if 'ad_fallback' in request.FILES: fallback_hash, fallback_extension, fallback_content_type = upload(request.FILES['ad_fallback']) if not validate_size(request.FILES['ad_fallback'], request.POST['format']): messages.error(request, 'invalid_size') ad = Ad( name=request.POST['name'].strip(), extension=extension, destination=request.POST['destination'].strip(), viewcounter=request.POST['viewcounter'].strip(), sha1_hash=hash, content_type=content_type, fallback_extension=fallback_extension, fallback_sha1_hash=fallback_hash, fallback_content_type=fallback_content_type, site=active_site, format=request.POST['format'], ) ad.save() elif request.POST['type'] == 'adform-script': try: script = request.POST['script'].strip() destination = parse_adform_script_destination(script) ad = Ad( name=request.POST['name'].strip(), extension='', destination=destination, viewcounter=request.POST['viewcounter'].strip(), sha1_hash='', content_script=script, content_type=Ad.ADFORM_SCRIPT_CONTENT_TYPE, fallback_extension=None, fallback_sha1_hash=None, fallback_content_type=None, site=active_site, format=request.POST['format'], ) ad.save() except IndexError: messages.error(request, 'unparseable_script') return redirect('admin:sites.ads.list', active_site.id)