mirror of
https://github.com/quentin-g-dev/afup.git
synced 2026-03-26 10:12:16 +01:00
53 lines
1.3 KiB
PHP
53 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace AppBundle\Event\Model\Repository;
|
|
|
|
use AppBundle\Event\Model\Lead;
|
|
|
|
use Psr\Log\LoggerInterface;
|
|
use Trello\Manager;
|
|
|
|
class LeadRepository
|
|
{
|
|
/**
|
|
* @var Manager
|
|
*/
|
|
private $manager;
|
|
|
|
/**
|
|
* @var LoggerInterface
|
|
*/
|
|
private $logger;
|
|
|
|
public function __construct(Manager $manager, LoggerInterface $logger)
|
|
{
|
|
$this->manager = $manager;
|
|
$this->logger = $logger;
|
|
}
|
|
|
|
public function save(Lead $lead)
|
|
{
|
|
$this->logger->info(sprintf('Lead collected and sent to trello: %s', json_encode($lead)));
|
|
|
|
$card = $this->manager->getCard();
|
|
$card
|
|
->setDueDate((new \DateTime())->add(new \DateInterval('P1W')))
|
|
->setName($lead->getCompany())
|
|
->setDescription(
|
|
sprintf(
|
|
"%s %s (%s) \n%s \n %s - %s \n %s",
|
|
$lead->getFirstname(),
|
|
$lead->getLastname(),
|
|
$lead->getEmail(),
|
|
$lead->getCompany(),
|
|
$lead->getPhone(),
|
|
$lead->getWebsite(),
|
|
$lead->getLanguage()
|
|
)
|
|
)
|
|
->setListId($lead->getEvent()->getTrelloListId())
|
|
->save()
|
|
;
|
|
}
|
|
}
|