Commits

Pa...@bcc190cf-cafb-0310-a4f2-bffc1f526a37  committed 8f98a75

[soc2010/test-refactor] Merged up to trunk.

  • Participants
  • Parent commits ee07f05
  • Branches soc2010/test-refactor

Comments (0)

Files changed (14)

File django/contrib/admin/media/css/base.css

     background: #ffc url(../img/admin/icon_success.gif) 5px .3em no-repeat;
 }
 
+ul.messagelist li.warning{
+    background-image: url(../img/admin/icon_alert.gif);
+}
+
+ul.messagelist li.error{
+    background-image: url(../img/admin/icon_error.gif);
+}
+
 .errornote {
     font-size: 12px !important;
     display: block;

File django/contrib/admin/templates/admin/base.html

     {% endif %}
 
         {% if messages %}
-        <ul class="messagelist">{% for message in messages %}<li>{{ message }}</li>{% endfor %}</ul>
+        <ul class="messagelist">{% for message in messages %}
+          <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
+	{% endfor %}</ul>
         {% endif %}
 
     <!-- Content -->

File django/contrib/gis/gdal/libgdal.py

     lib_names = None
 elif os.name == 'nt':
     # Windows NT shared library
-    lib_names = ['gdal16', 'gdal15']
+    lib_names = ['gdal17', 'gdal16', 'gdal15']
 elif os.name == 'posix':
     # *NIX library names.
-    lib_names = ['gdal', 'GDAL', 'gdal1.6.0', 'gdal1.5.0', 'gdal1.4.0']
+    lib_names = ['gdal', 'GDAL', 'gdal1.7.0', 'gdal1.6.0', 'gdal1.5.0', 'gdal1.4.0']
 else:
     raise OGRException('Unsupported OS "%s"' % os.name)
 

File django/middleware/csrf.py

                 return accept()
 
             if request.is_secure():
-                # Strict referer checking for HTTPS
+                # Suppose user visits http://example.com/
+                # An active network attacker,(man-in-the-middle, MITM) sends a
+                # POST form which targets https://example.com/detonate-bomb/ and
+                # submits it via javascript.
+                #
+                # The attacker will need to provide a CSRF cookie and token, but
+                # that is no problem for a MITM and the session independent
+                # nonce we are using. So the MITM can circumvent the CSRF
+                # protection. This is true for any HTTP connection, but anyone
+                # using HTTPS expects better!  For this reason, for
+                # https://example.com/ we need additional protection that treats
+                # http://example.com/ as completely untrusted.  Under HTTPS,
+                # Barth et al. found that the Referer header is missing for
+                # same-domain requests in only about 0.2% of cases or less, so
+                # we can use strict Referer checking.
                 referer = request.META.get('HTTP_REFERER')
                 if referer is None:
                     return reject("Referer checking failed - no Referer.")
 
                 # The following check ensures that the referer is HTTPS,
-                # the domains match and the ports match.  This might be too strict.
+                # the domains match and the ports match - the same origin policy.
                 good_referer = 'https://%s/' % request.get_host()
                 if not referer.startswith(good_referer):
                     return reject("Referer checking failed - %s does not match %s." %

File docs/faq/install.txt

 -----------------------------------------------------------------------------------------------
 
 Not in the core framework. Currently, Django itself officially supports any
-version of Python from 2.4 through 2.6, inclusive. However, newer versions of
+version of Python from 2.4 through 2.7, inclusive. However, newer versions of
 Python are often faster, have more features, and are better supported.
 Third-party applications for use with Django are, of course, free to set their
 own version requirements.
 (see below for details).
 
 All else being equal, we recommend that you use the latest 2.x release
-(currently Python 2.6). This will let you take advantage of the numerous
+(currently Python 2.7). This will let you take advantage of the numerous
 improvements and optimizations to the Python language since version 2.4, and
 will help ease the process of dropping support for older Python versions on
 the road to Python 3.

File docs/intro/install.txt

 --------------
 
 Being a Python Web framework, Django requires Python. It works with any Python
-version from 2.4 to 2.6 (due to backwards
+version from 2.4 to 2.7 (due to backwards
 incompatibilities in Python 3.0, Django does not currently work with
 Python 3.0; see :ref:`the Django FAQ <faq-install>` for more
 information on supported Python versions and the 3.0 transition), but we recommend installing Python 2.5 or later. If you do so, you won't need to set up a database just yet: Python 2.5 or later includes a lightweight database called SQLite_.

File docs/ref/contrib/gis/create_template_postgis-1.4.sh

 #!/usr/bin/env bash
-POSTGIS_SQL_PATH=`pg_config --sharedir`/contrib/postgis-1.4
+POSTGIS_SQL_PATH=`pg_config --sharedir`/contrib
 createdb -E UTF8 template_postgis # Create the template spatial database.
 createlang -d template_postgis plpgsql # Adding PLPGSQL language support.
 psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis';"

File docs/ref/contrib/gis/install.txt

 thus it must be compiled from source.  First download the latest amalgamation 
 source archive from the `SQLite download page`__, and extract::
 
-    $ wget http://www.sqlite.org/sqlite-amalgamation-3.6.22.tar.gz
-    $ tar xzf sqlite-amalgamation-3.6.22.tar.gz
-    $ cd sqlite-3.6.22
+    $ wget http://sqlite.org/sqlite-amalgamation-3.6.23.1.tar.gz
+    $ tar xzf sqlite-amalgamation-3.6.23.1.tar.gz
+    $ cd sqlite-3.6.23.1
 
 Next, run the ``configure`` script -- however the ``CFLAGS`` environment variable
 needs to be customized so that SQLite knows to build the R*Tree module::
 .. note::
 
     For Mac OS X users building from source, the SpatiaLite library *and* tools 
-    need to be linked into the existing ``iconv`` library. While this happens 
-    automatically on Linux, the ``configure`` scripts need to know about the 
-    specific location on Mac OS X (via modification of the ``CFLAGS`` and 
-    ``LDFLAGS`` environment variables prior to configuration)::
+    need to have their ``target`` configured::
 
-        $ CFLAGS=-I/usr/include LDFLAGS="-L/usr/lib -liconv" ./configure
+        $ ./configure --target=macosx
 
 __ http://www.gaia-gis.it/spatialite/sources.html
 
     export PATH=/Library/Frameworks/GDAL.framework/Programs:$PATH
     export PATH=/usr/local/pgsql/bin:$PATH
 
-__ http://www.kyngchaos.com/wiki/software:frameworks
-__ http://www.kyngchaos.com/wiki/software:postgres
+__ http://www.kyngchaos.com/software/frameworks
+__ http://www.kyngchaos.com/software/postgres
 
 .. note::
 

File docs/ref/validators.txt

 ==========
 
 .. versionadded:: 1.2
+.. module:: django.core.validators
+    :synopsis: Validation utilities and base classes
 
 Writing validators
 ==================

File docs/topics/auth.txt

       instead of ``False``.
     * :meth:`~django.contrib.auth.models.User.is_authenticated()` returns
       ``False`` instead of ``True``.
-    * :meth:`~django.contrib.auth.models.User.has_perm()` always returns
-      ``False``.
     * :meth:`~django.contrib.auth.models.User.set_password()`,
       :meth:`~django.contrib.auth.models.User.check_password()`,
       :meth:`~django.contrib.auth.models.User.save()`,

File docs/topics/db/optimization.txt

 ============================
 
 Django's database layer provides various ways to help developers get the most
-out of their databases. This documents gathers together links to the relevant
+out of their databases. This document gathers together links to the relevant
 documentation, and adds various tips, organized under an number of headings that
 outline the steps to take when attempting to optimize your database usage.
 
 
 For instance:
 
-* At the most basic level, use :ref:`filter and exclude <queryset-api>` to
-  filtering in the database to avoid loading data into your Python process, only
-  to throw much of it away.
+* At the most basic level, use :ref:`filter and exclude <queryset-api>` to do
+  filtering in the database.
 
 * Use :ref:`F() object query expressions <query-expressions>` to do filtering
   against other fields within the same model.
 added for these methods will not be executed, including anything driven from the
 normal database object :ref:`signals <ref-signals>`.
 
-Don't retrieve things you already have
-======================================
-
 Use foreign key values directly
 -------------------------------
 

File docs/topics/install.txt

 
 Being a Python Web framework, Django requires Python.
 
-It works with any Python version from 2.4 to 2.6 (due to backwards
+It works with any Python version from 2.4 to 2.7 (due to backwards
 incompatibilities in Python 3.0, Django does not currently work with
 Python 3.0; see :ref:`the Django FAQ <faq-install>` for more
 information on supported Python versions and the 3.0 transition).

File docs/topics/serialization.txt

     json_serializer.serialize(queryset, ensure_ascii=False, stream=response)
 
 The Django source code includes the simplejson_ module. However, if you're
-using Python 2.6 (which includes a builtin version of the module), Django will
+using Python 2.6 or later (which includes a builtin version of the module), Django will
 use the builtin ``json`` module automatically. If you have a system installed
 version that includes the C-based speedup extension, or your system version is
 more recent than the version shipped with Django (currently, 2.0.7), the

File tests/regressiontests/m2m_through_regress/tests.py

 
         p = Person.objects.create(name="Bob")
         g = Group.objects.create(name="Roll")
-        Membership.objects.create(person=p, group=g)
+        m =Membership.objects.create(person=p, group=g)
+
+        pks = {"p_pk": p.pk, "g_pk": g.pk, "m_pk": m.pk}
 
         out = StringIO()
         management.call_command("dumpdata", "m2m_through_regress", format="json", stdout=out)
-        self.assertEqual(out.getvalue().strip(), """[{"pk": 1, "model": "m2m_through_regress.membership", "fields": {"person": 1, "price": 100, "group": 1}}, {"pk": 1, "model": "m2m_through_regress.person", "fields": {"name": "Bob"}}, {"pk": 1, "model": "m2m_through_regress.group", "fields": {"name": "Roll"}}]""")
+        self.assertEqual(out.getvalue().strip(), """[{"pk": %(m_pk)s, "model": "m2m_through_regress.membership", "fields": {"person": %(p_pk)s, "price": 100, "group": %(g_pk)s}}, {"pk": %(p_pk)s, "model": "m2m_through_regress.person", "fields": {"name": "Bob"}}, {"pk": %(g_pk)s, "model": "m2m_through_regress.group", "fields": {"name": "Roll"}}]""" % pks)
 
         out = StringIO()
         management.call_command("dumpdata", "m2m_through_regress", format="xml",
         self.assertEqual(out.getvalue().strip(), """
 <?xml version="1.0" encoding="utf-8"?>
 <django-objects version="1.0">
-  <object pk="1" model="m2m_through_regress.membership">
-    <field to="m2m_through_regress.person" name="person" rel="ManyToOneRel">1</field>
-    <field to="m2m_through_regress.group" name="group" rel="ManyToOneRel">1</field>
+  <object pk="%(m_pk)s" model="m2m_through_regress.membership">
+    <field to="m2m_through_regress.person" name="person" rel="ManyToOneRel">%(p_pk)s</field>
+    <field to="m2m_through_regress.group" name="group" rel="ManyToOneRel">%(g_pk)s</field>
     <field type="IntegerField" name="price">100</field>
   </object>
-  <object pk="1" model="m2m_through_regress.person">
+  <object pk="%(p_pk)s" model="m2m_through_regress.person">
     <field type="CharField" name="name">Bob</field>
   </object>
-  <object pk="1" model="m2m_through_regress.group">
+  <object pk="%(g_pk)s" model="m2m_through_regress.group">
     <field type="CharField" name="name">Roll</field>
   </object>
 </django-objects>
-        """.strip())
+        """.strip() % pks)
 
     def test_join_trimming(self):
         "Check that we don't involve too many copies of the intermediate table when doing a join. Refs #8046, #8254"