Permission(s) for changing order of fields (eg. in pricesets)
You can only change the order of fields when you have the 'administer CiviCRM' permission (see CRM/Core/xml/Menu/Admin.xml):
<item>
<path>civicrm/admin/weight</path>
<page_callback>CRM_Utils_Weight::fixOrder</page_callback>
</item>
When you have the permission to edit all events you can create/edit pricesets. But you can't order them when you don't have the 'administer CiviCRM' permission.
Quick fix (see civicrm-520-permissions-for-changing-fields.patch):
<item>
<path>civicrm/admin/weight</path>
<page_callback>CRM_Utils_Weight::fixOrder</page_callback>
<access_arguments>administer CiviCRM;access CiviEvent</access_arguments>
</item>
Question: is this sufficient? Or should we add more permissions to access_arguments or should we use a callback?