def _load_deposit_group_permissions(self): _deposit_group = self._get_deposit_group_info() _permission_factory_imp = \ _deposit_group.get(self.action + '_permission_factory_imp', None) _permission_factory_imp = \ obj_or_import_string(_permission_factory_imp) if _permission_factory_imp: self.permissions.add(_permission_factory_imp)
def get_user_deposit_groups(user_id): """Get Deposit Groups.""" # Set deposit groups for user deposit_groups = current_app.config.get('DEPOSIT_GROUPS', {}) user_deposit_groups = [] for group, obj in deposit_groups.iteritems(): # Check if user has permission for this deposit group if obj_or_import_string(obj['create_permission_factory_imp']).can(): user_deposit_groups.append(group) return user_deposit_groups
def _load_deposit_group_permissions(self): _deposit_group = self._get_deposit_group_info() _permission_factory_imp = \ _deposit_group.get(self.action + '_permission_factory_imp', None) _permission_factory_imp = \ obj_or_import_string(_permission_factory_imp) if _permission_factory_imp: for _need in _permission_factory_imp: self._needs.add(_need)
def __init__(self, template_name=None, schema=None, schema_form=None, create_permission_factory=None): self.template_name = template_name self.schema = schema self.schema_form = schema_form try: assert create_permission_factory self._create_deposit_permission = \ DynamicPermission(*obj_or_import_string( create_permission_factory)) except: abort(403)
def _load_deposit_group_permissions(self): _deposit_group = self._get_deposit_group_info() if not _deposit_group: raise WrongJSONSchemaError() _permission_factory_imp = \ _deposit_group.get(self.action + '_permission_factory_imp', None) _permission_factory_imp = \ obj_or_import_string(_permission_factory_imp) if _permission_factory_imp: for _need in _permission_factory_imp: self._needs.add(_need)
def get_user_deposit_groups(): """Get Deposit Groups.""" # Set deposit groups for user deposit_groups = current_app.config.get('DEPOSIT_GROUPS', {}) user_deposit_groups = [] for group, obj in deposit_groups.iteritems(): # Check if user has permission for this deposit group needs = obj_or_import_string(obj['create_permission_factory_imp']) if Permission(*needs).can(): group_data = {} group_data['name'] = obj.get('name', '') group_data['deposit_group'] = group group_data['description'] = obj.get('description', '') user_deposit_groups.append(group_data) return user_deposit_groups
def test_obj_or_import_string_when_no_value_given_returns_default(): returned_object = obj_or_import_string(None, mock.Mock) assert returned_object == mock.Mock
def test_obj_or_import_string_when_class_object_given_returns_it(): returned_object = obj_or_import_string(mock.Mock) assert returned_object == mock.Mock
def test_obj_or_import_string_when_string_given_returns_imported_string(): returned_object = obj_or_import_string('mock.Mock') assert returned_object == mock.Mock