Fixed issue 183, project can not be deleted because of foreign key integrity constraints.

This commit is contained in:
Loic d'Anterroches
2009-04-16 13:27:41 +02:00
parent b9773b555c
commit 1656c99a48
3 changed files with 22 additions and 0 deletions

View File

@@ -541,4 +541,20 @@ class IDF_Project extends Pluf_Model
Pluf_Signal::send('IDF_Project::created',
'IDF_Project', $params);
}
/**
* The delete() call do not like circular references and the
* IDF_Tag is creating some. We predelete to solve these issues.
*/
public function preDelete()
{
$what = array('IDF_Upload', 'IDF_Review', 'IDF_Issue',
'IDF_WikiPage', 'IDF_Commit',
);
foreach ($what as $m) {
foreach (Pluf::factory($m)->getList(array('filter' => 'project='.(int)$this->id)) as $item) {
$item->delete();
}
}
}
}