def index(request): # get newest issue and redirect to it current = current_issue() if current is None: return HttpResponse("no published issues yet") else: return HttpResponseRedirect(current.get_absolute_url())
def banner_css(request): current = current_issue() response = render_to_response("banner.html",dict(current=current)) response['Content-Type'] = "text/css" return response
def admin_add_issue(request): if request.method == "POST": name = request.POST.get("name","") pub_date = request.POST['pub_date'] # must be there number = request.POST["number"] content = request.POST.get("content","") author = get_object_or_404(Author,id=request.POST["author"]) tags = request.POST.get("tags","") issue = Issue.objects.create(status="draft",name=name,number=number,pub_date=pub_date) if 'banner' in request.FILES: file = request.FILES['banner'] filename = file['filename'] full_filename = '%s/banners/banner-%s.jpg' % (MEDIA_ROOT, pub_date) fd = open(full_filename, 'wb') fd.write(file['content']) fd.close() issue.banner = 'banners/banner-%s.jpg' % pub_date issue.save() slug = name.lower().replace(" ","-") article = Article.objects.create(issue=issue, headline=name, slug=slug, lede="", content=content, author=author, cardinality=1, source=request.POST.get("image_source",""), ) if 'article_image' in request.FILES: file = request.FILES['article_image'] filename = file['filename'] (y,m,d) = [int(x) for x in pub_date.split("-")] full_path = '%s/article_images/%04d/%02d/%02d' % (MEDIA_ROOT,y,m,d) try: os.makedirs(full_path) except: pass full_filename = full_path + "/" + filename fd = open(full_filename, 'wb') fd.write(file['content']) fd.close() article.image = 'article_images/%04d/%02d/%02d/%s' % (y,m,d,filename) article.source = request.POST.get('image_source','') article.save() tags = request.POST.get("tags","") article.set_tags(tags) return HttpResponseRedirect("/fuadmin/") else: all_authors = Author.objects.all() now = datetime.now() next_month = (now.year,now.month + 1,1) if now.month == 12: next_month[0] = now.year + 1 next_month[1] = 1 number = int(current_issue().number) + 1 return render_to_response("admin_add_issue.html",dict(all_authors=all_authors, number=number, next_month="%04d-%02d-%02d" % next_month))