Yeah I don't think that is the issue because it has worked several times before, probably a bug in the database I will just rebuild it and try again.
On Mon, Feb 13, 2012 at 2:08 PM, Richard Vézina <ml.richard.vez...@gmail.com > wrote: > Try db.commit() between your two insert... Maybe web2py is doing only one > commit at the end of your function, but since you do insert by hand instead > of let the form insert your maybe have to commit... > > Richard > > > On Mon, Feb 13, 2012 at 4:51 PM, Bruce Wade <bruce.w...@gmail.com> wrote: > >> Didn't touch psql. there is 3 records in that table already, so I was not >> sure why it would even default to 1. >> >> Here is the code that processes after the form is accepted. My code >> didn't increment anything just standard web2py calls. >> >> ---- >> if ucashmethod.process(formname='ucash').accepted: >> """ >> 1) Check payment amount >> 2) Check owing amount >> 3) Make sure payment amount is not greater then owing amount >> 4) Make sure member has enough ucash to cover the payment amount >> 5) Complete the order >> 6) Add to the capital investments >> 7) Give all the sponsor bonus >> 8) Redirect to thank you page >> """ >> if float(ucash_available) >= >> float(product_details['product_orders'].owing): >> print "ucash amount is good" >> payment_amount = product_details['product_orders'].owing >> ucash_before = distributor.ucash_balance >> distributor.ucash_balance -= int(payment_amount) >> distributor.ucash_balance_available -= int(payment_amount) >> ucash_after = distributor.ucash_balance >> >> product_details['product_orders'].owing -= int(payment_amount) >> product_details['product_orders'].update_record() >> distributor.update_record() >> >> payment = db.payments.insert( >> order_id = product_details['product_orders'].id, >> ack = '', >> transactionid = '', >> paymentstatus = 'Completed', >> pendingreason = 'None', >> currencycode = 'USD', >> taxamt = '0.00', >> paymenttype = 'Youcash', >> token = 'N/A', >> version = 1, >> build = 1, >> feeamt = '', >> reasoncode = 'None', >> amt = payment_amount, >> correlationid = 'CORRELATIONID', >> transactiontype = 'Youcash' >> ) >> >> db.cash_journal.insert( >> transaction_type = UCashChangeType.buy_product, >> distributor_id = distributor.id, >> happen_amount = -int(payment_amount), >> ucash_before = ucash_before, >> ucash_after = ucash_after, >> transaction_id = payment, >> operator_id = distributor.id >> ) >> >> if product_details['product_orders'].owing <= 0: >> # 1) add product, do bonus calculations >> x = distributor_engine.addProduct(distributor, >> product_details['products']) >> buy_time = >> distributor_engine.get_valid_buy_times(distributor) >> >> if distributor.id == 1: >> # place member as root >> #distributor_engine.place_member(None, None, None) >> >> distributor_engine.member_purchase_prod_calc(distributor, >> product_details['products']) >> elif (db(db.capital_investments.member_id == >> distributor.id).count() > 1 and x != -1) or ((buy_time==0 or >> buy_time==1) and distributor.upline_id and distributor.sponsor_id): >> print "Calculating bonuses" >> >> >> distributor_engine.member_purchase_prod_calc(distributor, >> product_details['products']) >> else: >> session.flash = T("Sorry there is not enough ucash in your >> account to complete this purchase!") >> redirect(URL('products','payment/%s' % purchase_uuid)) >> >> #session.flash = 'Congrats for your new product' >> redirect(URL('products','index')) >> >> On Mon, Feb 13, 2012 at 1:46 PM, Ron McOuat <ron.mco...@gmail.com> wrote: >> >>> It is like the sequence for that primary key has started over with a >>> reset to initial value since the key value that causes the exception is 1. >>> To do that I would think you would have to tweak the sequence with psql >>> while there is data in the table. >>> >>> Ron >>> >> >> >> >> -- >> -- >> Regards, >> Bruce Wade >> http://ca.linkedin.com/in/brucelwade >> http://www.wadecybertech.com >> http://www.warplydesigned.com >> http://www.fitnessfriendsfinder.com >> > > -- -- Regards, Bruce Wade http://ca.linkedin.com/in/brucelwade http://www.wadecybertech.com http://www.warplydesigned.com http://www.fitnessfriendsfinder.com