Guillermo - add creatae log architecture [skip ci]
This commit is contained in:
parent
bac7ea444e
commit
b718598f32
|
@ -25,6 +25,10 @@ class AddTopicController extends Controller {
|
|||
'iconColor' => Controller::request('iconColor')
|
||||
]);
|
||||
|
||||
$staff = Controller::getLoggedUser();
|
||||
|
||||
Log::createLog('ADD_TOPIC', $topic->name);
|
||||
|
||||
Response::respondSuccess([
|
||||
'topicId' => $topic->store()
|
||||
]);
|
||||
|
|
|
@ -38,6 +38,10 @@ class AddArticleController extends Controller {
|
|||
$topic->ownArticleList->add($article);
|
||||
$topic->store();
|
||||
|
||||
$staff = Controller::getLoggedUser();
|
||||
|
||||
Log::createLog('ADD_ARTICLE', $article->title);
|
||||
|
||||
Response::respondSuccess([
|
||||
'articleId' => $article->store()
|
||||
]);
|
||||
|
|
|
@ -19,8 +19,10 @@ class DeleteTopicController extends Controller {
|
|||
|
||||
public function handler() {
|
||||
$topic = Topic::getDataStore(Controller::request('topicId'));
|
||||
$topic->delete();
|
||||
|
||||
Log::createLog('DELETE_TOPIC', $topic->name);
|
||||
|
||||
$topic->delete();
|
||||
Response::respondSuccess();
|
||||
}
|
||||
}
|
|
@ -19,6 +19,8 @@ class DeleteArticleController extends Controller {
|
|||
|
||||
public function handler() {
|
||||
$article = Article::getDataStore(Controller::request('articleId'));
|
||||
Log::createLog('DELETE_ARTICLE', $article->title);
|
||||
|
||||
$article->delete();
|
||||
|
||||
Response::respondSuccess();
|
||||
|
|
|
@ -46,6 +46,9 @@ class EditArticleController extends Controller {
|
|||
$article->lastEdited = Date::getCurrentDate();
|
||||
|
||||
$article->store();
|
||||
|
||||
Log::createLog('EDIT_ARTICLE', $article->title);
|
||||
|
||||
Response::respondSuccess();
|
||||
}
|
||||
}
|
|
@ -55,6 +55,9 @@ class AddStaffController extends Controller {
|
|||
|
||||
]);
|
||||
|
||||
$staff = Controller::getLoggedUser();
|
||||
Log::createLog('ADD_STAFF', $this->name);
|
||||
|
||||
$this->addOwner();
|
||||
|
||||
Response::respondSuccess([
|
||||
|
|
|
@ -23,11 +23,11 @@ class AddDepartmentController extends Controller {
|
|||
|
||||
$departmentInstance->setProperties([
|
||||
'name' => $name,
|
||||
|
||||
]);
|
||||
|
||||
$departmentInstance->store();
|
||||
|
||||
Log::createLog('ADD_DEPARTMENT', $name);
|
||||
|
||||
Response::respondSuccess();
|
||||
|
||||
}
|
||||
|
|
|
@ -37,6 +37,8 @@ class DeleteDepartmentController extends Controller {
|
|||
$departmentInstance = Department::getDataStore($this->departmentId);
|
||||
$departmentInstance->delete();
|
||||
|
||||
Log::createLog('DELETE_DEPARTMENT', $departmentInstance->name);
|
||||
|
||||
Response::respondSuccess();
|
||||
}
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@ class EditDepartmentController extends Controller {
|
|||
|
||||
$departmentInstance->store();
|
||||
|
||||
Log::createLog('EDIT_DEPARTMENT', $departmentInstance->name);
|
||||
|
||||
Response::respondSuccess();
|
||||
|
||||
}
|
||||
|
|
|
@ -40,6 +40,9 @@ class EditSettingsController extends Controller {
|
|||
if(Controller::request('allowedLanguages') || Controller::request('supportedLanguages')) {
|
||||
$this->handleLanguages();
|
||||
}
|
||||
|
||||
Log::createLog('EDIT_SETTINGS', null);
|
||||
|
||||
Response::respondSuccess();
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
<?php
|
||||
use Respect\Validation\Validator as DataValidator;
|
||||
|
||||
class GetLogsController extends Controller {
|
||||
const PATH = '/get-logs';
|
||||
|
||||
public function validations() {
|
||||
return [
|
||||
'permission' => 'staff_1',
|
||||
'requestData' => [
|
||||
'page' => [
|
||||
'validation' => DataValidator::numeric(),
|
||||
'error' => ERRORS::INVALID_PAGE
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
public function handler() {
|
||||
$page =Controller::request('page');
|
||||
}
|
||||
}
|
|
@ -34,6 +34,8 @@ class AddCustomResponseController extends Controller {
|
|||
]);
|
||||
$customResponse->store();
|
||||
|
||||
Log::createLog('ADD_CUSTOM_RESPONSE', null);
|
||||
|
||||
Response::respondSuccess();
|
||||
}
|
||||
}
|
|
@ -21,6 +21,8 @@ class DeleteCustomResponseController extends Controller {
|
|||
$customResponse = CustomResponse::getDataStore(Controller::request('id'));
|
||||
$customResponse->delete();
|
||||
|
||||
Log::createLog('DELETE_CUSTOM_RESPONSE', null);
|
||||
|
||||
Response::respondSuccess();
|
||||
}
|
||||
}
|
|
@ -29,6 +29,8 @@ class BanUserController extends Controller {
|
|||
|
||||
$ban->store();
|
||||
|
||||
Log::createLog('BAN_USER', $email);
|
||||
|
||||
Response::respondSuccess();
|
||||
} else {
|
||||
Response::respondError(ERRORS::ALREADY_BANNED);
|
||||
|
|
|
@ -21,7 +21,10 @@ class DeleteUserController extends Controller {
|
|||
$userId = Controller::request('userId');
|
||||
$user = User::getDataStore($userId);
|
||||
|
||||
Log::createLog('DELETE_USER', $user->name);
|
||||
|
||||
$user->delete();
|
||||
|
||||
Response::respondSuccess();
|
||||
}
|
||||
}
|
|
@ -57,7 +57,8 @@ class SignUpController extends Controller {
|
|||
'userId' => $userId,
|
||||
'userEmail' => $this->userEmail
|
||||
]);
|
||||
|
||||
|
||||
Log::createLog('SIGNUP', null, User::getDataStore($userId));
|
||||
}
|
||||
|
||||
public function storeRequestData() {
|
||||
|
|
|
@ -24,6 +24,9 @@ class UnBanUserController extends Controller {
|
|||
Response::respondError(ERRORS::INVALID_EMAIL);
|
||||
} else {
|
||||
$banRow->delete();
|
||||
|
||||
Log::createLog('UN_BAN_USER', $email);
|
||||
|
||||
Response::respondSuccess();
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
use RedBeanPHP\Facade as RedBean;
|
||||
|
||||
class Log extends DataStore {
|
||||
const TABLE = 'log';
|
||||
|
||||
public static function getProps() {
|
||||
return [
|
||||
'type',
|
||||
'author',
|
||||
'authorStaff',
|
||||
'to'
|
||||
];
|
||||
}
|
||||
public static function createLog($type,$to, $author = null) {
|
||||
if($author === null) {
|
||||
$author = Controller::getLoggedUser();
|
||||
}
|
||||
$log = new Log();
|
||||
|
||||
$log->setProperties(array(
|
||||
'type' => $type,
|
||||
'author' => (!$author->isNull() && !$author->staff) ? $author : null,
|
||||
'authorStaff' => (!$author->isNull() && $author->staff) ? $author : null,
|
||||
'to' => $to,
|
||||
));
|
||||
$log->store();
|
||||
}
|
||||
}
|
|
@ -95,4 +95,47 @@ describe'system/edit-settings' do
|
|||
|
||||
request('/user/logout')
|
||||
end
|
||||
|
||||
it 'should change allowed and supported languages' do
|
||||
request('/user/logout')
|
||||
Scripts.login($staff[:email], $staff[:password], true)
|
||||
|
||||
result= request('/system/edit-settings', {
|
||||
"csrf_userid" => $csrf_userid,
|
||||
"csrf_token" => $csrf_token,
|
||||
"supportedLanguages" => '["en", "pr", "jp", "ru"]',
|
||||
"allowedLanguages" => '["en","pr", "jp", "ru", "de"]'
|
||||
})
|
||||
|
||||
(result['status']).should.equal('success')
|
||||
|
||||
row = $database.getRow('language', 'en', 'code')
|
||||
(row['supported']).should.equal('1')
|
||||
|
||||
row = $database.getRow('language', 'pr', 'code')
|
||||
(row['supported']).should.equal('1')
|
||||
|
||||
row = $database.getRow('language', 'jp', 'code')
|
||||
(row['supported']).should.equal('1')
|
||||
|
||||
row = $database.getRow('language', 'ru', 'code')
|
||||
(row['supported']).should.equal('1')
|
||||
|
||||
row = $database.getRow('language', 'en', 'code')
|
||||
(row['allowed']).should.equal('1')
|
||||
|
||||
row = $database.getRow('language', 'pr', 'code')
|
||||
(row['allowed']).should.equal('1')
|
||||
|
||||
row = $database.getRow('language', 'jp', 'code')
|
||||
(row['allowed']).should.equal('1')
|
||||
|
||||
row = $database.getRow('language', 'ru', 'code')
|
||||
(row['allowed']).should.equal('1')
|
||||
|
||||
row = $database.getRow('language', 'de', 'code')
|
||||
(row['allowed']).should.equal('1')
|
||||
|
||||
request('/user/logout')
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue