Commit graph

147 commits

Author SHA1 Message Date
Henrik Levkowetz e4f4467725 Changed tests to use our own subclassed TestCase, and changed almost all fixtures to be perma_fixtures.
- Legacy-Id: 6320
2013-09-30 20:36:20 +00:00
Henrik Levkowetz 1dae75ee59 The exception string for submission upload read errors seems to have changed after we switched to wsgi, from "Client read error" to "request data read error". Now looking for just "read error".
- Legacy-Id: 6264
2013-09-26 06:29:28 +00:00
Ole Laursen 742dbace24 Move views and templatetags from idrfc/ to doc, the I-D specific views
go into views_draft.py and tests in tests_draft.py; what's left in
idrfc is wrapper code, templates and the ballot_icon templatetag
 - Legacy-Id: 6051
2013-08-14 10:32:25 +00:00
Ole Laursen 867f7a8149 Get rid of some pre-redesign dead code in submit to get rid of idrfc import
- Legacy-Id: 6047
2013-08-13 14:47:49 +00:00
Henrik Levkowetz 6baea429aa Merged in the nomcom app from ejimenez@yaco.es and esanchez@yaco.es, and accompanying dbtemplate app and the (standard) docutils module. Added some tweaks to get all tests to pass and migrations to run.
- Legacy-Id: 5948
2013-08-06 10:09:29 +00:00
Henrik Levkowetz 1e03a04eca Changed the mimetype detection code to only read first 4k block of file, not the whole file.
- Legacy-Id: 5878
2013-07-25 18:28:18 +00:00
Henrik Levkowetz a8c2bc80e9 Fixed bug in the rewritten mime-magic code.
- Legacy-Id: 5877
2013-07-25 15:20:21 +00:00
Henrik Levkowetz 4ed0337cae Made the code which uses the 'magic' module to determine file type and encoding work with both the old and new interface to python-magic.
- Legacy-Id: 5876
2013-07-25 14:45:01 +00:00
Henrik Levkowetz e678659b56 Merged in a lot of shim-layer removals from olau@iola.dk
(-r5194:5465 from branch/iola/shimfree).  Copying relevant
commit messages here:

  - Removed .related many to many relationship, it's not really useful
    since we always have to restrict on the relationship type anyway,
    instead add two helpers for doing the necessary queries (in both
    directions)

  - Added migration for transforming the .desc on the new_revision events
    into something more akin to what is actually shown in the history page

  - Added migration for blanking IESG notes that just consist of "RFC
    XXXX", these have been superfluous for some time

  - Grant stream chairs access to changing the stream on a draft

  - Hacked the format_history_text filter to be less weird, using the same
    formatting for snippets and full text, also link up legacy ballot set
    events

  - Moved the decoraters + utilities to new ietfauth/utils.py file

  - Added simple helper to Email to identify invalid email addresses (from
    legacy author entries)

  - Used new new_revision .desc format for when drafts are submitted

  - Improved the looks of the button class by adding extra contrast and a
    linear gradient. Currently the gradient is only visible in fairly
    recent browsers.

  - Rewrote draft and RFC tabs in terms of the new schema, porting
    write-up and history tabs as well

  - Fixed two bugs in RFC Editor syncing: make sure documents we don't know
    beforehand get a "draft" type and make sure individually submitted
    drafts get the type="individ" group instead of NULL

  - Made the CSS-styled button feel a bit nicer to use by flattening the
    active state, also introduce some temporary styles until browsers
    catch up with the standard syntax

  - Added migrations for fixing 1) a dummy RFC entry, 2) three stand-alone
    RFCs that didn't get their doc.type set, 3) a big bunch of historic
    stand-alone RFCs that have doc.group=None - set these to the
    individual submission "none" group for the time being so the view code
    doesn't have to deal with a special case.

    In some cases this is wrong since there actually was a WG associated
    but unfortunately fixing them properly requires detective work
    (probably parsing the RFCs) and in at least some cases recreating
    historic WGs. In case someone ends up doing this, the documents to
    check can still be found with

    Document.objects.filter(name__startswith="rfc", group__type="individ")
    since there are almost no new RFCs that didn't went through the I-D
    process.

  - Merged the I-D and RFC views by showing I-D information on RFCs too.
    I-Ds that have been published as RFCs redirect to the RFC URL. Also
    support alias URLs so e.g. /doc/bcpXXXX redirects to /doc/rfcXXXX.

  - Fixed revision augmentation so events after RFC publication gets a "RFC"
    designation

  - Fixed a bug with tabs not using provided name but rather doc.name

  - Displaying draft-iesg state rather than doc.friendly_state as IESG state,
    also show a notice that the IESG state refers to post-RFC processing
    if it does, like the old separate RFC page did

  - Fixed the RFC number doc.note migration to catch combined "RFC XXX; BCP
    XXX" notes too, use the opportunity to remove inserted HTML tags from
    notes and rely on linebreaksbr filter instead (the other thing was a
    left-over from the Perl days), update the various uses of the note to
    reflect that

  - Refactored slightly to make views_doc.py independent of other idrfc code

  - Moveed idrfc/views_doc.py to doc/ with associated templates, replace the
    somewhat fragile simple URL tests for views_doc.py with ordinary unit
    tests. The new tests are still fairly basic but at least test more
    than the URL tests did.

  - Made sure RFC's (and BCP/STD/FYI) are stored as RFC123 instead of
    RFC0123 in the alias table with a new migration and a change to the
    RFC Editor sync, this in turn makes /doc/std1/ do the right thing

  - Now /doc/std1/ works, we can actually do a local link in
    urlize_ietf_docs rather than linking to the tools.ietf.org server

  - Fixed history text formatter: sanitize HTML before adding linebreaks and
    non-breaking spaces, this cuts the time to render a history page with
    long comments in half

  - Added a test crawler that walks through the crawlable part of the site,
    reporting errors and slow pages

  - Got rid of initial "No record" positions when showing old positions,
    it's just noise

  - Added a .select_related() to the document main tab to reduce the number
    of DB queries, unfortunately it seems it doesn't really help with
    Django 1.2.x due to a bug (Document inherits from DocumentInfo which
    makes things a bit more complicated)

  - Introduced a simple cache in doc.get_state so repeated reads don't
    cause a DB query

  - Cleaned up the search code in preparation for removal of the shim-layer;
    use a static button and don't send extraneous GET parameters

  - Removed dead code in several places
 - Legacy-Id: 5830
2013-07-15 20:55:24 +00:00
Henrik Levkowetz fb68f35ca3 Remove keyword argument which isn't understood by log()
- Legacy-Id: 5757
2013-05-23 17:58:01 +00:00
Henrik Levkowetz 08f5d1dc08 Preparatory work for adding a 'Replaces' field to the draft submission tool.
- Legacy-Id: 5719
2013-05-09 20:08:40 +00:00
Henrik Levkowetz df2a579c42 Don't use non-ascii names in the email lists (at least for now).
- Legacy-Id: 5700
2013-05-06 16:36:23 +00:00
Henrik Levkowetz 3418d3db45 Cleaning up old unused migrations for the submit app, and setting up a new
migration for a new submission field: replaces.
 - Legacy-Id: 5682
2013-04-21 21:23:39 +00:00
Henrik Levkowetz f159416157 Remove debug code.
- Legacy-Id: 5663
2013-04-18 22:14:26 +00:00
Henrik Levkowetz 90fe3989ee Changed which email addresses the submission tool uses for confirmation emails and sending out full submission status URLs from the emails found in the submitted document (which could be empty, broken, or intentionally different than the original authors) to the author emails from the previous version, where a previous version exists. This fixes breakage which can occur when no valid email addresses can be found in a broken submission, and also ensures that at least one of the authors of a previous version signs off on a new version, preventing submission hijacking.
- Legacy-Id: 5650
2013-04-15 22:12:31 +00:00
Henrik Levkowetz 2f3476690f In order that document states (which may be used by old documents) should not need to be removed when state machines change and states go out of use, all document states have a 'used' field. The code which accesses the state fields have not been requiring that used=True for the states returned, which is an error. Fixed this by adding 'used=True' to all State.objects.get() and State.objects.filter() call where it's relevant.
- Legacy-Id: 5486
2013-03-05 23:24:41 +00:00
Ole Laursen f85ce040a6 Use new new_revision .desc format for when drafts are submitted
- Legacy-Id: 5212
2013-01-16 14:37:50 +00:00
Henrik Levkowetz 1fbcd783f3 Merged branch/iola/statesync up to @5118 to trunk.
- Legacy-Id: 5147
2012-12-20 20:32:03 +00:00
Henrik Levkowetz 83f7b4ca5a Got rid of some debug traces.
- Legacy-Id: 5130
2012-12-15 22:45:47 +00:00
Henrik Levkowetz 3a7480520f Merged [4999] from jmh@joelhalpern.com:
Correct test of final shepherd update flag.
 - Legacy-Id: 5014
Note: SVN reference [4999] has been migrated to Git commit aba18e8f38364ad17d451d0ed7e33aa01dfbeb52
2012-11-07 12:50:38 +00:00
Henrik Levkowetz 1c12b295ef Fixed a misleading error message given when disallowed character occurs in a draft filename.
- Legacy-Id: 4946
2012-10-22 18:18:49 +00:00
Ole Laursen c20a5f6bf0 Convert the submit tool to associate RGs and IAB with drafts instead
of assigning them to individual submission, this is not a complete
overhaul but at least basic support so submission works and doesn't
say WG when it means RG.
 - Legacy-Id: 4910
2012-10-10 16:15:09 +00:00
Ole Laursen 33baa215b8 Send new draft revision notifications to iab-stream@iab.org as per
IABs request
 - Legacy-Id: 4889
2012-10-03 08:52:24 +00:00
Ole Laursen 444a57a266 Notify iab@iab.org rather than the IAB Chair on new versions of IAB
stream drafts
 - Legacy-Id: 4867
2012-09-20 10:42:55 +00:00
Ole Laursen 513c2bcf4c Handle IANA Review state intelligently upon draft submission, email
IRSG/ISE/IAB on uploads to alternate streams, email RFC Editor in case
a draft under publication has a new upload
 - Legacy-Id: 4855
2012-09-17 16:06:21 +00:00
Henrik Levkowetz 88ea94ca44 Fixed another typo.
- Legacy-Id: 4818
2012-08-28 19:59:56 +00:00
Henrik Levkowetz e1d6e5f0ee Fix typo in import.
- Legacy-Id: 4816
2012-08-28 18:13:33 +00:00
Henrik Levkowetz 40081edc27 Don't try to add a ballot's AD email addresses to a new version notification email if there's no ballot. Also did some linguistic fixes, and got rid of a wildcard import.
- Legacy-Id: 4809
2012-08-24 08:49:32 +00:00
Robert Sparks 87ebddd0ba Simplified access to current BallotDocevent from a Document.
Added functions to BallotDocEvents to faciliate access to BallotPositionDocEvents, both for all positions, and current AD postions.
Updated the moderator package to use the Documents from _agenda_data.
Added a filter to assist with rendering the moderator package.
Fixed a bug where different functions in idrfc/views_ballot were using log_state_changed expecting different implementations (a cleanup task should reconcile the _three_ implementations in the codebase of that function).
 - Legacy-Id: 4768
2012-08-17 20:45:32 +00:00
Robert Sparks fb2b9c9e6c Removed some duplication between doc/util and doc/models by moving things into doc/models. Fixes bug #857
- Legacy-Id: 4750
2012-08-02 21:36:36 +00:00
Robert Sparks da3e916f72 Moves the prefix for the URI to use for rfcdiff into settings.py.
Fixes bug #808
 - Legacy-Id: 4701
2012-07-28 20:19:36 +00:00
Henrik Levkowetz 798f7697af Merged [4600] from rjsparks@nostrum.com:
* Adds a new document type for conflict reviews, with a ballot for the IESG 5742 response to a review request
* Integrated the new document type into the iESG agenda views (including RSS feeds)* Removed the Edit and Add buttons from the document main view.
* Replaced Add with actions appropriate for the document type, such as "Begin IESG Processing" or "Begin IETF Conflict Review", and made most data directly editable on the document's main page, depending on access permissions.
* Removed a manual editing step that the secretariat had to perform when sending conflict review messages. The view now composes the message correctly given the stream.
* Added a pencil icon motif to differentiate fields that are editable.
* Generalized several views and helper functions to use Document instead of (e.g.) IdWrapper
* Generalized reading documents from the repository
* Added a way to get from IdWrapper  to the underlying Document to facilitate migrating way from the Wrapper classes* Added many helpers to Document to assist with migrating off IdWrapper
* Minor fixes and other changes
  * Fixes to document main view to avoid (silent) template failures. 
  * Began removing some of the code that is no longer reachable post-migration  * Corrected the behavior of the undefer code and added test cases for it
  * Improved initial population of notification lists and added the ability to regenerate the initial list
* Made the test code that scans for template coverage more robust
* Deployment notes:
  * new setting: CONFLICT_REVIEW_PATH. The associated directory will need to be created

This branch fixes bugs #805, #744 and #812
 - Legacy-Id: 4652
Note: SVN reference [4600] has been migrated to Git commit 798e7a50e7
2012-07-28 16:29:28 +00:00
Henrik Levkowetz a554288faf Tweaked the I-D submission confirmation email some more, to be able to update the test suite to find the confirmation URL in the message.
- Legacy-Id: 4645
2012-07-27 22:48:56 +00:00
Henrik Levkowetz 0c49999fc9 Updated utils/draft.py and modified the submit app code accordingly.
New features (keep in mind that utils/draft.py can be run standalone
to do extraction of draft author data, too):

  * The handling of author info formatted in columns causes problems
    in the face of an author named for instance A. Author with the
    company 'Al Author and Associates', causing breakage of email
    addresses longer than 'Al Author and'.  Tweaked the recognition
    of column data to require multiple (not only one) space around
    'and'.

  * Added support for extraction of author affiliation.

  * Tweaked the meaning of -t, --timestamp and added --notimestamp; and
    made the default be to emit leading timestamps based ont the draft
    file time.

  * Added support for running author extraction on RFCs, by not bailing
    out on not finding a draft name when RFC information is available.

  * Added support for additional date formats and author name formats.

  * Improved creation date extraction -- previously, the first supported
    date format which was recognized on the first page of the draft would
    be used, rather than the first date in a supported format.  This could
    cause errors if the Status of Memo section or Abstract contained a
    date occurring at the start of a line.

  * Tweaked the honorific regex to make things work better for the case
    when the full name in the author's address section includes a first
    name which isn't part of the first-page abbreviated name.  Fixes
    problems with draft-chiappa-lisp-introduction and similar.

  * Added a special case for people who provide their email address as
    'foo&cisco.com' instead of 'foo@cisco.com'.  Bah.

  * Added an alternative, more human-readable key-value-pair attribute
    output mode with a '-a' switch.

  * Tweaded the first-name regex to capture cases where the first name
    is indicated with an alternate first letter: 'Y(J) Stein'.  Fixes
    problems with draft-anavi-tdmoip and similar.
 - Legacy-Id: 4612
2012-07-11 12:51:33 +00:00
Henrik Levkowetz 6bc68a9a51 Behave slightly more gracefully if a submission has already been moved into place, and we're asked to do it again.
- Legacy-Id: 4548
2012-06-28 19:22:59 +00:00
Henrik Levkowetz 7474b27348 Merged in branch/iola/approval from olau@iola.dk, which provides a pre-approval page for new WG drafts.
- Legacy-Id: 4486
2012-06-21 00:24:48 +00:00
Henrik Levkowetz afe3ee71b8 Merged in fixes from Ole, from branch/charter:r4382-4407, and some changes from Henrik (removing the use of pos.blocked in views_ballot.py, and setting a ballot id in idrfc/testsREDESIGN.py) to make idrfc.EditPositionTestCase succeed.
- Legacy-Id: 4444
2012-06-10 16:22:16 +00:00
Ole Laursen ed96cee2e4 Add listing of recently approved drafts to approval page by request
from Barry Leiba.
 - Legacy-Id: 4420
2012-05-14 18:21:34 +00:00
Ole Laursen c2b8c653fd Fix bug in submit, had forgotten I had replaced filename with name in
Preapproval model.
 - Legacy-Id: 4413
2012-05-10 18:22:03 +00:00
Ole Laursen 188c0846d0 Add approval/pre-approval page for Secretariat and WG Chairs, with
subpages for adding and canceling pre-approvals and a set of
migrations for replacing the old IdApprovedDetail with a slightly less
confusing Preapproval model.
 - Legacy-Id: 4411
2012-05-10 18:07:59 +00:00
Ole Laursen da3c40de49 Fix test error introduced by ballot refactor (test didn't set up
ballot position properly).
 - Legacy-Id: 4405
2012-05-07 19:21:26 +00:00
Henrik Levkowetz 29b4090bac Add an assertion in the test code to explicitly check that we have an OK idnits result.
- Legacy-Id: 4298
2012-04-22 14:17:27 +00:00
Henrik Levkowetz 896c1272c8 Indicate UTC on passed cut-off time and reopening time.
- Legacy-Id: 4155
2012-03-21 14:24:37 +00:00
Ole Laursen 0bc71c7146 Fix problem with concurrent posts as reported in #813 by preventing
accidentally submitting a post twice (with Javascript) and modifying the
move-old-files-to-archive code to not move the files away if they
belong to the same submission as the one we're accepting (this
mitigates a concurrent post to at least not end up with a non-existing
draft).
 - Legacy-Id: 4112
2012-03-16 17:22:33 +00:00
Ole Laursen e7cf907c94 Only set state "WG Document" on revision 00 documents, fixes problem
with overwriting manually set WG states when a new version is
submitted. Fixes #797.
 - Legacy-Id: 4074
2012-03-12 12:08:48 +00:00
Ole Laursen 117eac031a Be a bit more careful with handling the submitter info as well as it
turns out there are some (although apparently all old) entries with
author_order = 0
 - Legacy-Id: 4015
2012-03-01 18:06:38 +00:00
Ole Laursen 3ebee25c2a Handle users without a profile gracefully
- Legacy-Id: 4014
2012-03-01 17:47:02 +00:00
Ole Laursen 08a3ec7687 Work around problems if a document has two authors connected who's the
same person (fix the data issue rather than throwing an exception)
 - Legacy-Id: 4013
2012-03-01 17:18:37 +00:00
Ole Laursen 124b398729 Guard against None coming out of the draft parser, we need to convert
that into an empty string, fixes #775.
 - Legacy-Id: 3997
2012-02-28 18:37:22 +00:00
Ole Laursen 0144bcd05b Only set wg-doc on WG documents
- Legacy-Id: 3980
2012-02-26 21:32:24 +00:00