Changeset 583


Ignore:
Timestamp:
01/08/09 16:11:54 (15 years ago)
Author:
niltonneto
Message:

Resolve #390.

Location:
trunk/calendar
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/calendar/inc/class.bocalendar.inc.php

    r582 r583  
    867867                                $this->fix_update_time($l_start); 
    868868                                $this->fix_update_time($l_end); 
    869  
    870                                 if(!isset($l_cal['private'])) 
    871                                 { 
    872                                         $l_cal['private'] = 'public'; 
    873                                 } 
    874869                                if(!isset($l_cal['ex_participants'])) 
    875870                                { 
     
    882877                                } 
    883878 
    884                                 $is_public = (int)(isset($l_cal['public']) ? $l_cal['public'] : $l_cal['private'] == 'public'); 
     879                                $is_public = ($l_cal['type'] != 'private'); 
    885880                                $this->so->event_init(); 
    886881                                $this->add_attribute('uid',$l_cal['uid']); 
     882                                $this->add_attribute('type',$l_cal['type']); 
    887883                                if($l_cal['ex_participants']) { 
    888884                                        $this->add_attribute('ex_participants',$l_cal['ex_participants']); 
  • trunk/calendar/inc/class.socalendar.inc.php

    r2 r583  
    9191                                } 
    9292                                $cats = $GLOBALS['phpgw']->categories->return_all_children($this->cat_id); 
    93                                 $extra .= "AND (phpgw_cal.category".(count($cats) > 1 ? ' IN ('.implode(',',$cats).')' : '='.(int)$this->cat_id); 
     93                                $extra .= "AND (phpgw_cal.category".(count($cats) > 1 ? ' IN ('.implode(',',$cats).')' : '=\''.(int)$this->cat_id."'"); 
    9494                                foreach($cats as $cat) 
    9595                                { 
  • trunk/calendar/inc/class.socalendar_sql.inc.php

    r386 r583  
    563563                                $this->add_attribute('owner',(int)$this->stream->f('owner')); 
    564564                                $this->add_attribute('id',(int)$this->stream->f('cal_id')); 
     565                                $this->add_attribute('type',$this->stream->f('cal_type')); 
    565566                                $this->set_class((int)$this->stream->f('is_public')); 
    566567                                $this->set_category($this->stream->f('category')); 
     
    954955                        else 
    955956                        { 
    956                                 $type = 'E'; 
     957                                if ($event['type'] == 'hourAppointment') 
     958                                        $type = 'H'; 
     959                                else 
     960                                        $type = 'E'; 
    957961                        } 
    958962 
  • trunk/calendar/inc/class.uicalendar.inc.php

    r362 r583  
    43944394                        $var['category'] = Array( 
    43954395                                'field' => lang('Category'), 
    4396                                 'data'  => '<select name="categories[]" multiple size="5">'.$this->cat->formated_list('select','all',$check_cats,True).'</select>' 
     4396                                'data'  => '<select name="categories[]" onchange="javascript:updateTitleField(this)" multiple size="5">'.$this->cat->formated_list('select','all',$check_cats,True).'</select>' 
    43974397                        ); 
    43984398 
     
    44604460                        ); 
    44614461 
    4462 // Access 
     4462                        // Access 
    44634463                        $var['access'] = Array( 
    4464                                 'field' => lang('Private'), 
    4465                                 'data'  => '<input type="checkbox" name="cal[private]" value="private"'.(!$event['public']?' checked':'').'>' 
    4466                         ); 
     4464                                'field' => lang('Type'), 
     4465                                'data'  => '<select onchange="javascript:changeViewMode(this.value);" id="cal[type]" name="cal[type]"><option value="normal">'.lang('Normal').'</option><option value="private" '.(!$event['public']?'SELECTED':'').' >'. lang('Private').'</option><option value="hourAppointment" '.($event['type'] == 'H'?'SELECTED':'').' >'.lang('Hours Appointment').'</option></select>' 
     4466                        ); //event['public'] 
    44674467 
    44684468// Participants 
     
    47514751                                'data'  => '<input name="cal[recur_interval]" size="4" maxlength="4" value="'.$event['recur_interval'].'">' 
    47524752                        ); 
     4753//                      $this->output_template_array($p,'row','list',Array('data' => '<script src="simple_show_hide.js" type="text/javascript"></script>')); 
    47534754 
    47544755                        if (!isset($this->fields)) 
     
    47584759                                $this->stock_fields = &$this->custom_fields->stock_fields; 
    47594760                        } 
     4761                        $this->output_template_array($p,'row','list',$var['access']); 
     4762                        unset($var['access']); 
     4763 
    47604764                        $preserved = False; 
    47614765                        foreach($this->fields as $field => $data) 
     
    47774781                                                        case 'recure_type': 
    47784782                                                                $p->set_var('tr_color',$this->theme['th_bg']); 
    4779                                                                 $p->set_var('hr_text','<center><b>'.lang('Repeating Event Information').'</b></center>'); 
     4783                                                                $p->set_var('hr_text','<center name="cal[rpt_label]"><b>'.lang('Repeating Event Information').'</b></center>'); 
    47804784                                                                $p->parse('row','hr',True); 
    47814785                                                                $this->output_template_array($p,'row','list',$var['recure_type']); 
     
    48694873                        $p->set_var('cancel_button',$cancel_button); 
    48704874                        $p->pparse('out','edit_entry'); 
     4875                        echo "<script src='calendar/templates/celepar/js/edit.js' type='text/javascript'></script>"; 
     4876                        echo "<script>var type=document.getElementById('cal[type]'); changeViewMode(type.value);</script>"; 
     4877 
    48714878                         
    48724879                } 
  • trunk/calendar/templates/celepar/js/edit.js

    r2 r583  
    9292                selectOpener.options[selectOpener.options.length-1].selected = true; 
    9393        } 
    94          
     94function changeViewMode(chValue){ 
     95        switch (chValue){ 
     96                case 'hourAppointment': 
     97                        var names=new Array('title','priority','location','alarmhours','alarmminutes','recur_type','rpt_use_end','recur_interval','rpt_label'); 
     98                        for (var i=0; i < names.length; i++) 
     99                        { 
     100                                var Field = document.getElementsByName('cal['+names[i]+']'); 
     101                                if (Field[0]) 
     102                                        Field[0].parentNode.parentNode.style.display = "none"; 
     103                        } 
     104 
     105                        Field = document.getElementsByName('participants[]'); 
     106                        Field[0].parentNode.parentNode.style.display = "none"; 
     107                        Field[1].parentNode.parentNode.style.display = "none"; 
     108                        Field = document.getElementById('txt_loading'); 
     109                        Field.parentNode.parentNode.style.display = "none"; 
     110                        Field = document.getElementsByName('cal[rpt_day][]'); 
     111                        Field[0].parentNode.parentNode.style.display = "none"; 
     112                        break; 
     113                default: 
     114                        var names=new Array('title','priority','location','alarmhours','alarmminutes','recur_type','rpt_use_end','recur_interval','rpt_label'); 
     115                        for (var i=0; i < names.length; i++) 
     116                        { 
     117                                var Field = document.getElementsByName('cal['+names[i]+']'); 
     118                                if (Field[0]) 
     119                                        Field[0].parentNode.parentNode.style.display = ""; 
     120                        } 
     121                        Field = document.getElementsByName('participants[]'); 
     122                        Field[0].parentNode.parentNode.style.display = ""; 
     123                        Field[1].parentNode.parentNode.style.display = ""; 
     124                        Field = document.getElementById('txt_loading'); 
     125                        Field.parentNode.parentNode.style.display = ""; 
     126                        Field = document.getElementsByName('cal[rpt_day][]'); 
     127                        Field[0].parentNode.parentNode.style.display = ""; 
     128                        break; 
     129        } 
     130 
     131} 
     132function updateTitleField(select){ 
     133        var typeField = document.getElementsByName('cal[type]'); 
     134        if (typeField[0].value != 'hourAppointment') 
     135                return; 
     136        var titleField = document.getElementsByName('cal[title]'); 
     137        var optionsArray = select.childNodes; 
     138        titleField[0].value = ''; 
     139        for(option in optionsArray) 
     140                if (optionsArray[option].selected) 
     141                        titleField[0].value += optionsArray[option].text + ' '; 
     142} 
     143 
     144         
    95145// Fim         
Note: See TracChangeset for help on using the changeset viewer.