示例#1
0
文件: views.py 项目: tedwen/tea-scrum
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/')
示例#2
0
	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')
示例#3
0
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))            
示例#4
0
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/')
示例#5
0
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'))