mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-24 02:13:15 +00:00
Merge branch 'master' into PHRAS-2705-basket-browser-windows-nok
This commit is contained in:
@@ -944,7 +944,7 @@ class V1Controller extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
$originalName = $pi['filename'] . '.' . $pi['extension'];
|
$originalName = $pi['filename'] . '.' . $pi['extension'];
|
||||||
$newPathname = $tempfile;
|
$uploadedFilename = $newPathname = $tempfile;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -956,8 +956,11 @@ class V1Controller extends Controller
|
|||||||
if (!$file->isValid()) {
|
if (!$file->isValid()) {
|
||||||
return $this->getBadRequestAction($request, 'Data corrupted, please try again');
|
return $this->getBadRequestAction($request, 'Data corrupted, please try again');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$uploadedFilename = $file->getPathname();
|
||||||
$originalName = $file->getClientOriginalName();
|
$originalName = $file->getClientOriginalName();
|
||||||
$newPathname = $file->getPathname() . '.' . $file->getClientOriginalExtension();
|
$newPathname = $file->getPathname() . '.' . $file->getClientOriginalExtension();
|
||||||
|
|
||||||
if (false === rename($file->getPathname(), $newPathname)) {
|
if (false === rename($file->getPathname(), $newPathname)) {
|
||||||
return Result::createError($request, 403, 'Error while renaming file')->createResponse();
|
return Result::createError($request, 403, 'Error while renaming file')->createResponse();
|
||||||
}
|
}
|
||||||
@@ -1010,6 +1013,11 @@ class V1Controller extends Controller
|
|||||||
$nosubdef = $request->get('nosubdefs') === '' || \p4field::isyes($request->get('nosubdefs'));
|
$nosubdef = $request->get('nosubdefs') === '' || \p4field::isyes($request->get('nosubdefs'));
|
||||||
$this->getBorderManager()->process($session, $Package, $callback, $behavior, $nosubdef);
|
$this->getBorderManager()->process($session, $Package, $callback, $behavior, $nosubdef);
|
||||||
|
|
||||||
|
// remove $newPathname on temporary directory
|
||||||
|
if ($newPathname !== $uploadedFilename) {
|
||||||
|
@rename($newPathname, $uploadedFilename);
|
||||||
|
}
|
||||||
|
|
||||||
$ret = ['entity' => null];
|
$ret = ['entity' => null];
|
||||||
|
|
||||||
if ($output instanceof \record_adapter) {
|
if ($output instanceof \record_adapter) {
|
||||||
@@ -1081,6 +1089,11 @@ class V1Controller extends Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// remove $newPathname on temporary directory
|
||||||
|
if ($renamedFilename !== $uploadedFilename) {
|
||||||
|
@rename($renamedFilename, $uploadedFilename);
|
||||||
|
}
|
||||||
|
|
||||||
return Result::create($request, $ret)->createResponse();
|
return Result::create($request, $ret)->createResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1984,7 +1997,7 @@ class V1Controller extends Controller
|
|||||||
return $this->getBadRequestAction($request);
|
return $this->getBadRequestAction($request);
|
||||||
}
|
}
|
||||||
|
|
||||||
$datas = substr($datas, 0, ($n)) . $value . substr($datas, ($n + 2));
|
$datas = substr($datas, 0, ($n)) . $value . substr($datas, ($n + 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
$record->setStatus(strrev($datas));
|
$record->setStatus(strrev($datas));
|
||||||
|
|||||||
@@ -463,6 +463,8 @@ class PushController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
$manager = $this->getEntityManager();
|
||||||
|
|
||||||
$password = $this->getRandomGenerator()->generateString(128);
|
$password = $this->getRandomGenerator()->generateString(128);
|
||||||
|
|
||||||
$user = $this->getUserManipulator()->createUser($email, $password, $email);
|
$user = $this->getUserManipulator()->createUser($email, $password, $email);
|
||||||
@@ -476,12 +478,15 @@ class PushController extends Controller
|
|||||||
$user->setCompany($request->request->get('company'));
|
$user->setCompany($request->request->get('company'));
|
||||||
}
|
}
|
||||||
if ($request->request->get('job')) {
|
if ($request->request->get('job')) {
|
||||||
$user->setCompany($request->request->get('job'));
|
$user->setJob($request->request->get('job'));
|
||||||
}
|
}
|
||||||
if ($request->request->get('form_geonameid')) {
|
if ($request->request->get('city')) {
|
||||||
$this->getUserManipulator()->setGeonameId($user, $request->request->get('form_geonameid'));
|
$this->getUserManipulator()->setGeonameId($user, $request->request->get('city'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$manager->persist($user);
|
||||||
|
$manager->flush();
|
||||||
|
|
||||||
$result['message'] = $this->app->trans('User successfully created');
|
$result['message'] = $this->app->trans('User successfully created');
|
||||||
$result['success'] = true;
|
$result['success'] = true;
|
||||||
$result['user'] = $this->formatUser($user);
|
$result['user'] = $this->formatUser($user);
|
||||||
|
|||||||
@@ -512,7 +512,7 @@
|
|||||||
{{ 'admin::compte-utilisateur poste' | trans }}
|
{{ 'admin::compte-utilisateur poste' | trans }}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" name="function" value="{{main_user.getActivity()}}"/>
|
<input type="text" name="function" value="{{main_user.getJob()}}"/>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -528,7 +528,7 @@
|
|||||||
{{ 'admin::compte-utilisateur activite' | trans }}
|
{{ 'admin::compte-utilisateur activite' | trans }}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" name="activite" value="{{main_user.getJob()}}"/>
|
<input type="text" name="activite" value="{{main_user.getActivity()}}"/>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ use Alchemy\Phrasea\Model\Entities\LazaretSession;
|
|||||||
use Alchemy\Phrasea\Model\Entities\Task;
|
use Alchemy\Phrasea\Model\Entities\Task;
|
||||||
use Alchemy\Phrasea\Model\Entities\User;
|
use Alchemy\Phrasea\Model\Entities\User;
|
||||||
use Alchemy\Phrasea\SearchEngine\SearchEngineOptions;
|
use Alchemy\Phrasea\SearchEngine\SearchEngineOptions;
|
||||||
|
use Alchemy\Phrasea\Status\StatusStructureProviderInterface;
|
||||||
use Doctrine\Common\Collections\ArrayCollection;
|
use Doctrine\Common\Collections\ArrayCollection;
|
||||||
use Guzzle\Common\Exception\GuzzleException;
|
use Guzzle\Common\Exception\GuzzleException;
|
||||||
use Ramsey\Uuid\Uuid;
|
use Ramsey\Uuid\Uuid;
|
||||||
@@ -1256,13 +1257,33 @@ class ApiJsonTest extends ApiTestCase
|
|||||||
$record1 = $this->getRecord1();
|
$record1 = $this->getRecord1();
|
||||||
$route = '/api/v1/records/' . $record1->getDataboxId() . '/' . $record1->getRecordId() . '/setstatus/';
|
$route = '/api/v1/records/' . $record1->getDataboxId() . '/' . $record1->getRecordId() . '/setstatus/';
|
||||||
|
|
||||||
$record_status = strrev($record1->getStatus());
|
$initialRecordStatus = $record_status = strrev($record1->getStatus());
|
||||||
|
|
||||||
|
/** @var StatusStructureProviderInterface $statusProvider */
|
||||||
|
$statusProvider = $app['status.provider'];
|
||||||
|
|
||||||
|
// initialize status structure for test eg: 4 to 15 bit
|
||||||
|
foreach (range(4, 15) as $n) {
|
||||||
|
$properties = [
|
||||||
|
'searchable' => '0',
|
||||||
|
'printable' => '0',
|
||||||
|
'name' => 'status_test_' . $n,
|
||||||
|
'labelon' => '',
|
||||||
|
'labeloff' => '',
|
||||||
|
'labels_on' => [],
|
||||||
|
'labels_off' => [],
|
||||||
|
];
|
||||||
|
|
||||||
|
$statusProvider->updateStatus($record1->getStatusStructure(), $n, $properties);
|
||||||
|
}
|
||||||
|
|
||||||
$statusStructure = $record1->getStatusStructure();
|
$statusStructure = $record1->getStatusStructure();
|
||||||
|
|
||||||
$tochange = [];
|
$tochange = [];
|
||||||
foreach ($statusStructure as $n => $datas) {
|
foreach ($statusStructure as $n => $datas) {
|
||||||
$tochange[$n] = substr($record_status, ($n - 1), 1) == '0' ? '1' : '0';
|
$tochange[$n] = substr($record_status, ($n - 1), 1) == '0' ? '1' : '0';
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->evaluateMethodNotAllowedRoute($route, ['GET', 'PUT', 'DELETE']);
|
$this->evaluateMethodNotAllowedRoute($route, ['GET', 'PUT', 'DELETE']);
|
||||||
|
|
||||||
$response = $this->request('POST', $route, $this->getParameters(['status' => $tochange]), ['HTTP_Accept' => $this->getAcceptMimeType()]);
|
$response = $this->request('POST', $route, $this->getParameters(['status' => $tochange]), ['HTTP_Accept' => $this->getAcceptMimeType()]);
|
||||||
@@ -1281,6 +1302,27 @@ class ApiJsonTest extends ApiTestCase
|
|||||||
$this->assertEquals(substr($record_status, ($n), 1), $tochange[$n]);
|
$this->assertEquals(substr($record_status, ($n), 1), $tochange[$n]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// test record_status in string
|
||||||
|
$record_status_expected = $record_status;
|
||||||
|
|
||||||
|
$pos = strpos($record_status, '1');
|
||||||
|
$bitToChange[$pos] = '1';
|
||||||
|
|
||||||
|
$response = $this->request('POST', $route, $this->getParameters(['status' => $bitToChange]), ['HTTP_Accept' => $this->getAcceptMimeType()]);
|
||||||
|
$content = $this->unserialize($response->getContent());
|
||||||
|
|
||||||
|
// Get fresh record_1
|
||||||
|
$testRecord = new \record_adapter($app, $testRecord->getDataboxId(), $testRecord->getRecordId());
|
||||||
|
|
||||||
|
$this->evaluateResponse200($response);
|
||||||
|
$this->evaluateMeta200($content);
|
||||||
|
|
||||||
|
$this->evaluateRecordsStatusResponse($testRecord, $content);
|
||||||
|
|
||||||
|
$record_new_status = strrev($testRecord->getStatus());
|
||||||
|
$this->assertEquals($record_status_expected, $record_new_status);
|
||||||
|
|
||||||
|
|
||||||
foreach ($tochange as $n => $value) {
|
foreach ($tochange as $n => $value) {
|
||||||
$tochange[$n] = $value == '0' ? '1' : '0';
|
$tochange[$n] = $value == '0' ? '1' : '0';
|
||||||
}
|
}
|
||||||
@@ -1301,6 +1343,8 @@ class ApiJsonTest extends ApiTestCase
|
|||||||
$this->assertEquals(substr($record_status, ($n), 1), $tochange[$n]);
|
$this->assertEquals(substr($record_status, ($n), 1), $tochange[$n]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->assertEquals($initialRecordStatus, $record_status);
|
||||||
|
|
||||||
$record1->setStatus(str_repeat('0', 32));
|
$record1->setStatus(str_repeat('0', 32));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user