예제 #1
0
파일: __init__.py 프로젝트: zarlant/shuup
 def dispatch(self, request, *args, **kwargs):
     module_str = "%s:%s" % (request.GET.get("module"),
                             request.GET.get("model"))
     self.return_url = request.GET.get("return_url")
     self.model = load(module_str)
     self.settings = ViewSettings(self.model, [])
     return super(ListSettingsView, self).dispatch(request, *args, **kwargs)
예제 #2
0
    def __init__(self):
        super(PicotableListView, self).__init__()
        if self.mass_actions:
            self.default_columns = [
                Column("select",
                       "",
                       display="",
                       sortable=False,
                       linked=False,
                       class_name="text-center"),
            ] + self.default_columns

        self.settings = ViewSettings(self.model, self.default_columns)

        if self.mass_actions:
            if self.settings.columns:
                # settings.columns never have this empty one
                self.columns = [
                    Column(
                        "select", "", display="", sortable=False,
                        linked=False),  # empty column for selects
                ] + self.settings.columns
            else:
                self.columns = self.default_columns
        else:
            self.columns = (self.settings.columns or self.default_columns)
예제 #3
0
 def process(self, request, ids):
     view_settings = ViewSettings(Product, [])
     response = HttpResponse(content_type='text/csv')
     response['Content-Disposition'] = 'attachment; filename="products.csv"'
     writer = csv.writer(response, delimiter=";", encoding='utf-8')
     writer.writerow([col.title for col in view_settings.columns])
     for product in Product.objects.filter(id__in=ids):
         row = []
         for dr in [col.id for col in view_settings.columns]:
             row.append(getattr(product, dr))
         writer.writerow(row)
     return response
예제 #4
0
 def dispatch(self, request, *args, **kwargs):
     module_str = "%s:%s" % (request.GET.get("module"),
                             request.GET.get("model"))
     self.return_url = reverse("shuup_admin:%s.list" %
                               request.GET.get("return_url"))
     match = resolve(self.return_url)
     default_columns = load(
         "%s:%s" %
         (match.func.__module__, match.func.__name__)).default_columns
     self.model = load(module_str)
     self.settings = ViewSettings(self.model, default_columns)
     return super(ListSettingsView, self).dispatch(request, *args, **kwargs)
예제 #5
0
 def __init__(self):
     super(PicotableListView, self).__init__()
     self.settings = ViewSettings(self.model, self.default_columns)
     self.columns = (self.settings.columns or self.default_columns)