Example #1
0
 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})
Example #2
0
 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})
Example #3
0
 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
         })
Example #4
0
 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})
Example #5
0
 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,
     })
Example #8
0
 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
         })
Example #9
0
    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)
Example #10
0
 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
         })
Example #11
0
 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},
     )
Example #12
0
 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))
Example #13
0
    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))
Example #14
0
 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
     })