コード例 #1
0
 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
コード例 #2
0
 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]
コード例 #3
0
ファイル: abstract_test.py プロジェクト: sylvestre/indico
    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()
コード例 #4
0
ファイル: review_test.py プロジェクト: arturodr/indico
    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()
コード例 #5
0
ファイル: review_test.py プロジェクト: arturodr/indico
    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()
コード例 #6
0
ファイル: mapfinal.py プロジェクト: Json-Andriopoulos/indico
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
コード例 #7
0
 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()
コード例 #8
0
 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())
コード例 #9
0
ファイル: review_test.py プロジェクト: arturodr/indico
    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()
コード例 #10
0
    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
コード例 #11
0
    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()
コード例 #12
0
    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)
コード例 #13
0
 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
コード例 #14
0
ファイル: templates.py プロジェクト: marcosmolla/indico
    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'
コード例 #15
0
ファイル: categoryMod.py プロジェクト: sylvestre/indico
 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 )
コード例 #16
0
 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 )
コード例 #17
0
ファイル: tasks_tests.py プロジェクト: sylvestre/indico
    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()
コード例 #18
0
ファイル: categoryMod.py プロジェクト: sylvestre/indico
 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 )
コード例 #19
0
ファイル: upcoming.py プロジェクト: arturodr/indico
    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!")
コード例 #20
0
ファイル: fileConverter.py プロジェクト: marcosmolla/indico
 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
コード例 #21
0
ファイル: calendar.py プロジェクト: lukasnellen/indico
 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))
コード例 #22
0
ファイル: review_test.py プロジェクト: arturodr/indico
    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()
コード例 #23
0
    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 )
コード例 #24
0
ファイル: setCategConfNum.py プロジェクト: sylvestre/indico
# -*- 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()

コード例 #25
0
ファイル: welcome.py プロジェクト: stomanin/indico
 def _checkParams(self, params):
     self._target = conference.CategoryManager().getRoot()
コード例 #26
0
ファイル: admins.py プロジェクト: belokop/indico
 def _getTabContent(self, params):
     wp = WPosterTemplates(
         conference.CategoryManager().getDefaultConference())
     return wp.getHTML(params)
コード例 #27
0
 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)
コード例 #28
0
    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()
コード例 #29
0
 def __init__(self, rh, target, wfReg):
     category.WPCategoryDisplay.__init__(
         self, rh,
         conference.CategoryManager().getRoot(), wfReg)
コード例 #30
0
ファイル: locators.py プロジェクト: sylvestre/indico
 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)