def model_view(self, request, model_databrowse, url): # If the object ID wasn't provided, redirect to the model page, which is one level up. if url is None: return http.HttpResponseRedirect(urlparse.urljoin(request.path, '../')) easy_model = EasyModel(model_databrowse.site, model_databrowse.model) obj = easy_model.object_by_pk(url) return render_to_response('databrowse/object_detail.html', {'object': obj, 'root_url': model_databrowse.site.root_url})
def model_view(self, request, model_databrowse, url): # If the object ID wasn't provided, redirect to the model page, which is one level up. if url is None: return http.HttpResponseRedirect(urljoin(request.path, '../')) easy_model = EasyModel(model_databrowse.site, model_databrowse.model) obj = easy_model.object_by_pk(url) return render_to_response('databrowse/object_detail.html', {'object': obj, 'root_url': model_databrowse.site.root_url})
def field_view(self, request, field, value=None): easy_model = EasyModel(self.site, self.model) easy_field = easy_model.field(field.name) if value is not None: obj_list = easy_model.objects(**{field.name: value}) return render_to_response( 'databrowse/fieldchoice_detail.html', { 'root_url': self.site.root_url, 'model': easy_model, 'field': easy_field, 'value': value, 'object_list': obj_list }) obj_list = [ v[field.name] for v in self.model._default_manager.distinct().order_by( field.name).values(field.name) ] return render_to_response( 'databrowse/fieldchoice_list.html', { 'root_url': self.site.root_url, 'model': easy_model, 'field': easy_field, 'object_list': obj_list })
def field_view(self, request, field, value=None): easy_model = EasyModel(self.site, self.model) easy_field = easy_model.field(field.name) if value is not None: obj_list = easy_model.objects(**{field.name: value}) return render_to_response('databrowse/fieldchoice_detail.html', {'root_url': self.site.root_url, 'model': easy_model, 'field': easy_field, 'value': value, 'object_list': obj_list}) obj_list = [v[field.name] for v in self.model._default_manager.distinct().order_by(field.name).values(field.name)] return render_to_response('databrowse/fieldchoice_list.html', {'root_url': self.site.root_url, 'model': easy_model, 'field': easy_field, 'object_list': obj_list})
def calendar_view(self, request, field, year=None, month=None, day=None): easy_model = EasyModel(self.site, self.model) queryset = easy_model.get_query_set() extra_context = { 'root_url': self.site.root_url, 'model': easy_model, 'field': field } if day is not None: return date_based.archive_day( request, year, month, day, queryset, field.name, template_name='databrowse/calendar_day.html', allow_empty=False, allow_future=True, extra_context=extra_context) elif month is not None: return date_based.archive_month( request, year, month, queryset, field.name, template_name='databrowse/calendar_month.html', allow_empty=False, allow_future=True, extra_context=extra_context) elif year is not None: return date_based.archive_year( request, year, queryset, field.name, template_name='databrowse/calendar_year.html', allow_empty=False, allow_future=True, extra_context=extra_context) else: return date_based.archive_index( request, queryset, field.name, template_name='databrowse/calendar_main.html', allow_empty=True, allow_future=True, extra_context=extra_context) assert False, ('%s, %s, %s, %s' % (field, year, month, day))
def calendar_view(self, request, field, year=None, month=None, day=None): easy_model = EasyModel(self.site, self.model) queryset = easy_model.get_query_set() extra_context = {"root_url": self.site.root_url, "model": easy_model, "field": field} if day is not None: return date_based.archive_day( request, year, month, day, queryset, field.name, template_name="databrowse/calendar_day.html", allow_empty=False, allow_future=True, extra_context=extra_context, ) elif month is not None: return date_based.archive_month( request, year, month, queryset, field.name, template_name="databrowse/calendar_month.html", allow_empty=False, allow_future=True, extra_context=extra_context, ) elif year is not None: return date_based.archive_year( request, year, queryset, field.name, template_name="databrowse/calendar_year.html", allow_empty=False, allow_future=True, extra_context=extra_context, ) else: return date_based.archive_index( request, queryset, field.name, template_name="databrowse/calendar_main.html", allow_empty=True, allow_future=True, extra_context=extra_context, ) assert False, "%s, %s, %s, %s" % (field, year, month, day)
def main_view(self, request): easy_model = EasyModel(self.site, self.model) html_snippets = mark_safe(u'\n'.join([p.model_index_html(request, self.model, self.site) for p in self.plugins.values()])) return render_to_response('databrowse/model_detail.html', { 'model': easy_model, 'root_url': self.site.root_url, 'plugin_html': html_snippets, })
def homepage_view(self, request): easy_model = EasyModel(self.site, self.model) field_list = self.fields.values() field_list.sort(key=lambda k:k.verbose_name) return render_to_response('databrowse/calendar_homepage.html', { 'root_url': self.site.root_url, 'model': easy_model, 'field_list': field_list })
def calendar_view(self, request, field, year=None, month=None, day=None): easy_model = EasyModel(self.site, self.model) root_url = self.site.root_url if day is not None: return DayView.as_view( year=year, month=month, day=day, date_field=field.name, queryset=easy_model.get_query_set(), root_url=root_url, model=easy_model, field=field, )(request) elif month is not None: return MonthView.as_view( year=year, month=month, date_field=field.name, queryset=easy_model.get_query_set(), root_url=root_url, model=easy_model, field=field, )(request) elif year is not None: return YearView.as_view( year=year, date_field=field.name, queryset=easy_model.get_query_set(), root_url=root_url, model=easy_model, field=field, )(request) else: return IndexView.as_view( date_field=field.name, queryset=easy_model.get_query_set(), root_url=root_url, model=easy_model, field=field, )(request) assert False, "%s, %s, %s, %s" % (field, year, month, day)
def homepage_view(self, request): easy_model = EasyModel(self.site, self.model) field_list = self.fields.values() field_list.sort(lambda x, y: cmp(x.verbose_name, y.verbose_name)) return render_to_response( 'databrowse/fieldchoice_homepage.html', { 'root_url': self.site.root_url, 'model': easy_model, 'field_list': field_list })
def field_view(self, request, field, value=None): easy_model = EasyModel(self.site, self.model) easy_field = easy_model.field(field.name) if value is not None: obj_list = easy_model.objects(**{field.name: value}) return render_to_response( "databrowse/fieldchoice_detail.html", { "root_url": self.site.root_url, "model": easy_model, "field": easy_field, "value": value, "object_list": obj_list, }, ) obj_list = [ v[field.name] for v in self.model._default_manager.distinct().order_by(field.name).values(field.name) ] return render_to_response( "databrowse/fieldchoice_list.html", {"root_url": self.site.root_url, "model": easy_model, "field": easy_field, "object_list": obj_list}, )
def calendar_view(self, request, field, year=None, month=None, day=None): easy_model = EasyModel(self.site, self.model) extra_context = { 'root_url': self.site.root_url, 'model': easy_model, 'field': field } if day is not None: # TODO: The objects in this template should be EasyInstances return date_based.archive_day( request, year, month, day, self.model.objects.all(), field.name, template_name='databrowse/calendar_day.html', allow_empty=False, allow_future=True, extra_context=extra_context) elif month is not None: return date_based.archive_month( request, year, month, self.model.objects.all(), field.name, template_name='databrowse/calendar_month.html', allow_empty=False, allow_future=True, extra_context=extra_context) elif year is not None: return date_based.archive_year( request, year, self.model.objects.all(), field.name, template_name='databrowse/calendar_year.html', allow_empty=False, allow_future=True, extra_context=extra_context) else: return date_based.archive_index( request, self.model.objects.all(), field.name, template_name='databrowse/calendar_main.html', allow_empty=True, allow_future=True, extra_context=extra_context) assert False, ('%s, %s, %s, %s' % (field, year, month, day))
def calendar_view(self, request, field, year=None, month=None, day=None): easy_model = EasyModel(self.site, self.model) root_url = self.site.root_url if day is not None: return DayView.as_view( year=year, month=month, day=day, date_field=field.name, queryset=easy_model.get_query_set(), root_url=root_url, model=easy_model, field=field )(request) elif month is not None: return MonthView.as_view( year=year, month=month, date_field=field.name, queryset=easy_model.get_query_set(), root_url=root_url, model=easy_model, field=field )(request) elif year is not None: return YearView.as_view( year=year, date_field=field.name, queryset=easy_model.get_query_set(), root_url=root_url, model=easy_model, field=field )(request) else: return IndexView.as_view( date_field=field.name, queryset=easy_model.get_query_set(), root_url=root_url, model=easy_model, field=field )(request) assert False, ('%s, %s, %s, %s' % (field, year, month, day))
def index(self, request): m_list = [EasyModel(self, m) for m in self.registry.keys()] return render_to_response('databrowse/homepage.html', { 'model_list': m_list, 'root_url': self.root_url })