Bloquear fechas especificas en CJuiDatePicker

[size="4"]Buenas noches amigos, he estado creando una aplicación sobre reservaciones y se me ha presentado un problema con CJuiDatePicker, necesito bloquear fechas especificas en el calendario datepicker las cuales corresponden a reservaciones creadas con anterioridad y que no deben estar disponibles al momento de crear una nueva reservación.

He encontrado un ejemplo en www.13deseptiembre.com.ar/blog/?p=631 muy parecido a lo que requiero pero no se como acoplarlo al widget CJuiDatePicker de Yii, si alguien tiene una idea que quiera compartir o si saben si existe esa funcionalidad así en el widget, le agradecería que lo comparta con todos nosotros, es de gran ayuda para los usuarios del framework.

Muchas gracias por su aporte al tema.

Saludos.[/size]

ok… visto por algun lugar de la red… y adaptado para que funcione con yii… mas facil no podria ser… pero mira el codigo siguiente:


$this->widget('zii.widgets.jui.CJuiDatePicker', array(

    'name'=>'publishDate',

    'options'=>array(

	'dateFormat'=> 'yy-MM-dd',

	'beforeShowDay'=> 'js:checkAvailability'

    ),

    'htmlOptions'=>array(

        'style'=>'height:20px;'

    ),

));


$cs = Yii::app()->getClientScript();

$cs->registerScript('jquery.script', '

var $myBadDates = ["2012-02-23","2012-02-21","2012-02-22"];

function checkAvailability(mydate){

	var $return=true;

	var $returnclass ="available";

	$checkdate = $.datepicker.formatDate("yy-mm-dd", mydate);

	for(var i = 0; i < $myBadDates.length; i++)

	{ 

		if($myBadDates[i] == $checkdate)

		{

			$return = false;

			$returnclass= "unavailable";

		}

	}

	return [$return,$returnclass];

}

');

Y $myBadDates es simplemente un arreglo… que podrias obtenerlo con Yii haciendo una consulta de las fechas bloqueadas… no creo que se te complique…

Suerte

[size="4"]Que tal Jack,

Muchas gracias por el aporte, como bien lo dices, mas fácil no puede ser.

Te comento que no tuve complicaciones en la implementación, solo realice un simple copy & paste del script sin tantos problemas.

Gracias de nuevo, un saludo.[/size]

Genial :D !!! Entonces solo te faltaria la consulta para obtener las fechas… pero imagino eso sera facil de implementar.

Saludos

Estoy pensando en ello, ya que voy a tener un arreglo de muchos arreglos al tener muchos rangos de fechas.

por ejemplo un usuario hace un reservación y su checkin es el 2012-03-01 y su checkout es el 2012-03-10, tengo que sacar las fechas de ese lapso y así lo de los demás usuarios que ya hicieron reserva. :huh:

Hola

Ustedes saben como implementar ese código con los días festivos y fines de semana, que me los coloree?

He mirado eso de calendar http://www.yiiframework.com/wiki/438/jquery-ui-datepicker/ y GCalHolidays.js.

Pero no lo sé implementar.

De antemano muchas gracias

Yo para estas cosas modifiqué la extensión FolwingCalendar.

Si os la bajáis y revisáis el código, vereis q es muy simple y no tendréis problemas en modificarlo.

Un saludo.

Buenas tardes, trate de hacer lo mismo pero no me toma, cuando hago Click en el recuadro del calendario no me despliega nada…y si le quito la linea ‘beforeShowDay’=> ‘js:checkAvailability’, me despliega el calendario pero no me realiza el bloqueo. Estare atento a tu respuesta