namespace Galette\Controllers\Crud;
+use Galette\Core\Galette;
use Galette\IO\File;
use Galette\Repository\DynamicFieldsSet;
use Throwable;
$e->getMessage(),
Analog::ERROR
);
- if (GALETTE_MODE == 'DEV') {
+ if (Galette::isDebugEnabled()) {
throw $e;
}
$error_detected[] = _T('An error occurred adding dynamic field :(');
'fields_list' => $fields_list,
'form_name' => $form_name,
'form_title' => DynamicField::getFormTitle($form_name),
- 'page_title' => _T("Dynamic fields configuration")
+ 'page_title' => _T("Dynamic fields configuration"),
+ 'html_editor' => true,
+ 'html_editor_active' => $this->preferences->pref_editor_enabled
+
];
$tpl = 'pages/configuration_dynamic_fields.html.twig';
->disableAllDeps()
->enableDep('dynamics')
->load($id);
+ $fields = $object->getDynamicFields()->getFields();
+ $field = $fields[$fid] ?? null;
$denied = null;
if (!$object->canShow($this->login)) {
- $fields = $object->getDynamicFields()->getFields();
if (!isset($fields[$fid])) {
//field does not exist or access is forbidden
$denied = true;
$route_name = 'member';
if ($form_name == 'contrib') {
$route_name = 'contribution';
- } elseif ($route_name == 'trans') {
+ } elseif ($form_name == 'trans') {
$route_name = 'transaction';
}
return $response
);
}
- if ($form_name === 'adh') {
- $form_name = 'member'; //for compatibility with existing files
- }
- $filename = str_replace(
- [
- '%form',
- '%oid',
- '%fid',
- '%pos'
- ],
- [
- $form_name,
- $id,
- $fid,
- $pos
- ],
- '%form_%oid_field_%fid_value_%pos'
- );
+ $filename = $field->getFileName($id, $pos);
if ($form_name !== 'member' && !file_exists(GALETTE_FILES_PATH . $filename)) {
//handle old names for non adh dynamic files
- $test_filename = str_replace(
- [
- '%form',
- '%oid',
- '%fid',
- '%pos'
- ],
- [
- 'member',
- $id,
- $fid,
- $pos
- ],
- '%form_%oid_field_%fid_value_%pos'
- );
+ $test_filename = $field->getFileName($id, $pos, 'member');
if (file_exists(GALETTE_FILES_PATH . $test_filename)) {
//rename old file to new name
rename(GALETTE_FILES_PATH . $test_filename, GALETTE_FILES_PATH . $filename);
_T("The file does not exists or cannot be read :(")
);
+ $route_name = 'member';
+ if ($form_name == 'contrib') {
+ $route_name = 'contribution';
+ } elseif ($form_name == 'trans') {
+ $route_name = 'transaction';
+ }
+
return $response
->withHeader(
'Location',
- $this->routeparser->urlFor('member', ['id' => $id])
+ $this->routeparser->urlFor($route_name, ['id' => (string)$id])
);
}
}
'form_name' => $form_name,
'perm_names' => DynamicField::getPermsNames(),
'mode' => (($request->getHeaderLine('X-Requested-With') === 'XMLHttpRequest') ? 'ajax' : ''),
- 'df' => $df
+ 'df' => $df,
+ 'html_editor' => true,
+ 'html_editor_active' => $this->preferences->pref_editor_enabled
];
// display page
$e->getMessage(),
Analog::ERROR
);
- if (GALETTE_MODE == 'DEV') {
+ if (Galette::isDebugEnabled()) {
throw $e;
}
$error_detected[] = _T('An error occurred editing dynamic field :(');