def post(request): """Method responsible for saving new offer. :param request: WSGIRequest instance """ form = CreateOfferForm(request.POST) if form.is_valid(): offer = form.save() offer.create_new() offer.save() save_history(request, offer, action=ADDITION) send_mail(request, 'offer_creation', ['*****@*****.**'], {'offer': offer}) messages.success(request, "Dziękujemy za dodanie oferty.") return redirect( 'offers_view', slug=slugify(offer.title), id_=offer.id, ) messages.error( request, "Formularz zawiera niepoprawnie wypełnione pola <br />{0}".format( '<br />'.join(form.errors)), ) return render( request, 'offers/offer_form.html', { 'form': form, 'offer': Offer(), 'organizations': request.user.userprofile.organizations.all(), })
def get(request): """Method responsible for rendering form for new offer. :param request: WSGIRequest instance """ if request.user.is_anonymous(): messages.info( request, "Aby założyć ofertę, musisz się zalogować lub zarejestrować.") return redirect('{login}?next={path}'.format( login=reverse('login'), path=request.path)) if request.user.userprofile.is_administrator: messages.info(request, "Administrator nie może tworzyć nowych ofert.") return redirect('offers_list') organizations = request.user.userprofile.organizations.all() if not organizations.exists(): messages.info( request, mark_safe("Nie masz jeszcze żadnej założonej organizacji" " na volontuloapp.org. Aby założyć organizację," " <a href='{}'>kliknij tu.</a>".format( reverse('organizations_create')))) return redirect('offers_list') return render( request, 'offers/offer_form.html', { 'offer': Offer(), 'form': CreateOfferForm(), 'organizations': organizations, })
def get(request): u"""Method responsible for rendering form for new offer. :param request: WSGIRequest instance """ if request.user.userprofile.is_administrator: messages.info(request, u"Administrator nie może tworzyć nowych ofert.") return redirect('offers_list') organizations = request.user.userprofile.organizations.all() if not organizations.exists(): messages.info( request, u"Nie masz jeszcze żadnej założonej organizacji" u" na volontuloapp.org. Aby założyć organizację," u" <a href='{}'>kliknij tu.</a>".format( reverse('organizations_create'))) return redirect('offers_list') return render( request, 'offers/offer_form.html', { 'offer': Offer(), 'form': CreateOfferForm(), 'organizations': organizations, })
def test_image(self): """Test image method.""" organization = Organization() organization.save() offer = Offer(title='Offer Title 123', organization=organization) offer.save() image = OfferImage(offer=offer, path=SimpleUploadedFile( name='test_image.jpg', content=b'test_content', )) image.save() context = { 'request': RequestFactory().get('/') } self.assertEqual( urlparse(OfferSerializer(context=context).get_image(offer)).path, image.path.url, )
def get(request): u"""Method responsible for rendering form for new offer. :param request: WSGIRequest instance """ if request.user.userprofile.is_administrator: messages.info(request, u"Administrator nie może tworzyć nowych ofert.") return redirect('offers_list') return render( request, 'offers/offer_form.html', { 'offer': Offer(), 'form': CreateOfferForm(), 'organizations': request.user.userprofile.organizations.all(), })
def test_slug(self): """Test slug method.""" offer = Offer(title='Offer Title 123') self.assertEqual(OfferSerializer().get_slug(offer), 'offer-title-123')