Changeset 38251 for main


Ignore:
Timestamp:
2023-09-28T16:45:16+13:00 (9 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.

Location:
main/trunk
Files:
2 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,
  • main/trunk/greenstone3/web/interfaces/default/js/user_comments.js

    r38248 r38251  
    254254    // until the metadata has been updated
    255255    document.getElementById("usercommentSubmitButton").disabled = true;
    256     var delCommentsButton = document.getElementById("delCommentsButton");
     256    var delCommentsButton = document.getElementById("del-selected-comments-button");
    257257    if(delCommentsButton != undefined) {// should be defined when in this function
    258258        delCommentsButton.disabled = true;
     
    272272    var failure = false;
    273273
    274     // Need to have metapositions in descending order for remove_metadata_array to work
    275     // Start deleting from end of metadata list, so we don't have to recalculate metapos each time
    276     /*
     274    // remove-metadata-array perl functions now ensure metapos array
     275    // is sorted in descending order
    277276    for (var i = 0; i < selectedComments.length; i++) {
    278277        var metapos = selectedComments[i].getAttribute("data-metapos");
    279         metadataPositions.unshift(metapos); // add metapos to start of array
    280     }*/
    281 
     278        metadataPositions.push(metapos);
     279        //metadataPositions.unshift(metapos); // add metapos to start of array
     280    }
     281
     282    /*
    282283    for (var i = selectedComments.length - 1; i >= 0; i--) {
    283284        var metapos = selectedComments[i].getAttribute("data-metapos");
    284285        metadataPositions.push(metapos); // add next lowest metapos to end of array
    285286    }
     287    */
    286288    }   
    287289   
     
    322324    // until the metadata has been updated
    323325    document.getElementById("usercommentSubmitButton").disabled = true;
    324     var delCommentsButton = document.getElementById("delCommentsButton");
     326    var delCommentsButton = document.getElementById("del-selected-comments-button");
    325327    if(delCommentsButton != undefined) {
    326328    delCommentsButton.disabled = true;
     
    366368    // until the metadata has been updated
    367369    document.getElementById("usercommentSubmitButton").disabled = true;
    368     var delCommentsButton = document.getElementById("delCommentsButton");
     370    var delCommentsButton = document.getElementById("del-selected-comments-button");
    369371    if(delCommentsButton != undefined) {// should be defined when in this function
    370372        delCommentsButton.disabled = true;
     
    497499    // that the removeMetada ajax operations have completed.
    498500    document.getElementById("usercommentSubmitButton").disabled = false;
    499     var delCommentsButton = document.getElementById("delCommentsButton");
     501    var delCommentsButton = document.getElementById("del-selected-comments-button");
    500502    if(delCommentsButton != undefined) {
    501503    delCommentsButton.disabled = false;
     
    575577    // until the metadata has been updated
    576578    document.getElementById("usercommentSubmitButton").disabled = true;
    577     var delCommentsButton = document.getElementById("delCommentsButton");
     579    var delCommentsButton = document.getElementById("del-selected-comments-button");
    578580    if(delCommentsButton != undefined) {
    579581    delCommentsButton.disabled = true;
     
    637639    // that the set-meta-array operation has completed.
    638640    document.getElementById("usercommentSubmitButton").disabled = false;
    639     var delCommentsButton = document.getElementById("delCommentsButton");
     641    var delCommentsButton = document.getElementById("del-selected-comments-button");
    640642    if(delCommentsButton != undefined) {
    641643    delCommentsButton.disabled = false;
Note: See TracChangeset for help on using the changeset viewer.