Merged in OS-142-path-staff-last-events (pull request #107)

Guillermo -   path and tests staff/last-events
This commit is contained in:
Ivan Diaz 2017-01-03 19:04:15 -03:00
commit fefe274d63
5 changed files with 66 additions and 2 deletions

View File

@ -10,6 +10,7 @@ require_once 'staff/add.php';
require_once 'staff/get-all.php';
require_once 'staff/delete.php';
require_once 'staff/edit.php';
require_once 'staff/last-events.php';
$systemControllerGroup = new ControllerGroup();
$systemControllerGroup->setGroupPath('/staff');
@ -25,5 +26,6 @@ $systemControllerGroup->addController(new AddStaffController);
$systemControllerGroup->addController(new GetAllStaffController);
$systemControllerGroup->addController(new DeleteStaffController);
$systemControllerGroup->addController(new EditStaffController);
$systemControllerGroup->addController(new LastEventsStaffController);
$systemControllerGroup->finalize();

View File

@ -0,0 +1,34 @@
<?php
use Respect\Validation\Validator as DataValidator;
class LastEventsStaffController extends Controller {
const PATH = '/last-events';
public function validations() {
return [
'permission' => 'staff_1',
'requestData' => [
'page' => [
'validation' => DataValidator::numeric(),
'error' => ERRORS::INVALID_PAGE
]
]
];
}
public function handler() {
$page = Controller::request('page');
$user = Controller::getLoggedUser();
$query = ' (';
foreach ($user->sharedTicketList as $ticket) {
$query .= 'ticket_id =' . $ticket->id . ' OR ';
}
$query = substr($query,0,-3);
$query .= ') ORDER BY id desc LIMIT ? OFFSET ?' ;
$eventList = Ticketevent::find($query, [10, 10*($page-1)+1]);
Response::respondSuccess($eventList->toArray());
}
}

View File

@ -58,4 +58,17 @@ class Ticketevent extends DataStore {
return new NullDataStore();
}
public function toArray() {
$user = ($this->authorUser instanceof User) ? $this->authorUser : $this->authorStaff;
return [
'type' => $this->type,
'ticketNumber' => $this->ticket->ticketNumber,
'author' => [
'name' => $user->name,
'id' => $user->id
]
];
}
}

View File

@ -47,5 +47,4 @@ require './staff/get-all.rb'
require './system/add-department.rb'
require './system/edit-department.rb'
require './system/delete-department.rb'
require './staff/last-events.rb'

View File

@ -0,0 +1,16 @@
describe '/staff/last-events' do
request('/user/logout')
Scripts.login($staff[:email], $staff[:password], true)
it 'should get last events' do
result = request('/staff/last-events', {
page: 1,
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
(result['status']).should.equal('success')
(result['data'].size).should.equal(10)
end
end