예제 #1
0
 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
예제 #2
0
 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)
예제 #3
0
 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()
예제 #4
0
    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()
예제 #5
0
 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)
예제 #6
0
 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)
예제 #7
0
 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
예제 #8
0
 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