protected function traceEntity(SecondaryVat $cloneSecondaryVat, SecondaryVat $secondaryVat) { $curUser = $this->getSecurityTokenStorage()->getToken()->getUser(); $trace = new Trace(); $trace->setActionId($secondaryVat->getId()); $trace->setActionType(Trace::AT_UPDATE); $trace->setUserId($curUser->getId()); $trace->setCompanyId($secondaryVat->getCompany()->getId()); $trace->setUserFullname($curUser->getFullName()); if (!$this->hasRole('ROLE_SUPERADMIN')) { if (!$this->hasRole('ROLE_ADMIN')) { $trace->setUserType(Trace::UT_CLIENT); } else { $trace->setUserType(Trace::UT_ADMIN); } } else { $trace->setUserType(Trace::UT_SUPERADMIN); } $tableBegin = ': <br><table class="table table-bordered table-condensed table-hover table-striped">'; $tableBegin .= '<thead><tr><th class="text-left">' . $this->translate('Entity.field') . '</th>'; $tableBegin .= '<th class="text-left">' . $this->translate('Entity.oldVal') . '</th>'; $tableBegin .= '<th class="text-left">' . $this->translate('Entity.newVal') . '</th></tr></thead><tbody>'; $tableEnd = '</tbody></table>'; $trace->setActionEntity(Trace::AE_SECONDARYVAT); $trace->setActionId2($secondaryVat->getSale()->getMonthlyBalance()->getCompany()->getId()); $trace->setActionEntity2(Trace::AE_COMPANY); $trace->setActionId3($secondaryVat->getSale()->getMonthlyBalance()->getId()); $trace->setActionEntity2(Trace::AE_MBSALE); $trace->setActionId3($secondaryVat->getSale()->getId()); $trace->setActionEntity2(Trace::AE_SALE); $msg = ''; if ($cloneSecondaryVat->getVatInfo() != $secondaryVat->getVatInfo()) { $msg .= '<tr><td>' . $this->translate('SecondaryVat.vatInfo.label') . '</td><td>'; if ($cloneSecondaryVat->getVatInfo() == null) { $msg .= '<span class="label label-warning">' . $this->translate('_NA') . '</span>'; } else { $msg .= $this->translate('SecondaryVat.vatInfo.' . $cloneSecondaryVat->getVatInfo()); } $msg .= '</td><td>'; if ($secondaryVat->getVatInfo() == null) { $msg .= '<span class="label label-warning">' . $this->translate('_NA') . '</span>'; } else { $msg .= $this->translate('SecondaryVat.vatInfo.' . $secondaryVat->getVatInfo()); } $msg .= '</td></tr>'; } if ($cloneSecondaryVat->getBalanceNet() != $secondaryVat->getBalanceNet()) { $msg .= '<tr><td>' . $this->translate('SecondaryVat.balanceNet.label') . '</td><td>'; if ($cloneSecondaryVat->getBalanceNet() == null) { $msg .= '<span class="label label-warning">' . $this->translate('_NA') . '</span>'; } else { $msg .= $cloneSecondaryVat->getBalanceNet(); } $msg .= '</td><td>'; if ($secondaryVat->getBalanceNet() == null) { $msg .= '<span class="label label-warning">' . $this->translate('_NA') . '</span>'; } else { $msg .= $secondaryVat->getBalanceNet(); } $msg .= '</td></tr>'; } if ($cloneSecondaryVat->getBalanceTtc() != $secondaryVat->getBalanceTtc()) { $msg .= '<tr><td>' . $this->translate('SecondaryVat.balanceTtc.label') . '</td><td>'; if ($cloneSecondaryVat->getBalanceTtc() == null) { $msg .= '<span class="label label-warning">' . $this->translate('_NA') . '</span>'; } else { $msg .= $cloneSecondaryVat->getBalanceTtc(); } $msg .= '</td><td>'; if ($secondaryVat->getBalanceTtc() == null) { $msg .= '<span class="label label-warning">' . $this->translate('_NA') . '</span>'; } else { $msg .= $secondaryVat->getBalanceTtc(); } $msg .= '</td></tr>'; } if ($msg != '') { $msg = $tableBegin . $msg . $tableEnd; $trace->setMsg($this->translate('SecondaryVat.traceEdit', array('%secondaryVat%' => $this->translate('SecondaryVat.vatInfo.' . $secondaryVat->getVatInfo()), '%sale%' => $secondaryVat->getSale()->getLabel(), '%mbsale%' => $secondaryVat->getSale()->getMonthlyBalance()->getRef(), '%company%' => $secondaryVat->getSale()->getMonthlyBalance()->getCompany()->getCorporateName())) . $msg); $trace->setDtCrea(new \DateTime('now')); $em = $this->getEntityManager(); $em->persist($trace); $em->flush(); } }