Commit graph

12650 commits

Author SHA1 Message Date
Henrik Levkowetz c05bcfce8f Announce diff success for both empty diff and diff matching stored diff.
- Legacy-Id: 319
2007-06-11 19:05:17 +00:00
Henrik Levkowetz a3f93df8a4 Clear the diff when 2 ''lines'' are left, rather than 2 ''words''.
- Legacy-Id: 318
2007-06-11 18:56:43 +00:00
Bill Fenner ea639f96c4 * Add filename_with_link to create links only for active documents
* Display document status if it's not Active
* Use revision_display in displayname()
* Check for DocumentComment.created_by flag value of 999
 - Legacy-Id: 317
2007-06-11 18:47:44 +00:00
Henrik Levkowetz e7a13bff68 * Adding 3 generic chunks, which will ignore the A-hat diffs and the
'produced by' diffs.
 * Updating ietf/tests.py to handle diff chunks right
 - Legacy-Id: 316
2007-06-11 18:44:49 +00:00
Henrik Levkowetz 8e8c3ff5e2 * ietf/tests.py: Remove filetime() again -- not using it.
* ietf/utils/soup2text.py: Do line ending normalization.
 - Legacy-Id: 315
2007-06-11 17:26:59 +00:00
Bill Fenner 9a9f375ec3 Check that the feed returns 200.
- Legacy-Id: 314
2007-06-11 17:26:34 +00:00
Bill Fenner 5c674df41e Remove non-wg wizard header that accidentally snuck in.
- Legacy-Id: 313
2007-06-11 17:10:34 +00:00
Bill Fenner 178c5e13e0 * search_result_row.html no longer takes care of the ballot set rendering for you; you have to pass it the entire contents of the ballot set.
* Model and template changes to allow documents to report their name via doctype() to allow "Draft Name:" vs. "RFC Name:"
* Add parenthesis around the submission type to match the cgi
* Pass the whole ballot set to search_result_row from idinternal_detail
* Display only public comments in idinternal_detail
* Use comment.get_absolute_url instead of a relative URL.  (This fixes /idtracker/NNN/comment/YYY/ which wouldn't work)
* Add a search url to compare
* In view, when searching, don't filter for primary_flag=1, but do order by ballot and -primary_flag so that the results are grouped properly.
* Introduce public_comments() accessor which filters comments()
* Fix comments() to not use rfc_flag, to match the schema
* Order ballot_set() by -primary_flag so the results are grouped properly.
 - Legacy-Id: 312
2007-06-11 16:53:25 +00:00
Henrik Levkowetz 8f81a7a7de Adding the ability to define generic diff chunks which should be ignored. Fixing the inverted filename indication in the unified diff.
- Legacy-Id: 311
2007-06-11 16:41:24 +00:00
Bill Fenner d856877885 Add a nomcom announcement to diff.
- Legacy-Id: 310
2007-06-11 11:21:11 +00:00
Bill Fenner 891ee4b72c Fix long-ago broken model surgery.
- Legacy-Id: 309
2007-06-11 11:18:31 +00:00
Bill Fenner 2c247157a4 When searching for matching document comments, and rfc_flag is off,
the document_comments table can have either "0" or NULL, so the join
on comments.rfc_flag=self.rfc_flag was skipping the NULL ones.
 - Legacy-Id: 308
2007-06-11 11:04:38 +00:00
Henrik Levkowetz deecbc9da3 Don't list URLs which have explicit tests as Skipped during the fallback URL test.
- Legacy-Id: 307
2007-06-11 09:36:45 +00:00
Henrik Levkowetz 7f512b4889 make soup2text convert numeric character codes (e.g., "'") too.
- Legacy-Id: 306
2007-06-11 07:47:56 +00:00
Henrik Levkowetz 0452fca7d2 * ietf/tests.py, in reduce(): add ad-hoc fix for pathologic case of not
closing <li> tags.  BeautifulSoup can handle it, but the recursive text
   rendering code in soup2text recurses too deeply with a sufficiently long
   list...
 * ietf/tests.py, in setUp(): grab the right tuple element when extracting
   the URLs from the url test tuples
 * ietf/tests.py, in read_testurls(): close opened file
 * ietf/tests.py, in doUrlsTest(): narrower try/except clause, and a new one
 * soup2text.py, in para(): undo previous change
 - Legacy-Id: 304
2007-06-11 06:13:29 +00:00
Henrik Levkowetz b42e0728c8 Accept both testurl.list and testurls.list as test url list file names. Output status for good compares, too.
- Legacy-Id: 303
2007-06-11 04:43:22 +00:00
Henrik Levkowetz 9b78963547 Fix occasional bad sentence end merges in ietf/utils/soup2text.py.
Remove some now unneded exceptions from ietf/testurl.list
 - Legacy-Id: 302
2007-06-11 04:22:29 +00:00
Bill Fenner ac288c2d09 Try to cover all the views for the I-D tracker.
- Legacy-Id: 301
2007-06-11 03:39:36 +00:00
Henrik Levkowetz a7a6d956af Adding a fix in soup2text for a common pathological case: <br><br> used instead
of <p /> to indicate paragraph breaks.

This changes the failed diff for /iesg/telechat/detail/354/ to show only three
differences, where two are whitespace differences and one shows a difference
between '@ietf.org. The' and '@ietf.org . The' and is an artifact of the text
extraction.  Will look at fixing that next.
 - Legacy-Id: 300
2007-06-11 03:36:08 +00:00
Bill Fenner da2de838c9 A first attempt at a list of urls to test and compare.
- Legacy-Id: 299
2007-06-10 23:32:37 +00:00
Henrik Levkowetz 2403b0b531 Enabled the temporarily disabled fallback URL tests.
- Legacy-Id: 298
2007-06-10 20:30:43 +00:00
Henrik Levkowetz 04f8f1ca0d Commenting out some diagnostic printouts. Changing the summary format so it differs from the primary result lines.
- Legacy-Id: 296
2007-06-10 18:37:50 +00:00
Henrik Levkowetz 6d5afa514a Adding diff file for an IPR url, and some ipr/tests.py tweaks.
- Legacy-Id: 294
2007-06-10 18:19:42 +00:00
Henrik Levkowetz b6c7aed469 Adding a recognizable tag for the diffs, for use by the buildbot
- Legacy-Id: 291
2007-06-10 16:40:55 +00:00
Henrik Levkowetz 341811e84e Patched a bug in BeautifulSoup (discovered by PyFlakes) and quietened the remaining nonconsequential comments from PyFlakes regarding BeautifulSoup
- Legacy-Id: 290
2007-06-10 14:14:16 +00:00
Henrik Levkowetz 7c60b321cd Add BeautifulSoup.py to the ietf/contrib/ directory so it doesn't have to be installed separately
- Legacy-Id: 289
2007-06-10 14:02:11 +00:00
Bill Fenner 78cbaf497b A remnant of an inadvisable sweeping change that I made and (incompletely)
un-made snuck in.
 - Legacy-Id: 288
2007-06-10 13:54:48 +00:00
Bill Fenner 3811dcf8ac Don't import Acronym, since we don't use it.
Filter by active groups when creating the list of groups.
 - Legacy-Id: 286
2007-06-10 13:37:14 +00:00
Bill Fenner 4fd0113345 Minor model tweaks:
* set null=True for AreaDirector.area and IETFWG.area_director.
* add filters, ordering, choices etc. for admin interface.
* add constant for "ACTIVE" in IETFWG.
 - Legacy-Id: 285
2007-06-10 13:36:01 +00:00
Henrik Levkowetz 06eae09af4 Removing unused imports from ietf/tests.py. Using the right Exception type in soup2html.
- Legacy-Id: 283
2007-06-10 11:43:19 +00:00
Henrik Levkowetz aa3924e102 Testing a specific IPR declaration
- Legacy-Id: 281
2007-06-10 11:33:24 +00:00
Henrik Levkowetz 76f759c19c Minor fixes to the ipr details template
- Legacy-Id: 279
2007-06-10 11:31:29 +00:00
Henrik Levkowetz 0e1bda0997 Adding diff capability to the URL tests.
If you list a second url or file on a line in an urltest.list file, the
second url will be downloaded, both urls will be converted to text, and
then compared.  If there are differences, a unified diff will be output.
 - Legacy-Id: 278
2007-06-10 11:30:23 +00:00
Henrik Levkowetz 10ce0e07dd 'soup2text' is a html-to-text converter which uses the BeautifulSoup.py module. It converts html to plain paragraph-filled readable text.
- Legacy-Id: 277
2007-06-10 11:27:02 +00:00
Bill Fenner 100f24baef Add help popup to MailingListForm.
- Legacy-Id: 276
2007-06-10 03:02:01 +00:00
Bill Fenner 20334bc8aa If the data is None, use an empty string in the hash instead.
- Legacy-Id: 275
2007-06-10 02:59:17 +00:00
Bill Fenner fdca154e75 Implement custom form rendering for step 0.
Implement javascript to disable form elements that aren't used
when wg or non-wg items are selected.

Implement javascript to reload the page with the right set of
non-wg mailing lists to close.
 - Legacy-Id: 274
2007-06-10 02:00:51 +00:00
Bill Fenner ebe29bc1af Add javascript to display/clear the requestor's address in
the textbox at the top of the list administrators multifield.
 - Legacy-Id: 273
2007-06-09 03:45:35 +00:00
Bill Fenner f8dbed4884 Fix preview by creating a MailingList object and using the
existing list_summary.html.
 - Legacy-Id: 272
2007-06-08 20:45:41 +00:00
Bill Fenner 48a4219a32 Use the main form's domain_name, not the initial domain_name, to
pick the approver, since the main form's version has been changed
to ietf.org if appropriate.

Don't try to look up the main_form -- since we're currently processing
the main_form, it's just 'form'!
 - Legacy-Id: 271
2007-06-08 20:04:52 +00:00
Bill Fenner 89a8834177 Rename "initial" to "initial_members" so that it doesn't shadow
the form attribute "initial" (as in initial data)

Render the form field-by-field for MailingListForm, so that
we can render the mailing list name conditionally as a text input
box or as a hidden field with the value in the page.  We can also
insert the domain name here too.  (Note that this means that
hidden fields in this form other than domain name have to be
treated specially!)
 - Legacy-Id: 270
2007-06-08 19:54:59 +00:00
Michael Lee 415e274dde IESG Announcment list page only lists announcements with ballog_id
- Legacy-Id: 269
2007-06-08 19:21:03 +00:00
Bill Fenner b16a65966e I committed the middleware that uses this but forgot to commit
the template.
 - Legacy-Id: 268
2007-06-08 18:25:13 +00:00
Bill Fenner e08772430a Create "allononeline" filter and use it for list_wizard_done_email.
Use the Site to get the URL in list_wizard_done_email.

Set req for list_wizard_done_email as it is for approval email.

Only use domain-based extra approvers for non-WG requests.

Supply hidden fields for mlist_name and domain_name for deletion.
(These should be visible but uneditable, but passing them
through is a start)
 - Legacy-Id: 267
2007-06-08 18:21:44 +00:00
Bill Fenner 4e3769c963 Turn post_admin and archive_private into IntegerField instead of
BooleanField.  They are used as booleans, but represented in the
database as integers, so pretending they're boolean causes trouble
when saving empty values.
 - Legacy-Id: 266
2007-06-08 18:12:23 +00:00
Bill Fenner 804f669e45 Actually include the template. Don't use titlecase since
It Looks Weird To Say I Want To Move The Wg Email List For
Eap To Ietf.Org
 - Legacy-Id: 263
2007-06-08 17:07:51 +00:00
Henrik Levkowetz f55e0b00f9 * Adding a SERVER_EMAIL setting in settings.py and settings_local_test.py
* Adding the ability to take trailing comments in testurl.list files
 * Listing skipped (not tested) urls in the URL test
 - Legacy-Id: 262
2007-06-08 17:01:07 +00:00
Henrik Levkowetz 027d471dd0 Changing the default email-from address used whentesting, and tweaking the test output
- Legacy-Id: 261
2007-06-08 16:01:52 +00:00
Bill Fenner 2d9cc036a6 If we're passed in None, don't try to get the domain name out of it.
- Legacy-Id: 260
2007-06-08 15:48:09 +00:00
Bill Fenner 3cd72bc1fe Great leaps towards completing the mailing list request tool.
- Legacy-Id: 259
2007-06-08 15:30:34 +00:00
Henrik Levkowetz a99d598cc0 * Minor refactoring in ietf/tests.py
* Added correct dates for two entries in ipr_detail which had 0000-00-00,
   in the sql_fixup.sql file
 * Fixed test/run so it can be run from any directory
 - Legacy-Id: 258
2007-06-08 12:06:15 +00:00
Henrik Levkowetz 88666eac59 Some bugfixes after refactoring
- Legacy-Id: 257
2007-06-07 20:40:50 +00:00
Henrik Levkowetz 73bd413e07 A bit of refactoring in ietf/tests.py
- Legacy-Id: 256
2007-06-07 20:12:52 +00:00
Bill Fenner e851dbac27 Create mailing list domains table and idtracker Roles model.
Add fixtures to populate IAD into Roles and existing domains
and authorizers into mailinglists_domains.  (The Roles fixture
will become wrong when we get a new IAD so should be removed
after the production database has this value.)
 - Legacy-Id: 255
2007-06-07 17:58:06 +00:00
Henrik Levkowetz b93c34d7bb Removing 200-response non-parameter url from the testurl.list; they are better handled by the fallback test.
- Legacy-Id: 254
2007-06-07 17:40:06 +00:00
Henrik Levkowetz 742737251f Adding a placeholder HTTP 500 error page template
- Legacy-Id: 251
2007-06-07 14:17:09 +00:00
Henrik Levkowetz 7962e722d3 Adding HTTP 404 error page template
- Legacy-Id: 250
2007-06-07 14:11:43 +00:00
Henrik Levkowetz 8b17a99d22 Removing explicit listing of URLs caught by the fallback URL test.
- Legacy-Id: 248
2007-06-06 19:34:16 +00:00
Michael Lee ac82271bcb Update IESG Announcement scripts to work with latest models and template changes.
- Legacy-Id: 247
2007-06-06 05:11:06 +00:00
Bill Fenner 7fec55b633 Initial implementation of view_related. The related_docs() function
is still a work in progress.  I've been using
draft-ietf-dnsext-dnssec-protocol as a test case; related_docs()
returns the same 137 documents as the cgi code but some of the
relationships are different.  Right now, the skip argument is
ignored.
 - Legacy-Id: 246
2007-06-06 02:14:29 +00:00
Henrik Levkowetz f5027059b3 Corrected some test URLs. (should be changed later to not use underscore -- or we should change all dashes to underscore...)
- Legacy-Id: 245
2007-06-05 19:02:27 +00:00
Henrik Levkowetz cf878dc7a5 Some more permitted codes
- Legacy-Id: 244
2007-06-05 18:57:17 +00:00
Henrik Levkowetz 5e6a346ddc Should not compare apples and oranges
- Legacy-Id: 243
2007-06-05 18:48:14 +00:00
Henrik Levkowetz 49f8de31b4 Permitting both 404 and 200 responses for some URLs, for now; till we can run tests with a populated database
- Legacy-Id: 242
2007-06-05 18:43:48 +00:00
Henrik Levkowetz 24400ff103 Adding handler404 and handler 500 in the right place ,;-)
- Legacy-Id: 241
2007-06-05 18:18:40 +00:00
Bill Fenner 3754c0c6b4 Initial list wizard templates.
- Legacy-Id: 240
2007-06-05 18:05:57 +00:00
Henrik Levkowetz 1523f859af Adding 'handler404, hadler500' to apps needing them
- Legacy-Id: 239
2007-06-05 17:54:43 +00:00
Henrik Levkowetz e0a30980fa Can't use the mysql XML dump as fixture -- too optimistic! ;-)
- Legacy-Id: 238
2007-06-05 17:40:06 +00:00
Henrik Levkowetz 2f8f7742a4 Improved fix to the first undefined symbol problem in proceedings/models.py (Bills original fix in [213] reinstated)
- Legacy-Id: 237
Note: SVN reference [213] has been migrated to Git commit 01f0baaf56
2007-06-05 17:30:22 +00:00
Henrik Levkowetz 888418a14f Fixed two instances of undefined symbols in proceedings/models.py
- Legacy-Id: 236
2007-06-05 17:06:31 +00:00
Henrik Levkowetz 03c18bd33d Fixing a bunch of nits pyflakes were complaining about, in order to get a clean run. There are still at least 2 cases of using undefined values which needs scrutiny.
- Legacy-Id: 235
2007-06-05 16:58:58 +00:00
Bill Fenner 595c656afc Require a login instead of throwing an exception when an anonymous
user visits.

Handle a lack of UserMap or an incorrect PersonOrOrgInfo by
passing None to the template.
 - Legacy-Id: 234
2007-06-05 15:10:15 +00:00
Henrik Levkowetz 5c9e46027b Try to make the utils/listop functions return something sensible with empty input.
- Legacy-Id: 233
2007-06-05 15:05:31 +00:00
Henrik Levkowetz 47a88da313 Separate response count listing and assertions
- Legacy-Id: 232
2007-06-05 10:16:17 +00:00
Henrik Levkowetz fbcd9eddf3 Added test assertions requiring no non-200 responses and no exceptions for URLs not listed in the testurls.list
- Legacy-Id: 231
2007-06-05 10:14:24 +00:00
Henrik Levkowetz b7c816cf4e Added test functionality to extract all URLs in the apps and access those that
doesn't seem to take parameters.
 - Legacy-Id: 230
2007-06-05 10:11:18 +00:00
Henrik Levkowetz 745ae10965 Added some more internal IPs
- Legacy-Id: 229
2007-06-05 10:09:24 +00:00
comimom b73efa811a Complete Meeting Materials page
* Tested with IETF 67 and 68 data.
 * For testing, c_sub_cut_off_date should set to future date, otherwise a Closed page will show.
 - Legacy-Id: 228
2007-06-04 19:52:52 +00:00
Henrik Levkowetz 8ff20e3127 Expanded the test code which finds urlpatterns to extract all URLs
specified in the various Django apps of the site.  Also fixed the
documentation of the TemplatedForm factory to be more correct.
 - Legacy-Id: 227
2007-06-04 19:26:16 +00:00
Bill Fenner 4e25407e25 Use python module instead of file path to settings file.
Switch back to using a temp file, since unflatten/gvpr don't
like taking input straight from the while loop.
 - Legacy-Id: 226
2007-06-04 13:54:29 +00:00
Bill Fenner 688b4fdd43 Use revision_display to decrease the version number appropriately
- Legacy-Id: 225
2007-06-04 13:53:17 +00:00
Bill Fenner cae902a373 Add two middleware classes:
- SQLLogMiddleware.  This logs any INSERT or UPDATE performed by
a request.

- SMTPExceptionMiddleware.  This renders a "please try again"
(template email_failed.html) message when an attempt to send
email failed.  This uses a bit of a hack, in that the middleware
looks explicitly for smtplib.SMTPException, and smtplib can
raise other exceptions (particularly socket errors).  utils/mail/send_smtp
catches all exceptions and reraises non-smtplib exceptions as
fake smtplib exceptions, and the middleware undoes the wrapping.
 - Legacy-Id: 224
2007-06-04 13:52:34 +00:00
Henrik Levkowetz 600002f1f8 Cleaning out miscellaneous non-functional stuff from ietf/meeting/models.py
- Legacy-Id: 223
2007-06-04 00:50:48 +00:00
Henrik Levkowetz d5c66de1a1 Removing superfluous import
- Legacy-Id: 222
2007-06-04 00:46:40 +00:00
Henrik Levkowetz ae323e9181 Removing ietf/query.py which isn't being used
- Legacy-Id: 221
2007-06-04 00:43:21 +00:00
Henrik Levkowetz 8953e1a647 Turning off the test error for missing test URLs for now
- Legacy-Id: 220
2007-06-04 00:32:20 +00:00
Henrik Levkowetz eedd6a8e8c Made URL check code accept comment lines and empty lines in URL file.
Commented out broken URLs in the testurl.list
Fixed a missing import in ipr/views.py
 - Legacy-Id: 219
2007-06-03 23:39:02 +00:00
Henrik Levkowetz 3d4e9286c2 Minor tweaks to test output
- Legacy-Id: 218
2007-06-03 22:43:43 +00:00
Henrik Levkowetz c7230247b1 Making the url test more verbose. Adding an initial list of urls to test.
- Legacy-Id: 217
2007-06-03 21:21:29 +00:00
Henrik Levkowetz 9bced60e2f Added a top-level test module which will run through django URLs in any
committed file named 'testurl.list' in any directory in the ietf/ tree.
There is also a test for URL coverage -- if there isn't declared test
URLs for all the url patterns in ietf/urls.py this coverage test will
fail.
 - Legacy-Id: 215
2007-06-03 19:52:06 +00:00
Bill Fenner 1d54ad36c9 Use a known exception when there are too many path arguments (in bits)
- Legacy-Id: 214
2007-06-02 01:15:59 +00:00
Bill Fenner 01f0baaf56 Fix some undefined names reported by pyflakes
- Legacy-Id: 213
2007-06-02 01:12:41 +00:00
Bill Fenner faf885aabd MailingList model updates:
- Add domain helper function to default domain name to ietf.org
- Use correct values for post_who

Template updates:
- Use the domain helper function
- Use the post_who_display helper function
- Move some of the items that could wrap to the next line
 - Legacy-Id: 212
2007-06-01 20:40:21 +00:00
Bill Fenner 8628844700 Remove CRs from subject that comes from a template.
- Legacy-Id: 211
2007-06-01 20:40:02 +00:00
Bill Fenner ac853962e2 Reduce repetition in the templates by moving "add/delete" logic to
view.

Fix up logic in templates, mailing list closing emails look
correct (both approval and denial, with and without messages
from the approver).
 - Legacy-Id: 210
2007-06-01 19:13:21 +00:00
Bill Fenner 4e426dec4c Implement [most of] the approval side of mailing list requests.
Have to check the templates for deletion.
 - Legacy-Id: 209
2007-06-01 18:34:57 +00:00
Bill Fenner 949bc0cbb8 Oops, a unique_together of the first two fields is wrong, since
there are two ADs per area, and of the three fields doesn't add
anything real, so just don't try to make it unique.
 - Legacy-Id: 207
2007-06-01 18:10:50 +00:00
Bill Fenner e452d4b89d IESGHistory needs to have a single primary key. Will add to
[wiki:Models] page.
 - Legacy-Id: 206
2007-06-01 18:04:35 +00:00
Michael Lee 27edcb2b3e * Add meeting materials list page
* For testing, the page lists meeting materials regardless the submission cut off date.
 * Need to add Training sessions, IRTF RGs, and Interim WGs
 - Legacy-Id: 203
2007-06-01 04:10:39 +00:00
Bill Fenner 11714d1a0d Admin interface changes, a little field reshuffling, and
a new permissions system for announced_from values.
 - Legacy-Id: 202
2007-06-01 02:14:31 +00:00
Bill Fenner 6072945ba4 Handle, log, and reraise an smtplib exception.
- Legacy-Id: 201
2007-06-01 02:10:26 +00:00
Bill Fenner 4a5c6b5c57 Create I-D Search form, with field names matching the old search
form, to allow bookmarked searches to continue to work.
 - Legacy-Id: 200
2007-06-01 02:05:00 +00:00
Bill Fenner 0ecb3e5e8f Change from id to class designators for "largefont", etc.
- Legacy-Id: 195
2007-05-31 20:14:34 +00:00
Bill Fenner c8cc298c5d Add links to state description pages.
- Legacy-Id: 194
2007-05-31 20:14:02 +00:00
Bill Fenner 2b46e031e2 Use .count to gain a smidge of efficiency when checking for
a ballot set, and use the right comment syntax.
 - Legacy-Id: 193
2007-05-31 20:13:41 +00:00
Bill Fenner b5ce6e375c Extensive updates of idtracker.
ballot sets are now (hopefully) treated properly, except for the
row coloring.  They're also included in the "view_id" view.

Search is re-done, it turns out that using draft__<anything> means
that RFCs won't be matched, so build lists of possibly-matching
RFCs and I-Ds and pass them through.  This applies to filename,
group and rfc number.
 - Legacy-Id: 190
2007-05-31 19:24:26 +00:00
Henrik Levkowetz 0f64cde6c6 More minor cleanup based on pyflakes feedback
- Legacy-Id: 189
2007-05-31 09:46:56 +00:00
Henrik Levkowetz 4a289b821f Minor cleanup based on pyflakes feedback
- Legacy-Id: 188
2007-05-31 09:44:12 +00:00
Henrik Levkowetz 186f3f3043 Minor tweak: Make the links produced by the top index page end in '/'.
- Legacy-Id: 187
2007-05-31 09:14:49 +00:00
Bill Fenner 5f4d99a36a Implement status_of_items and last_call.
(Oddly, this status_of_items shows more than the cgi one; I can't
explain why.  Also, the cgi one showed the wrong intended status
for RFCs, and the wrong area for several documents.)
 - Legacy-Id: 186
2007-05-30 21:09:17 +00:00
Bill Fenner 7d52fffdcd Implement form for sending email feedback and the actual email sending.
- Legacy-Id: 185
2007-05-30 17:11:48 +00:00
Bill Fenner e9221db2be Minor admin interface tuning.
- Legacy-Id: 184
2007-05-30 15:18:34 +00:00
Bill Fenner 15a3474aed Annotate output graph with a parallelogram node with the model name.
- Legacy-Id: 183
2007-05-30 14:24:05 +00:00
Michael Lee 1c9bf9b1ca meeting_agenda_html.cgi porting has been completed.
* Add a new method, affiliation to idtracker/models.py, in class PersonOrOrgInfo
 * Agenda for the Plenaries should be stored in /home/master-site/proceedings directory to be displayed.
 * Bug found in listing ADs at the end of the agenda. An agenda always lists the current IESG instead of the IESG at each meeting. Bug is fixed in the ported tool.
 * meeting_agenda_text.cgi was obsolete, but ported anyway in case someone still has it bookmarked.
 - Legacy-Id: 182
2007-05-30 13:47:09 +00:00
Bill Fenner 27460c988b Don't do admin; it can't handle these tables.
- Legacy-Id: 181
2007-05-30 11:21:37 +00:00
Bill Fenner 3e634ccadd Get close to the look of the existing form. MultiEmailField might
belong in a project infrastructure file, not here.
 - Legacy-Id: 180
2007-05-30 11:20:46 +00:00
Bill Fenner 0eb450cab7 Finish the poorly-thought-through and poorly-implemented
GroupIETF->IETFWG rename.
 - Legacy-Id: 179
2007-05-29 13:39:32 +00:00
Henrik Levkowetz 380546ac46 A Ballot view which is good enough to deploy, I believe. The major
difference is that current ADs are not shown as part of old ballots.
 - Legacy-Id: 178
2007-05-29 00:04:57 +00:00
Bill Fenner e38f1dc967 A little progress on the mailing list request tool.
- Legacy-Id: 177
2007-05-28 18:51:55 +00:00
Bill Fenner 2f56324baa Updates for model names: singular, more descriptive.
- Legacy-Id: 176
2007-05-28 18:51:03 +00:00
Bill Fenner 38c07bacf1 We don't actually use GroupIETF here, so don't try to import it.
(This is actually preparation for renaming it.)
 - Legacy-Id: 175
2007-05-28 18:38:08 +00:00
Henrik Levkowetz 243a1a8616 Fixed some pages which broke due to the field name change ballot_id => ballot in IDInternal
- Legacy-Id: 174
2007-05-28 15:07:34 +00:00
Henrik Levkowetz 0298388ae8 Added a favicon in order to be able to distinguish the test tracker tabs from the datatracker tabs in the browser
- Legacy-Id: 173
2007-05-28 14:20:54 +00:00
Henrik Levkowetz 003d730cd7 First cut at a ballot view. Comment and Discuss text is missing.
- Legacy-Id: 172
2007-05-28 09:23:45 +00:00
Henrik Levkowetz 51a3214d96 Something changed in the model? IDinternal edit form was broken, fixed it
- Legacy-Id: 171
2007-05-28 09:22:59 +00:00
Henrik Levkowetz a9110c09c6 Added a simple filter to return an item in square brackets, for the ballot view.
- Legacy-Id: 170
2007-05-28 09:20:53 +00:00
Henrik Levkowetz a9fb0f7de1 Cleaned away unnecessary hidden fields in IPR form
- Legacy-Id: 169
2007-05-28 09:18:43 +00:00
Henrik Levkowetz 4aa8b5810a Separating out utility functions into their own files.
- Legacy-Id: 168
2007-05-28 09:17:30 +00:00
Michael Lee 959274e048 * Add links to WG charters and agenda files
* Add special note
 * Need to display combined sessions
 - Legacy-Id: 167
2007-05-25 04:12:17 +00:00
Bill Fenner 95a5093e53 Finish non-wg wizard logic: update database, send email.
Still need several templates (most notably deletion preview and
wizard_done)
 - Legacy-Id: 166
2007-05-24 21:05:51 +00:00
Bill Fenner ec09ffa870 The email shouldn't be split out like this.
- Legacy-Id: 165
2007-05-24 21:03:55 +00:00
Bill Fenner edd08f3d10 Log sent mail.
Use the right template for the subject.
 - Legacy-Id: 164
2007-05-24 20:38:27 +00:00
Bill Fenner cb94159896 Allow login/logout/password change. The initial view once logged
in (unless it's a forced login) will be the (incomplete) "my" view.
Username and logout link are in the upper right corner while logged
in.
 - Legacy-Id: 163
2007-05-24 20:18:11 +00:00
Bill Fenner 78186c7406 Use the "standard" django way to get at the settings.
- Legacy-Id: 162
2007-05-24 17:36:25 +00:00
Bill Fenner b8aa94d007 Add preview and done to NonWgWizard.
- Legacy-Id: 161
2007-05-24 17:29:05 +00:00
Bill Fenner 0ceb9e2b0c Add helper function email() to PersonOrOrgInfo, which returns the
email address in a 2-tuple that email.Utils.formataddr() accepts.
 - Legacy-Id: 160
2007-05-24 17:26:08 +00:00
Bill Fenner 19d77b754a Add mail-sending module. It uses the django settings file for several
bits of configuration (e.g., mail server, any authentication required,
etc.)  It has different behavior based on the setting of the
SERVER_MODE setting:

 - 'development' or 'test': the message will be sent as an attachment
   to ietf.tracker.archive+SERVER_MODE@gmail.com; the actual destination
   supplied won't be used.

 - 'production': the message will be sent to the addressees and a
   copy sent to ietf.tracker.archive+production@gmail.com .

There are several functions to call, depending on what you want
to pass:

 - send_mail_text() takes a request, "To:" list, From header (or None
   to default), Subject text, Body text, an optional Cc: list, and
   an optional dict with extra headers.

 - send_mail() takes a template and a context instead of the body text,
   and renders the template with the given context.

 - send_mail_subj() takes a template for the subject as well as for the
   body.  It uses the same context to render both templates.
 - Legacy-Id: 159
2007-05-24 17:17:47 +00:00
Henrik Levkowetz fb5013e849 IPR disclosure form submission now works.
Closing the ipr_generic.cgi ticket, but leaving ipr.cgi and notify.cgi open
till further testing has been done.  Also adding a new task for the IPR
update form.

There may still be some dead code to clean out, but I'm committing what
I have now since it provides working form submission :-)
 - Legacy-Id: 158
2007-05-23 20:11:34 +00:00
Bill Fenner 2d3bbede29 Allow day_id to be NULL, since breakfast time is stored that way.
Expand the sessions() helper function in MeetingTime to iterate over
the sessions and set the room_id helper attribute to the correct room.
This means that for the list returned by sessions(), s.room_id is the
correct room for this time.  It also changes the return value from
a QuerySet to a list, so you can't filter it further like a QuerySet -
but I don't think anything is using this functionality.

I didn't do the same for combined_sessions because I don't actually
know what that's used for - if it should be part of sessions, or
if it's even used.
 - Legacy-Id: 157
2007-05-23 17:22:16 +00:00
Bill Fenner 5528a04cd9 Use get() instead of filter()[0]. This results in a better exception
on failure (DoesNotExist instead of IndexError).

Call the database query once and store it in a temp variable instead
of doing the same query twice.

Handle day_id=NULL for the morning beverages/breakfast time.

Use the DoesNotExist exception instead of a generic except: for
the area - except: is likely to hide things that you didn't expect.
 - Legacy-Id: 156
2007-05-23 16:56:07 +00:00
Bill Fenner 4a5a5b1d59 Introduce initial authentication/authorization linkage. This has a
couple of aspects:

 - ietfauth.auth.EmailBackEnd is a django.contrib.auth backend to allow
   two modified authentication methods:

   - using email address (stored in django user table) as login username

   - using htpasswd-style "crypt" passwords (for compatability with
     existing user database).  On the first successful login, the
     password will be re-hashed to the django-hash style password.

 - ietfauth.models.UserMap: a mapping from django user to IETF
   person.  This is configured as the profile table, meaning
   that if you have a django user (e.g., from the RequestContext),
   you can use user.get_profile.person to get to the IETF person.

 - ietfauth.models has models for the "legacy" username/person mapping
   tables (LiaisonUser aka "users" and WgPassword aka "wg_password").
   This is to allow mapping of legacy permissions to django permissions
   by walking these tables and applying permissions to users.  The plan
   is to discard these tables eventually.
 - Legacy-Id: 155
2007-05-23 16:10:32 +00:00
Henrik Levkowetz d4d3b47ad1 Template formatting changes, to more easily see what's going on. And sorting on area within the timeslot.
- Legacy-Id: 154
2007-05-22 22:31:32 +00:00
Henrik Levkowetz 65f15c77bf Reverting to revision [151] -- committed way too much by mistake
- Legacy-Id: 153
Note: SVN reference [151] has been migrated to Git commit fca8b30b51
2007-05-22 22:29:28 +00:00
Henrik Levkowetz d981d5a617 Template formatting changes, to more easily see what's going on. And sorting on area within the timeslot.
- Legacy-Id: 152
2007-05-22 22:15:13 +00:00
Henrik Levkowetz fca8b30b51 The 'area' returned from the AreaGroup.objects is itself a foreign key,
which means we need to look up area_acronym, but that's also a foreign
key, so again we look up the value we want: acronym.  Simply doing
dictsort in the template on area would sort on the FK, I assume --
at least it didn't resolve things to 3 levels, each time looking up the
key we were interested in...
 - Legacy-Id: 151
2007-05-22 21:50:42 +00:00
Michael Lee b2f8368971 Need to order WG sessions by area
- Legacy-Id: 150
2007-05-22 20:27:36 +00:00
Bill Fenner 41b788ad30 Rearrange nwg model to get the fields in the right order.
Allow nwg wizard to have a per-step template.

Write templates for step 0 and add/edit step 1.
 - Legacy-Id: 149
2007-05-22 19:56:20 +00:00
Bill Fenner 5c1254f2df Add a block for sticking something into the head, and
one for local css.
 - Legacy-Id: 148
2007-05-22 19:54:08 +00:00
Bill Fenner 405ff8cb7a Allow specifying querysets.
Given the number of kwargs that some constructors take, perhaps the
better thing would be to be able to say "this field gets these
kwargs", so we could instead pass something like
other = { 'foo': {'queryset': Foo.objects.all()}, 'bar': {'fwip': 'baz'} }.
 - Legacy-Id: 147
2007-05-22 19:53:28 +00:00
Bill Fenner 1a5402da0b Add static method Areas.active_area_choices() for choice fields
Find business name or department from postal_addresses if there is
 no first or last name for person_or_org_info's __str__.
 - Legacy-Id: 146
2007-05-22 19:50:52 +00:00
Henrik Levkowetz 56f5fb5a98 Adding TransactionMiddleware to the setup.
- Legacy-Id: 145
2007-05-21 20:56:09 +00:00
Henrik Levkowetz 255e2e5a1a IPR Form stuff:
* Added validation code for RFCs and Drafts.
 * Some stylesheet tweaks.
 - Legacy-Id: 144
2007-05-21 20:36:21 +00:00
Henrik Levkowetz d7b47093a7 * Added alternating colours for the entry rows in the form tables
* Fixed yes/no radio button layout
 * Fixed submitter contact information copying for generic form
 - Legacy-Id: 143
2007-05-21 19:07:13 +00:00
Henrik Levkowetz f9c6c5c7d3 * Added IPR form fields for listing rfcs and drafts
* Some style tweaks
 - Legacy-Id: 142
2007-05-21 16:49:26 +00:00
Michael Lee 68970cb597 Two new methods have been added to proceedings/models.py to display meeting dates
- Legacy-Id: 141
2007-05-21 15:35:15 +00:00
Henrik Levkowetz 64dc0f83c6 * Some code reorganization, moving the large new-disclosure functiality
into view_new.py
 * Added error indication of the top of the page, in case there are any
   errors further down.
 * Set more fields to required, matching the old perl code
 * Various other tweaks.
 - Legacy-Id: 140
2007-05-20 23:42:39 +00:00
Henrik Levkowetz b0f1f5d845 More ipr form stuff.
- Legacy-Id: 139
2007-05-18 18:46:55 +00:00
Henrik Levkowetz 8d7053fc5c * Removed InternationalPhoneNumber class, instead using the form creation
callback to provide a RegexpField class.
 * Added checkbox for submitter contact information being the same as
   IETF contact information; with javascript support and validation
   support.
 * Cleaned out the old split_form() and mk_formatting_form() functions from
   ietf.utils.
 - Legacy-Id: 138
2007-05-18 15:50:30 +00:00
Michael Lee 8b2e90f212 * Display more session data
* Add 'area' to class ResolveAcronym
 * MeetingTime.session returns WgMeetingSession objects, BUT STILL NEED TO FIGURE OUT WHICH sched_room_id[1|2|3] TO USE
 - Legacy-Id: 137
2007-05-17 04:43:21 +00:00
Henrik Levkowetz 63fb17f4fd Changeset [133] needs a patched Django to work. Rather than requiring patches
to Django, work around this in our code.  Sort the session list with Python
code, rather than doing it as part of the query.  Since the session list is
very short, there is no problem with memory consumption in doing it this way.
 - Legacy-Id: 136
Note: SVN reference [133] has been migrated to Git commit 587d2baafe
2007-05-16 06:32:53 +00:00
Michael Lee 9e5d36c1d1 * Roll back WgMeetingSession.group_acronym_id per Bill
* add a method, acronym_name to ResolveAcronym
 * Sunday sessions displaying is done
 * Need to figure out how to increment date by one day in a template
 - Legacy-Id: 135
2007-05-16 04:32:17 +00:00
Bill Fenner 22518e16c0 Switch from pickle to str(). This may be wallpapering over the
problem, but apparently data that looks the same was pickling
differently, so was causing a checksum failure.
 - Legacy-Id: 134
2007-05-16 03:47:53 +00:00
Michael Lee 587d2baafe There is a known bug with order_by clause that returns error message when tables are joined with different field name. Please look up http://code.djangoproject.com/ticket/2210. I downloaded the patch file, replaced the existing -dir/django/db/models/query.py, and order_by in joined tables worked fine.
Updated query.py is attached.
 - Legacy-Id: 133
2007-05-15 19:47:43 +00:00
Michael Lee 1e1a2bb989 Display Meeting Agenda for Sunday
- Legacy-Id: 132
2007-05-15 05:02:03 +00:00
Henrik Levkowetz 6b65c11369 Ignore *.pyc, *.swp
- Legacy-Id: 131
2007-05-12 16:29:22 +00:00
Henrik Levkowetz cf20093762 * Moved utility functions into utils/ directory, and started breaking out
utilities into separate files.
 * Added a log() function in ietf/utils.  It uses syslog, but adds some
   information about where it was called from.
 - Legacy-Id: 130
2007-05-11 15:48:45 +00:00
Henrik Levkowetz 5315578c5d Added __version__ string
- Legacy-Id: 129
2007-05-11 15:45:45 +00:00
Bill Fenner 147d34aa19 Reorder urlize and linebreaks, to give urlize a better chance at
the email addresses.
 - Legacy-Id: 128
2007-05-10 23:39:33 +00:00
Bill Fenner cd8afa0844 Add the "keep_space" filter to turn " " into "&nbsp; ".
- Legacy-Id: 127
2007-05-10 23:30:05 +00:00
Bill Fenner f6a55f99d2 Change __str__ representation for a BallotInfo.
Add Positions, IESGComment, IESGDiscuss tables.  (These are
database tables 'ballots', 'ballots_comment' and ballots_discuss'
but I decided to name the classes differently.)
 - Legacy-Id: 126
2007-05-10 23:16:41 +00:00
Bill Fenner 2edecd6f0d Reindent NonSession.
Give NonSession a __str__ to try to help understand what is in it.
 - Legacy-Id: 125
2007-05-10 22:11:35 +00:00
Bill Fenner 6396c8ee73 Use (some) new class functions to generate choices
Defer choice generation from database until object instantiation.
 - Legacy-Id: 124
2007-05-10 22:09:27 +00:00
Bill Fenner 561c97bc72 Add choices() static functions to gather common choices
for select boxes.

Make BallotInfo's primary key an AutoField.
 - Legacy-Id: 123
2007-05-10 22:03:18 +00:00
Bill Fenner 2739083fbe Initial version of forms and views for mailing list submissions.
The nonwg_lists/submit wizard is nearly done; it needs templates
and to figure out why submit from step 2 goes back to step 1 instead
of calling done.

 The req_list wizard is just started.  It needs to get the incoming
value of domain_name as an alternat version of dname, and be able to
get dname from GET args to handle the javascript redirect.  It also
needs all the workflow ("I'm allowed to create this list",
who-is-approver, etc.) and additional forms.
 - Legacy-Id: 122
2007-05-10 22:01:36 +00:00
Bill Fenner 95209614b5 Introduce contrib/ to hold form wizard tool from django's trac.
Move form_decorator help function from utils.py to contrib/
 - Legacy-Id: 121
2007-05-10 21:57:22 +00:00
Michael Lee 73db42db56 Move the logic part to views.py for IESG announcement pages
- Legacy-Id: 120
2007-05-10 21:31:47 +00:00
Michael Lee f1ef54883d Remove extra method idballot from InternetDraft
- Legacy-Id: 119
2007-05-10 15:14:33 +00:00
Henrik Levkowetz 8e16dd2aea Template Cleanup - get rid of unused IPR templates
- Legacy-Id: 118
2007-05-10 15:08:08 +00:00
Michael Lee dc3f03480d * Add IESG Announcements pages
* Add BallotInfo model in idtracker models
 * Modified iesg/url.py for IESG Announcement pages
 - Legacy-Id: 117
2007-05-10 15:06:48 +00:00
Henrik Levkowetz 921236978b Add a reasonable default setup for syslog
- Legacy-Id: 116
2007-05-10 14:41:54 +00:00
Bill Fenner e1d94fce9a Set related_name values for prev_state and prev_sub_state, even though
I can't see a use for them, since setting "None" doesn't actually remove
 the reverse relation.
 - Legacy-Id: 115
2007-05-09 22:31:44 +00:00
Bill Fenner ab92a838a9 The Latin1 encoding setting actually causes problems, since django
assumes that data coming back from the database is unicode so the
 Latin1 data fails to decode properly.
 - Legacy-Id: 114
2007-05-09 22:08:48 +00:00
Vidyut Luther e7bd78c02b not sure why svn is being stupid here..this commit is worthless, and probably will fail
- Legacy-Id: 113
2007-05-09 22:04:05 +00:00
Vidyut Luther 384c992a92 removed extraneous .pyc files
- Legacy-Id: 112
2007-05-09 21:55:44 +00:00
Vidyut Luther 783ffb713d - Legacy-Id: 111 2007-05-09 21:05:20 +00:00
Henrik Levkowetz f1e70cbbe4 Some ipr/model.py field re-arranging to make the admin interface come out nicer
- Legacy-Id: 110
2007-05-09 06:16:50 +00:00
Bill Fenner d6b328188f Add accessors for "all sessions at this time" and "all combined
sessions at this time"
 - Legacy-Id: 109
2007-05-08 22:24:21 +00:00
Bill Fenner 96ae389b74 Use an idtracker-specific base.html instead of having the same
boilerplate in each template.

 Add evaluation_process (view_evaluation_desc) and ballot_key (view_key)
templates and urls.
 - Legacy-Id: 108
2007-05-08 22:22:03 +00:00
Henrik Levkowetz c915c5f7e6 * Added automatic 'required-field' indicator to the form rendering
* Made 'Legal Name' field in the IprDetails model required
 - Legacy-Id: 107
2007-05-06 23:29:10 +00:00
Henrik Levkowetz 26a97835a5 * More logic moved to ipr/views.py.
* Added InternationalPhoneNumberField to ipr/models.py
  Probably should be moved to a common model class file.
 - Legacy-Id: 106
2007-05-06 22:09:52 +00:00
Henrik Levkowetz e8980df65f IPR Form display now works with the same template as data display.
Using some more logic in views.py, less in the templated.

 * Some tweaks in FormattingForm rendering.
 * Selection of which sections to show is now table driven in views.py
 * Some minor refactoring and cleanup in views.py
 * Some more form subclassing in ipr/views.py in order to support form
   validation.
 * Removed style information from ipr/details.html template, and added
   ipr/style.html
 * Cleanup of details.html
 * Fixed ipr/formfield.html to display error messages, and with the right
   class.
 - Legacy-Id: 105
2007-05-06 19:18:17 +00:00
Henrik Levkowetz 68d4a58fa7 The fourth (and last?) take on a form from multiple models,
using pretty much the same template as for a non-form view.

This solution is less hackish than the previous one which
used the form.as_table() rendering of a form, and then split
the resulting html in chunks.

Instead, '''all''' the html has been moved out to a formfield
template, and a custom form class is generated which will render
the form elements using an indicated template.

 * Add form factory in utils.py (an old version which still has
   html in the code is there for history, but will be removed

 * Changes in ipr/views.py:new(), now subclassing one form with
   some class members being other form instances, matching the
   members used for the show() view

 * A fix in ipr/models, making an email field use models.EmailField

 * Reverting a number of changes in ipr/details.html which aren't
   needed any more, as well as in ipr/new.html; and adding
   ipr/formfield.html
 - Legacy-Id: 104
2007-05-06 05:35:46 +00:00
Henrik Levkowetz 80829985a0 Added prettifying middleware (from djangosnippet 172)
- Legacy-Id: 103
2007-05-06 05:14:25 +00:00
Henrik Levkowetz d927568b25 * Added henrik's IPs to local sites in settings.py
* Added accessor functions for contacts to ipr/models.py
 * Added an IPR feed
 - Legacy-Id: 102
2007-05-05 08:58:22 +00:00
Bill Fenner f9b9b51536 Add author to iesg telechat minutes feed, to make it valid.
Add document comments feed to top-level urls.
 - Legacy-Id: 101
2007-05-04 21:49:21 +00:00
Bill Fenner 5fb1900540 Remove rfcs model; it's now in idtracker.
- Legacy-Id: 100
2007-05-04 21:35:33 +00:00
Bill Fenner 19896dc647 Adapt to moved Rfc model.
- Legacy-Id: 99
2007-05-04 21:35:12 +00:00
Bill Fenner e73f7dbf5f Implement most of view_id.
* Moved RFCs model into idtracker
 * Switched idtracker querys to use idinternal
 * Created idinternal.document which returns either an InternetDraft or
   an Rfc depending on the value of rfc_flag
 * Create compatability methods in InternetDraft and Rfc models
   to be able to use certain attributes in the template without
   worring about where they come from.

Ticket #59 has a list of remaining bits.
 - Legacy-Id: 98
2007-05-04 21:33:56 +00:00
Henrik Levkowetz c2c08c9edc * Added a new funtion in utils.py: split_form()
* Re-wrote the IPR declaration form using form.to_table()
   and the split_form() function in order to get sub-blocks
   of the form which could easily be used with the existing
   IPR detail display templates.

   How to merge forms from multiple models took some thinking;
   since the forms have a common ancestor, multiple inheritance
   doesn't preserve the form data.  In the end the merging
   didn't turn out too horrible.  See ipr.views.new().
 * Changed the IprDetail model; first to specify editable=False
   for all fieleds which shouldn't be shown in the form, but
   this has the drawback of also removing them from the admin
   page form.  Simply bagging them in an un-used sub block with
   split_form() works fine.
 * Changed the URLs for IPR by-date some again
 * Updated the ipr/new* templates to use the form sub-blocks
 - Legacy-Id: 97
2007-05-04 20:21:03 +00:00
Henrik Levkowetz 5872696834 Moving ietf to trunk/ietf
[[Split portion of a mixed commit.]]
 - Legacy-Id: 96.1
2007-05-04 12:37:28 +00:00