Beispiel #1
0
def sign_up(request):

    if request.user.is_authenticated():
        return redirect_to_view('index')

    sign_up_form = SignUpForm(request.POST or None)

    if sign_up_form.is_valid():
        form_data = sign_up_form.cleaned_data
        email_matching = User.objects.filter(email=form_data['email'])

        if email_matching.count():
            messages.error(request,
                u'Email %(email)s уже зарегистрирован. Используйте другой.' %
                {
                    'email': form_data['email'],
                }
            )
            return redirect_to_view('sign_up')

        random_password = User.objects.make_random_password()

        User.objects.create_user(
            username = form_data['email'],
            email    = form_data['email'],
            password = random_password,
        )
        send_email(to=form_data['email'], tpl='signup',
                   context = {
                    'email': form_data['email'],
                    'password': random_password,
                    }
        )
        user = authenticate(username=form_data['email'], password=random_password)

        UserProfile.objects.create(user=user)

        login(request, user)

        messages.success(request, u"""Поздравляем вас! Теперь Вы —
            пользователь сайта. Мы уже сделали за вас вход на сайт.
            Надеемся, этот визит не станет последним. Для этого вам на
            электронную почту был отправлен пароль для входа на сайт."""
        )

        return redirect_to_view('index')

    return {
            'sign_up_form': sign_up_form,
        }
Beispiel #2
0
def edit(request, id):
    post = get_object_or_404(Post, id=id, author=request.user)
    post_form = PostForm(request.POST or None, instance=post)

    if post_form.is_valid():
        post.save()

        return redirect_to_view("post", id=post.id)

    return {"post": post, "post_form": post_form}
Beispiel #3
0
def new(request):
    community_form = CommunityForm(request.POST or None, request.FILES or None)

    if community_form.is_valid():
        community = community_form.save()

        return redirect_to_view('community', id=community.id)

    return {
        'community_form': community_form,
    }
Beispiel #4
0
def edit(request, id):
    owner = get_object_or_404(User, id=id)

    if request.user.id != owner.id and request.user.is_superuser == False:
        return redirect_to_view('index')

    profile = owner.get_profile()
    user_form = UserForm(request.POST or None, instance=owner, prefix='user')
    profile_form = UserProfileForm(request.POST or None, request.FILES or None, instance=profile, prefix='profile')

    if user_form.is_valid() and profile_form.is_valid():
        user_form.save()
        profile_form.save()
        return redirect_to_view('profile', id=owner.id)

    return {
        'profile_form': profile_form,
        'user_form': user_form,
        'owner': owner,
    }
Beispiel #5
0
def new(request, community_id):
    community = get_object_or_404(Community, id=community_id)
    blog_form = BlogForm(request.POST or None)

    if blog_form.is_valid():
        blog = blog_form.save(commit=False)
        blog.community = community
        blog.save()

        return redirect_to_view("blog", id=blog.id)

    return {"community": community, "blog_form": blog_form}
Beispiel #6
0
def new(request, blog_id):
    blog = get_object_or_404(Blog, id=blog_id)
    post_form = PostForm(request.POST or None)

    if post_form.is_valid():
        post = post_form.save(commit=False)
        post.author = request.user
        post.save()
        blog.posts.add(post)

        return redirect_to_view("post", id=post.id)

    return {"blog": blog, "post_form": post_form}
Beispiel #7
0
def add(request, id):
    owner = get_object_or_404(User, id=id)
    # take a look at http://djangosnippets.org/snippets/874/ plz
    # ... user._meta.get_all_related_objects() ...
    # too expensive for a deco to use with every user's staff?
    if request.user != owner:
        return HttpResponseForbidden("Take care of *your* account, please")

    album_form = PhotoAlbumForm(request.POST or None)

    if album_form.is_valid():
        album = album_form.save(commit=False)
        album.user = owner
        album.save()

        return redirect_to_view("show_photoalbum", id=owner.id, album_id=album.id)

    return dict(owner=owner, album_form=album_form, current_page=dict(title=u"Добавить альбом"))
Beispiel #8
0
def show(request, id, album_id):
    owner = get_object_or_404(User, id=id)
    album = get_object_or_404(PhotoAlbum, id=album_id)

    response = dict(owner=owner, album=album, current_page=dict(title=u"Альбом: %(name)s" % {"name": album.name}))

    if request.user == owner:
        PhotoFormset = modelformset_factory(Photo, form=PhotoForm, extra=2)
        config = {"form-TOTAL_FORMS": u"1", "form-INITIAL_FORMS": u"0", "form-MAX_NUM_FORMS": u""}

        photo_formset = PhotoFormset(request.POST or config, request.FILES or config)
        response.update({"photo_formset": photo_formset})

        if request.POST and photo_formset.is_valid():
            for photo_form in photo_formset.forms:
                photo = photo_form.save(commit=False)
                photo.album = album
                photo.user = owner
                photo.save()
            # prevent douple-post of the same data
            # maybe need def redirect_back() or smth of the kind
            return redirect_to_view("show_photoalbum", id=owner.id, album_id=album.id)

    return response
Beispiel #9
0
def delete(request, id):
    blog = get_object_or_404(Blog, id=id)
    community_id = blog.community.id
    blog.delete()

    return redirect_to_view("community", id=community_id)
Beispiel #10
0
def sign_out(request):
    logout(request)

    return redirect_to_view('index')
Beispiel #11
0
def delete(request, id):
    post = get_object_or_404(Post, id=id, author=request.user)
    blog_id = post.blog.id
    post.delete()

    return redirect_to_view("blog", id=blog_id)