TRUE, 'ajaxage'=>FALSE, 'ajaxagemax'=>FALSE, 'edit'=>TRUE, ); public function action_add() { Block::factory() ->type('form-horizontal') ->title('Add/Edit Record') ->title_icon('fa-wrench') ->body($this->add_edit()); } public function action_ajaxage() { $x = ORM::factory('Child'); $x->dob = $this->request->query('date'); $this->template->content = $x->age(); } public function action_ajaxagemax() { $x = ORM::factory('Child'); $x->dob = $this->request->query('date'); $this->template->content = $x->date_enrol_max(); } public function action_edit() { Block::factory() ->type('form-horizontal') ->title('Add/Edit Record') ->title_icon('fa-wrench') ->body($this->add_edit($this->request->param('id'))); } private function add_edit($id=NULL) { $co = ORM::factory('Child',$id); if ($this->request->post()) { $co->values($this->request->post()); $co->account_id = (string)$this->ao; if ($co->changed() AND (! $this->save($co))) $co->reload()->values($this->request->post()); } // If there are no room records, we'll create a waitlist one that can be completed. if (! $co->subitems()) $co->subitem_add($co->room->values(array('child_id'=>$co->id,'code'=>'W'))); Style::factory() ->type('file') ->data('media/theme/bootstrap/css/bootstrap.datepicker.css'); Script::factory() ->type('file') ->data('media/theme/bootstrap/js/bootstrap.datepicker.js'); // Set our maximum date, that children can stay Script::factory() ->type('stdin') ->data(' $(document).ready(function() { '.($co->loaded() ? ' $("#date_stop").datepicker({ endDate: new Date('.($co->date_enrol_max()*1000).') }); ' : '').' $("#dob").datepicker().on("hide",function(e) { var x = $("#dob").datepicker("getDate").getTime()/1000; // Send the request and update sub category dropdown $.ajax({ type: "GET", data: "date="+x, dataType: "html", cache: false, url: "'.URL::link('user','child/ajaxage',TRUE).'", timeout: 2000, error: function(x) { alert("Failed to submit"); }, success: function(data) { $("div[id=age]").empty().append(data); } }); $.ajax({ type: "GET", data: "date="+x, dataType: "html", cache: false, url: "'.URL::link('user','child/ajaxagemax',TRUE).'", timeout: 2000, error: function(x) { alert("Failed to submit"); }, success: function(data) { $("#date_stop").datepicker("setEndDate",new Date(data*1000)); } }); }); }); '); return View::factory('child/user/add_edit') ->set('o',$co) ->set('so',Company::instance()->so()); } } ?>