Skip to content
This repository has been archived by the owner on Aug 27, 2019. It is now read-only.

Commit

Permalink
add options for qasp view and download
Browse files Browse the repository at this point in the history
  • Loading branch information
stvnrlly committed Nov 23, 2016
1 parent d53f173 commit 47f4884
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 2 deletions.
12 changes: 12 additions & 0 deletions acquisitions/settings.py
Expand Up @@ -166,3 +166,15 @@
'rest_framework_csv.renderers.CSVRenderer',
),
}


# Markdown Deux
MARKDOWN_DEUX_STYLES = {
"default": {
"extras": {
"code-friendly": None,
"tables": None
},
"safe_mode": "escape",
}
}
2 changes: 1 addition & 1 deletion projects/templates/projects/buy.html
Expand Up @@ -23,7 +23,7 @@ <h3>Acquisition Plan</h3>
<h3>QASP</h3>
<p>Status: {{ buy.qasp_status }}</p>
{% if buy.qasp %}
<p>View | Download | Regenerate</p>
<p><a href="{% url 'buys:qasp' buy.id %}">View</a> | <a href="{% url 'buys:qasp_download' buy.id %}">Download</a> | Regenerate</p>
{% else %}
<p>Generate</p>
{% endif %}
Expand Down
1 change: 1 addition & 0 deletions projects/templates/projects/qasp.html
Expand Up @@ -4,6 +4,7 @@
{% block content %}
<section class="usa-grid">
<div class="usa-width-one-full">
<p><a href="{{ buy.get_absolute_url }}">Back</a></p>
{% markdown %}
{{ buy.qasp }}
{% endmarkdown %}
Expand Down
3 changes: 2 additions & 1 deletion projects/urls.py
Expand Up @@ -27,7 +27,8 @@
buy_patterns = [
url(r'^$', views.buys, name='buys'),
url(r'(?P<buy>\d+)/$', views.buy, name='buy'),
url(r'(?P<buy>\d+)/qasp/', views.qasp, name='qasp'),
url(r'(?P<buy>\d+)/qasp/$', views.qasp, name='qasp'),
url(r'(?P<buy>\d+)/qasp/download/$', views.qasp_download, name='qasp_download'),
]

api_patterns = format_suffix_patterns(api_patterns)
21 changes: 21 additions & 0 deletions projects/views.py
@@ -1,6 +1,8 @@
import markdown
from django.shortcuts import render
from django.shortcuts import get_object_or_404
from django.http import Http404
from django.http import HttpResponse
from rest_framework import viewsets
from rest_framework import status
from rest_framework import mixins
Expand Down Expand Up @@ -57,6 +59,25 @@ def qasp(request, buy):
raise Http404


def qasp_download(request, buy, format='markdown'):
buy = get_object_or_404(Buy, id=buy)
if not buy.public:
if request.user.has_perm('projects.view_private'):
pass
else:
raise Http404
if buy.qasp:
if format == 'markdown':
response = HttpResponse(buy.qasp, content_type='text/plain')
response['Content-Disposition'] = 'attachment; filename="{0} QASP.md"'.format(buy.name)

return response
elif format == 'docx':
pass
else:
raise Http404


@api_view(['GET'])
def api_root(request, format=None):
return Response({
Expand Down

0 comments on commit 47f4884

Please sign in to comment.