Guillermo - add creatae log architecture [skip ci]

This commit is contained in:
AntonyAntonio 2016-12-28 21:55:00 -03:00
parent bac7ea444e
commit b718598f32
19 changed files with 136 additions and 4 deletions

View File

@ -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()
]);

View File

@ -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()
]);

View File

@ -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();
}
}

View File

@ -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();

View File

@ -46,6 +46,9 @@ class EditArticleController extends Controller {
$article->lastEdited = Date::getCurrentDate();
$article->store();
Log::createLog('EDIT_ARTICLE', $article->title);
Response::respondSuccess();
}
}

View File

@ -55,6 +55,9 @@ class AddStaffController extends Controller {
]);
$staff = Controller::getLoggedUser();
Log::createLog('ADD_STAFF', $this->name);
$this->addOwner();
Response::respondSuccess([

View File

@ -23,11 +23,11 @@ class AddDepartmentController extends Controller {
$departmentInstance->setProperties([
'name' => $name,
]);
$departmentInstance->store();
Log::createLog('ADD_DEPARTMENT', $name);
Response::respondSuccess();
}

View File

@ -37,6 +37,8 @@ class DeleteDepartmentController extends Controller {
$departmentInstance = Department::getDataStore($this->departmentId);
$departmentInstance->delete();
Log::createLog('DELETE_DEPARTMENT', $departmentInstance->name);
Response::respondSuccess();
}

View File

@ -32,6 +32,8 @@ class EditDepartmentController extends Controller {
$departmentInstance->store();
Log::createLog('EDIT_DEPARTMENT', $departmentInstance->name);
Response::respondSuccess();
}

View File

@ -40,6 +40,9 @@ class EditSettingsController extends Controller {
if(Controller::request('allowedLanguages') || Controller::request('supportedLanguages')) {
$this->handleLanguages();
}
Log::createLog('EDIT_SETTINGS', null);
Response::respondSuccess();
}

View File

@ -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');
}
}

View File

@ -34,6 +34,8 @@ class AddCustomResponseController extends Controller {
]);
$customResponse->store();
Log::createLog('ADD_CUSTOM_RESPONSE', null);
Response::respondSuccess();
}
}

View File

@ -21,6 +21,8 @@ class DeleteCustomResponseController extends Controller {
$customResponse = CustomResponse::getDataStore(Controller::request('id'));
$customResponse->delete();
Log::createLog('DELETE_CUSTOM_RESPONSE', null);
Response::respondSuccess();
}
}

View File

@ -29,6 +29,8 @@ class BanUserController extends Controller {
$ban->store();
Log::createLog('BAN_USER', $email);
Response::respondSuccess();
} else {
Response::respondError(ERRORS::ALREADY_BANNED);

View File

@ -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();
}
}

View File

@ -57,7 +57,8 @@ class SignUpController extends Controller {
'userId' => $userId,
'userEmail' => $this->userEmail
]);
Log::createLog('SIGNUP', null, User::getDataStore($userId));
}
public function storeRequestData() {

View File

@ -24,6 +24,9 @@ class UnBanUserController extends Controller {
Response::respondError(ERRORS::INVALID_EMAIL);
} else {
$banRow->delete();
Log::createLog('UN_BAN_USER', $email);
Response::respondSuccess();
}

29
server/models/Log.php Normal file
View File

@ -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();
}
}

View File

@ -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