def review_create(request): if request.method == 'POST': review = Review() review.author = request.user form = ReviewForm(request.POST, instance=review) if form.is_valid(): form.save() return redirect(reverse('reviews_review_index'), context_instance=RequestContext(request)) else: form = ReviewForm() return render_to_response( 'reviews/review_add.html', { 'form': form, }, context_instance=RequestContext(request) )
def review_update(request, review_id): review = get_object_or_404(Review, pk=review_id) if request.user == review.author: if request.method == 'POST': form = ReviewForm(request.POST, instance=review) if form.is_valid(): form.save() messages.success(request, 'Entry updated.') else: form = ReviewForm(instance=review) else: raise Http404 return render_to_response( 'reviews/review_edit.html', { 'form': form, }, context_instance=RequestContext(request) )
def get_context_data(self, **kwargs): context_data = super().get_context_data(**kwargs) context_data['review_form'] = ReviewForm(**self.get_form_kwargs()) context_data['approve_form'] = ReviewApproveForm(**self.get_form_kwargs()) context_data['self_review'] = SelfReview.objects.get(user=self.object.target, interval=self.object.interval) context_data['previous_review'] = (Review.visible_to_reviewer.filter(target=self.object.target, reviewer=self.object.reviewer) .exclude(interval=self.current_interval) .order_by('interval__name').last()) return context_data
def add_review(request, review_id=None, ticket_id=None): """ Display and handle the :model:`reviews.forms.ReviewForm` used to add and edit :model:`reviews.Review` instances. **Context** ``form`` An instance of the :model:`reviews.forms.ReviewForm` ``review_instance`` An instance of the :model:`reviews.Review` # Not currently used from the Template **Template:** :template:'reviews/review.html' **Redirect:** Use the '_source' session parameter set by either 'main_page' or 'user_posts' views in order to redirect to the approrpiate view whenthe forms are validated. """ print("add_review:", request.method, review_id, ticket_id) review_instance = get_object_or_404(Review, pk=review_id) if review_id else None if review_id is not None: ticket_instance = review_instance.ticket else: ticket_instance = get_object_or_404(Ticket, pk=ticket_id) if ticket_id else None if request.method == "GET": form = ReviewForm(instance=review_instance) return render(request, "reviews/review.html", locals()) elif request.method == "POST": form = ReviewForm(request.POST, request.FILES, instance=review_instance) if form.is_valid(): new_review_instance = form.save(commit=False) new_review_instance.ticket = ticket_instance new_review_instance.user = request.user new_review_instance.save() return redirect_flux(request.session.get("_source")) return render(request, "reviews/review.html", locals())