Author: arthurk
Date: 2010-08-15 13:31:48 -0500 (Sun, 15 Aug 2010)
New Revision: 13592

Modified:
   django/branches/soc2010/app-loading/django/contrib/admin/__init__.py
   django/branches/soc2010/app-loading/django/contrib/admin/options.py
   django/branches/soc2010/app-loading/django/contrib/admin/sites.py
   django/branches/soc2010/app-loading/django/core/apps.py
   django/branches/soc2010/app-loading/django/core/management/commands/syncdb.py
   
django/branches/soc2010/app-loading/django/template/loaders/app_directories.py
Log:
[soc2010/app-loading] added verbose_name to app instance and modified admin to 
use it

Modified: django/branches/soc2010/app-loading/django/contrib/admin/__init__.py
===================================================================
--- django/branches/soc2010/app-loading/django/contrib/admin/__init__.py        
2010-08-14 15:50:46 UTC (rev 13591)
+++ django/branches/soc2010/app-loading/django/contrib/admin/__init__.py        
2010-08-15 18:31:48 UTC (rev 13592)
@@ -2,8 +2,8 @@
 from django.contrib.admin.options import ModelAdmin, HORIZONTAL, VERTICAL
 from django.contrib.admin.options import StackedInline, TabularInline
 from django.contrib.admin.sites import AdminSite, site
+from django.core.apps import cache
 
-
 def autodiscover():
     """
     Auto-discover INSTALLED_APPS admin.py modules and fail silently when
@@ -16,8 +16,9 @@
     from django.utils.importlib import import_module
     from django.utils.module_loading import module_has_submodule
 
-    for app in settings.INSTALLED_APPS:
-        mod = import_module(app)
+    for app in cache.installed_apps:
+        app_instance = cache.find_app(app)
+        mod = app_instance.module
         # Attempt to import the app's admin module.
         try:
             before_import_registry = copy.copy(site._registry)

Modified: django/branches/soc2010/app-loading/django/contrib/admin/options.py
===================================================================
--- django/branches/soc2010/app-loading/django/contrib/admin/options.py 
2010-08-14 15:50:46 UTC (rev 13591)
+++ django/branches/soc2010/app-loading/django/contrib/admin/options.py 
2010-08-15 18:31:48 UTC (rev 13592)
@@ -8,6 +8,7 @@
 from django.contrib.admin.util import unquote, flatten_fieldsets, 
get_deleted_objects, model_ngettext, model_format_dict
 from django.contrib import messages
 from django.views.decorators.csrf import csrf_protect
+from django.core.apps import cache
 from django.core.exceptions import PermissionDenied, ValidationError
 from django.db import models, transaction
 from django.db.models.fields import BLANK_CHOICE_DASH
@@ -845,7 +846,7 @@
             'inline_admin_formsets': inline_admin_formsets,
             'errors': helpers.AdminErrorList(form, formsets),
             'root_path': self.admin_site.root_path,
-            'app_label': opts.app_label,
+            'app_label': cache.find_app(opts.app_label).verbose_name,
         }
         context.update(extra_context or {})
         return self.render_change_form(request, context, form_url=form_url, 
add=True)
@@ -937,7 +938,7 @@
             'inline_admin_formsets': inline_admin_formsets,
             'errors': helpers.AdminErrorList(form, formsets),
             'root_path': self.admin_site.root_path,
-            'app_label': opts.app_label,
+            'app_label': cache.find_app(opts.app_label).verbose_name,
         }
         context.update(extra_context or {})
         return self.render_change_form(request, context, change=True, obj=obj)
@@ -1076,7 +1077,7 @@
             'media': media,
             'has_add_permission': self.has_add_permission(request),
             'root_path': self.admin_site.root_path,
-            'app_label': app_label,
+            'app_label': cache.find_app(app_label).verbose_name,
             'action_form': action_form,
             'actions_on_top': self.actions_on_top,
             'actions_on_bottom': self.actions_on_bottom,
@@ -1129,7 +1130,7 @@
             "perms_lacking": perms_needed,
             "opts": opts,
             "root_path": self.admin_site.root_path,
-            "app_label": app_label,
+            "app_label": cache.find_app(app_label).verbose_name,
         }
         context.update(extra_context or {})
         context_instance = template.RequestContext(request, 
current_app=self.admin_site.name)
@@ -1157,7 +1158,7 @@
             'module_name': capfirst(force_unicode(opts.verbose_name_plural)),
             'object': obj,
             'root_path': self.admin_site.root_path,
-            'app_label': app_label,
+            'app_label': cache.find_app(app_label).verbose_name,
         }
         context.update(extra_context or {})
         context_instance = template.RequestContext(request, 
current_app=self.admin_site.name)

Modified: django/branches/soc2010/app-loading/django/contrib/admin/sites.py
===================================================================
--- django/branches/soc2010/app-loading/django/contrib/admin/sites.py   
2010-08-14 15:50:46 UTC (rev 13591)
+++ django/branches/soc2010/app-loading/django/contrib/admin/sites.py   
2010-08-15 18:31:48 UTC (rev 13592)
@@ -5,6 +5,7 @@
 from django.contrib.auth import authenticate, login
 from django.views.decorators.csrf import csrf_protect
 from django.db.models.base import ModelBase
+from django.core.apps import cache
 from django.core.exceptions import ImproperlyConfigured
 from django.core.urlresolvers import reverse
 from django.shortcuts import render_to_response
@@ -371,7 +372,7 @@
                         app_dict[app_label]['models'].append(model_dict)
                     else:
                         app_dict[app_label] = {
-                            'name': app_label.title(),
+                            'name': cache.find_app(app_label).verbose_name,
                             'app_url': app_label + '/',
                             'has_module_perms': has_module_perms,
                             'models': [model_dict],
@@ -415,6 +416,7 @@
         user = request.user
         has_module_perms = user.has_module_perms(app_label)
         app_dict = {}
+        app_instance = cache.find_app(app_label)
         for model, model_admin in self._registry.items():
             if app_label == model._meta.app_label:
                 if has_module_perms:
@@ -435,7 +437,7 @@
                             # something to display, add in the necessary meta
                             # information.
                             app_dict = {
-                                'name': app_label.title(),
+                                'name': app_instance.verbose_name,
                                 'app_url': '',
                                 'has_module_perms': has_module_perms,
                                 'models': [model_dict],
@@ -445,7 +447,7 @@
         # Sort the models alphabetically within each app.
         app_dict['models'].sort(lambda x, y: cmp(x['name'], y['name']))
         context = {
-            'title': _('%s administration') % capfirst(app_label),
+            'title': _('%s administration') % app_instance.verbose_name,
             'app_list': [app_dict],
             'root_path': self.root_path,
         }

Modified: django/branches/soc2010/app-loading/django/core/apps.py
===================================================================
--- django/branches/soc2010/app-loading/django/core/apps.py     2010-08-14 
15:50:46 UTC (rev 13591)
+++ django/branches/soc2010/app-loading/django/core/apps.py     2010-08-15 
18:31:48 UTC (rev 13592)
@@ -3,6 +3,7 @@
 from django.utils.datastructures import SortedDict
 from django.utils.importlib import import_module
 from django.utils.module_loading import module_has_submodule
+from django.utils.translation import ugettext as _
 
 import imp
 import sys
@@ -22,10 +23,15 @@
     """
     def __init__(self, name):
         self.name = name
-        # errors raised when trying to import the app
+        self.verbose_name = _(name.title())
+        self.verbose_name_plural = _(name.title())
         self.errors = []
         self.models = []
+        self.module = None
 
+    def __str__(self):
+        return self.name
+
     def __repr__(self):
         return '<App: %s>' % self.name
 
@@ -127,6 +133,7 @@
             else:
                 app_instance_name = app_name
             app_instance = app_class(app_instance_name)
+            app_instance.module = app_module
             self.app_instances.append(app_instance)
             self.installed_apps.append(app_name)
 

Modified: 
django/branches/soc2010/app-loading/django/core/management/commands/syncdb.py
===================================================================
--- 
django/branches/soc2010/app-loading/django/core/management/commands/syncdb.py   
    2010-08-14 15:50:46 UTC (rev 13591)
+++ 
django/branches/soc2010/app-loading/django/core/management/commands/syncdb.py   
    2010-08-15 18:31:48 UTC (rev 13592)
@@ -2,6 +2,7 @@
 import sys
 
 from django.conf import settings
+from django.core.apps import cache
 from django.core.management.base import NoArgsCommand
 from django.core.management.color import no_style
 from django.core.management.sql import custom_sql_for_model, 
emit_post_sync_signal
@@ -30,7 +31,7 @@
 
         # Import the 'management' module within each installed app, to register
         # dispatcher events.
-        for app_name in settings.INSTALLED_APPS:
+        for app_name in cache.installed_apps:
             try:
                 import_module('.management', app_name)
             except ImportError, exc:

Modified: 
django/branches/soc2010/app-loading/django/template/loaders/app_directories.py
===================================================================
--- 
django/branches/soc2010/app-loading/django/template/loaders/app_directories.py  
    2010-08-14 15:50:46 UTC (rev 13591)
+++ 
django/branches/soc2010/app-loading/django/template/loaders/app_directories.py  
    2010-08-15 18:31:48 UTC (rev 13592)
@@ -8,6 +8,7 @@
 
 from django.conf import settings
 from django.core.exceptions import ImproperlyConfigured
+from django.core.apps import cache
 from django.template import TemplateDoesNotExist
 from django.template.loader import BaseLoader
 from django.utils._os import safe_join
@@ -16,11 +17,9 @@
 # At compile time, cache the directories to search.
 fs_encoding = sys.getfilesystemencoding() or sys.getdefaultencoding()
 app_template_dirs = []
-for app in settings.INSTALLED_APPS:
-    try:
-        mod = import_module(app)
-    except ImportError, e:
-        raise ImproperlyConfigured('ImportError %s: %s' % (app, e.args[0]))
+for app in cache.installed_apps:
+    app_instance = cache.find_app(app)
+    mod = app_instance.module
     template_dir = os.path.join(os.path.dirname(mod.__file__), 'templates')
     if os.path.isdir(template_dir):
         app_template_dirs.append(template_dir.decode(fs_encoding))

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" 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/django-updates?hl=en.

Reply via email to