Just pseudocode!
SETTINGS:
PACKAGE_EDITOR_LEVEL = None # default #PACKAGE_EDITOR_LEVEL = 'packager'
package.views:
if settings.PACKAGE_EDITOR_LEVEL:
if not user.is_group(settings.PACKAGE_EDITOR_LEVEL):
raise HttpForbidden
profile.models:
@property
def is_packager(self):
if settings.PACKAGE_EDITOR_LEVEL:
return self.user.is_group(settings.PACKAGE_EDITOR_LEVEL)
else:
return True
package.templates:
{% if user.get_profile.is_packager %}
show button
{% else %}
not show button
{% endif %}