Ignore:
Timestamp:
2023-09-28T16:45:16+13:00 (8 months ago)
Author:
anupama
Message:

Still on removing user comments and the remove-metadata-array methods: 1. Sorting the metapositions array in the crucial *descending* order now is done in the perl remove-metadata-array functions, where it should have been done in the first place, so callers don't need to know to do this. 2. Delete user comments button wasn't getting disabled, because I was not using the right JavaScript ID to select it.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/perllib/cgiactions/modmetadataaction.pm

    r38233 r38251  
    34013401        my $metapositions = $metatable_rec->{'metapositions'} || undef; # a sub-subarray
    34023402        if(defined $metapositions) {
     3403           
    34033404            my $metavalue = undef;
     3405            # Need to have metapositions sorted in *descending* order for
     3406            # remove_metadata_array to work. Start deleting from end of metadata list,
     3407            # so we don't have to recalculate metapos after each delete at a metapos
     3408            @$metapositions = reverse(sort(@$metapositions)); # https://perldoc.perl.org/functions/reverse
    34043409           
    34053410            foreach my $metapos ( @$metapositions ) { # metapositions is an array
     
    36303635    my $site = $self->{'site'};
    36313636    my $collect_dir = $gsdl_cgi->get_collection_dir($site);
    3632    
     3637   
    36333638    # look up additional args
    36343639   
     
    36433648    my $global_status = 0;
    36443649    my $global_mess = "";
     3650
     3651#    $gsdl_cgi->generate_error("*** Deliberately causing error to test errorResponse function\n");
    36453652   
    36463653    my @all_docids = ();
     
    36823689        my $metapositions = $metatable_rec->{'metapositions'}; # a sub-subarray
    36833690        if(defined $metapositions) {
    3684             foreach my $metapos ( @$metapositions ) {           
    3685             my $metavalue = undef;
     3691           
     3692            my $metavalue = undef;
     3693           
     3694            # need metapositions sorted in *descending* order
     3695            @$metapositions = reverse(sort(@$metapositions));
     3696           
     3697            foreach my $metapos ( @$metapositions ) {
    36863698           
    36873699            $metadata_xml_filename = $self->remove_import_metadata_entry($gsdl_cgi, $arcinfo_doc_filename, $infodbtype, $docid_root, $metaname, $metapos, $metavalue, $metamode); # at this point, docid_root = docid
     
    37793791        $metaname  = $metatable_rec->{'metaname'};
    37803792        my $metamode  = $metatable_rec->{'metamode'} || $doc_array_rec->{'metamode'} || $self->{'metamode'};
     3793       
    37813794        my $metapositions = $metatable_rec->{'metapositions'}; # a sub-subarray
    37823795        if(defined $metapositions) {
    3783             foreach my $metapos ( @$metapositions ) {           
    3784             my $metavalue = undef;
     3796           
     3797            my $metavalue = undef;
     3798           
     3799            # need metapositions sorted in *descending* order
     3800            @$metapositions = reverse(sort(@$metapositions));
     3801           
     3802            foreach my $metapos ( @$metapositions ) {
    37853803           
    37863804            $status = $self->remove_archives_metadata_entry($gsdl_cgi, $archive_dir, $infodbtype,
Note: See TracChangeset for help on using the changeset viewer.