def getObject(self): if self.__categId: if not conference.CategoryManager().hasKey(self.__categId): raise errors.NoReportError( _("There is no category with id '%s', or it has been deleted" ) % self.__categId) obj = conference.CategoryManager().getById(self.__categId) if self.__materialId is not None or self.__resId is not None: return None # obsolete - attachments don't use WebLocator return obj if not self.__confId: return None obj = conference.ConferenceHolder().getById(self.__confId) if obj is None: raise errors.NoReportError( "The event you are trying to access does not exist or has been deleted" ) if self.__notifTplId: obj = obj.getAbstractMgr().getNotificationTplById( self.__notifTplId) return obj if self.__trackId: obj = obj.getTrackById(self.__trackId) return obj if self.__abstractId: obj = obj.getAbstractMgr().getAbstractById(self.__abstractId) if obj == None: raise errors.NoReportError( "The abstract you are trying to access does not exist or has been deleted" ) if self.__resId: return obj.getAttachmentById(self.__resId) if not self.__materialId: return obj
def _checkParams(self, params): categIdList = self._normaliseListParam(params.get("selCateg", [])) self._categList = [] cm = conference.CategoryManager() for id in categIdList: try: self._categList.append(cm.getById(id)) except KeyError: continue self._target = self._categList if not self._categList: cm = conference.CategoryManager() self._categList.append(cm.getRoot()) tz = DisplayTZ(self._aw).getDisplayTZ() months = params.get("months", 3) columns = params.get("columns", 3) month = int( params.get("month", (nowutc() - relativedelta(months=1)).astimezone( timezone(tz)).month)) year = int(params.get("year", nowutc().astimezone(timezone(tz)).year)) sdate = timezone(tz).localize(datetime(year, month, 1)) self._cal = wcalendar.MonthCalendar( self._aw, \ sdate, \ months, \ columns, \ self._categList ) self._categ = self._categList[0]
def setUp(self): super(TestAbstractSubmission, self).setUp() self._startDBReq() # Create few users ah = AvatarHolder() # Create dummy avatars in obj._avatarN self._avatars = [] for i in xrange(1, 5): avatar = Avatar() avatar.setName("fake-%d" % i) avatar.setSurName("fake") avatar.setOrganisation("fake") avatar.setLang("en_GB") avatar.setEmail("*****@*****.**" % i) avatar.setId("fake-%d" % i) ah.add(avatar) self._avatars.append(avatar) setattr(self, '_avatar%d' % i, avatar) # Create a conference category = conference.CategoryManager().getById('0') self._conf = category.newConference(self._avatar1) self._conf.setTimezone('UTC') sd = datetime(2011, 11, 1, 10, 0, tzinfo=timezone('UTC')) ed = datetime(2011, 11, 1, 18, 0, tzinfo=timezone('UTC')) self._conf.setDates(sd, ed) ch = ConferenceHolder() ch.add(self._conf) self._stopDBReq()
def setUp(self): super(TestAbstractRecovery, self).setUp() self._startDBReq() # Get dummy user ah = AvatarHolder() avatar = ah.getById(0) setattr(self, '_avatar', avatar) # Create a conference category = conference.CategoryManager().getById('0') self._conf = category.newConference(self._avatar) self._conf.setTimezone('UTC') sd = datetime(2011, 11, 1, 10, 0, tzinfo=timezone('UTC')) ed = datetime(2011, 11, 1, 18, 0, tzinfo=timezone('UTC')) self._conf.setDates(sd, ed) ch = ConferenceHolder() ch.add(self._conf) self._track1 = self._conf.newTrack() self._track2 = self._conf.newTrack() self._track3 = self._conf.newTrack() self._abstract = self._conf.getAbstractMgr().newAbstract(avatar) self._abstract.addTrack(self._track1) self._abstract.addTrack(self._track2) self._abstract.addTrack(self._track3) self._stopDBReq()
def setUp(self): super(TestNotification, self).setUp() self._startDBReq() # Get dummy user ah = AvatarHolder() avatar = ah.getById(0) setattr(self, '_avatar', avatar) # Create a conference category = conference.CategoryManager().getById('0') self._conf = category.newConference(self._avatar) self._conf.setTimezone('UTC') sd = datetime(2011, 11, 1, 10, 0, tzinfo=timezone('UTC')) ed = datetime(2011, 11, 1, 18, 0, tzinfo=timezone('UTC')) self._conf.setDates(sd, ed) ch = ConferenceHolder() ch.add(self._conf) self._track1 = self._conf.newTrack() self._track2 = self._conf.newTrack() self._track3 = self._conf.newTrack() absMgr = self._conf.getAbstractMgr() self._contribTypeOral = "oral" self._contribTypePoster = "poster" self._stopDBReq()
def getCat(Cat, fid, icon):#checks if Category exists, creates if need be, then returns the Category to add Conference to if fid != '0': #If level is below root cursor = agenda.cursor() cursor.execute("select * from LEVEL where uid = \'" + fid + "\'")#gets parent LEVEL cp = cursor.fetchone()#gets parent info #cp[0]-uid, cp[1]-fid, cp[2]-level, cp[3]-title, cp[4]-cd, cp[5]-md, cp[6]-abstract, cp[7]-icon #cp[8]-stitle, cp[9]-visibility, cp[10]-modifyPassword, cp[11]-accessPassword, cp[12]-categorder if cp[1] == "delet": return None newCat = conference.Category()#creates Category with parents properties newCat.setName(cp[3]) newCat.setDescription(cp[6]) newCat.setOrder(cp[12]) newCat.setVisibility(cp[9]) newCat.setId(cp[0]) catParent = getCat(newCat, cp[1], cp[7])#goes to fetch the parent category else:#If at root level get the root category catParent = conference.CategoryManager().getRoot() catlist = catParent.getSubCategoryList()#get list of subcategories already in category for tup in catlist:#checks if the category already exists and returns it if tup.name == Cat.name and tup.id == Cat.id: return tup #if category doesn't exist - create it catParent.newSubCategory(Cat) if icon != "": iconpath = Config.getInstance().getCategoryIconPath(Cat.getId()) os.system("scp tbaron@%s:%s/%s.gif /tmp/%s.gif" % (file_host,hosticonpath,Cat.getId(),Cat.getId())) os.system("convert /tmp/%s.gif %s" % (Cat.getId(),iconpath)) #get_transaction().commit() return Cat
def _checkParams(self): try: l = locators.WebLocator() l.setCategory(self._params) self._target = self._categ = l.getObject() except: #raise ServiceError("ERR-E4", "Invalid category id.") self._target = self._categ = conference.CategoryManager().getRoot()
def _getAnswer(self): if self._categ is conference.CategoryManager().getRoot(): raise ServiceError('ERR-U0', _('Cannot add root category as favorite')) self._avatar.linkTo(self._categ, 'favorite') if redis_write_client: suggestions.unignore(self._avatar, 'category', self._categ.getId()) suggestions.unsuggest(self._avatar, 'category', self._categ.getId())
def setUp(self): super(TestAbstractJudgements, self).setUp() self._startDBReq() # Get dummy user and create another one ah = AvatarHolder() avatar1 = ah.getById(0) avatar2 = Avatar() avatar2.setName("fake-2") avatar2.setSurName("fake") avatar2.setOrganisation("fake") avatar2.setLang("en_GB") avatar2.setEmail("*****@*****.**") avatar2.setId("fake-2") ah.add(avatar2) setattr(self, '_avatar1', avatar1) setattr(self, '_avatar2', avatar2) # Create a conference category = conference.CategoryManager().getById('0') self._conf = category.newConference(self._avatar1) self._conf.setTimezone('UTC') sd = datetime(2011, 11, 1, 10, 0, tzinfo=timezone('UTC')) ed = datetime(2011, 11, 1, 18, 0, tzinfo=timezone('UTC')) self._conf.setDates(sd, ed) ch = ConferenceHolder() ch.add(self._conf) self._ctOral = conference.ContributionType("oral", "", self._conf) self._conf.addContribType(self._ctOral) self._track1 = self._conf.newTrack() self._track2 = self._conf.newTrack() self._track3 = self._conf.newTrack() self._abstract1 = self._conf.getAbstractMgr().newAbstract( self._avatar1) self._abstract2 = self._conf.getAbstractMgr().newAbstract( self._avatar1) self._abstract3 = self._conf.getAbstractMgr().newAbstract( self._avatar1) self._abstract4 = self._conf.getAbstractMgr().newAbstract( self._avatar1) self._abstract5 = self._conf.getAbstractMgr().newAbstract( self._avatar1) self._abstract1.setTracks([self._track1, self._track2, self._track3]) self._abstract2.setTracks([self._track1, self._track2]) self._abstract3.setTracks([self._track1]) self._abstract4.setTracks([self._track2, self._track3]) self._abstract5.setTracks([self._track3]) self._stopDBReq()
def process(self, filteredParams): self._filteredParams = filteredParams phrase = self._filteredParams.get('p', '') if phrase.strip() == '': self._noQuery = True params = copy.copy(self._filteredParams) nEvtRec, nContRec = 0, 0 numEvtHits, numContHits = 0, 0 eventResults, contribResults = [], [] numEvtHits, evtShortResult, nEvtRec, eventResults = self._getResults(self._pagination) params['evtShortResult'] = evtShortResult params['p'] = cgi.escape(phrase, quote=True) params['f'] = cgi.escape(filteredParams.get('f', ''), quote=True) params['eventResults'] = eventResults params['contribResults'] = contribResults categories = {} for cat in conference.CategoryManager().getList(): catparent = cat.getOwner() if catparent and catparent.getCategory().getId() == '0': categories[cat.getId()] = cat.name #keywords = [] # for conf in conference.ConferenceHolder().getValuesToList(): # for keyword in conf.getKeywords().split('\n'): # if not(keyword in keywords) and not(keyword.startswith('smr')) and not(keyword.startswith('expparts')) and not(keyword.startswith('siscode')) and keyword != '': # keywords.append(keyword) # To get a faster response, comment the above lines and use a static keywords definitions. #keywords.sort() params['categories'] = categories params['avakeywords'] = keywords params['nEventResult'] = nEvtRec params['nContribResult'] = nContRec params['numHits'] = numEvtHits + numContHits params['page'] = self._page params['targetObj'] = self._target params['searchingPublicWarning'] = self.isSearchTypeOnlyPublic() and not self._userLoggedIn params['accessWrapper'] = ContextManager().get("currentRH", None).getAW() return params
def setUp(self): super(TestProtection, self).setUp() self._startDBReq() # Create a user ah = AvatarHolder() self._avatar = Avatar() self._avatar.setName("fake") self._avatar.setSurName("fake") self._avatar.setOrganisation("fake") self._avatar.setLang("en_GB") self._avatar.setEmail("*****@*****.**") self._avatar.setId("fake") ah.add(self._avatar) # Create a conference category = conference.CategoryManager().getById('0') self._conf = category.newConference(self._avatar) self._conf.setTimezone('UTC') sd = datetime(2011, 11, 1, 10, 0, tzinfo=timezone('UTC')) ed = datetime(2011, 11, 1, 18, 0, tzinfo=timezone('UTC')) self._conf.setDates(sd, ed) ch = ConferenceHolder() ch.add(self._conf) self._contrib1 = conference.Contribution() self._conf.addContribution(self._contrib1) self._session1 = conference.Session() self._conf.addSession(self._session1) self._session2 = conference.Session() self._conf.addSession(self._session2) self._contrib2 = conference.Contribution() self._session1.addContribution(self._contrib2) #Now we create the material (id=0) and attach it to the contrib self._material = conference.Material() self._contrib1.addMaterial(self._material) #Now we create a dummy file and attach it to the material filePath = os.path.join(os.getcwd(), "test.txt") fh = open(filePath, "w") fh.write("hola") fh.close() self._resource = conference.LocalFile() self._resource.setFilePath(filePath) self._resource.setFileName("test.txt") self._material.addResource(self._resource) self._stopDBReq()
def setUp(self): super(TestAbstractSubmission, self).setUp() with self._context("database"): # Create a conference category = conference.CategoryManager().getById('0') self._conf = category.newConference(self._avatar1) self._conf.setTimezone('UTC') sd = datetime(2011, 11, 1, 10, 0, tzinfo=timezone('UTC')) ed = datetime(2011, 11, 1, 18, 0, tzinfo=timezone('UTC')) self._conf.setDates(sd, ed) ch = ConferenceHolder() ch.add(self._conf)
def __init__(self, params, mustExist=1): self._categList = [] categIds = params.get("categId", []) if categIds == [] or params["categId"] == "": if mustExist: raise errors.MaKaCError(_("category ids not set")) if isinstance(categIds, basestring): categIds = [categIds] ch = conference.CategoryManager() for id in categIds: try: self._categList.append(ch.getById(id)) except KeyError: continue
def _checkParams(self, params): admins.RHAdminBase._checkParams(self, params) self.__defaultConferencePDFOptions = conference.CategoryManager( ).getDefaultConference().getBadgeTemplateManager().getPDFOptions() try: self.__marginTop = float(params.get("marginTop", '')) except ValueError: self.__marginTop = self.__defaultConferencePDFOptions.getTopMargin( ) try: self.__marginBottom = float(params.get("marginBottom", '')) except ValueError: self.__marginBottom = self.__defaultConferencePDFOptions.getBottomMargin( ) try: self.__marginLeft = float(params.get("marginLeft", '')) except ValueError: self.__marginLeft = self.__defaultConferencePDFOptions.getLeftMargin( ) try: self.__marginRight = float(params.get("marginRight", '')) except ValueError: self.__marginRight = self.__defaultConferencePDFOptions.getRightMargin( ) try: self.__marginColumns = float(params.get("marginColumns", '')) except ValueError: self.__marginColumns = self.__defaultConferencePDFOptions.getMarginColumns( ) try: self.__marginRows = float(params.get("marginRows", '')) except ValueError: self.__marginRows = self.__defaultConferencePDFOptions.getMarginRows( ) self.__pagesize = params.get("pagesize", 'A4') self.__drawDashedRectangles = params.get("drawDashedRectangles", False) is not False self.__landscape = params.get('landscape') == '1'
def _checkParams( self, params ): RHCategModifBase._checkParams( self, params ) confIdList = self._normaliseListParam(params.get("selectedConf", [])) self._confs = [] self._confirmation = params.has_key("confirm") if "cancel" in params: return ch = conference.ConferenceHolder() for confId in confIdList: self._confs.append( ch.getById( confId ) ) self._action = _ActionConferenceDeletion( self, self._target, self._confs, ) if params.has_key("reallocate"): self._srcCateg = self._target if self._confirmation: cm = conference.CategoryManager() self._srcCateg = cm.getById( params["srcCategId"] ) self._action = _ActionConferenceReallocation( self, self._srcCateg, self._confs, self._target )
def _getBody( self, params ): wc = WCalendar( self._getAW(), self._cal ) cat = self._categ catman=conference.CategoryManager() catList=[] for cat in self._cal.getCategoryList(): while cat.getId()!="0": cat = cat.getOwner() catList.append(cat.getId()) params = { "changeMonthsURL": urlHandlers.UHCalendar.getURL(), \ "categDisplayURL": urlHandlers.UHCategoryDisplay.getURL(self._categ), \ "selCategsURL": str(urlHandlers.UHCalendarSelectCategories.getURL()), \ "categoryTitle": self._categ.getTitle() \ } params["selCategsURL"] += "?xs="+catman.getRoot().getId() for id in catList: params["selCategsURL"] += "&xs="+id return wc.getHTML( params )
def setUp(self): super(TestTasks, self).setUp() self._startDBReq() PluginsHolder().updateAllPluginInfo() PluginsHolder().getPluginType('calendaring').setActive(True) PluginsHolder().getPluginType('calendaring').getPlugin( 'outlook').setActive(True) # Create two dummy users ah = AvatarHolder() self._avatar1 = Avatar() self._avatar1.setName("fake-1") self._avatar1.setSurName("fake1") self._avatar1.setOrganisation("fake1") self._avatar1.setEmail("*****@*****.**") ah.add(self._avatar1) self._avatar2 = Avatar() self._avatar2.setName("fake-2") self._avatar2.setSurName("fake2") self._avatar2.setOrganisation("fake2") self._avatar2.setEmail("*****@*****.**") ah.add(self._avatar2) # Create two dummy conferences category = conf.CategoryManager().getById('0') ch = ConferenceHolder() self._conf1 = category.newConference(self._avatar1) self._conf1.setTimezone('UTC') sd1 = datetime(2012, 12, 1, 10, 0, tzinfo=timezone('UTC')) ed1 = datetime(2012, 12, 1, 18, 0, tzinfo=timezone('UTC')) self._conf1.setDates(sd1, ed1) ch.add(self._conf1) self._conf2 = category.newConference(self._avatar2) self._conf2.setTimezone('UTC') sd2 = datetime(2012, 12, 10, 11, 0, tzinfo=timezone('UTC')) ed2 = datetime(2012, 12, 11, 13, 0, tzinfo=timezone('UTC')) self._conf2.setDates(sd2, ed2) ch.add(self._conf2) self._stopDBReq()
def _checkParams( self, params ): RHCategModifBase._checkParams( self, params ) categIdList = self._normaliseListParam(params.get("selectedCateg", [])) self._categs = [] self._confirmation = params.has_key("confirm") if "cancel" in params: return cm = conference.CategoryManager() for categId in categIdList: self._categs.append( cm.getById( categId ) ) self._action = _ActionSubCategDeletion( self, self._target, self._categs ) if params.has_key("reallocate"): self._action = _ActionSubCategReallocation( self, self._target, self._categs ) if params.has_key("oldpos") and params["oldpos"]!='': self._confirmation = 1 self._action = _ActionSubCategMove( self, params['newpos'+params['oldpos']], params['oldpos'] ) if params.has_key("sort"): self._confirmation = 1 self._action = _ActionSortCategories( self )
def _checkParams(self): ConfigUpcomingEventsBase._checkParams(self) self._objType = self._pm.extract("type", pType=str, allowEmpty=False) self._objId = self._pm.extract("id", pType=str, allowEmpty=False) if self._objType == 'event': try: self._obj = conference.ConferenceHolder().getById(self._objId) except: raise ServiceError("ERR-O0", "Event '%s' does not exist" % self._objId) elif self._objType == 'category': try: self._obj = conference.CategoryManager().getById(self._objId) except: raise ServiceError("ERR-O1", "Category '%s' does not exist" % self._objId) else: raise ServiceError("ERR-O2", "Unknown type!")
def _getMaterial(locator): ch = conference.ConferenceHolder() if locator.has_key("materialId"): if locator.has_key("categId"): categ = conference.CategoryManager().getById(locator["categId"]) if categ is not None: return CDSConvFileConverter._getMaterialObj(categ, locator["materialId"]) elif locator.has_key("confId"): c=ch.getById(locator["confId"]) # ---------- Conference ---------- if c is not None: # ---------- Session ---------- if locator.has_key("sessionId"): s=c.getSessionById(locator["sessionId"]) if s is not None: # ---------- Contribution ---------- if locator.has_key("contribId"): contrib = c.getContributionById(locator["contribId"]) if contrib is not None: # ---------- Subcontribution ---------- if locator.has_key("subContId"): subContrib = contrib.getSubContributionById(locator["subContId"]) if subContrib is not None: return CDSConvFileConverter._getMaterialObj(subContrib, locator["materialId"]) else: return CDSConvFileConverter._getMaterialObj(contrib, locator["materialId"]) else: return CDSConvFileConverter._getMaterialObj(s, locator["materialId"]) # ---------- Contribution ---------- elif locator.has_key("contribId"): contrib = c.getContributionById(locator["contribId"]) if contrib is not None: # ---------- Subcontribution ---------- if locator.has_key("subContId"): subContrib = contrib.getSubContributionById(locator["subContId"]) if subContrib is not None: return CDSConvFileConverter._getMaterialObj(subContrib, locator["materialId"]) else: return CDSConvFileConverter._getMaterialObj(contrib, locator["materialId"]) else: return CDSConvFileConverter._getMaterialObj(c, locator["materialId"]) return None
def _checkParams(self, params): categIdList = self._normaliseListParam(params.get("selCateg", [])) self._categList = [] cm = conference.CategoryManager() for id in categIdList: self._categList.append(cm.getById(id)) tz = DisplayTZ(self._aw).getDisplayTZ() sdate = timezone(tz).localize(datetime(int(params.get("sDate", "")[0:4]),\ int(params.get("sDate", "")[5:7]),\ int(params.get("sDate", "")[8:]))) months = params.get("months", 6) self._cal = wcalendar.MonthCalendar( self._aw, \ sdate, \ months, \ 3, \ self._categList ) xs = self._normaliseListParam(params.get("xs", [])) self._expanded = [] for id in xs: self._expanded.append(cm.getById(id))
def setUp(self): super(TestAuthorSearch, self).setUp() self._startDBReq() # Get dummy user ah = AvatarHolder() avatar = ah.getById(0) setattr(self, '_avatar', avatar) # Create a conference category = conference.CategoryManager().getById('0') self._conf = category.newConference(self._avatar) self._conf.setTimezone('UTC') sd = datetime(2011, 11, 1, 10, 0, tzinfo=timezone('UTC')) ed = datetime(2011, 11, 1, 18, 0, tzinfo=timezone('UTC')) self._conf.setDates(sd, ed) ch = ConferenceHolder() ch.add(self._conf) self._stopDBReq()
def setUp(self): super(TestProtection, self).setUp() with self._context("database"): # Create a conference category = conference.CategoryManager().getById('0') self._conf = category.newConference(self._dummy) self._conf.setTimezone('UTC') sd = datetime(2011, 11, 1, 10, 0, tzinfo=timezone('UTC')) ed = datetime(2011, 11, 1, 18, 0, tzinfo=timezone('UTC')) self._conf.setDates(sd, ed) ch = ConferenceHolder() ch.add(self._conf) self._contrib1 = conference.Contribution() self._conf.addContribution(self._contrib1) self._session1 = conference.Session() self._conf.addSession(self._session1) self._session2 = conference.Session() self._conf.addSession(self._session2) self._contrib2 = conference.Contribution() self._session1.addContribution(self._contrib2) #Now we create the material (id=0) and attach it to the contrib self._material = conference.Material() self._contrib1.addMaterial( self._material ) #Now we create a dummy file and attach it to the material filePath = os.path.join( os.getcwd(), "test.txt" ) fh = open(filePath, "w") fh.write("hola") fh.close() self._resource = conference.LocalFile() self._resource.setFilePath( filePath ) self._resource.setFileName( "test.txt" ) self._material.addResource( self._resource )
# -*- coding: utf-8 -*- ## ## ## This file is part of Indico. ## Copyright (C) 2002 - 2013 European Organization for Nuclear Research (CERN). ## ## Indico is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 3 of the ## License, or (at your option) any later version. ## ## Indico is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with Indico;if not, see <http://www.gnu.org/licenses/>. import sys sys.path.append("c:/development/indico/code/code") from MaKaC.common import DBMgr from MaKaC import conference DBMgr.getInstance().startRequest() conference.CategoryManager().getRoot()._setNumConferences() DBMgr.getInstance().endRequest()
def _checkParams(self, params): self._target = conference.CategoryManager().getRoot()
def _getTabContent(self, params): wp = WPosterTemplates( conference.CategoryManager().getDefaultConference()) return wp.getHTML(params)
def getObject(self): """ """ if self.__categId: if not conference.CategoryManager().hasKey(self.__categId): raise errors.NoReportError( _("There is no category with id '%s', or it has been deleted" ) % self.__categId) obj = conference.CategoryManager().getById(self.__categId) if self.__materialId is not None or self.__resId is not None: return None # obsolete - attachments don't use WebLocator return obj if not self.__confId: return None obj = conference.ConferenceHolder().getById(self.__confId) if obj is None: raise errors.NoReportError( "The event you are trying to access does not exist or has been deleted" ) if self.__notifTplId: obj = obj.getAbstractMgr().getNotificationTplById( self.__notifTplId) return obj if self.__trackId: obj = obj.getTrackById(self.__trackId) return obj if self.__contribTypeId: obj = obj.getContribTypeById(self.__contribTypeId) return obj if self.__abstractId: obj = obj.getAbstractMgr().getAbstractById(self.__abstractId) if obj == None: raise errors.NoReportError( "The abstract you are trying to access does not exist or has been deleted" ) if self.__resId: return obj.getAttachmentById(self.__resId) if self.__sessionId: obj = obj.getSessionById(self.__sessionId) if obj == None: raise errors.NoReportError( "The session you are trying to access does not exist or has been deleted" ) if self.__slotId: obj = obj.getSlotById(self.__slotId) if self.__contribId: obj = obj.getContributionById(self.__contribId) if obj == None: raise errors.NoReportError( _("The contribution you are trying to access does not exist or has been deleted" )) if self.__reviewId: #obj must be a Contribution obj = obj.getReviewManager().getReviewById(self.__reviewId) if obj == None: raise errors.NoReportError( "The review you are tring to access does not exist or has been deleted" ) if self.__subContribId and self.__contribId: obj = obj.getSubContributionById(self.__subContribId) if obj == None: raise errors.NoReportError( "The subcontribution you are trying to access does not exist or has been deleted" ) if not self.__materialId: return obj assert self.__materialId == 'reviewing' mat = reviewing_factory_get(obj) if mat is None or self.__resId is None: return mat return mat.getResourceById(self.__resId)
def setUp(self): ''' Create a conference, 0 Add 2 contributions to this conference, 0 and 1 To contribution 0 - Add 2 speakers, person1 and person2 To contribution 1 - Add 1 speaker, person1 ''' super(TestElectronicAgreement, self).setUp() self._startDBReq() self.falseSession = FalseSession() # Create few users self._creator = Avatar({"name": "God", "email": "*****@*****.**"}) self._creator.setId("creator") # Set God as admin AdminList.getInstance().getList().append(self._creator) self.person1 = Avatar({"name": "giuseppe", "email": "*****@*****.**"}) self.person1.setId("spk1") self.person2 = Avatar({"name": "gabriele", "email": "*****@*****.**"}) self.person1.setId("spk2") self.person3 = Avatar({"name": "lorenzo", "email": "*****@*****.**"}) self.person1.setId("spk3") self.person4 = Avatar({"name": "silvio", "email": "*****@*****.**"}) self.person1.setId("spk4") ah = AvatarHolder() ah.add(self.person1) ah.add(self.person2) ah.add(self.person3) ah.add(self.person4) # Create a conference category = conference.CategoryManager().getById('0') self._conf = category.newConference(self._creator) self._conf.setTimezone('UTC') sd = datetime(2011, 06, 01, 10, 00, tzinfo=timezone("UTC")) ed = datetime(2011, 06, 05, 10, 00, tzinfo=timezone("UTC")) self._conf.setDates( sd, ed, ) ch = ConferenceHolder() ch.add(self._conf) # Create contributions and add to the conference c1, c2 = Contribution(), Contribution() self.speaker1, self.speaker2 = ContributionParticipation( ), ContributionParticipation() self.speaker1.setDataFromAvatar(self.person1) self.speaker2.setDataFromAvatar(self.person2) self._conf.addContribution(c2) self._conf.addContribution(c1) # Add speakers to contributions c1.addPrimaryAuthor(self.speaker1) c2.addPrimaryAuthor(self.speaker2) c1.addSpeaker(self.speaker1) c2.addSpeaker(self.speaker1) c2.addSpeaker(self.speaker2) self._conf.enableSessionSlots() # Create session and schedule the contributions s1 = Session() sd = datetime(2011, 06, 02, 12, 00, tzinfo=timezone("UTC")) ed = datetime(2011, 06, 02, 19, 00, tzinfo=timezone("UTC")) s1.setDates(sd, ed) slot1 = SessionSlot(s1) self._conf.addSession(s1) slot1.setValues({"sDate": sd}) s1.addSlot(slot1) s1.addContribution(c1) s1.addContribution(c2) slot1.getSchedule().addEntry(c1.getSchEntry()) slot1.getSchedule().addEntry(c2.getSchEntry()) self.createAndAcceptBooking() self._stopDBReq()
def __init__(self, rh, target, wfReg): category.WPCategoryDisplay.__init__( self, rh, conference.CategoryManager().getRoot(), wfReg)
def getObject(self): """ """ if self.__resvID: from MaKaC.rb_location import CrossLocationQueries, Location obj = CrossLocationQueries.getReservations( resvID=self.__resvID, location=self.__location) return obj if self.__roomID: from MaKaC.rb_location import CrossLocationQueries, Location obj = CrossLocationQueries.getRooms(roomID=self.__roomID, location=self.__location) return obj if self.__categId: if not conference.CategoryManager().hasKey(self.__categId): raise errors.NoReportError( _("There is no category with id '%s', or it has been deleted" ) % self.__categId) obj = conference.CategoryManager().getById(self.__categId) if self.__materialId: obj = obj.getMaterialById(self.__materialId) if self.__resId: obj = obj.getResourceById(self.__resId) return obj if not self.__confId: return None obj = conference.ConferenceHolder().getById(self.__confId) if obj == None: raise errors.NoReportError( "The event you are trying to access does not exist or has been deleted" ) fr = materialFactories.ConfMFRegistry if self.__notifTplId: obj = obj.getAbstractMgr().getNotificationTplById( self.__notifTplId) return obj if self.__alarmId: obj = obj.getAlarmById(self.__alarmId) return obj if self.__trackId: obj = obj.getTrackById(self.__trackId) return obj if self.__menuLinkId: obj = obj.getDisplayMgr().getMenu().getLinkById(self.__menuLinkId) return obj if self.__contribTypeId: obj = obj.getContribTypeById(self.__contribTypeId) return obj if self.__abstractId: obj = obj.getAbstractMgr().getAbstractById(self.__abstractId) if obj == None: raise errors.NoReportError( "The abstract you are trying to access does not exist or has been deleted" ) if self.__resId: return obj.getAttachmentById(self.__resId) if self.__registrantId: obj = obj.getRegistrantById(self.__registrantId) if obj == None: raise errors.NoReportError( "The registrant you are trying to access does not exist or has been deleted" ) if self.__resId: return obj.getAttachmentById(self.__resId) if self.__sessionId: obj = obj.getSessionById(self.__sessionId) fr = materialFactories.SessionMFRegistry if obj == None: raise errors.NoReportError( "The session you are trying to access does not exist or has been deleted" ) if self.__slotId: obj = obj.getSlotById(self.__slotId) if self.__contribId: obj = obj.getContributionById(self.__contribId) fr = materialFactories.ContribMFRegistry if obj == None: raise errors.NoReportError( "The contribution you are trying to access does not exist or has been deleted" ) if self.__reviewId: #obj must be a Contribution obj = obj.getReviewManager().getReviewById(self.__reviewId) if obj == None: raise errors.NoReportError( "The review you are tring to access does not exist or has been deleted" ) if self.__subContribId and self.__contribId: obj = obj.getSubContributionById(self.__subContribId) fr = materialFactories.ContribMFRegistry if obj == None: raise errors.NoReportError( "The subcontribution you are trying to access does not exist or has been deleted" ) if not self.__materialId: return obj #first we check if it refers to a special type of material mat = None f = fr.getById(self.__materialId) if f: mat = f.get(obj) if not mat: mat = obj.getMaterialById(self.__materialId) if not self.__resId: return mat return mat.getResourceById(self.__resId)