*
* CALLS BEFORE change occurs:
*
- * beforeDelete($dependants_array, $roo)
+ * beforeDelete($dependants_array, $roo, $request)
* Argument is an array of un-find/fetched dependant items.
* - jerr() will stop insert.. (Prefered)
* - return false for fail and set DO->err;
$affects = array();
- $all_links = $GLOBALS['_DB_DATAOBJECT']['LINKS'][$x->_database];
+ $all_links = $x->databaseLinks();
+
foreach($all_links as $tbl => $links) {
foreach($links as $col => $totbl_col) {
$to = explode(':', $totbl_col);
$match_total = 0;
if ( $has_beforeDelete ) {
- if ($xx->beforeDelete($match_ar, $this) === false) {
+ if ($xx->beforeDelete($match_ar, $this, $req) === false) {
$errs[] = "Delete failed ({$xx->id})\n".
(isset($xx->err) ? $xx->err : '');
continue;
}
- DB_DataObject::Factory('Events')->logDeletedRecord($x);
-
- $this->addEvent("DELETE", $x);
+ $this->logDeleteEvent($x);
$xx->delete();
}
+ function logDeleteEvent($object)
+ {
+
+ DB_DataObject::Factory('Events')->logDeletedRecord($object);
+
+ $this->addEvent("DELETE", $object);
+
+
+ }
+
+
function update($x, $req, $with_perm_check = true)
{
if ( $with_perm_check && !$this->checkPerm($x,'E', $req) ) {
{
$this->permitError = true; // allow it to fail without dieing
- $lock = DB_DataObjecT::factory('Core_locking');
+ $lock = DB_DataObjecT::factory('core_locking');
$this->permitError = false;
if (is_a($lock,'DB_DataObject') && $this->authUser) {
// edit it anyways...
// can we find the user's lock.
- $lock = DB_DataObjecT::factory('Core_locking');
+ $lock = DB_DataObjecT::factory('core_locking');
$lock->on_id = $x->{$this->key};
$lock->on_table= strtolower($x->tableName());
$lock->person_id = $this->authUser->id;
$x->modified_by != $this->authUser->id
)
{
- $p = DB_DataObject::factory('Person');
+ $p = DB_DataObject::factory('core_person');
$p->get($x->modified_by);
$this->jerr($p->name . " saved the record since you started editing,\nDo you really want to update it?", array('needs_confirm' => true));