Commit 20577508 authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

Merge branch 'macclane' into macclane-recall

parents 191fee4f df1080a1
Loading
Loading
Loading
Loading
+52 −0
Changes for module/Oscar/src/Oscar/Entity/Activity.php: 52 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -1947,8 +1947,11 @@ class Activity implements ResourceInterface
            'Date de signature' => $this->getDateSigned() ? $this->getDateSigned()->format($dateFormat) : '',
            'versement effectué' => number_format($this->getTotalPaymentReceived(), 2, ',', ''),
            'versement prévu' => number_format($this->getTotalPaymentProvided(), 2, ',', ''),
            'écart de paiement' => number_format($this->getEcartPaiement(), 2, ',', ''),
            'justificatif écart de paiement' => $this->getJustificatifEcartPaiement(),
            'Frais de gestion' => $this->getFraisDeGestion(),
            'Frais de gestion (part hébergeur)' => $this->getFraisDeGestionPartHebergeur(),
            'incidence financière' => $this->getIncidenceFinanciere(),
            'Disciplines' => $this->getDisciplines() ? implode(", ", $this->getDisciplinesArray()) : ""
        );
    }
@@ -1973,8 +1976,11 @@ class Activity implements ResourceInterface
            'Date de signature',
            'versement effectué',
            'versement prévu',
            'écart de paiement',
            'justificatif écart de paiement',
            'Frais de gestion',
            'Frais de gestion (part hébergeur)',
            'incidence financière',
            'Disciplines'
        );
    }
@@ -2001,6 +2007,52 @@ class Activity implements ResourceInterface
        return $this->totalPaymentReceived;
    }

    private $totalEcartPaiement;
    public function getEcartPaiement()
    {
        if ($this->totalEcartPaiement === null) {
            $this->totalEcartPaiement = 0.0;
            /** @var ActivityPayment $payment */
            foreach ($this->getPayments() as $payment) {
                if ($payment->getStatus() === ActivityPayment::STATUS_ECART) {
                    $this->totalEcartPaiement += $payment->getAmount();
                }
            }
        }

        return $this->totalPaymentReceived;
    }

    private $justificatifEcartPaiement;
    public function getJustificatifEcartPaiement()
    {
        if ($this->justificatifEcartPaiement === null) {
            $this->justificatifEcartPaiement = '';
            /** @var ActivityPayment $payment */
            foreach ($this->getPayments() as $payment) {
                if ($payment->getStatus() === ActivityPayment::STATUS_ECART) {
                    $this->justificatifEcartPaiement .= $payment->getComment()." ";
                }
            }
        }

        return $this->justificatifEcartPaiement;
    }

    public function getIncidenceFinanciere()
    {
        return $this->getFinancialImpact();
    }


    /**
    'écart de paiement' => $this->getEcartPaiement(),
    'justificatif écart de paiement' => $this->getJustificatifEcartPaiement(),
    'Frais de gestion' => $this->getFraisDeGestion(),
    'Frais de gestion (part hébergeur)' => $this->getFraisDeGestionPartHebergeur(),
    'incidence financière' => $this->getIncidenceFinanciere(),
     */

    private $totalPaymentProvided;

    /**
+1 −39
Changes for module/Oscar/src/Oscar/Service/ActivityLogService.php: 1 added line, 39 removed lines.
Original line number Diff line number Diff line
@@ -8,27 +8,13 @@
namespace Oscar\Service;

use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Query\ResultSetMapping;
use Monolog\Logger;
use Oscar\Entity\ActivityLogRepository;
use Oscar\Entity\LogActivity;
use Oscar\Entity\Authentification;
use Oscar\Entity\LogActivityRepository;
use Oscar\Entity\Person;
use Oscar\Traits\UseEntityManager;
use Oscar\Traits\UseEntityManagerTrait;
use Oscar\Traits\UseLoggerService;
use Oscar\Traits\UseLoggerServiceTrait;
use Oscar\Traits\UseOscarUserContextService;
use Oscar\Traits\UseOscarUserContextServiceTrait;
use Oscar\Traits\UseServiceContainer;
use Oscar\Traits\UseServiceContainerTrait;
use UnicaenApp\Service\EntityManagerAwareInterface;
use UnicaenApp\Service\EntityManagerAwareTrait;
use UnicaenAuth\Service\UserContext;
use UnicaenApp\ServiceManager\ServiceLocatorAwareInterface;
use UnicaenApp\ServiceManager\ServiceLocatorAwareTrait;
use ZfcUser\Mapper\UserInterface;

class ActivityLogService implements UseServiceContainer {

@@ -40,8 +26,6 @@ class ActivityLogService implements UseServiceContainer {
    // méritera d'y consacrer du temps (quand on en aura à perdre)
    use UseServiceContainerTrait;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    /**
     * @return OscarUserContext
     */
@@ -82,10 +66,7 @@ class ActivityLogService implements UseServiceContainer {
        return $this->getOscarUserContextService()->getUserContext()->getDbUser();
    }



    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    protected function addActivity($message, $type, $level, $userId, $context, $contextId, $data)
    {
        $activity = new LogActivity();
@@ -111,29 +92,12 @@ class ActivityLogService implements UseServiceContainer {
        $this->addActivity($message, LogActivity::TYPE_INFO, $level, $userid, $context, $contextId, $data);
    }


    private $_currentPerson;

    /**
     * @return Person
     */
    public function getCurrentPerson()
    {
        if ($this->_currentPerson === null) {
            if ($this->getLdapUser()) {
                $this->_currentPerson = "ldapuser";
                $login = $this->getLdapUser()->getSupannAliasLogin();
            }
            elseif ( $this->getDbUser() ){
                $login = $this->getDbUser()->getUsername();
            }
            if ($login) {
                $this->_currentPerson = $this->getEntityManager()->getRepository(Person::class)->findOneBy([
                    'ladapLogin' => $login
                ]);
            }
        }
        return $this->_currentPerson;
        return $this->getOscarUserContextService()->getCurrentPerson();
    }

    public function getAuthentificationActivities( $authentificationId, $limit=20 ){
@@ -180,7 +144,6 @@ class ActivityLogService implements UseServiceContainer {
        $result = $this->getEntityManager()->createQuery("SELECT a.id FROM Oscar\Entity\Activity a WHERE a.project = $projectId")->getScalarResult();
        $ids = array_map('current', $result);


        $qb = $this->getEntityManager()->createQueryBuilder()
            ->select('a')
            ->from(LogActivity::class, 'a')
@@ -196,7 +159,6 @@ class ActivityLogService implements UseServiceContainer {

    public function activityActivities($idActivity)
    {

        $qb = $this->getEntityManager()->createQueryBuilder()
            ->select('a')
            ->from(LogActivity::class, 'a')