Booking entry object for creating/editing booking
Located in /inc/bb/bookingentry.php (line 42)
DBO | --DBRow | --BookingEntry
Inherited from DBRow
DBRow::$autonumbering
DBRow::$deleteFromTable
DBRow::$extrarows
DBRow::$includeAllFields
DBRow::$insertRow
DBRow::$isDeleted
DBRow::$newObject
DBRow::$recNum
DBRow::$recStart
DBRow::$restriction
DBRow::$use2StepSync
Inherited from DBO
DBO::$changed
DBO::$DEBUG
DBO::$deletable
DBO::$dumpheader
DBO::$editable
DBO::$errorMessage
DBO::$fatal_sql
DBO::$fields
DBO::$id
DBO::$idfield
DBO::$idfieldreal
DBO::$ignoreId
DBO::$isValid
DBO::$namebase
DBO::$oob_errorMessage
DBO::$oob_status
DBO::$suppressValidation
DBO::$table
Create a new BookingEntry object
override the default checkValid() method with a custom one that also checks that the booking is permissible (i.e. the instrument is indeed free)
A temp booking is made by _checkIsFree if all tests are OK. This temporary booking secures the slot (no race conditions) and is then updated by the sync() method.
delete the entry by marking it as deleted, don't actually delete the
override the default fill() method with a custom one that allows us to...
override the default sync() method with a custom one that allows us to...
override the default update() method with a custom one that allows us to:
secondary constructor that we can use just for deleting
check our admin status
check that the booking slot is indeed free before booking it
Here, we make a temporary booking and make sure that it is unique for that timeslot This is to prevent a race condition for checking and then making the new booking.
make sure that a non-admin user is not trying to unbook the instrument with less than the minimum notice
check if this booking is adjoining existing bookings -- it can explain why the booking is at funny times.
get the email text from the configured template with standard substitutions
Ensure that the entered data fits the granularity criteria specified for this instrument
make a temporary booking for this slot to eliminate race conditions for this booking
Check that the booking is not too far into the future
remove the temporary booking for this slot
if appropriate, send an email to the instrument supervisors to let them know that the
booking has been made
Work out what the default discount for this timeslot is from the timeslotrules
Inherited From DBRow
DBRow::DBRow()
DBRow::addElement()
DBRow::addElements()
DBRow::checkValid()
DBRow::delete()
DBRow::display()
DBRow::displayAsTable()
DBRow::displayInTable()
DBRow::fill()
DBRow::fillWithDefaults()
DBRow::setId()
DBRow::sync()
DBRow::text_dump()
DBRow::update()
DBRow::_sqlvals()
DBRow::_twoStageSync()
DBRow::__clone()
Inherited From DBO
DBO::DBO()
DBO::display()
DBO::log()
DBO::setEditable()
DBO::setNamebase()
DBO::text_dump()
DBO::__clone()
Documentation generated on Tue, 06 Mar 2007 10:00:53 +0000 by phpDocumentor 1.3.0