yeswiki-custom-adultes-rela.../fields/InscriptionField.php

62 lines
1.9 KiB
PHP
Raw Normal View History

2023-11-29 13:14:13 +03:00
<?php
namespace YesWiki\Custom\Field;
use YesWiki\Bazar\Field\BazarField;
use Psr\Container\ContainerInterface;
/**
* @Field({"inscription"})
*/
class InscriptionField extends BazarField
{
2023-11-30 17:04:32 +03:00
protected $inscriptionForm;
protected const INSCRIPTION_FIELD = 1;
2023-11-29 13:14:13 +03:00
public function __construct(array $values, ContainerInterface $services)
{
parent::__construct($values, $services);
2023-11-30 17:04:32 +03:00
$this->inscriptionForm = $values[self::INSCRIPTION_FIELD];
2023-11-29 13:14:13 +03:00
$this->size = null;
$this->maxChars = null;
$this->default = "";
}
protected function renderInput($entry)
{
return;
}
protected function renderStatic($entry)
{
2023-11-29 13:41:44 +03:00
if (
$this->getWiki()->UserIsInGroup('admins')
|| $this->getWiki()->UserIsInGroup('Employeur')
||$this->getWiki()->UserIsInGroup('Coordination')
) {
2023-11-30 17:04:32 +03:00
2023-11-30 21:28:21 +03:00
return '<a href="'.$this->getWiki()->href('iframe','BazaR', 'vue=saisir&action=saisir_fiche&listefiche'.$entry['id_typeannonce'].'inscription='.$entry['id_fiche'].'&id='.$this->inscriptionForm).'" class="modalbox btn btn-primary" data-iframe="1" title="Inscrire des adultes relais">Inscrire des adultes relais à cette formation</a>';
2023-11-29 13:14:13 +03:00
} else {
2023-11-29 13:41:44 +03:00
return '<div class="alert alert-info">Pour vous inscrire à cette session, vous devez en faire la demande à votre employeur qui une fois connecté pourra vous inscrire.</div>';
2023-11-29 13:14:13 +03:00
}
}
public function formatValuesBeforeSave($entry)
{
return '';
}
// change return of this method to keep compatible with php 7.3 (mixed is not managed)
#[\ReturnTypeWillChange]
public function jsonSerialize()
{
return array_merge(
parent::jsonSerialize(),
[
'reservation_button' => '<a class="btn btn-primary" href="#"><i class="fa fa-plus"></i>&nbsp;Je profite de ce trajet</a>'
]
);
}
}