field_form varchar(10) NOT NULL,
field_index int(10) NOT NULL default '0',
field_name varchar(255) NOT NULL default '',
- field_perm int(10) NOT NULL default '0',
+ field_perm int(10) NOT NULL default 1,
field_type int(10) NOT NULL default '0',
field_required tinyint(1) NOT NULL default 0,
field_pos int(10) NOT NULL default '0',
field_form character varying(10) NOT NULL,
field_index integer DEFAULT '0' NOT NULL,
field_name character varying(255) DEFAULT '' NOT NULL,
- field_perm integer DEFAULT '0' NOT NULL,
+ field_perm integer DEFAULT 1 NOT NULL,
field_type integer DEFAULT '0' NOT NULL,
field_required boolean DEFAULT FALSE,
field_pos integer DEFAULT '0' NOT NULL,
ALTER TABLE galette_tmppasswds CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE galette_transactions CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE galette_types_cotisation CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
+
+-- change dynamic fields permissions
+ALTER TABLE galette_field_types CHANGE field_perm field_perm INT(10) NOT NULL DEFAULT 1;
-- Add display properties to dynamic fields
ALTER TABLE galette_field_types ADD field_width_in_forms integer DEFAULT '1' NOT NULL;
ALTER TABLE galette_field_types ADD field_information_above boolean DEFAULT FALSE;
+
+-- change dynamic fields permissions
+ALTER TABLE galette_field_types ALTER COLUMN field_perm SET DEFAULT 1;
namespace Galette\Updates;
use Analog\Analog;
+use Galette\DynamicFields\DynamicField;
use Galette\Entity\ContributionsTypes;
use Galette\Updater\AbstractUpdater;
use GalettePaypal\Paypal;
*/
protected function update(): bool
{
- //to satisfy inheritance
+ $this->zdb->connection->beginTransaction();
+
+ $results = $this->zdb->selectAll(DynamicField::TABLE);
+ $results = $results->toArray();
+
+ $mapping = [
+ 0 => 1, //DynamicField::PERM_USER_WRITE / 0 => FieldsConfig::USER_WRITE / 1
+ 2 => 3, //DynamicField::PERM_STAFF / 2 => FieldsConfig::STAFF / 3
+ 1 => 2, //DynamicField::PERM_ADMIN / 1 => FieldsConfig::ADMIN / 2
+ 3 => 4, //DynamicField::PERM_MANAGER / 3 => FieldsConfig::MANAGER / 4
+ 4 => 5 //DynamicField::PERM_USER_READ / 4 => FieldsConfig::USER_READ / 5
+ ];
+
+ $stmt = null;
+ foreach ($results as $result) {
+ if ($stmt === null) {
+ $update = $this->zdb->update(DynamicField::TABLE);
+ $update->set(['field_perm' => ':perm']);
+ $update->where([DynamicField::PK => ':' . DynamicField::PK]);
+ $stmt = $this->zdb->sql->prepareStatementForSqlObject($update);
+ }
+
+ $stmt->execute(
+ array(
+ 'perm' => $mapping[$result['field_perm']],
+ DynamicField::PK => $result[DynamicField::PK]
+ )
+ );
+ }
+
+ $this->zdb->connection->commit();
return true;
}
)
);
}
-
}
}
return true;
'page_title' => _T("Add field"),
'form_name' => $form_name,
'action' => 'add',
- 'perm_names' => DynamicField::getPermsNames(),
+ 'perm_names' => DynamicField::getPermissionsList(),
'mode' => (($request->getHeaderLine('X-Requested-With') === 'XMLHttpRequest') ? 'ajax' : ''),
'field_type_names' => DynamicField::getFieldsTypesNames()
];
'page_title' => _T("Edit field"),
'action' => 'edit',
'form_name' => $form_name,
- 'perm_names' => DynamicField::getPermsNames(),
+ 'perm_names' => DynamicField::getPermissionsList(),
'mode' => (($request->getHeaderLine('X-Requested-With') === 'XMLHttpRequest') ? 'ajax' : ''),
'df' => $df,
'html_editor' => true,
namespace Galette\Controllers;
+use Galette\Entity\FieldsConfig;
use Galette\Entity\Social;
use Galette\Repository\PaymentTypes;
use Slim\Psr7\Request;
'time' => time(),
'categories' => FieldsCategories::getList($this->zdb),
'categorized_fields' => $fc->getCategorizedFields(),
- 'non_required' => $fc->getNonRequired()
+ 'non_required' => $fc->getNonRequired(),
+ 'perm_names' => FieldsConfig::getPermissionsList()
];
// display page
namespace Galette\DynamicFields;
use ArrayObject;
+use Galette\Features\Permissions;
use Throwable;
use Analog\Analog;
use Galette\Core\Db;
{
use Translatable;
use I18n;
+ use Permissions;
public const TABLE = 'field_types';
public const PK = 'field_id';
public const MOVE_UP = 'up';
public const MOVE_DOWN = 'down';
- public const PERM_USER_WRITE = 0;
- public const PERM_ADMIN = 1;
- public const PERM_STAFF = 2;
- public const PERM_MANAGER = 3;
- public const PERM_USER_READ = 4;
-
public const DEFAULT_MAX_FILE_SIZE = 1024;
public const VALUES_FIELD_LENGTH = 100;
protected ?int $id = null;
protected ?int $index = null;
- protected ?int $perm = null;
protected bool $required = false;
protected ?int $width_in_forms = 1;
protected bool $information_above = false;
$this->id = (int)$rs->field_id;
$this->name = $rs->field_name;
$this->index = (int)$rs->field_index;
- $this->perm = (int)$rs->field_perm;
+ $this->permission = (int)$rs->field_perm;
$this->required = $rs->field_required == 1;
$this->min_size = $rs->field_min_size;
$this->width_in_forms = (int)$rs->field_width_in_forms;
return $this->id;
}
- /**
- * Get field Permissions
- *
- * @return integer|null
- */
- public function getPerm(): ?int
- {
- return $this->perm;
- }
-
/**
* Is field required?
*
return $this->information_above;
}
- /**
- * Retrieve permissions names for display
- *
- * @return array<int,string>
- */
- public static function getPermsNames(): array
- {
- return [
- self::PERM_USER_WRITE => _T("User, read/write"),
- self::PERM_STAFF => _T("Staff member"),
- self::PERM_ADMIN => _T("Administrator"),
- self::PERM_MANAGER => _T("Group manager"),
- self::PERM_USER_READ => _T("User, read only")
- ];
- }
-
/**
* Retrieve forms names
*
return $names[$form_name];
}
- /**
- * Get permission name
- *
- * @return string
- */
- public function getPermName(): string
- {
- $perms = self::getPermsNames();
- return $perms[$this->getPerm()];
- }
-
/**
* Get form
*
if (!isset($values['field_perm']) || $values['field_perm'] === '') {
$this->errors[] = _T('Missing required field permissions!');
} else {
- if (in_array($values['field_perm'], array_keys(self::getPermsNames()))) {
- $this->perm = $values['field_perm'];
+ if (in_array($values['field_perm'], array_keys(self::getPermissionsList()))) {
+ $this->permission = $values['field_perm'];
} else {
$this->errors[] = _T('Unknown permission!');
}
try {
$values = array(
'field_name' => strip_tags($this->name),
- 'field_perm' => $this->perm,
+ 'field_perm' => $this->permission,
'field_required' => $this->required,
'field_width_in_forms' => $this->width_in_forms,
'field_width' => ($this->width === null ? new Expression('NULL') : $this->width),
$access_level = $this->login->getAccessLevel();
foreach ($this->dynamic_fields as $field) {
- $perm = $field->getPerm();
+ $perm = $field->getPermission();
if (
- ($perm == DynamicField::PERM_MANAGER &&
+ ($perm == FieldsConfig::MANAGER &&
$access_level < Authentication::ACCESS_MANAGER) ||
- ($perm == DynamicField::PERM_STAFF &&
+ ($perm == FieldsConfig::STAFF &&
$access_level < Authentication::ACCESS_STAFF) ||
- ($perm == DynamicField::PERM_ADMIN &&
+ ($perm == FieldsConfig::ADMIN &&
$access_level < Authentication::ACCESS_ADMIN)
) {
continue;
namespace Galette\Entity;
use ArrayObject;
+use Galette\Features\Permissions;
use Throwable;
use Analog\Analog;
use Laminas\Db\Adapter\Adapter;
*/
class FieldsConfig
{
+ use Permissions;
+
public const NOBODY = 0;
public const USER_WRITE = 1;
public const ADMIN = 2;
public const STAFF = 3;
public const MANAGER = 4;
public const USER_READ = 5;
+ public const ALL = 10;
public const TYPE_STR = 0;
public const TYPE_HIDDEN = 1;
--- /dev/null
+<?php
+
+/**
+ * Copyright © 2003-2024 The Galette Team
+ *
+ * This file is part of Galette (https://galette.eu).
+ *
+ * Galette is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Galette is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Galette. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+namespace Galette\Features;
+
+use Galette\Entity\FieldsConfig;
+use Throwable;
+use Analog\Analog;
+use Galette\Core\L10n;
+use Laminas\Db\Sql\Expression;
+
+/**
+ * Permissions
+ *
+ * @author Johan Cwiklinski <johan@x-tnd.be>
+ */
+
+trait Permissions
+{
+ protected ?int $permission = null;
+
+ /* FIXME/ requires PHP 8.2
+ public const NOBODY = 0;
+ public const USER_WRITE = 1;
+ public const ADMIN = 2;
+ public const STAFF = 3;
+ public const MANAGER = 4;
+ public const USER_READ = 5;
+ public const ALL = 10;*/
+
+ /**
+ * Get permissions list
+ *
+ * @param bool $can_public Can have "public" permission
+ *
+ * @return array<int, string>
+ */
+ public static function getPermissionsList(bool $can_public = false): array
+ {
+ $list = [
+ FieldsConfig::NOBODY => _T("Inaccessible"),
+ FieldsConfig::USER_READ => _T("Read only"),
+ FieldsConfig::USER_WRITE => _T("Read/Write"),
+ FieldsConfig::MANAGER => _T("Group manager"),
+ FieldsConfig::STAFF => _T("Staff member"),
+ FieldsConfig::ADMIN => _T("Administrator"),
+ ];
+
+ if ($can_public) {
+ $all = [FieldsConfig::ALL => _T("Public")];
+ $list = array_unshift($all);
+ }
+
+ return $list;
+ }
+
+ /**
+ * Get permission name
+ *
+ * @return string
+ */
+ public function getPermissionName(): string
+ {
+ $perms = self::getPermissionsList();
+ return $perms[$this->getPermission()];
+ }
+
+ /**
+ * Get current permissions
+ *
+ * @return integer|null
+ */
+ public function getPermission(): ?int
+ {
+ return $this->permission;
+ }
+}
use Galette\Core\Authentication;
use Galette\Core\Login;
use Galette\DynamicFields\DynamicField;
+use Galette\Entity\FieldsConfig;
/**
* Dynamic field descriptors set
/** @var ArrayObject<string, int|string> $r */
$perm = $r['field_perm'];
if (
- ($perm == DynamicField::PERM_MANAGER &&
+ ($perm == FieldsConfig::MANAGER &&
$access_level < Authentication::ACCESS_MANAGER) ||
- ($perm == DynamicField::PERM_STAFF &&
+ ($perm == FieldsConfig::STAFF &&
$access_level < Authentication::ACCESS_STAFF) ||
- ($perm == DynamicField::PERM_ADMIN &&
+ ($perm == FieldsConfig::ADMIN &&
$access_level < Authentication::ACCESS_ADMIN)
) {
continue;
<div class="ui{% if preferences.pref_member_form_grid is defined %} {{ preferences.pref_member_form_grid }}{% endif %} column stackable grid">
{% set access_level = login.getAccessLevel() %}
{% for field in fields %}
- {% set perm = field.getPerm() %}
+ {% set perm = field.getPermission() %}
{% if get_class(field) == 'Galette\\DynamicFields\\Separator' %}
<div class="sixteen wide column">
<div class="ui horizontal divider">{{ field.getName()|escape }}</div>
<td class="visibility_cell" data-col-label="{{ _T("Permissions") }}">
<span data-prop-label="{{ _T("Permissions") }}" class="visible" title="{{ _T("Change '%field' permissions")|replace({'%field': field.label}) }}">
<select name="{{ fid }}_visible" id="{{ fid }}_visible" class="ui dropdown">
- <option value="{{ constant('Galette\\Entity\\FieldsConfig::NOBODY') }}"{% if field.visible == constant('Galette\\Entity\\FieldsConfig::NOBODY') %} selected="selected"{% endif %}>{{ _T("Inaccessible") }}</option>
- <option value="{{ constant('Galette\\Entity\\FieldsConfig::ADMIN') }}"{% if field.visible == constant('Galette\\Entity\\FieldsConfig::ADMIN') %} selected="selected"{% endif %}>{{ _T("Administrator") }}</option>
- <option value="{{ constant('Galette\\Entity\\FieldsConfig::STAFF') }}"{% if field.visible == constant('Galette\\Entity\\FieldsConfig::STAFF') %} selected="selected"{% endif %}>{{ _T("Staff member") }}</option>
- <option value="{{ constant('Galette\\Entity\\FieldsConfig::MANAGER') }}"{% if field.visible == constant('Galette\\Entity\\FieldsConfig::MANAGER') %} selected="selected"{% endif %}>{{ _T("Group manager") }}</option>
- <option value="{{ constant('Galette\\Entity\\FieldsConfig::USER_READ') }}"{% if field.visible == constant('Galette\\Entity\\FieldsConfig::USER_READ') %} selected="selected"{% endif %}>{{ _T("Read only") }}</option>
- <option value="{{ constant('Galette\\Entity\\FieldsConfig::USER_WRITE') }}"{% if field.visible == constant('Galette\\Entity\\FieldsConfig::USER_WRITE') %} selected="selected"{% endif %}>{{ _T("Read/Write") }}</option>
+ {% for key, value in perm_names %}
+ <option value="{{ key }}"{% if key == field.visible %} selected="selected"{% endif %}>{{ value }}</option>
+ {% endfor %}
</select>
</span>
</td>
<tr>
<td data-scope="id" class="collapsing">{{ field.getIndex() }}</td>
<td class="left" data-scope="row">{{ field.getName()|escape }}</td>
- <td class="left" data-col-label="{{ _T("Permissions") }}">{{ field.getPermName() }}</td>
+ <td class="left" data-col-label="{{ _T("Permissions") }}">{{ field.getPermissionName() }}</td>
<td class="left" data-col-label="{{ _T("Type") }}">{{ field.getTypeName() }}</td>
<td data-col-label="{{ _T("Required") }}">
{% if field.getType != 0 %}
<label for="field_perm">{{ _T("Permissions:") }}</label>
<select name="field_perm" id="field_perm" class="ui dropdown">
{% for key, value in perm_names %}
- <option value="{{ key }}"{% if key == df.getPerm() %} selected="selected"{% endif %}>{{ value }}</option>
+ <option value="{{ key }}"{% if key == df.getPermission() %} selected="selected"{% endif %}>{{ value }}</option>
{% endfor %}
</select>
</div>
<select name="field_perm" id="field_perm" class="ui dropdown">
{% set perm = 0 %}
{% if df is defined %}
- {% set perm = df.getPerm() %}
+ {% set perm = df.getPermission() %}
{% endif %}
{% for key, value in perm_names %}
<option value="{{ key }}"{% if key == perm %} selected="selected"{% endif %}>{{ value }}</option>
$has_s = $this->bool->hasSize();
$this->assertFalse($has_s);
- $perms = $this->bool->getPerm();
+ $perms = $this->bool->getPermission();
$this->assertNull($perms);
$width = $this->bool->getWidth();
$has_s = $this->choice->hasSize();
$this->assertFalse($has_s);
- $perms = $this->choice->getPerm();
+ $perms = $this->choice->getPermission();
$this->assertNull($perms);
$width = $this->choice->getWidth();
$has_s = $this->date->hasSize();
$this->assertFalse($has_s);
- $perms = $this->date->getPerm();
+ $perms = $this->date->getPermission();
$this->assertNull($perms);
$width = $this->date->getWidth();
$field_data = [
'form_name' => 'adh',
'field_name' => 'Dynamic text field',
- 'field_perm' => \Galette\DynamicFields\DynamicField::PERM_USER_WRITE,
+ 'field_perm' => \Galette\Entity\FieldsConfig::USER_WRITE,
'field_type' => \Galette\DynamicFields\DynamicField::TEXT,
'field_required' => true,
'field_repeat' => 1
*/
public static function permsProvider(): array
{
- return [
- [
- 'perm' => \Galette\DynamicFields\DynamicField::PERM_USER_WRITE,
- 'name' => "User, read/write"
- ],
- [
- 'perm' => \Galette\DynamicFields\DynamicField::PERM_STAFF,
- 'name' => "Staff member"
- ],
- [
- 'perm' => \Galette\DynamicFields\DynamicField::PERM_ADMIN,
- 'name' => "Administrator"
- ],
- [
- 'perm' => \Galette\DynamicFields\DynamicField::PERM_MANAGER,
- 'name' => "Group manager"
- ],
- [
- 'perm' => \Galette\DynamicFields\DynamicField::PERM_USER_READ,
- 'name' => "User, read only"
- ]
- ];
+ $list = \Galette\DynamicFields\DynamicField::getPermissionsList();
+ $perms = [];
+ foreach ($list as $perm => $name) {
+ $perms[] = [
+ 'perm' => $perm,
+ 'name' => $name
+ ];
+ }
+ return $perms;
}
/**
- * Test getPermsNames
+ * Test getPermissionsList
*
* @return void
*/
- public function testGetPermsNames()
+ public function testGetPermissionsList()
{
$expected = [];
foreach (self::permsProvider() as $perm) {
$expected[$perm['perm']] = $perm['name'];
}
- $this->assertSame($expected, \Galette\DynamicFields\DynamicField::getPermsNames());
+ $this->assertArrayNotHasKey(
+ \Galette\Entity\FieldsConfig::ALL,
+ \Galette\DynamicFields\DynamicField::getPermissionsList()
+ );
+
+ $this->assertSame($expected, \Galette\DynamicFields\DynamicField::getPermissionsList());
}
/**
- * Tets getPermName
+ * Test getPermissionName
*
* @param integer $perm Permission
* @param string $name Name
*
* @return void
*/
- public function testGetPermName(int $perm, string $name)
+ public function testGetPermissionName(int $perm, string $name)
{
$field_data = [
'form_name' => 'adh',
)
);
$this->assertTrue($stored);
- $this->assertSame($name, $df->getPermName());
+ $this->assertSame($name, $df->getPermissionName());
}
/**
$field_data = [
'form_name' => 'adh',
'field_name' => 'Dynamic choice',
- 'field_perm' => \Galette\DynamicFields\DynamicField::PERM_USER_WRITE,
+ 'field_perm' => \Galette\Entity\FieldsConfig::USER_WRITE,
'field_type' => \Galette\DynamicFields\DynamicField::CHOICE,
'field_required' => false,
'field_repeat' => null,
$values = [
'form_name' => 'adh',
'field_name' => 'Dynamic choice',
- 'field_perm' => \Galette\DynamicFields\DynamicField::PERM_USER_WRITE,
+ 'field_perm' => \Galette\Entity\FieldsConfig::USER_WRITE,
'field_type' => \Galette\DynamicFields\DynamicField::CHOICE,
'field_required' => false,
'field_repeat' => null,
$values = [
'form_name' => 'adh',
'field_name' => 'Dynamic choice',
- 'field_perm' => \Galette\DynamicFields\DynamicField::PERM_USER_WRITE,
+ 'field_perm' => \Galette\Entity\FieldsConfig::USER_WRITE,
'field_type' => \Galette\DynamicFields\DynamicField::TEXT,
'field_required' => false,
'field_repeat' => null
$values = [
'form_name' => 'adh',
'field_name' => 'Dynamic choice',
- 'field_perm' => \Galette\DynamicFields\DynamicField::PERM_USER_WRITE,
+ 'field_perm' => \Galette\Entity\FieldsConfig::USER_WRITE,
'field_type' => \Galette\DynamicFields\DynamicField::LINE,
'field_required' => false,
'field_repeat' => null
$field_data = [
'form_name' => 'adh',
'field_name' => 'A first text field',
- 'field_perm' => \Galette\DynamicFields\DynamicField::PERM_USER_WRITE,
+ 'field_perm' => \Galette\Entity\FieldsConfig::USER_WRITE,
'field_type' => \Galette\DynamicFields\DynamicField::TEXT,
'field_required' => true,
'field_repeat' => 1
$field_data = [
'form_name' => 'adh',
'field_name' => 'Dynamic choice',
- 'field_perm' => \Galette\DynamicFields\DynamicField::PERM_USER_WRITE,
+ 'field_perm' => \Galette\Entity\FieldsConfig::USER_WRITE,
'field_type' => \Galette\DynamicFields\DynamicField::CHOICE,
'field_required' => false,
'field_repeat' => null,
$field_data = [
'form_name' => 'adh',
'field_name' => 'A first text field',
- 'field_perm' => \Galette\DynamicFields\DynamicField::PERM_USER_WRITE,
+ 'field_perm' => \Galette\Entity\FieldsConfig::USER_WRITE,
'field_type' => \Galette\DynamicFields\DynamicField::TEXT,
'field_information' => '<p>This is an important information.</p><p>And here an xss... <img src=img.png onerror=alert(1) /></p>'
];
$has_s = $this->file->hasSize();
$this->assertTrue($has_s);
- $perms = $this->file->getPerm();
+ $perms = $this->file->getPermission();
$this->assertNull($perms);
$width = $this->file->getWidth();
$has_s = $this->line->hasSize();
$this->assertTrue($has_s);
- $perms = $this->line->getPerm();
+ $perms = $this->line->getPermission();
$this->assertNull($perms);
$width = $this->line->getWidth();
$has_s = $this->separator->hasSize();
$this->assertFalse($has_s);
- $perms = $this->separator->getPerm();
+ $perms = $this->separator->getPermission();
$this->assertNull($perms);
$width = $this->separator->getWidth();
$has_s = $this->text->hasSize();
$this->assertFalse($has_s);
- $perms = $this->text->getPerm();
+ $perms = $this->text->getPermission();
$this->assertNull($perms);
$width = $this->text->getWidth();
$this->assertCount(2, $elements['hiddens']);
}
+
+ /**
+ * Test permissions list
+ *
+ * @return void
+ */
+ public function testGetPermissionsList(): void
+ {
+ $list = \Galette\Entity\FieldsConfig::getPermissionsList();
+ $this->assertArrayNotHasKey(\Galette\Entity\FieldsConfig::ALL, $list);
+ }
}
$field_data = [
'form_name' => 'adh',
'field_name' => 'Dynamic text field',
- 'field_perm' => DynamicField::PERM_USER_WRITE,
+ 'field_perm' => \Galette\Entity\FieldsConfig::USER_WRITE,
'field_type' => DynamicField::TEXT,
'field_required' => 1,
'field_repeat' => 1
'form_name' => 'contrib',
'field_form' => 'contrib',
'field_name' => 'Dynamic date field',
- 'field_perm' => DynamicField::PERM_USER_WRITE,
+ 'field_perm' => \Galette\Entity\FieldsConfig::USER_WRITE,
'field_type' => DynamicField::DATE,
'field_required' => 1,
'field_repeat' => 1
namespace Galette\IO\test\units;
+use Galette\Entity\FieldsConfig;
use PHPUnit\Framework\TestCase;
use Galette\Entity\Adherent;
use Galette\DynamicFields\DynamicField;
$field_data = [
'form_name' => 'adh',
'field_name' => 'Dynamic text field',
- 'field_perm' => DynamicField::PERM_USER_WRITE,
+ 'field_perm' => FieldsConfig::USER_WRITE,
'field_type' => DynamicField::TEXT,
'field_required' => 1,
'field_repeat' => 1
$cfield_data = [
'form_name' => 'adh',
'field_name' => 'Dynamic choice field',
- 'field_perm' => DynamicField::PERM_USER_WRITE,
+ 'field_perm' => FieldsConfig::USER_WRITE,
'field_type' => DynamicField::CHOICE,
'field_required' => 0,
'field_repeat' => 1,
$cfield_data = [
'form_name' => 'adh',
'field_name' => 'Dynamic date field',
- 'field_perm' => DynamicField::PERM_USER_WRITE,
+ 'field_perm' => FieldsConfig::USER_WRITE,
'field_type' => DynamicField::DATE,
'field_required' => 0,
'field_repeat' => 1
$field_data = [
'form_name' => 'contrib',
'field_name' => 'Dynamic text field',
- 'field_perm' => \Galette\DynamicFields\DynamicField::PERM_USER_WRITE,
+ 'field_perm' => \Galette\Entity\FieldsConfig::USER_WRITE,
'field_type' => \Galette\DynamicFields\DynamicField::TEXT,
'field_required' => 1,
'field_repeat' => 1
$field_data = [
'form_name' => 'contrib',
'field_name' => 'Dynamic choice field',
- 'field_perm' => \Galette\DynamicFields\DynamicField::PERM_USER_WRITE,
+ 'field_perm' => \Galette\Entity\FieldsConfig::USER_WRITE,
'field_type' => \Galette\DynamicFields\DynamicField::CHOICE,
'field_required' => 0,
'field_repeat' => 1,
$field_data = [
'form_name' => 'contrib',
'field_name' => 'Dynamic date field',
- 'field_perm' => \Galette\DynamicFields\DynamicField::PERM_USER_WRITE,
+ 'field_perm' => \Galette\Entity\FieldsConfig::USER_WRITE,
'field_type' => \Galette\DynamicFields\DynamicField::DATE,
'field_required' => 0,
'field_repeat' => 1