Skip to content
Snippets Groups Projects
Commit 29aa3852 authored by Administrator's avatar Administrator
Browse files

Merge branch 'dev' into 'master'

-

See merge request aktion/sur!17
parents a1c62ccb 62508bd5
No related branches found
Tags 1.0.18
No related merge requests found
Pipeline #1516 failed with stages
......@@ -2,6 +2,7 @@
namespace App\Modules\Sur\Controllers;
use App\Modules\Sur\Exceptions\BadFileException;
use App\Modules\Sur\Exceptions\CompanyNotFoundException;
use App\Modules\Sur\Exceptions\BadClientException;
use App\Modules\Sur\Models\Companies;
......@@ -10,8 +11,10 @@ use App\Modules\Sur\Models\CompanyContractors;
use App\Modules\Sur\Models\MembersCache;
use Colibri\App;
use App\Modules\Sur\Module;
use Colibri\AppException;
use Colibri\Exceptions\ApplicationErrorException;
use Colibri\Exceptions\PermissionDeniedException;
use Colibri\IO\FileSystem\Directory;
use Colibri\Web\Controller as WebController;
use Colibri\Web\PayloadCopy;
use Colibri\Web\RequestCollection;
......@@ -231,4 +234,74 @@ class ContractorsController extends WebController
}
/**
* Lists contractors INN
* @param RequestCollection $get данные GET
* @param RequestCollection $post данные POST
* @param mixed $payload данные payload обьекта переданного через POST/PUT
* @return object
*/
public function ExternalList(RequestCollection $get, RequestCollection $post, ? PayloadCopy $payload = null): object
{
$result = [];
$message = 'Result message';
$code = 200;
$contractors = CompanyContractors::LoadAll();
foreach($contractors as $contractor) {
if($contractor->is_inn_correct && strlen($contractor->inn) != 12) {
$result[] = $contractor->inn;
}
}
return $this->Finish(
$code,
$message,
$result,
'utf-8'
);
}
/**
* Uploads a file with chars
* @param RequestCollection $get данные GET
* @param RequestCollection $post данные POST
* @param mixed $payload данные payload обьекта переданного через POST/PUT
* @return object
*/
public function ExternalUploadCache(RequestCollection $get, RequestCollection $post, ? PayloadCopy $payload = null): object
{
$result = [];
$message = 'Result message';
$code = 200;
$runtimePath = App::$appRoot . App::$config->Query('runtime')->GetValue() . 'uploads/';
if(!Directory::Exists($runtimePath)) {
Directory::Create($runtimePath, true, '777');
}
foreach(App::$request->files as $file) {
/** @var \Colibri\Web\RequestedFile $file */
if($file->ext !== 'xml' && $file->ext !== 'XML') {
throw new BadFileException(sprintf(BadFileException::Message, $file->ext), BadFileException::Code);
}
$file->MoveTo($runtimePath . $file->name, 777);
}
return $this->Finish(
$code,
$message,
$result,
'utf-8'
);
}
}
<?php
namespace App\Modules\Sur\Exceptions;
class BadFileException extends \Exception
{
const Message = 'You can not upload file of extension %s. Only XML,xml allowed';
const Code = 400;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment