Changeset 6630


Ignore:
Timestamp:
06/26/12 10:53:11 (12 years ago)
Author:
eduardow
Message:

Ticket #2884 - Inconsistência ao remover marcadores.

Location:
branches/2.4/prototype
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/2.4/prototype/modules/mail/interceptors/Helpers.php

    r6385 r6630  
    4242                } 
    4343                 
    44                 Controller::delete( array( 'concept' => 'labeled' ), false, array( 'filter' => array( 'IN', 'id', $labeledsIds )) ); 
     44                Controller::delete( array( 'concept' => 'labeled', 'service' => 'Imap' ), false, array( 'filter' => array( 'IN', 'id', $labeledsIds )) ); 
    4545 
    4646                //return $result; 
  • branches/2.4/prototype/modules/mail/js/label.js

    r6043 r6630  
    8383} 
    8484 
    85 function updateMessageLabels(idLabel){ 
    86         var msgsReference = DataLayer.get('labeled', {filter: ['=', 'labelId', ''+idLabel]}, true); 
     85function updateMessageLabels(msgsReference){ 
    8786        for(var i = 0; i < msgsReference.length; i++){ 
    8887                updateLabelsColumn({msg_number: msgsReference[i].messageNumber, boxname: msgsReference[i].folderName}); 
     
    170169                                                 
    171170                                                draw_tree_labels(); 
    172                                                 updateMessageLabels(labelEdited.id); 
     171                                                var msgsReference = DataLayer.get('labeled', {filter: ['=', 'labelId', ''+labelEdited.id]}, true);  
     172                                                updateMessageLabels(msgsReference); 
    173173                                 
    174174                                                /** 
     
    206206                } 
    207207        }); 
     208         
     209        var msgsReference = DataLayer.get('labeled', {filter: ['=', 'labelId', ''+id]}, true); 
    208210                 
    209211        DataLayer.remove('label', id); 
     212         
    210213        DataLayer.commit(false, false, function(data){ 
    211214                $.contextMenu( 'destroy', ".table_box tbody tr"); 
    212215                loadMenu(); 
    213                 updateMessageLabels(id);                 
     216                updateMessageLabels(msgsReference);              
    214217        }); 
    215218        winElement.find(".label-list li:first").trigger("click"); 
  • branches/2.4/prototype/services/ImapServiceAdapter.php

    r6621 r6630  
    776776    public function deleteAll( $URI, $justthese = false, $criteria = false ) 
    777777    { 
     778                $op = $criteria['filter'][0];  
     779                $ids = $criteria['filter'][2];  
     780                if($op == 'IN'){  
     781                        foreach ($ids as $id){  
     782                                self::delete( array( 'concept' => $URI['concept'], 'id' => $id), false, false);  
     783                        }  
     784                } 
     785                 
    778786                /** 
    779787                 * TODO - implementar a deleção de todos os followupflaggeds conforme filtro 
Note: See TracChangeset for help on using the changeset viewer.