Commit bc05909b authored by Jean-Baptiste Oellers's avatar Jean-Baptiste Oellers
Browse files

Ajout page configurer Convention

parent 6299d1fc
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -618,7 +618,8 @@ return array(
                [
                    'controller' => 'ConventionAdministration',
                    'action' => [
                        'conventions'
                        'conventions',
                        'conventionConfigurer'
                    ],
                    'roles' => ['user']
                ],
+8 −0
Original line number Diff line number Diff line
@@ -2087,6 +2087,14 @@ administration:
        defaults:
          controller: ConventionAdministration
          action: conventions
      child_routes:
        configurer:
          type: segment
          may_terminate: true
          options:
            route: /:id
            defaults:
              action: conventionConfigurer

    # Gestion et chargement du référenciel des pays
    logs:
+16 −0
Original line number Diff line number Diff line
@@ -22,4 +22,20 @@ class ConventionAdministrationController extends AbstractOscarController

        return $this->redirect()->toRoute('administration/conventions');
    }

    public function conventionConfigurerAction()
    {
        /** @var \Oscar\Entity\Convention $convention */
        $convention = $this->getEntityManager()->find(\Oscar\Entity\Convention::class, $this->params('id'));
        if (!$convention) {
            return $this->getResponseNotFound("La convention n'a pas été trouvée.");
        }

        if ($this->params()->fromPost('action') == "modifier_nom") {
            $this->conventionService->modifierNom($convention, $this->params()->fromPost('nom'), $this->getCurrentPerson());
            return $this->redirect()->toRoute('administration/conventions/configurer', ['id' => $convention->nom]);
        }

        return ['convention' => $convention];
    }
}
+10 −0
Original line number Diff line number Diff line
@@ -39,4 +39,14 @@ class ConventionService implements UseEntityManager, UseLoggerService, UseOscarC
      $this->getEntityManager()->flush();
    }
  }

  public function modifierNom(\Oscar\Entity\Convention $convention, string $nom, \Oscar\Entity\Person $person): void
  {
    $this->getLoggerService()->info("ConventionService modifierNom");
    $this->getLoggerService()->info("by: " . $person);
    $convention->nom = $nom;
    $convention->updatedBy = $person;
    $convention->dateUpdated = new \DateTime();
    $this->getEntityManager()->flush();
  }
}
+31 −0
Original line number Diff line number Diff line
<style>
  input[type=submit] {
    background-color: white;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    border: 1px solid lightgrey;
    cursor: pointer;
    border-radius: 1rem;
  }
</style>

<div class="container" style="margin-bottom: 5rem; padding-bottom: 5rem;">
  <div style="background-color: white; padding: 1rem; margin-bottom: 2rem; border-radius: 0 0 1rem 1rem;">
    <div style="display: flex; align-items: center; justify-content: space-between;">
      <h1><span aria-label="crayon" role="img"></span> Configuration d'une convention</h1>
      <div style="display: flex; flex-direction: column; align-items: end;">
        <a href="<?= $this->url('administration/conventions') ?>">Retour à la liste</a>
      </div>
    </div>

    <form method="post" style="margin-left: 2rem; margin-top: 2rem; margin-bottom: 4rem;">
      <input type="hidden" name="action" value="modifier_nom">
      <input type="text" id="nom" name="nom" required placeholder="Nom de la convention" size="80" value="<?= $convention->nom ?>">
      <input type="submit" value="✏ Modifier le nom de la convention">
    </form>
  </div>

</div>
Loading