diff --git a/ckanext/datavic_odp_theme/logic/__init__.py b/ckanext/datavic_odp_theme/logic/__init__.py index 1646628..f95ec46 100644 --- a/ckanext/datavic_odp_theme/logic/__init__.py +++ b/ckanext/datavic_odp_theme/logic/__init__.py @@ -9,6 +9,7 @@ def auth_functions(): package_activity_list=get.vic_package_activity_list, organization_activity_list=get.vic_organization_activity_list, user_activity_list=get.vic_user_activity_list, + organization_member_create=get.organization_member_create, ) diff --git a/ckanext/datavic_odp_theme/logic/auth/get.py b/ckanext/datavic_odp_theme/logic/auth/get.py index 8b5cf31..fc6f5de 100644 --- a/ckanext/datavic_odp_theme/logic/auth/get.py +++ b/ckanext/datavic_odp_theme/logic/auth/get.py @@ -103,4 +103,16 @@ def vic_organization_activity_list( def vic_datatables_view_prioritize(context, data_dict): - return {"success": False} \ No newline at end of file + return {"success": False} + +@tk.chained_auth_function +def organization_member_create(next_auth, context, data_dict): + user_obj = context.get('auth_user_obj') + + if not user_obj or not user_obj.sysadmin: + return { + 'success': False, + 'msg': 'Only sysadmins can manage organization members' + } + + return next_auth(context, data_dict) diff --git a/ckanext/datavic_odp_theme/templates/organization/manage_members.html b/ckanext/datavic_odp_theme/templates/organization/manage_members.html new file mode 100644 index 0000000..7d49f9f --- /dev/null +++ b/ckanext/datavic_odp_theme/templates/organization/manage_members.html @@ -0,0 +1,10 @@ +{% ckan_extends %} + +{% block page_primary_action %} + {% if h.check_access('organization_update', {'id': organization.id}) %} + {% if g.userobj.sysadmin %} + {% link_for _('Add Member'), named_route=group_type+'.member_new', id=group_dict.id, class_='btn btn-primary', icon='plus-square' %} + {% endif %} + {% link_for _('CSV'), named_route=group_type+'.member_dump', id=group_dict.id, class_='btn btn-primary', icon='download' %} + {% endif %} +{% endblock %}