Changeset 4242 for django/branches/per-object-permissions
- Timestamp:
- 12/26/06 20:49:28 (2 years ago)
- Files:
-
- django/branches/per-object-permissions/AUTHORS (modified) (3 diffs)
- django/branches/per-object-permissions/django/conf/global_settings.py (modified) (1 diff)
- django/branches/per-object-permissions/django/conf/project_template/settings.py (modified) (1 diff)
- django/branches/per-object-permissions/django/conf/project_template/urls.py (modified) (1 diff)
- django/branches/per-object-permissions/django/contrib/admin/templates/admin/base.html (modified) (1 diff)
- django/branches/per-object-permissions/django/contrib/admin/templates/admin/change_form.html (modified) (2 diffs)
- django/branches/per-object-permissions/django/contrib/admin/templates/admin/change_list.html (modified) (1 diff)
- django/branches/per-object-permissions/django/contrib/admin/templates/admin/search_form.html (modified) (1 diff)
- django/branches/per-object-permissions/django/contrib/admin/views/auth.py (modified) (2 diffs)
- django/branches/per-object-permissions/django/contrib/admin/views/main.py (modified) (10 diffs)
- django/branches/per-object-permissions/django/contrib/admin/views/template.py (modified) (2 diffs)
- django/branches/per-object-permissions/django/contrib/auth/forms.py (modified) (5 diffs)
- django/branches/per-object-permissions/django/contrib/auth/views.py (modified) (4 diffs)
- django/branches/per-object-permissions/django/contrib/comments/views/comments.py (modified) (5 diffs)
- django/branches/per-object-permissions/django/contrib/contenttypes/management.py (modified) (2 diffs)
- django/branches/per-object-permissions/django/contrib/csrf/middleware.py (modified) (1 diff)
- django/branches/per-object-permissions/django/contrib/formtools (copied) (copied from django/trunk/django/contrib/formtools)
- django/branches/per-object-permissions/django/contrib/formtools/__init__.py (copied) (copied from django/trunk/django/contrib/formtools/__init__.py)
- django/branches/per-object-permissions/django/contrib/formtools/preview.py (copied) (copied from django/trunk/django/contrib/formtools/preview.py)
- django/branches/per-object-permissions/django/contrib/formtools/templates (copied) (copied from django/trunk/django/contrib/formtools/templates)
- django/branches/per-object-permissions/django/contrib/formtools/templates/formtools (copied) (copied from django/trunk/django/contrib/formtools/templates/formtools)
- django/branches/per-object-permissions/django/contrib/formtools/templates/formtools/form.html (copied) (copied from django/trunk/django/contrib/formtools/templates/formtools/form.html)
- django/branches/per-object-permissions/django/contrib/formtools/templates/formtools/preview.html (copied) (copied from django/trunk/django/contrib/formtools/templates/formtools/preview.html)
- django/branches/per-object-permissions/django/contrib/sitemaps/__init__.py (modified) (1 diff)
- django/branches/per-object-permissions/django/core/handlers/base.py (modified) (2 diffs)
- django/branches/per-object-permissions/django/core/handlers/wsgi.py (modified) (2 diffs)
- django/branches/per-object-permissions/django/core/servers/fastcgi.py (modified) (1 diff)
- django/branches/per-object-permissions/django/db/backends/postgresql/base.py (modified) (1 diff)
- django/branches/per-object-permissions/django/db/models/fields/generic.py (modified) (2 diffs)
- django/branches/per-object-permissions/django/db/models/fields/__init__.py (modified) (27 diffs)
- django/branches/per-object-permissions/django/db/models/fields/related.py (modified) (10 diffs)
- django/branches/per-object-permissions/django/db/models/manipulators.py (modified) (4 diffs)
- django/branches/per-object-permissions/django/forms/__init__.py (modified) (1 diff)
- django/branches/per-object-permissions/django/http/__init__.py (modified) (1 diff)
- django/branches/per-object-permissions/django/newforms/extras (copied) (copied from django/trunk/django/newforms/extras)
- django/branches/per-object-permissions/django/newforms/extras/__init__.py (copied) (copied from django/trunk/django/newforms/extras/__init__.py)
- django/branches/per-object-permissions/django/newforms/extras/widgets.py (copied) (copied from django/trunk/django/newforms/extras/widgets.py)
- django/branches/per-object-permissions/django/newforms/fields.py (modified) (18 diffs)
- django/branches/per-object-permissions/django/newforms/forms.py (modified) (9 diffs)
- django/branches/per-object-permissions/django/newforms/__init__.py (modified) (1 diff)
- django/branches/per-object-permissions/django/newforms/models.py (copied) (copied from django/trunk/django/newforms/models.py)
- django/branches/per-object-permissions/django/newforms/util.py (modified) (2 diffs)
- django/branches/per-object-permissions/django/newforms/widgets.py (modified) (11 diffs)
- django/branches/per-object-permissions/django/oldforms (copied) (copied from django/trunk/django/oldforms)
- django/branches/per-object-permissions/django/oldforms/__init__.py (copied) (copied from django/trunk/django/oldforms/__init__.py)
- django/branches/per-object-permissions/django/template/__init__.py (modified) (1 diff)
- django/branches/per-object-permissions/django/utils/dateformat.py (modified) (2 diffs)
- django/branches/per-object-permissions/django/utils/text.py (modified) (1 diff)
- django/branches/per-object-permissions/django/views/generic/create_update.py (modified) (3 diffs)
- django/branches/per-object-permissions/django/views/generic/list_detail.py (modified) (1 diff)
- django/branches/per-object-permissions/docs/add_ons.txt (modified) (1 diff)
- django/branches/per-object-permissions/docs/contributing.txt (modified) (4 diffs)
- django/branches/per-object-permissions/docs/csrf.txt (modified) (6 diffs)
- django/branches/per-object-permissions/docs/db-api.txt (modified) (1 diff)
- django/branches/per-object-permissions/docs/forms.txt (modified) (2 diffs)
- django/branches/per-object-permissions/docs/generic_views.txt (modified) (2 diffs)
- django/branches/per-object-permissions/docs/newforms.txt (copied) (copied from django/trunk/docs/newforms.txt)
- django/branches/per-object-permissions/docs/redirects.txt (modified) (1 diff)
- django/branches/per-object-permissions/docs/sessions.txt (modified) (1 diff)
- django/branches/per-object-permissions/docs/settings.txt (modified) (2 diffs)
- django/branches/per-object-permissions/docs/testing.txt (modified) (1 diff)
- django/branches/per-object-permissions/setup.py (modified) (1 diff)
- django/branches/per-object-permissions/tests/modeltests/basic/models.py (modified) (5 diffs)
- django/branches/per-object-permissions/tests/modeltests/many_to_many/models.py (modified) (1 diff)
- django/branches/per-object-permissions/tests/modeltests/model_forms (copied) (copied from django/trunk/tests/modeltests/model_forms)
- django/branches/per-object-permissions/tests/modeltests/model_forms/__init__.py (copied) (copied from django/trunk/tests/modeltests/model_forms/__init__.py)
- django/branches/per-object-permissions/tests/modeltests/model_forms/models.py (copied) (copied from django/trunk/tests/modeltests/model_forms/models.py)
- django/branches/per-object-permissions/tests/regressiontests/forms/tests.py (modified) (41 diffs)
- django/branches/per-object-permissions/tests/regressiontests/templates/tests.py (modified) (4 diffs)
- django/branches/per-object-permissions/tests/runtests.py (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/per-object-permissions/AUTHORS
r4096 r4242 119 119 Petar Marić 120 120 mark@junklight.com 121 Yasushi Masuda <whosaysni@gmail.com> 121 122 mattycakes@gmail.com 122 123 Jason McBrayer <http://www.carcosa.net/jason/> 123 124 mccutchen@gmail.com 124 125 michael.mcewan@gmail.com 126 mitakummaa@gmail.com 125 127 mmarshall 126 128 Eric Moritz <http://eric.themoritzfamily.com/> … … 152 154 sopel 153 155 Thomas Steinacher <tom@eggdrop.ch> 156 nowell strite 154 157 Radek Švarz <http://www.svarz.cz/translate/> 155 158 Swaroop C H <http://www.swaroopch.info> … … 160 163 Joe Topjian <http://joe.terrarum.net/geek/code/python/django/> 161 164 Karen Tracey <graybark@bellsouth.net> 165 Makoto Tsuyuki <mtsuyuki@gmail.com> 162 166 Amit Upadhyay 163 167 Geert Vanderkelen django/branches/per-object-permissions/django/conf/global_settings.py
r4096 r4242 26 26 27 27 # Local time zone for this installation. All choices can be found here: 28 # http://www.postgresql.org/docs/ current/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE28 # http://www.postgresql.org/docs/8.1/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE 29 29 TIME_ZONE = 'America/Chicago' 30 30 django/branches/per-object-permissions/django/conf/project_template/settings.py
r3630 r4242 18 18 19 19 # Local time zone for this installation. All choices can be found here: 20 # http://www.postgresql.org/docs/ current/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE20 # http://www.postgresql.org/docs/8.1/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE 21 21 TIME_ZONE = 'America/Chicago' 22 22 django/branches/per-object-permissions/django/conf/project_template/urls.py
r2809 r4242 3 3 urlpatterns = patterns('', 4 4 # Example: 5 # (r'^{{ project_name }}/', include('{{ project_name }}. apps.foo.urls.foo')),5 # (r'^{{ project_name }}/', include('{{ project_name }}.foo.urls')), 6 6 7 7 # Uncomment this for admin: django/branches/per-object-permissions/django/contrib/admin/templates/admin/base.html
r3630 r4242 39 39 {% block pretitle %}{% endblock %} 40 40 {% block content_title %}{% if title %}<h1>{{ title|escape }}</h1>{% endif %}{% endblock %} 41 {% block content %}{{ content }}{% endblock %} 41 {% block content %} 42 {% block object-tools %}{% endblock %} 43 {{ content }} 44 {% endblock %} 42 45 {% block sidebar %}{% endblock %} 43 46 <br class="clear" /> django/branches/per-object-permissions/django/contrib/admin/templates/admin/change_form.html
r3843 r4242 17 17 {% endif %}{% endblock %} 18 18 {% block content %}<div id="content-main"> 19 {% block object-tools %} 19 20 {% if change %}{% if not is_popup %} 20 21 <ul class="object-tools"><li><a href="history/" class="historylink">{% trans "History" %}</a></li> … … 23 24 </ul> 24 25 {% endif %}{% endif %} 26 {% endblock %} 25 27 <form {% if has_file_field %}enctype="multipart/form-data" {% endif %}action="{{ form_url }}" method="post" id="{{ opts.module_name }}_form">{% block form_top %}{% endblock %} 26 28 <div> django/branches/per-object-permissions/django/contrib/admin/templates/admin/change_list.html
r3464 r4242 8 8 {% block content %} 9 9 <div id="content-main"> 10 {% block object-tools %} 10 11 {% if has_add_permission %} 11 12 <ul class="object-tools"><li><a href="add/{% if is_popup %}?_popup=1{% endif %}" class="addlink">{% blocktrans with cl.opts.verbose_name|escape as name %}Add {{ name }}{% endblocktrans %}</a></li></ul> 12 13 {% endif %} 14 {% endblock %} 13 15 <div class="module{% if cl.has_filters %} filtered{% endif %}" id="changelist"> 14 16 {% block search %}{% search_form cl %}{% endblock %} django/branches/per-object-permissions/django/contrib/admin/templates/admin/search_form.html
r3097 r4242 8 8 <input type="submit" value="{% trans 'Go' %}" /> 9 9 {% if show_result_count %} 10 <span class="small quiet">{% blocktrans count cl.result_count as counter %}1 result{% plural %}{{ counter }} results{% endblocktrans %} (<a href="? ">{% blocktrans with cl.full_result_count as full_result_count %}{{ full_result_count }} total{% endblocktrans %}</a>)</span>10 <span class="small quiet">{% blocktrans count cl.result_count as counter %}1 result{% plural %}{{ counter }} results{% endblocktrans %} (<a href="?{% if cl.is_popup %}pop=1{% endif %}">{% blocktrans with cl.full_result_count as full_result_count %}{{ full_result_count }} total{% endblocktrans %}</a>)</span> 11 11 {% endif %} 12 12 {% for pair in cl.params.items %} django/branches/per-object-permissions/django/contrib/admin/views/auth.py
r3940 r4242 3 3 from django.contrib.auth.models import User 4 4 from django.core.exceptions import PermissionDenied 5 from django import forms, template5 from django import oldforms, template 6 6 from django.shortcuts import render_to_response 7 7 from django.http import HttpResponseRedirect … … 25 25 else: 26 26 errors = new_data = {} 27 form = forms.FormWrapper(manipulator, new_data, errors)27 form = oldforms.FormWrapper(manipulator, new_data, errors) 28 28 return render_to_response('admin/auth/user/add_form.html', { 29 29 'title': _('Add user'), django/branches/per-object-permissions/django/contrib/admin/views/main.py
r3940 r4242 1 from django import forms, template1 from django import oldforms, template 2 2 from django.conf import settings 3 3 from django.contrib.admin.filterspecs import FilterSpec … … 228 228 model = models.get_model(app_label, model_name) 229 229 if model is None: 230 raise Http404 , "App %r, model %r, not found" % (app_label, model_name)230 raise Http404("App %r, model %r, not found" % (app_label, model_name)) 231 231 opts = model._meta 232 232 … … 300 300 301 301 # Populate the FormWrapper. 302 form = forms.FormWrapper(manipulator, new_data, errors)302 form = oldforms.FormWrapper(manipulator, new_data, errors) 303 303 304 304 c = template.RequestContext(request, { … … 319 319 object_id = unquote(object_id) 320 320 if model is None: 321 raise Http404 , "App %r, model %r, not found" % (app_label, model_name)321 raise Http404("App %r, model %r, not found" % (app_label, model_name)) 322 322 opts = model._meta 323 323 … … 325 325 manipulator = model.ChangeManipulator(object_id) 326 326 except ObjectDoesNotExist: 327 raise Http404 327 raise Http404('%s object with primary key %r does not exist' % (model_name, escape(object_id))) 328 328 329 329 if not request.user.has_perm(app_label + '.' + opts.get_change_permission(), object=manipulator.original_object): … … 332 332 if request.POST and request.POST.has_key("_saveasnew"): 333 333 return add_stage(request, app_label, model_name, form_url='../../add/') 334 335 336 334 337 335 if request.POST: … … 401 399 402 400 # Populate the FormWrapper. 403 form = forms.FormWrapper(manipulator, new_data, errors)401 form = oldforms.FormWrapper(manipulator, new_data, errors) 404 402 form.original = manipulator.original_object 405 403 form.order_objects = [] … … 520 518 object_id = unquote(object_id) 521 519 if model is None: 522 raise Http404 , "App %r, model %r, not found" % (app_label, model_name)520 raise Http404("App %r, model %r, not found" % (app_label, model_name)) 523 521 opts = model._meta 524 522 … … 559 557 object_id = unquote(object_id) 560 558 if model is None: 561 raise Http404 , "App %r, model %r, not found" % (app_label, model_name)559 raise Http404("App %r, model %r, not found" % (app_label, model_name)) 562 560 action_list = LogEntry.objects.filter(object_id=object_id, 563 561 content_type__id__exact=ContentType.objects.get_for_model(model).id).select_related().order_by('action_time') … … 789 787 model = models.get_model(app_label, model_name) 790 788 if model is None: 791 raise Http404 , "App %r, model %r, not found" % (app_label, model_name)789 raise Http404("App %r, model %r, not found" % (app_label, model_name)) 792 790 if not request.user.contains_permission(app_label + '.' + model._meta.get_change_permission(), model): 793 791 raise PermissionDenied django/branches/per-object-permissions/django/contrib/admin/views/template.py
r4096 r4242 1 1 from django.contrib.admin.views.decorators import staff_member_required 2 2 from django.core import validators 3 from django import template, forms3 from django import template, oldforms 4 4 from django.template import loader 5 5 from django.shortcuts import render_to_response … … 26 26 return render_to_response('admin/template_validator.html', { 27 27 'title': 'Template validator', 28 'form': forms.FormWrapper(manipulator, new_data, errors),28 'form': oldforms.FormWrapper(manipulator, new_data, errors), 29 29 }, context_instance=template.RequestContext(request)) 30 30 template_validator = staff_member_required(template_validator) 31 31 32 class TemplateValidator( forms.Manipulator):32 class TemplateValidator(oldforms.Manipulator): 33 33 def __init__(self, settings_modules): 34 34 self.settings_modules = settings_modules 35 35 site_list = Site.objects.in_bulk(settings_modules.keys()).values() 36 36 self.fields = ( 37 forms.SelectField('site', is_required=True, choices=[(s.id, s.name) for s in site_list]),38 forms.LargeTextField('template', is_required=True, rows=25, validator_list=[self.isValidTemplate]),37 oldforms.SelectField('site', is_required=True, choices=[(s.id, s.name) for s in site_list]), 38 oldforms.LargeTextField('template', is_required=True, rows=25, validator_list=[self.isValidTemplate]), 39 39 ) 40 40 django/branches/per-object-permissions/django/contrib/auth/forms.py
r3940 r4242 4 4 from django.template import Context, loader 5 5 from django.core import validators 6 from django import forms6 from django import oldforms 7 7 8 class UserCreationForm( forms.Manipulator):8 class UserCreationForm(oldforms.Manipulator): 9 9 "A form that creates a user, with no privileges, from the given username and password." 10 10 def __init__(self): 11 11 self.fields = ( 12 forms.TextField(field_name='username', length=30, maxlength=30, is_required=True,12 oldforms.TextField(field_name='username', length=30, maxlength=30, is_required=True, 13 13 validator_list=[validators.isAlphaNumeric, self.isValidUsername]), 14 forms.PasswordField(field_name='password1', length=30, maxlength=60, is_required=True),15 forms.PasswordField(field_name='password2', length=30, maxlength=60, is_required=True,14 oldforms.PasswordField(field_name='password1', length=30, maxlength=60, is_required=True), 15 oldforms.PasswordField(field_name='password2', length=30, maxlength=60, is_required=True, 16 16 validator_list=[validators.AlwaysMatchesOtherField('password1', _("The two password fields didn't match."))]), 17 17 ) … … 28 28 return User.objects.create_user(new_data['username'], '', new_data['password1']) 29 29 30 class AuthenticationForm( forms.Manipulator):30 class AuthenticationForm(oldforms.Manipulator): 31 31 """ 32 32 Base class for authenticating users. Extend this to get a form that accepts … … 42 42 self.request = request 43 43 self.fields = [ 44 forms.TextField(field_name="username", length=15, maxlength=30, is_required=True,44 oldforms.TextField(field_name="username", length=15, maxlength=30, is_required=True, 45 45 validator_list=[self.isValidUser, self.hasCookiesEnabled]), 46 forms.PasswordField(field_name="password", length=15, maxlength=30, is_required=True),46 oldforms.PasswordField(field_name="password", length=15, maxlength=30, is_required=True), 47 47 ] 48 48 self.user_cache = None … … 69 69 return self.user_cache 70 70 71 class PasswordResetForm( forms.Manipulator):71 class PasswordResetForm(oldforms.Manipulator): 72 72 "A form that lets a user request a password reset" 73 73 def __init__(self): 74 74 self.fields = ( 75 forms.EmailField(field_name="email", length=40, is_required=True,75 oldforms.EmailField(field_name="email", length=40, is_required=True, 76 76 validator_list=[self.isValidUserEmail]), 77 77 ) … … 106 106 send_mail('Password reset on %s' % site_name, t.render(Context(c)), None, [self.user_cache.email]) 107 107 108 class PasswordChangeForm( forms.Manipulator):108 class PasswordChangeForm(oldforms.Manipulator): 109 109 "A form that lets a user change his password." 110 110 def __init__(self, user): 111 111 self.user = user 112 112 self.fields = ( 113 forms.PasswordField(field_name="old_password", length=30, maxlength=30, is_required=True,113 oldforms.PasswordField(field_name="old_password", length=30, maxlength=30, is_required=True, 114 114 validator_list=[self.isValidOldPassword]), 115 forms.PasswordField(field_name="new_password1", length=30, maxlength=30, is_required=True,115 oldforms.PasswordField(field_name="new_password1", length=30, maxlength=30, is_required=True, 116 116 validator_list=[validators.AlwaysMatchesOtherField('new_password2', _("The two 'new password' fields didn't match."))]), 117 forms.PasswordField(field_name="new_password2", length=30, maxlength=30, is_required=True),117 oldforms.PasswordField(field_name="new_password2", length=30, maxlength=30, is_required=True), 118 118 ) 119 119 django/branches/per-object-permissions/django/contrib/auth/views.py
r3464 r4242 1 1 from django.contrib.auth.forms import AuthenticationForm 2 2 from django.contrib.auth.forms import PasswordResetForm, PasswordChangeForm 3 from django import forms3 from django import oldforms 4 4 from django.shortcuts import render_to_response 5 5 from django.template import RequestContext … … 27 27 request.session.set_test_cookie() 28 28 return render_to_response(template_name, { 29 'form': forms.FormWrapper(manipulator, request.POST, errors),29 'form': oldforms.FormWrapper(manipulator, request.POST, errors), 30 30 REDIRECT_FIELD_NAME: redirect_to, 31 31 'site_name': Site.objects.get_current().name, … … 63 63 form.save(email_template_name=email_template_name) 64 64 return HttpResponseRedirect('%sdone/' % request.path) 65 return render_to_response(template_name, {'form': forms.FormWrapper(form, new_data, errors)},65 return render_to_response(template_name, {'form': oldforms.FormWrapper(form, new_data, errors)}, 66 66 context_instance=RequestContext(request)) 67 67 … … 78 78 form.save(new_data) 79 79 return HttpResponseRedirect('%sdone/' % request.path) 80 return render_to_response(template_name, {'form': forms.FormWrapper(form, new_data, errors)},80 return render_to_response(template_name, {'form': oldforms.FormWrapper(form, new_data, errors)}, 81 81 context_instance=RequestContext(request)) 82 82 password_change = login_required(password_change) django/branches/per-object-permissions/django/contrib/comments/views/comments.py
r3940 r4242 1 1 from django.core import validators 2 from django import forms2 from django import oldforms 3 3 from django.core.mail import mail_admins, mail_managers 4 4 from django.http import Http404 … … 29 29 return [] 30 30 self.fields.extend([ 31 forms.LargeTextField(field_name="comment", maxlength=3000, is_required=True,31 oldforms.LargeTextField(field_name="comment", maxlength=3000, is_required=True, 32 32 validator_list=[self.hasNoProfanities]), 33 forms.RadioSelectField(field_name="rating1", choices=choices,33 oldforms.RadioSelectField(field_name="rating1", choices=choices, 34 34 is_required=ratings_required and num_rating_choices > 0, 35 35 validator_list=get_validator_list(1), 36 36 ), 37 forms.RadioSelectField(field_name="rating2", choices=choices,37 oldforms.RadioSelectField(field_name="rating2", choices=choices, 38 38 is_required=ratings_required and num_rating_choices > 1, 39 39 validator_list=get_validator_list(2), 40 40 ), 41 forms.RadioSelectField(field_name="rating3", choices=choices,41 oldforms.RadioSelectField(field_name="rating3", choices=choices, 42 42 is_required=ratings_required and num_rating_choices > 2, 43 43 validator_list=get_validator_list(3), 44 44 ), 45 forms.RadioSelectField(field_name="rating4", choices=choices,45 oldforms.RadioSelectField(field_name="rating4", choices=choices, 46 46 is_required=ratings_required and num_rating_choices > 3, 47 47 validator_list=get_validator_list(4), 48 48 ), 49 forms.RadioSelectField(field_name="rating5", choices=choices,49 oldforms.RadioSelectField(field_name="rating5", choices=choices, 50 50 is_required=ratings_required and num_rating_choices > 4, 51 51 validator_list=get_validator_list(5), 52 52 ), 53 forms.RadioSelectField(field_name="rating6", choices=choices,53 oldforms.RadioSelectField(field_name="rating6", choices=choices, 54 54 is_required=ratings_required and num_rating_choices > 5, 55 55 validator_list=get_validator_list(6), 56 56 ), 57 forms.RadioSelectField(field_name="rating7", choices=choices,57 oldforms.RadioSelectField(field_name="rating7", choices=choices, 58 58 is_required=ratings_required and num_rating_choices > 6, 59 59 validator_list=get_validator_list(7), 60 60 ), 61 forms.RadioSelectField(field_name="rating8", choices=choices,61 oldforms.RadioSelectField(field_name="rating8", choices=choices, 62 62 is_required=ratings_required and num_rating_choices > 7, 63 63 validator_list=get_validator_list(8), … … 118 118 return c 119 119 120 class PublicFreeCommentManipulator( forms.Manipulator):120 class PublicFreeCommentManipulator(oldforms.Manipulator): 121 121 "Manipulator that handles public free (unregistered) comments" 122 122 def __init__(self): 123 123 self.fields = ( 124 forms.TextField(field_name="person_name", maxlength=50, is_required=True,124 oldforms.TextField(field_name="person_name", maxlength=50, is_required=True, 125 125 validator_list=[self.hasNoProfanities]), 126 forms.LargeTextField(field_name="comment", maxlength=3000, is_required=True,126 oldforms.LargeTextField(field_name="comment", maxlength=3000, is_required=True, 127 127 validator_list=[self.hasNoProfanities]), 128 128 ) … … 222 222 login(request, manipulator.get_user()) 223 223 if errors or request.POST.has_key('preview'): 224 class CommentFormWrapper( forms.FormWrapper):224 class CommentFormWrapper(oldforms.FormWrapper): 225 225 def __init__(self, manipulator, new_data, errors, rating_choices): 226 forms.FormWrapper.__init__(self, manipulator, new_data, errors)226 oldforms.FormWrapper.__init__(self, manipulator, new_data, errors) 227 227 self.rating_choices = rating_choices 228 228 def ratings(self): … … 303 303 return render_to_response('comments/free_preview.html', { 304 304 'comment': comment, 305 'comment_form': forms.FormWrapper(manipulator, new_data, errors),305 'comment_form': oldforms.FormWrapper(manipulator, new_data, errors), 306 306 'options': options, 307 307 'target': target, django/branches/per-object-permissions/django/contrib/contenttypes/management.py
r3669 r4242 4 4 5 5 from django.dispatch import dispatcher 6 from django.db.models import get_ models, signals6 from django.db.models import get_apps, get_models, signals 7 7 8 def create_contenttypes(app, created_models, verbosity ):8 def create_contenttypes(app, created_models, verbosity=2): 9 9 from django.contrib.contenttypes.models import ContentType 10 10 app_models = get_models(app) … … 23 23 print "Adding content type '%s | %s'" % (ct.app_label, ct.model) 24 24 25 def create_all_contenttypes(verbosity=2): 26 for app in get_apps(): 27 create_contenttypes(app, None, verbosity) 28 25 29 dispatcher.connect(create_contenttypes, signal=signals.post_syncdb) 30 31 if __name__ == "__main__": 32 create_all_contenttypes() django/branches/per-object-permissions/django/contrib/csrf/middleware.py
r2900 r4242 12 12 import itertools 13 13 14 _ERROR_MSG = "<h1>403 Forbidden</h1><p>Cross Site Request Forgery detected. Request aborted.</p>"14 _ERROR_MSG = '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><body><h1>403 Forbidden</h1><p>Cross Site Request Forgery detected. Request aborted.</p></body></html>' 15 15 16 16 _POST_FORM_RE = \ django/branches/per-object-permissions/django/contrib/sitemaps/__init__.py
r3732 r4242 30 30 from django.contrib.sites.models import Site 31 31 current_site = Site.objects.get_current() 32 url = "%s%s" % (current_site.domain, sitemap )32 url = "%s%s" % (current_site.domain, sitemap_url) 33 33 params = urllib.urlencode({'sitemap':url}) 34 34 urllib.urlopen("%s?%s" % (ping_url, params)) django/branches/per-object-permissions/django/core/handlers/base.py
r4096 r4242 61 61 return response 62 62 63 resolver = urlresolvers.RegexURLResolver(r'^/', settings.ROOT_URLCONF) 63 # Get urlconf from request object, if available. Otherwise use default. 64 urlconf = getattr(request, "urlconf", settings.ROOT_URLCONF) 65 66 resolver = urlresolvers.RegexURLResolver(r'^/', urlconf) 64 67 try: 65 68 callback, callback_args, callback_kwargs = resolver.resolve(request.path) … … 85 88 # Complain if the view returned None (a common error). 86 89 if response is None: 87 raise ValueError, "The view %s.%s didn't return an HttpResponse object." % (callback.__module__, callback.func_name) 90 try: 91 view_name = callback.func_name # If it's a function 92 except AttributeError: 93 view_name = callback.__class__.__name__ + '.__call__' # If it's a class 94 raise ValueError, "The view %s.%s didn't return an HttpResponse object." % (callback.__module__, view_name) 88 95 89 96 return response django/branches/per-object-permissions/django/core/handlers/wsgi.py
r4096 r4242 63 63 """ 64 64 if not size: 65 return copyfileobj(fsrc, fdst, length)65 return 66 66 while size > 0: 67 67 buf = fsrc.read(min(length, size)) … … 158 158 except AttributeError: 159 159 buf = StringIO() 160 # CONTENT_LENGTH might be absent if POST doesn't have content at all (lighttpd) 161 content_length = int(self.environ.get('CONTENT_LENGTH', 0)) 160 try: 161 # CONTENT_LENGTH might be absent if POST doesn't have content at all (lighttpd) 162 content_length = int(self.environ.get('CONTENT_LENGTH', 0)) 163 except ValueError: # if CONTENT_LENGTH was empty string or not an integer 164 content_length = 0 162 165 safe_copyfileobj(self.environ['wsgi.input'], buf, size=content_length) 163 166 self._raw_post_data = buf.getvalue() django/branches/per-object-permissions/django/core/servers/fastcgi.py
r4096 r4242 119 119 return fastcgi_help("ERROR: Implementation must be one of prefork or thread.") 120 120 121 wsgi_opts['debug'] = False # Turn off flup tracebacks 122 121 123 # Prep up and go 122 124 from django.core.handlers.wsgi import WSGIHandler django/branches/per-object-permissions/django/db/backends/postgresql/base.py
r4096 r4242 119 119 Database.register_type(Database.new_type((1082,), "DATE", util.typecast_date)) 120 120 except AttributeError: 121 raise Exception, "You appear to be using psycopg version 2 , which isn't supported yet, because it's still in beta. Use psycopg version 1 instead: http://initd.org/projects/psycopg1"121 raise Exception, "You appear to be using psycopg version 2. Set your DATABASE_ENGINE to 'postgresql_psycopg2' instead of 'postgresql'." 122 122 Database.register_type(Database.new_type((1083,1266), "TIME", util.typecast_time)) 123 123 Database.register_type(Database.new_type((1114,1184), "TIMESTAMP", util.typecast_timestamp)) django/branches/per-object-permissions/django/db/models/fields/generic.py
r3767 r4242 3 3 """ 4 4 5 from django import forms5 from django import oldforms 6 6 from django.core.exceptions import ObjectDoesNotExist 7 7 from django.db import backend … … 99 99 def get_manipulator_field_objs(self): 100 100 choices = self.get_choices_default() 101 return [curry( forms.SelectMultipleField, size=min(max(len(choices), 5), 15), choices=choices)]101 return [curry(oldforms.SelectMultipleField, size=min(max(len(choices), 5), 15), choices=choices)] 102 102 103 103 def get_choices_default(self): django/branches/per-object-permissions/django/db/models/fields/__init__.py
r4096 r4242 3 3 from django.conf import settings 4 4 from django.core import validators 5 from django import forms 5 from django import oldforms 6 from django import newforms as forms 6 7 from django.core.exceptions import ObjectDoesNotExist 7 8 from django.utils.functional import curry … … 207 208 if self.choices: 208 209 if self.radio_admin: 209 field_objs = [ forms.RadioSelectField]210 field_objs = [oldforms.RadioSelectField] 210 211 params['ul_class'] = get_ul_class(self.radio_admin) 211 212 else: 212 field_objs = [ forms.SelectField]213 field_objs = [oldforms.SelectField] 213 214 214 215 params['choices'] = self.get_choices_default() … …
