Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

filter SoUD devices when scanning the network to import new facilities #8383

Merged
merged 2 commits into from Sep 3, 2021

Conversation

jredrejo
Copy link
Member

@jredrejo jredrejo commented Sep 2, 2021

Summary

When a superuser tries to import new facilities, subsets of users devices should not be shown nor found in the list of available devices to look for new facilites

References

Closes: #8276

Reviewer guidance

  1. Setup a subset of users device (a.k.a. learn only device) a
  2. Setup another kolibri server, both in your network

Before this PR:

  • superuser of the kolibri server will see the SoUD when scanning facilities to import

After this PR:

  • superuser of the kolibri server will NOT see the SoUD when scanning facilities to import

Testing checklist

  • Contributor has fully tested the PR manually
  • If there are any front-end changes, before/after screenshots are included
  • Critical user journeys are covered by Gherkin stories
  • Critical and brittle code paths are covered by unit tests

PR process

  • PR has the correct target branch and milestone
  • PR has 'needs review' or 'work-in-progress' label
  • If PR is ready for review, a reviewer has been added. (Don't use 'Assignees')
  • If this is an important user-facing change, PR or related issue has a 'changelog' label
  • If this includes an internal dependency change, a link to the diff is provided

Reviewer checklist

  • Automated test coverage is satisfactory
  • PR is fully functional
  • PR has been tested for accessibility regressions
  • External dependency files were updated if necessary (yarn and pip)
  • Documentation is updated
  • Contributor is in AUTHORS.md

@jredrejo jredrejo added the TODO: needs review Waiting for review label Sep 2, 2021
@jredrejo jredrejo added this to the 0.15.0 milestone Sep 2, 2021
Copy link
Member

@rtibbles rtibbles left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of questions.

kolibri/core/discovery/api.py Outdated Show resolved Hide resolved
@@ -15,6 +16,10 @@ class NetworkLocationViewSet(viewsets.ModelViewSet):
permission_classes = [NetworkLocationPermissions | NotProvisionedHasPermission]
serializer_class = NetworkLocationSerializer
queryset = NetworkLocation.objects.all()
filter_backends = [DjangoFilterBackend]
filterset_fields = [
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And I had forgotten that for fields only filtering you can just do this instead of even defining a FilterSet!

@jredrejo jredrejo merged commit 632800c into learningequality:release-v0.15.x Sep 3, 2021
@jredrejo jredrejo deleted the not_import_soud branch September 3, 2021 15:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
TODO: needs review Waiting for review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Single user syncing - Getting a 403 error when attempting to Sync with a learner-only device as a Super admin
2 participants