This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
khosb/modules/service/classes/Controller/User/Service.php

80 lines
2.2 KiB
PHP
Raw Normal View History

2010-11-29 22:41:08 +00:00
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* This class provides User Service functions
*
* @package OSB
* @subpackage Service
* @category Controllers/User
* @author Deon George
* @copyright (c) 2010 Open Source Billing
* @license http://dev.osbill.net/license.html
2010-11-29 22:41:08 +00:00
*/
2011-08-26 01:16:48 +00:00
class Controller_User_Service extends Controller_TemplateDefault_User {
protected $secure_actions = array(
'ajaxmanage'=>TRUE,
2010-11-29 22:41:08 +00:00
'list'=>TRUE,
'view'=>TRUE,
);
public function action_ajaxmanage() {
$this->auto_render = FALSE;
2012-11-09 23:13:57 +00:00
$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));
}
2010-11-29 22:41:08 +00:00
/**
* Show a list of services
2010-11-29 22:41:08 +00:00
*/
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'),
2012-08-01 12:43:33 +00:00
'status'=>array('label'=>'Active'),
),
array(
'page'=>TRUE,
'type'=>'select',
'form'=>URL::link('user','service/view'),
)),
2010-11-29 22:41:08 +00:00
));
}
public function action_view() {
list($id,$output) = Table::page(__METHOD__);
2012-11-09 23:13:57 +00:00
$so = ORM::factory('Service',$id);
2010-11-29 22:41:08 +00:00
if (! $so->loaded() OR ! Auth::instance()->authorised($so->account_id,$so->affiliate_id)) {
2011-07-14 09:09:03 +00:00
$this->template->content = 'Unauthorised or doesnt exist?';
return FALSE;
2010-11-29 22:41:08 +00:00
}
$output .= View::factory($this->viewpath())
->set('so',$so);
2010-11-29 22:41:08 +00:00
Block::add(array(
'title'=>sprintf('%s: %s',$so->id(),$so->service_name()),
'body'=>$output,
2010-11-29 22:41:08 +00:00
));
}
}
?>