My 2 cents is that we should just focus on compatibility with Mezzanine 4
for the next release, and perhaps we can look at translatable prices after
that, so we should just make the setting non-editable (and therefor
non-translatable) for now, which is what I've done.

On Wed, Jul 15, 2015 at 1:41 AM, Mathias Ettinger <
[email protected]> wrote:

> That’s exactly it. It was kind of obvious for me when I created
> translatable settings that this one should be translatable too. But it was
> less and less as time passed. But we never really discussed about it.
>
> Given how this field and modeltranslation are working, I don't think
> anything will break by letting this setting translatable. However, I don't
> find it useful anymore to keep it that way. It can only make sense if staff
> users are able to provide different prices for different languages. So that
> each language has its own price, own formating, and own currency symbol.
>
> We should either implement the latter or remove the former to avoid
> confusions.
>
>
> Le lundi 13 juillet 2015 08:19:11 UTC+2, Stephen McDonald a écrit :
>>
>> Loosely in my head it shouldn't be, since it's something that needs to be
>> coordinated with system administration tasks (installing locale on the
>> server etc).
>>
>> I'm guessing Mathias made it editable in order to make it translatable,
>> which in theory would allow for multiple currencies - I vaguely recall a
>> conversation around this as well but I don't think we explored it too much.
>>
>> Thinking more about it, it probably won't work - the MoneyField (which
>> all monetary values in the DB use) uses the locale to determine the
>> precision of its underlying DecimalField - I'm pretty sure that setup would
>> break in conjunction with modeltranslation.
>>
>> On Mon, Jul 13, 2015 at 3:11 PM, Danny <[email protected]> wrote:
>>
>>> Thanks Stephen.
>>>
>>> Wasn't the SHOP_CURRENCY_LOCALE made editable for a reason? Personally I
>>> don't mind either way, but in the 0.9.5. tag it's not editable, but on
>>> master it was, so I'm assuming that was changed for a reason.
>>>
>>> Maybe see
>>>
>>> https://github.com/stephenmcd/cartridge/commit/79c611bd318ec095073c3b9a729b2bfa7fb4405b#diff-d3220a9516c6f9328cd3c424de02a7ef
>>> for the change?
>>>
>>> Mathias, you made this change, want to comment?
>>>
>>>
>>> Seeya. Danny.
>>>
>>> On 13 July 2015 at 15:35, Stephen McDonald <[email protected]> wrote:
>>>
>>>> Fixed here:
>>>> https://github.com/stephenmcd/cartridge/commit/c6aa87003d41ee203f5070f6601c81b844047e94
>>>>
>>>> On Mon, Jul 13, 2015 at 2:56 PM, Stephen McDonald <[email protected]>
>>>> wrote:
>>>>
>>>>> I can confirm this bug - the demo site doesn't hit it as it defines
>>>>> the SHOP_CURRENCY_LOCALE setting in its settings module.
>>>>>
>>>>> On Sat, Jul 11, 2015 at 11:49 AM, Danny <[email protected]> wrote:
>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> I was wondering if anyone could help me!
>>>>>>
>>>>>> I've tried the new Mezzanine 4.0 release with cartridge master (which
>>>>>> Stephen said should work) and am getting AppRegistryNotReady exception 
>>>>>> from
>>>>>> shop.models.Priced():
>>>>>>
>>>>>> BACKTRACE:
>>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>> /home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/mezzanine/utils/conf.py:51:
>>>>>> UserWarning: You haven't defined the ALLOWED_HOSTS settings, which Django
>>>>>> requires. Will fall back to the domains configured as sites.
>>>>>>   warn("You haven't defined the ALLOWED_HOSTS settings, which "
>>>>>> /home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/mezzanine/generic/fields.py:6:
>>>>>> RemovedInDjango19Warning: django.contrib.contenttypes.generic is 
>>>>>> deprecated
>>>>>> and will be removed in Django 1.9. Its contents have been moved to the
>>>>>> fields, forms, and admin submodules of django.contrib.contenttypes.
>>>>>>   from django.contrib.contenttypes.generic import GenericRelation
>>>>>>
>>>>>> Traceback (most recent call last):
>>>>>>   File "manage.py", line 14, in <module>
>>>>>>     execute_from_command_line(sys.argv)
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/django/core/management/__init__.py",
>>>>>> line 338, in execute_from_command_line
>>>>>>     utility.execute()
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/django/core/management/__init__.py",
>>>>>> line 312, in execute
>>>>>>     django.setup()
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/django/__init__.py",
>>>>>> line 18, in setup
>>>>>>     apps.populate(settings.INSTALLED_APPS)
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/django/apps/registry.py",
>>>>>> line 108, in populate
>>>>>>     app_config.import_models(all_models)
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/django/apps/config.py",
>>>>>> line 198, in import_models
>>>>>>     self.models_module = import_module(models_module_name)
>>>>>>   File "/usr/lib/python2.7/importlib/__init__.py", line 37, in
>>>>>> import_module
>>>>>>     __import__(name)
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/src/cartridge/cartridge/shop/models.py",
>>>>>> line 35, in <module>
>>>>>>     class Priced(models.Model):
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/src/cartridge/cartridge/shop/models.py",
>>>>>> line 41, in Priced
>>>>>>     unit_price = fields.MoneyField(_("Unit price"))
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/src/cartridge/cartridge/shop/fields.py",
>>>>>> line 46, in __init__
>>>>>>     set_locale()
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/src/cartridge/cartridge/shop/utils.py", 
>>>>>> line
>>>>>> 103, in set_locale
>>>>>>     currency_locale = str(settings.SHOP_CURRENCY_LOCALE)
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/mezzanine/conf/__init__.py",
>>>>>> line 236, in __getattr__
>>>>>>     editable_cache = self._get_editable(request=self._current_request)
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/mezzanine/conf/__init__.py",
>>>>>> line 152, in _get_editable
>>>>>>     editable_settings = self._editable_caches[request] = self._load()
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/mezzanine/conf/__init__.py",
>>>>>> line 191, in _load
>>>>>>     for setting_obj in Setting.objects.all():
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/django/db/models/manager.py",
>>>>>> line 228, in all
>>>>>>     return self.get_queryset()
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/mezzanine/core/managers.py",
>>>>>> line 349, in get_queryset
>>>>>>     return super(DjangoCSM, self).get_queryset().filter(**lookup)
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/django/db/models/query.py",
>>>>>> line 679, in filter
>>>>>>     return self._filter_or_exclude(False, *args, **kwargs)
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/django/db/models/query.py",
>>>>>> line 697, in _filter_or_exclude
>>>>>>     clone.query.add_q(Q(*args, **kwargs))
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/django/db/models/sql/query.py",
>>>>>> line 1309, in add_q
>>>>>>     clause, require_inner = self._add_q(where_part, self.used_aliases)
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/django/db/models/sql/query.py",
>>>>>> line 1337, in _add_q
>>>>>>     allow_joins=allow_joins, split_subq=split_subq,
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/django/db/models/sql/query.py",
>>>>>> line 1149, in build_filter
>>>>>>     lookups, parts, reffed_expression = self.solve_lookup_type(arg)
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/django/db/models/sql/query.py",
>>>>>> line 1035, in solve_lookup_type
>>>>>>     _, field, _, lookup_parts = self.names_to_path(lookup_splitted,
>>>>>> self.get_meta())
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/django/db/models/sql/query.py",
>>>>>> line 1372, in names_to_path
>>>>>>     if field.is_relation and not field.related_model:
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/django/utils/functional.py",
>>>>>> line 60, in __get__
>>>>>>     res = instance.__dict__[self.name] = self.func(instance)
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/django/db/models/fields/related.py",
>>>>>> line 110, in related_model
>>>>>>     apps.check_models_ready()
>>>>>>   File
>>>>>> "/home/danny/.virtualenvs/mez4/local/lib/python2.7/site-packages/django/apps/registry.py",
>>>>>> line 131, in check_models_ready
>>>>>>     raise AppRegistryNotReady("Models aren't loaded yet.")
>>>>>> django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
>>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>
>>>>>> What I did to set up:
>>>>>>
>>>>>> mkvirtualenv mez4
>>>>>> pip install mezzanine
>>>>>> pip install -e git+
>>>>>> https://github.com/stephenmcd/cartridge.git@master#egg=cartridge
>>>>>> mezzanine-project mez4  (NB not with cartridge template, as it hasn't
>>>>>> been updated yet)
>>>>>>
>>>>>> Edits to mez4/settings.py:
>>>>>>
>>>>>> INSTALLED_APPS = {
>>>>>>    ...
>>>>>>    "django.contrib.staticfiles",
>>>>>>    "cartridge.shop",
>>>>>>    "mezzanine.boot",
>>>>>>    ...
>>>>>> }
>>>>>>
>>>>>> MIDDLEWARE_CLASSES = {
>>>>>>    ...
>>>>>>    "django.middleware.clickjacking.XFrameOptionsMiddleware",
>>>>>>    "cartridge.shop.middleware.ShopMiddleware",
>>>>>>    "mezzanine.core.request.CurrentRequestMiddleware",
>>>>>>    ...
>>>>>> }
>>>>>>
>>>>>> And finally:
>>>>>> python manage.py createdb
>>>>>>
>>>>>> which gives the above backtrace. (in fact, any manage.py command
>>>>>> gives the same backtrace).
>>>>>>
>>>>>> Thanks for any help...
>>>>>>
>>>>>> Seeya. Danny.
>>>>>>
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "Mezzanine Users" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Stephen McDonald
>>>>> http://jupo.org
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Stephen McDonald
>>>> http://jupo.org
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Mezzanine Users" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Mezzanine Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Stephen McDonald
>> http://jupo.org
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Mezzanine Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Stephen McDonald
http://jupo.org

-- 
You received this message because you are subscribed to the Google Groups 
"Mezzanine Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to