Django

Code

Changeset 7770

Show
Ignore:
Timestamp:
06/26/08 10:42:33 (5 months ago)
Author:
brosner
Message:

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

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-7729 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-7768
  • django/branches/newforms-admin/AUTHORS

    r7707 r7770  
    386386    Filip Wasilewski <filip.wasilewski@gmail.com> 
    387387    Dan Watson <http://theidioteque.net/> 
     388    Joel Watts <joel@joelwatts.com> 
    388389    Chris Wesseling <Chris.Wesseling@cwi.nl> 
    389390    James Wheare <django@sparemint.com> 
  • django/branches/newforms-admin/django/conf/locale/pl/LC_MESSAGES/django.po

    r7436 r7770  
    66"Project-Id-Version: Django\n" 
    77"Report-Msgid-Bugs-To: \n" 
    8 "POT-Creation-Date: 2008-04-14 18:02+0200\n" 
     8"POT-Creation-Date: 2008-06-24 07:36+0200\n" 
    99"PO-Revision-Date: 2008-02-25 15:53+0100\n" 
    10 "Last-Translator: Piotr Lewandowski <django@icomputing.pl>\n" 
     10"Last-Translator: Jarek Zgoda <jarek.zgoda@gmail.com>\n" 
    1111"Language-Team: Polish <pl@li.org>\n" 
    1212"MIME-Version: 1.0\n" 
     
    1717"100<10 || n%100>=20) ? 1 : 2);\n" 
    1818 
    19 #: conf/global_settings.py:39 
     19#: conf/global_settings.py:44 
    2020msgid "Arabic" 
    2121msgstr "Arabski" 
    2222 
    23 #: conf/global_settings.py:40 
     23#: conf/global_settings.py:45 
    2424msgid "Bengali" 
    2525msgstr "Bengalski" 
    2626 
    27 #: conf/global_settings.py:41 
     27#: conf/global_settings.py:46 
    2828msgid "Bulgarian" 
    2929msgstr "Bułgarski" 
    3030 
    31 #: conf/global_settings.py:42 
     31#: conf/global_settings.py:47 
    3232msgid "Catalan" 
    3333msgstr "Kataloński" 
    3434 
    35 #: conf/global_settings.py:43 
     35#: conf/global_settings.py:48 
    3636msgid "Czech" 
    3737msgstr "Czeski" 
    3838 
    39 #: conf/global_settings.py:44 
     39#: conf/global_settings.py:49 
    4040msgid "Welsh" 
    4141msgstr "Walijski" 
    4242 
    43 #: conf/global_settings.py:45 
     43#: conf/global_settings.py:50 
    4444msgid "Danish" 
    4545msgstr "Duński" 
    4646 
    47 #: conf/global_settings.py:46 
     47#: conf/global_settings.py:51 
    4848msgid "German" 
    4949msgstr "Niemiecki" 
    5050 
    51 #: conf/global_settings.py:47 
     51#: conf/global_settings.py:52 
    5252msgid "Greek" 
    5353msgstr "Grecki" 
    5454 
    55 #: conf/global_settings.py:48 
     55#: conf/global_settings.py:53 
    5656msgid "English" 
    5757msgstr "Angielski" 
    5858 
    59 #: conf/global_settings.py:49 
     59#: conf/global_settings.py:54 
    6060msgid "Spanish" 
    6161msgstr "Hiszpański" 
    6262 
    63 #: conf/global_settings.py:50 
     63#: conf/global_settings.py:55 
     64msgid "Estonian" 
     65msgstr "Estoński" 
     66 
     67#: conf/global_settings.py:56 
    6468msgid "Argentinean Spanish" 
    6569msgstr "Hiszpański argentyński" 
    6670 
    67 #: conf/global_settings.py:51 
     71#: conf/global_settings.py:57 
    6872msgid "Basque" 
    6973msgstr "Baskijski" 
    7074 
    71 #: conf/global_settings.py:52 
     75#: conf/global_settings.py:58 
    7276msgid "Persian" 
    7377msgstr "Perski" 
    7478 
    75 #: conf/global_settings.py:53 
     79#: conf/global_settings.py:59 
    7680msgid "Finnish" 
    7781msgstr "Fiński" 
    7882 
    79 #: conf/global_settings.py:54 
     83#: conf/global_settings.py:60 
    8084msgid "French" 
    8185msgstr "Francuski" 
    8286 
    83 #: conf/global_settings.py:55 
     87#: conf/global_settings.py:61 
    8488msgid "Irish" 
    8589msgstr "Irlandzki" 
    8690 
    87 #: conf/global_settings.py:56 
     91#: conf/global_settings.py:62 
    8892msgid "Galician" 
    8993msgstr "Galicyjski" 
    9094 
    91 #: conf/global_settings.py:57 
     95#: conf/global_settings.py:63 
    9296msgid "Hungarian" 
    9397msgstr "Węgierski" 
    9498 
    95 #: conf/global_settings.py:58 
     99#: conf/global_settings.py:64 
    96100msgid "Hebrew" 
    97101msgstr "Hebrajski" 
    98102 
    99 #: conf/global_settings.py:59 
     103#: conf/global_settings.py:65 
    100104msgid "Croatian" 
    101105msgstr "Chorwacki" 
    102106 
    103 #: conf/global_settings.py:60 
     107#: conf/global_settings.py:66 
    104108msgid "Icelandic" 
    105109msgstr "Islandzki" 
    106110 
    107 #: conf/global_settings.py:61 
     111#: conf/global_settings.py:67 
    108112msgid "Italian" 
    109113msgstr "Włoski" 
    110114 
    111 #: conf/global_settings.py:62 
     115#: conf/global_settings.py:68 
    112116msgid "Japanese" 
    113117msgstr "Japoński" 
    114118 
    115 #: conf/global_settings.py:63 
     119#: conf/global_settings.py:69 
    116120msgid "Georgian" 
    117121msgstr "Gruziński" 
    118122 
    119 #: conf/global_settings.py:64 
     123#: conf/global_settings.py:70 
    120124msgid "Korean" 
    121125msgstr "Koreański" 
    122126 
    123 #: conf/global_settings.py:65 
     127#: conf/global_settings.py:71 
    124128msgid "Khmer" 
    125129msgstr "Khmerski" 
    126130 
    127 #: conf/global_settings.py:66 
     131#: conf/global_settings.py:72 
    128132msgid "Kannada" 
    129133msgstr "Kannada" 
    130134 
    131 #: conf/global_settings.py:67 
     135#: conf/global_settings.py:73 
    132136msgid "Latvian" 
    133137msgstr "Łotewski" 
    134138 
    135 #: conf/global_settings.py:68 
     139#: conf/global_settings.py:74 
     140msgid "Lithuanian" 
     141msgstr "Litewski" 
     142 
     143#: conf/global_settings.py:75 
    136144msgid "Macedonian" 
    137145msgstr "Macedoński" 
    138146 
    139 #: conf/global_settings.py:69 
     147#: conf/global_settings.py:76 
    140148msgid "Dutch" 
    141149msgstr "Holenderski" 
    142150 
    143 #: conf/global_settings.py:70 
     151#: conf/global_settings.py:77 
    144152msgid "Norwegian" 
    145153msgstr "Norweski" 
    146154 
    147 #: conf/global_settings.py:71 
     155#: conf/global_settings.py:78 
    148156msgid "Polish" 
    149157msgstr "Polski" 
    150158 
    151 #: conf/global_settings.py:72 
     159#: conf/global_settings.py:79 
    152160msgid "Portugese" 
    153161msgstr "Portugalski" 
    154162 
    155 #: conf/global_settings.py:73 
     163#: conf/global_settings.py:80 
    156164msgid "Brazilian Portuguese" 
    157165msgstr "Brazylijski portugalski" 
    158166 
    159 #: conf/global_settings.py:74 
     167#: conf/global_settings.py:81 
    160168msgid "Romanian" 
    161169msgstr "Rumuński" 
    162170 
    163 #: conf/global_settings.py:75 
     171#: conf/global_settings.py:82 
    164172msgid "Russian" 
    165173msgstr "Rosyjski" 
    166174 
    167 #: conf/global_settings.py:76 
     175#: conf/global_settings.py:83 
    168176msgid "Slovak" 
    169177msgstr "Słowacki" 
    170178 
    171 #: conf/global_settings.py:77 
     179#: conf/global_settings.py:84 
    172180msgid "Slovenian" 
    173181msgstr "Słoweński" 
    174182 
    175 #: conf/global_settings.py:78 
     183#: conf/global_settings.py:85 
    176184msgid "Serbian" 
    177185msgstr "Serbski" 
    178186 
    179 #: conf/global_settings.py:79 
     187#: conf/global_settings.py:86 
    180188msgid "Swedish" 
    181189msgstr "Szwedzki" 
    182190 
    183 #: conf/global_settings.py:80 
     191#: conf/global_settings.py:87 
    184192msgid "Tamil" 
    185193msgstr "Tamilski" 
    186194 
    187 #: conf/global_settings.py:81 
     195#: conf/global_settings.py:88 
    188196msgid "Telugu" 
    189197msgstr "Telugu" 
    190198 
    191 #: conf/global_settings.py:82 
     199#: conf/global_settings.py:89 
    192200msgid "Turkish" 
    193201msgstr "Turecki" 
    194202 
    195 #: conf/global_settings.py:83 
     203#: conf/global_settings.py:90 
    196204msgid "Ukrainian" 
    197205msgstr "Ukraiński" 
    198206 
    199 #: conf/global_settings.py:84 
     207#: conf/global_settings.py:91 
    200208msgid "Simplified Chinese" 
    201209msgstr "Uproszczony chiński" 
    202210 
    203 #: conf/global_settings.py:85 
     211#: conf/global_settings.py:92 
    204212msgid "Traditional Chinese" 
    205213msgstr "Chiński tradycyjny" 
     
    418426#: contrib/admin/templates/admin/delete_confirmation.html:25 
    419427msgid "Yes, I'm sure" 
    420 msgstr "Tak, usuń
     428msgstr "Tak, na pewno
    421429 
    422430#: contrib/admin/templates/admin/filter.html:2 
     
    825833"spróbuj ponownie." 
    826834 
    827 #: contrib/admin/views/decorators.py:90 
     835#: contrib/admin/views/decorators.py:89 
     836#, python-format 
     837msgid "Your e-mail address is not your username. Try '%s' instead." 
     838msgstr "Twój adres e-mail to nie jest twój login. Spróbuj '%s'." 
     839 
     840#: contrib/admin/views/decorators.py:93 
    828841msgid "Usernames cannot contain the '@' character." 
    829842msgstr "Nazwy użytkowników nie mogą zawierać znaków '@'." 
    830  
    831 #: contrib/admin/views/decorators.py:92 
    832 #, python-format 
    833 msgid "Your e-mail address is not your username. Try '%s' instead." 
    834 msgstr "Twój adres e-mail to nie jest twój login. Spróbuj '%s'." 
    835843 
    836844#: contrib/admin/views/doc.py:48 contrib/admin/views/doc.py:50 
     
    10641072msgstr "Zaznacz %s aby zmienić" 
    10651073 
    1066 #: contrib/admin/views/main.py:784 
     1074#: contrib/admin/views/main.py:765 
    10671075msgid "Database error" 
    10681076msgstr "Błąd bazy danych" 
     
    11291137msgstr "grupa" 
    11301138 
    1131 #: contrib/auth/models.py:98 contrib/auth/models.py:141 
     1139#: contrib/auth/models.py:98 contrib/auth/models.py:148 
    11321140msgid "groups" 
    11331141msgstr "grupy" 
    11341142 
    1135 #: contrib/auth/models.py:131 
     1143#: contrib/auth/models.py:138 
    11361144msgid "username" 
    11371145msgstr "użytkownik" 
    11381146 
    1139 #: contrib/auth/models.py:131 
     1147#: contrib/auth/models.py:138 
    11401148msgid "" 
    11411149"Required. 30 characters or fewer. Alphanumeric characters only (letters, " 
     
    11451153"podkreślenia)." 
    11461154 
    1147 #: contrib/auth/models.py:132 
     1155#: contrib/auth/models.py:139 
    11481156msgid "first name" 
    11491157msgstr "Imię" 
    11501158 
    1151 #: contrib/auth/models.py:133 
     1159#: contrib/auth/models.py:140 
    11521160msgid "last name" 
    11531161msgstr "Nazwisko" 
    11541162 
    1155 #: contrib/auth/models.py:134 
     1163#: contrib/auth/models.py:141 
    11561164msgid "e-mail address" 
    11571165msgstr "adres e-mail" 
    11581166 
    1159 #: contrib/auth/models.py:135 
     1167#: contrib/auth/models.py:142 
    11601168msgid "password" 
    11611169msgstr "hasło" 
    11621170 
    1163 #: contrib/auth/models.py:135 
     1171#: contrib/auth/models.py:142 
    11641172msgid "" 
    11651173"Use '[algo]$[salt]$[hexdigest]' or use the <a href=\"password/\">change " 
     
    11691177"hasła</a>." 
    11701178 
    1171 #: contrib/auth/models.py:136 
     1179#: contrib/auth/models.py:143 
    11721180msgid "staff status" 
    11731181msgstr "w zespole" 
    11741182 
    1175 #: contrib/auth/models.py:136 
     1183#: contrib/auth/models.py:143 
    11761184msgid "Designates whether the user can log into this admin site." 
    11771185msgstr "Oznacza czy użytkownik może zalogować się do panelu admina." 
    11781186 
    1179 #: contrib/auth/models.py:137 
     1187#: contrib/auth/models.py:144 
    11801188msgid "active" 
    11811189msgstr "aktywny" 
    11821190 
    1183 #: contrib/auth/models.py:137 
     1191#: contrib/auth/models.py:144 
    11841192msgid "" 
    11851193"Designates whether this user should be treated as active. Unselect this " 
     
    11891197"konta." 
    11901198 
    1191 #: contrib/auth/models.py:138 
     1199#: contrib/auth/models.py:145 
    11921200msgid "superuser status" 
    11931201msgstr "Główny Administrator" 
    11941202 
    1195 #: contrib/auth/models.py:138 
     1203#: contrib/auth/models.py:145 
    11961204msgid "" 
    11971205"Designates that this user has all permissions without explicitly assigning " 
     
    12011209"przypisywania ich." 
    12021210 
    1203 #: contrib/auth/models.py:139 
     1211#: contrib/auth/models.py:146 
    12041212msgid "last login" 
    12051213msgstr "ostatnio zalogowany" 
    12061214 
    1207 #: contrib/auth/models.py:140 
     1215#: contrib/auth/models.py:147 
    12081216msgid "date joined" 
    12091217msgstr "data przyłączenia" 
    12101218 
    1211 #: contrib/auth/models.py:142 
     1219#: contrib/auth/models.py:149 
    12121220msgid "" 
    12131221"In addition to the permissions manually assigned, this user will also get " 
     
    12171225"uprawnienia grup, do których należy." 
    12181226 
    1219 #: contrib/auth/models.py:143 
     1227#: contrib/auth/models.py:150 
    12201228msgid "user permissions" 
    12211229msgstr "uprawnienia użytkownika" 
    12221230 
    1223 #: contrib/auth/models.py:147 
     1231#: contrib/auth/models.py:154 
    12241232msgid "user" 
    12251233msgstr "użytkownik" 
    12261234 
    1227 #: contrib/auth/models.py:148 
     1235#: contrib/auth/models.py:155 
    12281236msgid "users" 
    12291237msgstr "użytkownicy" 
    12301238 
    1231 #: contrib/auth/models.py:154 
     1239#: contrib/auth/models.py:161 
    12321240msgid "Personal info" 
    12331241msgstr "Dane osobowe" 
    12341242 
    1235 #: contrib/auth/models.py:155 
     1243#: contrib/auth/models.py:162 
    12361244msgid "Permissions" 
    12371245msgstr "Uprawnienia" 
    12381246 
    1239 #: contrib/auth/models.py:156 
     1247#: contrib/auth/models.py:163 
    12401248msgid "Important dates" 
    12411249msgstr "Ważne daty" 
    12421250 
    1243 #: contrib/auth/models.py:157 
     1251#: contrib/auth/models.py:164 
    12441252msgid "Groups" 
    12451253msgstr "Grupy" 
    12461254 
    1247 #: contrib/auth/models.py:316 
     1255#: contrib/auth/models.py:323 
    12481256msgid "message" 
    12491257msgstr "wiadomość" 
    12501258 
    1251 #: contrib/auth/views.py:47 
     1259#: contrib/auth/views.py:48 
    12521260msgid "Logged out" 
    12531261msgstr "Wylogowany" 
     
    35173525msgstr "przekierowania" 
    35183526 
    3519 #: contrib/sessions/models.py:41 
     3527#: contrib/sessions/models.py:45 
    35203528msgid "session key" 
    35213529msgstr "klucz sesji" 
    35223530 
    3523 #: contrib/sessions/models.py:42 
     3531#: contrib/sessions/models.py:47 
    35243532msgid "session data" 
    35253533msgstr "data sesji" 
    35263534 
    3527 #: contrib/sessions/models.py:43 
     3535#: contrib/sessions/models.py:48 
    35283536msgid "expire date" 
    35293537msgstr "data wygaśnięcia sesji" 
    35303538 
    3531 #: contrib/sessions/models.py:48 
     3539#: contrib/sessions/models.py:53 
    35323540msgid "session" 
    35333541msgstr "sesja" 
    35343542 
    3535 #: contrib/sessions/models.py:49 
     3543#: contrib/sessions/models.py:54 
    35363544msgid "sessions" 
    35373545msgstr "sesje" 
     
    36183626msgstr "Niepoprawna data: %s" 
    36193627 
    3620 #: core/validators.py:156 db/models/fields/__init__.py:527 
     3628#: core/validators.py:156 db/models/fields/__init__.py:548 
    36213629msgid "Enter a valid date in YYYY-MM-DD format." 
    36223630msgstr "Proszę wpisać poprawną datę w formacie RRRR-MM-DD." 
     
    36263634msgstr "Proszę wpisać poprawną godzinę w formacie HH:MM." 
    36273635 
    3628 #: core/validators.py:165 db/models/fields/__init__.py:604 
     3636#: core/validators.py:165 db/models/fields/__init__.py:625 
    36293637msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." 
    36303638msgstr "Wprowadź poprawną datę i godzinę w formacie RRRR-MM-DD GG:MM." 
     
    38893897msgstr "%(object)s z %(type)s już istnieje dla %(field)s." 
    38903898 
    3891 #: db/models/fields/__init__.py:52 
     3899#: db/models/fields/__init__.py:51 
    38923900#, python-format 
    38933901msgid "%(optname)s with this %(fieldname)s already exists." 
    38943902msgstr "Już istnieje %(optname)s z %(fieldname)s." 
    38953903 
    3896 #: db/models/fields/__init__.py:161 db/models/fields/__init__.py:327 
    3897 #: db/models/fields/__init__.py:759 db/models/fields/__init__.py:770 
     3904#: db/models/fields/__init__.py:176 db/models/fields/__init__.py:348 
     3905#: db/models/fields/__init__.py:780 db/models/fields/__init__.py:791 
    38983906#: newforms/fields.py:46 oldforms/__init__.py:374 
    38993907msgid "This field is required." 
    39003908msgstr "To pole jest wymagane." 
    39013909 
    3902 #: db/models/fields/__init__.py:427 
     3910#: db/models/fields/__init__.py:448 
    39033911msgid "This value must be an integer." 
    39043912msgstr "Ta wartość musi być liczbą całkowitą." 
    39053913 
    3906 #: db/models/fields/__init__.py:466 
     3914#: db/models/fields/__init__.py:487 
    39073915msgid "This value must be either True or False." 
    39083916msgstr "" 
    39093917"Ta wartość musi być wartością logiczną (True, False - prawda lub fałsz)." 
    39103918 
    3911 #: db/models/fields/__init__.py:490 
     3919#: db/models/fields/__init__.py:511 
    39123920msgid "This field cannot be null." 
    39133921msgstr "To pole nie może być puste." 
    39143922 
    3915 #: db/models/fields/__init__.py:668 
     3923#: db/models/fields/__init__.py:689 
    39163924msgid "This value must be a decimal number." 
    39173925msgstr "Ta wartość musi być liczbą dziesiętną." 
    39183926 
    3919 #: db/models/fields/__init__.py:779 
     3927#: db/models/fields/__init__.py:800 
    39203928msgid "Enter a valid filename." 
    39213929msgstr "Wpisz poprawną nazwę pliku." 
    39223930 
    3923 #: db/models/fields/__init__.py:960 
     3931#: db/models/fields/__init__.py:981 
    39243932msgid "This value must be either None, True or False." 
    39253933msgstr "" 
    39263934"Ta wartość musi być jedną z None (nic), True (prawda) lub False (fałsz)." 
    39273935 
    3928 #: db/models/fields/related.py:93 
     3936#: db/models/fields/related.py:94 
    39293937#, python-format 
    39303938msgid "Please enter a valid %s." 
    39313939msgstr "Proszę wpisać poprawne %s." 
    39323940 
    3933 #: db/models/fields/related.py:701 
     3941#: db/models/fields/related.py:746 
    39343942msgid "Separate multiple IDs with commas." 
    39353943msgstr "Oddziel identyfikatory przecinkami." 
    39363944 
    3937 #: db/models/fields/related.py:703 
     3945#: db/models/fields/related.py:748 
    39383946msgid "" 
    39393947"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." 
     
    39423950"zaznaczyć więcej niż jeden wybór." 
    39433951 
    3944 #: db/models/fields/related.py:750 
     3952#: db/models/fields/related.py:795 
    39453953#, python-format 
    39463954msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." 
     
    40044012msgstr "Upewnij się, że jest nie więcej niż %s miejsc przed przecinkiem." 
    40054013 
    4006 #: newforms/fields.py:263 newforms/fields.py:751 
     4014#: newforms/fields.py:263 newforms/fields.py:750 
    40074015msgid "Enter a valid date." 
    40084016msgstr "Wpisz poprawną datę." 
    40094017 
    4010 #: newforms/fields.py:296 newforms/fields.py:752 
     4018#: newforms/fields.py:296 newforms/fields.py:751 
    40114019msgid "Enter a valid time." 
    40124020msgstr "Wpisz poprawną godzinę." 
     
    40324040msgstr "Ten odnośnik jest nieprawidłowy." 
    40334041 
    4034 #: newforms/fields.py:560 newforms/models.py:299 
     4042#: newforms/fields.py:559 newforms/models.py:305 
    40354043msgid "Select a valid choice. That choice is not one of the available choices." 
    40364044msgstr "Wybierz poprawną wartość. Podana nie jest jednym z dostępnych wyborów." 
    40374045 
    4038 #: newforms/fields.py:599 
     4046#: newforms/fields.py:598 
    40394047#, python-format 
    40404048msgid "Select a valid choice. %(value)s is not one of the available choices." 
     
    40424050"Wybierz poprawną wartość. %(value)s nie jest jednym z dostępnych wyborów." 
    40434051 
    4044 #: newforms/fields.py:600 newforms/fields.py:662 newforms/models.py:371 
     4052#: newforms/fields.py:599 newforms/fields.py:661 newforms/models.py:372 
    40454053msgid "Enter a list of values." 
    40464054msgstr "Podaj listę wartości." 
    40474055 
    4048 #: newforms/fields.py:780 
     4056#: newforms/fields.py:779 
    40494057msgid "Enter a valid IPv4 address." 
    40504058msgstr "Wprowadź poprawny adres IPv4." 
    40514059 
    4052 #: newforms/models.py:372 
     4060#: newforms/models.py:373 
    40534061#, python-format 
    40544062msgid "Select a valid choice. %s is not one of the available choices." 
  • django/branches/newforms-admin/django/contrib/auth/views.py

    r7735 r7770  
     1from django.contrib.auth import REDIRECT_FIELD_NAME 
     2from django.contrib.auth.decorators import login_required 
    13from django.contrib.auth.forms import AuthenticationForm 
    24from django.contrib.auth.forms import PasswordResetForm, PasswordChangeForm, AdminPasswordChangeForm 
    35from django.core.exceptions import PermissionDenied 
    46from django.shortcuts import render_to_response, get_object_or_404 
    5 from django.template import RequestContext 
    67from django.contrib.sites.models import Site, RequestSite 
    78from django.http import HttpResponseRedirect 
    8 from django.contrib.auth.decorators import login_required 
    9 from django.contrib.auth import REDIRECT_FIELD_NAME 
     9from django.template import RequestContext 
     10from django.utils.http import urlquote 
    1011from django.utils.html import escape 
    1112from django.utils.translation import ugettext as _ 
     
    6364        from django.conf import settings 
    6465        login_url = settings.LOGIN_URL 
    65     return HttpResponseRedirect('%s?%s=%s' % (login_url, redirect_field_name, next)) 
     66    return HttpResponseRedirect('%s?%s=%s' % (login_url, urlquote(redirect_field_name), urlquote(next))) 
    6667 
    6768def password_reset(request, is_admin_site=False, template_name='registration/password_reset_form.html', 
     
    7475                form.save(domain_override=request.META['HTTP_HOST']) 
    7576            else: 
    76                 form.save(email_template_name=email_template_name) 
     77                if Site._meta.installed: 
     78                    form.save(email_template_name=email_template_name) 
     79                else: 
     80                    form.save(domain_override=RequestSite(request).domain, email_template_name=email_template_name) 
    7781            return HttpResponseRedirect('%sdone/' % request.path) 
    7882    else: 
  • django/branches/newforms-admin/django/contrib/sites/tests.py

    r7730 r7770  
    33>>> from django.contrib.sites.models import Site 
    44>>> s = Site.objects.get_current() 
    5 >>> s 
    6 <Site: example.com> 
     5>>> isinstance(s, Site) 
     6True 
    77 
    88>>> s.delete() 
  • django/branches/newforms-admin/django/core/servers/basehttp.py

    r6955 r7770  
    1818 
    1919__version__ = "0.1" 
    20 __all__ = ['WSGIServer','WSGIRequestHandler','demo_app'
     20__all__ = ['WSGIServer','WSGIRequestHandler'
    2121 
    2222server_version = "WSGIServer/" + __version__ 
  • django/branches/newforms-admin/django/db/backends/__init__.py

    r7669 r7770  
    4646    inline_fk_references = True 
    4747    needs_datetime_string_cast = True 
    48     needs_upper_for_iops = False 
    4948    supports_constraints = True 
    5049    supports_tablespaces = False 
  • django/branches/newforms-admin/django/db/backends/oracle/base.py

    r7669 r7770  
    2828    empty_fetchmany_value = () 
    2929    needs_datetime_string_cast = False 
    30     needs_upper_for_iops = True 
    3130    supports_tablespaces = True 
    3231    uses_case_insensitive_names = True 
  • django/branches/newforms-admin/django/db/backends/oracle/creation.py

    r6417 r7770  
    66# be interpolated against the values of Field.__dict__ before being output. 
    77# If a column type is set to None, it won't be included in the output. 
     8# 
     9# Any format strings starting with "qn_" are quoted before being used in the 
     10# output (the "qn_" prefix is stripped before the lookup is performed. 
     11 
    812DATA_TYPES = { 
    913    'AutoField':                    'NUMBER(11)', 
    10     'BooleanField':                 'NUMBER(1) CHECK (%(column)s IN (0,1))', 
     14    'BooleanField':                 'NUMBER(1) CHECK (%(qn_column)s IN (0,1))', 
    1115    'CharField':                    'NVARCHAR2(%(max_length)s)', 
    1216    'CommaSeparatedIntegerField':   'VARCHAR2(%(max_length)s)', 
     
    2024    'IntegerField':                 'NUMBER(11)', 
    2125    'IPAddressField':               'VARCHAR2(15)', 
    22     'NullBooleanField':             'NUMBER(1) CHECK ((%(column)s IN (0,1)) OR (%(column)s IS NULL))', 
     26    'NullBooleanField':             'NUMBER(1) CHECK ((%(qn_column)s IN (0,1)) OR (%(column)s IS NULL))', 
    2327    'OneToOneField':                'NUMBER(11)', 
    2428    'PhoneNumberField':             'VARCHAR2(20)', 
    25     'PositiveIntegerField':         'NUMBER(11) CHECK (%(column)s >= 0)', 
    26     'PositiveSmallIntegerField':    'NUMBER(11) CHECK (%(column)s >= 0)', 
     29    'PositiveIntegerField':         'NUMBER(11) CHECK (%(qn_column)s >= 0)', 
     30    'PositiveSmallIntegerField':    'NUMBER(11) CHECK (%(qn_column)s >= 0)', 
    2731    'SlugField':                    'NVARCHAR2(50)', 
    2832    'SmallIntegerField':            'NUMBER(11)', 
  • django/branches/newforms-admin/django/db/models/fields/__init__.py

    r7669 r7770  
    1717from django import newforms as forms 
    1818from django.core.exceptions import ObjectDoesNotExist 
     19from django.utils.datastructures import DictWrapper 
    1920from django.utils.functional import curry 
    2021from django.utils.itercompat import tee 
     
    154155        # can implement db_type() instead of get_internal_type() to specify 
    155156        # exactly which wacky database column type you want to use. 
     157        data = DictWrapper(self.__dict__, connection.ops.quote_name, "qn_") 
    156158        try: 
    157             return get_creation_module().DATA_TYPES[self.get_internal_type()] % self.__dict__ 
     159            return get_creation_module().DATA_TYPES[self.get_internal_type()] % data 
    158160        except KeyError: 
    159161            return None 
  • django/branches/newforms-admin/django/db/models/fields/related.py

    r7733 r7770  
    104104        if hasattr(sup, 'contribute_to_class'): 
    105105            sup.contribute_to_class(cls, name) 
     106 
     107        if not cls._meta.abstract and self.rel.related_name: 
     108            self.rel.related_name = self.rel.related_name % {'class': cls.__name__.lower()} 
     109 
    106110        other = self.rel.to 
    107111        if isinstance(other, basestring): 
     
    109113        else: 
    110114            self.do_related_class(other, cls) 
    111         if not cls._meta.abstract and self.rel.related_name: 
    112             self.rel.related_name = self.rel.related_name % {'class': cls.__name__.lower()} 
    113115 
    114116    def set_attributes_from_rel(self): 
     
    120122        self.set_attributes_from_rel() 
    121123        related = RelatedObject(other, cls, self) 
    122         self.contribute_to_related_class(other, related) 
     124        if not cls._meta.abstract: 
     125            self.contribute_to_related_class(other, related) 
    123126 
    124127    def get_db_prep_lookup(self, lookup_type, value): 
  • django/branches/newforms-admin/django/db/models/options.py

    r7604 r7770  
    274274        Initialises the field name -> field object mapping. 
    275275        """ 
    276         cache = dict([(f.name, (f, m, True, False)) for f, m in 
    277                 self.get_fields_with_model()]) 
    278         for f, model in self.get_m2m_with_model(): 
    279             cache[f.name] = (f, model, True, True) 
     276        cache = {} 
     277        # We intentionally handle related m2m objects first so that symmetrical 
     278        # m2m accessor names can be overridden, if necessary. 
    280279        for f, model in self.get_all_related_m2m_objects_with_model(): 
    281280            cache[f.field.related_query_name()] = (f, model, False, True) 
    282281        for f, model in self.get_all_related_objects_with_model(): 
    283282            cache[f.field.related_query_name()] = (f, model, False, False) 
     283        for f, model in self.get_m2m_with_model(): 
     284            cache[f.name] = (f, model, True, True) 
     285        for f, model in self.get_fields_with_model(): 
     286            cache[f.name] = (f, model, True, False) 
    284287        if self.order_with_respect_to: 
    285288            cache['_order'] = OrderWrt(), None, True, False 
  • django/branches/newforms-admin/django/db/models/query.py

    r7730 r7770  
    3737        Adds an item. 
    3838        model is the class of the object being added, 
    39         pk is the primary key, obj is the object itself,  
     39        pk is the primary key, obj is the object itself, 
    4040        parent_model is the model of the parent object 
    4141        that this object was reached through, nullable should 
     
    7878    def ordered_keys(self): 
    7979        """ 
    80         Returns the models in the order that they should be  
     80        Returns the models in the order that they should be 
    8181        dealth with i.e. models with no dependencies first. 
    8282        """ 
     
    9393            if not found: 
    9494                raise CyclicDependency("There is a cyclic dependency of items to be processed.") 
    95              
     95 
    9696        return dealt_with.keys() 
    9797 
     
    219219    def __and__(self, other): 
    220220        self._merge_sanity_check(other) 
     221        if isinstance(other, EmptyQuerySet): 
     222            return other._clone() 
    221223        combined = self._clone() 
    222224        combined.query.combine(other.query, sql.AND) 
     
    226228        self._merge_sanity_check(other) 
    227229        combined = self._clone() 
     230        if isinstance(other, EmptyQuerySet): 
     231            return combined 
    228232        combined.query.combine(other.query, sql.OR) 
    229233        return combined 
     
    489493        """ 
    490494        if isinstance(filter_obj, Q) or hasattr(filter_obj, 'add_to_query'): 
    491             return self._filter_or_exclude(None, filter_obj) 
     495            clone = self._clone() 
     496            clone.query.add_q(filter_obj) 
     497            return clone 
    492498        else: 
    493499            return self._filter_or_exclude(None, **filter_obj) 
     
    584590    def _merge_sanity_check(self, other): 
    585591        """ 
    586         Checks that we are merging two comparable queryset classes. 
    587         """ 
    588         if self.__class__ is not other.__class__: 
    589             raise TypeError("Cannot merge querysets of different types ('%s' and '%s'.
    590                     % (self.__class__.__name__, other.__class__.__name__)) 
     592        Checks that we are merging two comparable queryset classes. By default 
     593        this does nothing, but see the ValuesQuerySet for an example of where 
     594        it's useful. 
     595        ""
     596        pass 
    591597 
    592598class ValuesQuerySet(QuerySet): 
     
    600606 
    601607    def iterator(self): 
    602         if (not self.extra_names and  
     608        if (not self.extra_names and 
    603609            len(self.field_names) != len(self.model._meta.fields)): 
    604610            self.query.trim_extra_select(self.extra_names) 
     
    689695        self.query = self.query.clone(klass=sql.DateQuery, setup=True) 
    690696        self.query.select = [] 
    691         self.query.add_date_select(self._field.column, self._kind, self._order) 
     697        self.query.add_date_select(self._field, self._kind, self._order) 
    692698        if self._field.null: 
    693             self.query.add_filter(('%s__isnull' % self._field.name, True)) 
     699            self.query.add_filter(('%s__isnull' % self._field.name, False)) 
    694700 
    695701    def _clone(self, klass=None, setup=False, **kwargs): 
     
    705711        super(EmptyQuerySet, self).__init__(model, query) 
    706712        self._result_cache = [] 
     713 
     714    def __and__(self, other): 
     715        return self._clone() 
     716 
     717    def __or__(self, other): 
     718        return other._clone() 
    707719 
    708720    def count(self): 
     
    774786        # if there is a cyclic dependency, we cannot in general delete 
    775787        # the objects.  However, if an appropriate transaction is set 
    776         # up, or if the database is lax enough, it will succeed.  
     788        # up, or if the database is lax enough, it will succeed. 
    777789        # So for now, we go ahead and try anway. 
    778790        ordered_classes = seen_objs.unordered_keys() 
  • django/branches/newforms-admin/django/db/models/sql/query.py