Разрешение обычным пользователям загружать PloneFormGen CSV
Мы используем SaveDataAdapter от PloneFormGen и хотим, чтобы пользователи, не являющиеся администраторами сайта, могли загружать CSV. Нормальные разрешения не позволяют этого. Возможно ли это в PloneFormGen?
1 ответ
Вы правы, есть специальное разрешение для download
-вид с именем "PloneFormGen: Загрузить сохраненный ввод" и Products/PloneFormGen/config.py
определяет, что менеджеры, владельцы и администраторы сайтов получают это разрешение по умолчанию.
В одну из профилей-папок вашего дополнения добавьте файл с именем rolemap.xml
для дополнительного назначения ролей (роли по умолчанию останутся нетронутыми, так как они назначаются через Python-скрипт, а не GenericSetup-файл):
<?xml version="1.0"?>
<rolemap>
<permissions>
<permission name="PloneFormGen: Download Saved Input" acquire="True">
<role name="Member" />
</permission>
</permissions>
</rolemap>
Примечание. Это позволит установить разрешение глобально, а это означает, что вы не можете ограничивать его местами. Для более точного управления для каждого местоположения создайте роль "Загрузчики", назначьте ей разрешение на загрузку в rolemap.xml
и сделать разрешение назначаемым локально через вкладку совместного использования элемента. Для последнего шага можно попробовать https://pypi.org/project/collective.sharingroles/.
Альтернативное решение для случая, когда ровно один пользователь должен получить дополнительную привилегию для загрузки содержимого save-адаптера:
присоединять /ownership_form
на URL-адрес адаптера сохранения, выберите нового владельца и сохраните.