def new(request, form_class=BlogForm, template_name="blog/new.html"): if request.method == "POST": if request.POST["action"] == "create": blog_form = form_class(request.user, request.POST, request.FILES) if blog_form.is_valid(): blog = blog_form.save(commit=False) blog.author = request.user # Create gallery and save with post photoset = PhotoSet(name = blog.title, user = request.user) photoset.save() blog.gallery = photoset if blog.author.is_staff: blog.status2 = True if getattr(settings, 'BEHIND_PROXY', False): blog.creator_ip = request.META["HTTP_X_FORWARDED_FOR"] else: blog.creator_ip = request.META['REMOTE_ADDR'] blog.save() photoset.content_object = blog photoset.save() # @@@ should message be different if published? request.user.message_set.create(message=_(u"Успішно збережено новину '%s'") % blog.title) if notification: if blog.status2 == 1:# published if friends: # @@@ might be worth having a shortcut for sending to all friends notification.send((x['friend'] for x in Friendship.objects.friends_for_user(blog.author)), "blog_friend_post", {"post": blog}) if request.POST.get("photoset") == "1": redirect_to = reverse('photos.views.editphotoset', kwargs={"id": photoset.pk}) else: redirect_to = reverse("blog_list_yours") return HttpResponseRedirect(redirect_to) else: blog_form = form_class() else: blog_form = form_class() return render_to_response(template_name, { "blog_form": blog_form, }, context_instance=RequestContext(request))
def add_event(request, form_class=EventForm, template_name="events/add_event.html"): """ Add new event """ event_form = form_class(request.user) if request.method == 'POST' and request.POST.get("action") == "add": event_form = form_class(request.user, request.POST, request.FILES) if event_form.is_valid(): event = event_form.save(commit=False) event.creator = request.user photoset = PhotoSet(name = event.title, user = request.user) photoset.save() event.gallery = photoset event.approved = request.user.is_staff # automatically approved if user is an administrator event.save() event.members.add(request.user) event.save() photoset.content_object = event photoset.save() if not event.approved: request.user.message_set.create(message=_(u"Адміністратор розгляне вашу заявку.")) if request.POST.get("photoset") == "1": redirect_to = reverse('photos.views.editphotoset', kwargs={"id": photoset.pk}) else: redirect_to = reverse("event_details", kwargs={"id": event.id}) return HttpResponseRedirect(redirect_to) # else: # event_form = form_class() return render_to_response(template_name, { "event_form": event_form }, context_instance=RequestContext(request))