Remove the corresponding information from the timeline on deletion.
This commit is contained in:
parent
d9ffac099f
commit
99dd3aa1d6
@ -130,4 +130,30 @@ class IDF_Timeline extends Pluf_Model
|
|||||||
$t->create();
|
$t->create();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove an item from the timeline.
|
||||||
|
*
|
||||||
|
* You must call this function when you delete items wich are
|
||||||
|
* tracked in the timeline. Just add the call:
|
||||||
|
*
|
||||||
|
* IDF_Timeline::remove($this);
|
||||||
|
*
|
||||||
|
* in the preDelete() method of your object.
|
||||||
|
*
|
||||||
|
* @param mixed Item to be removed
|
||||||
|
* @return bool Success
|
||||||
|
*/
|
||||||
|
public static function insert($item)
|
||||||
|
{
|
||||||
|
if ($item->id > 0) {
|
||||||
|
$sql = new Pluf_SQL('model_id=%s AND model_class=%s',
|
||||||
|
array($item->id, $item->_model));
|
||||||
|
$items = Pluf::factory('IDF_Timeline')->getList(array('filter'=>$sql->gen()));
|
||||||
|
foreach ($items as $tl) {
|
||||||
|
$tl->delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -154,6 +154,14 @@ class IDF_Upload extends Pluf_Model
|
|||||||
return Pluf::f('url_media').'/upload/'.$project->shortname.'/files/'.$this->file;
|
return Pluf::f('url_media').'/upload/'.$project->shortname.'/files/'.$this->file;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* We drop the information from the timeline.
|
||||||
|
*/
|
||||||
|
function preDelete()
|
||||||
|
{
|
||||||
|
IDF_Timeline::remove($this);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the timeline fragment for the file.
|
* Returns the timeline fragment for the file.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user