Thanks for the response. I actually found your blog before asking, but
I was unable to make it work.
Here is my app containing your blog method:
admin.py>
from django.contrib import admin
from product.models import Product
from mystore.stones.models import Stone
from livesettings import config_value
from product.admin import ProductAttribute_Inline, Price_Inline, \
ProductImage_Inline, ProductTranslation_Inline, ProductOptions
class Stone_Inline(admin.StackedInline):
model = Stone
extra = 1
class StoneOptions(ProductOptions):
exclude = ('slug', 'sku', 'meta', 'length', 'length_units',
'width', 'width_units', 'height', 'height_units',
'weight_units', 'related_items', 'also_purchased',
'date_added', 'taxable', 'taxClass', 'shipclass',
'site',)
fieldsets = (
(None, {'fields': ('name', 'category', 'description',
'short_description', 'weight', 'active', 'featured',
'items_in_stock', 'total_sold','ordering',)}),
)
list_display = ('name', 'items_in_stock', 'unit_price')
list_display_links = ('name',)
search_fields = ['name', 'description', 'short_description']
inlines = [Stone_Inline, Price_Inline, ProductImage_Inline]
filter_horizontal = ('category',)
if config_value('LANGUAGE','SHOW_TRANSLATIONS'):
inlines.append(ProductTranslation_Inline)
admin.site.unregister(Product)
admin.site.register(Product, StoneOptions)
--------------
models.py>
from django.db import models
from django.utils.translation import ugettext_lazy as _
import django.db.models.signals as djangosignals
from product.models import Product
from satchmo_store.contact.models import Organization
class Stone(models.Model):
product = models.OneToOneField(Product, verbose_name=_('Base
Product'))
code = models.CharField(verbose_name=_('Code'), max_length=32,
blank=True, null=True)
suplier = models.ManyToManyField(Organization, verbose_name=_
('Supplier'), blank=True, null=True)
def _get_subtype(self): return 'Stone'
def __unicode__(self):
if self.code:
return u"%s [%s]" % (self.product.name, self.code)
else:
return u'%s' % self.product.name
class Admin: pass
class Meta:
verbose_name = _('Stone')
verbose_name_plural = _('Stones')
import config
from satchmo_store.shop import get_satchmo_setting, signals
from listeners import *
djangosignals.pre_save.connect(product_pre_save, sender = Product)
-------------
config.py>
from django.utils.translation import ugettext_lazy as _
from livesettings import config_get
PRODUCT_TYPES = config_get('PRODUCT', 'PRODUCT_TYPES')
PRODUCT_TYPES.add_choice(('mystore.stones::Stone', _('Stone')))
---------
And of course settings.py has it in the installed apps.
RESULTS:
There is no extra module named "Stones", unlike following the satchmo
documentation (good). In site settings/product settings, I can see
"Stones". Selecting ONLY stones and clicking "save" gets me this
message:
Tue, 11 Aug 2009 12:01:08 configuration INFO Updated setting
PRODUCT.PRODUCT_TYPES = [u'mystore.stones::Stone']
However my "Products" module still has the same old list:
Categories
Configurable Products
Custom Products
Custom text fields
Discounts
Downloadable Products
Option Groups
Option Items
Product variations
Products
Subscription Products
Tax Classes
So, 3 issues:
1.) Is there a problem in my rendition of your blog code, which causes
"Stones" not to show under "Products"?
2.) Why does the "Products" list in admin never update? It's always
the same, no matter what I choose in "site settings"!
3.) Is it like that for everyone? If so, what is the purpose of site
settings/product settings?
Sorry for the huge code dump, and thanks again.
On Aug 11, 1:11 am, Juanjo <[email protected]> wrote:
> Hobi,
>
> Check what I did, which works for me, using admin inlines and
> unregistering and re-registering the ProductOptions model:
>
> http://juanjoalvarez.net/es/detail/2009/jul/27/why-bad-idea-tm-overri...
>
> On 10 ago, 21:53, hobi <[email protected]> wrote:
>
> > Very sorry if this is a duplicate post (I can't find the last one I
> > submitted an hour ago)
>
> > I followed the directions
> > here:http://www.satchmoproject.com/docs/svn/custom-product.html
> > In addition, I added the app to settings.py, and I imported config in
> > model.py
>
> > I now see "MyNewProduct" as it's own module, which although was not my
> > intended goal, does make perfect sense, since admin.py says:
>
> > admin.site.register(MyNewProduct)
>
> > However I expected it to show up in the "products" module. So after
> > selecting my new product, and ONLY my new product in the site settings/
> > product settings, I went back to localhost:8000/admin/product, where I
> > found that the new product was not there. In fact, nothing had changed
> > at all. It lists:
>
> > Categories
> > Configurable Products
> > Custom Products
> > Custom text fields
> > Discounts
> > Downloadable Products
> > Option Groups
> > Option Items
> > Product variations
> > Products
> > Subscription Products
> > Tax Classes
>
> > This problem occurs whether or not I load my custom product. No matter
> > what I select in settings for products, the product module always
> > contains that entire list. So it's completely ignoring whatever I set
> > in /admin/settings. I was expecting it to change.
>
> > I suspect these two problems are related. Did I stumble upon a bug, in
> > that the following are ignored:
>
> > settings.py>
> > 'CUSTOM_PRODUCT_MODULES' : ['mystore.MyNewProduct',],
>
> > MyNewProduct/config.py>
> > PRODUCT_TYPES.add_choice(('mystore.MyNewProduct::MyNewProduct', _('My
> > New Product')))
>
> > Or is there a probable error that I have made?
>
> > Thanks in advance
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Satchmo users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/satchmo-users?hl=en
-~----------~----~----~----~------~----~------~--~---