Anonymous avatar Anonymous committed 951632c

boulder-oracle-sprint: Merged to [5508]

Comments (0)

Files changed (10)

     Marc Fargas <telenieko@telenieko.com>
     favo@exoweb.net
     Bill Fenner <fenner@gmail.com>
+    Stefane Fermgier <sf@fermigier.com>
     Matthew Flanagan <http://wadofstuff.blogspot.com>
     Eric Floehr <eric@intellovations.com>
     Jorge Gajon <gajon@gajon.org>
     gandalf@owca.info
     Baishampayan Ghose
+    glin@seznam.cz
     martin.glueck@gmail.com
     GomoX <gomo@datafull.com>
     Simon Greenhill <dev@simon.net.nz>

django/contrib/admin/media/js/admin/RelatedObjectLookups.js

 function showAddAnotherPopup(triggeringLink) {
     var name = triggeringLink.id.replace(/^add_/, '');
     name = name.replace(/\./g, '___');
-    var win = window.open(triggeringLink.href + '?_popup=1', name, 'height=500,width=800,resizable=yes,scrollbars=yes');
+    href = triggeringLink.href
+    if (href.indexOf('?') == -1)
+	href += '?_popup=1';
+    else
+	href += '&_popup=1';
+    var win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes');
     win.focus();
     return false;
 }

django/contrib/auth/forms.py

 
     def isValidUserEmail(self, new_data, all_data):
         "Validates that a user exists with the given e-mail address"
-        try:
-            self.user_cache = User.objects.get(email__iexact=new_data)
-        except User.DoesNotExist:
+        self.users_cache = list(User.objects.filter(email__iexact=new_data))
+        if len(self.users_cache) == 0:
             raise validators.ValidationError, _("That e-mail address doesn't have an associated user account. Are you sure you've registered?")
 
     def save(self, domain_override=None, email_template_name='registration/password_reset_email.html'):
         "Calculates a new password randomly and sends it to the user"
         from django.core.mail import send_mail
-        new_pass = User.objects.make_random_password()
-        self.user_cache.set_password(new_pass)
-        self.user_cache.save()
-        if not domain_override:
-            current_site = Site.objects.get_current()
-            site_name = current_site.name
-            domain = current_site.domain
-        else:
-            site_name = domain = domain_override
-        t = loader.get_template(email_template_name)
-        c = {
-            'new_password': new_pass,
-            'email': self.user_cache.email,
-            'domain': domain,
-            'site_name': site_name,
-            'user': self.user_cache,
-        }
-        send_mail('Password reset on %s' % site_name, t.render(Context(c)), None, [self.user_cache.email])
+        for user in self.users_cache:
+            new_pass = User.objects.make_random_password()
+            user.set_password(new_pass)
+            user.save()
+            if not domain_override:
+                current_site = Site.objects.get_current()
+                site_name = current_site.name
+                domain = current_site.domain
+            else:
+                site_name = domain = domain_override
+            t = loader.get_template(email_template_name)
+            c = {
+                'new_password': new_pass,
+                'email': user.email,
+                'domain': domain,
+                'site_name': site_name,
+                'user': user,
+                }
+            send_mail('Password reset on %s' % site_name, t.render(Context(c)), None, [user.email])
 
 class PasswordChangeForm(oldforms.Manipulator):
     "A form that lets a user change his password."

django/contrib/databrowse/templates/databrowse/object_detail.html

     <li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object }}</a></li>
     {% endfor %}
   </ul>
-  </div>
   {% else %}
   <p class="quiet">(None)</p>
   {% endif %}
+  </div>
 {% endfor %}
 
 {% endblock %}

django/contrib/redirects/middleware.py

             except Redirect.DoesNotExist:
                 pass
         if r is not None:
-            if r == '':
+            if r.new_path == '':
                 return http.HttpResponseGone()
             return http.HttpResponsePermanentRedirect(r.new_path)
 

django/core/servers/basehttp.py

 
 from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
 from types import ListType, StringType
-import os, re, sys, time, urllib
+import os, re, sys, time, urllib, mimetypes
 
 __version__ = "0.1"
 __all__ = ['WSGIServer','WSGIRequestHandler','demo_app']
             else:
                 status = '200 OK'
                 headers = {}
+                mime_type = mimetypes.guess_type(file_path)[0]
+                if mime_type:
+                    headers['Content-Type'] = mime_type
                 output = [fp.read()]
                 fp.close()
         start_response(status, headers.items())
 Install Apache and mod_python
 =============================
 
-If you just want to experiment with Django, skip this step. Django comes with
-its own Web server for development purposes.
+If you just want to experiment with Django, skip ahead to the next
+section; Django includes a lightweight web server you can use for
+testing, so you won't need to set up Apache until you're ready to
+deploy Django in production.
 
 If you want to use Django on a production site, use Apache with `mod_python`_.
 mod_python is similar to mod_perl -- it embeds Python within Apache and loads
 is as simple as deleting the ``django`` directory from your Python
 ``site-packages``.
 
-If you installed Django from a Python Egg, remove the Django ``.egg`` file,
+If you installed Django from a Python egg, remove the Django ``.egg`` file,
 and remove the reference to the egg in the file named ``easy-install.pth``.
 This file should also be located in your ``site-packages`` directory.
 
 .. admonition:: Where are my ``site-packages`` stored?
 
     The location of the ``site-packages`` directory depends on the operating
-    system, and the location in which Python was installed. However, the
-    following locations are common:
+    system, and the location in which Python was installed. To find out your
+    system's ``site-packages`` location, execute the following::
 
-    * If you're using Linux: ``/usr/lib/python2.X/site-packages``
+        python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
 
-    * If you're using Windows: ``C:\Python2.X\lib\site-packages``
-
-    * If you're using MacOSX: ``/Library/Python2.X/site-packages`` or
-      ``/Library/Frameworks/Python.framework/Versions/2.X/lib/python2.X/site-packages/``
-      (in later releases).
+    (Note that this should be run from a shell prompt, not a Python interactive
+    prompt.)
 
 Install the Django code
 =======================
 
 1. Make sure you have Subversion_ installed.
 2. Check out the Django code into your Python ``site-packages`` directory.
+
    On Linux / Mac OSX / Unix, do this::
 
        svn co http://code.djangoproject.com/svn/django/trunk/ django_src
-       ln -s `pwd`/django_src/django /usr/lib/python2.3/site-packages/django
+       ln -s `pwd`/django_src/django SITE-PACKAGES-DIR/django
 
-   (In the above line, change ``python2.3`` to match your current Python version.)
+   (In the above line, change ``SITE-PACKAGES-DIR`` to match the location of
+   your system's ``site-packages`` directory, as explained in the
+   "Where are my ``site-packages`` stored?" section above.)
 
    On Windows, do this::
 

docs/model-api.txt

 sanity.)
 
 A final note: If all you want to do is a custom ``WHERE`` clause, you can just
-just the ``where``, ``tables`` and ``params`` arguments to the standard lookup
+use the ``where``, ``tables`` and ``params`` arguments to the standard lookup
 API. See `Other lookup options`_.
 
 .. _Python DB-API: http://www.python.org/peps/pep-0249.html
-.. _Other lookup options: ../db-api/#extra-params-select-where-tables
+.. _Other lookup options: ../db-api/#extra-select-none-where-none-params-none-tables-none
 .. _transaction handling: ../transactions/
 
 Overriding default model methods

docs/newforms.txt

 Creating ``Form`` instances
 ---------------------------
 
-A ``Form`` instance is either **bound** or **unbound** to a set of data.
+A ``Form`` instance is either **bound** to a set of data, or **unbound**.
 
     * If it's **bound** to a set of data, it's capable of validating that data
       and rendering the form as HTML with the data displayed in the HTML.

docs/tutorial01.txt

 It'll consist of two parts:
 
     * A public site that lets people view polls and vote in them.
-    * An admin site that lets you add, change and delete poll.
+    * An admin site that lets you add, change and delete polls.
 
 We'll assume you have `Django installed`_ already. You can tell Django is
 installed by running the Python interactive interpreter and typing
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.