def edit_product(request, pid=None): """ Show an edit form for a Product entity. """ if not pid: pid = request.REQUEST.get('pid', None) if pid: product = get_object_or_404(Product, pk=pid) if not product.owner_or_master(request.user): return render(request, 'error', {'err':_('Permission denied')}) else: product = None if request.method == 'POST': form = ProductForm(request.POST, instance=product) if form.is_valid(): pd = form.save(commit=False) if not hasattr(pd, 'owner'): setattr(pd, 'owner', request.user) pd.save() #form.save_m2m() return HttpResponseRedirect('/product/') else: if product: form = ProductForm(instance=product) else: form = ProductForm() return render(request, 'product_edit', {'form':form,'pid':pid}, 'product/')
def post(self, request, format=None): request.POST['general_id'] = base64.urlsafe_b64encode(SERVER_PREFIX + hexlify(os.urandom(6)))[:12] print "Request:", request.POST, request.FILES product_form = ProductForm(data=request.POST, files=request.FILES) if product_form.is_valid(): product_form.save() product = product_form.instance tags_string = product_form.cleaned_data['tags'] word_list = filter(None,[word.strip(string.punctuation) for word in tags_string.replace(';','; ').split() ]) for word in word_list: try: tag = ProductTag.objects.create(word=word) except IntegrityError as e: pass product.tags.add(tag) product.users_score_model = UsersScore.objects.create(product=product) product.save() return Response( {'form': product_form}, template_name='success.html') else: return Response( {'form': product_form}, template_name='add_product.html')
def update(request, product_id): if request.method == 'POST': product = Product.objects.get(id=product_id) form = ProductForm(request.POST, instance=product) if form.is_valid(): form.save() return redirect('/produtos') else: categories, measures, products = load() return render_to_response('product_edit.html', locals(), context_instance=RequestContext(request))
def edit_product(request, pid=None): """ Show an edit form for a Product entity. """ if not pid: pid = request.REQUEST.get('pid', None) if pid: product = get_object_or_404(Product, pk=pid) if not product.owner_or_master(request.user): return render(request, 'error', {'err': _('Permission denied')}) else: product = None if request.method == 'POST': form = ProductForm(request.POST, instance=product) if form.is_valid(): pd = form.save(commit=False) if not hasattr(pd, 'owner'): setattr(pd, 'owner', request.user) pd.save() #form.save_m2m() return HttpResponseRedirect('/product/') else: if product: form = ProductForm(instance=product) else: form = ProductForm() return render(request, 'product_edit', { 'form': form, 'pid': pid }, 'product/')
def edit(request, id): u = auth.get_current_user(request) if u.is_admin: p = Product.get(id) if not p: raise Http404("Product cannot be found") elif request.method == "POST": form = ProductForm(data=request.POST, instance=p) if form.is_valid(): form.save() else: form = ProductForm(instance=p) return render_to_response('store/edit.html', { 'form': form }, RequestContext(request)) return HttpResponseRedirect(reverse('store-index'))