Ignore:
Timestamp:
03/29/12 16:32:30 (12 years ago)
Author:
acoutinho
Message:

Ticket #2577 - Problemas com a criacaoo/Edicao de contas compartilhadas

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoAdmin1_2/js/jscode/shared_accounts.js

    r5804 r5850  
    212212 
    213213            var sharedUser = DataLayer.get('user', {filter: ['=','mail',$('#mail').val()]}); 
    214             var signature = DataLayer.get('calendarSignature', {filter: ['=','user', sharedUser[0].id]}); 
    215  
    216             var usuario = DataLayer.get('user', {filter: ['AND', ['=','uid',user], ['*','mail',user] ]}); 
    217             var calendarPermission = DataLayer.get('calendarToPermission', {filter: ['AND', ['=','calendar',signature[0].calendar], ['=','user',usuario[0].id] ] }); 
     214            for(var i = 0; i < sharedUser.length; i++) 
     215                if(sharedUser[i].phpgwAccountType == 's'){ 
     216                    sharedUser = sharedUser[i]; 
     217                    break; 
     218                } 
     219 
     220            var signature = DataLayer.get('calendarSignature', {filter: ['=','user', sharedUser.id]}); 
     221 
     222            if(!signature) 
     223                return; 
     224 
     225            var usuario = DataLayer.get('user', {filter: ['=','uid',user], criteria: {notExternal: true}}); 
     226            var calendarPermission = DataLayer.get('calendarToPermission', {filter: ['AND', ['=','calendar',signature[0].calendar], ['=','user',usuario[0].id] ]}); 
    218227 
    219228            var signatureUser = DataLayer.get('calendarSignature', {filter: ['AND', ['=','calendar', signature[0].calendar], ['=','user', usuario[0].id ] ]}); 
    220229 
    221             DataLayer.remove('calendarSignature', signatureUser[0].id); 
    222             DataLayer.remove('calendarToPermission', calendarPermission[0].id); 
     230            if(!!signatureUser && signatureUser[0].id) 
     231                DataLayer.remove('calendarSignature', signatureUser[0].id); 
     232             
     233            if(!!calendarPermission && calendarPermission[0].id) 
     234                DataLayer.remove('calendarToPermission', calendarPermission[0].id); 
    223235 
    224236        } 
     
    377389 
    378390                if(!!sharedUser && $.isArray(sharedUser)) 
    379                     sharedUser = sharedUser[0]; 
     391                    for(var i = 0; i < sharedUser.length; i++) 
     392                        if(sharedUser[i].phpgwAccountType == 's'){ 
     393                            sharedUser = sharedUser[i]; 
     394                            break; 
     395                        } 
    380396 
    381397                if(!!!sharemailbox.currentPemissions[sharedUser.id]) 
     
    410426                $.each(sharemailbox.ownersExpressoCalendarAcl, function(user, acl) { 
    411427 
    412                         var usuario = DataLayer.get('user', {filter: ['AND', ['=','uid',user], ['*','mail',user] ]}); 
     428                        var usuario = DataLayer.get('user', {filter: ['=','uid',user], criteria: {notExternal: true}}); 
    413429 
    414430                        if($.isArray(usuario)) 
    415431                            usuario = usuario[0]; 
    416432 
    417                          
    418433                        DataLayer.put('calendarToPermission', DataLayer.merge({ 
    419434                            user:  usuario.id, 
     
    455470function handler_save_shared_accounts2(data_return) 
    456471{ 
    457         if (!data_return.status) 
    458         { 
    459                 write_msg(data_return.msg, 'error'); 
    460         } 
    461         else 
    462         { 
    463                  
    464                 hidden_owners_acl.value = ""; 
     472        if(data_return){ 
     473            if (data_return.status){ 
     474                hidden_owners_acl.value = ""; 
    465475                close_lightbox(); 
    466476                write_msg(get_lang('Shared account successful saved') + '.', 'normal'); 
     477            }else 
     478                write_msg(data_return.msg , 'error');     
    467479        } 
    468480        return; 
Note: See TracChangeset for help on using the changeset viewer.