Skip to content

Commit

Permalink
Include API docs and required packages
Browse files Browse the repository at this point in the history
  • Loading branch information
WinnyTroy authored and lincmba committed Jan 23, 2019
1 parent 97354f1 commit 24dde26
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 6 deletions.
27 changes: 27 additions & 0 deletions docs/forms.rst
Original file line number Diff line number Diff line change
Expand Up @@ -929,6 +929,33 @@ Response
"enketo_preview_url": "https://H6Ic6.enketo.org/webform/preview?server=https://api.ona.io/geoffreymuchai/&id=form_id"
}

Get single submission url
-------------------------
.. raw:: html

<pre class="prettyprint">
<b>GET</b> /api/v1/forms/<code>{pk}</code>/enketo?url=single_submit</pre>

Request
^^^^^^^
::

curl -X GET https://api.ona.io/api/v1/forms/28058/enketo?url=single_submit

Response
^^^^^^^^
::

HTTP 200 OK

Response
^^^^^^^^^
::

{
"single_submit_url": "https://enke.to/single/::abcd"
}


Get form data in xls, csv format.
---------------------------------
Expand Down
17 changes: 15 additions & 2 deletions onadata/apps/api/tests/viewsets/test_xform_viewset.py
Original file line number Diff line number Diff line change
Expand Up @@ -748,9 +748,22 @@ def test_enketo_url(self):
response = view(request, pk=formid)
url = "https://enketo.ona.io/::YY8M"
preview_url = "https://enketo.ona.io/preview/::YY8M"
data = {"enketo_url": url, "enketo_preview_url": preview_url}
self.assertEqual(response.data, data)

def test_get_single_submit_url(self):
with HTTMock(enketo_preview_url_mock, enketo_mock_with_form_defaults,
enketo_single_submission_mock):
self._publish_xls_form_to_project()
view = XFormViewSet.as_view({
'get': 'enketo'
})
formid = self.xform.pk
get_data = {'url': 'single_submit'}
request = self.factory.get('/', data=get_data, **self.extra)
response = view(request, pk=formid)
submit_url = "https://enketo.ona.io/single/::XZqoZ94y"
data = {"enketo_url": url, "enketo_preview_url": preview_url,
"single_url": submit_url}
data = {"single_submit_url": submit_url}
self.assertEqual(response.data, data)

def test_enketo_url_with_default_form_params(self):
Expand Down
2 changes: 1 addition & 1 deletion onadata/apps/api/viewsets/xform_viewset.py
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,7 @@ def login(self, request, **kwargs):
@action(methods=['GET'], detail=True)
def enketo(self, request, **kwargs):
"""Expose enketo urls."""
url_type = self.kwargs.get('url')
url_type = self.kwargs.get('url') or request.GET.get('url')
self.object = self.get_object()
form_url = get_form_url(
request, self.object.user.username, settings.ENKETO_PROTOCOL,
Expand Down
2 changes: 1 addition & 1 deletion requirements/base.pip
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ pyxform==0.12.2
raven==6.9.0
recaptcha-client==1.0.6
requests==2.20.1 # via datapackage, django-oauth-toolkit, httmock, sphinx, tableschema, tabulator
requests-mock==1.5.2
requests_mock==1.5.2
rfc3986==1.2.0 # via tableschema
rsa==4.0 # via google-auth, oauth2client
savreaderwriter==3.4.2
Expand Down
2 changes: 1 addition & 1 deletion requirements/dev.pip
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ pyxform==0.12.2
raven==6.9.0
recaptcha-client==1.0.6
requests==2.20.1 # via datapackage, django-oauth-toolkit, httmock, sphinx, tableschema, tabulator
requests-mock==1.5.2
requests_mock==1.5.2
rfc3986==1.2.0 # via tableschema
rsa==4.0 # via google-auth, oauth2client
savreaderwriter==3.4.2
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@
"python-dateutil",
"pytz",
"requests",
"requests-mock==1.5.2",
"requests-mock",
"simplejson",
"google-api-python-client",
"uwsgi",
Expand Down

0 comments on commit 24dde26

Please sign in to comment.