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
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