validation

Hi,

I have one problem,

   Regarding Medical store distributuin

       Store have two users i mean two sales persons, they are
distributing medicine to patients.

       Store having 50 colpol tablets, both users are trying to sale 40
colpol tablets at a same time, it means 80 tablets but store having 50
colpols only.

       For this i want reserve the stock while form entry itself,as well
as i dont want to use database level.

      any ruby or rails concept is there....?

advance thanks

actually, if it is the same database, then there is no way to happen at
the same time, right?

I don't know, maybe something like this:

class Tablet < ActiveRecord::Base

  validate :must_have_in_stock

  def must_have_in_stock
    qnt = Tablet.find(product_id).quantity
    erros.add(:quantity, 'There is only ' + qnt + ' in stock.')
        if quantity > qnt
  end
end

actually, if it is the same database, then there is no way to happen at
the same time, right?

Unfortunately, not true.

Anything working purely at the ruby level (such as a validation) will
run into race conditions doing this. One of Rails' answers to this is
optimistic locking (described in the active record api docs).

Fred

Frederick Cheung wrote:

actually, if it is the same database, then there is no way to happen at
the same time, right?

Unfortunately, not true.

Anything working purely at the ruby level (such as a validation) will
run into race conditions doing this. One of Rails' answers to this is
optimistic locking (described in the active record api docs).

Fred

Mr. Frederick Cheung thanks for replying,

  As u said, backend i have validated everythig. the person who submits
first get saved and for the second person it should display stock not
available..

  But my expectation is once the first user has selected the quantity
then for the second user the stock displayed should be available
quantity minus first user selected quantity.

note : This should work before both the users save the form.

As u said, backend i have validated everythig. the person who submits
first get saved and for the second person it should display stock not
available..

But my expectation is once the first user has selected the quantity
then for the second user the stock displayed should be available
quantity minus first user selected quantity.

note : This should work before both the users save the form.

Then you're going to have to spend quite a lot of time coming up with
some sort of ajaxy notification thing to track all this.

Fred