| 90 | permission_required = "view_permission" |
| 91 | |
| 92 | def get(self, request, query_id): |
| 93 | query, form = QueryView.get_instance_and_form(request, query_id) |
| 94 | query.save() # updates the modified date |
| 95 | show = url_get_show(request) |
| 96 | rows = url_get_rows(request) |
| 97 | params = query.available_params() |
| 98 | if not app_settings.EXPLORER_AUTORUN_QUERY_WITH_PARAMS and params: |
| 99 | show = False |
| 100 | try: |
| 101 | vm = query_viewmodel( |
| 102 | request, |
| 103 | query, |
| 104 | form=form, |
| 105 | run_query=show, |
| 106 | rows=rows |
| 107 | ) |
| 108 | except InvalidExplorerConnectionException as e: |
| 109 | vm = query_viewmodel( |
| 110 | request, |
| 111 | query, |
| 112 | form=form, |
| 113 | run_query=False, |
| 114 | error=str(e) |
| 115 | ) |
| 116 | fullscreen = url_get_fullscreen(request) |
| 117 | template = "fullscreen" if fullscreen else "query" |
| 118 | return self.render_template( |
| 119 | f"explorer/{template}.html", vm |
| 120 | ) |
| 121 | |
| 122 | def post(self, request, query_id): |
| 123 | if not app_settings.EXPLORER_PERMISSION_CHANGE(request): |