Skip to content
Snippets Groups Projects
Commit b89b6d00 authored by Florian Azizian's avatar Florian Azizian
Browse files

FEAT #76 administration doctype + TU

parent a7190734
Branches
Tags
No related merge requests found
......@@ -18,7 +18,8 @@ class FirstLevelControllerTest extends TestCase
private static $secondLevelId = null;
private static $doctypeId = null;
public function testReadList(){
public function testReadList()
{
// READ LIST
$environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'GET']);
$request = \Slim\Http\Request::createFromEnvironment($environment);
......@@ -27,14 +28,15 @@ class FirstLevelControllerTest extends TestCase
$response = $firstLevelController->getTree($request, new \Slim\Http\Response());
$responseBody = json_decode((string)$response->getBody());
$this->assertNotNull($responseBody->structure);
$this->assertNotNull($responseBody->structure);
$this->assertNotNull($responseBody->structure[0]->doctypes_first_level_id);
$this->assertInternalType('int', $responseBody->structure[0]->doctypes_first_level_id);
$this->assertNotNull($responseBody->structure[0]->doctypes_first_level_label);
$this->assertNotNull($responseBody->structure[0]->enabled);
$this->assertInternalType('int', $responseBody->structure[0]->doctypes_first_level_id);
$this->assertNotNull($responseBody->structure[0]->doctypes_first_level_label);
$this->assertNotNull($responseBody->structure[0]->enabled);
}
public function testinitFirstLevel(){
public function testinitFirstLevel()
{
$environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'GET']);
$request = \Slim\Http\Request::createFromEnvironment($environment);
......@@ -42,12 +44,13 @@ class FirstLevelControllerTest extends TestCase
$response = $firstLevelController->initFirstLevel($request, new \Slim\Http\Response());
$responseBody = json_decode((string)$response->getBody());
$this->assertNotNull($responseBody->folderType);
$this->assertNotNull($responseBody->folderType[0]->foldertype_id);
$this->assertNotNull($responseBody->folderType[0]->foldertype_label);
$this->assertNotNull($responseBody->folderType);
$this->assertNotNull($responseBody->folderType[0]->foldertype_id);
$this->assertNotNull($responseBody->folderType[0]->foldertype_label);
}
public function testinitSecondLevel(){
public function testinitSecondLevel()
{
$environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'GET']);
$request = \Slim\Http\Request::createFromEnvironment($environment);
......@@ -55,9 +58,9 @@ class FirstLevelControllerTest extends TestCase
$response = $secondLevelController->initSecondLevel($request, new \Slim\Http\Response());
$responseBody = json_decode((string)$response->getBody());
$this->assertNotNull($responseBody->firstLevel);
$this->assertNotNull($responseBody->firstLevel[0]->doctypes_first_level_id);
$this->assertNotNull($responseBody->firstLevel[0]->doctypes_first_level_label);
$this->assertNotNull($responseBody->firstLevel);
$this->assertNotNull($responseBody->firstLevel[0]->doctypes_first_level_id);
$this->assertNotNull($responseBody->firstLevel[0]->doctypes_first_level_label);
}
public function testCreateFirstLevel()
......@@ -79,12 +82,9 @@ class FirstLevelControllerTest extends TestCase
$response = $firstLevelController->create($fullRequest, new \Slim\Http\Response());
$responseBody = json_decode((string)$response->getBody());
self::$firstLevelId = $responseBody->firstLevel->doctypes_first_level_id;
self::$firstLevelId = $responseBody->firstLevel;
$this->assertInternalType('int', self::$firstLevelId);
$this->assertSame('testTUfirstlevel', $responseBody->firstLevel->doctypes_first_level_label);
$this->assertSame('#99999', $responseBody->firstLevel->css_style);
$this->assertSame('Y', $responseBody->firstLevel->enabled);
// CREATE FAIL
$aArgs = [
......@@ -121,13 +121,9 @@ class FirstLevelControllerTest extends TestCase
$response = $secondLevelController->create($fullRequest, new \Slim\Http\Response());
$responseBody = json_decode((string)$response->getBody());
self::$secondLevelId = $responseBody->secondLevel->doctypes_second_level_id;
self::$secondLevelId = $responseBody->secondLevel;
$this->assertInternalType('int', self::$secondLevelId);
$this->assertSame('testTUsecondlevel', $responseBody->secondLevel->doctypes_second_level_label);
$this->assertSame(self::$firstLevelId, $responseBody->secondLevel->doctypes_first_level_id);
$this->assertSame('#99999', $responseBody->secondLevel->css_style);
$this->assertSame('Y', $responseBody->secondLevel->enabled);
// CREATE FAIL
$aArgs = [
......@@ -160,14 +156,13 @@ class FirstLevelControllerTest extends TestCase
'enabled' => 'Y',
];
$fullRequest = \httpRequestCustom::addContentInBody($aArgs, $request);
$response = $firstLevelController->update($fullRequest, new \Slim\Http\Response(), ["id" => self::$firstLevelId]);
$responseBody = json_decode((string)$response->getBody());
$this->assertSame(self::$firstLevelId, $responseBody->firstLevel->doctypes_first_level_id);
$this->assertSame('testTUfirstlevelUPDATE', $responseBody->firstLevel->doctypes_first_level_label);
$this->assertSame('#7777', $responseBody->firstLevel->css_style);
$this->assertSame('Y', $responseBody->firstLevel->enabled);
$this->assertSame('Y', $responseBody->firstLevel->enabled);
// UPDATE FAIL
$aArgs = [
......@@ -185,7 +180,6 @@ class FirstLevelControllerTest extends TestCase
$this->assertSame('Id gaz does not exists', $responseBody->errors[1]);
$this->assertSame('Invalid doctypes_first_level_label', $responseBody->errors[2]);
$this->assertSame('Invalid foldertype_id', $responseBody->errors[3]);
}
public function testUpdateSecondLevel()
......@@ -211,7 +205,7 @@ class FirstLevelControllerTest extends TestCase
$this->assertSame('testTUsecondlevelUPDATE', $responseBody->secondLevel->doctypes_second_level_label);
$this->assertSame(self::$firstLevelId, $responseBody->secondLevel->doctypes_first_level_id);
$this->assertSame('#7777', $responseBody->secondLevel->css_style);
$this->assertSame('Y', $responseBody->secondLevel->enabled);
$this->assertSame('Y', $responseBody->secondLevel->enabled);
// UPDATE FAIL
$aArgs = [
......@@ -229,44 +223,44 @@ class FirstLevelControllerTest extends TestCase
$this->assertSame('Id gaz does not exists', $responseBody->errors[1]);
$this->assertSame('Invalid doctypes_second_level_label', $responseBody->errors[2]);
$this->assertSame('Invalid doctypes_first_level_id', $responseBody->errors[3]);
}
public function testRead(){
public function testRead()
{
// READ FIRST LEVEL
$environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'GET']);
$request = \Slim\Http\Request::createFromEnvironment($environment);
$firstLevelController = new \Doctype\controllers\FirstLevelController();
$response = $firstLevelController->getById($request, new \Slim\Http\Response(), ["id" => self::$firstLevelId]);
$responseBody = json_decode((string)$response->getBody());
$responseBody = json_decode((string)$response->getBody());
$this->assertSame(self::$firstLevelId, $responseBody->firstLevel->doctypes_first_level_id);
$this->assertSame('testTUfirstlevelUPDATE', $responseBody->firstLevel->doctypes_first_level_label);
$this->assertSame('#7777', $responseBody->firstLevel->css_style);
$this->assertSame(true, $responseBody->firstLevel->enabled);
$this->assertNotNull($responseBody->folderTypeSelected);
$this->assertNotNull($responseBody->folderTypes);
$this->assertSame(true, $responseBody->firstLevel->enabled);
$this->assertNotNull($responseBody->folderTypeSelected);
$this->assertNotNull($responseBody->folderTypes);
// READ FIRST LEVEL FAIL
$response = $firstLevelController->getById($request, new \Slim\Http\Response(), ["id" => 'GAZ']);
$responseBody = json_decode((string)$response->getBody());
$responseBody = json_decode((string)$response->getBody());
$this->assertSame('wrong format for id', $responseBody->errors);
// READ SECOND LEVEL
$secondLevelController = new \Doctype\controllers\SecondLevelController();
$response = $secondLevelController->getById($request, new \Slim\Http\Response(), ["id" => self::$secondLevelId]);
$responseBody = json_decode((string)$response->getBody());
$responseBody = json_decode((string)$response->getBody());
$this->assertSame(self::$secondLevelId, $responseBody->secondLevel->doctypes_second_level_id);
$this->assertSame('testTUsecondlevelUPDATE', $responseBody->secondLevel->doctypes_second_level_label);
$this->assertSame(self::$firstLevelId, $responseBody->secondLevel->doctypes_first_level_id);
$this->assertSame(true, $responseBody->secondLevel->enabled);
$this->assertSame(true, $responseBody->secondLevel->enabled);
// READ SECOND LEVEL FAIL
$response = $secondLevelController->getById($request, new \Slim\Http\Response(), ["id" => 'GAZ']);
$responseBody = json_decode((string)$response->getBody());
$responseBody = json_decode((string)$response->getBody());
$this->assertSame('wrong format for id', $responseBody->errors);
}
......@@ -301,8 +295,7 @@ class FirstLevelControllerTest extends TestCase
$response = $secondLevelController->delete($fullRequest, new \Slim\Http\Response(), ["id" => 'gaz']);
$responseBody = json_decode((string)$response->getBody());
$this->assertSame('Id is not a numeric', $responseBody->errors);
$this->assertSame('Id is not a numeric', $responseBody->errors);
}
public function testDeleteFirstLevel()
......@@ -334,8 +327,7 @@ class FirstLevelControllerTest extends TestCase
$response = $firstLevelController->delete($fullRequest, new \Slim\Http\Response(), ["id" => 'gaz']);
$responseBody = json_decode((string)$response->getBody());
$this->assertSame('Id is not a numeric', $responseBody->errors);
$this->assertSame('Id is not a numeric', $responseBody->errors);
}
public function testDeleteSQL()
......@@ -351,5 +343,4 @@ class FirstLevelControllerTest extends TestCase
'data' => [self::$secondLevelId]
]);
}
}
......@@ -25,17 +25,16 @@ class FirstLevelController
{
public function getTree(Request $request, Response $response)
{
$firstLevels = FirstLevelModel::get();
$secondLevels = SecondLevelModel::get();
$docTypes = DoctypeModel::get();
$structure = [];
foreach($firstLevels as $firstLevelValue){
foreach ($firstLevels as $firstLevelValue) {
foreach ($secondLevels as $secondLevelValue) {
if($firstLevelValue['doctypes_first_level_id'] == $secondLevelValue['doctypes_first_level_id']){
if ($firstLevelValue['doctypes_first_level_id'] == $secondLevelValue['doctypes_first_level_id']) {
foreach ($docTypes as $doctypeValue) {
if($secondLevelValue['doctypes_second_level_id'] == $doctypeValue['doctypes_second_level_id']){
if ($secondLevelValue['doctypes_second_level_id'] == $doctypeValue['doctypes_second_level_id']) {
$secondLevelValue['doctypes'][] = $doctypeValue;
}
}
......@@ -52,7 +51,6 @@ class FirstLevelController
public function getById(Request $request, Response $response, $aArgs)
{
if (!Validator::intVal()->validate($aArgs['id']) || !Validator::notEmpty()->validate($aArgs['id'])) {
return $response
->withStatus(500)
......@@ -61,7 +59,7 @@ class FirstLevelController
$obj['firstLevel'] = FirstLevelModel::getById(['id' => $aArgs['id']]);
if(!empty($obj)){
if (!empty($obj)) {
if ($obj['firstLevel']['enabled'] == 'Y') {
$obj['firstLevel']['enabled'] = true;
} else {
......@@ -76,7 +74,6 @@ class FirstLevelController
public function getDoctypeById(Request $request, Response $response, $aArgs)
{
if (!Validator::intVal()->validate($aArgs['id']) || !Validator::notEmpty()->validate($aArgs['id'])) {
return $response
->withStatus(500)
......@@ -85,7 +82,7 @@ class FirstLevelController
$obj = DoctypeModel::getById(['id' => $aArgs['id']]);
if(!empty($obj)){
if (!empty($obj)) {
if ($obj['enabled'] == 'Y') {
$obj['enabled'] = true;
} else {
......@@ -118,26 +115,26 @@ class FirstLevelController
$folderTypeId = $data['foldertype_id'];
unset($data['foldertype_id']);
$obj = FirstLevelModel::create($data);
$firstLevelId = FirstLevelModel::create($data);
foreach ($folderTypeId as $value) {
FolderTypeModel::createFolderTypeDocTypeFirstLevel([
"doctypes_first_level_id" => $obj['doctypes_first_level_id'],
"doctypes_first_level_id" => $firstLevelId,
"foldertype_id" => $value
]);
}
HistoryController::add([
'tableName' => 'doctypes_first_level',
'recordId' => $obj['doctypes_first_level_id'],
'recordId' => $firstLevelId,
'eventType' => 'ADD',
'eventId' => 'structureadd',
'info' => _DOCTYPE_FIRSTLEVEL_ADDED . ' : ' . $obj['doctypes_first_level_label']
'info' => _DOCTYPE_FIRSTLEVEL_ADDED . ' : ' . $data['doctypes_first_level_label']
]);
return $response->withJson(
[
'firstLevel' => $obj
'firstLevel' => $firstLevelId
]
);
}
......@@ -162,12 +159,12 @@ class FirstLevelController
$folderTypeId = $obj['foldertype_id'];
unset($obj['foldertype_id']);
$obj = FirstLevelModel::update($obj);
FirstLevelModel::update($obj);
FolderTypeModel::deleteFolderTypeDocTypeFirstLevel(['doctypes_first_level_id' => $obj['doctypes_first_level_id']]);
foreach ($folderTypeId as $value) {
FolderTypeModel::createFolderTypeDocTypeFirstLevel([
"doctypes_first_level_id" => $obj['doctypes_first_level_id'],
"doctypes_first_level_id" => $obj['doctypes_first_level_id'],
"foldertype_id" => $value
]);
}
......
......@@ -22,10 +22,8 @@ use Slim\Http\Response;
class SecondLevelController
{
public function getById(Request $request, Response $response, $aArgs)
{
if (!Validator::intVal()->validate($aArgs['id']) || !Validator::notEmpty()->validate($aArgs['id'])) {
return $response
->withStatus(500)
......@@ -34,7 +32,7 @@ class SecondLevelController
$obj['secondLevel'] = SecondLevelModel::getById(['id' => $aArgs['id']]);
if(!empty($obj['secondLevel'])){
if (!empty($obj['secondLevel'])) {
if ($obj['secondLevel']['enabled'] == 'Y') {
$obj['secondLevel']['enabled'] = true;
} else {
......@@ -66,19 +64,19 @@ class SecondLevelController
return $response->withStatus(500)->withJson(['errors' => $errors]);
}
$obj = SecondLevelModel::create($data);
$secondLevelId = SecondLevelModel::create($data);
HistoryController::add([
'tableName' => 'doctypes_second_level',
'recordId' => $obj['doctypes_second_level_id'],
'recordId' => $secondLevelId,
'eventType' => 'ADD',
'eventId' => 'subfolderadd',
'info' => _DOCTYPE_SECONDLEVEL_ADDED . ' : ' . $obj['doctypes_second_level_label']
'info' => _DOCTYPE_SECONDLEVEL_ADDED . ' : ' . $data['doctypes_second_level_label']
]);
return $response->withJson(
[
'secondLevel' => $obj
'secondLevel' => $secondLevelId
]
);
}
......@@ -101,19 +99,19 @@ class SecondLevelController
->withJson(['errors' => $errors]);
}
$obj = SecondLevelModel::update($data);
SecondLevelModel::update($data);
HistoryController::add([
'tableName' => 'doctypes_second_level',
'recordId' => $obj['doctypes_second_level_id'],
'recordId' => $data['doctypes_second_level_id'],
'eventType' => 'UP',
'eventId' => 'subfolderup',
'info' => _DOCTYPE_SECONDLEVEL_UPDATED. ' : ' . $obj['doctypes_second_level_label']
'info' => _DOCTYPE_SECONDLEVEL_UPDATED. ' : ' . $data['doctypes_second_level_label']
]);
return $response->withJson(
[
'secondLevel' => $obj
'secondLevel' => $data
]
);
}
......
......@@ -63,7 +63,7 @@ class FirstLevelModelAbstract
'columnsValues' => $aArgs
]);
return $aArgs;
return $aArgs['doctypes_first_level_id'];
}
public static function update(array $aArgs)
......@@ -78,7 +78,6 @@ class FirstLevelModelAbstract
'data' => [$aArgs['doctypes_first_level_id']]
]);
return $aArgs;
return true;
}
}
......@@ -64,7 +64,7 @@ class SecondLevelModelAbstract
'columnsValues' => $aArgs
]);
return $aArgs;
return $aArgs['doctypes_second_level_id'];
}
public static function update(array $aArgs)
......@@ -79,7 +79,7 @@ class SecondLevelModelAbstract
'data' => [$aArgs['doctypes_second_level_id']]
]);
return $aArgs;
return true;
}
public static function disabledFirstLevel(array $aArgs)
......@@ -96,6 +96,4 @@ class SecondLevelModelAbstract
return true;
}
}
......@@ -66,6 +66,7 @@ class NotificationScheduleModelAbstract
}
$crontab = shell_exec('crontab -l');
// TODO check crontab is installed
$lines = explode("\n", $crontab);
$data = array();
$customId = CoreConfigModel::getCustomId();
......@@ -82,6 +83,7 @@ class NotificationScheduleModelAbstract
}
$cronLine = preg_replace('![ \t]+!', ' ', $cronLine);
if ($cronLine[0] == '@') {
// TODO $time not used
list($time, $cmd) = explode(' ', $cronLine, 2);
} else {
list($m, $h, $dom, $mon, $dow, $cmd) = explode(' ', $cronLine, 6);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment