Yii Framework Forum: Calendario Con Feriados - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Calendario Con Feriados Rate Topic: -----

#1 User is offline   gallego123 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 535
  • Joined: 11-August 09
  • Location:Argentina

Posted 17 September 2012 - 10:52 AM

Hola Comunidad

estoy realizando un sistema de licencias (vacaciones) y necesito mostrar un calendario con los días no laborables en un color distinto

es posible hacer esto con alguna extensión?

por ejemplo, si mostrara el mes de diciembre, el 25 debería tener un color rojo, o que se distinga de los demás días
Igual para sábados y domingos

También me gustaría que al pasar el mouse por el día marcado como no laborable, indique un hint con la descripción

espero que ya esté hecho!!!!!

saludos
KISS - Keep It Simple Stupid
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
0

#2 User is offline   gallego123 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 535
  • Joined: 11-August 09
  • Location:Argentina

Posted 18 September 2012 - 01:35 PM

Bueno, le encontré la vuelta
encontre como hacerlo en

http://www.forosdelw...endario-876447/

use zii.widgets.jui.CJuiDatePicker y lo extendi en CJuiDatePickerEvents

el cual permite pasar eventos además de options

les adjunto el CJuiDatePickerEvents.php y un ejemplo de como lo use


            $feriados="['17/09/2012', '18/09/2012', '25/09/2012', '04/10/2012']";
            
            $this->widget('CJuiDatePickerEvents', array(
                    'model'=>$model,
                    'attribute'=>'fechaHasta',
                    'value'=>$model->fechaHasta,
                    'language' => 'es',
                    'events'=> array("beforeShowDay"=>"function(date) {var events = $feriados ;

                        var current='';
                        // agrego el cero a izq si corresponde
                        if (date.getDate()<10)
                   		current='0'+date.getDate()+'/';
                        else
                   		current=date.getDate()+'/';
                        if (date.getMonth() + 1<10)
                   		current=current+'0'+(date.getMonth()+1)+'/';
                        else
                   		current=current+(date.getMonth()+1)+'/';
                        current=current+date.getFullYear();
                        
                        //feriados sábados y domingos
                        return (jQuery.inArray(current, events) == -1 && date.getDay()!=0 && date.getDay()!=6)?[true, '']:[false,'rojo1','Día No laborable'];},"),
                    'options'=>array(
                        'defaultDate'=>$model->fechaHasta,
                        'dateFormat'=>'dd/mm/yy',
                        'showAnim'=>'slide',
                    ),
     		));


donde rojo es un estilo

    <style>
        .rojo1 {background-color: red; }
    </style>


estaría bueno ponerlo en las extensiones no?

saludos

Attached File(s)


KISS - Keep It Simple Stupid
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
1

#3 User is offline   keiny 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 31
  • Joined: 22-April 14

Posted 08 May 2014 - 08:19 AM

Hola

Podrías explicarme bien como lo hiciste? Y como hacerlo pero trayendo los festivos ya que no son los mismos todos los años, hay veces que se corren (Colombia) en ves de hacer eso con un array.

En que parte colocaste ese código?

Gracias, ahh, se me olvidaba, soy nueva en yii, perdon por preguntar demasiado :unsure:
0

#4 User is offline   rafaelrosales 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 74
  • Joined: 02-October 13

Posted 26 May 2014 - 11:08 AM

View PostHoracio Segura, on 18 September 2012 - 01:35 PM, said:

Bueno, le encontré la vuelta
encontre como hacerlo en

http://www.forosdelw...endario-876447/

use zii.widgets.jui.CJuiDatePicker y lo extendi en CJuiDatePickerEvents

el cual permite pasar eventos además de options

les adjunto el CJuiDatePickerEvents.php y un ejemplo de como lo use


            $feriados="['17/09/2012', '18/09/2012', '25/09/2012', '04/10/2012']";
            
            $this->widget('CJuiDatePickerEvents', array(
                    'model'=>$model,
                    'attribute'=>'fechaHasta',
                    'value'=>$model->fechaHasta,
                    'language' => 'es',
                    'events'=> array("beforeShowDay"=>"function(date) {var events = $feriados ;

                        var current='';
                        // agrego el cero a izq si corresponde
                        if (date.getDate()<10)
           				current='0'+date.getDate()+'/';
                        else
           				current=date.getDate()+'/';
                        if (date.getMonth() + 1<10)
           				current=current+'0'+(date.getMonth()+1)+'/';
                        else
           				current=current+(date.getMonth()+1)+'/';
                        current=current+date.getFullYear();
                        
                        //feriados sábados y domingos
                        return (jQuery.inArray(current, events) == -1 && date.getDay()!=0 && date.getDay()!=6)?[true, '']:[false,'rojo1','Día No laborable'];},"),
                    'options'=>array(
                        'defaultDate'=>$model->fechaHasta,
                        'dateFormat'=>'dd/mm/yy',
                        'showAnim'=>'slide',
                    ),
 			));


donde rojo es un estilo

    <style>
        .rojo1 {background-color: red; }
    </style>


estaría bueno ponerlo en las extensiones no?

saludos

Hola Horacio, yo estoy utilizando esta opción, pero en realidad hay que ponerle los días a motrar con otro color y seria muy engorroso estarlo cambiando todos los años, inclusive se puede poner para habilitarlo o no, o sea, permitir operar ese día o no, pero me gustaría hacerlo automático, o sea, que te ponga automáticamente los días, al menos para cada país, tal ves ese dato se podría guardar en una tabla o algo así. Me gustaría así, pero no tengo ni idea de como hacerlo.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users