def get_backup(self): backup = self.get_object() if not has_user_permission_for_instance(self.request.user, backup.instance): raise exceptions.PermissionDenied( 'You do not have permission to perform this action.') return backup
def perform_update(self, serializer): backup_source = self.get_object().backup_source if not has_user_permission_for_instance(self.request.user, backup_source): raise PermissionDenied( 'You do not have permission to perform this action.') super(BackupScheduleViewSet, self).perform_update(serializer)
def perform_create(self, serializer): if not has_user_permission_for_instance( self.request.user, serializer.validated_data['backup_source']): raise PermissionDenied( 'You do not have permission to perform this action.') backup = serializer.save() backup.start_backup()
def perform_create(self, serializer): if not has_user_permission_for_instance( self.request.user, serializer.validated_data['backup_source']): raise PermissionDenied( 'You do not have permission to perform this action.') # Check that backup source is in stable state. backup_source = serializer.validated_data.get('backup_source') state = getattr(backup_source, 'state') if state not in backup_source.States.STABLE_STATES: raise IncorrectStateException( 'Backup source should be in stable state.') backup = serializer.save() backup.start_backup()
def perform_destroy(self, schedule): if not has_user_permission_for_instance(self.request.user, schedule.instance): raise exceptions.PermissionDenied( 'You do not have permission to perform this action.') super(BackupScheduleViewSet, self).perform_destroy(schedule)
def perform_create(self, serializer): if not has_user_permission_for_instance( self.request.user, serializer.validated_data['instance']): raise exceptions.PermissionDenied( 'You do not have permission to perform this action.') super(BackupScheduleViewSet, self).perform_create(serializer)
def _get_backup_schedule(self, user): schedule = self.get_object() if not has_user_permission_for_instance(user, schedule.backup_source): raise PermissionDenied( 'You do not have permission to perform this action.') return schedule
def _get_backup(self, user, uuid): backup = self.get_object() if not has_user_permission_for_instance(user, backup.backup_source): raise PermissionDenied( 'You do not have permission to perform this action.') return backup