示例#1
0
    def get_form_repr(self):
        """
        :return: form representation of CSV file for use in add products view
        """
        forms = []
        lang_id = self.shop.api.default_lang
        categories = dict(self.shop.api.get_categories())
        for order, line in enumerate(self.lines):
            name, category, price, quantity, desc = line.split(',')

            #Select proper category
            if str(category) not in categories.keys():
                for k, v in categories.items():
                    if str(category).lower() == v.lower():
                        category = k
                        break

            form = AttrDict(cleaned_data={})
            form.cleaned_data = dict(langs = [dict(id=lang_id, name=name,
                                                      link_rewrite=slugify2(name),
                                                      product_desc=desc,
                                                      product_desc_short=desc)],
                                   quantity = quantity, price= price,
                                   categories = [category], order=order)
            forms.append(form)
        return forms
示例#2
0
    def clean(self):
        lang_id = self.shop.api.default_lang
        data = self.cleaned_data

        if data.get('name') and data.get('category'):
            name = data.pop('name')
            # Only one language for now
            data['langs'] = [{'id':lang_id, 'name':name, 'link_rewrite':slugify2(name),
                              'product_desc':data.get('description'),
                              'product_desc_short':data.get('description')}]
            data['categories'] = [data.pop('category')]
        return data