Django

Code

Show
Ignore:
Timestamp:
07/18/08 16:42:08 (6 months ago)
Author:
brosner
Message:

newforms-admin: Merged from trunk up to [7952].

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/newforms-admin

    • Property svnmerge-integrated changed from /django/trunk:1-4345,4350-4357,4359-4365,4371-4372,4374-4377,4380-4386,4388,4390-4391,4400-4402,4404-4408,4410,4412-4419,4426-4427,4430-4432,4434,4441,4443-4444,4446-4447,4450,4452-4453,4455-4458,4476,4503,4546,4564-4569,4580-4586,4617,4630,4641-6390,6392-7950 to /django/trunk:1-4345,4350-4357,4359-4365,4371-4372,4374-4377,4380-4386,4388,4390-4391,4400-4402,4404-4408,4410,4412-4419,4426-4427,4430-4432,4434,4441,4443-4444,4446-4447,4450,4452-4453,4455-4458,4476,4503,4546,4564-4569,4580-4586,4617,4630,4641-6390,6392-7953
  • django/branches/newforms-admin/tests/regressiontests/views/fixtures/testdata.json

    r6417 r7954  
    11[ 
     2    { 
     3        "pk": "1", 
     4        "model": "auth.user", 
     5        "fields": { 
     6            "username": "testclient", 
     7            "first_name": "Test", 
     8            "last_name": "Client", 
     9            "is_active": true, 
     10            "is_superuser": false, 
     11            "is_staff": false, 
     12            "last_login": "2006-12-17 07:03:31", 
     13            "groups": [], 
     14            "user_permissions": [], 
     15            "password": "sha1$6efc0$f93efe9fd7542f25a7be94871ea45aa95de57161", 
     16            "email": "testclient@example.com", 
     17            "date_joined": "2006-12-17 07:03:31" 
     18        } 
     19    }, 
    220    { 
    321        "pk": 1,  
     
    3048        } 
    3149    },  
    32  
     50        { 
     51        "pk": 1, 
     52        "model": "views.urlarticle", 
     53        "fields": { 
     54            "author": 1, 
     55            "title": "Old Article", 
     56            "slug": "old_article", 
     57            "date_created": "2001-01-01 21:22:23" 
     58        } 
     59    }, 
    3360    { 
    3461        "pk": 1,  
  • django/branches/newforms-admin/tests/regressiontests/views/models.py

    r7351 r7954  
    11""" 
    2 Regression tests for Django built-in views 
     2Regression tests for Django built-in views. 
    33""" 
    44 
    55from django.db import models 
    6 from django.conf import settings 
    76 
    87class Author(models.Model): 
     
    1514        return '/views/authors/%s/' % self.id 
    1615 
    17  
    18 class Article(models.Model): 
     16class BaseArticle(models.Model): 
     17    """ 
     18    An abstract article Model so that we can create article models with and 
     19    without a get_absolute_url method (for create_update generic views tests). 
     20    """ 
    1921    title = models.CharField(max_length=100) 
    2022    slug = models.SlugField() 
    2123    author = models.ForeignKey(Author) 
    2224    date_created = models.DateTimeField() 
    23      
     25 
     26    class Meta: 
     27        abstract = True 
     28 
    2429    def __unicode__(self): 
    2530        return self.title 
    2631 
     32class Article(BaseArticle): 
     33    pass 
     34 
     35class UrlArticle(BaseArticle): 
     36    """ 
     37    An Article class with a get_absolute_url defined. 
     38    """ 
     39    def get_absolute_url(self): 
     40        return '/urlarticles/%s/' % self.slug 
  • django/branches/newforms-admin/tests/regressiontests/views/tests/__init__.py

    r7351 r7954  
    33from static import * 
    44from generic.date_based import * 
     5from generic.create_update import * 
  • django/branches/newforms-admin/tests/regressiontests/views/urls.py

    r7351 r7954  
    55from models import * 
    66import views 
     7 
    78 
    89base_dir = path.dirname(path.abspath(__file__)) 
     
    1516} 
    1617 
    17 date_based_info_dict = {  
    18     'queryset': Article.objects.all(),  
    19     'date_field': 'date_created',  
    20     'month_format': '%m',  
    21 }  
     18date_based_info_dict = { 
     19    'queryset': Article.objects.all(), 
     20    'date_field': 'date_created', 
     21    'month_format': '%m', 
     22} 
    2223 
    2324urlpatterns = patterns('', 
    2425    (r'^$', views.index_page), 
    25      
     26 
    2627    # Default views 
    2728    (r'^shortcut/(\d+)/(.*)/$', 'django.views.defaults.shortcut'), 
    2829    (r'^non_existing_url/', 'django.views.defaults.page_not_found'), 
    2930    (r'^server_error/', 'django.views.defaults.server_error'), 
    30      
     31 
    3132    # i18n views 
    32     (r'^i18n/', include('django.conf.urls.i18n')),     
     33    (r'^i18n/', include('django.conf.urls.i18n')), 
    3334    (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict), 
    34      
     35 
    3536    # Static views 
    3637    (r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': media_dir}), 
    37      
    38         # Date-based generic views 
    39     (r'^date_based/object_detail/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<slug>[-\w]+)/$',  
    40         'django.views.generic.date_based.object_detail',  
    41         dict(slug_field='slug', **date_based_info_dict)),  
    42     (r'^date_based/object_detail/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<slug>[-\w]+)/allow_future/$',  
    43         'django.views.generic.date_based.object_detail',  
    44         dict(allow_future=True, slug_field='slug', **date_based_info_dict)),  
    45     (r'^date_based/archive_month/(?P<year>\d{4})/(?P<month>\d{1,2})/$',  
    46         'django.views.generic.date_based.archive_month',  
    47         date_based_info_dict),      
    4838) 
     39 
     40# Date-based generic views. 
     41urlpatterns += patterns('django.views.generic.date_based', 
     42    (r'^date_based/object_detail/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<slug>[-\w]+)/$', 
     43        'object_detail', 
     44        dict(slug_field='slug', **date_based_info_dict)), 
     45    (r'^date_based/object_detail/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<slug>[-\w]+)/allow_future/$', 
     46        'object_detail', 
     47        dict(allow_future=True, slug_field='slug', **date_based_info_dict)), 
     48    (r'^date_based/archive_month/(?P<year>\d{4})/(?P<month>\d{1,2})/$', 
     49        'archive_month', 
     50        date_based_info_dict), 
     51) 
     52 
     53# crud generic views. 
     54 
     55urlpatterns += patterns('django.views.generic.create_update', 
     56    (r'^create_update/member/create/article/$', 'create_object', 
     57        dict(login_required=True, model=Article)), 
     58    (r'^create_update/create/article/$', 'create_object', 
     59        dict(post_save_redirect='/views/create_update/view/article/%(slug)s/', 
     60             model=Article)), 
     61    (r'^create_update/update/article/(?P<slug>[-\w]+)/$', 'update_object', 
     62        dict(post_save_redirect='/views/create_update/view/article/%(slug)s/', 
     63             slug_field='slug', model=Article)), 
     64    (r'^create_update/create_custom/article/$', views.custom_create), 
     65    (r'^create_update/delete/article/(?P<slug>[-\w]+)/$', 'delete_object', 
     66        dict(post_delete_redirect='/views/create_update/', slug_field='slug', 
     67             model=Article)), 
     68 
     69    # No post_save_redirect and no get_absolute_url on model. 
     70    (r'^create_update/no_redirect/create/article/$', 'create_object', 
     71        dict(model=Article)), 
     72    (r'^create_update/no_redirect/update/article/(?P<slug>[-\w]+)/$', 
     73        'update_object', dict(slug_field='slug', model=Article)), 
     74 
     75    # get_absolute_url on model, but no passed post_save_redirect. 
     76    (r'^create_update/no_url/create/article/$', 'create_object', 
     77        dict(model=UrlArticle)), 
     78    (r'^create_update/no_url/update/article/(?P<slug>[-\w]+)/$', 
     79        'update_object', dict(slug_field='slug', model=UrlArticle)), 
     80) 
  • django/branches/newforms-admin/tests/regressiontests/views/views.py

    r7351 r7954  
    11from django.http import HttpResponse 
     2import django.newforms as forms 
     3from django.views.generic.create_update import create_object 
     4 
     5from models import Article 
     6 
    27 
    38def index_page(request): 
    49    """Dummy index page""" 
    510    return HttpResponse('<html><body>Dummy page</body></html>') 
     11 
     12 
     13def custom_create(request): 
     14    """ 
     15    Calls create_object generic view with a custom form class. 
     16    """ 
     17    class SlugChangingArticleForm(forms.ModelForm): 
     18        """Custom form class to overwrite the slug.""" 
     19 
     20        class Meta: 
     21            model = Article 
     22 
     23        def save(self, *args, **kwargs): 
     24            self.cleaned_data['slug'] = 'some-other-slug' 
     25            return super(SlugChangingArticleForm, self).save(*args, **kwargs) 
     26 
     27    return create_object(request, 
     28        post_save_redirect='/views/create_update/view/article/%(slug)s/', 
     29        form_class=SlugChangingArticleForm)