Esempio n. 1
0
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))
Esempio n. 2
0
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))