Календарь занятости

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
vitekvil
Сообщения: 10
Зарегистрирован: 2013.05.22, 20:32
Контактная информация:

Календарь занятости

Сообщение vitekvil »

Добрый день, Сообщество Yii разработчиков!

Пилю один проект на данном замечательном фреймворке, касается недвижимости.
Мне необходимо запилить для объектов недвижимости календарь занятости.
Схема такая:
Юзер создает объект, для него генерируется в отдельной модели календарь по связи HAS ONE,
и соответственно может кликать в дни, устанавливая тем самым что какието дни заняты а какието нет.
Есть такая штука ajaxavailabilitycalendar.com ставится как отдельная цмс со своей сессией юзерами и т.д.
Но нашел статью о том что в ней дофига дыр по SQL безопасности: http://www.securitylab.ru/vulnerability/440446.php
в общем решил отказаться от этой штуки.
нашел множество модулей календарей на YII, все обновлялись максимум пару лет назад.
и в тех календарях немного не то, что меня интересует, там про события в общем не то.
делал ли кто нибудь календарь занятости или толкните меня в нужном направлении ;)

буду рад советам и критике )
с уважением, Виктор.

P.S. если не та ветка то отправьте по адресу.
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Календарь занятости

Сообщение futbolim »

Здравствуйте, Виктор.
Спасибо за такое обращение.
Ваша тема слишком щекотливая, и редкая. Скорее всего нужного не найдёте, придётся самому писать.
Попробуйте начать, а уже вопросы походу задавайте тут.
Было бы вообще идеально, если бы у Вас получился http://www.yiiframework.com/extensions/
vitekvil
Сообщения: 10
Зарегистрирован: 2013.05.22, 20:32
Контактная информация:

Re: Календарь занятости

Сообщение vitekvil »

Да я уже все пересмотрел, есть много вопросов.

Экстеншены ни разу не писал, скорее всего буду делать модуль.
Опыт в модулестроении нулевой, завтра буду пилить, о результатах отписывать.
БД в голове сформирована, модуль сгенерирован в гии, образцы есть.

спасибо за любую помощь.
с уважением,
Виктор.
Аватара пользователя
because
Сообщения: 689
Зарегистрирован: 2010.09.30, 22:01

Re: Календарь занятости

Сообщение because »

а чем стандартный jquery календарь не устроил ?
RTFM !
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Календарь занятости

Сообщение futbolim »

because писал(а):а чем стандартный jquery календарь не устроил ?
vitekvil имел ввиду внутренности
vitekvil
Сообщения: 10
Зарегистрирован: 2013.05.22, 20:32
Контактная информация:

Re: Календарь занятости

Сообщение vitekvil »

jquery календарь я делать умею это совсем не то что нужно. нужна система бронирования но очень простая, а за такие системы люди берут немалые деньги.
с уважением,
Виктор.
alekso
Сообщения: 190
Зарегистрирован: 2012.09.15, 23:49

Re: Календарь занятости

Сообщение alekso »

я бы посоветовал экстеншен а не модуль, модуль это типа мини юи внутри юи, не думаю что такое понадобиться тут
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Календарь занятости

Сообщение futbolim »

alekso писал(а):я бы посоветовал экстеншен а не модуль, модуль это типа мини юи внутри юи, не думаю что такое понадобиться тут
+
vitekvil
Сообщения: 10
Зарегистрирован: 2013.05.22, 20:32
Контактная информация:

Re: Календарь занятости

Сообщение vitekvil »

спасибо, делаю расширение, в статье кукбука есть классификация, а по модулям больше материалов, вот я и думал, ща накачаю расширений посмотрю как они делаются, была бы какаянибудь болванка типо как гии генерирует было бы легче.
с уважением,
Виктор.
vitekvil
Сообщения: 10
Зарегистрирован: 2013.05.22, 20:32
Контактная информация:

Re: Календарь занятости

Сообщение vitekvil »

http://www.yiiframework.com/extension/flowing-calendar наверное из вот этого сваяю.
с уважением,
Виктор.
alekso
Сообщения: 190
Зарегистрирован: 2012.09.15, 23:49

Re: Календарь занятости

Сообщение alekso »

если есть гитхаб выкладывай туда будем критиковать :)
vitekvil
Сообщения: 10
Зарегистрирован: 2013.05.22, 20:32
Контактная информация:

Re: Календарь занятости

Сообщение vitekvil »

Проблема:
делаю листалку по месяцам вперед, назад на месяц. при клике по кнопке календарь перестраивается по ajax

проблема в том что кнопки переключают на следующий(предыдущий) месяц относительно сегодня.
то есть как я понимаю виджет создается заново при клике на кнопку и открывает сегодняшний месяц +1 /-1
а надо чтобы хранился текущий месяц...

есть пост http://www.yiiframework.com/forum/index ... -ajaxlink/
в котором Парень расписал как у него все заработало, то есть он вынет в _ajax views все и вызывает через renderpartial эти вьюсы а что внутри у них он, к сожалению, не расписал.

мои коды:
views/flowingCalendar.php

Код: Выделить всё

<?php 
$this->storePreviousLink = CHtml::ajaxLink(
    "<< prev",
    Yii::app()->createUrl(Yii::app()->controller->id . '/updateCalendar'), //<-CONTROLLER
    array(
        'type'=>'POST',
        'data'=>array(
            'current'    =>    $this->month,
            'month'        =>    $this->previousMonth,
            'year'        =>    $this->yearPreviousMonth
            ),
        'update' => '.acal'
    )     
);

$this->storeNextLink = CHtml::ajaxLink(
    "next >>",
    Yii::app()->createUrl(Yii::app()->controller->id . '/updateCalendar'), //<-CONTROLLER
    array(
        'type'=>'POST',
        'data'=>array(
            'current'    =>    $this->month,
            'month'        =>    $this->nextMonth,
            'year'        =>    $this->yearNextMonth
            ),
        'update' => '.acal'
    ),     
    array('class' => 'pull-right') 
);
echo '<h5>' . $this->title . '</h5>';
?>

<?php 
echo $this->printCalendar();
echo $this->storePreviousLink;
echo $this->storeNextLink;
?>
controller

Код: Выделить всё

public function actionUpdateCalendar(){
            if (isset($_POST['month'])){
                                $mes = $_POST['month'];
                                $anyo = $_POST['year'];
                $this->widget('ext.flowing-calendar.FlowingCalendarWidget', array("month"=>$mes, "year"=>$anyo));
            }
                        Yii::app()->end();
        }
Сам виджет спаян из открытого везде гуглящегося коды пхп календарь без какихлибо изменений.

Вопрос в том как сделать чтобы правильно листался календарь, храня в виджете текущий месяц и и при нажатии кнопки это не сбрасывалось
с уважением,
Виктор.
vitekvil
Сообщения: 10
Зарегистрирован: 2013.05.22, 20:32
Контактная информация:

Re: Календарь занятости

Сообщение vitekvil »

ищу мысли по реализации смены статуса дня ajax по клику в ячейку таблицы календаря, аякс должен помещать в модель броней строку с датой и статусом если такой нет если есть менять статус на +1 статусы у меня пока цифрами идут от 1 до 4.
пока не вижу решения.
с уважением,
Виктор.
vitekvil
Сообщения: 10
Зарегистрирован: 2013.05.22, 20:32
Контактная информация:

Re: Календарь занятости

Сообщение vitekvil »

ну как есть у кого мысли, у меня вопрос висит уже длительное время и никак не могу прийти к решению, рендер паршал неособо чтото работать хочет... Разработчики прошу помощи...
с уважением,
Виктор.
Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: Календарь занятости

Сообщение vova07 »

Возможно я не правильно понял задачу, но вроде сложностей не должно быть.

Один из самых простых вариантов реализации нужного функционала может быть таким:
- Создается календарь (php, js, наверное не важно)
- Выбираются из базы те дни которые заняты у объекта. (простая таблица: object_id (int) | reserved_time (timestamp))
- На календаре выводятся эти дни, за счет timestamp значения например.
- Остальным дням добавляется класс, по нажатию на который выполняется добавление новой записи в базу. Уже занятым, на оборот, класс для их удаления из базы.

Конечно можно делать сначала выборку, потом формирования календаря и заполнение нужной инфой в тоже время. Но это уже ваше дело.
Смысл в том что связку можно делать например на основе timestamp дня.

Конечно же возможны более красивые решения, но это уже дело личное.
Удачи!
vitekvil
Сообщения: 10
Зарегистрирован: 2013.05.22, 20:32
Контактная информация:

Re: Календарь занятости

Сообщение vitekvil »

Это уже реализованно
в базу пишется
проблема именно с переключением месяцов, вперед и назад, листает только на 1 месяц
с уважением,
Виктор.
vitekvil
Сообщения: 10
Зарегистрирован: 2013.05.22, 20:32
Контактная информация:

Re: Календарь занятости

Сообщение vitekvil »

решено!

Убрал полностью ajax
сделал через обычную ссылку с _GET параметрами
и все заработало, меня устраивает, т.к. можно делиться ссылкой с нужным месяцем в календаре.
с уважением,
Виктор.
Yurec
Сообщения: 118
Зарегистрирован: 2013.11.01, 06:33

Re: Календарь занятости

Сообщение Yurec »

Я недавно реализовывал календарь занятости - http://SSMaker.ru/5b189384/, тоже сайт про недвижимость...
viewtopic.php?f=4&t=16009
Все оказалось очень просто и удобно.
Akylzhan
Сообщения: 1
Зарегистрирован: 2014.11.18, 12:22

Re: Календарь занятости

Сообщение Akylzhan »

у меня та же проблема. если у вас есть решение не могли бы вы скинуть ваш календарь
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Календарь занятости

Сообщение SiZE »

Это все легко реализуется через http://www.yiiframework.com/doc/api/1.1/CJuiDatePicker
Ответить