Changeset fd0c10 in indico for indico/MaKaC/conference.py


Ignore:
Timestamp:
09/02/09 15:29:01 (4 years ago)
Author:
David Martín Clavo <david.martin.clavo@…>
Branches:
master, burotel, hello-world-walkthrough, ipv6, new-improved-taskdaemon, new-webex, prov-dual-interface, v0.97-series, v0.98-series, v0.98.2, v0.98.3, v0.98b1, v0.98b2, v0.99, 051b2622c51afb171a1dedb46a0df4fbb0cbd02e, d9941f8582b36b24821a11ea5ba16fda6a457fb1
Children:
8aa1b6
Parents:
ee7408
git-author:
David Martín Clavo <david.martin.clavo@…> (09/02/09 15:29:00)
git-committer:
David Martín Clavo <david.martin.clavo@…> (09/02/09 15:29:01)
Message:

[IMPROVEMENT] Squashed commit for collaboration-plugins branch

# This is a combination of 134 commits.
# The first commit's message is:
[MINOR] Added previewNextCount method to Counter and some comments

# This is the 2nd commit message:

[FIX] Fix to escapeHTMLForJS function who was not correctly escaping the / character

Otherwise there was a problem with the Context Help parser and html inside JS variables.

# This is the 3rd commit message:

[FIX] Tab appearing even if all its plugins were not active

Collaboration tab was appearing even if EVO and CERNMCU were not active

# This is the 4th commit message:

[IMPROVEMENT] Added search by customAtt to room booking's CrossLocationQueries?

See the comments on the methods for syntax on new search option.

# This is the 5th commit message:

[IMPROVEMENT] Several CSS changes / additions

-Styles for the new SelecteableListWidget? JS class
-CSS Changes in the Video Services Overview page
-CSS changes in the Video Services page of an event.

# This is the 6th commit message:

[IMPROVEMENTS] Added filter by proximity dates to bookings indexing

-In the Video Services Overview page, one can now filter by proximity dates: "from XX days ago to YY days in the future"

# This is the 7th commit message:

[IMPROVEMENTS] Added filter by proximity dates to bookings indexing. Style improvements.

-In the Video Services Overview page, one can now filter by proximity dates: "from XX days ago to YY days in the future"
-CSS style improvements

# This is the 8th commit message:

[IMPROVEMENT] Added SelectableListWidget?

# This is the 9th commit message:

[IMPROVEMENT] Added AlertPopup? JS class. Works like an alert() but better appearance.

# This is the 10th commit message:

[IMPROVEMENTS] Some style improvements for Video Services Page. Some Context Help added.

# This is the 11th commit message:

[MINOR/FIX] Fix so that bookings can have an id before created in the DB (necessary for the MCU plugin)

-Drawback: the id counter will increment even in some cases where booking creation fails.

# This is the 12th commit message:

[MINOT/FIX] EVO: check that booking is properly created in EVO servers before checkCanStart

# This is the 13th commit message:

[IMPROVEMENT] MCU: added new optiion to store the name of the H323 IP attribute of rooms in RB DB

# This is the 14th commit message:

[MINOR] More CSS Style changes / fixes

# This is the 15th commit message:

[IMPROVEMENTS] Collaboration style fixes / improvements

CSS changes to Video Services Overview page
CSS changes to an event's Video Services page
Styles for SelectableListWidget?

# This is the 16th commit message:

[MINOR] Added toggleAppearance function to Effects.js (appear/disappear hybrid)

# This is the 17th commit message:

[MINOR] Added writeComment method to xmlGen.py. Removed unused imports and duplicated methods

# This is the 18th commit message:

[MINOR/IMPROVEMENT] Added prepareForSlide function to Effects.js. Added warning comments to slide function.

# This is the 19th commit message:

[MINOR/IMPROVEMENT] Added prepareForSlide function to Effects.js. Added warning comments to slide function.

# This is the 20th commit message:

[IMPROVEMENT] Added a much-needed padding of 3px to all ContextHelp? tooltips

# This is the 21st commit message:

[IMPROVEMENT] Added isToday, isTomorrow, isYesterday, and dayDifference functions to timezoneUtils.py

# This is the 22nd commit message:

[MINOR] Removed some uneeded code

# This is the 23rd commit message:

[IMPROVEMENT] Added isSameDay function to timezoneUtils.py. Some comments.

# This is the 24th commit message:

[MINOR] Added 'help' icon to vars.js.tpl

# This is the 25th commit message:

[MINOR] Added image play_small_blue.png to eventually use as meeting starting button for bookings

# This is the 26th commit message:

[MINOR] Added image mail_big to eventually use as button to send mails / setup alarms in bookings

# This is the 27th commit message:

[MINOR] Added function hooks to slide effect in Effects.js for when we need to execute stuff after effects take place

# This is the 28th commit message:

[MINOR] Added 'getSelectedTab' and 'setSelectedTab' methods to TabWidget? class

# This is the 29th commit message:

[MINOR] Added shortDate template to date.xsl

# This is the 30th commit message:

[MINOR] Added image mail_big to eventually use as button to send mails / setup alarms in bookings

# This is the 31st commit message:

[MINOR] Unneeded imports in collaboration/indexes.py

# This is the 32nd commit message:

[MINOR] Comments in collaborationTools.py

# This is the 33rd commit message:

[Improvement] Collaboration: interface improvements / fixes

-revamp of video services section appearance in event management
-refactor of create / modify dialog functions into a new dialog type
-now new booking dialog has 2 tabs: basic and advanced
-JS bug fixes
-context help in advanced tab

# This is the 34th commit message:

[IMPROVEMENT] Bookings display in conference public pages

-New Video Services section
-Added functionality to core, EVO and CERNMCU plugins

# This is the 35th commit message:

[IMPROVEMENT] EVO appearance improvements

-New booking dialog appearance revamp
-Context help
-More error checks
-Remove 'send mail to managers' feature for now (confusing)

# This is the 36th commit message:

[IMPROVEMENT] CERNMCU: interface improvements

-New booking dialog appearance revamp.
-Added $T's
-Detailed info revamp (list->table)
-Additional checks on participants
-Context help

# This is the 37th commit message:

[IMPROVEMENT] CERNMCU: Bookings display in events. Retrieval of initial room. List of rooms from DB.

# This is the 38th commit message:

[IMPROVEMENTS] MCU: Retrieval of initial room, list of rooms from DB

# This is the 39th commit message:

[IMPROVEMENT] CERNMCU: Many features

-Missing use cases implemented: modify conference, update status of conference, add / remove participants while conference has started (still

missing some fine-granularity participant use cases like change the name / ip of a participant while conference has started)

-Changed way participants (persons and rooms) are handled
-Better handling of network errors
-Now we take into account that there is a limit of 32 chars in MCU strings

# This is the 40th commit message:

[IMPROVEMENT] Bookings display in meetings / lectures

# This is the 41st commit message:

[MINOR] All plugins: option to set which events see which plugins is for now editable

# This is the 42nd commit message:

[IMPROVEMENT] EVO: Bookings display in events, other minor things

-Bookings display in event public pages.
-Temporary show request URL on errors.
-Some more error checks.

# This is the 43rd commit message:

[IMPROVEMENT] EVO: Context help. Bookings display in meetings/lectures and conferences display pages

# This is the 44th commit message:

[IMPROVEMENT] Collaboration: bookings display in events. Bug fix with plugin admin of EVO seeing CERNMCU bookings

# This is the 45th commit message:

[IMPROVEMENT] Several Collaboration back-end features / fixes / refactors

-Added 'hidden' attribut to bookings (they will not be displayed in public pages)
-Refactored the way that start/ending dates and 'should be synchronized on event's changes' attributes are handled (simpler now)
-CSBookingManager now gets notified of conference deletion and deletes / unindexes the bookings (fault tolerant)
-Refactoring / bug fixes

# This is the 46th commit message:

[IMPROVEMENT] Collaboration: CSS (new styles for booking display and revamp of Video Services event mgmt page)

# This is the 47th commit message:

[IMPROVEMENT] Bookings display in meetings / lectures

# This is the 48th commit message:

[FIX] EVO URL was not being retrieved correctly from answer after Api change

# This is the 49th commit message:

[FIX] EVO custom display text for meetings / lectures had a bug

# This is the 50th commit message:

[FIX] Changed allowedOn options to mustReload = False (changes were not being stored)

# This is the 51st commit message:

[FIX] EVO display pages fixes

# This is the 52nd commit message:

[FIX] Only show a link for ongoing meetings (meetings that can start)

# This is the 53rd commit message:

[FIX] Set requestURL parameter to default None

# This is the 54th commit message:

[FIX] Added requestURL parameters to EVOError's

# This is the 55th commit message:

[IMPROVEMENT] EVO Warnings. Disabled mail to managers for now

-EVO has now warning messages, such as when we delete a booking that was already deleted in EVO
(it should be correctly deleted from Indico but the user should get a warning that it was already deleted in EVO).
-Disabled mail to managers functionality for now.

# This is the 56th commit message:

[FIX] Small Redesign of bookings display

# This is the 57th commit message:

[IMPROVEMENT] Bookings are now able to shade the 'remove' button

-In EVO, bookings cannot be deleted if they are ongoing or passed already.
-Thus, we should let the EVO plugin shade-out the remove button when it's not possible to remove a booking any more.

# This is the 58th commit message:

[MINOR] Changed event diplay links in VS Overview page for conferences vs meetings / lectures

# This is the 59th commit message:

[FIX] Increased EVO's booking dialog height a bit

# This is the 60th commit message:

[FIX] Delete button was not being reactivated in EVO after a modify that should have re-activated it

# This is the 61st commit message:

[FIX] Added code to ignore the 'EVO Team' community which we don't need and behaves differently from normal communities

# This is the 62nd commit message:

[FIX] Slightly increased CERNMCU dialog size

# This is the 63rd commit message:

[IMPROVEMENT] Improved startAll / stopAlll behavior

# This is the 64th commit message:

[FIX] MCU participant granular use cases. Fixes

-Modifying participants and then saving now works even if the conference is already
started (modify info -> display name changes, modify ip->remove participant
and create a new one with the new IP).
-Some error checking messages

# This is the 65th commit message:

[FIX] Some https fixes

-Image URLs put by plugins in NewBookingForm?.tpl were not being
replaced to https URLs when page was https, because the .replace
did not catch escaped img url in JS strings.
-Fixed redirect http to https in collaboration (when https
is active).

# This is the 66th commit message:

[FIX] MCU: Already added rooms appear greyed out

# This is the 67th commit message:

[FIX] Fix for xmlrpclib problem under py2.4 (for MCU)

# This is the 68th commit message:

[FIX] Collaboration base.py fixes

-setBookingParams was returninh True and not False
when there was no needed params check
-some refactoring

# This is the 69th commit message:

[IMPROVEMENT] Prepared DummyPlugin? as test plugin

# This is the 70th commit message:

[IMPROVEMENT] Added method to define custom DBMgr

-Useful for tests that need to connect to
a different ZEO server than the one configured
in indico.conf

# This is the 71st commit message:

[IMPROVEMENT] Support for test plugins

-Test plugins (like DummyPlugin?) will not
appear in the interface anywhere, but they
will still be able to be used in tests.

# This is the 72nd commit message:

[FIX] Some fixes in reindexing / unindexing

-Bug where bookings were sometimes not being
reindexed properly after event start date change.
-Change behaviour of notifyDeletion() so that
bookings are deleted from the DB (otherwise
tests had problems).
-Little change for more verbosity of some errors.

# This is the 73rd commit message:

[IMPROVEMENT] booking count in coll. index queries

-Collaboration query result now includes
count of results and count of bookings
in queried indexes.
-Small fix for very basic plugins like DummyPlugin?.

# This is the 74th commit message:

[FIX] Changed import from global to local

-Changed from mod_python import apache
import to allow tests that don't use
apache to work without an
'cannot import _apache' error

# This is the 75th commit message:

[IMPROVEMENT] 1st version of collab. responsiv. test

-First version of Booking's responsiveness test.

# This is the 76th commit message:

[MINOR] Changed 2 verbose logs from info to debug

# This is the 77th commit message:

[FIX] Fix for reindexing bookings on event date change

# This is the 78th commit message:

[MINOR] Added std deviation to collab. test results

# This is the 79th commit message:

[FIX] RoomListWidget? style, indentation

# This is the 80th commit message:

[REFACTOR] Moved WebcastRequest?'s setDisabled function to disableForm in Util.js

# This is the 81st commit message:

[FIX] Small refactor in slide function

-There were some problems with overlapped
visibility:'hidden' elements. So now
slide toggles visibility from 'visible'
to 'hidden' and it's not necessary to
set an element to 'visible' when it starts
hidden.

# This is the 82nd commit message:

[FIX] ConfDisplay?: message when all coll. bookings are over

# This is the 83rd commit message:

[MINOR] Corrected typo. Unneded imports

# This is the 84th commit message:

[FIX] services/imp/roomBooking.py: cleanup, indentation

# This is the 85th commit message:

[IMPROVEMENT] Initial support for coll. plugin-defined services

-See comments of CollaborationCustomPluginService? and
CollaborationPluginServiceBase? for details.

# This is the 86th commit message:

[MINOR] Comments

# This is the 87th commit message:

[IMPRV] CollaborationTools?: new getOptionValue and getServiceClass methods

# This is the 88th commit message:

[REFACTOR] Use of new CollaborationTools?.getOptionValue method

# This is the 89th commit message:

[IMPROVEMENT] Added contribution rooms to WR and RR mails

# This is the 90th commit message:

[IMPROVEMENT] Recording Request plugin changes

-Changed limit on loaded contributions. Now if number of talks
is under the limit, they will be loaded with the page in all
situations, and if over the limit, they will be loaded by ajax
when creating a new request and the user selects 'choose'.
-Fixed bug with checkboxes not appearing in IE7.

# This is the 91st commit message:

[IMPROVEMENT] Webcast Request plugin changes

-Changed limit on loaded contributions. Now if number of talks
is under the limit, they will be loaded with the page in all
situations, and if over the limit, they will be loaded by ajax
when creating a new request and the user selects 'choose'.
-Fixed bug with checkboxes not appearing in IE7.
-Task 10635: now 'all talks' is always present, but if some
talks are not web-cast able, the user is informed of. Also,
he can only choose among webcast-able talks.
-Several code refactors and cleanup.
-Moved 'setDisabled' function to Util.js
-Created a custom service to return list of webcast-able talks.

# This is the 92nd commit message:

[FIX] Some test fixes for indicodev

# This is the 93rd commit message:

[FIX] Some test fixes for indicodev

# This is the 94th commit message:

[FIX] Some test fixes for indicodev

# This is the 95th commit message:

[FIX] WR and RR small changes

-Added a vertical bar between 'Select all' and 'Select none'
-Talks were not showing when already sent request with
'choose' selected.

# This is the 96th commit message:

[FIX] Fixes to collaboration indexing

-Page numbers were not working in ajax call because of typo.
-Changed 'groups of results' by number of bookings obtained
in query.
-Number of groups of results is still returned but not
displayed.
-Removed some unused and out-of-date methods.
-Added 'change' and 'event display page' links to each
result line, instead of linkifying some of the info.

# This is the 97th commit message:

[FIX] Fixes to WR and RR

-Changed way that contribution load limit works:
now we look at event number of all contributions before
deciding if we load them initially or not.
-Some refactoring

# This is the 98th commit message:

[FIX] Fixes to WR and RR

-Changed way that contribution load limit works:
now we look at event number of all contributions before
deciding if we load them initially or not.
-Some refactoring

# This is the 99th commit message:

[MINOR] Improved collaboration create booking button

# This is the 100th commit message:

[FIX] Changed variable name to avoid bug

# This is the 101st commit message:

[MINOR] pages/admins.py cleanup

# This is the 102nd commit message:

[MINOR] rh/roomBooking.py cleanup

# This is the 103rd commit message:

[MINOR] MaKaC/epayment.py cleanup

# This is the 104th commit message:

[MINOR] MaKaC/rb_location.py cleanup

# This is the 105th commit message:

[FIX] indico.conf no longer needed

# This is the 106th commit message:

[MINOR] Some changes to make testCollaboration.py work

# This is the 107th commit message:

[FIX] Changes to make collab. test work on indicodev

# This is the 108th commit message:

[FIX] Changes to make collab. test work on indicodev

# This is the 109th commit message:

[MINOR] Some more changes to make testCollaboration.py work

# This is the 110th commit message:

[MINOR] Some more changes to make testCollaboration.py work

# This is the 111th commit message:

[MINOR] Some more changes to make testCollaboration.py work

# This is the 112th commit message:

[FIX] Small display fix in Video Services Overview

# This is the 113th commit message:

[IMPROVEMENT] pickle function now supports nested lists etc

-Changed pickle function not to throw an exception
on objects inside lists when these objects are not
in the global pickle map. In other words,
we can have nested objects, lists, etc.

# This is the 114th commit message:

[IMPROVEMENT] Improved performance of collab. index queries

-Improved performance on queries on large indexes
by only pickling the final result.

# This is the 115th commit message:

[IMPROVEMENT] testCollaboration.py: included cpu time in results

# This is the 116th commit message:

[IMPROVEMENT] Some display improvements on Video Services Overview

-Solved problem when event or booking name were very long.
-Changed a bit table structure and CSS.
-Table rows are now highlighted on mouseover.

# This is the 117th commit message:

[MINOR] Some HTML errors

# This is the 118th commit message:

[MINOR] duplicate .prof file

# This is the 119th commit message:

[MINOR] Avoid duplicate rooms or users in plugin admin

# This is the 120th commit message:

[MINOR] Corrected MCU context help

# This is the 121st commit message:

[MINOR] JS bug in WebcastRequest?, solved cleaning up code

# This is the 122nd commit message:

[IMPROVEMENT] Added VideoService? Managers for events

-The Video Services section of an event now has a new
tab "Protection" where a manager can add sub-managers.
-These sub-managers can be of 2 types: managers of a single plugins
or Video Services Managers. Single plugin managers can create and
modify bookings of that plugin. Video Services Managers can do so
with all plugins, plus they have access to the Protection tab.
-Sub-managers get access to the Video Services section with
the event modify button in event display.

# This is the 123rd commit message:

[MINOR] CERNMCU: Error tooltip

-Added error tooltip to CERNMCU's Room List
Dialog's Save button when button is disabled.

# This is the 124th commit message:

[MINOR] RecordingReq?. and WR chelp fix

# This is the 125th commit message:

[MINOR] Some display fixes to Collaboration tab

-Removed dot (.) after timezone
-Added error tooltip to create button when button is disabled.

# This is the 126th commit message:

[FIX/IMPRV] Fixes to Collaboration Protection tab

-Changed name of tab from Protection to Managers.
-This tab is no longer https.
-More explanations.
-Better layout.

# This is the 127th commit message:

[MINOR] Some display fixes for Collaboration tab

# This is the 128th commit message:

[MINOR] Changed spelling of text in VS Managers tab

# This is the 129th commit message:

[FIX] Added reindexing of VS bookings by event title

-Bookings were not getting reindexed when a manager
changed an event title.
-Added another Observer interface for this: TitleChangeObserver?.
-Added a global action that loops through all of the events
and makes sure that the CSBookingManager objects are observers.

# This is the 130th commit message:

[MINOR] Corrected context help for CERNMCU

# This is the 131st commit message:

[MINOR] Added 'Hidden/visible status' to CERNMCU details. Spelling

# This is the 132nd commit message:

[MINOR] Added hidden/visible status to EVO details

# This is the 133rd commit message:

[MINOR] deleted useless file

# This is the 134th commit message:

[MINOR] Style of warning area of Recording Request. Added i18n

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# Not currently on any branch.
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: indico/MaKaC/common/Configuration.py
# modified: indico/MaKaC/common/ContextHelp.py
# modified: indico/MaKaC/common/Counter.py
# modified: indico/MaKaC/common/PickleJar.py
# modified: indico/MaKaC/common/TemplateExec.py
# modified: indico/MaKaC/common/db.py
# modified: indico/MaKaC/common/output.py
# modified: indico/MaKaC/common/timezoneUtils.py
# modified: indico/MaKaC/common/xmlGen.py
# modified: indico/MaKaC/common/xmlrpcTimeout.py
# modified: indico/MaKaC/conference.py
# modified: indico/MaKaC/epayment.py
# modified: indico/MaKaC/plugins/Collaboration/CERNMCU/Style.css
# modified: indico/MaKaC/plugins/Collaboration/CERNMCU/collaboration.py
# modified: indico/MaKaC/plugins/Collaboration/CERNMCU/common.py
# modified: indico/MaKaC/plugins/Collaboration/CERNMCU/mcu.py
# modified: indico/MaKaC/plugins/Collaboration/CERNMCU/options.py
# modified: indico/MaKaC/plugins/Collaboration/CERNMCU/pages.py
# modified: indico/MaKaC/plugins/Collaboration/CERNMCU/tpls/Extra.js
# new file: indico/MaKaC/plugins/Collaboration/CERNMCU/tpls/InformationDisplay.tpl
# modified: indico/MaKaC/plugins/Collaboration/CERNMCU/tpls/Main.js
# modified: indico/MaKaC/plugins/Collaboration/CERNMCU/tpls/NewBookingForm.tpl
# new file: indico/MaKaC/plugins/Collaboration/CERNMCU/tpls/chelp/NewBookingForm.wohl
# deleted: indico/MaKaC/plugins/Collaboration/CERNMCU/tpls/display.xsl
# modified: indico/MaKaC/plugins/Collaboration/DummyPlugin/init.py
# modified: indico/MaKaC/plugins/Collaboration/DummyPlugin/collaboration.py
# modified: indico/MaKaC/plugins/Collaboration/DummyPlugin/options.py
# modified: indico/MaKaC/plugins/Collaboration/DummyPlugin/pages.py
# deleted: indico/MaKaC/plugins/Collaboration/DummyPlugin/tpls/Main.js
# deleted: indico/MaKaC/plugins/Collaboration/DummyPlugin/tpls/NewBookingForm.tpl
# modified: indico/MaKaC/plugins/Collaboration/EVO/actions.py
# modified: indico/MaKaC/plugins/Collaboration/EVO/collaboration.py
# modified: indico/MaKaC/plugins/Collaboration/EVO/common.py
# modified: indico/MaKaC/plugins/Collaboration/EVO/options.py
# modified: indico/MaKaC/plugins/Collaboration/EVO/pages.py
# deleted: indico/MaKaC/plugins/Collaboration/EVO/tpls/Display.tpl
# new file: indico/MaKaC/plugins/Collaboration/EVO/tpls/Extra.js
# new file: indico/MaKaC/plugins/Collaboration/EVO/tpls/InformationDisplay.tpl
# modified: indico/MaKaC/plugins/Collaboration/EVO/tpls/Main.js
# modified: indico/MaKaC/plugins/Collaboration/EVO/tpls/NewBookingForm.tpl
# new file: indico/MaKaC/plugins/Collaboration/EVO/tpls/chelp/NewBookingForm.wohl
# deleted: indico/MaKaC/plugins/Collaboration/EVO/tpls/display.xsl
# modified: indico/MaKaC/plugins/Collaboration/RecordingRequest/Style.css
# modified: indico/MaKaC/plugins/Collaboration/RecordingRequest/mail.py
# modified: indico/MaKaC/plugins/Collaboration/RecordingRequest/options.py
# modified: indico/MaKaC/plugins/Collaboration/RecordingRequest/pages.py
# modified: indico/MaKaC/plugins/Collaboration/RecordingRequest/tpls/Extra.js
# modified: indico/MaKaC/plugins/Collaboration/RecordingRequest/tpls/Main.js
# modified: indico/MaKaC/plugins/Collaboration/RecordingRequest/tpls/NewBookingForm.tpl
# modified: indico/MaKaC/plugins/Collaboration/RecordingRequest/tpls/chelp/NewBookingForm.wohl
# modified: indico/MaKaC/plugins/Collaboration/WebcastRequest/Style.css
# modified: indico/MaKaC/plugins/Collaboration/WebcastRequest/common.py
# modified: indico/MaKaC/plugins/Collaboration/WebcastRequest/mail.py
# modified: indico/MaKaC/plugins/Collaboration/WebcastRequest/options.py
# modified: indico/MaKaC/plugins/Collaboration/WebcastRequest/pages.py
# new file: indico/MaKaC/plugins/Collaboration/WebcastRequest/services.py
# modified: indico/MaKaC/plugins/Collaboration/WebcastRequest/tpls/Extra.js
# modified: indico/MaKaC/plugins/Collaboration/WebcastRequest/tpls/Main.js
# modified: indico/MaKaC/plugins/Collaboration/WebcastRequest/tpls/NewBookingForm.tpl
# modified: indico/MaKaC/plugins/Collaboration/WebcastRequest/tpls/chelp/NewBookingForm.wohl
# modified: indico/MaKaC/plugins/Collaboration/actions.py
# modified: indico/MaKaC/plugins/Collaboration/base.py
# modified: indico/MaKaC/plugins/Collaboration/collaborationTools.py
# modified: indico/MaKaC/plugins/Collaboration/indexes.py
# modified: indico/MaKaC/plugins/RoomBooking/default/room.py
# modified: indico/MaKaC/plugins/init.py
# modified: indico/MaKaC/plugins/base.py
# modified: indico/MaKaC/rb_location.py
# modified: indico/MaKaC/rb_room.py
# modified: indico/MaKaC/services/implementation/collaboration.py
# modified: indico/MaKaC/services/implementation/plugins.py
# modified: indico/MaKaC/services/implementation/roomBooking.py
# modified: indico/MaKaC/services/interface/rpc/handlers.py
# modified: indico/MaKaC/webinterface/displayMgr.py
# modified: indico/MaKaC/webinterface/pages/admins.py
# modified: indico/MaKaC/webinterface/pages/collaboration.py
# modified: indico/MaKaC/webinterface/pages/conferences.py
# modified: indico/MaKaC/webinterface/rh/base.py
# modified: indico/MaKaC/webinterface/rh/categoryDisplay.py
# modified: indico/MaKaC/webinterface/rh/collaboration.py
# modified: indico/MaKaC/webinterface/rh/conferenceModif.py
# modified: indico/MaKaC/webinterface/rh/roomBooking.py
# modified: indico/MaKaC/webinterface/stylesheets/include/date.xsl
# modified: indico/MaKaC/webinterface/stylesheets/include/indico.xsl
# modified: indico/MaKaC/webinterface/tpls/AdminCollaboration.tpl
# modified: indico/MaKaC/webinterface/tpls/AdminPluginsOptionList.tpl
# new file: indico/MaKaC/webinterface/tpls/BookingDisplay.tpl
# new file: indico/MaKaC/webinterface/tpls/CollaborationDisplay.tpl
# modified: indico/MaKaC/webinterface/tpls/ConfModifCollaborationMultipleBookings.tpl
# new file: indico/MaKaC/webinterface/tpls/ConfModifCollaborationProtection.tpl
# modified: indico/MaKaC/webinterface/tpls/ConferenceList.tpl
# modified: indico/MaKaC/webinterface/tpls/chelp/ConfModifCollaborationMultipleBookings.wohl
# modified: indico/MaKaC/webinterface/tpls/js/vars.js.tpl
# modified: indico/MaKaC/webinterface/urlHandlers.py
# new file: indico/htdocs/collaborationDisplay.py
# modified: indico/htdocs/confModifCollaboration.py
# modified: indico/htdocs/css/Default.css
# new file: indico/htdocs/images/mail_big.png
# new file: indico/htdocs/images/play_small_blue.png
# modified: indico/htdocs/js/indico/Collaboration/Collaboration.js
# modified: indico/htdocs/js/indico/Core/Buttons.js
# modified: indico/htdocs/js/indico/Core/Dialogs/Popup.js
# modified: indico/htdocs/js/indico/Core/Effects.js
# modified: indico/htdocs/js/indico/Core/Widgets/Base.js
# modified: indico/htdocs/js/indico/Legacy/Util.js
# modified: indico/htdocs/js/indico/Management/RoomBooking.js
# new file: tests/MaKaC_tests/plugins_tests/Collaboration_tests/init.py
# new file: tests/MaKaC_tests/plugins_tests/Collaboration_tests/collaborationtest.zeo.config
# new file: tests/MaKaC_tests/plugins_tests/Collaboration_tests/testCollaboration.py
# new file: tests/MaKaC_tests/plugins_tests/init.py
# modified: tests/runst
#

File:
1 edited

Legend:

Unmodified
Added
Removed
  • indico/MaKaC/conference.py

    rcef802 rfd0c10  
    19011901    """ 
    19021902 
    1903     @Retrieves ('MaKaC.conference.Conference', 'displayURL', lambda conf: str(urlHandlers.UHConferenceDisplay.getURL(conf))) 
     1903    @Retrieves ('MaKaC.conference.Conference', 'videoServicesDisplayURL', 
     1904                lambda conf: (str(urlHandlers.UHConferenceDisplay.getURL(conf)), str(urlHandlers.UHCollaborationDisplay.getURL(conf)))[conf.getType() == 'conference']) 
    19041905    @Retrieves ('MaKaC.conference.Conference', 'modifURL', lambda conf: str(urlHandlers.UHConferenceModification.getURL(conf))) 
    19051906    def __init__(self, creator, id="", creationDate = None, modificationDate = None): 
     
    20072008        self._sortUrlTag = "" 
    20082009 
     2010        self._titleChangeObservers = [] 
    20092011        self._dateChangeObservers = [] 
     2012        self._deleteObservers = [] 
    20102013 
    20112014        if PluginsHolder().hasPluginType("Collaboration"): 
     
    26732676        """deletes the conference from the system. 
    26742677        """ 
     2678        #we notify the observers that the conference 
     2679        for observer in self.getDeleteObservers(): 
     2680            try: 
     2681                observer.notifyDeletion() 
     2682            except Exception, e: 
     2683                try: 
     2684                    Logger.get('Conference').error("Exception while notifying the observer %s of of a conference deletion for conference %s: %s"% 
     2685                                                   (observer.getName(), self.getId(), str(e))) 
     2686                except Exception, e2: 
     2687                    Logger.get('Conference').error("Exception while notifying a conference deletion: %s (origin: %s)"%(str(e2), str(e))) 
    26752688 
    26762689        self.unindexContributions() 
     
    26942707        indexes.IndexesHolder().getById("OAIPrivateConferenceModificationDate").unindexConference(self) 
    26952708 
     2709    def getDeleteObservers(self): 
     2710        if not hasattr(self, "_deleteObservers"): 
     2711            self._deleteObservers = [] 
     2712        return self._deleteObservers 
     2713 
     2714    def addDeleteObserver(self, observer): 
     2715        self.getDeleteObservers().append(observer) 
     2716        self._p_changed=1 
     2717 
     2718    def removeDeleteObserver(self, observer): 
     2719        self.getDeleteObservers().remove(observer) 
     2720        self._p_changed=1 
     2721     
     2722     
    26962723 
    26972724    def getConference( self ): 
     
    27642791            except Exception, e: 
    27652792                try: 
    2766                     Logger.get('Conference').error("Exception while notifying the observer %s of a start date change from %s to %s for conference %s: "% 
     2793                    Logger.get('Conference').error("Exception while notifying the observer %s of a start date change from %s to %s for conference %s: %s"% 
    27672794                                                   (observer.getName(), formatDateTime(oldSdate), formatDateTime(sDate), self.getId(), str(e))) 
    27682795                except Exception, e2: 
     
    30073034    def setTitle(self, title): 
    30083035        """changes the current title of the conference to the one specified""" 
     3036         
     3037         
     3038        #we notify the observers that the conference's title has changed 
     3039        for observer in self.getTitleChangeObservers(): 
     3040            try: 
     3041                observer.notifyTitleChange(self.title, title) 
     3042            except Exception, e: 
     3043                try: 
     3044                    Logger.get('Conference').error("Exception while notifying the observer %s of of a conference title change for conference %s: %s"% 
     3045                                                   (observer.getName(), self.getId(), str(e))) 
     3046                except Exception, e2: 
     3047                    Logger.get('Conference').error("Exception while notifying a conference title change: %s (origin: %s)"%(str(e2), str(e))) 
     3048         
    30093049        self.title = title 
    30103050        self.cleanCategoryCache() 
    30113051        self.notifyModification() 
     3052 
     3053    def getTitleChangeObservers(self): 
     3054        if not hasattr(self, "_titleChangeObservers"): 
     3055            self._titleChangeObservers = [] 
     3056        return self._titleChangeObservers 
     3057 
     3058    def addTitleChangeObserver(self, observer): 
     3059        self.getTitleChangeObservers().append(observer) 
     3060        self._p_changed=1 
     3061 
     3062    def removeTitleChangeObserver(self, observer): 
     3063        self.getTitleChangeObservers().remove(observer) 
     3064        self._p_changed=1 
    30123065 
    30133066    def getDescription(self): 
     
    48584911        return None 
    48594912 
     4913class TitleChangeObserver(object): 
     4914    """ Base class for objects who want to be notified of a Conference object being deleted. 
     4915        Inheriting classes have to implement the notifyDeletion method, and probably the __init__ method too. 
     4916    """ 
     4917    def getObserverName(self): 
     4918        name = "'title change observer of class" + self.__class__.__name__ 
     4919        try: 
     4920            conference = self.getConference() 
     4921            name = name + " of conference " + conference.getId() 
     4922        except AttributeError: 
     4923            pass 
     4924        return name 
     4925 
     4926    def notifyTitleChange(self, oldTitle, newTitle): 
     4927        """ To be implemented by inheriting classes 
     4928            Notifies the observer that the Conference object's title has changed 
     4929        """ 
     4930        raise MaKaCError("Class " + str(self.__class__.__name__) + " did not implement method notifyTitleChange") 
    48604931 
    48614932class DateChangeObserver(object): 
     
    48664937    """ 
    48674938    def getObserverName(self): 
    4868         name = "'observer of class" + self.__class__.__name__ 
     4939        name = "'date observer of class" + self.__class__.__name__ 
    48694940        try: 
    48704941            conference = self.getConference() 
     
    48914962        """ 
    48924963        raise MaKaCError("Class " + str(self.__class__.__name__) + " did not implement method notifyTimezoneChange") 
     4964 
     4965 
     4966class DeleteObserver(object): 
     4967    """ Base class for objects who want to be notified of a Conference object being deleted. 
     4968        Inheriting classes have to implement the notifyDeletion method, and probably the __init__ method too. 
     4969    """ 
     4970    def getObserverName(self): 
     4971        name = "'delete observer of class" + self.__class__.__name__ 
     4972        try: 
     4973            conference = self.getConference() 
     4974            name = name + " of conference " + conference.getId() 
     4975        except AttributeError: 
     4976            pass 
     4977        return name 
     4978 
     4979    def notifyDeletion(self): 
     4980        """ To be implemented by inheriting classes 
     4981            Notifies the observer that the Conference object it is attached to has been deleted 
     4982        """ 
     4983        raise MaKaCError("Class " + str(self.__class__.__name__) + " did not implement method notifyDeletion") 
    48934984 
    48944985 
Note: See TracChangeset for help on using the changeset viewer.