fix: Search displays already deleted files

This commit is contained in:
JT Smith 2006-06-23 22:35:16 +00:00
parent fe422d0051
commit 5c16bd4d82
3 changed files with 12 additions and 5 deletions

View file

@ -27,6 +27,7 @@
- fix: select all checkbox does not work on clipboard / asset manager in IE
- fix: yes/no required profile fields evaluate as false if user chooses no
- fix: Shortcuts w/multiple criteria
- fix: Search displays already deleted files
6.99.4

View file

@ -106,6 +106,7 @@ sub purge {
$self->session->db->write("delete from ".$definition->{tableName}." where assetId=".$self->session->db->quote($self->getId));
}
$self->session->db->write("delete from metaData_values where assetId = ".$self->session->db->quote($self->getId));
$self->session->db->write("delete from assetIndex where assetId=".$self->session->db->quote($self->getId));
$self->session->db->write("delete from asset where assetId=".$self->session->db->quote($self->getId));
$self->session->db->commit;
$self->purgeCache;
@ -126,10 +127,15 @@ Removes asset from lineage, places it in trash state. The "gap" in the lineage i
sub trash {
my $self = shift;
return undef if ($self->getId eq $self->session->setting->get("defaultPage") || $self->getId eq $self->session->setting->get("notFoundPage"));
$self->session->db->beginTransaction;
$self->session->db->write("update asset set state='trash-limbo' where lineage like ".$self->session->db->quote($self->get("lineage").'%'));
$self->session->db->write("update asset set state='trash', stateChangedBy=".$self->session->db->quote($self->session->user->userId).", stateChanged=".$self->session->datetime->time()." where assetId=".$self->session->db->quote($self->getId));
$self->session->db->commit;
my $db = $self->session->db;
$db->beginTransaction;
my $sth = $db->read("select assetId from asset where lineage like ?",[$self->get("lineage").'%']);
while (my ($id) = $sth->array) {
$db->write("delete from assetIndex where assetId=?",[$id]);
}
$db->write("update asset set state='trash-limbo' where lineage like ?",[$self->get("lineage").'%']);
$db->write("update asset set state='trash', stateChangedBy=?, stateChanged=? where assetId=?",[$self->session->user->userId, $self->session->datetime->time(), $self->getId]);
$db->commit;
$self->{_properties}{state} = "trash";
$self->updateHistory("trashed");
$self->purgeCache;

View file

@ -110,7 +110,7 @@ sub reindexSite {
my $rs = $session->db->read("select assetId, className from asset where state='published'");
while (my ($id, $class) = $rs->array) {
my $asset = WebGUI::Asset->new($session,$id,$class);
if (defined $asset && $asset->get("status") eq "approved" || defined $asset && $asset->get("status") eq "archived") {
if (defined $asset && $asset->get("state") eq "published" && ($asset->get("status") eq "approved" || $asset->get("status") eq "archived")) {
print $asset->getId."\t".$asset->getTitle."\t";
my $t = [Time::HiRes::gettimeofday()];
$asset->indexContent;