Stops relying on a form
This commit is contained in:
		
							parent
							
								
									ed2327bedd
								
							
						
					
					
						commit
						6a37134172
					
				
					 3 changed files with 10 additions and 24 deletions
				
			
		|  | @ -81,16 +81,3 @@ def model_fields_form_factory(model): | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|     return ModelFieldsForm |     return ModelFieldsForm | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| class SectionContentTypeForm(forms.Form): |  | ||||||
|     section = forms.IntegerField( |  | ||||||
|         required=False, |  | ||||||
|         min_value=0, |  | ||||||
|         widget=forms.HiddenInput(), |  | ||||||
|     ) |  | ||||||
| 
 |  | ||||||
|     content_type = forms.CharField( |  | ||||||
|         required=False, |  | ||||||
|         widget=forms.HiddenInput(), |  | ||||||
|     ) |  | ||||||
|  |  | ||||||
|  | @ -216,10 +216,6 @@ class ReportView(object): | ||||||
| 
 | 
 | ||||||
|     def __init__(self, inner_view, title, form_type): |     def __init__(self, inner_view, title, form_type): | ||||||
|         # Consolidate form_type so it has content type and section |         # Consolidate form_type so it has content type and section | ||||||
|         bases = [forms.SectionContentTypeForm, form_type] |  | ||||||
|         bases = [base for base in bases if base is not None] |  | ||||||
|         form_type = forms.mix_form(*bases) |  | ||||||
| 
 |  | ||||||
|         self.inner_view = inner_view |         self.inner_view = inner_view | ||||||
|         self.title = title |         self.title = title | ||||||
|         self.form_type = form_type |         self.form_type = form_type | ||||||
|  | @ -254,7 +250,7 @@ class ReportView(object): | ||||||
|         renderers = { |         renderers = { | ||||||
|             "text/csv": self._render_as_csv, |             "text/csv": self._render_as_csv, | ||||||
|             "text/html": self._render_as_html, |             "text/html": self._render_as_html, | ||||||
|             "": self._render_as_html, |             None: self._render_as_html, | ||||||
|         } |         } | ||||||
|         render = renderers[data.content_type] |         render = renderers[data.content_type] | ||||||
|         return render(data) |         return render(data) | ||||||
|  | @ -292,9 +288,10 @@ class ReportViewRequestData(object): | ||||||
|         # Calculate other data |         # Calculate other data | ||||||
|         self.form = report_view.get_form(request) |         self.form = report_view.get_form(request) | ||||||
| 
 | 
 | ||||||
|         # Content type and section come from the form |         # Content type and section come from request.GET | ||||||
|         self.content_type = self.form.cleaned_data["content_type"] |         self.content_type = request.GET.get("content_type") | ||||||
|         self.section = self.form.cleaned_data["section"] |         self.section = request.GET.get("section") | ||||||
|  |         self.section = int(self.section) if self.section else None | ||||||
| 
 | 
 | ||||||
|         # Reports come from calling the inner view |         # Reports come from calling the inner view | ||||||
|         reports = report_view.inner_view(request, self.form, *a, **k) |         reports = report_view.inner_view(request, self.form, *a, **k) | ||||||
|  |  | ||||||
|  | @ -80,9 +80,11 @@ def items_purchased(context, category=None): | ||||||
| @register.assignment_tag(takes_context=True) | @register.assignment_tag(takes_context=True) | ||||||
| def report_as_csv(context, section): | def report_as_csv(context, section): | ||||||
| 
 | 
 | ||||||
|     query = dict(context.request.GET) |     old_query = context.request.META["QUERY_STRING"] | ||||||
|     query["section"] = section |     query = dict([("section", section), ("content_type", "text/csv")]) | ||||||
|     query["content_type"] = "text/csv" |  | ||||||
|     querystring = urlencode(query) |     querystring = urlencode(query) | ||||||
| 
 | 
 | ||||||
|  |     if old_query: | ||||||
|  |         querystring = old_query + "&" + querystring | ||||||
|  | 
 | ||||||
|     return context.request.path + "?" + querystring |     return context.request.path + "?" + querystring | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christopher Neugebauer
						Christopher Neugebauer