Skip to content
Snippets Groups Projects
Commit 2c6f4451 authored by Jaden Diefenbaugh's avatar Jaden Diefenbaugh
Browse files

add api for compiling unauth report access content

parent 62af7be7
No related branches found
No related tags found
1 merge request!223Reports overhaul
......@@ -572,3 +572,36 @@ class ReportRSTCompileView(BaseReportActionView):
return Response(result)
#return BadRequestResponse(result)
#----------------------------------------------------------
class ReportRSTCompileAnonView(CommonContextMixin, generics.RetrieveAPIView):
permission_classes = BaseReportActionView.permission_classes + [IsEditable]
def post(self, request, number):
report = get_object_or_404(Report, number=int(number))
content = json.loads(report.content)
textBlockMap = request.data['raw'].split('|')
rstStr = ''
try:
rstStr = content['groups'][textBlockMap[0]]['reportItems'][int(textBlockMap[1])]['content']
except:
pass
result = {}
try:
from docutils.core import publish_parts
except ImportError:
if settings.DEBUG:
raise template.TemplateSyntaxError("Error in ReportRSTCompileView: The Python docutils library isn't installed.")
result['html_str'] = force_text(value)
else:
docutils_settings = getattr(settings, "RESTRUCTUREDTEXT_FILTER_SETTINGS", {})
parts = publish_parts(source=force_bytes(rstStr), writer_name="html4css1", settings_overrides=docutils_settings)
result['html_str'] = force_text(parts["fragment"])
return Response(result)
#return BadRequestResponse(result)
......@@ -36,6 +36,12 @@ urlpatterns = [
name='rst_compiler'
),
url(
r'^(?P<number>\d+)/rst/$',
api.ReportRSTCompileAnonView.as_view(),
name='rst_compiler'
),
url(
r'^$',
api.ReportListView.as_view(),
......
......@@ -90,8 +90,8 @@
<script src="{% fingerprint "reports/app/services/experimentsService.js" %}" type="text/javascript" charset="utf-8"></script>
<script src="{% fingerprint "reports/app/services/urlService.js" %}" type="text/javascript" charset="utf-8"></script>
<!-- directives
-->
<!-- directives -->
<!-- old -->
<script src="{% fingerprint "reports/app/directives/addReportItem.js" %}" type="text/javascript" charset="utf-8"></script>
<script src="{% fingerprint "reports/app/directives/aliasExperiment.js" %}" type="text/javascript" charset="utf-8"></script>
<script src="{% fingerprint "reports/app/directives/buttonDeleteItem.js" %}" type="text/javascript" charset="utf-8"></script>
......@@ -109,6 +109,8 @@
<script src="{% fingerprint "reports/app/directives/tablePrecision.js" %}" type="text/javascript" charset="utf-8"></script>
<script src="{% fingerprint "reports/app/directives/theColumn.js" %}" type="text/javascript" charset="utf-8"></script>
<!-- edit view -->
{% if report and user and not report_number %}
<script src="{% fingerprint "reports/app/directives/edit/addGroupMenu.js" %}" type="text/javascript" charset="utf-8"></script>
<script src="{% fingerprint "reports/app/directives/edit/addItemsMenu.js" %}" type="text/javascript" charset="utf-8"></script>
<script src="{% fingerprint "reports/app/directives/edit/itemContainer.js" %}" type="text/javascript" charset="utf-8"></script>
......@@ -121,6 +123,17 @@
<script src="{% fingerprint "reports/app/directives/edit/tableItem.js" %}" type="text/javascript" charset="utf-8"></script>
<script src="{% fingerprint "reports/app/directives/edit/textItem.js" %}" type="text/javascript" charset="utf-8"></script>
<script src="{% fingerprint "reports/app/directives/edit/viewSerialized.js" %}" type="text/javascript" charset="utf-8"></script>
{% else %}
<!-- readonly view -->
<script src="{% fingerprint "reports/app/directives/view/layout.js" %}" type="text/javascript" charset="utf-8"></script>
<script src="{% fingerprint "reports/app/directives/view/itemContainer.js" %}" type="text/javascript" charset="utf-8"></script>
<script src="{% fingerprint "reports/app/directives/view/panelContent.js" %}" type="text/javascript" charset="utf-8"></script>
<script src="{% fingerprint "reports/app/directives/view/panelExperiments.js" %}" type="text/javascript" charset="utf-8"></script>
<script src="{% fingerprint "reports/app/directives/view/panelItems.js" %}" type="text/javascript" charset="utf-8"></script>
<script src="{% fingerprint "reports/app/directives/view/plotItem.js" %}" type="text/javascript" charset="utf-8"></script>
<script src="{% fingerprint "reports/app/directives/view/tableItem.js" %}" type="text/javascript" charset="utf-8"></script>
<script src="{% fingerprint "reports/app/directives/view/textItem.js" %}" type="text/javascript" charset="utf-8"></script>
{% endif %}
<script src="{% fingerprint "ui/js/smartselector.js" %}" type="text/javascript" charset="utf-8"></script>
<script src="{% fingerprint "ui/js/multipleselector.js" %}" type="text/javascript" charset="utf-8"></script>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment