Commit 635a385c authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

Ajout des FreeField dans le JSON et dans la fiche activité

parent e9100075
Loading
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -86,11 +86,11 @@ class ActivityFreeFieldValue
    }

    public function getValue(): mixed {
        switch ($this->getType()->getType()) {
            case ActivityFreeField::FREE_FIELD_TYPE_TEXT :
        $data = $this->getData();
        return array_key_exists('value', $data) ? $data['value'] : null;
    }
        return null;
    public function getLabel(): string {
        $data = $this->getData();
        return array_key_exists('label', $data) ? $data['label'] : "";
    }
}
 No newline at end of file
+0 −1
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ class ActivityFreeFieldRepository extends EntityRepository
    public function getListNameEditable()
    {
        $query = $this->createQueryBuilder('f');

        $query->select('f')->where('f.editable = true');
        $out = [];
        foreach ($query->getQuery()->getArrayResult() as $row) {
+23 −1
Original line number Diff line number Diff line
@@ -12,6 +12,8 @@ use Oscar\Entity\ActivityAvenantModification;
use Oscar\Entity\ActivityDate;
use Oscar\Entity\ActivityDateFlow;
use Oscar\Entity\ActivityDateRepository;
use Oscar\Entity\ActivityFreeField;
use Oscar\Entity\ActivityFreeFieldValue;
use Oscar\Entity\ActivityNote;
use Oscar\Entity\ActivityNoteRepository;
use Oscar\Entity\ActivityOrganization;
@@ -557,11 +559,26 @@ class ProjectGrantApiService implements
            $numeros[$key] = $value;
        }

        $config = $this->getOscarConfigurationService()->getActivityFormConfigKeying();
        // $config = $this->getOscarConfigurationService()->getActivityFormConfigKeying();


        $freefields = [];
        /** @var ActivityFreeFieldValue $ff */
        foreach ($activity->getFreeFields() as $ff) {
            $key = $ff->getType()->getLabel();
            $value = $ff->getValue();
            $label = $ff->getLabel();
            $freefields[$key] = [
                "key" => $key,
                'label' => $label,
                'value' => $value
            ];
        }

        return [
            'id' => $activity->getId(),
            'label' => $activity->getLabel(),
            'freefields' => $freefields,
            'numOscar' => $activity->getOscarNum(),
            'status' => $activity->getStatus(),
            'description' => $activity->getDescription(),
@@ -1444,4 +1461,9 @@ class ProjectGrantApiService implements
        $formatter->setUrlHelper($urlHelper);
        return $formatter;
    }

    private function getActivityFreeFieldRepository()
    {
        return $this->getEntityManager()->getRepository(ActivityFreeField::class);
    }
}
+11 −4
Original line number Diff line number Diff line
<template>

  <loader text="Chargement de l'activité" :visible="loading"/>

  <modal title="Debugger" title-icon="icon-bug" :visible="debug_displayed" @modal-cancel="debug_displayed = false">
@@ -239,7 +238,7 @@
      </p>

      <div class="row">
        <div class="col-md-4">
        <div class="col-md-3">
          <h4><i class="icon-calendar"></i>Dates</h4>
          <p class="texthighlight baseline">
            {{ $filters.oscarText("dateStart") }}
@@ -267,7 +266,15 @@
          </p>
        </div>

        <div class="col-md-4">
        <div class="col-md-3">
          <h4><i class="icon-info-outline"></i>Infos</h4>
          <div v-for="f in core.freefields">
            <span>{{ f.key }}</span> :
            <strong>{{ f.label }}</strong>
          </div>
        </div>

        <div class="col-md-3">
          <h4><i class="icon-briefcase"></i>Numérotations</h4>
          <p class="texthighlight baseline">
            N° Oscar : <strong>{{ core.numOscar }}</strong><br/>
@@ -283,7 +290,7 @@
          </p>
        </div>

        <div class="col-md-4">
        <div class="col-md-3">
          <h4><i class="icon-database-1"></i>Divers</h4>
          <p class="texthighlight baseline">
            Création