TRUE, 'list'=>TRUE, 'view'=>TRUE, ); public function action_ajaxmanage() { $this->auto_render = FALSE; $so = ORM::factory('Service',$this->request->param('id')); $k = Session::instance()->get_once('manage_button'); $amo = $so->plugin(isset($_REQUEST['t']) ? $_REQUEST['t'] : ''); $o = array( 'u'=>$amo->username_value() ? $amo->username_value() : strtolower($amo->name()), 'p'=>(! $k OR ! $this->request->is_ajax() OR ! $so->loaded() OR ! isset($_REQUEST['k']) OR $k != $_REQUEST['k']) ? Random::char() : $amo->password_value(), ); $this->response->headers('Content-Type','application/json'); $this->response->body(json_encode($o)); } /** * Show a list of services */ public function action_list() { Block::add(array( 'title'=>sprintf('%s: %s - %s',_('Services For'),$this->ao->accnum(),$this->ao->name(TRUE)), 'body'=>Table::display( $this->ao->service->find_all(), 25, array( 'id'=>array('label'=>'ID','url'=>URL::link('user','service/view/')), 'service_name()'=>array('label'=>'Details'), 'recur_schedule'=>array('label'=>'Billing'), 'price(TRUE,TRUE)'=>array('label'=>'Price','class'=>'right'), 'status'=>array('label'=>'Active'), ), array( 'page'=>TRUE, 'type'=>'select', 'form'=>URL::link('user','service/view'), )), )); } public function action_view() { list($id,$output) = Table::page(__METHOD__); $so = ORM::factory('Service',$id); if (! $so->loaded() OR ! Auth::instance()->authorised($so->account)) { $this->template->content = 'Unauthorised or doesnt exist?'; return FALSE; } $output .= View::factory($this->viewpath()) ->set('so',$so); Block::add(array( 'title'=>sprintf('%s: %s',$so->id(),$so->service_name()), 'body'=>$output, )); } } ?>