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, }
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}
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, }
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, }
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}
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}
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"Добавить альбом"))
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
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)
def sign_out(request): logout(request) return redirect_to_view('index')
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)