X-Git-Url: http://git.indexdata.com/?p=irspy-moved-to-github.git;a=blobdiff_plain;f=web%2Fhtdocs%2Fdetails%2Fdelete.mc;h=2b7effd1fcb648d44b15d81b3231bdcc7df6c3ea;hp=89cf5d38735c26ef712a6a4b41449818299cf0b6;hb=0bec962d2e873c489a31e172be2ef87cccecab5f;hpb=393f5d3e8ba6ee9d8e15174914c060d6ff0f0c9d diff --git a/web/htdocs/details/delete.mc b/web/htdocs/details/delete.mc index 89cf5d3..2b7effd 100644 --- a/web/htdocs/details/delete.mc +++ b/web/htdocs/details/delete.mc @@ -1,4 +1,4 @@ -%# $Id: delete.mc,v 1.6 2007-04-25 13:28:42 mike Exp $ +%# $Id: delete.mc,v 1.7 2007-06-27 11:09:32 mike Exp $ <%args> $id $really => 0 @@ -15,39 +15,10 @@ $really => 0

% } else { <%perl> - # We can't delete records using recordIdOpaque, since character - # sets are handled differently here in extended services from how - # they are used in the Alvis filter's record-parsing, and so - # non-ASCII characters come out differently in the two contexts. - # Instead, we must send a record whose contents indicate the ID of - # that which we wish to delete. There are two ways, both - # unsatisfactory: we could either fetch the actual record them - # resubmit it in the deletion request (which wastes a search and a - # fetch) or we could build a record by hand from the parsed-out - # components (which is error-prone and which I am not 100% certain - # will work since the other contents of the record will be - # different). The former evil seems to be the lesser. my $conn = new ZOOM::Connection("localhost:8018/IR-Explain---1", 0, user => "admin", password => "fruitbat", elementSetName => "zeerex"); - my $rs = $conn->search(new ZOOM::Query::CQL(cql_target($id))); - if ($rs->size() == 0) { - $m->comp("/details/error.mc", - title => "Error", message => "No such ID '$id'"); - return 0; - } - my $rec = $rs->record(0); - my $xml = $rec->render(); - - my $p = $conn->package(); - $p->option(action => "recordDelete"); - $p->option(record => $xml); - $p->send("update"); - $p->destroy(); - - $p = $conn->package(); - $p->send("commit"); - $p->destroy(); + ZOOM::IRSpy::_delete_record($conn, $id);

Deleted record