Changeset 5804


Ignore:
Timestamp:
03/23/12 16:39:10 (12 years ago)
Author:
acoutinho
Message:

Ticket #2434 - Implementada funcionalidade de criacao de agenda para contas compartilhadas e imposicao de agendas

Location:
trunk
Files:
11 added
27 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/admin/inc/class.uiconfig.inc.php

    r5773 r5804  
    1818                function index() 
    1919                { 
     20                 
     21                                ob_start(); 
     22                        print_r("teste :D :D :D"); 
     23         
     24                        $output = ob_get_clean(); 
     25                        file_put_contents( "/tmp/acoutinho.log",  $output , FILE_APPEND); 
     26                 
    2027                        if ($GLOBALS['phpgw']->acl->check('site_config_access',1,'admin')) 
    2128                        { 
     
    6976                                $current_config = $c->config_data; 
    7077                        } 
     78         
     79                if($appname === "expressoCalendar"){                                             
     80                        if (isset($_POST['migration']) && ($_POST['migration']  == "true")){ 
     81                         
     82                                require_once dirname(__FILE__ )."/../../expressoCalendar/inc/class.ui_migration.inc.php"; 
     83 
     84                                $migratrion = new Migra(); 
     85                                $migratrion->calendar(); 
     86                        } 
     87                } 
    7188 
    7289                        if ($_POST['cancel'] || $_POST['submit'] && $GLOBALS['phpgw']->acl->check('site_config_access',2,'admin')) 
     
    289306                                 
    290307                                $t->set_var('rows_login_generator',$options); 
    291                         } 
    292                          
     308                        }                
    293309                         
    294310                        if($appname=="admin") {                                                  
  • trunk/admin/inc/hook_admin.inc.php

    r3480 r5804  
    8585                $file['VoIP settings']         = $GLOBALS['phpgw']->link('/index.php','menuaction=admin.uivoip.edit_conf'); 
    8686        } 
     87         
     88        if (! $GLOBALS['phpgw']->acl->check('site_config_access',1,'admin')) 
     89        { 
     90                $file['Calendar settings'] = $GLOBALS['phpgw']->link('/index.php','menuaction=admin.uicalendar.edit_conf'); 
     91        } 
    8792 
    8893        /* Do not modify below this line */ 
  • trunk/expressoAdmin1_2/inc/class.uishared_accounts.inc.php

    r5133 r5804  
    5151                        $contexts = $acl['contexts']; 
    5252                         
     53                        // Loading Config Module 
     54                        $conf = CreateObject('phpgwapi.config','phpgwapi'); 
     55                        $conf->read_repository(); 
     56                        $config = $conf->config_data;   
     57                         
    5358                        foreach ($acl['contexts_display'] as $index=>$tmp_context) { 
    5459                                $context_display .= '<br>'.$tmp_context; 
     
    100105                            'changequote_disabled' => $this->functions->check_acl($account_lid,'edit_shared_accounts_quote') ? '' : 'readonly', 
    101106                            'disabled_empty_inbox' => $this->functions->check_acl($account_lid,'empty_shared_accounts_inbox') ? '' : 'disabled', 
    102                             'display_quota_used' => 'none' 
     107                            'display_quota_used' => 'none', 
     108                            'aclExpressoCalendar' => (isset($config['defaultCalendar']) && ($config['defaultCalendar'] == 'expressoCalendar')) ? '' : 'none', 
     109                            'aclCalendar' => (isset($config['defaultCalendar']) && ($config['defaultCalendar'] == 'calendar')) ? '' : 'none' 
    103110                        ); 
    104111                        $p->set_var($var); 
     
    107114                         
    108115                        $var = Array( 
    109                                 'th_bg'                                         => $GLOBALS['phpgw_info']['theme']['th_bg'], 
    110                                 'back_url'                                      => $GLOBALS['phpgw']->link('/expressoAdmin1_2/index.php'), 
    111                                 'context_display'                       => $context_display, 
     116                                'th_bg' => $GLOBALS['phpgw_info']['theme']['th_bg'], 
     117                                'back_url' => $GLOBALS['phpgw']->link('/expressoAdmin1_2/index.php'), 
     118                                'context_display' => $context_display, 
    112119                                'shared_accounts_modal' => $shared_accounts_modal_tpl,                                 
    113120                                'onclick_create_shared_account' => "modal(\"$modal_id\",\"create\")" 
  • trunk/expressoAdmin1_2/index.php

    r5133 r5804  
    99        *  option) any later version.                                                                                                            * 
    1010        \*************************************************************************************/ 
    11         $debug = false;  
     11         
     12        echo ' 
     13            <link rel="Stylesheet" type="text/css" href="../prototype/plugins/jquery/jquery-ui.css" />                                   
     14     
     15            <script type="text/javascript" src="../prototype/plugins/jquery/jquery.min.js"></script> 
     16         
     17            <script type="text/javascript" src="../prototype/plugins/jquery/jquery-ui.min.js"></script> 
     18            <script type="text/javascript" src="../prototype/plugins/jquery/jquery-ui.custom.min.js"></script> 
     19            <script src="../prototype/plugins/json2/json2.js" language="javascript"></script> 
     20            <script src="../prototype/plugins/ejs/ejs.js" language="javascript"></script> 
     21            <script src="../prototype/plugins/store/jquery.store.js" language="javascript"></script> 
     22             
     23            <script src="../prototype/api/datalayer.js" language="javascript"></script>  
     24            
     25            <link rel="stylesheet" type="text/css" href="../prototype/plugins/zebradialog/css/zebra_dialog.css"></link> 
     26 
     27            <script type="text/javascript" src="../prototype/plugins/zebradialog/javascript/zebra_dialog.js"></script> 
     28            <script language="javascript">DataLayer.dispatchPath = "../prototype/";</script> 
     29            <script type="text/javascript" src="../prototype/plugins/datejs/date-pt-BR.js"></script> 
     30            <script type="text/javascript" src="../prototype/plugins/datejs/sugarpak.js"></script> 
     31            <script type="text/javascript" src="../prototype/plugins/datejs/parser.js"></script> 
     32 
     33            <script type="text/javascript" src="../prototype/modules/calendar/js/timezone.js"></script>  
     34             
     35            <script type="text/javascript" src="../prototype/modules/calendar/js/calendar.codecs.js"></script> 
     36             
     37            <script type="text/javascript" src="js/jscode/assing_calendar.js"></script> 
     38            <script type="text/javascript" src="../prototype/plugins/scrollto/jquery.scrollTo.js"></script> 
     39 
     40            <link rel="stylesheet" type="text/css" href="../prototype/modules/calendar/css/layout.css" /> 
     41            <link rel="stylesheet" type="text/css" href="../prototype/modules/calendar/css/style.css" /> 
     42            <link rel="stylesheet" type="text/css" href="templates/default/assing_calendar.css" /> 
     43        '; 
     44 
     45        $debug = false;  
    1246        $time_start = microtime(true); 
    1347 
     
    2054         
    2155        $current_config = $c->config_data; 
     56                   
    2257        $ldap_manager = CreateObject('contactcenter.bo_ldap_manager'); 
    2358        $boemailadmin   = CreateObject('emailadmin.bo'); 
     
    4176                'lang_messages_size'    => lang('Messages Size'), 
    4277                'lang_institutional_accounts'=> lang('Institutional Accounts'), 
     78                'lang_assing_calendar' => lang('Assign default calendar for user'), 
    4379                'lang_user_groups'              => lang('User Groups'), 
    4480                'lang_email_lists'              => lang('Email Lists'), 
  • trunk/expressoAdmin1_2/js/jscode/shared_accounts.js

    r5589 r5804  
    168168                Element('em_input_saveAcl').checked = false; 
    169169                Element('em_input_folderAcl').checked = false; 
     170                 
    170171                Element('em_input_readCalendar').checked = false; 
    171172                Element('em_input_writeCalendar').checked = false; 
     
    173174                Element('em_input_deleteCalendar').checked = false; 
    174175                Element('em_input_restrictCalendar').checked = false; 
     176                 
     177                Element('em_input_readExpressoCalendar').checked = false; 
     178                Element('em_input_writeExpressoCalendar').checked = false; 
     179                Element('em_input_freebusyExpressoCalendar').checked = false; 
     180                Element('em_input_deleteExpressoCalendar').checked = false; 
     181                 
     182                 
    175183        Element('em_input_sendAcl').disabled = true; 
    176184        select_owners = Element('ea_select_owners'); 
     
    182190{ 
    183191        select_owners = Element('ea_select_owners'); 
     192         
     193        var user = ''; 
    184194        for(var i = 0;i < select_owners.options.length; i++) 
    185195                if(select_owners.options[i].selected){ 
    186                         var user = select_owners.options[i].value; 
     196                        user = select_owners.options[i].value; 
    187197                        delete sharemailbox.ownersAcl[user]; 
    188198                       sharemailbox.ownersCalendarAcl[user] = ''; 
     
    193203       if(select_owners.options.length > 0 ){ 
    194204            select_owners.options[0].selected = true; 
    195             var user = select_owners.options[0].value; 
     205            user = select_owners.options[0].value; 
    196206            sharemailbox.getaclfromuser(user); 
    197207       } 
     208        
     209       if(sharemailbox.ownersExpressoCalendarAcl){ 
     210 
     211            delete sharemailbox.ownersExpressoCalendarAcl[user]; 
     212 
     213            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] ] }); 
     218 
     219            var signatureUser = DataLayer.get('calendarSignature', {filter: ['AND', ['=','calendar', signature[0].calendar], ['=','user', usuario[0].id ] ]}); 
     220 
     221            DataLayer.remove('calendarSignature', signatureUser[0].id); 
     222            DataLayer.remove('calendarToPermission', calendarPermission[0].id); 
     223 
     224        } 
     225        
     226        
     227        
    198228} 
    199229 
     
    261291            Element('desc').value = data.description; 
    262292            //Necessario, pois o IE6 tem um bug que não exibe as novas opções se o innerHTML estava vazio 
    263             Element('ea_select_owners').innerHTML = '&nbsp;' + data.owners_options; 
    264             Element('ea_select_owners').outerHTML = Element('ea_select_owners').outerHTML; 
    265  
     293             
     294            if(data.owners_options){ 
     295                Element('ea_select_owners').innerHTML = '&nbsp;' + data.owners_options; 
     296                Element('ea_select_owners').outerHTML = Element('ea_select_owners').outerHTML; 
     297            } 
    266298            Element('display_empty_inbox').style.display = data.display_empty_inbox; 
    267299            if( data.allow_edit_shared_account_acl == "0"){ 
     
    283315                        sharemailbox.ownersCalendarAcl = new Array(); 
    284316            if( data.owners && data.owners != "undefined" && data.owners_acl != "undefined" ){  
    285                                 for (i=0; i<data.owners.length; i++){ 
    286                                                 sharemailbox.ownersAcl[ data.owners[i] ] = data.owners_acl[i];   
    287                                                 sharemailbox.ownersCalendarAcl[ data.owners[i] ] = data.owners_calendar_acl[i]; 
    288                                 } 
     317                for (i=0; i<data.owners.length; i++){ 
     318                                sharemailbox.ownersAcl[ data.owners[i] ] = data.owners_acl[i];   
     319                                sharemailbox.ownersCalendarAcl[ data.owners[i] ] = data.owners_calendar_acl[i]; 
     320                } 
    289321            } 
     322 
     323            //new API compatibility 
     324            var signature = DataLayer.get('calendarSignature', {filter: ['=','user', data.uidnumber]}); 
     325            if(!!signature){ 
     326                sharemailbox.currentPemissions[data.uidnumber] = true; 
     327                var calendarPermission = DataLayer.get('calendarToPermission:detail', {filter: ['=','calendar',signature[0].calendar], criteria:{deepness: 2}}); 
     328                if(calendarPermission){ 
     329                    var owners_options = ''; 
     330                    for (i=0; i < calendarPermission.length; i++){ 
     331                        sharemailbox.ownersExpressoCalendarAcl[ calendarPermission[i].user.uid ] = calendarPermission[i].aclValues; 
     332                        owners_options += '<option value='+calendarPermission[i].user.uid+'>'+calendarPermission[i].user.name+'</option>' 
     333                        sharemailbox.currentPemissions[calendarPermission[i].user.uid] = calendarPermission[i].id; 
     334                    } 
     335 
     336 
     337                    delete sharemailbox.currentPemissions[undefined]; 
     338                    delete sharemailbox.currentPemissions[undefined]; 
     339 
     340                    Element('ea_select_owners').innerHTML = '&nbsp;' + owners_options; 
     341                    Element('ea_select_owners').outerHTML = Element('ea_select_owners').outerHTML; 
     342                     
     343                } 
     344         
     345            } 
     346             
     347             
    290348                } 
    291349                else 
     
    304362        else   form = document.forms["shared_accounts_form"]; 
    305363         
    306          hidden_owners_calendar_acl = Element('owners_calendar_acls'); 
     364        hidden_owners_calendar_acl = Element('owners_calendar_acls'); 
    307365        hidden_owners_acl = Element('owners_acls'); 
    308366        select_owners = Element('ea_select_owners'); 
    309367        for(var i = 0;i < select_owners.options.length; i++){            
    310                 var user = select_owners.options[i].value;                 
    311                 select_owners.options[i].value = user; 
    312                 } 
     368            var user = select_owners.options[i].value;                 
     369            select_owners.options[i].value = user; 
     370        } 
    313371        hidden_owners_acl.value =  admin_connector.serialize(sharemailbox.ownersAcl); 
     372         
     373        if(sharemailbox.ownersExpressoCalendarAcl){ 
     374             
     375            var calback = function(){ 
     376                var sharedUser = DataLayer.get('user', {filter: ['=','mail',$('#mail').val()]}); 
     377 
     378                if(!!sharedUser && $.isArray(sharedUser)) 
     379                    sharedUser = sharedUser[0]; 
     380 
     381                if(!!!sharemailbox.currentPemissions[sharedUser.id]) 
     382                    DataLayer.put('calendarSignature', { 
     383                        user: sharedUser.id, 
     384                        calendar:  { 
     385                            timezone: 'America/Sao_Paulo', 
     386                            name: $('#cn').val(), 
     387                            location : $('#cn').val(), 
     388                            description : $('#cn').val() 
     389                            }, 
     390                        isOwner:  '1', 
     391                        fontColor:  '000000', 
     392                        backgroundColor: 'f1efac', 
     393                        borderColor: 'eddb21' 
     394                    }); 
     395 
     396                var returns = function(data){ 
     397                     
     398                     
     399                    var calendar = ''; 
     400                     
     401                    if(data){ 
     402                        for(var i in data) 
     403                            if(i.indexOf('calendar:') >= 0) 
     404                                calendar = data[i].id; 
     405                    }else{ 
     406                        calendar = DataLayer.get('calendarSignature', {filter: ['=','user', sharedUser.id]}); 
     407                        calendar = calendar[0].calendar; 
     408                    } 
     409                     
     410                $.each(sharemailbox.ownersExpressoCalendarAcl, function(user, acl) { 
     411 
     412                        var usuario = DataLayer.get('user', {filter: ['AND', ['=','uid',user], ['*','mail',user] ]}); 
     413 
     414                        if($.isArray(usuario)) 
     415                            usuario = usuario[0]; 
     416 
     417                         
     418                        DataLayer.put('calendarToPermission', DataLayer.merge({ 
     419                            user:  usuario.id, 
     420                            type: '0', 
     421                            acl: acl, 
     422                            calendar: calendar 
     423                        }, !!sharemailbox.currentPemissions[usuario.uid] ? {id: sharemailbox.currentPemissions[usuario.uid]} : {})); 
     424                         
     425                        if(!!!sharemailbox.currentPemissions[usuario.uid]) 
     426                            DataLayer.put('calendarSignature', { 
     427                                user: usuario.id, 
     428                                calendar:  calendar, 
     429                                isOwner:  '0', 
     430                                fontColor:  '000000', 
     431                                backgroundColor: 'f1efac', 
     432                                borderColor: 'eddb21' 
     433                            }); 
     434 
     435                    }) 
     436                    DataLayer.commit();   
     437                }; 
     438                if(!!sharemailbox.currentPemissions[sharedUser.id]) 
     439                    returns(false); 
     440                else 
     441                    DataLayer.commit(false, false, returns); 
     442            } 
     443        } 
    314444        hidden_owners_calendar_acl.value =  admin_connector.serialize(sharemailbox.ownersCalendarAcl); 
    315445        cExecuteForm ("$this.shared_accounts.save", form, handler_save_shared_accounts); 
    316446        get_shared_accounts(Element('ea_shared_account_search').value); 
     447        calback(); 
    317448} 
    318449 
     
    364495                this.ownersAcl = new Array(); 
    365496                this.ownersCalendarAcl = new Array(); 
     497                this.ownersExpressoCalendarAcl = {}; 
     498                this.currentPemissions = {}; 
    366499        } 
    367500 
     
    409542                Element('em_input_restrictCalendar').checked = false; 
    410543 
     544                Element('em_input_readExpressoCalendar').checked = false; 
     545                Element('em_input_writeExpressoCalendar').checked = false; 
     546                Element('em_input_freebusyExpressoCalendar').checked = false; 
     547                Element('em_input_deleteExpressoCalendar').checked = false; 
     548 
    411549                Element('em_input_editCalendar').disabled = true; 
    412550                Element('em_input_deleteCalendar').disabled = true; 
    413551                Element('em_input_restrictCalendar').disabled = true; 
     552                 
     553                 
     554                if(this.ownersExpressoCalendarAcl[user]) 
     555                { 
     556                    if (this.ownersExpressoCalendarAcl[user].indexOf('r') >= 0) 
     557                    { 
     558                            Element('em_input_readExpressoCalendar').checked = true; 
     559                            Element('em_input_writeExpressoCalendar').checked = false; 
     560                            Element('em_input_freebusyExpressoCalendar').checked = false; 
     561                            Element('em_input_deleteExpressoCalendar').checked = false; 
     562                             
     563                    } 
     564                    if (this.ownersExpressoCalendarAcl[user].indexOf('w') >= 0) 
     565                    { 
     566                            Element('em_input_writeExpressoCalendar').checked = true; 
     567                    } 
     568                    if (this.ownersExpressoCalendarAcl[user].indexOf('d') >= 0) 
     569                    { 
     570                            Element('em_input_deleteExpressoCalendar').checked = true; 
     571                    } 
     572                    if (this.ownersExpressoCalendarAcl[user].indexOf('b') >= 0) 
     573                    { 
     574                            Element('em_input_freebusyExpressoCalendar').checked = true; 
     575                    } 
     576                } 
     577                 
    414578                 
    415579                if(this.ownersCalendarAcl[user]) 
     
    418582                    { 
    419583                            Element('em_input_readCalendar').checked = true; 
    420  
    421584                            Element('em_input_editCalendar').disabled = false; 
    422585                            Element('em_input_deleteCalendar').disabled = false; 
    423586                            Element('em_input_restrictCalendar').disabled = false; 
     587                             
     588                            Element('em_input_readExpressoCalendar').checked = true; 
     589                            Element('em_input_writeExpressoCalendar').checked = false; 
     590                            Element('em_input_freebusyExpressoCalendar').checked = false; 
     591                            Element('em_input_deleteExpressoCalendar').checked = false; 
     592                             
    424593                    } 
    425594                    if (this.ownersCalendarAcl[user].indexOf('2-',0) >= 0) 
    426595                    { 
    427596                            Element('em_input_writeCalendar').checked = true; 
     597                            Element('em_input_writeExpressoCalendar').checked = true; 
    428598                    } 
    429599                    if (this.ownersCalendarAcl[user].indexOf('4-',0) >= 0) 
    430600                    { 
    431601                            Element('em_input_editCalendar').checked = true; 
     602                            Element('em_input_writeExpressoCalendar').checked = true; 
    432603                    } 
    433604                    if (this.ownersCalendarAcl[user].indexOf('8-',0) >= 0) 
    434605                    { 
    435606                            Element('em_input_deleteCalendar').checked = true; 
     607                            Element('em_input_deleteExpressoCalendar').checked = true; 
    436608                    } 
    437609                    if (this.ownersCalendarAcl[user].indexOf('16-',0) >= 0) 
     
    535707                var acl         = ''; 
    536708                var select      = Element('ea_select_owners'); 
     709                 
     710                sharemailbox.ownersExpressoCalendarAcl = false; 
    537711 
    538712                if(select.selectedIndex == "-1"){ 
     
    556730                        Element('em_input_deleteCalendar').disabled = false; 
    557731                        Element('em_input_restrictCalendar').disabled = false; 
    558  
     732                         
    559733                        if (Element('em_input_editCalendar').checked) 
    560734                                acl += '4-'; 
    561735 
    562                         if (Element('em_input_deleteCalendar').checked) 
     736                        if (Element('em_input_deleteCalendar').checked ) 
    563737                                acl += '8-'; 
    564738 
     
    574748                        Element('em_input_deleteCalendar').checked = false; 
    575749                        Element('em_input_restrictCalendar').checked = false; 
    576                     } 
    577  
    578                     if (Element('em_input_writeCalendar').checked) 
     750                         
     751                    } 
     752 
     753                    if (Element('em_input_writeCalendar').checked || Element('em_input_writeExpressoCalendar').checked) 
    579754                            acl += '2-'; 
    580755 
    581756 
    582757                    this.ownersCalendarAcl[user] = acl; 
     758                } 
     759        } 
     760         
     761        cShareMailbox.prototype.setExpressoCalendaraclfromuser = function() 
     762        { 
     763                var acl         = ''; 
     764                var select      = Element('ea_select_owners'); 
     765                 
     766                sharemailbox.ownersCalendarAcl = false; 
     767 
     768                if(select.selectedIndex == "-1"){ 
     769                        alert("Selecione antes um usuario!"); 
     770                        return false; 
     771                } 
     772                 
     773                for(var k = 0; k < select.options.length; k ++ ) 
     774                { 
     775                    if(select.options[k].selected !== true ) continue; 
     776                     
     777                    acl = ''; 
     778                    var user = select.options[k].value; 
     779                     
     780                    if(Element('em_input_freebusyExpressoCalendar').checked) 
     781                    { 
     782                        Element('em_input_writeExpressoCalendar').disabled = true; 
     783                        Element('em_input_deleteExpressoCalendar').disabled = true; 
     784                        Element('em_input_readExpressoCalendar').disabled = true; 
     785                        Element('em_input_writeExpressoCalendar').checked = false; 
     786                        Element('em_input_deleteExpressoCalendar').checked = false; 
     787                        Element('em_input_readExpressoCalendar').checked = false; 
     788                                               
     789                         
     790                        acl += 'b' 
     791                    } 
     792                    else 
     793                    { 
     794                        Element('em_input_readExpressoCalendar').disabled = false; 
     795                        if (Element('em_input_readExpressoCalendar').checked) 
     796                        { 
     797                            acl += 'r'; 
     798 
     799                            Element('em_input_writeExpressoCalendar').disabled = false; 
     800                            Element('em_input_deleteExpressoCalendar').disabled = false; 
     801                            //Element('em_input_freebusyExpressoCalendar').disabled = false; 
     802 
     803                            if (Element('em_input_writeExpressoCalendar').checked) 
     804                                    acl += 'w'; 
     805 
     806                            if (Element('em_input_deleteExpressoCalendar').checked) 
     807                                    acl += 'd'; 
     808 
     809                        } 
     810                        else 
     811                        { 
     812                            Element('em_input_writeExpressoCalendar').disabled = true; 
     813                            Element('em_input_deleteExpressoCalendar').disabled = true; 
     814                            //Element('em_input_freebusyExpressoCalendar').disabled = true; 
     815                            Element('em_input_writeExpressoCalendar').checked = false; 
     816                            Element('em_input_deleteExpressoCalendar').checked = false; 
     817                           // Element('em_input_freebusyExpressoCalendar').checked = false; 
     818                        } 
     819 
     820                    } 
     821                     
     822                    this.ownersExpressoCalendarAcl[user] = acl; 
    583823                } 
    584824        } 
     
    650890                Element('em_input_saveAcl').checked = false; 
    651891                Element('em_input_folderAcl').checked = false; 
     892                 
    652893                Element('em_input_readCalendar').checked = false; 
    653894                Element('em_input_writeCalendar').checked = false; 
     
    655896                Element('em_input_deleteCalendar').checked = false; 
    656897                Element('em_input_restrictCalendar').checked = false; 
     898                 
     899                Element('em_input_readExpressoCalendar').disabled = true; 
     900                Element('em_input_writeExpressoCalendar').disabled = true; 
     901                Element('em_input_deleteExpressoCalendar').disabled = true; 
     902                Element('em_input_readExpressoCalendar').disabled = true; 
    657903        } 
    658904         
  • trunk/expressoAdmin1_2/templates/default/assing_calendar.ejs

    r5592 r5804  
    1 <fieldset class="shared-calendar-configure"> 
    2         <form method="POST" action="calendarToPermission:detail" class="form-addevent content"> 
    3         <fieldset> 
     1<fieldset class="assing-calendar-configure remove-border"> 
     2        <form method="POST" action="" class="form-addevent content"> 
     3            <fieldset class="remove-border"> 
    44                <dl class="block-user-list users-list"> 
    5                         <%if(data.calendar){%> 
    6                                 <dt class="calendar-shared">Calendario selecionado</dt> 
    7                                 <dd class="calendar"> 
    8                                         <select class="calendar" name="calendar"> 
    9                                                         <%for(var i = 0; i < data.calendar.length; i++){%> 
    10                                                                 <option value="<%=data.calendar[i].id%>"><%=data.calendar[i].name%></option> 
    11                                                         <%}%> 
    12                                         </select> 
    13                                         </dd> 
    14                         <%}%> 
     5                         
     6                    <dt class="calendar-list calendar-name">Calendario</dt> 
     7                    <dd class="calendar"> 
     8                        <input type="hidden" name="calendarId" value=""/> 
     9                        <ul class="calendarName"></ul>         
     10                    </dd> 
     11                         
    1512                        <dt class="<%=data.calendar ? "user-list" : "calendar-list"%>"><%=data.calendar ? 'Compartilhar com' : 'Agendas Selecionadas'%></dt> 
    1613                        <dd class="<%=data.calendar ? "user-list" : "calendar-list"%>"> 
     
    2522                                                                <label class="mail"></label> 
    2623                                                        </div>  
    27                                                         <div class="shared-acl"> 
     24                                                        <div class="assing-acl"> 
    2825                                                                        <a class="button edit user-options-button-edit new">Editar permissões</a> 
    2926                                                                        <a class="button close new">Remover</a> 
     
    4946                        </dl> 
    5047                <%}%> 
    51                 <dl class="<%=data.calendar ? "block-add-calendar" : "block-add-user"%> search "> 
    52                         <dt class="add-user search"><%=data.calendar ? 'Adicionar outros usuários' : 'Adicionar outras agendas'%></dt> 
    53                         <dd class="<%=data.calendar ? "add-user-calendar" : "add-user"%>"> 
     48                <dl class="block-add-user search "> 
     49                        <dt class="add-user search">Pesquisar agendas</dt> 
     50                        <dd class="add-user"> 
    5451                                <fieldset class="block-add-user" title="Usuários"> 
    5552                                        <fieldset class="add-user-search search-field ui-corner-all"> 
  • trunk/expressoAdmin1_2/templates/default/index.tpl

    r5133 r5804  
    3131                <td> 
    3232                        <a href="../index.php?menuaction=expressoAdmin1_2.uishared_accounts.index">{lang_shared_accounts}</a> 
     33                </td> 
     34        </tr> 
     35        <tr> 
     36                <td width="1%" align="center"> 
     37                        <img src='./templates/default/images/calendar.png'> 
     38                </td> 
     39                <td> 
     40                    <a href="#" onclick="assing_calendar_user()">{lang_assing_calendar}</a> 
    3341                </td> 
    3442        </tr>   
     
    100108        </tr> 
    101109</table> 
     110                <input type="hidden" id="assingCalendar"/> 
    102111<!-- END body --> 
  • trunk/expressoAdmin1_2/templates/default/shared_accounts.tpl

    r5133 r5804  
    11<!-- BEGIN body --> 
    2         <link rel="stylesheet" type="text/css" href="./expressoAdmin1_2/templates/default/shared_accounts.css"> 
     2        <link rel="stylesheet" type="text/css" href="./expressoAdmin1_2/templates/default/shared_accounts.css"/> 
     3         
     4         
     5        <link rel="Stylesheet" type="text/css" href="prototype/plugins/jquery/jquery-ui.css" />                                  
     6     
     7        <script type="text/javascript" src="prototype/plugins/jquery/jquery.min.js"></script> 
     8 
     9        <script type="text/javascript" src="prototype/plugins/jquery/jquery-ui.min.js"></script> 
     10        <script type="text/javascript" src="prototype/plugins/jquery/jquery-ui.custom.min.js"></script> 
     11        <script src="prototype/plugins/json2/json2.js" language="javascript"></script> 
     12        <script src="prototype/plugins/store/jquery.store.js" language="javascript"></script> 
     13 
     14        <script src="prototype/api/datalayer.js" language="javascript"></script>         
     15 
     16        <script language="javascript">DataLayer.dispatchPath = "prototype/";</script> 
     17        <script type="text/javascript" src="prototype/plugins/datejs/date-pt-BR.js"></script> 
     18        <script type="text/javascript" src="prototype/plugins/datejs/sugarpak.js"></script> 
     19        <script type="text/javascript" src="prototype/plugins/datejs/parser.js"></script> 
     20 
     21        <script type="text/javascript" src="prototype/modules/calendar/js/timezone.js"></script>         
     22 
     23        <script type="text/javascript" src="prototype/modules/calendar/js/calendar.codecs.js"></script> 
     24 
    325        <div style="display:none" id="{modal_id}">{shared_accounts_modal}</div> 
    426 
  • trunk/expressoAdmin1_2/templates/default/shared_accounts_modal.tpl

    r5133 r5804  
    4747                                                 
    4848                <td width="15%" valign="bottom" align="center" bgcolor="#DDDDDD" style="padding-bottom: 5px;"> 
    49                     <table align="center"> 
     49                    <table align="center" style="display: {aclCalendar}"> 
    5050                        <tbody> 
    5151                                <tr> 
     
    6666                                <tr > 
    6767                                    <td>{lang_restrict}</td><td><input type="checkbox" name="checkAttr" id ="em_input_restrictCalendar" onclick="return sharemailbox.setCalendaraclfromuser();" /><img title="{lang_this_user_will_can_read_restrict_events_at_the_mailbox_calendar}." src="./expressoAdmin1_2/templates/default/images/ajuda.jpg"></td> 
     68                                </tr> 
     69                            </tbody> 
     70                    </table> 
     71                    <table align="center" style="display: {aclExpressoCalendar}"> 
     72                        <tbody> 
     73                                <tr> 
     74                                    <td colspan="2" width="125"><b>{lang_calendar}:</b></td> 
     75                                </tr> 
     76                                <tr> 
     77                                    <td>{lang_read}</td><td><input type="checkbox" name="checkAttr" id ="em_input_readExpressoCalendar" onclick="return sharemailbox.setExpressoCalendaraclfromuser();" /><img title="{lang_this_user_will_can_read_events_at_the_mailbox_calendar}." src="./expressoAdmin1_2/templates/default/images/ajuda.jpg"></td> 
     78                                </tr> 
     79                                <tr > 
     80                                    <td>{lang_write}</td><td><input type="checkbox" name="checkAttr" id ="em_input_writeExpressoCalendar" onclick="return sharemailbox.setExpressoCalendaraclfromuser();" /><img title="{lang_this_user_will_can_create_events_at_the_mailbox_calendar}." src="./expressoAdmin1_2/templates/default/images/ajuda.jpg"></td> 
     81                                </tr> 
     82                                <tr> 
     83                                    <td>{lang_exclusion}</td><td><input type="checkbox" name="checkAttr" id ="em_input_deleteExpressoCalendar" onclick="return sharemailbox.setExpressoCalendaraclfromuser();" /><img title="{lang_this_user_will_can_delete_events_at_the_mailbox_calendar}." src="./expressoAdmin1_2/templates/default/images/ajuda.jpg"></td> 
     84                                </tr> 
     85                                <tr > 
     86                                    <td>{lang_freebusy}</td><td><input type="checkbox" name="checkAttr" id ="em_input_freebusyExpressoCalendar" onclick="return sharemailbox.setExpressoCalendaraclfromuser();" /><img title="{lang_this_user_will_can_read_restrict_events_at_the_mailbox_calendar}." src="./expressoAdmin1_2/templates/default/images/ajuda.jpg"></td> 
    6887                                </tr> 
    6988                            </tbody> 
  • trunk/expressoCalendar/setup/default_records.inc.php

    r5715 r5804  
    3131                $oProc->query("ALTER TABLE calendar_signature ADD CONSTRAINT fk_calendar_signature_calendar_espec FOREIGN KEY (calendar_id) REFERENCES calendar (id) MATCH SIMPLE ON UPDATE CASCADE ON DELETE CASCADE;"); 
    3232                 
    33         //calendar_signature_alarm 
     33                //calendar_signature_alarm 
    3434                $oProc->query("ALTER TABLE calendar_signature_alarm ADD CONSTRAINT fk_calendar_signature_alarm_calendar_signature FOREIGN KEY (calendar_signature_id) REFERENCES calendar_signature (id) MATCH SIMPLE ON UPDATE CASCADE ON DELETE CASCADE;"); 
    3535                 
     
    4141                $oProc->query("INSERT INTO calendar_class( \"id\", \"name\") VALUES ('1','Public'),('2','Private'),('3','Confidential');"); 
    4242                $oProc->query("INSERT INTO calendar_participant_status( \"id\", \"name\") VALUES ('1','CONFIRMED'),('2','TENTATIVE'),('3','CANCELLED'),('4','UNANSWERED'),('5', 'DELEGATED');"); 
    43                  
     43 
     44                //Admin conf 
     45                $oProc->query("INSERT INTO phpgw_hooks( \"hook_appname\", \"hook_location\", \"hook_filename\") VALUES ('expressoCalendar','admin', 'hook_admin.inc.php');"); 
    4446?> 
  • trunk/expressoCalendar/setup/setup.inc.php

    r5741 r5804  
    1313        $setup_info['expressoCalendar']['title']        = 'Expresso Calendar'; 
    1414        /* Ao incrementar versão, não esquecer de declarar função do tables_update.inc.php*/ 
    15         $setup_info['expressoCalendar']['version']      = '1.003'; 
     15        $setup_info['expressoCalendar']['version']      = '1.004'; 
    1616        $setup_info['expressoCalendar']['app_order']    = 10; 
    1717         
  • trunk/expressoCalendar/setup/tables_update.inc.php

    r5746 r5804  
    7474                $GLOBALS['setup_info']['expressoCalendar']['currentver'] = '1.002'; 
    7575        return $GLOBALS['setup_info']['expressoCalendar']['currentver']; 
    76         } 
     76        }; 
    7777 
    7878        $test[] = '1.002'; 
     
    8585            $GLOBALS['setup_info']['expressoCalendar']['currentver'] = '1.003'; 
    8686            return $GLOBALS['setup_info']['expressoCalendar']['currentver']; 
    87         } 
     87        }; 
     88         
     89        $test[] = '1.003'; 
     90        function expressoCalendar_upgrade1_003() { 
     91 
     92            $oProc = $GLOBALS['phpgw_setup']->oProc; 
     93 
     94            $oProc->query("INSERT INTO phpgw_hooks( \"hook_appname\", \"hook_location\", \"hook_filename\") VALUES ('expressoCalendar','admin', 'hook_admin.inc.php')"); 
     95 
     96            $GLOBALS['setup_info']['expressoCalendar']['currentver'] = '1.004'; 
     97            return $GLOBALS['setup_info']['expressoCalendar']['currentver']; 
     98        }; 
     99         
     100         
     101         
    88102?> 
  • trunk/expressoMail1_2/index.php

    r5782 r5804  
    166166    $c = CreateObject('phpgwapi.config','expressoMail1_2'); 
    167167    $c->read_repository(); 
    168     $current_config = $c->config_data;     
     168    $current_config = $c->config_data; 
     169     
     170    // Loading Config Module 
     171    $conf = CreateObject('phpgwapi.config','phpgwapi'); 
     172    $conf->read_repository(); 
     173    $config = $conf->config_data;    
    169174 
    170175    //Carrega Configuração global do expressoMail  
     
    302307                var token_param = "'.$var_tokens.'"; 
    303308                var locale = "'.$GLOBALS['phpgw']->common->getPreferredLanguage().'"; 
    304                 var new_agenda = "'.$current_config['new_agenda'].'"; 
     309                var defaultCalendar = "'.  (isset($config['defaultCalendar']) ?  $config['defaultCalendar']  :  "calendar" )    .'"; 
    305310                $("#sideboxdragarea").hide(); 
    306311                $("#menu2Container").hide(); 
  • trunk/expressoMail1_2/js/draw_api.js

    r5790 r5804  
    29142914        subject.innerHTML = info_msg.subject; 
    29152915        subject.className = "header_message_field"; 
    2916         if(new_agenda == "True" && $("#expressoCalendarid")[0]){ 
     2916        if(defaultCalendar == "expressoCalendar" && $("#expressoCalendarid")[0]){ 
    29172917                var new_event_logo = document.createElement("IMG"); 
    29182918                new_event_logo.title = "Criar evento a partir deste email"; 
  • trunk/expressoMail1_2/js/main.js

    r5791 r5804  
    33513351                write_msg(get_lang(data)); 
    33523352    }    
    3353         if(new_agenda == "True" && $("#expressoCalendarid")[0]){ 
     3353        if(defaultCalendar == "expressoCalendar" && $("#expressoCalendarid")[0]){ 
    33543354                import_implements_calendar(); 
    33553355                $( "#import-dialog" ).dialog({ 
  • trunk/expressoMail1_2/templates/default/config.tpl

    r5406 r5804  
    122122           </select>  
    123123            </td>  
    124         </tr> 
    125         <tr bgcolor="{row_off}">  
    126             <td>{lang_Allow_importing_and_creating_events_directly_on_ExpressoCalendar_module_(new)}</td>  
    127             <td>  
    128                    <select name="newsettings[new_agenda]">  
    129                    <option value="false"{selected_new_agenda_False}>{lang_No}</option>  
    130                    <option value="True"{selected_new_agenda_True}>{lang_Yes}</option>  
    131                    </select>  
    132            </td>  
    133124        </tr> 
    134125    <tr bgcolor="{row_off}"> 
  • trunk/login.php

    r5764 r5804  
    131131            $_SESSION['wallet']['user']['uidNumber']      =  $GLOBALS['phpgw_info']['user']['account_id']; 
    132132            $_SESSION['wallet']['user']['password']       =  $GLOBALS['phpgw_info']['user']['passwd']; 
    133             $_SESSION['wallet']['user']['cn']             =  $GLOBALS['phpgw_info']['user']['cn']; 
     133            $_SESSION['wallet']['user']['cn']             =  $GLOBALS['phpgw_info']['user']['firstname'].' '.$GLOBALS['phpgw_info']['user']['lastname']; 
    134134            $_SESSION['wallet']['user']['mail']           =  $GLOBALS['phpgw_info']['user']['email']; 
    135135             
     136             
     137            ob_start(); 
     138            print_r($GLOBALS['phpgw_info']['user']); 
     139 
     140            $output = ob_get_clean(); 
     141            file_put_contents( "/tmp/acoutinho.log",  $output , FILE_APPEND); 
     142         
     143 
    136144             
    137145         
  • trunk/prototype/config/user.ini

    r5514 r5804  
    5151phpgwAccountType = phpgwAccountType 
    5252phpgwAccountVisible = phpgwAccountVisible 
     53gidNumber = gidNumber 
  • trunk/prototype/modules/calendar/constants.php

    r5780 r5804  
    4444define('CALENDAR_ACL_BUSY', 'b'); 
    4545define('CALENDAR_ACL_SHARED', 's'); 
     46define('CALENDAR_ACL_REQUIRED', 'p'); 
    4647?> 
  • trunk/prototype/modules/calendar/interceptors/DBMapping.php

    r5798 r5804  
    468468                         
    469469                        foreach($newResult as $key => &$value){ 
    470                                 if($value['user']  != 0) 
    471                                         $value['user'] = Controller::read( array( 'concept' => 'user' , 'id' => $value['user'] )); 
     470                                if($value['user']  != 0){ 
     471                                    $user = $value['user']; 
     472                                    $value['user'] = Controller::read( array( 'concept' => 'user' , 'id' => $user )); 
     473 
     474                                    if(!$value['user']) 
     475                                        $value['user'] = Controller::read( array( 'concept' => 'group' , 'id' => $user )); 
     476                                } 
    472477                        } 
    473478 
     
    640645                if(isset($v['calendar'])){ 
    641646                    $result[$i]['calendar'] = Controller::read( array( 'concept' => 'calendar' , 'id' => $v['calendar']), false, false);  
    642                                         $result[$i]['defaultAlarms'] = Controller::find( array( 'concept' => 'calendarSignatureAlarm' ) , false ,array( 'filter' => array('=', 'calendarSignature'  ,  $v['id']) ));     
    643                                         //Caso não seja o dono da agenda retorna o objeto permission com as acls 
    644                                         if($result[$i]['isOwner'] == 0){ 
    645                                                 $permission = Controller::find( array( 'concept' => 'calendarToPermission'), false ,array( 'filter' => array('AND', array('=', 'calendar' ,  $v['calendar']), array('=', 'user', Config::me('uidNumber') ) ) ) );  
    646  
    647                                                 if(!is_array($permission) || !$permission  ){ 
    648  
    649                                                         $permission = Controller::find( array( 'concept' => 'calendarToPermission'), false ,array( 'filter' => array('AND', array('=', 'calendar' ,  $v['calendar']), array('=', 'type', '1' ) ) ) );     
    650  
    651                                                 } 
    652                                                 $result[$i]['permission'] = $permission[0]; 
    653                                         } 
    654                                 } 
    655            } 
     647                    $result[$i]['defaultAlarms'] = Controller::find( array( 'concept' => 'calendarSignatureAlarm' ) , false ,array( 'filter' => array('=', 'calendarSignature'  ,  $v['id']) ));     
     648                    //Caso não seja o dono da agenda retorna o objeto permission com as acls 
     649                    if($result[$i]['isOwner'] == 0){ 
     650                            $permission = Controller::find( array( 'concept' => 'calendarToPermission'), false ,array( 'filter' => array('AND', array('=', 'calendar' ,  $v['calendar']), array('=', 'user', Config::me('uidNumber') ) ) ) );  
     651 
     652                            if(!is_array($permission) || !$permission  ){ 
     653 
     654                                    $permission = Controller::find( array( 'concept' => 'calendarToPermission'), false ,array( 'filter' => array('AND', array('=', 'calendar' ,  $v['calendar']), array('=', 'type', '1' ) ) ) );     
     655 
     656                            } 
     657                            $result[$i]['permission'] = $permission[0]; 
     658                    } 
     659            } 
     660            //TODO - Padronizar retorno do deepness 
     661//            if(isset($v['user'])) 
     662//                $result[$i]['user'] = Controller::read( array( 'concept' => 'user' , 'id' => $v['user']), false, false);  
     663          } 
    656664       }        
    657665   }  
  • trunk/prototype/modules/calendar/interceptors/LDAPMapping.php

    r5437 r5804  
    3636                                                          ) 
    3737                                                ); 
     38             
     39                else 
     40                     $criteria['filter'] = array('AND', 
     41                                                array('AND' ,  
     42                                                            array('=' , 'objectClass' , 'phpgwAccount'), 
     43                                                            array('OR' ,  
     44                                                                        array('=' , 'phpgwAccountType' , 'i'), 
     45                                                                        array('=' , 'phpgwAccountType' , 'u'), 
     46                                                                        array('=' , 'phpgwAccountType' , 's') 
     47                                                                 ) 
     48                                                     ),$criteria['filter'] 
     49                                                );                       
    3850            } 
    3951           
    4052    }   
    4153    
     54 
     55       public function encodeFindGroup( &$uri , &$params , &$criteria , $original ){ 
     56            if(isset($criteria['filter'])) 
     57            { 
     58                if($criteria['filter'][0] === '*' && $criteria['filter'][1] === 'name') //Busca pelo nome group DFD00032 
     59                    $criteria['filter'] = array('AND', 
     60                                                array('AND' ,  
     61                                                            array('=' , 'objectClass' , 'phpgwAccount'), 
     62                                                            array('=' , 'phpgwAccountType' , 'g') 
     63                                                                  
     64                                                    ), 
     65                                                 array('AND' ,   
     66                                                                array('!','phpgwAccountVisible','-1'), 
     67                                                                array('OR',  
     68                                                                        array('=','accountStatus','active'), 
     69                                                                        array('=','objectClass','posixGroup') 
     70                                                                    ), 
     71                                                                array('OR',  
     72                                                                        array('*','name',$criteria['filter'][2]), 
     73                                                                        array('*','id',$criteria['filter'][2]), 
     74                                                                        array('*','mail',$criteria['filter'][2]), 
     75                                                                        array('*','mailAlternateAddress',$criteria['filter'][2]), 
     76                                                                    ) 
     77                                                          ) 
     78                                                ); 
     79                 
     80                 
     81                    else 
     82                        $criteria['filter'] = array('AND', 
     83                            array('AND' ,  
     84                                        array('=' , 'objectClass' , 'phpgwAccount'), 
     85                                        array('=' , 'phpgwAccountType' , 'g') 
     86                                    ),$criteria['filter'] 
     87                            );                       
     88            } 
     89           
     90    }   
     91      
     92     
     93     
    4294} 
    4395 
  • trunk/prototype/modules/calendar/interceptors/Notifications.php

    r5523 r5804  
    148148 
    149149                $data['nowStartDate'] = date_format( $sTime , 'd/m/Y'); 
    150         $data['nowStartTime'] = ($schedulableReference['allDay']) ? '' : date_format( $sTime , 'H:i'); 
    151         $data['nowEndDate'] = date_format( $eTime , 'd/m/Y'); 
    152         $data['nowEndTime'] = ($schedulableReference['allDay']) ? '' :  date_format( $eTime , 'H:i'); 
     150                $data['nowStartTime'] = ($schedulableReference['allDay']) ? '' : date_format( $sTime , 'H:i'); 
     151                $data['nowEndDate'] = date_format( $eTime , 'd/m/Y'); 
     152                $data['nowEndTime'] = ($schedulableReference['allDay']) ? '' :  date_format( $eTime , 'H:i'); 
    153153                $data['userRequest'] = Config::me('uid'); 
    154154                 
     
    161161                $params['body'] = parseTPL::load_tpl( $data ,ROOTPATH.'/modules/calendar/templates/notify_suggestion_body.tpl'); 
    162162                $params['subject'] = parseTPL::load_tpl( $subject ,ROOTPATH.'/modules/calendar/templates/notify_subject.tpl');; 
    163                 $params['from'] = Config::me('mail');    
     163                $params['from'] ='"'.Config::me('cn').'" <'.Config::me('mail').'>';    
    164164                $params['to'] = $organizer['user']['mail']; 
    165165                 
     
    192192                $params['subject'] = parseTPL::load_tpl( $subject ,ROOTPATH.'/modules/calendar/templates/notify_subject.tpl');; 
    193193                $params['to'] = $params['from']; 
    194                 $params['from'] = Config::me('mail');    
     194                $params['from'] = $params['from'] ='"'.Config::me('cn').'" <'.Config::me('mail').'>'; 
    195195        } 
    196196         
     
    435435       $mail['body'] = parseTPL::load_tpl( $data ,ROOTPATH.'/modules/calendar/templates/'.$template.'.tpl'); 
    436436       $mail['subject'] = parseTPL::load_tpl( $subject ,ROOTPATH.'/modules/calendar/templates/notify_subject.tpl');; 
    437        $mail['from'] = Config::me('mail');    
     437       $mail['from'] = '"'.Config::me('cn').'" <'.Config::me('mail').'>'; 
    438438       $mail['to'] = $to; 
    439439       Controller::create( array( 'service' => 'SMTP' ), $mail );  
  • trunk/prototype/modules/calendar/js/calendar.codecs.js

    r5752 r5804  
    4444        'd' : 'remove', 
    4545        'b' : 'busy', 
    46         's' : 'shared' 
     46        's' : 'shared', 
     47        'p' : 'required' 
    4748} 
    4849 
     
    145146                *  quando forçado um get do banco, deverá ser criado uma condição para o mesmo 
    146147                */ 
    147                 var descart = DataLayer.get("calendarSignature", {filter: ['=', 'user', User.me.id], criteria: {deepness: 2}}); 
    148                 this.signatures  = DataLayer.get("calendarSignature", {filter: ['=', 'user', User.me.id], criteria: {deepness: 2}}, true); 
     148                var filter = ['=', 'user', User.me.id]; 
     149                if(!!User.me.gidNumber){ 
     150                        if(!$.isArray(User.me.gidNumber)) 
     151                                User.me.gidNumber = [User.me.gidNumber]; 
     152 
     153                        filter = ['OR', filter, ['IN', 'user', User.me.gidNumber]]; 
     154                } 
     155                 
     156                var descart = DataLayer.get("calendarSignature", {filter: filter, criteria: {deepness: 2}}); 
     157                this.signatures  = DataLayer.get("calendarSignature", {filter: filter, criteria: {deepness: 2}}, true); 
    149158           
    150159                var prevSources = this.sources; 
  • trunk/prototype/modules/calendar/templates/calendar_list.ejs

    r5596 r5804  
    11<div class="all-list-calendars"> 
    2 <% var signature = data.signatures %> 
    3 <% var external = false %> 
    4 <div class="my-calendars"> 
    5         <a title='Minhas agendas' class="title-my-calendars" aria-expanded='false' role='button' tabindex='0'>Minhas agendas</a> 
    6         <span class="status-list ui-icon ui-icon-triangle-1-s"></span> 
    7         <a href="#" class="button new new-calendar">Nova Agenda</a> 
    8         <ul class="list-calendars my-list-calendars"> 
    9                                 <% for (var i=0; i < signature.length; i++) { 
    10                                         if(signature[i].isOwner == 1){ 
    11                                 %> 
    12                                         <li class="list-calendars-item list-calendars-item-<%= signature[i].calendar.id %>"> 
    13                                                  
    14                                                 <div> 
    15                                                         <input class="calendar-view" type="checkbox" name="" value="<%= signature[i].calendar.id %>" checked="checked"/> 
    16                                                         <label><%= signature[i].calendar.name %></label> 
    17                                                          
    18                                                 </div>  
    19                                                         <a class="cal-list-options-btn my-cal-list-options-btn-<%= signature[i].calendar.id %>" style="background-color:#<%=signature[i].backgroundColor%>; border-color:#<%= signature[i].borderColor%>;"> 
    20                                                                 <img src="../prototype/modules/calendar/img/arrow_down.png" width="10" height="10" class="cal-list-img"/> 
    21                                                         </a> 
    22                                                          
    23                                                          
    24                                                 <div class="cal-list-options my-cal-list-options-<%= signature[i].calendar.id %> hidden"> 
    25                                                         <ul> 
    26                                                                 <li><a href="#" onclick="add_tab_configure_calendar(<%= signature[i].calendar.id%>);">Configurações</a></li> 
    27                                                                 <li><a href="#" onclick="show_modal_import_export(0, <%= signature[i].calendar.id%>);">Importar</a></li> 
    28                                                                 <li><a href="#" onclick="show_modal_import_export(1, <%= signature[i].calendar.id%>);">Exportar</a></li> 
    29                                                                 <li><a href="#" onclick="show_modal_shared(<%= signature[i].calendar.id%>);">Compartilhar agenda</a></li> 
    30                                 <li><a href="#" onclick="remove_calendar();">Remover agenda</a></li> 
    31                                                         </ul> 
    32                                                          
    33                                                 </div> 
    34                                         </li> 
    35                         <%               
    36                                         }else 
    37                                                 external = true; 
    38                                 } 
    39                         %> 
    40                     
    41         </ul> 
     2    <% var signature = data.signatures %> 
     3    <% var external = false %> 
     4    <div class="my-calendars"> 
     5        <a title='Minhas agendas' class="title-my-calendars" aria-expanded='false' role='button' tabindex='0'>Minhas agendas</a> 
     6        <span class="status-list ui-icon ui-icon-triangle-1-s"></span> 
     7        <a href="#" class="button new new-calendar">Nova Agenda</a> 
     8        <ul class="list-calendars my-list-calendars"> 
     9            <% for (var i=0; i < signature.length; i++) { 
     10            if(signature[i].isOwner == 1){ 
     11            %> 
     12            <li class="list-calendars-item list-calendars-item-<%= signature[i].calendar.id %>"> 
     13 
     14                <div> 
     15                    <input class="calendar-view" type="checkbox" name="" value="<%= signature[i].calendar.id %>" checked="checked"/> 
     16                    <label><%= signature[i].calendar.name %></label> 
     17 
     18                </div>  
     19                <a class="cal-list-options-btn my-cal-list-options-btn-<%= signature[i].calendar.id %>" style="background-color:#<%=signature[i].backgroundColor%>; border-color:#<%= signature[i].borderColor%>;"> 
     20                    <img src="../prototype/modules/calendar/img/arrow_down.png" width="10" height="10" class="cal-list-img"/> 
     21                </a> 
     22 
     23 
     24                <div class="cal-list-options my-cal-list-options-<%= signature[i].calendar.id %> hidden"> 
     25                    <ul> 
     26                        <li><a href="#" onclick="add_tab_configure_calendar(<%= signature[i].calendar.id%>);">Configurações</a></li> 
     27                        <li><a href="#" onclick="show_modal_import_export(0, <%= signature[i].calendar.id%>);">Importar</a></li> 
     28                        <li><a href="#" onclick="show_modal_import_export(1, <%= signature[i].calendar.id%>);">Exportar</a></li> 
     29                        <li><a href="#" onclick="show_modal_shared(<%= signature[i].calendar.id%>);">Compartilhar agenda</a></li> 
     30                        <li><a href="#" onclick="remove_calendar();">Remover agenda</a></li> 
     31                    </ul> 
     32 
     33                </div> 
     34            </li> 
     35            <%           
     36            }else 
     37            external = true; 
     38            } 
     39            %> 
     40 
     41        </ul> 
     42    </div> 
     43 
     44    <div class="signed-calendars"> 
     45        <a title='Agendas assinadas' class="title-signed-calendars" aria-expanded='false' role='button' tabindex='0'>Agendas assinadas</a>                       
     46        <span class="status-list-shared ui-icon ui-icon-triangle-1-s"></span> 
     47        <a href="#" class="button new new-calendar-shared tiny">Nova Agenda</a> 
     48 
     49        <% if (external) { %>    
     50        <ul class="list-calendars signed-list-calendars"> 
     51            <% for (var i=0; i < signature.length; i++) { 
     52            if(signature[i].isOwner == 0){ 
     53            %> 
     54            <li class="list-calendars-item list-calendars-item-<%= signature[i].calendar.id %>"> 
     55                <input class="calendar-view" type="checkbox" name="" value="<%= signature[i].calendar.id %>" checked="checked"/> 
     56                <label><%= signature[i].calendar.name %></label> 
     57 
     58                <a class="cal-list-options-btn my-cal-list-options-btn-<%= signature[i].calendar.id %>" style="background-color:#<%=signature[i].backgroundColor%>; border-color:#<%= signature[i].borderColor%>;"> 
     59                    <img src="../prototype/modules/calendar/img/arrow_down.png" width="10" height="10" class="cal-list-img"/></a> 
     60                <div class="cal-list-options my-cal-list-options-<%= signature[i].calendar.id  %> hidden"> 
     61                    <ul> 
     62                        <!--<li><a href="#" onclick="add_tab_configure_calendar(<%= signature[i].calendar.id %>);">Configurações</a></li>--> 
     63                        <li><a href="#" onclick="show_modal_import_export(0, <%= signature[i].calendar.id %>);">Importar</a></li> 
     64                        <li><a href="#" onclick="show_modal_import_export(1, <%= signature[i].calendar.id %>);">Exportar</a></li> 
     65                        <%if(!signature[i].permission.acl['required']){%> 
     66                            <li><a href="#" onclick="cancel_signature(<%= signature[i].id %>);">Cancelar assinatura</a></li> 
     67                        <%}%> 
     68                    </ul> 
     69 
     70                </div> 
     71 
     72            </li> 
     73            <%           
     74            } 
     75            } 
     76            %> 
     77        </ul> 
     78        <% } %> 
     79    </div> 
    4280</div> 
    43  
    44 <div class="signed-calendars"> 
    45         <a title='Agendas assinadas' class="title-signed-calendars" aria-expanded='false' role='button' tabindex='0'>Agendas assinadas</a>                       
    46         <span class="status-list-shared ui-icon ui-icon-triangle-1-s"></span> 
    47         <a href="#" class="button new new-calendar-shared tiny">Nova Agenda</a> 
    48          
    49         <% if (external) { %>    
    50                 <ul class="list-calendars signed-list-calendars"> 
    51                                 <% for (var i=0; i < signature.length; i++) { 
    52                                                 if(signature[i].isOwner == 0){ 
    53                                         %> 
    54                                                 <li class="list-calendars-item list-calendars-item-<%= signature[i].calendar.id %>"> 
    55                                                         <input class="calendar-view" type="checkbox" name="" value="<%= signature[i].calendar.id %>" checked="checked"/> 
    56                                                         <label><%= signature[i].calendar.name %></label> 
    57  
    58                                                         <a class="cal-list-options-btn my-cal-list-options-btn-<%= signature[i].calendar.id %>" style="background-color:#<%=signature[i].backgroundColor%>; border-color:#<%= signature[i].borderColor%>;"> 
    59                                                         <img src="../prototype/modules/calendar/img/arrow_down.png" width="10" height="10" class="cal-list-img"/></a> 
    60                                                         <div class="cal-list-options my-cal-list-options-<%= signature[i].calendar.id  %> hidden"> 
    61                                                                 <ul> 
    62                                                                         <!--<li><a href="#" onclick="add_tab_configure_calendar(<%= signature[i].calendar.id %>);">Configurações</a></li>--> 
    63                                                                         <li><a href="#" onclick="show_modal_import_export(0, <%= signature[i].calendar.id %>);">Importar</a></li> 
    64                                                                         <li><a href="#" onclick="show_modal_import_export(1, <%= signature[i].calendar.id %>);">Exportar</a></li> 
    65                                                                         <li><a href="#" onclick="cancel_signature(<%= signature[i].id %>);">Cancelar assinatura</a></li> 
    66                                                                 </ul> 
    67  
    68                                                 </div> 
    69  
    70                                                 </li> 
    71                                         <%               
    72                                                 } 
    73                                         } 
    74                                         %> 
    75                 </ul> 
    76         <% } %> 
    77         </div> 
    78 </div> 
  • trunk/prototype/services/OpenLDAP.php

    r5441 r5804  
    2828         
    2929        if( $justthese === false || $justthese === null ) 
    30                 $sr =  ldap_search( $this->con, $this->config['context'], '('.$this->config['idAtribute'].'='.$uri['id'].')' ); 
     30                $sr =  ldap_search( $this->con, $this->config['context'], '('.$map['id'].'='.$uri['id'].')' ); 
    3131        else 
    32                 $sr =  ldap_search( $this->con, $this->config['context'], '('.$this->config['idAtribute'].'='.$uri['id'].')', self::parseJustthese($justthese, $map) ); 
     32                $sr =  ldap_search( $this->con, $this->config['context'], '('.$map['id'].'='.$uri['id'].')', self::parseJustthese($justthese, $map) ); 
    3333 
    3434        if(!$sr) return false;  
  • trunk/prototype/services/iCal.php

    r5780 r5804  
    400400                                        $mail['body'] = parseTPL::load_tpl( $data ,ROOTPATH.'/modules/calendar/templates/'.$tpl.'.tpl'); 
    401401                                        $mail['subject'] = parseTPL::load_tpl( $subject ,ROOTPATH.'/modules/calendar/templates/notify_subject.tpl');; 
    402                                         $mail['from'] = Config::me('mail');   
     402                                        $mail['from'] = '"'.Config::me('cn').'" <'.Config::me('mail').'>';  
    403403                                        $mail['to'] = $organizerMail; 
    404404  
Note: See TracChangeset for help on using the changeset viewer.