django-apollo-forms 2.2.2__tar.gz → 2.2.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/PKG-INFO +1 -1
  2. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/api/v1/permissions.py +2 -2
  3. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/tests/test_api.py +2 -2
  4. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/views.py +2 -2
  5. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/django_apollo_forms.egg-info/PKG-INFO +1 -1
  6. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/setup.py +1 -1
  7. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/MANIFEST.in +0 -0
  8. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/README.md +0 -0
  9. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/__init__.py +0 -0
  10. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/admin.py +0 -0
  11. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/api/__init__.py +0 -0
  12. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/api/v1/__init__.py +0 -0
  13. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/api/v1/api_views.py +0 -0
  14. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/api/v1/serializers.py +0 -0
  15. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/api/v1/urls.py +0 -0
  16. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/apps.py +0 -0
  17. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/exceptions.py +0 -0
  18. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/factories.py +0 -0
  19. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/forms.py +0 -0
  20. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/lib/__init__.py +0 -0
  21. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/lib/emails.py +0 -0
  22. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/lib/recaptcha.py +0 -0
  23. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/migrations/0001_initial.py +0 -0
  24. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/migrations/0002_auto_20180214_2053.py +0 -0
  25. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/migrations/0003_externalwebhook_service.py +0 -0
  26. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/migrations/0004_auto_20220816_2013.py +0 -0
  27. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/migrations/0005_alter_apiuser_id_alter_externalwebhook_id_and_more.py +0 -0
  28. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/migrations/0006_formfield_validation_message_and_more.py +0 -0
  29. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/migrations/0007_alter_formfield_default_value_and_more.py +0 -0
  30. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/migrations/0008_alter_formfield_label_alter_formfieldtemplate_label.py +0 -0
  31. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/migrations/0009_formsubmission_created_by.py +0 -0
  32. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/migrations/__init__.py +0 -0
  33. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/models.py +0 -0
  34. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/settings.py +0 -0
  35. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/signals.py +0 -0
  36. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/static/build/app.js +0 -0
  37. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/static/images/grid-cell-bg.png +0 -0
  38. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/static/images/logo.png +0 -0
  39. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/static/package-lock.json +0 -0
  40. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/static/package.json +0 -0
  41. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/static/src/js/vendor/jquery-3.2.1.min.js +0 -0
  42. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/static/webpack.config.js +0 -0
  43. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/templates/forms_manager.html +0 -0
  44. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/templates/noscript.html +0 -0
  45. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/tests/__init__.py +0 -0
  46. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/tests/test_forms.py +0 -0
  47. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/tests/test_lib.py +0 -0
  48. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/tests/test_models.py +0 -0
  49. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/tests/test_signals.py +0 -0
  50. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/apollo/urls.py +0 -0
  51. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/django_apollo_forms.egg-info/SOURCES.txt +0 -0
  52. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/django_apollo_forms.egg-info/dependency_links.txt +0 -0
  53. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/django_apollo_forms.egg-info/requires.txt +0 -0
  54. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/django_apollo_forms.egg-info/top_level.txt +0 -0
  55. {django_apollo_forms-2.2.2 → django_apollo_forms-2.2.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-apollo-forms
3
- Version: 2.2.2
3
+ Version: 2.2.4
4
4
  Summary: Simple CMS for forms
5
5
  Home-page: https://morgan-and-morgan.github.io/apollo/
6
6
  Author: Morgan & Morgan Developers
@@ -20,5 +20,5 @@ class FormSubmissionsPermission(permissions.DjangoModelPermissions):
20
20
  # view-level has_permission already takes care of read perms
21
21
  return True
22
22
 
23
- # for updating objects, we only want to allow the creator of the form submission to update it
24
- return hasattr(request, 'user') and request.user is not None and not request.user.is_anonymous and obj.created_by == request.user
23
+ # allow any authenticated user with sufficient permissions to update a submission
24
+ return hasattr(request, 'user') and request.user is not None and not request.user.is_anonymous
@@ -679,7 +679,7 @@ class TestUpdateFormSubmission(FormsAPITestCase):
679
679
  self.assertEqual(resp.status_code, 403)
680
680
 
681
681
  @factory.django.mute_signals(signals.form_submission_cleaned)
682
- def test_attempting_update_of_unowned_form_submission_returns_403(self):
682
+ def test_update_of_unowned_form_submission_returns_200(self):
683
683
  submission = FormSubmissionFactory(
684
684
  form=self.form,
685
685
  raw_data={'fields': [{'name': 'first_name', 'value': 'bobby'}, {'name': 'last_name', 'value': 'stein'}]},
@@ -693,7 +693,7 @@ class TestUpdateFormSubmission(FormsAPITestCase):
693
693
 
694
694
  resp = self.put('/submissions/%s' % submission.id, {'raw_data': [{'name': 'first_name', 'value': 'joe'}]})
695
695
 
696
- self.assertEqual(resp.status_code, 403)
696
+ self.assertEqual(resp.status_code, 200)
697
697
 
698
698
  @factory.django.mute_signals(signals.form_submission_cleaned)
699
699
  def test_update_patches_object_partial(self):
@@ -31,7 +31,7 @@ class DownloadFormSubmissions(TemplateView):
31
31
  form_id = request.GET.get('form_id')
32
32
 
33
33
  form = Form.objects.get(id=form_id)
34
- submissions = form.submissions.all()
34
+ submissions = form.submissions.filter(cleaned_data__isnull=False)
35
35
 
36
36
  # write the submissions to a CSV
37
37
  f = NamedTemporaryFile(suffix='.csv')
@@ -41,7 +41,7 @@ class DownloadFormSubmissions(TemplateView):
41
41
  with open(f.name, 'w') as csvfile:
42
42
  # we need to create the set of all field names across all submissions to avoid situations where the form
43
43
  # has changed which fields are included and it results in the header not including all fields sent
44
- field_names = set([field for submission in submissions for field in submission.cleaned_data.keys() if submission.cleaned_data is not None])
44
+ field_names = set([field for submission in submissions for field in submission.cleaned_data.keys()])
45
45
  writer = csv.DictWriter(csvfile, field_names)
46
46
 
47
47
  writer.writeheader()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-apollo-forms
3
- Version: 2.2.2
3
+ Version: 2.2.4
4
4
  Summary: Simple CMS for forms
5
5
  Home-page: https://morgan-and-morgan.github.io/apollo/
6
6
  Author: Morgan & Morgan Developers
@@ -13,7 +13,7 @@ def get_packages(package):
13
13
  return [dirpath for dirpath, dirnames, filenames in os.walk(package) if os.path.exists(os.path.join(dirpath, '__init__.py'))]
14
14
 
15
15
 
16
- version = '2.2.2'
16
+ version = '2.2.4'
17
17
 
18
18
  # allow setup.py to be run from any path
19
19
  os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir)))