Deleting the database looks to have fixed it.

On Mon, Feb 13, 2012 at 2:24 PM, Bruce Wade <[email protected]> wrote:

> 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 <
> [email protected]> 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 <[email protected]> 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 <[email protected]>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
>



-- 
-- 
Regards,
Bruce Wade
http://ca.linkedin.com/in/brucelwade
http://www.wadecybertech.com
http://www.warplydesigned.com
http://www.fitnessfriendsfinder.com

Reply via email to