Skip to content

Instantly share code, notes, and snippets.

@slischka
slischka / ft-to-csv.php
Last active October 22, 2018 11:53
Fapi tickets to csv
<?php
$fapiUsername = 'xxx@fapi.cz'; // fapi username
$fapiToken = 'xxx'; // fapi api token
$ticketsUsername = 'Scan2Check'; // don't change
$ticketsPassword = 'xxx'; // fapi tickets event code
// fetch all tickets
$ticketsData = \apiCall('https://tickets.fapi.cz/api/v1/tickets/', $ticketsUsername, $ticketsPassword);
<?php
interface UserIdProviderInterface
{
public function hasUserId(): bool;
public function getUserId(): int;
/**
<?php
declare(strict_types = 1);
use Nette\Forms\Controls\RadioList;
final class PayMethodList extends RadioList
{
/** @var string[][] */
private $groups = [];
@slischka
slischka / ApiVersionMiddlewareTest.phpt
Created September 19, 2018 18:26
Middleware test example
<?php
declare(strict_types = 1);
namespace Tests\Fapi\Slim;
use Fapi\Slim\ApiVersionMiddleware;
use Middlewares\Utils\Dispatcher;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Slim\Http\Environment;
<?php
declare(strict_types = 1);
namespace Fapi\Api;
use Consistence\Type\ObjectMixinTrait;
use Psr\Container\ContainerInterface;
use Slim\App;
final class SlimAppFactory
@slischka
slischka / DateTimeHelper.php
Created July 30, 2018 06:34
Simple Date helper example.
<?php
declare(strict_types = 1);
namespace Fapi\Common\DateTime;
use SmartEmailing\Types\Duration; //@link https://github.com/smartemailing/types
use SmartEmailing\Types\TimeUnit;
class DateTimeHelpers
{
@slischka
slischka / DateTimeHelper.php
Created July 30, 2018 06:32
Simple Date helper.
<?php
declare(strict_types = 1);
namespace Fapi\Common\DateTime;
use SmartEmailing\Types\Duration;
use SmartEmailing\Types\TimeUnit;
class DateTimeHelpers
{
@slischka
slischka / purposes.php
Last active May 20, 2018 08:54
Form Purposes
Vystváření, mazání a aktualizace formulářových souhlasu nebo informační povinnosti.
Tyhle dvě věci ve fapi ukládám do stejné tabulky.
Vytvoření souhlasu:
<?php
$formData = [
'...',
'purposes' => [
[
'id' => 10, //Tady to funguje jinak než položky. Pokud není ID definované, vytvoří se nový souhlas. Pokud je ID definovatne, aktualizuje se souhlas posle ID. Pokud v datech chybí souhlas, bude z formuláře smazán
@slischka
slischka / AccrualExport.md
Last active May 9, 2018 20:09
Accrual Export

Vyhledání faktur pro export Faktury se vyhledávají podle data zaplacení, z období zadaného při vytváření exportu. A zárověn se vybírají pouze Daňové doklady, zjednodušenné daňové doklady a opravné daňové doklady.

Pro všechny položky si zjistím jestli se dají rozpočítat do časového období. Zjistím to tak že položka v popisku obasuje např tohle: "... od 1.1.2018 do 31.1.2018 ..." Pokud obsahuje tohle časové rozlišení, rozpočítám cenu na 3 části:

  • č.r. minulého období (obdobi před exportem datum menší 1.1.2018)
  • č.r. aktuálního období (obodbí exportu třeba 1.1.2018 - 31.1.2018 včetně)
  • č.r. následujícího období (období po exportu 31.1.2018)
@slischka
slischka / RevenueAndProfitExportExample.md
Last active May 9, 2018 20:11
Export Tržby a výnosy

Vyhledání faktur: Faktury se vyhledávají podle data zaplacení, z období zadaného při vytváření exportu.
A zárověn se vybírají pouze Daňové doklady, zjednodušenné daňové doklady a opravné daňové doklady.

Pro všechny faktury si najdu jejich položky a vypočítám cenu bez DPH a v CZK.

Tržby:

  • je to součet všech položek bez ohledu na časové odobí. Pokud je položka na ODD částka položky se odečítá. (sečtou se všechyn položky se stejným kódem dohromady)

Výnos: