Commit graph

312 commits

Author SHA1 Message Date
Henrik Levkowetz b02b0a96df All tests pass, except for some pyflakes tests which I believe are fixed in trunk.
- Legacy-Id: 7579
2014-04-06 20:04:36 +00:00
Robert Sparks 1221f79af9 Updates and bugfixes to the agenda editing features
* Removes the pattern of using ScheduledSession m2m objects with one of the relationships left as None
* Improves scheduled session state handling
* Simplifies sending email to scheduled session requestors
* Improved timeslot purpose and room editing
* Improved access controls to editing forms
* Better test coverage for the meeting views
* Improvements to the javascript driven by prototyping automated tests
* Better initialization of a new meeting
On the session request form:
  - Allows specifiying room resources (projectors, meetecho)
  - Allows specifying what people must be present
On the schedule editing page:
  - correctly calculates conflict levels
  - displays conflicts in and out of each session separately
  - italicizes BoFs
  - shows resource and people conflicts
Adds automated placement as a management command

Commit ready for merge.
 - Legacy-Id: 7561
2014-04-01 22:17:18 +00:00
Ryan Cross 0fafe56381 allow edit of timeslots, changes to scheduled notifications, support non-official schedules
- Legacy-Id: 7554
2014-03-28 23:16:41 +00:00
Henrik Levkowetz ff0dbe0d52 Merged in source:personal/henrik/r7446-pyflakes@7463, which adds pyflakes tests to the test suite, and makes the code pyflakes-clean.
- Legacy-Id: 7521
2014-03-19 18:48:33 +00:00
Ole Laursen 9ddecc1970 Remove uses of gzip middleware - the decorator thing breaks the ETags for some reason, as noted in issue #518, and it seems consensus is that we should do this in Apache instead for the whole site
- Legacy-Id: 7519
2014-03-19 17:40:21 +00:00
Robert Sparks be81557611 Shifted building the edit time slices from looking at scheduledsessions to looking at timeslots
- Legacy-Id: 7511
2014-03-17 21:49:01 +00:00
Robert Sparks 0d5a940f55 Create no ScheduledSessions with session=None
- Legacy-Id: 7510
2014-03-17 18:54:11 +00:00
Henrik Levkowetz 02031a01b9 Cleaned out some (arbitrary) submodule name imports into ietf.utils, and made the corresponding import statements import the names directly from the correct submodules.
- Legacy-Id: 7495
2014-03-16 07:09:38 +00:00
Henrik Levkowetz c296cb479f Made ietf/meeting pyflakes-clean. Removed some debug-related dead code.
- Legacy-Id: 7473
2014-03-15 18:57:07 +00:00
Henrik Levkowetz 5bef5d11ae Made doc/ pyflakes-clean.
- Legacy-Id: 7462
2014-03-15 16:09:47 +00:00
Robert Sparks 08ae032169 added a roomresource to the meeting test data
- Legacy-Id: 7460
2014-03-14 20:24:03 +00:00
Robert Sparks 62600beefa improved test of scheduledsessions_json, added tests for extending a session
- Legacy-Id: 7459
2014-03-14 03:39:42 +00:00
Robert Sparks 1ef73b5a76 Reworked the worst of the conflicting permissions policies
- Legacy-Id: 7458
2014-03-13 20:45:06 +00:00
Robert Sparks f4a72ffe2a cleaned up permissions on dajaxice calls, ported and expanded more tests, refactored sendEmail, made a secr filter more robust
- Legacy-Id: 7457
2014-03-13 18:47:31 +00:00
Robert Sparks 1a3c2ce431 Patched meeting/ajax to close permissions vulnerability. Tweaked tests to check the right functionality given the permissions policy currently in trunk
- Legacy-Id: 7456
2014-03-13 17:39:34 +00:00
Robert Sparks f292af9949 minor comments and one addition to test_save_agenda...
- Legacy-Id: 7453
2014-03-12 17:34:27 +00:00
Robert Sparks ad2784962f ported forward from personal/rjs/trunk-7174. Still one existing test failing
- Legacy-Id: 7449
2014-03-08 10:37:24 +00:00
Henrik Levkowetz 722a008d25 Fixed overflow error for meetings without timeslots, which gave server errors for meeting/64/agenda.html.
- Legacy-Id: 7276
2014-02-20 11:26:52 +00:00
Robert Sparks b1e0ba3d1b Adds the IAB-parented sessions to the set of things returned as "areas"
Fixes bug #1288
Commit ready for merge
 - Legacy-Id: 7204
2014-02-04 15:59:34 +00:00
Henrik Levkowetz 6e97c2c8da Merged in the port from Django 1.2 to Django 1.6 from olau@iola.dk: branch/iola/djangoport@7121, and fixed some merge issues.
- Legacy-Id: 7152
2014-01-18 21:02:40 +00:00
Ole Laursen 7dcaed414d Add a simple test of the dajaxice.core.js hack for the time being
- Legacy-Id: 7084
2014-01-08 18:13:10 +00:00
Ole Laursen c7a2c64c10 Get rid of fixtures that were added for the meeting tests previously, they are not used anymore, and incomplete so will not load with Django 1.6
- Legacy-Id: 7070
2013-12-24 16:14:05 +00:00
Ole Laursen d5b14f3fb3 Rewrite meeting tests: add fake data generator, rewrite the
SimpleUrlTest tests to work with fake data and expand them a bit (they
are still pretty basic), rewrite the agenda editing tests to work with
the small generated fake data, delete those tests that are trivial or
only testing fixture facts as opposed to actually exercising the code,
combine some of them, expand most to actually check the returned JSON
and generally clean up the copy-paste mess of incorrect comments and
incorrect POST data.

At this point, no tests are using the real data base test machinery,
so one can run the full test suite with just

  python manage.py test --settings=settings_sqlitetest

This takes about 72 seconds one a 2.4 GHz Intel Core 2. The
test-crawler and other real data tests take somewhat longer, though.
 - Legacy-Id: 7069
2013-12-24 16:09:33 +00:00
Ole Laursen 3408b73872 Use request.POST directly instead of aliasing it to update_dict, add a
FIXME on permission naming
 - Legacy-Id: 7068
2013-12-24 15:59:01 +00:00
Ole Laursen f8b1568c87 Rewrite meeting PUTs to POSTs. For no apparent reason, parts of the
meeting AJAX code is using PUT instead of POST (even if it's not
PUT'ing in the literal sense but POST'ing). Theoretical discussions
aside, Django has poor support for PUTs turned POSTs so rewriting them
removes the need for a couple of hacks, and makes it easier to test.
 - Legacy-Id: 7067
2013-12-24 15:13:33 +00:00
Ole Laursen c098fb4f07 Regularize meeting_json to take num instead of meeting_num like the
other meeting AJAX views
 - Legacy-Id: 7060
2013-12-23 17:19:49 +00:00
Ole Laursen 77bd8772b5 Fix interesting syntax error in group_session_mapping, += was mistyped
as =+ which is legal (assignment followed by unary +)
 - Legacy-Id: 7059
2013-12-23 16:59:21 +00:00
Ole Laursen b4fa414406 Make agenda_permission use user_is_person, rewrite it to be a little
less verbose
 - Legacy-Id: 7054
2013-12-23 16:43:44 +00:00
Ole Laursen e69ba1e8c4 Fix spelling mistakes in comments for Constraint
- Legacy-Id: 7053
2013-12-23 16:08:36 +00:00
Ole Laursen b42a1165d7 Use .first() and prevent an extra .count() query in TimeSlot.session
- Legacy-Id: 7052
2013-12-23 15:40:10 +00:00
Ole Laursen 7dc534f325 Add a couple of select_related fields to edit_timeslots to reduce
number of DB queries from 400 to 13
 - Legacy-Id: 7051
2013-12-23 13:25:22 +00:00
Ole Laursen d6d80a4a77 Make a couple of the utility methods in meeting.models use .first(),
fix potential bug in slot_to_the_right, test on location_id instead of
location in build_timeslices to speed up the edit timeslots view
 - Legacy-Id: 7050
2013-12-23 13:24:40 +00:00
Ole Laursen fa489ce37a Upgrade Dajaxice to latest version from github (0.5.5) to make meeting agenda code work with CSRF, with url conf import fix and using json instead of deprecated simplejson from Django - add a simple view to serve dajaxice.core.js which we need because we are not using the staticfiles collection step (apparently Dajaxice hooks into that through a somewhat complicated hack)
- Legacy-Id: 7028
2013-12-20 11:59:09 +00:00
Ole Laursen 88860edba4 Use user_is_person to determine whether user is schedule owner in
agenda AJAX, instead of complicated try except
 - Legacy-Id: 7027
2013-12-20 11:55:25 +00:00
Ole Laursen 38c153c03d Remove usage of distinct(field) in meeting/helpers.py, Django
complains that it doesn't work on MySQL and the two uses appear
superfluous anyway since they only return the field being distincted
 - Legacy-Id: 7018
2013-12-19 16:06:37 +00:00
Henrik Levkowetz d416ae7977 Merged in a fix from Ole. A different fix for the same problem was already present, but by picking Ole's fix here we avoid hassle in the next (Django-upgrade) merge.
- Legacy-Id: 6993
2013-12-18 18:39:49 +00:00
Ole Laursen f88fb5f9ac Port meeting fix from shimfree branch
- Legacy-Id: 6984
2013-12-18 14:56:37 +00:00
Ole Laursen 0945255452 Fix bug in meeting.helper.get_meeting - somehow managed to skip the
clause that makes sure that meetings that have no agenda yet are
skipped
 - Legacy-Id: 6983
2013-12-18 14:51:03 +00:00
Ole Laursen e348600bcb raw_post_data -> body
- Legacy-Id: 6976
2013-12-18 11:52:21 +00:00
Ole Laursen 7f277a8fbb Replace user.get_profile() with user.person, the profile stuff is deprecated since Django 1.5
- Legacy-Id: 6968
2013-12-18 10:13:40 +00:00
Henrik Levkowetz ecb5cd6526 Merged in branch/iola/shimfree@6856. This pretty much completes the shim removal. Next step is upgrading Django to 1.6, and then doing some final polishing.
- Legacy-Id: 6966
2013-12-17 21:29:05 +00:00
Ole Laursen 42ade6273c Turn on CSRF protection - all forms must from now on have a {% csrf_token %}
- Legacy-Id: 6963
2013-12-17 12:50:24 +00:00
Ole Laursen d66ac15fc2 Rewrite a bunch of HttpResponseRedirect + url reverse calls to instead
take advantage of the redirect shortcut (introduced in Django 1.1)
 - Legacy-Id: 6960
2013-12-17 10:23:42 +00:00
Henrik Levkowetz 8b2730a499 Updated agenda test files. Looking forward to moving this to fixtures instead of live data.
- Legacy-Id: 6949
2013-12-16 22:08:00 +00:00
Ole Laursen 84a9f49053 mimetype -> content_type (mimetype is deprecated)
- Legacy-Id: 6945
2013-12-16 16:53:47 +00:00
Ole Laursen 5021ed5629 Port feed setup to new feed API where each feed is a class-based view
- Legacy-Id: 6939
2013-12-16 16:29:22 +00:00
Ole Laursen 6a98fec2c3 Use built-in json module in Python instead of simplejson bundled with Django
- Legacy-Id: 6883
2013-12-11 16:59:19 +00:00
Ole Laursen c15063f3c2 Adjust the import path for feeds
- Legacy-Id: 6879
2013-12-11 16:40:49 +00:00
Ole Laursen cfa0d47ca0 Port to new class-based generic redirect and simple template views, remove utils.lazy.reverse_lazy, it's now included in Django
- Legacy-Id: 6878
2013-12-11 16:36:09 +00:00
Ole Laursen 371c4bb344 Fix computing meeting updated timestamp when there's either a timeslot
or a session but not both
 - Legacy-Id: 6855
2013-12-09 10:52:31 +00:00
Ole Laursen 1c60f55fff Fix some includes in meeting test
- Legacy-Id: 6842
2013-12-07 19:28:56 +00:00
Ole Laursen 1606890567 Trim some unused imports in the meeting tests
- Legacy-Id: 6840
2013-12-07 16:15:36 +00:00
Ole Laursen 48f14b8eda Remove now unused proceedings/ and meeting/proxy.py
- Legacy-Id: 6819
2013-12-06 17:40:41 +00:00
Ole Laursen 5ef84cd7df Move proceedings feed to meeting/ and remove traces of shim layer from it
- Legacy-Id: 6818
2013-12-06 16:31:02 +00:00
Ole Laursen ad9503f1ed Removing remaining traces of shim layer usage in meeting
- Legacy-Id: 6817
2013-12-06 16:10:10 +00:00
Ole Laursen e63ac36b8f Remove shim layer from ietfauth, delete some dead code and migrate
remaining importers of ietfauth.decorators to ietfauth.utils
 - Legacy-Id: 6797
2013-12-05 16:24:03 +00:00
Henrik Levkowetz 0ca9a5c245 Require that a meeting has a schedule for it to be seen as the current meeting.
- Legacy-Id: 6785
2013-12-03 21:35:57 +00:00
Henrik Levkowetz 30aa2b2d36 Don't crash if trying to get an update date for a meeting with missing timeslots or sessions.
- Legacy-Id: 6784
2013-12-03 21:35:02 +00:00
Ole Laursen 2cf72aa9e5 Remove references to names.xml in perma_fixtures, they are not needed anyway
- Legacy-Id: 6766
2013-11-27 13:19:58 +00:00
Ole Laursen 9457669310 Merge in changes from the old shimfree branch
- Legacy-Id: 6764
2013-11-27 12:55:50 +00:00
Henrik Levkowetz 7d7d08410c Speeded up the materials page by using select_related() on the session QuerySet.
- Legacy-Id: 6729
2013-11-21 21:05:56 +00:00
Henrik Levkowetz 239b526d57 Fixed a bug in the materials urls in agenda.ics.
- Legacy-Id: 6666
2013-11-06 17:03:30 +00:00
Henrik Levkowetz 58685d93e1 Updated known-good test file to match commit [6655].
- Legacy-Id: 6661
Note: SVN reference [6655] has been migrated to Git commit 89904c9bb3
2013-11-06 16:00:25 +00:00
Henrik Levkowetz 6d8b178074 Include IAOC update sessions in the training section.
- Legacy-Id: 6647
2013-11-04 15:12:21 +00:00
Henrik Levkowetz 7925223ef8 Merged [6622] from rjsparks@nostrum.com:
Refines Bill Fenner's regex based search through documents for references.
Populates RelatedDocument with relations for references for each type draft Document.
Replaces these reference relationships with updated copies on draft submission.

Note to deployer: There is a script to run in patches/fill_in_references.py that does the work of bringing the database up to date. It takes around 10 minutes to complete on a fast development laptop.

fixes bug #1173
 - Legacy-Id: 6633
Note: SVN reference [6622] has been migrated to Git commit a677a70df3
2013-11-02 23:04:28 +00:00
Henrik Levkowetz 0aba8663a5 Updated known-good agenda.csv master to match blankline elimination from template.
- Legacy-Id: 6628
2013-11-02 22:13:51 +00:00
Henrik Levkowetz 43c1b096dd Updated known-good files.
- Legacy-Id: 6617
2013-11-02 20:21:22 +00:00
Henrik Levkowetz 13b6c7a983 Updated template and support functions for iPhone agenda page.
- Legacy-Id: 6582
2013-10-31 17:58:59 +00:00
Robert Sparks 7a84ffe197 Reverted materials.html and the view that drives it to before the 4.70 merge.
Tweaked the view to get (I hope) the right things.
 - Legacy-Id: 6580
2013-10-31 17:16:53 +00:00
Henrik Levkowetz 45b9b45f28 Removed a lot of dead code and unused imports.
- Legacy-Id: 6578
2013-10-30 21:51:13 +00:00
Henrik Levkowetz 1208ae708b Removed 2 tests which tested dead code.
- Legacy-Id: 6577
2013-10-30 21:33:10 +00:00
Henrik Levkowetz dc6d96797b Removed unused imports. Marked some instances of code which used variables that don't exist. Removed dependency on the logging module, we use syslog by default. Replaced some log.debug() calls with debug.log().
- Legacy-Id: 6576
2013-10-30 21:27:40 +00:00
Henrik Levkowetz 6c8802a3cc Needlessly fixed a naming error in meeting.proxy.
- Legacy-Id: 6575
2013-10-30 21:23:22 +00:00
Henrik Levkowetz adc5b130dc Fixed incorrect except statement syntax.
- Legacy-Id: 6574
2013-10-30 21:21:28 +00:00
Henrik Levkowetz c8e7a4a5d4 Updated test masters to match the changed (and now more predictable) order
of some entries.
 - Legacy-Id: 6538
2013-10-29 22:45:29 +00:00
Henrik Levkowetz 951670e9df New view code and templates for agenda pages, updating all agenda templates
to take schedule-specific information so that they will work with arbitrary
schedules, not just the official schedule for a meeting.
 - Legacy-Id: 6537
2013-10-29 22:44:13 +00:00
Henrik Levkowetz c61d1d1c2f Provided new methods Meeting.vtimezone() which return a vtimezone stanza for
ical files, based on the timezone setting for a meeting, fetched from a pre-
generated file; and Session.ical_status(), which provides a string appropriate
for use in ical STATUS: entries.
 - Legacy-Id: 6536
2013-10-29 22:30:38 +00:00
Henrik Levkowetz 93826ae094 Fixed the case where the urlpattern regexp match gives us an ext which is None.
- Legacy-Id: 6502
2013-10-27 23:04:02 +00:00
Henrik Levkowetz 16ae35ae19 Rewrote html and text agenda templates to take schedule as data.
- Legacy-Id: 6495
2013-10-27 12:16:37 +00:00
Henrik Levkowetz 2dcb9bc39d Removed the ams_filters template tag file from the meeting app -- it was a copy of the ams_filters under secr/, and masked it.
- Legacy-Id: 6481
2013-10-22 19:01:18 +00:00
Henrik Levkowetz e3eeee53fb Renumbered unapplied migration.
- Legacy-Id: 6475
2013-10-21 21:51:21 +00:00
Henrik Levkowetz 11230a8448 Let Timeslot.session() Return the first session, rather than none, for
timeslots with multiple associated sessions for the public schedule.
 - Legacy-Id: 6464
2013-10-18 12:15:46 +00:00
Henrik Levkowetz 819b4c6087 Made the timeslots returned from meeting.proxy.MeetingTimeProxy.sessions()
distinct, to avoid duplicate agenda entries.
 - Legacy-Id: 6463
2013-10-18 12:14:26 +00:00
Henrik Levkowetz e9980b483f Made the timeslots sent to the agenda.ics template distinct, to avoid
duplicate agenda items.  Fixes issue #1155.
 - Legacy-Id: 6462
2013-10-18 11:59:15 +00:00
Henrik Levkowetz ee1ae839d9 Added caching for the somewhat costly TimeSlot.session() method/property.
This speeds up text agenda generation using the legacy template substantially.
 - Legacy-Id: 6461
2013-10-17 11:32:27 +00:00
Henrik Levkowetz a23d31677f Tweaked the strings displayed when a plenary agenda cannot be shown.
- Legacy-Id: 6460
2013-10-17 11:28:29 +00:00
Henrik Levkowetz 5807ad2108 Changed the select statement in MeetingProxy.sessions() to produce correct
results for the official agenda, and filter out timeslot entries without
scheduled sessions.
 - Legacy-Id: 6459
2013-10-17 11:27:45 +00:00
Henrik Levkowetz d2d532a015 Removed ADs from known-good master to match template change.
- Legacy-Id: 6457
2013-10-17 11:22:40 +00:00
Henrik Levkowetz e33fe28a2c Reverted to release 4.72 versions of several functions and methods, starting
with agenda_info() and the view functions that use it.  Also changed
meeting/tests/agenda.py to accept matching return values.  Reverted old
supporting models and proxy models to 4.72 versions, too, in meeting/proxy.py
and proceedings/models.py.  Updated the proxy models which rely on TimeSlot
to work properly with the m2m sessions field, and adjusted some other
functions, such as session_agenda() to also understand the m2m sessions
field (and its reverse).  Added an understanding of the "bof-conc" state
to the code which returns 'BOF' or 'WG' for agenda templates.
 - Legacy-Id: 6452
2013-10-15 17:54:42 +00:00
Henrik Levkowetz 6a9e9dac55 Changed 'WG' to 'BOF' for some sessions that actually were BOF sessions
in the csv agenda test master.
 - Legacy-Id: 6449
2013-10-15 17:34:54 +00:00
Henrik Levkowetz 6f6f1d65e6 Added known-good tests for agenda.ics and agenda.csv
- Legacy-Id: 6445
2013-10-14 18:34:36 +00:00
Henrik Levkowetz b5ac288167 Removed a test with duplicated name. Invoked timeslot method as method, to align with removed @property decorator.
- Legacy-Id: 6443
2013-10-13 21:14:46 +00:00
Henrik Levkowetz 036f31a397 Removed the agenda=83.txt test for real this time.
- Legacy-Id: 6442
2013-10-13 21:13:14 +00:00
Henrik Levkowetz 6d28eb180e Replaced the handcoded agenda-83.txt test with one using the testurl
framework, moving the known-good master to a name matching the others
mentioned in testurl.list.
 - Legacy-Id: 6438
2013-10-13 20:41:12 +00:00
Henrik Levkowetz e516dc7925 Reinstated the release 4.72 get_agenda_info() as legacy_get_agenda_info(),
and tweaked it to work with the new Timeslot model's sessions field.
Reverted the html agenda view code to use legacy_get_agenda_info(), based
on the release 4.72 code.  This is a fix to display the html agenda for
now, and will need more cleanup, but this should be done without introducing
scheduledsession instances to the template.
 - Legacy-Id: 6437
2013-10-13 17:59:42 +00:00
Henrik Levkowetz 9be2f712b8 Added a property method to return what the 'session' field used to return,
but based on the 'sessions' m2m field filtered with the meeting agenda.
This is right for the main meeting agenda, but not for personal schedule
layouts, so this isn't a final fix.
 - Legacy-Id: 6436
2013-10-13 17:54:59 +00:00
Henrik Levkowetz 256e033be3 Add known-good files for agenda.html and agenda-utc.html, and update
testurl.list to do comparisons against those.  Some tweaks are still
needed to filter out versions strings, etc.
 - Legacy-Id: 6434
2013-10-13 17:47:52 +00:00
Henrik Levkowetz bb148003b5 Fixed the plenary display code for the text agenda to use the non-proxy plenary information to identify the plenaries, matching other previous changes from the agenda branch.
- Legacy-Id: 6383
2013-10-08 06:42:53 +00:00
Henrik Levkowetz dbc17624f8 Added a break_info() model on Timeslot. Fixes the missing breaks on the
text agenda.
 - Legacy-Id: 6376
2013-10-04 21:49:52 +00:00
Henrik Levkowetz f95b2795fe Putting a place a known-good text version of the agenda for meeting 83. This
is the way it should look.  If something else is produced, it's not right.
The order of sessions on this agenda is sorted first on area on then on
acronym.  This is the known good agenda.
 - Legacy-Id: 6375
2013-10-04 21:18:47 +00:00