Loading module/Oscar/src/Oscar/Entity/Activity.php +161 −93 Original line number Diff line number Diff line Loading @@ -452,6 +452,14 @@ class Activity implements ResourceInterface */ protected $avenants; /** * Liste des champs libres * * @var ActivityFreeFieldValue[] * @ORM\OneToMany(targetEntity="ActivityFreeFieldValue", mappedBy="activity", cascade={"remove", "persist"}) */ protected $freeFields; /** * @var ArrayCollection * @ORM\ManyToMany(targetEntity="Person", inversedBy="validatorActivitiesPrj") Loading Loading @@ -792,7 +800,8 @@ class Activity implements ResourceInterface \DateTime $cache_at = new \DateTime(), bool $cache_lock = false, string $cache_lock_reason = self::CACHE_REASON_DEFAULT ): self { ): self { $this->cache = $cache_content; $this->dateCached = $cache_at; if ($cache_lock === true) { Loading Loading @@ -838,7 +847,8 @@ class Activity implements ResourceInterface bool $diplayCurrency = true, bool $displayPercentInfo = true, bool $fraisDeGestionInclusDansMontant = false, ): string { ): string { $percent = ''; $currency = ''; $data = ''; Loading Loading @@ -1207,7 +1217,8 @@ class Activity implements ResourceInterface public function getActivityTypeChain( ActivityTypeService $activityTypeService ) { ) { return $activityTypeService->getActivityTypeChain($this->getActivityType()); } Loading Loading @@ -1383,8 +1394,7 @@ class Activity implements ResourceInterface { if ($this->getDateNegociation()) { return $this->getDateNegociation()->format($format); } else { } else { return ""; } } Loading @@ -1408,8 +1418,7 @@ class Activity implements ResourceInterface { if ($this->getDateDepotProjet()) { return $this->getDateDepotProjet()->format($format); } else { } else { return ""; } } Loading Loading @@ -1605,6 +1614,7 @@ class Activity implements ResourceInterface $this->organizations = new ArrayCollection(); $this->milestones = new ArrayCollection(); $this->avenants = new ArrayCollection(); $this->freeFields = new ArrayCollection(); $this->payments = new ArrayCollection(); $this->disciplines = new ArrayCollection(); $this->motscles = new ArrayCollection(); Loading Loading @@ -1673,6 +1683,36 @@ class Activity implements ResourceInterface return count($this->getValidatorsAdm()) > 0; } /** * @return ArrayCollection */ public function getFreeFields(): Collection { return $this->freeFields; } public function getFreeFieldsValues(ActivityFreeField $type): mixed { foreach ($this->getFreeFields() as $freeField) { if ($freeField->getType() == $type) { return $freeField->getValue(); } } return null; } public function getFreeFieldsData(ActivityFreeField $type): mixed { /** @var ActivityFreeFieldValue $freeField */ foreach ($this->getFreeFields() as $freeField) { if ($freeField->getType() == $type) { return $freeField->getData(); } } return null; } /** * @param ArrayCollection $validatorsAdm */ Loading Loading @@ -1901,7 +1941,8 @@ class Activity implements ResourceInterface $role, $start = null, $to = null ) { ) { if (!$this->hasOrganization($organization, $role)) { $partner = new ActivityOrganization(); $partner->setOrganization($organization) Loading Loading @@ -2096,6 +2137,34 @@ class Activity implements ResourceInterface return $partners; } public function setFreeField(ActivityFreeField $type, array $value) { /** @var ActivityFreeFieldValue $freeField */ $freeField = null; /** @var ActivityFreeFieldValue $field */ foreach ($this->getFreeFields() as $field) { if ($field->getType() === $type) { $freeField = $field; $this->getFreeFields()->removeElement($freeField); } } $freeField = new ActivityFreeFieldValue(); $freeField->setType($type); $freeField->setActivity($this); $this->getFreeFields()->add($freeField); $freeField->setData($value); } public function getFreeFieldOfType(?object $typeObj) : ActivityFreeFieldValue|null { /** @var ActivityFreeFieldValue $field */ foreach ($this->getFreeFields() as $field) { if ($field->getType() === $typeObj) { return $field; } } return null; } protected function deepParent(Organization $organization, &$out = []): array Loading Loading @@ -2162,7 +2231,8 @@ class Activity implements ResourceInterface ?\DateTime $dateStart = null, ?\DateTime $dateEnd = null, bool $deep = true ) { ) { $found = false; /** @var ActivityPerson $activityPerson */ foreach ($this->persons as $activityPerson) { Loading Loading @@ -2484,8 +2554,7 @@ class Activity implements ResourceInterface /** @var ActivityPayment $payment */ foreach ($this->getPayments() as $payment) { if ( $payment->getDatePayment() == $datePayment && $payment->getAmount( ) == $amount && $payment->getDatePredicted() == $datePredicted $payment->getDatePayment() == $datePayment && $payment->getAmount() == $amount && $payment->getDatePredicted() == $datePredicted ) { return true; } Loading @@ -2504,7 +2573,8 @@ class Activity implements ResourceInterface Organization $organization, $role = null, $deep = true ) { ) { $found = false; /** @var ActivityOrganization $relation */ foreach ($this->organizations as $relation) { Loading Loading @@ -2819,7 +2889,6 @@ class Activity implements ResourceInterface 'ID Projet' => $this->getProject() ? $this->getProject()->getId() : 'N.D', 'Acronyme' => $this->getAcronym(), 'Projet' => $this->getProject() ? $this->getProject()->getLabel() : '', 'Description du projet' => $this->getProject() ? $this->getProject()->getDescription() : '', 'Avenants' => count($this->getAvenants()), 'Intitulé' => $this->getLabel(), 'N°Financier' => $this->getCodeEOTP(), Loading Loading @@ -2888,7 +2957,6 @@ class Activity implements ResourceInterface 'ID Projet', 'Acronyme', 'Projet', 'Description du projet', 'Avenants', 'Intitulé', 'N°Financier', Loading ui/vite.config.js +2 −0 Original line number Diff line number Diff line Loading @@ -46,7 +46,9 @@ export default defineConfig({ // make sure to externalize deps that shouldn't be bundled // into your library input: { activity: resolve(__dirname, 'src/Activity.js'), activityform: resolve(__dirname, 'src/ActivityForm.js'), activitylist: resolve(__dirname, 'src/ActivityList.js'), activitydocuments: resolve(__dirname, 'src/ActivityDocuments.js'), activitymotscles: resolve(__dirname, 'src/ActivityMotsCles.js'), Loading Loading
module/Oscar/src/Oscar/Entity/Activity.php +161 −93 Original line number Diff line number Diff line Loading @@ -452,6 +452,14 @@ class Activity implements ResourceInterface */ protected $avenants; /** * Liste des champs libres * * @var ActivityFreeFieldValue[] * @ORM\OneToMany(targetEntity="ActivityFreeFieldValue", mappedBy="activity", cascade={"remove", "persist"}) */ protected $freeFields; /** * @var ArrayCollection * @ORM\ManyToMany(targetEntity="Person", inversedBy="validatorActivitiesPrj") Loading Loading @@ -792,7 +800,8 @@ class Activity implements ResourceInterface \DateTime $cache_at = new \DateTime(), bool $cache_lock = false, string $cache_lock_reason = self::CACHE_REASON_DEFAULT ): self { ): self { $this->cache = $cache_content; $this->dateCached = $cache_at; if ($cache_lock === true) { Loading Loading @@ -838,7 +847,8 @@ class Activity implements ResourceInterface bool $diplayCurrency = true, bool $displayPercentInfo = true, bool $fraisDeGestionInclusDansMontant = false, ): string { ): string { $percent = ''; $currency = ''; $data = ''; Loading Loading @@ -1207,7 +1217,8 @@ class Activity implements ResourceInterface public function getActivityTypeChain( ActivityTypeService $activityTypeService ) { ) { return $activityTypeService->getActivityTypeChain($this->getActivityType()); } Loading Loading @@ -1383,8 +1394,7 @@ class Activity implements ResourceInterface { if ($this->getDateNegociation()) { return $this->getDateNegociation()->format($format); } else { } else { return ""; } } Loading @@ -1408,8 +1418,7 @@ class Activity implements ResourceInterface { if ($this->getDateDepotProjet()) { return $this->getDateDepotProjet()->format($format); } else { } else { return ""; } } Loading Loading @@ -1605,6 +1614,7 @@ class Activity implements ResourceInterface $this->organizations = new ArrayCollection(); $this->milestones = new ArrayCollection(); $this->avenants = new ArrayCollection(); $this->freeFields = new ArrayCollection(); $this->payments = new ArrayCollection(); $this->disciplines = new ArrayCollection(); $this->motscles = new ArrayCollection(); Loading Loading @@ -1673,6 +1683,36 @@ class Activity implements ResourceInterface return count($this->getValidatorsAdm()) > 0; } /** * @return ArrayCollection */ public function getFreeFields(): Collection { return $this->freeFields; } public function getFreeFieldsValues(ActivityFreeField $type): mixed { foreach ($this->getFreeFields() as $freeField) { if ($freeField->getType() == $type) { return $freeField->getValue(); } } return null; } public function getFreeFieldsData(ActivityFreeField $type): mixed { /** @var ActivityFreeFieldValue $freeField */ foreach ($this->getFreeFields() as $freeField) { if ($freeField->getType() == $type) { return $freeField->getData(); } } return null; } /** * @param ArrayCollection $validatorsAdm */ Loading Loading @@ -1901,7 +1941,8 @@ class Activity implements ResourceInterface $role, $start = null, $to = null ) { ) { if (!$this->hasOrganization($organization, $role)) { $partner = new ActivityOrganization(); $partner->setOrganization($organization) Loading Loading @@ -2096,6 +2137,34 @@ class Activity implements ResourceInterface return $partners; } public function setFreeField(ActivityFreeField $type, array $value) { /** @var ActivityFreeFieldValue $freeField */ $freeField = null; /** @var ActivityFreeFieldValue $field */ foreach ($this->getFreeFields() as $field) { if ($field->getType() === $type) { $freeField = $field; $this->getFreeFields()->removeElement($freeField); } } $freeField = new ActivityFreeFieldValue(); $freeField->setType($type); $freeField->setActivity($this); $this->getFreeFields()->add($freeField); $freeField->setData($value); } public function getFreeFieldOfType(?object $typeObj) : ActivityFreeFieldValue|null { /** @var ActivityFreeFieldValue $field */ foreach ($this->getFreeFields() as $field) { if ($field->getType() === $typeObj) { return $field; } } return null; } protected function deepParent(Organization $organization, &$out = []): array Loading Loading @@ -2162,7 +2231,8 @@ class Activity implements ResourceInterface ?\DateTime $dateStart = null, ?\DateTime $dateEnd = null, bool $deep = true ) { ) { $found = false; /** @var ActivityPerson $activityPerson */ foreach ($this->persons as $activityPerson) { Loading Loading @@ -2484,8 +2554,7 @@ class Activity implements ResourceInterface /** @var ActivityPayment $payment */ foreach ($this->getPayments() as $payment) { if ( $payment->getDatePayment() == $datePayment && $payment->getAmount( ) == $amount && $payment->getDatePredicted() == $datePredicted $payment->getDatePayment() == $datePayment && $payment->getAmount() == $amount && $payment->getDatePredicted() == $datePredicted ) { return true; } Loading @@ -2504,7 +2573,8 @@ class Activity implements ResourceInterface Organization $organization, $role = null, $deep = true ) { ) { $found = false; /** @var ActivityOrganization $relation */ foreach ($this->organizations as $relation) { Loading Loading @@ -2819,7 +2889,6 @@ class Activity implements ResourceInterface 'ID Projet' => $this->getProject() ? $this->getProject()->getId() : 'N.D', 'Acronyme' => $this->getAcronym(), 'Projet' => $this->getProject() ? $this->getProject()->getLabel() : '', 'Description du projet' => $this->getProject() ? $this->getProject()->getDescription() : '', 'Avenants' => count($this->getAvenants()), 'Intitulé' => $this->getLabel(), 'N°Financier' => $this->getCodeEOTP(), Loading Loading @@ -2888,7 +2957,6 @@ class Activity implements ResourceInterface 'ID Projet', 'Acronyme', 'Projet', 'Description du projet', 'Avenants', 'Intitulé', 'N°Financier', Loading
ui/vite.config.js +2 −0 Original line number Diff line number Diff line Loading @@ -46,7 +46,9 @@ export default defineConfig({ // make sure to externalize deps that shouldn't be bundled // into your library input: { activity: resolve(__dirname, 'src/Activity.js'), activityform: resolve(__dirname, 'src/ActivityForm.js'), activitylist: resolve(__dirname, 'src/ActivityList.js'), activitydocuments: resolve(__dirname, 'src/ActivityDocuments.js'), activitymotscles: resolve(__dirname, 'src/ActivityMotsCles.js'), Loading