Fix datepicker arrows style on hover
[cds-indico.git] / indico / MaKaC / webinterface / urlHandlers.py
blobf6a2f1b754a0e513738b23911a1d099a92c6f4e4
1 # This file is part of Indico.
2 # Copyright (C) 2002 - 2015 European Organization for Nuclear Research (CERN).
4 # Indico is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License as
6 # published by the Free Software Foundation; either version 3 of the
7 # License, or (at your option) any later version.
9 # Indico is distributed in the hope that it will be useful, but
10 # WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with Indico; if not, see <http://www.gnu.org/licenses/>.
17 import os
18 import re
19 import urlparse
21 from flask import request, session, has_request_context
23 from MaKaC.common.url import URL, EndpointURL
24 from MaKaC.common.timezoneUtils import nowutc
25 from MaKaC.common.contextManager import ContextManager
27 from indico.core.config import Config
30 class BooleanMixin:
31 """Mixin to convert True to 'y' and remove False altogether."""
32 _true = 'y'
34 @classmethod
35 def _translateParams(cls, params):
36 return dict((key, cls._true if value is True else value)
37 for key, value in params.iteritems()
38 if value is not False)
41 class BooleanTrueMixin(BooleanMixin):
42 _true = 'True'
45 class URLHandler(object):
46 """This is the generic URLHandler class. It contains information about the
47 concrete URL pointing to the request handler and gives basic methods to
48 generate the URL from some target objects complying to the Locable
49 interface.
50 Actually, URLHandlers must never be intanciated as all their methods are
51 classmethods.
53 Attributes:
54 _relativeURL - (string) Contains the relative (the part which is
55 variable from the root) URL pointing to the corresponding request
56 handler.
57 _endpoint - (string) Contains the name of a Flask endpoint.
58 _defaultParams - (dict) Default params (overwritten by kwargs)
59 _fragment - (string) URL fragment to set
60 """
61 _relativeURL = None
62 _endpoint = None
63 _defaultParams = {}
64 _fragment = False
66 @classmethod
67 def getRelativeURL(cls):
68 """Gives the relative URL (URL part which is carachteristic) for the
69 corresponding request handler.
70 """
71 return cls._relativeURL
73 @classmethod
74 def getStaticURL(cls, target=None, **params):
75 if cls._relativeURL:
76 return cls._relativeURL.replace('.py', '.html')
77 else:
78 # yay, super ugly, but it works...
79 return re.sub(r'^event\.', '', cls._endpoint) + '.html'
81 @classmethod
82 def _want_secure_url(cls, force_secure=None):
83 if not Config.getInstance().getBaseSecureURL():
84 return False
85 elif force_secure is not None:
86 return force_secure
87 elif not has_request_context():
88 return False
89 else:
90 return request.is_secure
92 @classmethod
93 def _getURL(cls, _force_secure=None, **params):
94 """ Gives the full URL for the corresponding request handler.
96 Parameters:
97 _force_secure - (bool) create a secure url if possible
98 params - (dict) parameters to be added to the URL.
99 """
101 secure = cls._want_secure_url(_force_secure)
102 if not cls._endpoint:
103 # Legacy UH containing a relativeURL
104 cfg = Config.getInstance()
105 baseURL = cfg.getBaseSecureURL() if secure else cfg.getBaseURL()
106 url = URL('%s/%s' % (baseURL, cls.getRelativeURL()), **params)
107 else:
108 assert not cls.getRelativeURL()
109 url = EndpointURL(cls._endpoint, secure, params)
111 if cls._fragment:
112 url.fragment = cls._fragment
114 return url
116 @classmethod
117 def _translateParams(cls, params):
118 # When overriding this you may return a new dict or modify the existing one in-place.
119 # But in any case, you must return the final dict.
120 return params
122 @classmethod
123 def _getParams(cls, target, params):
124 params = dict(cls._defaultParams, **params)
125 if target is not None:
126 params.update(target.getLocator())
127 params = cls._translateParams(params)
128 return params
130 @classmethod
131 def getURL(cls, target=None, _ignore_static=False, **params):
132 """Gives the full URL for the corresponding request handler. In case
133 the target parameter is specified it will append to the URL the
134 the necessary parameters to make the target be specified in the url.
136 Parameters:
137 target - (Locable) Target object which must be uniquely
138 specified in the URL so the destination request handler
139 is able to retrieve it.
140 params - (Dict) parameters to be added to the URL.
142 if not _ignore_static and ContextManager.get('offlineMode', False):
143 return URL(cls.getStaticURL(target, **params))
144 return cls._getURL(**cls._getParams(target, params))
147 # Hack to allow secure Indico on non-80 ports
148 def setSSLPort(url):
150 Returns url with port changed to SSL one.
151 If url has no port specified, it returns the same url.
152 SSL port is extracted from loginURL (MaKaCConfig)
154 # Set proper PORT for images requested via SSL
155 sslURL = Config.getInstance().getBaseSecureURL()
156 sslPort = ':%d' % (urlparse.urlsplit(sslURL).port or 443)
158 # If there is NO port, nothing will happen (production indico)
159 # If there IS a port, it will be replaced with proper SSL one, taken from loginURL
160 regexp = ':\d{2,5}' # Examples: :8080 :80 :65535
161 return re.sub(regexp, sslPort, url)
164 class UHWelcome(URLHandler):
165 _endpoint = 'misc.index'
168 class UHIndicoNews(URLHandler):
169 _endpoint = 'misc.news'
172 class UHConferenceHelp(URLHandler):
173 _endpoint = 'misc.help'
176 class UHCalendar(URLHandler):
177 _endpoint = 'category.wcalendar'
179 @classmethod
180 def getURL(cls, categList=None):
181 url = cls._getURL()
182 if not categList:
183 categList = []
184 lst = [categ.getId() for categ in categList]
185 url.addParam('selCateg', lst)
186 return url
189 class UHCalendarSelectCategories(URLHandler):
190 _endpoint = 'category.wcalendar-select'
193 class UHConferenceCreation(URLHandler):
194 _endpoint = 'event_creation.conferenceCreation'
196 @classmethod
197 def getURL(cls, target):
198 url = cls._getURL()
199 if target is not None:
200 url.addParams(target.getLocator())
201 return url
204 class UHConferencePerformCreation(URLHandler):
205 _endpoint = 'event_creation.conferenceCreation-createConference'
208 class UHConferenceDisplay(URLHandler):
209 _endpoint = 'event.conferenceDisplay'
212 class UHNextEvent(URLHandler):
213 _endpoint = 'event.conferenceDisplay-next'
216 class UHPreviousEvent(URLHandler):
217 _endpoint = 'event.conferenceDisplay-prev'
220 class UHConferenceOverview(URLHandler):
221 _endpoint = 'event.conferenceDisplay-overview'
223 @classmethod
224 def getURL(cls, target):
225 if ContextManager.get('offlineMode', False):
226 return URL(UHConferenceDisplay.getStaticURL(target))
227 return super(UHConferenceOverview, cls).getURL(target)
230 class UHConferenceEmail(URLHandler):
231 _endpoint = 'event.EMail'
233 @classmethod
234 def getStaticURL(cls, target, **params):
235 if target is not None:
236 return "mailto:%s" % str(target.getEmail())
237 return cls.getURL(target)
240 class UHConferenceSendEmail(URLHandler):
241 _endpoint = 'event.EMail-send'
244 class UHRegistrantsSendEmail(URLHandler):
245 _endpoint = 'event_mgmt.EMail-sendreg'
248 class UHConvenersSendEmail(URLHandler):
249 _endpoint = 'event_mgmt.EMail-sendconvener'
252 class UHContribParticipantsSendEmail(URLHandler):
253 _endpoint = 'event_mgmt.EMail-sendcontribparticipants'
256 class UHConferenceOtherViews(URLHandler):
257 _endpoint = 'event.conferenceOtherViews'
260 class UHConferenceLogo(URLHandler):
261 _endpoint = 'event.conferenceDisplay-getLogo'
263 @classmethod
264 def getStaticURL(cls, target, **params):
265 return os.path.join(Config.getInstance().getImagesBaseURL(), "logo", str(target.getLogo()))
268 class UHConferenceCSS(URLHandler):
269 _endpoint = 'event.conferenceDisplay-getCSS'
271 @classmethod
272 def getStaticURL(cls, target, **params):
273 return cls.getURL(target, _ignore_static=True, **params)
276 class UHConferencePic(URLHandler):
277 _endpoint = 'event.conferenceDisplay-getPic'
280 class UHConfModifPreviewCSS(URLHandler):
281 _endpoint = 'event_mgmt.confModifDisplay-previewCSS'
284 class UHCategoryIcon(URLHandler):
285 _endpoint = 'category.categoryDisplay-getIcon'
288 class UHConferenceModification(URLHandler):
289 _endpoint = 'event_mgmt.conferenceModification'
293 # ============================================================================
294 # ROOM BOOKING ===============================================================
295 # ============================================================================
297 # Free standing ==============================================================
300 class UHRoomBookingMapOfRooms(URLHandler):
301 _endpoint = 'rooms.roomBooking-mapOfRooms'
304 class UHRoomBookingMapOfRoomsWidget(URLHandler):
305 _endpoint = 'rooms.roomBooking-mapOfRoomsWidget'
308 class UHRoomBookingWelcome(URLHandler):
309 _endpoint = 'rooms.roomBooking'
312 class UHRoomBookingSearch4Bookings(URLHandler):
313 _endpoint = 'rooms.roomBooking-search4Bookings'
316 class UHRoomBookingRoomDetails(BooleanTrueMixin, URLHandler):
317 _endpoint = 'rooms.roomBooking-roomDetails'
320 class UHRoomBookingRoomStats(URLHandler):
321 _endpoint = 'rooms.roomBooking-roomStats'
324 class UHRoomBookingDeleteBooking(URLHandler):
325 _endpoint = 'rooms.roomBooking-deleteBooking'
328 # RB Administration
329 class UHRoomBookingAdmin(URLHandler):
330 _endpoint = 'rooms_admin.roomBooking-admin'
333 class UHRoomBookingAdminLocation(URLHandler):
334 _endpoint = 'rooms_admin.roomBooking-adminLocation'
337 class UHRoomBookingSetDefaultLocation(URLHandler):
338 _endpoint = 'rooms_admin.roomBooking-setDefaultLocation'
341 class UHRoomBookingSaveLocation(URLHandler):
342 _endpoint = 'rooms_admin.roomBooking-saveLocation'
345 class UHRoomBookingDeleteLocation(URLHandler):
346 _endpoint = 'rooms_admin.roomBooking-deleteLocation'
349 class UHRoomBookingSaveEquipment(URLHandler):
350 _endpoint = 'rooms_admin.roomBooking-saveEquipment'
353 class UHRoomBookingDeleteEquipment(URLHandler):
354 _endpoint = 'rooms_admin.roomBooking-deleteEquipment'
357 class UHRoomBookingSaveCustomAttributes(URLHandler):
358 _endpoint = 'rooms_admin.roomBooking-saveCustomAttributes'
361 class UHConferenceClose(URLHandler):
362 _endpoint = 'event_mgmt.conferenceModification-close'
365 class UHConferenceOpen(URLHandler):
366 _endpoint = 'event_mgmt.conferenceModification-open'
369 class UHConfDataModif(URLHandler):
370 _endpoint = 'event_mgmt.conferenceModification-data'
373 class UHConfScreenDatesEdit(URLHandler):
374 _endpoint = 'event_mgmt.conferenceModification-screenDates'
377 class UHConfPerformDataModif(URLHandler):
378 _endpoint = 'event_mgmt.conferenceModification-dataPerform'
381 class UHConfAddContribType(URLHandler):
382 _endpoint = 'event_mgmt.conferenceModification-addContribType'
385 class UHConfRemoveContribType(URLHandler):
386 _endpoint = 'event_mgmt.conferenceModification-removeContribType'
389 class UHConfEditContribType(URLHandler):
390 _endpoint = 'event_mgmt.conferenceModification-editContribType'
393 class UHConfModifCFAOptFld(URLHandler):
394 _endpoint = 'event_mgmt.confModifCFA-abstractFields'
397 class UHConfModifCFARemoveOptFld(URLHandler):
398 _endpoint = 'event_mgmt.confModifCFA-removeAbstractField'
401 class UHConfModifCFAAbsFieldUp(URLHandler):
402 _endpoint = 'event_mgmt.confModifCFA-absFieldUp'
405 class UHConfModifCFAAbsFieldDown(URLHandler):
406 _endpoint = 'event_mgmt.confModifCFA-absFieldDown'
409 class UHConfModifProgram(URLHandler):
410 _endpoint = 'event_mgmt.confModifProgram'
413 class UHConfModifCFA(URLHandler):
414 _endpoint = 'event_mgmt.confModifCFA'
417 class UHConfModifCFAPreview(URLHandler):
418 _endpoint = 'event_mgmt.confModifCFA-preview'
421 class UHConfCFAChangeStatus(URLHandler):
422 _endpoint = 'event_mgmt.confModifCFA-changeStatus'
425 class UHConfCFASwitchMultipleTracks(URLHandler):
426 _endpoint = 'event_mgmt.confModifCFA-switchMultipleTracks'
429 class UHConfCFAMakeTracksMandatory(URLHandler):
430 _endpoint = 'event_mgmt.confModifCFA-makeTracksMandatory'
433 class UHConfCFAAllowAttachFiles(URLHandler):
434 _endpoint = 'event_mgmt.confModifCFA-switchAttachFiles'
437 class UHAbstractAttachmentFileAccess(URLHandler):
438 _endpoint = 'event.abstractDisplay-getAttachedFile'
441 class UHConfCFAShowSelectAsSpeaker(URLHandler):
442 _endpoint = 'event_mgmt.confModifCFA-switchShowSelectSpeaker'
445 class UHConfCFASelectSpeakerMandatory(URLHandler):
446 _endpoint = 'event_mgmt.confModifCFA-switchSelectSpeakerMandatory'
449 class UHConfCFAAttachedFilesContribList(URLHandler):
450 _endpoint = 'event_mgmt.confModifCFA-switchShowAttachedFiles'
453 class UHCFADataModification(URLHandler):
454 _endpoint = 'event_mgmt.confModifCFA-modifyData'
457 class UHCFAPerformDataModification(URLHandler):
458 _endpoint = 'event_mgmt.confModifCFA-performModifyData'
461 class UHConfAbstractManagment(URLHandler):
462 _endpoint = 'event_mgmt.abstractsManagment'
465 class UHConfAbstractList(URLHandler):
466 _endpoint = 'event_mgmt.abstractsManagment'
469 class UHAbstractSubmission(URLHandler):
470 _endpoint = 'event.abstractSubmission'
473 class UHAbstractSubmissionConfirmation(URLHandler):
474 _endpoint = 'event.abstractSubmission-confirmation'
477 class UHAbstractDisplay(URLHandler):
478 _endpoint = 'event.abstractDisplay'
481 class UHAbstractDisplayPDF(URLHandler):
482 _endpoint = 'event.abstractDisplay-pdf'
485 class UHAbstractConfManagerDisplayPDF(URLHandler):
486 _endpoint = 'event_mgmt.abstractManagment-abstractToPDF'
489 class UHAbstractConfSelectionAction(URLHandler):
490 _endpoint = 'event_mgmt.abstractsManagment-abstractsActions'
493 class UHAbstractsConfManagerDisplayParticipantList(URLHandler):
494 _endpoint = 'event_mgmt.abstractsManagment-participantList'
497 class UHUserAbstracts(URLHandler):
498 _endpoint = 'event.userAbstracts'
501 class UHUserAbstractsPDF(URLHandler):
502 _endpoint = 'event.userAbstracts-pdf'
505 class UHAbstractModify(URLHandler):
506 _endpoint = 'event.abstractModify'
509 class UHCFAAbstractManagment(URLHandler):
510 _endpoint = 'event_mgmt.abstractManagment'
513 class UHAbstractManagment(URLHandler):
514 _endpoint = 'event_mgmt.abstractManagment'
517 class UHAbstractManagmentAccept(URLHandler):
518 _endpoint = 'event_mgmt.abstractManagment-accept'
521 class UHAbstractManagmentAcceptMultiple(URLHandler):
522 _endpoint = 'event_mgmt.abstractManagment-acceptMultiple'
525 class UHAbstractManagmentRejectMultiple(URLHandler):
526 _endpoint = 'event_mgmt.abstractManagment-rejectMultiple'
529 class UHAbstractManagmentReject(URLHandler):
530 _endpoint = 'event_mgmt.abstractManagment-reject'
533 class UHAbstractManagmentChangeTrack(URLHandler):
534 _endpoint = 'event_mgmt.abstractManagment-changeTrack'
537 class UHAbstractTrackProposalManagment(URLHandler):
538 _endpoint = 'event_mgmt.abstractManagment-trackProposal'
541 class UHAbstractTrackOrderByRating(URLHandler):
542 _endpoint = 'event_mgmt.abstractManagment-orderByRating'
545 class UHAbstractDirectAccess(URLHandler):
546 _endpoint = 'event_mgmt.abstractManagment-directAccess'
549 class UHAbstractToXML(URLHandler):
550 _endpoint = 'event_mgmt.abstractManagment-xml'
553 class UHAbstractSubmissionDisplay(URLHandler):
554 _endpoint = 'event.abstractSubmission'
557 class UHConfAddTrack(URLHandler):
558 _endpoint = 'event_mgmt.confModifProgram-addTrack'
561 class UHConfDelTracks(URLHandler):
562 _endpoint = 'event_mgmt.confModifProgram-deleteTracks'
565 class UHConfPerformAddTrack(URLHandler):
566 _endpoint = 'event_mgmt.confModifProgram-performAddTrack'
569 class UHTrackModification(URLHandler):
570 _endpoint = 'event_mgmt.trackModification'
573 class UHTrackModifAbstracts(URLHandler):
574 _endpoint = 'event_mgmt.trackModifAbstracts'
577 class UHTrackAbstractBase(URLHandler):
578 @classmethod
579 def getURL(cls, track, abstract):
580 url = cls._getURL()
581 url.setParams(track.getLocator())
582 url.addParam('abstractId', abstract.getId())
583 return url
586 class UHTrackAbstractModif(UHTrackAbstractBase):
587 _endpoint = 'event_mgmt.trackAbstractModif'
590 class UHAbstractTrackManagerDisplayPDF(UHTrackAbstractBase):
591 _endpoint = 'event_mgmt.trackAbstractModif-abstractToPDF'
594 class UHAbstractsTrackManagerAction(URLHandler):
595 _endpoint = 'event_mgmt.trackAbstractModif-abstractAction'
598 class UHTrackAbstractPropToAcc(UHTrackAbstractBase):
599 _endpoint = 'event_mgmt.trackAbstractModif-proposeToBeAcc'
602 class UHTrackAbstractPropToRej(UHTrackAbstractBase):
603 _endpoint = 'event_mgmt.trackAbstractModif-proposeToBeRej'
606 class UHTrackAbstractAccept(UHTrackAbstractBase):
607 _endpoint = 'event_mgmt.trackAbstractModif-accept'
610 class UHTrackAbstractReject(UHTrackAbstractBase):
611 _endpoint = 'event_mgmt.trackAbstractModif-reject'
614 class UHTrackAbstractDirectAccess(URLHandler):
615 _endpoint = 'event_mgmt.trackAbstractModif-directAccess'
618 class UHTrackAbstractPropForOtherTrack(UHTrackAbstractBase):
619 _endpoint = 'event_mgmt.trackAbstractModif-proposeForOtherTracks'
622 class UHTrackModifCoordination(URLHandler):
623 _endpoint = 'event_mgmt.trackModifCoordination'
626 class UHTrackDataModif(URLHandler):
627 _endpoint = 'event_mgmt.trackModification-modify'
630 class UHTrackPerformDataModification(URLHandler):
631 _endpoint = 'event_mgmt.trackModification-performModify'
634 class UHTrackAbstractModIntComments(UHTrackAbstractBase):
635 _endpoint = 'event_mgmt.trackAbstractModif-comments'
638 class UHConfModifSchedule(URLHandler):
639 _endpoint = 'event_mgmt.confModifSchedule'
642 class UHContribConfSelectionAction(URLHandler):
643 _endpoint = 'event_mgmt.confModifContribList-contribsActions'
646 class UHContribsConfManagerDisplayMenuPDF(URLHandler):
647 _endpoint = 'event_mgmt.confModifContribList-contribsToPDFMenu'
650 class UHContribsConfManagerDisplayParticipantList(URLHandler):
651 _endpoint = 'event_mgmt.confModifContribList-participantList'
654 class UHSessionClose(URLHandler):
655 _endpoint = 'event_mgmt.sessionModification-close'
658 class UHSessionOpen(URLHandler):
659 _endpoint = 'event_mgmt.sessionModification-open'
662 class UHContribToXMLConfManager(URLHandler):
663 _endpoint = 'event_mgmt.contributionModification-xml'
666 class UHContribToXML(URLHandler):
667 _endpoint = 'event.contributionDisplay-xml'
669 @classmethod
670 def getStaticURL(cls, target, **params):
671 return ""
674 class UHContribToiCal(URLHandler):
675 _endpoint = 'event.contributionDisplay-ical'
677 @classmethod
678 def getStaticURL(cls, target, **params):
679 return ""
682 class UHContribToPDFConfManager(URLHandler):
683 _endpoint = 'event_mgmt.contributionModification-pdf'
686 class UHContribToPDF(URLHandler):
687 _endpoint = 'event.contributionDisplay-pdf'
689 @classmethod
690 def getStaticURL(cls, target, **params):
691 if target is not None:
692 return "files/generatedPdf/%s-Contribution.pdf" % target.getId()
695 class UHContribModifAC(URLHandler):
696 _endpoint = 'event_mgmt.contributionAC'
699 class UHContributionSetVisibility(URLHandler):
700 _endpoint = 'event_mgmt.contributionAC-setVisibility'
703 class UHContribModifAddMaterials(URLHandler):
704 _endpoint = 'event_mgmt.contributionModification-materialsAdd'
707 class UHContribModifSubCont(URLHandler):
708 _endpoint = 'event_mgmt.contributionModifSubCont'
711 class UHContribAddSubCont(URLHandler):
712 _endpoint = 'event_mgmt.contributionModifSubCont-add'
715 class UHContribCreateSubCont(URLHandler):
716 _endpoint = 'event_mgmt.contributionModifSubCont-create'
719 class UHSubContribActions(URLHandler):
720 _endpoint = 'event_mgmt.contributionModifSubCont-actionSubContribs'
723 class UHContribModifTools(URLHandler):
724 _endpoint = 'event_mgmt.contributionTools'
727 class UHContributionDataModif(URLHandler):
728 _endpoint = 'event_mgmt.contributionModification-modifData'
731 class UHContributionDataModification(URLHandler):
732 _endpoint = 'event_mgmt.contributionModification-data'
735 class UHConfModifAC(URLHandler):
736 _endpoint = 'event_mgmt.confModifAC'
739 class UHConfSetVisibility(URLHandler):
740 _endpoint = 'event_mgmt.confModifAC-setVisibility'
743 class UHConfGrantSubmissionToAllSpeakers(URLHandler):
744 _endpoint = 'event_mgmt.confModifAC-grantSubmissionToAllSpeakers'
747 class UHConfRemoveAllSubmissionRights(URLHandler):
748 _endpoint = 'event_mgmt.confModifAC-removeAllSubmissionRights'
751 class UHConfGrantModificationToAllConveners(URLHandler):
752 _endpoint = 'event_mgmt.confModifAC-grantModificationToAllConveners'
755 class UHConfModifCoordinatorRights(URLHandler):
756 _endpoint = 'event_mgmt.confModifAC-modifySessionCoordRights'
759 class UHConfModifTools(URLHandler):
760 _endpoint = 'event_mgmt.confModifTools'
763 class UHConfModifParticipants(URLHandler):
764 _endpoint = 'event_mgmt.confModifParticipants'
767 class UHInternalPageDisplay(URLHandler):
768 _endpoint = 'event.internalPage'
770 @classmethod
771 def getStaticURL(cls, target, **params):
772 params = target.getLocator()
773 url = os.path.join("internalPage-%s.html" % params["pageId"])
774 return url
777 class UHConfModifDisplay(URLHandler):
778 _endpoint = 'event_mgmt.confModifDisplay'
781 class UHConfModifDisplayCustomization(URLHandler):
782 _endpoint = 'event_mgmt.confModifDisplay-custom'
785 class UHConfModifDisplayMenu(URLHandler):
786 _endpoint = 'event_mgmt.confModifDisplay-menu'
789 class UHConfModifDisplayResources(URLHandler):
790 _endpoint = 'event_mgmt.confModifDisplay-resources'
793 class UHConfModifDisplayConfHeader(URLHandler):
794 _endpoint = 'event_mgmt.confModifDisplay-confHeader'
797 class UHConfModifDisplayAddLink(URLHandler):
798 _endpoint = 'event_mgmt.confModifDisplay-addLink'
801 class UHConfModifDisplayAddPage(URLHandler):
802 _endpoint = 'event_mgmt.confModifDisplay-addPage'
805 class UHConfModifDisplayModifyData(URLHandler):
806 _endpoint = 'event_mgmt.confModifDisplay-modifyData'
809 class UHConfModifDisplayModifySystemData(URLHandler):
810 _endpoint = 'event_mgmt.confModifDisplay-modifySystemData'
813 class UHConfModifDisplayAddSpacer(URLHandler):
814 _endpoint = 'event_mgmt.confModifDisplay-addSpacer'
817 class UHConfModifDisplayRemoveLink(URLHandler):
818 _endpoint = 'event_mgmt.confModifDisplay-removeLink'
821 class UHConfModifDisplayToggleLinkStatus(URLHandler):
822 _endpoint = 'event_mgmt.confModifDisplay-toggleLinkStatus'
825 class UHConfModifDisplayToggleHomePage(URLHandler):
826 _endpoint = 'event_mgmt.confModifDisplay-toggleHomePage'
829 class UHConfModifDisplayUpLink(URLHandler):
830 _endpoint = 'event_mgmt.confModifDisplay-upLink'
833 class UHConfModifDisplayDownLink(URLHandler):
834 _endpoint = 'event_mgmt.confModifDisplay-downLink'
837 class UHConfModifDisplayToggleTimetableView(URLHandler):
838 _endpoint = 'event_mgmt.confModifDisplay-toggleTimetableView'
841 class UHConfModifDisplayToggleTTDefaultLayout(URLHandler):
842 _endpoint = 'event_mgmt.confModifDisplay-toggleTTDefaultLayout'
845 class UHConfModifFormatTitleBgColor(URLHandler):
846 _endpoint = 'event_mgmt.confModifDisplay-formatTitleBgColor'
849 class UHConfModifFormatTitleTextColor(URLHandler):
850 _endpoint = 'event_mgmt.confModifDisplay-formatTitleTextColor'
853 class UHConfDeletion(URLHandler):
854 _endpoint = 'event_mgmt.confModifTools-delete'
857 class UHConfClone(URLHandler):
858 _endpoint = 'event_mgmt.confModifTools-clone'
861 class UHConfPerformCloning(URLHandler):
862 _endpoint = 'event_mgmt.confModifTools-performCloning'
865 class UHConfAllSessionsConveners(URLHandler):
866 _endpoint = 'event_mgmt.confModifTools-allSessionsConveners'
869 class UHConfAllSessionsConvenersAction(URLHandler):
870 _endpoint = 'event_mgmt.confModifTools-allSessionsConvenersAction'
873 class UHConfAllSpeakers(URLHandler):
874 _endpoint = 'event_mgmt.confModifListings-allSpeakers'
877 class UHConfAllSpeakersAction(URLHandler):
878 _endpoint = 'event_mgmt.confModifListings-allSpeakersAction'
881 class UHSaveLogo(URLHandler):
882 _endpoint = 'event_mgmt.confModifDisplay-saveLogo'
885 class UHRemoveLogo(URLHandler):
886 _endpoint = 'event_mgmt.confModifDisplay-removeLogo'
889 class UHSaveCSS(URLHandler):
890 _endpoint = 'event_mgmt.confModifDisplay-saveCSS'
893 class UHUseCSS(URLHandler):
894 _endpoint = 'event_mgmt.confModifDisplay-useCSS'
897 class UHRemoveCSS(URLHandler):
898 _endpoint = 'event_mgmt.confModifDisplay-removeCSS'
901 class UHSavePic(URLHandler):
902 _endpoint = 'event_mgmt.confModifDisplay-savePic'
905 class UHConfModifParticipantsSetup(URLHandler):
906 _endpoint = 'event_mgmt.confModifParticipants-setup'
909 class UHConfModifParticipantsPending(URLHandler):
910 _endpoint = 'event_mgmt.confModifParticipants-pendingParticipants'
913 class UHConfModifParticipantsDeclined(URLHandler):
914 _endpoint = 'event_mgmt.confModifParticipants-declinedParticipants'
917 class UHConfModifParticipantsAction(URLHandler):
918 _endpoint = 'event_mgmt.confModifParticipants-action'
921 class UHConfModifParticipantsStatistics(URLHandler):
922 _endpoint = 'event_mgmt.confModifParticipants-statistics'
925 class UHConfParticipantsInvitation(URLHandler):
926 _endpoint = 'event.confModifParticipants-invitation'
929 class UHConfParticipantsRefusal(URLHandler):
930 _endpoint = 'event.confModifParticipants-refusal'
933 class UHConfModifToggleSearch(URLHandler):
934 _endpoint = 'event_mgmt.confModifDisplay-toggleSearch'
937 class UHConfModifToggleNavigationBar(URLHandler):
938 _endpoint = 'event_mgmt.confModifDisplay-toggleNavigationBar'
941 class UHTickerTapeAction(URLHandler):
942 _endpoint = 'event_mgmt.confModifDisplay-tickerTapeAction'
945 class UHConfUser(URLHandler):
946 @classmethod
947 def getURL(cls, conference, av=None):
948 url = cls._getURL()
949 if conference is not None:
950 loc = conference.getLocator().copy()
951 if av:
952 loc.update(av.getLocator())
953 url.setParams(loc)
954 return url
957 class UHConfEnterAccessKey(UHConfUser):
958 _endpoint = 'event.conferenceDisplay-accessKey'
961 class UHConfManagementAccess(UHConfUser):
962 _endpoint = 'event_mgmt.conferenceModification-managementAccess'
965 class UHConfEnterModifKey(UHConfUser):
966 _endpoint = 'event_mgmt.conferenceModification-modifKey'
969 class UHConfCloseModifKey(UHConfUser):
970 _endpoint = 'event_mgmt.conferenceModification-closeModifKey'
973 class UHDomains(URLHandler):
974 _endpoint = 'admin.domainList'
977 class UHNewDomain(URLHandler):
978 _endpoint = 'admin.domainCreation'
981 class UHDomainPerformCreation(URLHandler):
982 _endpoint = 'admin.domainCreation-create'
985 class UHDomainDetails(URLHandler):
986 _endpoint = 'admin.domainDetails'
989 class UHDomainModification(URLHandler):
990 _endpoint = 'admin.domainDataModification'
993 class UHDomainPerformModification(URLHandler):
994 _endpoint = 'admin.domainDataModification-modify'
997 class UHRoomMappers(URLHandler):
998 _endpoint = 'rooms_admin.roomMapper'
1001 class UHNewRoomMapper(URLHandler):
1002 _endpoint = 'rooms_admin.roomMapper-creation'
1005 class UHRoomMapperPerformCreation(URLHandler):
1006 _endpoint = 'rooms_admin.roomMapper-performCreation'
1009 class UHRoomMapperDetails(URLHandler):
1010 _endpoint = 'rooms_admin.roomMapper-details'
1013 class UHRoomMapperModification(URLHandler):
1014 _endpoint = 'rooms_admin.roomMapper-modify'
1017 class UHRoomMapperPerformModification(URLHandler):
1018 _endpoint = 'rooms_admin.roomMapper-performModify'
1021 class UHAdminArea(URLHandler):
1022 _endpoint = 'admin.adminList'
1025 class UHAdminSwitchNewsActive(URLHandler):
1026 _endpoint = 'admin.adminList-switchNewsActive'
1029 class UHAdminsStyles(URLHandler):
1030 _endpoint = 'admin.adminLayout-styles'
1033 class UHAdminsConferenceStyles(URLHandler):
1034 _endpoint = 'admin.adminConferenceStyles'
1037 class UHAdminsAddStyle(URLHandler):
1038 _endpoint = 'admin.adminLayout-addStyle'
1041 class UHAdminsDeleteStyle(URLHandler):
1042 _endpoint = 'admin.adminLayout-deleteStyle'
1045 class UHAdminsSystem(URLHandler):
1046 _endpoint = 'admin.adminSystem'
1049 class UHAdminsSystemModif(URLHandler):
1050 _endpoint = 'admin.adminSystem-modify'
1053 class UHAdminsProtection(URLHandler):
1054 _endpoint = 'admin.adminProtection'
1057 class UHCategoryModification(URLHandler):
1058 _endpoint = 'category_mgmt.categoryModification'
1060 @classmethod
1061 def getActionURL(cls):
1062 return ''
1065 class UHCategoryActionSubCategs(URLHandler):
1066 _endpoint = 'category_mgmt.categoryModification-actionSubCategs'
1069 class UHCategoryActionConferences(URLHandler):
1070 _endpoint = 'category_mgmt.categoryModification-actionConferences'
1073 class UHCategModifAC(URLHandler):
1074 _endpoint = 'category_mgmt.categoryAC'
1077 class UHCategorySetConfCreationControl(URLHandler):
1078 _endpoint = 'category_mgmt.categoryConfCreationControl-setCreateConferenceControl'
1081 class UHCategorySetNotifyCreation(URLHandler):
1082 _endpoint = 'category_mgmt.categoryConfCreationControl-setNotifyCreation'
1085 class UHCategModifTools(URLHandler):
1086 _endpoint = 'category_mgmt.categoryTools'
1089 class UHCategoryDeletion(URLHandler):
1090 _endpoint = 'category_mgmt.categoryTools-delete'
1093 class UHCategModifTasks(URLHandler):
1094 _endpoint = 'category_mgmt.categoryTasks'
1097 class UHCategModifTasksAction(URLHandler):
1098 _endpoint = 'category_mgmt.categoryTasks-taskAction'
1101 class UHCategoryDataModif(URLHandler):
1102 _endpoint = 'category_mgmt.categoryDataModification'
1105 class UHCategoryPerformModification(URLHandler):
1106 _endpoint = 'category_mgmt.categoryDataModification-modify'
1109 class UHCategoryTasksOption(URLHandler):
1110 _endpoint = 'category_mgmt.categoryDataModification-tasksOption'
1113 class UHCategorySetVisibility(URLHandler):
1114 _endpoint = 'category_mgmt.categoryAC-setVisibility'
1117 class UHCategoryCreation(URLHandler):
1118 _endpoint = 'category_mgmt.categoryCreation'
1121 class UHCategoryPerformCreation(URLHandler):
1122 _endpoint = 'category_mgmt.categoryCreation-create'
1125 class UHCategoryDisplay(URLHandler):
1126 _endpoint = 'category.categoryDisplay'
1128 @classmethod
1129 def getURL(cls, target=None, **params):
1130 url = cls._getURL(**params)
1131 if target:
1132 if target.isRoot():
1133 return UHWelcome.getURL()
1134 url.setParams(target.getLocator())
1135 return url
1138 class UHCategoryMap(URLHandler):
1139 _endpoint = 'category.categoryMap'
1142 class UHCategoryOverview(URLHandler):
1143 _endpoint = 'category.categOverview'
1145 @classmethod
1146 def getURLFromOverview(cls, ow):
1147 url = cls.getURL()
1148 url.setParams(ow.getLocator())
1149 return url
1151 @classmethod
1152 def getWeekOverviewUrl(cls, categ):
1153 url = cls.getURL(categ)
1154 p = {"day": nowutc().day,
1155 "month": nowutc().month,
1156 "year": nowutc().year,
1157 "period": "week",
1158 "detail": "conference"}
1159 url.addParams(p)
1160 return url
1162 @classmethod
1163 def getMonthOverviewUrl(cls, categ):
1164 url = cls.getURL(categ)
1165 p = {"day": nowutc().day,
1166 "month": nowutc().month,
1167 "year": nowutc().year,
1168 "period": "month",
1169 "detail": "conference"}
1170 url.addParams(p)
1171 return url
1174 class UHGeneralInfoModification(URLHandler):
1175 _endpoint = 'admin.generalInfoModification'
1178 class UHGeneralInfoPerformModification(URLHandler):
1179 _endpoint = 'admin.generalInfoModification-update'
1182 class UHContributionDelete(URLHandler):
1183 _endpoint = 'event_mgmt.contributionTools-delete'
1186 class UHSubContributionDataModification(URLHandler):
1187 _endpoint = 'event_mgmt.subContributionModification-data'
1190 class UHSubContributionDataModif(URLHandler):
1191 _endpoint = 'event_mgmt.subContributionModification-modifData'
1194 class UHSubContributionDelete(URLHandler):
1195 _endpoint = 'event_mgmt.subContributionTools-delete'
1198 class UHSubContribModifTools(URLHandler):
1199 _endpoint = 'event_mgmt.subContributionTools'
1202 class UHSessionModification(URLHandler):
1203 _endpoint = 'event_mgmt.sessionModification'
1206 class UHSessionDataModification(URLHandler):
1207 _endpoint = 'event_mgmt.sessionModification-modify'
1210 class UHSessionFitSlot(URLHandler):
1211 _endpoint = 'event_mgmt.sessionModifSchedule-fitSlot'
1214 class UHSessionModifSchedule(URLHandler):
1215 _endpoint = 'event_mgmt.sessionModifSchedule'
1218 class UHSessionModSlotCalc(URLHandler):
1219 _endpoint = 'event_mgmt.sessionModifSchedule-slotCalc'
1222 class UHSessionModifAC(URLHandler):
1223 _endpoint = 'event_mgmt.sessionModifAC'
1226 class UHSessionSetVisibility(URLHandler):
1227 _endpoint = 'event_mgmt.sessionModifAC-setVisibility'
1230 class UHSessionModifTools(URLHandler):
1231 _endpoint = 'event_mgmt.sessionModifTools'
1234 class UHSessionModifComm(URLHandler):
1235 _endpoint = 'event_mgmt.sessionModifComm'
1238 class UHSessionModifCommEdit(URLHandler):
1239 _endpoint = 'event_mgmt.sessionModifComm-edit'
1242 class UHSessionDeletion(URLHandler):
1243 _endpoint = 'event_mgmt.sessionModifTools-delete'
1246 class UHContributionModification(URLHandler):
1247 _endpoint = 'event_mgmt.contributionModification'
1250 class UHSubContribModification(URLHandler):
1251 _endpoint = 'event_mgmt.subContributionModification'
1254 class UHConferenceProgram(URLHandler):
1255 _endpoint = 'event.conferenceProgram'
1258 class UHConferenceProgramPDF(URLHandler):
1259 _endpoint = 'event.conferenceProgram-pdf'
1261 @classmethod
1262 def getStaticURL(cls, target, **params):
1263 return "files/generatedPdf/Programme.pdf"
1266 class UHConferenceTimeTable(URLHandler):
1267 _endpoint = 'event.conferenceTimeTable'
1270 class UHConfTimeTablePDF(URLHandler):
1271 _endpoint = 'event.conferenceTimeTable-pdf'
1273 @classmethod
1274 def getStaticURL(cls, target, **params):
1275 if target is not None:
1276 params = target.getLocator()
1277 from MaKaC import conference
1279 if isinstance(target, conference.Conference):
1280 return "files/generatedPdf/Conference.pdf"
1281 if isinstance(target, conference.Contribution):
1282 return "files/generatedPdf/%s-Contribution.pdf" % (params["contribId"])
1283 elif isinstance(target, conference.Session) or isinstance(target, conference.SessionSlot):
1284 return "files/generatedPdf/%s-Session.pdf" % (params["sessionId"])
1285 return cls._getURL()
1288 class UHConferenceCFA(URLHandler):
1289 _endpoint = 'event.conferenceCFA'
1292 class UHSessionDisplay(URLHandler):
1293 _endpoint = 'event.sessionDisplay'
1295 @classmethod
1296 def getStaticURL(cls, target, **params):
1297 if target is not None:
1298 params.update(target.getLocator())
1299 return "%s-session.html" % params["sessionId"]
1302 class UHSessionToiCal(URLHandler):
1303 _endpoint = 'event.sessionDisplay-ical'
1306 class UHContributionDisplay(URLHandler):
1307 _endpoint = 'event.contributionDisplay'
1309 @classmethod
1310 def getStaticURL(cls, target, **params):
1311 if target is not None:
1312 params = target.getLocator()
1313 return "%s-contrib.html" % (params["contribId"])
1314 return cls.getURL(target, _ignore_static=True, **params)
1317 class UHSubContributionDisplay(URLHandler):
1318 _endpoint = 'event.subContributionDisplay'
1320 @classmethod
1321 def getStaticURL(cls, target, **params):
1322 if target is not None:
1323 params = target.getLocator()
1324 return "%s-subcontrib.html" % (params["subContId"])
1325 return cls.getURL(target, _ignore_static=True, **params)
1328 class UHSubContributionModification(URLHandler):
1329 _endpoint = 'event_mgmt.subContributionModification'
1332 class UHFileAccess(URLHandler):
1333 _endpoint = 'files.getFile-access'
1336 class UHErrorReporting(URLHandler):
1337 _endpoint = 'misc.errors'
1340 class UHAbstractWithdraw(URLHandler):
1341 _endpoint = 'event.abstractWithdraw'
1344 class UHAbstractRecovery(URLHandler):
1345 _endpoint = 'event.abstractWithdraw-recover'
1348 class UHConfModifContribList(URLHandler):
1349 _endpoint = 'event_mgmt.confModifContribList'
1352 class UHContribModSetTrack(URLHandler):
1353 _endpoint = 'event_mgmt.contributionModification-setTrack'
1356 class UHContribModSetSession(URLHandler):
1357 _endpoint = 'event_mgmt.contributionModification-setSession'
1360 class UHTrackModMoveUp(URLHandler):
1361 _endpoint = 'event_mgmt.confModifProgram-moveTrackUp'
1364 class UHTrackModMoveDown(URLHandler):
1365 _endpoint = 'event_mgmt.confModifProgram-moveTrackDown'
1368 class UHAbstractModEditData(URLHandler):
1369 _endpoint = 'event_mgmt.abstractManagment-editData'
1372 class UHAbstractModIntComments(URLHandler):
1373 _endpoint = 'event_mgmt.abstractManagment-comments'
1376 class UHAbstractModNewIntComment(URLHandler):
1377 _endpoint = 'event_mgmt.abstractManagment-newComment'
1380 class UHAbstractModIntCommentEdit(URLHandler):
1381 _endpoint = 'event_mgmt.abstractManagment-editComment'
1384 class UHAbstractModIntCommentRem(URLHandler):
1385 _endpoint = 'event_mgmt.abstractManagment-remComment'
1388 class UHTrackAbstractModIntCommentNew(UHTrackAbstractBase):
1389 _endpoint = 'event_mgmt.trackAbstractModif-commentNew'
1392 class UHTrackAbstractModCommentBase(URLHandler):
1393 @classmethod
1394 def getURL(cls, track, comment):
1395 url = cls._getURL()
1396 url.setParams(comment.getLocator())
1397 url.addParam("trackId", track.getId())
1398 return url
1401 class UHTrackAbstractModIntCommentEdit(UHTrackAbstractModCommentBase):
1402 _endpoint = 'event_mgmt.trackAbstractModif-commentEdit'
1405 class UHTrackAbstractModIntCommentRem(UHTrackAbstractModCommentBase):
1406 _endpoint = 'event_mgmt.trackAbstractModif-commentRem'
1409 class UHAbstractReviewingNotifTpl(URLHandler):
1410 _endpoint = 'event_mgmt.abstractReviewing-notifTpl'
1413 class UHAbstractModNotifTplNew(URLHandler):
1414 _endpoint = 'event_mgmt.abstractReviewing-notifTplNew'
1417 class UHAbstractModNotifTplRem(URLHandler):
1418 _endpoint = 'event_mgmt.abstractReviewing-notifTplRem'
1421 class UHAbstractModNotifTplEdit(URLHandler):
1422 _endpoint = 'event_mgmt.abstractReviewing-notifTplEdit'
1425 class UHAbstractModNotifTplDisplay(URLHandler):
1426 _endpoint = 'event_mgmt.abstractReviewing-notifTplDisplay'
1429 class UHAbstractModNotifTplPreview(URLHandler):
1430 _endpoint = 'event_mgmt.abstractReviewing-notifTplPreview'
1433 class UHTrackAbstractModMarkAsDup(UHTrackAbstractBase):
1434 _endpoint = 'event_mgmt.trackAbstractModif-markAsDup'
1437 class UHTrackAbstractModUnMarkAsDup(UHTrackAbstractBase):
1438 _endpoint = 'event_mgmt.trackAbstractModif-unMarkAsDup'
1441 class UHAbstractModMarkAsDup(URLHandler):
1442 _endpoint = 'event_mgmt.abstractManagment-markAsDup'
1445 class UHAbstractModUnMarkAsDup(URLHandler):
1446 _endpoint = 'event_mgmt.abstractManagment-unMarkAsDup'
1449 class UHAbstractModMergeInto(URLHandler):
1450 _endpoint = 'event_mgmt.abstractManagment-mergeInto'
1453 class UHAbstractModUnMerge(URLHandler):
1454 _endpoint = 'event_mgmt.abstractManagment-unmerge'
1457 class UHConfModNewAbstract(URLHandler):
1458 _endpoint = 'event_mgmt.abstractsManagment-newAbstract'
1461 class UHConfModNotifTplConditionNew(URLHandler):
1462 _endpoint = 'event_mgmt.abstractReviewing-notifTplCondNew'
1465 class UHConfModNotifTplConditionRem(URLHandler):
1466 _endpoint = 'event_mgmt.abstractReviewing-notifTplCondRem'
1469 class UHConfModAbstractsMerge(URLHandler):
1470 _endpoint = 'event_mgmt.abstractsManagment-mergeAbstracts'
1473 class UHAbstractModNotifLog(URLHandler):
1474 _endpoint = 'event_mgmt.abstractManagment-notifLog'
1477 class UHAbstractModTools(URLHandler):
1478 _endpoint = 'event_mgmt.abstractTools'
1481 class UHAbstractDelete(URLHandler):
1482 _endpoint = 'event_mgmt.abstractTools-delete'
1485 class UHSessionModContribList(URLHandler):
1486 _endpoint = 'event_mgmt.sessionModification-contribList'
1489 class UHSessionModContribListEditContrib(URLHandler):
1490 _endpoint = 'event_mgmt.sessionModification-editContrib'
1493 class UHConfModifReschedule(URLHandler):
1494 _endpoint = 'event_mgmt.confModifSchedule-reschedule'
1497 class UHContributionList(URLHandler):
1498 _endpoint = 'event.contributionListDisplay'
1501 class UHContributionListToPDF(URLHandler):
1502 _endpoint = 'event.contributionListDisplay-contributionsToPDF'
1504 @classmethod
1505 def getStaticURL(cls, target=None, **params):
1506 return "files/generatedPdf/Contributions.pdf"
1509 class UHConfModAbstractPropToAcc(URLHandler):
1510 _endpoint = 'event_mgmt.abstractManagment-propToAcc'
1513 class UHAbstractManagmentBackToSubmitted(URLHandler):
1514 _endpoint = 'event_mgmt.abstractManagment-backToSubmitted'
1517 class UHConfModAbstractPropToRej(URLHandler):
1518 _endpoint = 'event_mgmt.abstractManagment-propToRej'
1521 class UHConfModAbstractWithdraw(URLHandler):
1522 _endpoint = 'event_mgmt.abstractManagment-withdraw'
1525 class UHSessionModAddContribs(URLHandler):
1526 _endpoint = 'event_mgmt.sessionModification-addContribs'
1529 class UHSessionModContributionAction(URLHandler):
1530 _endpoint = 'event_mgmt.sessionModification-contribAction'
1533 class UHSessionModParticipantList(URLHandler):
1534 _endpoint = 'event_mgmt.sessionModification-participantList'
1537 class UHSessionModToPDF(URLHandler):
1538 _endpoint = 'event_mgmt.sessionModification-contribsToPDF'
1541 class UHConfModCFANotifTplUp(URLHandler):
1542 _endpoint = 'event_mgmt.abstractReviewing-notifTplUp'
1545 class UHConfModCFANotifTplDown(URLHandler):
1546 _endpoint = 'event_mgmt.abstractReviewing-notifTplDown'
1549 class UHConfAuthorIndex(URLHandler):
1550 _endpoint = 'event.confAuthorIndex'
1553 class UHConfSpeakerIndex(URLHandler):
1554 _endpoint = 'event.confSpeakerIndex'
1557 class UHContribModWithdraw(URLHandler):
1558 _endpoint = 'event_mgmt.contributionModification-withdraw'
1561 class UHTrackModContribList(URLHandler):
1562 _endpoint = 'event_mgmt.trackModContribList'
1565 class UHTrackModContributionAction(URLHandler):
1566 _endpoint = 'event_mgmt.trackModContribList-contribAction'
1569 class UHTrackModParticipantList(URLHandler):
1570 _endpoint = 'event_mgmt.trackModContribList-participantList'
1573 class UHTrackModToPDF(URLHandler):
1574 _endpoint = 'event_mgmt.trackModContribList-contribsToPDF'
1577 class UHConfModContribQuickAccess(URLHandler):
1578 _endpoint = 'event_mgmt.confModifContribList-contribQuickAccess'
1581 class UHSessionModContribQuickAccess(URLHandler):
1582 _endpoint = 'event_mgmt.sessionModification-contribQuickAccess'
1585 class UHTrackModContribQuickAccess(URLHandler):
1586 _endpoint = 'event_mgmt.trackModContribList-contribQuickAccess'
1589 class UHConfMyStuff(URLHandler):
1590 _endpoint = 'event.myconference'
1593 class UHConfMyStuffMySessions(URLHandler):
1594 _endpoint = 'event.myconference-mySessions'
1597 class UHConfMyStuffMyTracks(URLHandler):
1598 _endpoint = 'event.myconference-myTracks'
1601 class UHConfMyStuffMyContributions(URLHandler):
1602 _endpoint = 'event.myconference-myContributions'
1605 class UHConfModMoveContribsToSession(URLHandler):
1606 _endpoint = 'event_mgmt.confModifContribList-moveToSession'
1609 class UHConfAbstractBook(URLHandler):
1610 _endpoint = 'event.conferenceDisplay-abstractBook'
1612 @classmethod
1613 def getStaticURL(cls, target=None, **params):
1614 return "files/generatedPdf/BookOfAbstracts.pdf"
1617 class UHConferenceToiCal(URLHandler):
1618 _endpoint = 'event.conferenceDisplay-ical'
1621 class UHConfModAbstractBook(URLHandler):
1622 _endpoint = 'event_mgmt.confModBOA'
1625 class UHConfModAbstractBookToogleShowIds(URLHandler):
1626 _endpoint = 'event_mgmt.confModBOA-toogleShowIds'
1629 class UHAbstractReviewingSetup(URLHandler):
1630 _endpoint = 'event_mgmt.abstractReviewing-reviewingSetup'
1633 class UHAbstractReviewingTeam(URLHandler):
1634 _endpoint = 'event_mgmt.abstractReviewing-reviewingTeam'
1637 class UHConfModScheduleDataEdit(URLHandler):
1638 _endpoint = 'event_mgmt.confModifSchedule-edit'
1641 class UHUpdateNews(URLHandler):
1642 _endpoint = 'admin.updateNews'
1645 class UHMaintenance(URLHandler):
1646 _endpoint = 'admin.adminMaintenance'
1649 class UHMaintenanceTmpCleanup(URLHandler):
1650 _endpoint = 'admin.adminMaintenance-tmpCleanup'
1653 class UHMaintenancePerformTmpCleanup(URLHandler):
1654 _endpoint = 'admin.adminMaintenance-performTmpCleanup'
1657 class UHMaintenancePack(URLHandler):
1658 _endpoint = 'admin.adminMaintenance-pack'
1661 class UHMaintenancePerformPack(URLHandler):
1662 _endpoint = 'admin.adminMaintenance-performPack'
1665 class UHAdminLayoutGeneral(URLHandler):
1666 _endpoint = 'admin.adminLayout'
1669 class UHAdminLayoutSaveTemplateSet(URLHandler):
1670 _endpoint = 'admin.adminLayout-saveTemplateSet'
1673 class UHAdminLayoutSaveSocial(URLHandler):
1674 _endpoint = 'admin.adminLayout-saveSocial'
1677 class UHTemplatesSetDefaultPDFOptions(URLHandler):
1678 _endpoint = 'admin.adminLayout-setDefaultPDFOptions'
1681 class UHIPBasedACL(URLHandler):
1682 _endpoint = 'admin.adminServices-ipbasedacl'
1685 class UHIPBasedACLFullAccessGrant(URLHandler):
1686 _endpoint = 'admin.adminServices-ipbasedacl_fagrant'
1689 class UHIPBasedACLFullAccessRevoke(URLHandler):
1690 _endpoint = 'admin.adminServices-ipbasedacl_farevoke'
1693 class UHBadgeTemplates(URLHandler):
1694 _endpoint = 'admin.badgeTemplates'
1697 class UHPosterTemplates(URLHandler):
1698 _endpoint = 'admin.posterTemplates'
1701 class UHAnnouncement(URLHandler):
1702 _endpoint = 'admin.adminAnnouncement'
1705 class UHAnnouncementSave(URLHandler):
1706 _endpoint = 'admin.adminAnnouncement-save'
1709 class UHConfigUpcomingEvents(URLHandler):
1710 _endpoint = 'admin.adminUpcomingEvents'
1713 class UHContribAuthorDisplay(URLHandler):
1714 _endpoint = 'event.contribAuthorDisplay'
1716 @classmethod
1717 def getStaticURL(cls, target, **params):
1718 if target is not None:
1719 return "contribs-%s-authorDisplay-%s.html" % (target.getId(), params.get("authorId", ""))
1720 return cls._getURL()
1723 class UHConfTimeTableCustomizePDF(URLHandler):
1724 _endpoint = 'event.conferenceTimeTable-customizePdf'
1726 @classmethod
1727 def getStaticURL(cls, target, **params):
1728 return "files/generatedPdf/Conference.pdf"
1731 class UHConfRegistrationForm(URLHandler):
1732 _endpoint = 'event.confRegistrationFormDisplay'
1735 class UHConfRegistrationFormDisplay(URLHandler):
1736 _endpoint = 'event.confRegistrationFormDisplay-display'
1739 class UHConfRegistrationFormCreation(URLHandler):
1740 _endpoint = 'event.confRegistrationFormDisplay-creation'
1743 class UHConfRegistrationFormCreationDone(URLHandler):
1744 _endpoint = 'event.confRegistrationFormDisplay-creationDone'
1746 @classmethod
1747 def getURL(cls, registrant):
1748 url = cls._getURL()
1749 if not session.user:
1750 url.setParams(registrant.getLocator())
1751 url.addParam('authkey', registrant.getRandomId())
1752 else:
1753 url.setParams(registrant.getConference().getLocator())
1754 return url
1757 class UHConfRegistrationFormModify(URLHandler):
1758 _endpoint = 'event.confRegistrationFormDisplay-modify'
1761 class UHConfRegistrationFormPerformModify(URLHandler):
1762 _endpoint = 'event.confRegistrationFormDisplay-performModify'
1765 class UHConfModifRegForm(URLHandler):
1766 _endpoint = 'event_mgmt.confModifRegistrationForm'
1769 class UHConfModifRegFormChangeStatus(URLHandler):
1770 _endpoint = 'event_mgmt.confModifRegistrationForm-changeStatus'
1773 class UHConfModifRegFormDataModification(URLHandler):
1774 _endpoint = 'event_mgmt.confModifRegistrationForm-dataModif'
1777 class UHConfModifRegFormPerformDataModification(URLHandler):
1778 _endpoint = 'event_mgmt.confModifRegistrationForm-performDataModif'
1781 class UHConfModifRegFormActionStatuses(URLHandler):
1782 _endpoint = 'event_mgmt.confModifRegistrationForm-actionStatuses'
1785 class UHConfModifRegFormStatusModif(URLHandler):
1786 _endpoint = 'event_mgmt.confModifRegistrationForm-modifStatus'
1789 class UHConfModifRegFormStatusPerformModif(URLHandler):
1790 _endpoint = 'event_mgmt.confModifRegistrationForm-performModifStatus'
1793 class UHConfModifRegistrationModification(URLHandler):
1794 _endpoint = 'event_mgmt.confModifRegistrationModification'
1797 class UHConfModifRegistrantList(URLHandler):
1798 _endpoint = 'event_mgmt.confModifRegistrants'
1801 class UHConfModifRegistrantNew(URLHandler):
1802 _endpoint = 'event_mgmt.confModifRegistrants-newRegistrant'
1805 class UHConfModifRegistrantListAction(URLHandler):
1806 _endpoint = 'event_mgmt.confModifRegistrants-action'
1809 class UHConfModifRegistrantPerformRemove(URLHandler):
1810 _endpoint = 'event_mgmt.confModifRegistrants-remove'
1813 class UHRegistrantModification(URLHandler):
1814 _endpoint = 'event_mgmt.confModifRegistrants-modification'
1817 class UHRegistrantAttachmentFileAccess(URLHandler):
1818 _endpoint = 'event_mgmt.confModifRegistrants-getAttachedFile'
1821 class UHCategoryStatistics(URLHandler):
1822 _endpoint = 'category.categoryStatistics'
1825 class UHCategoryToiCal(URLHandler):
1826 _endpoint = 'category.categoryDisplay-ical'
1829 class UHCategoryToAtom(URLHandler):
1830 _endpoint = 'category.categoryDisplay-atom'
1833 class UHCategOverviewToRSS(URLHandler):
1834 _endpoint = 'category.categOverview-rss'
1837 class UHConfRegistrantsList(URLHandler):
1838 _endpoint = 'event.confRegistrantsDisplay-list'
1840 @classmethod
1841 def getStaticURL(cls, target, **params):
1842 return "confRegistrantsDisplay.html"
1845 class UHConfModifRegistrantSessionModify(URLHandler):
1846 _endpoint = 'event_mgmt.confModifRegistrants-modifySessions'
1849 class UHConfModifRegistrantSessionPeformModify(URLHandler):
1850 _endpoint = 'event_mgmt.confModifRegistrants-performModifySessions'
1853 class UHConfModifRegistrantAccoModify(URLHandler):
1854 _endpoint = 'event_mgmt.confModifRegistrants-modifyAccommodation'
1857 class UHConfModifRegistrantAccoPeformModify(URLHandler):
1858 _endpoint = 'event_mgmt.confModifRegistrants-performModifyAccommodation'
1861 class UHConfModifRegistrantSocialEventsModify(URLHandler):
1862 _endpoint = 'event_mgmt.confModifRegistrants-modifySocialEvents'
1865 class UHConfModifRegistrantSocialEventsPeformModify(URLHandler):
1866 _endpoint = 'event_mgmt.confModifRegistrants-performModifySocialEvents'
1869 class UHConfModifRegistrantReasonPartModify(URLHandler):
1870 _endpoint = 'event_mgmt.confModifRegistrants-modifyReasonParticipation'
1873 class UHConfModifRegistrantReasonPartPeformModify(URLHandler):
1874 _endpoint = 'event_mgmt.confModifRegistrants-performModifyReasonParticipation'
1877 class UHConfModifPendingQueues(URLHandler):
1878 _endpoint = 'event_mgmt.confModifPendingQueues'
1881 class UHConfModifPendingQueuesActionConfSubm(URLHandler):
1882 _endpoint = 'event_mgmt.confModifPendingQueues-actionConfSubmitters'
1885 class UHConfModifPendingQueuesActionConfMgr(URLHandler):
1886 _endpoint = 'event_mgmt.confModifPendingQueues-actionConfManagers'
1889 class UHConfModifPendingQueuesActionSubm(URLHandler):
1890 _endpoint = 'event_mgmt.confModifPendingQueues-actionSubmitters'
1893 class UHConfModifPendingQueuesActionMgr(URLHandler):
1894 _endpoint = 'event_mgmt.confModifPendingQueues-actionManagers'
1897 class UHConfModifPendingQueuesActionCoord(URLHandler):
1898 _endpoint = 'event_mgmt.confModifPendingQueues-actionCoordinators'
1901 class UHConfModifRegistrantMiscInfoModify(URLHandler):
1902 _endpoint = 'event_mgmt.confModifRegistrants-modifyMiscInfo'
1905 class UHConfModifRegistrantMiscInfoPerformModify(URLHandler):
1906 _endpoint = 'event_mgmt.confModifRegistrants-performModifyMiscInfo'
1909 class UHConfModifRegistrantStatusesModify(URLHandler):
1910 _endpoint = 'event_mgmt.confModifRegistrants-modifyStatuses'
1913 class UHConfModifRegistrantStatusesPerformModify(URLHandler):
1914 _endpoint = 'event_mgmt.confModifRegistrants-performModifyStatuses'
1917 class UHCategoryCalendarOverview(URLHandler):
1918 _endpoint = 'category.wcalendar'
1921 # URL Handlers for Printing and Design
1922 class UHConfModifBadgePrinting(URLHandler):
1923 _endpoint = "event_mgmt.confModifTools-badgePrinting"
1925 @classmethod
1926 def getURL(cls, target=None, templateId=None, deleteTemplateId=None, cancel=False, new=False, copyTemplateId=None):
1928 -The deleteTemplateId param should be set if we want to erase a template.
1929 -The copyTemplateId param should be set if we want to duplicate a template
1930 -The cancel param should be set to True if we return to this url
1931 after cancelling a template creation or edit (it is used to delete
1932 temporary template backgrounds).
1933 -The new param should be set to true if we return to this url
1934 after creating a new template.
1936 url = cls._getURL()
1937 if target is not None:
1938 if target.getId() == 'default':
1939 url = UHBadgeTemplatePrinting._getURL()
1940 url.setParams(target.getLocator())
1941 if templateId is not None:
1942 url.addParam("templateId", templateId)
1943 if deleteTemplateId is not None:
1944 url.addParam("deleteTemplateId", deleteTemplateId)
1945 if copyTemplateId is not None:
1946 url.addParam("copyTemplateId", copyTemplateId)
1947 if cancel:
1948 url.addParam("cancel", True)
1949 if new:
1950 url.addParam("new", True)
1951 return url
1954 class UHBadgeTemplatePrinting(URLHandler):
1955 _endpoint = 'admin.badgeTemplates-badgePrinting'
1958 class UHConfModifBadgeDesign(URLHandler):
1959 _endpoint = 'event_mgmt.confModifTools-badgeDesign'
1961 @classmethod
1962 def getURL(cls, target=None, templateId=None, new=False):
1964 -The templateId param should always be set:
1965 *if we are editing a template, it's the id of the template edited.
1966 *if we are creating a template, it's the id that the template will
1967 have after being stored for the first time.
1968 -The new param should be set to True if we are creating a new template.
1970 url = cls._getURL()
1971 if target is not None:
1972 if target.getId() == 'default':
1973 url = UHModifDefTemplateBadge._getURL()
1974 url.setParams(target.getLocator())
1975 if templateId is not None:
1976 url.addParam("templateId", templateId)
1977 url.addParam("new", new)
1978 return url
1981 class UHModifDefTemplateBadge(URLHandler):
1982 _endpoint = 'admin.badgeTemplates-badgeDesign'
1984 @classmethod
1985 def getURL(cls, target=None, templateId=None, new=False):
1987 -The templateId param should always be set:
1988 *if we are editing a template, it's the id of the template edited.
1989 *if we are creating a template, it's the id that the template will
1990 have after being stored for the first time.
1991 -The new param should be set to True if we are creating a new template.
1993 url = cls._getURL()
1994 if target is not None:
1995 url.setParams(target.getLocator())
1996 if templateId is not None:
1997 url.addParam("templateId", templateId)
1998 url.addParam("new", new)
1999 return url
2002 class UHConfModifBadgeSaveBackground(URLHandler):
2003 _endpoint = 'event_mgmt.confModifTools-badgeSaveBackground'
2005 @classmethod
2006 def getURL(cls, target=None, templateId=None):
2007 url = cls._getURL()
2008 if target is not None and templateId is not None:
2009 url.setParams(target.getLocator())
2010 url.addParam("templateId", templateId)
2011 return url
2014 class UHConfModifBadgeGetBackground(URLHandler):
2015 _endpoint = 'event_mgmt.confModifTools-badgeGetBackground'
2017 @classmethod
2018 def getURL(cls, target=None, templateId=None, backgroundId=None):
2019 url = cls._getURL()
2020 if target is not None and templateId is not None:
2021 url.setParams(target.getLocator())
2022 url.addParam("templateId", templateId)
2023 url.addParam("backgroundId", backgroundId)
2024 return url
2027 class UHConfModifBadgePrintingPDF(URLHandler):
2028 _endpoint = 'event_mgmt.confModifTools-badgePrintingPDF'
2031 # URL Handlers for Poster Printing and Design
2032 class UHConfModifPosterPrinting(URLHandler):
2033 _endpoint = 'event_mgmt.confModifTools-posterPrinting'
2035 @classmethod
2036 def getURL(cls, target=None, templateId=None, deleteTemplateId=None, cancel=False, new=False, copyTemplateId=None):
2038 -The deleteTemplateId param should be set if we want to erase a template.
2039 -The copyTemplateId param should be set if we want to duplicate a template
2040 -The cancel param should be set to True if we return to this url
2041 after cancelling a template creation or edit (it is used to delete
2042 temporary template backgrounds).
2043 -The new param should be set to true if we return to this url
2044 after creating a new template.
2046 url = cls._getURL()
2048 if target is not None:
2049 if target.getId() == 'default':
2050 url = UHPosterTemplatePrinting._getURL()
2051 url.setParams(target.getLocator())
2052 if templateId is not None:
2053 url.addParam("templateId", templateId)
2054 if deleteTemplateId is not None:
2055 url.addParam("deleteTemplateId", deleteTemplateId)
2056 if copyTemplateId is not None:
2057 url.addParam("copyTemplateId", copyTemplateId)
2058 if cancel:
2059 url.addParam("cancel", True)
2060 if new:
2061 url.addParam("new", True)
2062 return url
2065 class UHPosterTemplatePrinting(URLHandler):
2066 _endpoint = 'admin.posterTemplates-posterPrinting'
2069 class UHConfModifPosterDesign(URLHandler):
2070 _endpoint = 'event_mgmt.confModifTools-posterDesign'
2072 @classmethod
2073 def getURL(cls, target=None, templateId=None, new=False):
2075 -The templateId param should always be set:
2076 *if we are editing a template, it's the id of the template edited.
2077 *if we are creating a template, it's the id that the template will
2078 have after being stored for the first time.
2079 -The new param should be set to True if we are creating a new template.
2081 url = cls._getURL()
2082 if target is not None:
2083 if target.getId() == 'default':
2084 url = UHModifDefTemplatePoster._getURL()
2085 url.setParams(target.getLocator())
2086 if templateId is not None:
2087 url.addParam("templateId", templateId)
2088 url.addParam("new", new)
2089 return url
2092 class UHModifDefTemplatePoster(URLHandler):
2093 _endpoint = 'admin.posterTemplates-posterDesign'
2095 @classmethod
2096 def getURL(cls, target=None, templateId=None, new=False):
2098 -The templateId param should always be set:
2099 *if we are editing a template, it's the id of the template edited.
2100 *if we are creating a template, it's the id that the template will
2101 have after being stored for the first time.
2102 -The new param should be set to True if we are creating a new template.
2104 url = cls._getURL()
2105 if target is not None:
2106 url.setParams(target.getLocator())
2107 if templateId is not None:
2108 url.addParam("templateId", templateId)
2109 url.addParam("new", new)
2110 return url
2113 class UHConfModifPosterSaveBackground(URLHandler):
2114 _endpoint = 'event_mgmt.confModifTools-posterSaveBackground'
2116 @classmethod
2117 def getURL(cls, target=None, templateId=None):
2118 url = cls._getURL()
2119 if target is not None and templateId is not None:
2120 url.setParams(target.getLocator())
2121 url.addParam("templateId", templateId)
2122 return url
2125 class UHConfModifPosterGetBackground(URLHandler):
2126 _endpoint = 'event_mgmt.confModifTools-posterGetBackground'
2128 @classmethod
2129 def getURL(cls, target=None, templateId=None, backgroundId=None):
2130 url = cls._getURL()
2131 if target is not None and templateId is not None:
2132 url.setParams(target.getLocator())
2133 url.addParam("templateId", templateId)
2134 url.addParam("backgroundId", backgroundId)
2135 return url
2138 class UHConfModifPosterPrintingPDF(URLHandler):
2139 _endpoint = 'event_mgmt.confModifTools-posterPrintingPDF'
2142 ############
2143 #Evaluation# DISPLAY AREA
2144 ############
2146 class UHConfEvaluationMainInformation(URLHandler):
2147 _endpoint = 'event.confDisplayEvaluation'
2150 class UHConfEvaluationDisplay(URLHandler):
2151 _endpoint = 'event.confDisplayEvaluation-display'
2154 class UHConfEvaluationDisplayModif(URLHandler):
2155 _endpoint = 'event.confDisplayEvaluation-modif'
2158 class UHConfEvaluationSubmit(URLHandler):
2159 _endpoint = 'event.confDisplayEvaluation-submit'
2162 class UHConfEvaluationSubmitted(URLHandler):
2163 _endpoint = 'event.confDisplayEvaluation-submitted'
2166 ############
2167 #Evaluation# MANAGEMENT AREA
2168 ############
2169 class UHConfModifEvaluation(URLHandler):
2170 _endpoint = 'event_mgmt.confModifEvaluation'
2173 class UHConfModifEvaluationSetup(URLHandler):
2174 """same result as UHConfModifEvaluation."""
2175 _endpoint = 'event_mgmt.confModifEvaluation-setup'
2178 class UHConfModifEvaluationSetupChangeStatus(URLHandler):
2179 _endpoint = 'event_mgmt.confModifEvaluation-changeStatus'
2182 class UHConfModifEvaluationSetupSpecialAction(URLHandler):
2183 _endpoint = 'event_mgmt.confModifEvaluation-specialAction'
2186 class UHConfModifEvaluationDataModif(URLHandler):
2187 _endpoint = 'event_mgmt.confModifEvaluation-dataModif'
2190 class UHConfModifEvaluationPerformDataModif(URLHandler):
2191 _endpoint = 'event_mgmt.confModifEvaluation-performDataModif'
2194 class UHConfModifEvaluationEdit(URLHandler):
2195 _endpoint = 'event_mgmt.confModifEvaluation-edit'
2198 class UHConfModifEvaluationEditPerformChanges(URLHandler):
2199 _endpoint = 'event_mgmt.confModifEvaluation-editPerformChanges'
2202 class UHConfModifEvaluationPreview(URLHandler):
2203 _endpoint = 'event_mgmt.confModifEvaluation-preview'
2206 class UHConfModifEvaluationResults(URLHandler):
2207 _endpoint = 'event_mgmt.confModifEvaluation-results'
2210 class UHConfModifEvaluationResultsOptions(URLHandler):
2211 _endpoint = 'event_mgmt.confModifEvaluation-resultsOptions'
2214 class UHConfModifEvaluationResultsSubmittersActions(URLHandler):
2215 _endpoint = 'event_mgmt.confModifEvaluation-resultsSubmittersActions'
2218 class UHResetSession(URLHandler):
2219 _endpoint = 'misc.resetSessionTZ'
2222 ##############
2223 # Reviewing
2224 #############
2225 class UHConfModifReviewingAccess(URLHandler):
2226 _endpoint = 'event_mgmt.confModifReviewing-access'
2229 class UHConfModifReviewingPaperSetup(URLHandler):
2230 _endpoint = 'event_mgmt.confModifReviewing-paperSetup'
2233 class UHSetTemplate(URLHandler):
2234 _endpoint = 'event_mgmt.confModifReviewing-setTemplate'
2237 class UHDownloadContributionTemplate(URLHandler):
2238 _endpoint = 'event_mgmt.confModifReviewing-downloadTemplate'
2241 class UHConfModifReviewingControl(URLHandler):
2242 _endpoint = 'event_mgmt.confModifReviewingControl'
2245 class UHConfModifUserCompetences(URLHandler):
2246 _endpoint = 'event_mgmt.confModifUserCompetences'
2249 class UHConfModifListContribToJudge(URLHandler):
2250 _endpoint = 'event_mgmt.confListContribToJudge'
2253 class UHConfModifListContribToJudgeAsReviewer(URLHandler):
2254 _endpoint = 'event_mgmt.confListContribToJudge-asReviewer'
2257 class UHConfModifListContribToJudgeAsEditor(URLHandler):
2258 _endpoint = 'event_mgmt.confListContribToJudge-asEditor'
2261 class UHConfModifReviewingAssignContributionsList(URLHandler):
2262 _endpoint = 'event_mgmt.assignContributions'
2265 class UHConfModifReviewingDownloadAcceptedPapers(URLHandler):
2266 _endpoint = 'event_mgmt.assignContributions-downloadAcceptedPapers'
2269 #Contribution reviewing
2270 class UHContributionModifReviewing(URLHandler):
2271 _endpoint = 'event_mgmt.contributionReviewing'
2274 class UHContribModifReviewingMaterials(URLHandler):
2275 _endpoint = 'event_mgmt.contributionReviewing-contributionReviewingMaterials'
2278 class UHContributionReviewingJudgements(URLHandler):
2279 _endpoint = 'event_mgmt.contributionReviewing-contributionReviewingJudgements'
2282 class UHAssignReferee(URLHandler):
2283 _endpoint = 'event_mgmt.contributionReviewing-assignReferee'
2286 class UHRemoveAssignReferee(URLHandler):
2287 _endpoint = 'event_mgmt.contributionReviewing-removeAssignReferee'
2290 class UHAssignEditing(URLHandler):
2291 _endpoint = 'event_mgmt.contributionReviewing-assignEditing'
2294 class UHRemoveAssignEditing(URLHandler):
2295 _endpoint = 'event_mgmt.contributionReviewing-removeAssignEditing'
2298 class UHAssignReviewing(URLHandler):
2299 _endpoint = 'event_mgmt.contributionReviewing-assignReviewing'
2302 class UHRemoveAssignReviewing(URLHandler):
2303 _endpoint = 'event_mgmt.contributionReviewing-removeAssignReviewing'
2306 class UHContributionModifReviewingHistory(URLHandler):
2307 _endpoint = 'event_mgmt.contributionReviewing-reviewingHistory'
2310 class UHContributionEditingJudgement(URLHandler):
2311 _endpoint = 'event_mgmt.contributionEditingJudgement'
2314 class UHContributionGiveAdvice(URLHandler):
2315 _endpoint = 'event_mgmt.contributionGiveAdvice'
2318 class UHDownloadPRTemplate(URLHandler):
2319 _endpoint = 'event.paperReviewingDisplay-downloadTemplate'
2322 class UHUploadPaper(URLHandler):
2323 _endpoint = 'event.paperReviewingDisplay-uploadPaper'
2326 class UHPaperReviewingDisplay(URLHandler):
2327 _endpoint = 'event.paperReviewingDisplay'
2330 class UHContact(URLHandler):
2331 _endpoint = 'misc.contact'
2334 class UHHelper(object):
2335 """ Returns the display or modif UH for an object of a given class
2338 modifUHs = {
2339 "Category": UHCategoryModification,
2340 "Conference": UHConferenceModification,
2341 "DefaultConference": UHConferenceModification,
2342 "Contribution": UHContributionModification,
2343 "AcceptedContribution": UHContributionModification,
2344 "Session": UHSessionModification,
2345 "SubContribution": UHSubContributionModification,
2346 "Track": UHTrackModification,
2347 "Abstract": UHAbstractModify
2350 displayUHs = {
2351 "Category": UHCategoryDisplay,
2352 "CategoryMap": UHCategoryMap,
2353 "CategoryOverview": UHCategoryOverview,
2354 "CategoryStatistics": UHCategoryStatistics,
2355 "CategoryCalendar": UHCategoryCalendarOverview,
2356 "Conference": UHConferenceDisplay,
2357 "Contribution": UHContributionDisplay,
2358 "AcceptedContribution": UHContributionDisplay,
2359 "Session": UHSessionDisplay,
2360 "Abstract": UHAbstractDisplay
2363 @classmethod
2364 def getModifUH(cls, klazz):
2365 return cls.modifUHs.get(klazz.__name__, None)
2367 @classmethod
2368 def getDisplayUH(cls, klazz, type=""):
2369 return cls.displayUHs.get("%s%s" % (klazz.__name__, type), None)