Ejemplo n.º 1
0
    def testTplConditions(self):
        # test adding and removing conditions to templates
        from MaKaC.review import NotificationTemplate

        tpl1 = NotificationTemplate()
        tpl2 = NotificationTemplate()
        absMgr = self._conf.getAbstractMgr()
        absMgr.addNotificationTpl(tpl1)
        absMgr.addNotificationTpl(tpl2)
        from MaKaC.review import NotifTplCondAccepted, NotifTplCondRejected

        cond1 = NotifTplCondAccepted(contribType=self._contribTypeOral)
        cond2 = NotifTplCondRejected()
        tpl1.addCondition(cond1)
        tpl2.addCondition(cond2)
        from MaKaC.user import Avatar

        submitter = Avatar()
        submitter.setId("submitter")
        abs1 = absMgr.newAbstract(submitter)
        tplRes = absMgr.getNotifTplForAbstract(abs1)
        self.assert_(tplRes is None)
        abs1.accept(submitter, self._track1, self._contribTypeOral)
        self.assert_(absMgr.getNotifTplForAbstract(abs1) == tpl1)
        abs2 = absMgr.newAbstract(submitter)
        abs2.accept(submitter, self._track1, self._contribTypePoster)
        self.assert_(not absMgr.getNotifTplForAbstract(abs2))
        abs3 = absMgr.newAbstract(submitter)
        abs3.reject(submitter)
        self.assert_(absMgr.getNotifTplForAbstract(abs3) == tpl2)
Ejemplo n.º 2
0
 def testTplCondAccAnyTrack(self):
     #test different possibilities when a condition has been stablished for
     #   a notif tpl on any track
     from MaKaC.review import NotificationTemplate
     tpl1 = NotificationTemplate()
     absMgr = self._conf.getAbstractMgr()
     absMgr.addNotificationTpl(tpl1)
     from MaKaC.review import NotifTplCondAccepted
     cond1 = NotifTplCondAccepted(contribType=self._contribTypeOral)
     tpl1.addCondition(cond1)
     from MaKaC.user import Avatar
     submitter = Avatar()
     submitter.setId("submitter")
     abs1 = absMgr.newAbstract(submitter)
     abs1.accept(submitter, self._track1, self._contribTypeOral)
     self.assert_(absMgr.getNotifTplForAbstract(abs1) == tpl1)
     abs2 = absMgr.newAbstract(submitter)
     abs2.accept(submitter, self._track1, self._contribTypePoster)
     self.assert_(absMgr.getNotifTplForAbstract(abs2) is None)
     abs3 = absMgr.newAbstract(submitter)
     abs3.accept(submitter, self._track2, self._contribTypeOral)
     self.assert_(absMgr.getNotifTplForAbstract(abs3) == tpl1)
     abs4 = absMgr.newAbstract(submitter)
     abs4.accept(submitter, None, self._contribTypeOral)
     self.assert_(absMgr.getNotifTplForAbstract(abs4) == tpl1)
Ejemplo n.º 3
0
 def setUp( self ):
     a = Avatar()
     a.setId("creator")
     self._categ = Category()
     self._conf = Conference( a )
     self._conf.setId('a')
     self._conf.setDates(datetime(2000, 01, 01, tzinfo=timezone("UTC")),datetime(2020, 01, 01, tzinfo=timezone("UTC")))
Ejemplo n.º 4
0
 def testBasic(self):
     c1=Contribution()
     self._conf.addContribution(c1)
     av1,av2=Avatar(),Avatar()
     av1.setId("1")
     av2.setId("2")
     self.assert_(not c1.canUserSubmit(av1))
     self.assert_(not c1.canUserSubmit(av2))
     self.assert_(len(c1.getSubmitterList())==0)
     c1.grantSubmission(av1)
     self.assert_(c1.canUserSubmit(av1))
     self.assert_(not c1.canUserSubmit(av2))
     self.assert_(len(c1.getSubmitterList())==1)
     self.assert_(av1 in c1.getSubmitterList())
     self.assert_(av2 not in c1.getSubmitterList())
     c1.revokeSubmission(av2)
     self.assert_(c1.canUserSubmit(av1))
     self.assert_(not c1.canUserSubmit(av2))
     self.assert_(len(c1.getSubmitterList())==1)
     self.assert_(av1 in c1.getSubmitterList())
     self.assert_(av2 not in c1.getSubmitterList())
     c1.revokeSubmission(av1)
     self.assert_(not c1.canUserSubmit(av1))
     self.assert_(not c1.canUserSubmit(av2))
     self.assert_(len(c1.getSubmitterList())==0)
Ejemplo n.º 5
0
 def setUp( self ):
     self._creator=Avatar()
     self._creator.setId("creator")
     self._conf=Conference(self._creator)
     sd=datetime(2004, 01, 01, 10, 00, tzinfo=timezone("UTC"))
     ed=datetime(2004, 01, 05, 10, 00, tzinfo=timezone("UTC"))
     self._conf.setDates(sd,ed)
Ejemplo n.º 6
0
 def setUp( self ):
     from MaKaC.user import Avatar
     a = Avatar()
     a.setId("creator")
     from MaKaC.conference import Conference
     self._conf = Conference( a )
     self._conf.setTimezone('UTC')
Ejemplo n.º 7
0
 def testTplConditions(self):
     #test adding and removing conditions to templates
     from MaKaC.review import NotificationTemplate
     tpl1 = NotificationTemplate()
     tpl2 = NotificationTemplate()
     absMgr = self._conf.getAbstractMgr()
     absMgr.addNotificationTpl(tpl1)
     absMgr.addNotificationTpl(tpl2)
     from MaKaC.review import NotifTplCondAccepted, NotifTplCondRejected
     cond1 = NotifTplCondAccepted(contribType=self._contribTypeOral)
     cond2 = NotifTplCondRejected()
     tpl1.addCondition(cond1)
     tpl2.addCondition(cond2)
     from MaKaC.user import Avatar
     submitter = Avatar()
     submitter.setId("submitter")
     abs1 = absMgr.newAbstract(submitter)
     tplRes = absMgr.getNotifTplForAbstract(abs1)
     self.assert_(tplRes is None)
     abs1.accept(submitter, self._track1, self._contribTypeOral)
     self.assert_(absMgr.getNotifTplForAbstract(abs1) == tpl1)
     abs2 = absMgr.newAbstract(submitter)
     abs2.accept(submitter, self._track1, self._contribTypePoster)
     self.assert_(not absMgr.getNotifTplForAbstract(abs2))
     abs3 = absMgr.newAbstract(submitter)
     abs3.reject(submitter)
     self.assert_(absMgr.getNotifTplForAbstract(abs3) == tpl2)
Ejemplo n.º 8
0
    def testTplCondAccNoneTrack(self):
        # test different possibilities when a condition has been stablished for
        #   a notif tpl on none track
        from MaKaC.review import NotificationTemplate

        tpl1 = NotificationTemplate()
        absMgr = self._conf.getAbstractMgr()
        absMgr.addNotificationTpl(tpl1)
        from MaKaC.review import NotifTplCondAccepted

        cond1 = NotifTplCondAccepted(track=None, contribType=self._contribTypeOral)
        tpl1.addCondition(cond1)
        from MaKaC.user import Avatar

        submitter = Avatar()
        submitter.setId("submitter")
        abs1 = absMgr.newAbstract(submitter)
        abs1.accept(submitter, self._track1, self._contribTypeOral)
        self.assert_(absMgr.getNotifTplForAbstract(abs1) is None)
        abs2 = absMgr.newAbstract(submitter)
        abs2.accept(submitter, self._track1, self._contribTypePoster)
        self.assert_(absMgr.getNotifTplForAbstract(abs2) is None)
        abs3 = absMgr.newAbstract(submitter)
        abs3.accept(submitter, None, self._contribTypeOral)
        self.assert_(absMgr.getNotifTplForAbstract(abs3) == tpl1)
Ejemplo n.º 9
0
 def setUp( self ):
     from MaKaC.user import Avatar
     a = Avatar()
     a.setId("creator")
     from MaKaC.conference import Conference
     self._conf=Conference(a)
     self._conf.setTimezone('UTC')
     self._conf.setDates(datetime(2000,1,1,tzinfo=timezone('UTC')),datetime(2020,1,1,tzinfo=timezone('UTC')))
Ejemplo n.º 10
0
 def setUp(self):
     a = Avatar()
     a.setId("creator")
     self._conf=Conference(a)
     self._conf.setTimezone('UTC')
     sd=datetime(2004, 01, 01, 10, 00, tzinfo=timezone('UTC'))
     ed=datetime(2004, 01, 05, 10, 00, tzinfo=timezone('UTC'))
     self._conf.setDates(sd,ed)
Ejemplo n.º 11
0
 def testAddTC( self ):
     from MaKaC.user import Avatar
     tc1 = Avatar()
     tc1.setId( "tc1" )
     self._track1.addCoordinator( tc1 )
     self.assert_( len(self._track1.getCoordinatorList()) == 1 )
     self.assert_( tc1 in self._track1.getCoordinatorList() )
     self.assert_( self._track1 in self._conf.getCoordinatedTracks( tc1 ) )
Ejemplo n.º 12
0
 def setUp(self):
     self._creator = Avatar()
     self._creator.setId("creator")
     self._categ = Category()
     self._conf = Conference(self._creator)
     self._conf.setId('a')
     self._conf.setTimezone('UTC')
     self._categ._addConference(self._conf)
Ejemplo n.º 13
0
 def setUp(self):
     a = Avatar()
     a.setId("creator")
     self._conf = Conference(a)
     self._conf.setTimezone('UTC')
     sd = datetime(2004, 01, 01, 10, 00, tzinfo=timezone('UTC'))
     ed = datetime(2004, 01, 05, 10, 00, tzinfo=timezone('UTC'))
     self._conf.setDates(sd, ed)
Ejemplo n.º 14
0
    def setUp( self ):

        a = Avatar()
        a.setId("creator")
        self._conf = ConferenceFacade( a )
        self._conf.setId('a')
        self._conf.setTimezone('UTC')

        self._conf.setDates(datetime(2009, 9, 21, 16, 0 ,0, tzinfo=timezone("UTC")), datetime(2009, 9, 21, 19, 0 ,0, tzinfo=timezone("UTC")))
Ejemplo n.º 15
0
 def setUp( self ):
     from MaKaC.user import Avatar
     cr = Avatar()
     cr.setId( "creator" )
     from MaKaC.conference import Conference, Track
     self._conf = Conference( cr )
     self._track1 = Track()
     self._track1.setId( "1" )
     self._conf.addTrack( self._track1 )
Ejemplo n.º 16
0
class TestBasicManagement(unittest.TestCase):
    """Tests the basic conference management functions
    """

    def setUp( self ):
        self._creator=Avatar()
        self._creator.setId("creator")
        self._conf=Conference(self._creator)
        self._conf.setTimezone('UTC')

        confTZ = self._conf.getTimezone()
        sd = timezone(confTZ).localize(datetime(2000, 1, 1))
        sdUTC = sd.astimezone(timezone('UTC'))
        ed = timezone(confTZ).localize(datetime(2020, 1, 1))
        edUTC = ed.astimezone(timezone('UTC'))
        self._conf.setDates(sdUTC,edUTC)

    def testAddRemoveSessions(self):
        s1,s2=Session(),Session()
        self._conf.addSession(s1)
        self._conf.addSession(s2)
        self.assert_(s1 in self._conf.getSessionList())
        self.assert_(s1==self._conf.getSessionById(s1.getId()))
        self.assert_(s2 in self._conf.getSessionList())
        self.assert_(s2==self._conf.getSessionById(s2.getId()))
        self._conf.removeSession(s1)
        self.assert_(s1 not in self._conf.getSessionList())
        self.assert_(None==self._conf.getSessionById(s1.getId()))
        self.assert_(s2 in self._conf.getSessionList())
        self.assert_(s2==self._conf.getSessionById(s2.getId()))
        c1,c2,c3=Contribution(),Contribution(),Contribution()
        self._conf.addSession(s1)
        s1.addContribution(c1)
        s1.addContribution(c2)
        s2.addContribution(c3)
        self.assert_(s1 in self._conf.getSessionList())
        self.assert_(s1==self._conf.getSessionById(s1.getId()))
        self.assert_(s2 in self._conf.getSessionList())
        self.assert_(s2==self._conf.getSessionById(s2.getId()))
        self.assert_(c1 in self._conf.getContributionList())
        self.assert_(c2 in self._conf.getContributionList())
        self.assert_(c3 in self._conf.getContributionList())
        self.assert_(c1 in s1.getContributionList())
        self.assert_(c2 in s1.getContributionList())
        self.assert_(c3 in s2.getContributionList())
        self._conf.removeSession(s1)
        self.assert_(s1 not in self._conf.getSessionList())
        self.assert_(s2 in self._conf.getSessionList())
        self.assert_(c1 in self._conf.getContributionList())
        self.assert_(c2 in self._conf.getContributionList())
        self.assert_(c3 in self._conf.getContributionList())
        self.assert_(c1 not in s1.getContributionList())
        self.assert_(c1.getSession()==None)
        self.assert_(c2.getSession()==None)
        self.assert_(c2 not in s1.getContributionList())
        self.assert_(c3 in s2.getContributionList())
Ejemplo n.º 17
0
class TestBasicManagement(unittest.TestCase):
    """Tests the basic conference management functions
    """
    def setUp(self):
        self._creator = Avatar()
        self._creator.setId("creator")
        self._conf = Conference(self._creator)
        self._conf.setTimezone('UTC')

        confTZ = self._conf.getTimezone()
        sd = timezone(confTZ).localize(datetime(2000, 1, 1))
        sdUTC = sd.astimezone(timezone('UTC'))
        ed = timezone(confTZ).localize(datetime(2020, 1, 1))
        edUTC = ed.astimezone(timezone('UTC'))
        self._conf.setDates(sdUTC, edUTC)

    def testAddRemoveSessions(self):
        s1, s2 = Session(), Session()
        self._conf.addSession(s1)
        self._conf.addSession(s2)
        self.assert_(s1 in self._conf.getSessionList())
        self.assert_(s1 == self._conf.getSessionById(s1.getId()))
        self.assert_(s2 in self._conf.getSessionList())
        self.assert_(s2 == self._conf.getSessionById(s2.getId()))
        self._conf.removeSession(s1)
        self.assert_(s1 not in self._conf.getSessionList())
        self.assert_(None == self._conf.getSessionById(s1.getId()))
        self.assert_(s2 in self._conf.getSessionList())
        self.assert_(s2 == self._conf.getSessionById(s2.getId()))
        c1, c2, c3 = Contribution(), Contribution(), Contribution()
        self._conf.addSession(s1)
        s1.addContribution(c1)
        s1.addContribution(c2)
        s2.addContribution(c3)
        self.assert_(s1 in self._conf.getSessionList())
        self.assert_(s1 == self._conf.getSessionById(s1.getId()))
        self.assert_(s2 in self._conf.getSessionList())
        self.assert_(s2 == self._conf.getSessionById(s2.getId()))
        self.assert_(c1 in self._conf.getContributionList())
        self.assert_(c2 in self._conf.getContributionList())
        self.assert_(c3 in self._conf.getContributionList())
        self.assert_(c1 in s1.getContributionList())
        self.assert_(c2 in s1.getContributionList())
        self.assert_(c3 in s2.getContributionList())
        self._conf.removeSession(s1)
        self.assert_(s1 not in self._conf.getSessionList())
        self.assert_(s2 in self._conf.getSessionList())
        self.assert_(c1 in self._conf.getContributionList())
        self.assert_(c2 in self._conf.getContributionList())
        self.assert_(c3 in self._conf.getContributionList())
        self.assert_(c1 not in s1.getContributionList())
        self.assert_(c1.getSession() == None)
        self.assert_(c2.getSession() == None)
        self.assert_(c2 not in s1.getContributionList())
        self.assert_(c3 in s2.getContributionList())
Ejemplo n.º 18
0
 def testSimpleIndexing( self ):
     #adding a simple object to the index
     from MaKaC.user import Avatar
     av = Avatar()
     av.setId( "1" ) #the index needs the avatar to be uniquely identified
     from MaKaC.conference import Track
     t = Track()
     t.setId( "1" )
     self._idx.indexCoordinator( av , t )
     self.assert_( len(self._idx.getTracks( av )) == 1 )
     self.assert_( t in self._idx.getTracks( av ) )
Ejemplo n.º 19
0
class TestContributionSubmitterIndex(unittest.TestCase):
    """
    """

    def setUp( self ):
        self._creator = Avatar()
        self._creator.setId("creator")
        self._categ = Category()
        self._conf=Conference(self._creator)
        self._conf.setId('a')
        self._conf.setTimezone('UTC')
        self._categ._addConference(self._conf)

    def testBasic(self):
        c1,c2=Contribution(),Contribution()
        av1,av2=Avatar(),Avatar()
        av1.setId("1")
        av2.setId("2")
        self.assert_(len(self._conf.getContribsForSubmitter(av1))==0)
        self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
        self._conf.addContribution(c1)
        self.assert_(len(self._conf.getContribsForSubmitter(av1))==0)
        self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
        c1.grantSubmission(av1)
        self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
        self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
        self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
        c2.grantSubmission(av2)
        self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
        self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
        self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
        self._conf.addContribution(c2)
        self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
        self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
        self.assert_(len(self._conf.getContribsForSubmitter(av2))==1)
        self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
        c1.grantSubmission(av2)
        self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
        self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
        self.assert_(len(self._conf.getContribsForSubmitter(av2))==2)
        self.assert_(c1 in self._conf.getContribsForSubmitter(av2))
        self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
        c1.revokeSubmission(av2)
        self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
        self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
        self.assert_(len(self._conf.getContribsForSubmitter(av2))==1)
        self.assert_(c1 not in self._conf.getContribsForSubmitter(av2))
        self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
        self._conf.removeContribution(c2)
        self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
        self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
        self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
        self.assert_(c1 not in self._conf.getContribsForSubmitter(av2))
        self.assert_(c2 not in self._conf.getContribsForSubmitter(av2))
Ejemplo n.º 20
0
class TestSubmissionPrivileges(unittest.TestCase):
    """Tests different scenarios concerning the material submission privileges
    """

    def setUp( self ):
        self._creator=Avatar()
        self._creator.setId("creator")
        self._conf=Conference(self._creator)
        sd=datetime(2004, 01, 01, 10, 00, tzinfo=timezone("UTC"))
        ed=datetime(2004, 01, 05, 10, 00, tzinfo=timezone("UTC"))
        self._conf.setDates(sd,ed)

    def testBasic(self):
        c1=Contribution()
        self._conf.addContribution(c1)
        av1,av2=Avatar(),Avatar()
        av1.setId("1")
        av2.setId("2")
        self.assert_(not c1.canUserSubmit(av1))
        self.assert_(not c1.canUserSubmit(av2))
        self.assert_(len(c1.getSubmitterList())==0)
        c1.grantSubmission(av1)
        self.assert_(c1.canUserSubmit(av1))
        self.assert_(not c1.canUserSubmit(av2))
        self.assert_(len(c1.getSubmitterList())==1)
        self.assert_(av1 in c1.getSubmitterList())
        self.assert_(av2 not in c1.getSubmitterList())
        c1.revokeSubmission(av2)
        self.assert_(c1.canUserSubmit(av1))
        self.assert_(not c1.canUserSubmit(av2))
        self.assert_(len(c1.getSubmitterList())==1)
        self.assert_(av1 in c1.getSubmitterList())
        self.assert_(av2 not in c1.getSubmitterList())
        c1.revokeSubmission(av1)
        self.assert_(not c1.canUserSubmit(av1))
        self.assert_(not c1.canUserSubmit(av2))
        self.assert_(len(c1.getSubmitterList())==0)

    def testAccContrib(self):
        #tests that when a contribution comes from an accepted abstract the 
        #   abstract submitters are also granted with submission privileges 
        #   for the contribution
        av1=Avatar()
        av1.setId("1")
        av2=Avatar()
        av2.setId("2")
        abs=self._conf.getAbstractMgr().newAbstract(av1)
        abs.accept(self._creator,None,None)
        c=abs.getContribution()
        self.assert_(c.canUserSubmit(av1))
        self.assert_(not c.canUserSubmit(av2))
        c.grantSubmission(av2)
        self.assert_(c.canUserSubmit(av1))
        self.assert_(c.canUserSubmit(av2))
Ejemplo n.º 21
0
 def testSimpleUnidexing( self ):
     #check that unindexing works properly
     from MaKaC.user import Avatar
     av = Avatar()
     av.setId( "1" ) #the index needs the avatar to be uniquely identified
     from MaKaC.conference import Track
     t = Track()
     t.setId( "1" )
     self._idx.indexCoordinator( av , t )
     self._idx.unindexCoordinator( av, t )
     self.assert_( len(self._idx.getTracks( av )) == 0 )
Ejemplo n.º 22
0
 def setUp( self ):
     a = Avatar()
     a.setId("creator")
     self._conf = Conference( a )
     self._conf.setId('a')
     category=Category()
     category.setId('1')
     self._conf.addOwner(category)
     catDateIdx = indexes.IndexesHolder().getIndex('categoryDate')
     catDateIdx.indexConf(self._conf)
     self._conf.setTimezone('UTC')
Ejemplo n.º 23
0
    def setUp(self):

        a = Avatar()
        a.setId("creator")
        self._conf = ConferenceFacade(a)
        self._conf.setId('a')
        self._conf.setTimezone('UTC')

        self._conf.setDates(
            datetime(2009, 9, 21, 16, 0, 0, tzinfo=timezone("UTC")),
            datetime(2009, 9, 21, 19, 0, 0, tzinfo=timezone("UTC")))
Ejemplo n.º 24
0
 def setUp(self):
     a = Avatar()
     a.setId("creator")
     self._conf = Conference(a)
     self._conf.setId('a')
     category = Category()
     category.setId('1')
     self._conf.addOwner(category)
     catDateIdx = indexes.IndexesHolder().getIndex('categoryDate')
     catDateIdx.indexConf(self._conf)
     self._conf.setTimezone('UTC')
Ejemplo n.º 25
0
    def setUp(self):
        self._creator = Avatar()
        self._creator.setId("creator")
        self._conf = Conference(self._creator)
        self._conf.setTimezone('UTC')

        confTZ = self._conf.getTimezone()
        sd = timezone(confTZ).localize(datetime(2000, 1, 1))
        sdUTC = sd.astimezone(timezone('UTC'))
        ed = timezone(confTZ).localize(datetime(2020, 1, 1))
        edUTC = ed.astimezone(timezone('UTC'))
        self._conf.setDates(sdUTC, edUTC)
Ejemplo n.º 26
0
    def retrieveAvatar(self, rh):
        """
        Login using Shibbolet.
        """

        from MaKaC.user import AvatarHolder, Avatar
        config = Config.getInstance().getAuthenticatorConfigById(self.id).get("SSOMapping", {})

        if config.get('email', 'ADFS_EMAIL') in request.environ:
            email = request.environ[config.get("email", "ADFS_EMAIL")]
            login = request.environ[config.get("personId", "ADFS_LOGIN")]
            personId = request.environ[config.get("personId", "ADFS_PERSONID")]
            phone = request.environ.get(config.get("phone", "ADFS_PHONENUMBER"), "")
            fax = request.environ.get(config.get("fax", "ADFS_FAXNUMBER"), "")
            lastname = request.environ.get(config.get("lastname", "ADFS_LASTNAME"), "")
            firstname = request.environ.get(config.get("firstname", "ADFS_FIRSTNAME"), "")
            institute = request.environ.get(config.get("institute", "ADFS_HOMEINSTITUTE"), "")
            if personId == '-1':
                personId = None
            ah = AvatarHolder()
            av = ah.match({"email": email}, exact=1, onlyActivated=False, searchInAuthenticators=False)
            if av:
                av = av[0]
                # don't allow disabled accounts
                if av.isDisabled():
                    return None
                elif not av.isActivated():
                    av.activateAccount()

                av.clearAuthenticatorPersonalData()
                av.setAuthenticatorPersonalData('phone', phone)
                av.setAuthenticatorPersonalData('fax', fax)
                av.setAuthenticatorPersonalData('surName', lastname)
                av.setAuthenticatorPersonalData('firstName', firstname)
                av.setAuthenticatorPersonalData('affiliation', institute)
                if personId != None and personId != av.getPersonId():
                    av.setPersonId(personId)
            else:
                avDict = {"email": email,
                          "name": firstname,
                          "surName": lastname,
                          "organisation": institute,
                          "telephone": phone,
                          "login": login}

                av = Avatar(avDict)
                ah.add(av)
                av.setPersonId(personId)
                av.activateAccount()

            self._postLogin(login, av, True)
            return av
        return None
Ejemplo n.º 27
0
class TestContributionSubmitterIndex(unittest.TestCase):
    """
    """
    def setUp(self):
        self._creator = Avatar()
        self._creator.setId("creator")
        self._categ = Category()
        self._conf = Conference(self._creator)
        self._conf.setId('a')
        self._conf.setTimezone('UTC')
        self._categ._addConference(self._conf)

    def testBasic(self):
        c1, c2 = Contribution(), Contribution()
        av1, av2 = Avatar(), Avatar()
        av1.setId("1")
        av2.setId("2")
        self.assert_(len(self._conf.getContribsForSubmitter(av1)) == 0)
        self.assert_(len(self._conf.getContribsForSubmitter(av2)) == 0)
        self._conf.addContribution(c1)
        self.assert_(len(self._conf.getContribsForSubmitter(av1)) == 0)
        self.assert_(len(self._conf.getContribsForSubmitter(av2)) == 0)
        c1.grantSubmission(av1)
        self.assert_(len(self._conf.getContribsForSubmitter(av1)) == 1)
        self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
        self.assert_(len(self._conf.getContribsForSubmitter(av2)) == 0)
        c2.grantSubmission(av2)
        self.assert_(len(self._conf.getContribsForSubmitter(av1)) == 1)
        self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
        self.assert_(len(self._conf.getContribsForSubmitter(av2)) == 0)
        self._conf.addContribution(c2)
        self.assert_(len(self._conf.getContribsForSubmitter(av1)) == 1)
        self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
        self.assert_(len(self._conf.getContribsForSubmitter(av2)) == 1)
        self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
        c1.grantSubmission(av2)
        self.assert_(len(self._conf.getContribsForSubmitter(av1)) == 1)
        self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
        self.assert_(len(self._conf.getContribsForSubmitter(av2)) == 2)
        self.assert_(c1 in self._conf.getContribsForSubmitter(av2))
        self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
        c1.revokeSubmission(av2)
        self.assert_(len(self._conf.getContribsForSubmitter(av1)) == 1)
        self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
        self.assert_(len(self._conf.getContribsForSubmitter(av2)) == 1)
        self.assert_(c1 not in self._conf.getContribsForSubmitter(av2))
        self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
        self._conf.removeContribution(c2)
        self.assert_(len(self._conf.getContribsForSubmitter(av1)) == 1)
        self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
        self.assert_(len(self._conf.getContribsForSubmitter(av2)) == 0)
        self.assert_(c1 not in self._conf.getContribsForSubmitter(av2))
        self.assert_(c2 not in self._conf.getContribsForSubmitter(av2))
Ejemplo n.º 28
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()
Ejemplo n.º 29
0
 def testIndexingSeveralTracks( self ):
     #adding 1 coordinator for 2 tracks
     from MaKaC.user import Avatar
     av1 = Avatar()
     av1.setId( "1" ) #the index needs the avatar to be uniquely identified
     from MaKaC.conference import Track
     t1 = Track()
     t1.setId( "1" )
     t2 = Track()
     t2.setId( "2" )
     self._idx.indexCoordinator( av1 , t1 )
     self._idx.indexCoordinator( av1 , t2 )
     self.assert_( t1 in self._idx.getTracks( av1 ) )
     self.assert_( t2 in self._idx.getTracks( av1 ) )
Ejemplo n.º 30
0
 def testCoordination(self):
     session1,session2,session3=Session(),Session(),Session()
     self._conf.addSession(session1)
     self._conf.addSession(session2)
     c1,c2=Avatar(),Avatar()
     c1.setId("1")
     c2.setId("2")
     session1.addCoordinator(c1)
     self.assert_(c1 in session1.getCoordinatorList())
     self.assert_(len(session1.getCoordinatorList())==1)
     self.assert_(session1.isCoordinator(c1))
     self.assert_(not session1.isCoordinator(c2))
     self.assert_(not session1.isCoordinator(None))
     self.assert_(session1 in self._conf.getCoordinatedSessions(c1))
     self.assert_(len(self._conf.getCoordinatedSessions(c1))==1)
     self.assert_(len(self._conf.getCoordinatedSessions(c2))==0)
     self._conf.addSessionCoordinator(session1,c1)
     self.assert_(c1 in session1.getCoordinatorList())
     self.assert_(len(session1.getCoordinatorList())==1)
     self.assert_(session1.isCoordinator(c1))
     self.assert_(not session1.isCoordinator(c2))
     self.assert_(not session1.isCoordinator(None))
     self.assert_(session1 in self._conf.getCoordinatedSessions(c1))
     self.assert_(len(self._conf.getCoordinatedSessions(c1))==1)
     self.assert_(len(self._conf.getCoordinatedSessions(c2))==0)
     self._conf.addSessionCoordinator(session2,c2)
     self.assert_(c2 in session2.getCoordinatorList())
     self.assert_(not session1.isCoordinator(c2))
     self.assert_(session2 in self._conf.getCoordinatedSessions(c2))
     self.assert_(len(self._conf.getCoordinatedSessions(c1))==1)
     self.assert_(len(self._conf.getCoordinatedSessions(c2))==1)
     self._conf.addSession(session3)
     session3.addCoordinator(c2)
     self.assert_(c2 in session3.getCoordinatorList())
     self.assert_(not session1.isCoordinator(c2))
     self.assert_(session3 in self._conf.getCoordinatedSessions(c2))
     self.assert_(session2 in self._conf.getCoordinatedSessions(c2))
     self.assert_(len(self._conf.getCoordinatedSessions(c1))==1)
     self.assert_(len(self._conf.getCoordinatedSessions(c2))==2)
     self._conf.removeSession(session1)
     self.assert_(session1 not in self._conf.getCoordinatedSessions(c1))
     self.assert_(len(self._conf.getCoordinatedSessions(c1))==0)
     self.assert_(len(self._conf.getCoordinatedSessions(c2))==2)
     session2.removeCoordinator(c2)
     self.assert_(c2 not in session2.getCoordinatorList())
     self.assert_(c2 in session3.getCoordinatorList())
     self.assert_(session3 in self._conf.getCoordinatedSessions(c2))
     self.assert_(session2 not in self._conf.getCoordinatedSessions(c2))
     self.assert_(len(self._conf.getCoordinatedSessions(c1))==0)
     self.assert_(len(self._conf.getCoordinatedSessions(c2))==1)
Ejemplo n.º 31
0
    def testArchiveConferenceFile(self):
        """Makes sure a file wich is attached to a conference gets stored in
            the right path: basePath/year/C0/0/test.txt
        """

        with self._context('database'):
            #first we create a dummy user which will be the conf creator
            from MaKaC.user import Avatar
            av = Avatar()
            #Now we create a dummy conference and set its id to 0
            from MaKaC.conference import Conference
            c = Conference(av)
            c.setId("0")
            #Now we create the material (id=0) and attach it to the conference
            from MaKaC.conference import Material
            m = Material()
            c.addMaterial(m)
            #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()
            from MaKaC.conference import LocalFile
            f = LocalFile()
            f.setFilePath(filePath)
            f.setFileName("test.txt")
            m.addResource(f)
Ejemplo n.º 32
0
 def setUp( self ):
     self._creator = Avatar()
     self._creator.setId("creator")
     self._categ = Category()
     self._conf=Conference(self._creator)
     self._conf.setId('a')
     self._conf.setTimezone('UTC')
     self._categ._addConference(self._conf)
Ejemplo n.º 33
0
 def setUp( self ):
     a=Avatar()
     a.setId("creator")
     self._conf=Conference(a)
     self._conf.setTimezone('UTC')
     self._conf.setStartDate(datetime(2004,1,1,10,0,tzinfo=timezone('UTC')))
     self._conf.setEndDate(datetime(2004,1,1,13,0,tzinfo=timezone('UTC')))
     self._session=Session()
     self._session.setStartDate(datetime(2004,1,1,11,0,tzinfo=timezone('UTC')))
     self._session.setEndDate(datetime(2004,1,1,13,0,tzinfo=timezone('UTC')))
     self._conf.addSession(self._session)
     self._slot1=SessionSlot(self._session)
     self._slot1.setStartDate(datetime(2004,1,1,11,0,tzinfo=timezone('UTC')))
     self._slot1.setDuration(hours=1)
     self._session.addSlot(self._slot1)
     self._session.setScheduleType("poster")
     self._session.setContribDuration(1,0)
Ejemplo n.º 34
0
    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()
Ejemplo n.º 35
0
    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()
Ejemplo n.º 36
0
 def setUp(self):
     from MaKaC.user import Avatar
     av = Avatar()
     from MaKaC.conference import Conference
     self._conf = Conference(av)
     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"
Ejemplo n.º 37
0
 def testRemoveTC( self ):
     from MaKaC.user import Avatar
     tc1 = Avatar()
     tc1.setId( "tc1" )
     tc2 = Avatar()
     tc2.setId( "tc2" )
     self._track1.addCoordinator( tc1 )
     self._track1.addCoordinator( tc2 )
     self._track1.removeCoordinator( tc1 )
     self.assert_( tc1 not in self._track1.getCoordinatorList() )
     self.assert_( tc2 in self._track1.getCoordinatorList() )
     self.assert_( self._track1 not in self._conf.getCoordinatedTracks( tc1 ) )
     self.assert_( self._track1 in self._conf.getCoordinatedTracks( tc2 ) )
Ejemplo n.º 38
0
 def testBasic(self):
     c1, c2 = Contribution(), Contribution()
     av1, av2 = Avatar(), Avatar()
     av1.setId("1")
     av2.setId("2")
     self.assert_(len(self._conf.getContribsForSubmitter(av1)) == 0)
     self.assert_(len(self._conf.getContribsForSubmitter(av2)) == 0)
     self._conf.addContribution(c1)
     self.assert_(len(self._conf.getContribsForSubmitter(av1)) == 0)
     self.assert_(len(self._conf.getContribsForSubmitter(av2)) == 0)
     c1.grantSubmission(av1)
     self.assert_(len(self._conf.getContribsForSubmitter(av1)) == 1)
     self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
     self.assert_(len(self._conf.getContribsForSubmitter(av2)) == 0)
     c2.grantSubmission(av2)
     self.assert_(len(self._conf.getContribsForSubmitter(av1)) == 1)
     self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
     self.assert_(len(self._conf.getContribsForSubmitter(av2)) == 0)
     self._conf.addContribution(c2)
     self.assert_(len(self._conf.getContribsForSubmitter(av1)) == 1)
     self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
     self.assert_(len(self._conf.getContribsForSubmitter(av2)) == 1)
     self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
     c1.grantSubmission(av2)
     self.assert_(len(self._conf.getContribsForSubmitter(av1)) == 1)
     self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
     self.assert_(len(self._conf.getContribsForSubmitter(av2)) == 2)
     self.assert_(c1 in self._conf.getContribsForSubmitter(av2))
     self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
     c1.revokeSubmission(av2)
     self.assert_(len(self._conf.getContribsForSubmitter(av1)) == 1)
     self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
     self.assert_(len(self._conf.getContribsForSubmitter(av2)) == 1)
     self.assert_(c1 not in self._conf.getContribsForSubmitter(av2))
     self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
     self._conf.removeContribution(c2)
     self.assert_(len(self._conf.getContribsForSubmitter(av1)) == 1)
     self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
     self.assert_(len(self._conf.getContribsForSubmitter(av2)) == 0)
     self.assert_(c1 not in self._conf.getContribsForSubmitter(av2))
     self.assert_(c2 not in self._conf.getContribsForSubmitter(av2))
Ejemplo n.º 39
0
 def testBasic(self):
     c1,c2=Contribution(),Contribution()
     av1,av2=Avatar(),Avatar()
     av1.setId("1")
     av2.setId("2")
     self.assert_(len(self._conf.getContribsForSubmitter(av1))==0)
     self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
     self._conf.addContribution(c1)
     self.assert_(len(self._conf.getContribsForSubmitter(av1))==0)
     self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
     c1.grantSubmission(av1)
     self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
     self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
     self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
     c2.grantSubmission(av2)
     self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
     self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
     self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
     self._conf.addContribution(c2)
     self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
     self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
     self.assert_(len(self._conf.getContribsForSubmitter(av2))==1)
     self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
     c1.grantSubmission(av2)
     self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
     self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
     self.assert_(len(self._conf.getContribsForSubmitter(av2))==2)
     self.assert_(c1 in self._conf.getContribsForSubmitter(av2))
     self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
     c1.revokeSubmission(av2)
     self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
     self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
     self.assert_(len(self._conf.getContribsForSubmitter(av2))==1)
     self.assert_(c1 not in self._conf.getContribsForSubmitter(av2))
     self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
     self._conf.removeContribution(c2)
     self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
     self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
     self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
     self.assert_(c1 not in self._conf.getContribsForSubmitter(av2))
     self.assert_(c2 not in self._conf.getContribsForSubmitter(av2))
Ejemplo n.º 40
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()
Ejemplo n.º 41
0
    def setUp( self ):
        self._creator=Avatar()
        self._creator.setId("creator")
        self._conf=Conference(self._creator)
        self._conf.setTimezone('UTC')

        confTZ = self._conf.getTimezone()
        sd = timezone(confTZ).localize(datetime(2000, 1, 1))
        sdUTC = sd.astimezone(timezone('UTC'))
        ed = timezone(confTZ).localize(datetime(2020, 1, 1))
        edUTC = ed.astimezone(timezone('UTC'))
        self._conf.setDates(sdUTC,edUTC)
Ejemplo n.º 42
0
 def testUnindexingSeveralCoordinators( self ):
     from MaKaC.user import Avatar
     av1 = Avatar()
     av1.setId( "1" ) #the index needs the avatar to be uniquely identified
     av2 = Avatar()
     av2.setId( "2" ) #the index needs the avatar to be uniquely identified
     from MaKaC.conference import Track
     t1 = Track()
     t1.setId( "1" )
     self._idx.indexCoordinator( av1 , t1 )
     self._idx.indexCoordinator( av2 , t1 )
     self._idx.unindexCoordinator( av1, t1 )
     self.assert_( t1 not in self._idx.getTracks( av1 ) )
     self.assert_( t1 in self._idx.getTracks( av2 ) )
Ejemplo n.º 43
0
 def test(self):
     idx=SCIndex()
     c1=Avatar()
     c1.setId("1")
     s1=Session()
     idx.index(c1,s1)
     self.assert_(s1 in idx.getSessions(c1))
     self.assert_(len(idx.getSessions(c1))==1)
     c2=Avatar()
     c2.setId("2")
     idx.index(c2,s1)
     self.assert_(s1 in idx.getSessions(c1))
     self.assert_(len(idx.getSessions(c1))==1)
     self.assert_(s1 in idx.getSessions(c2))
     self.assert_(len(idx.getSessions(c2))==1)
     s2=Session()
     idx.index(c2,s2)
     self.assert_(s1 in idx.getSessions(c1))
     self.assert_(len(idx.getSessions(c1))==1)
     self.assert_(s1 in idx.getSessions(c2))
     self.assert_(s2 in idx.getSessions(c2))
     self.assert_(len(idx.getSessions(c2))==2)
     idx.unindex(c2,s2)
     self.assert_(s1 in idx.getSessions(c1))
     self.assert_(len(idx.getSessions(c1))==1)
     self.assert_(s1 in idx.getSessions(c2))
     self.assert_(s2 not in idx.getSessions(c2))
     self.assert_(len(idx.getSessions(c2))==1)
Ejemplo n.º 44
0
 def testIndexingSeveralCoordinators( self ):
     #adding 2 coordinators for the same track
     from MaKaC.user import Avatar
     av1 = Avatar()
     av1.setId( "1" ) #the index needs the avatar to be uniquely identified
     av2 = Avatar()
     av2.setId( "2" ) #the index needs the avatar to be uniquely identified
     from MaKaC.conference import Track
     t = Track()
     t.setId( "1" )
     self._idx.indexCoordinator( av1 , t )
     self._idx.indexCoordinator( av2 , t )
     self.assert_( t in self._idx.getTracks( av1 ) )
     self.assert_( t in self._idx.getTracks( av2 ) )
Ejemplo n.º 45
0
    def setUp( self ):

        # create a context, for storing autoOps
        ContextManager.create()
        ContextManager.set('autoOps', [])

        a = Avatar()
        a.setId("creator")
        self._conf = ConferenceFacade( a )
        self._conf.setId('a')
        self._conf.setTimezone('UTC')

        self._conf.setDates(datetime(2009, 9, 21, 16, 0 ,0, tzinfo=timezone("UTC")),
                            datetime(2009, 9, 21, 19, 0 ,0, tzinfo=timezone("UTC")))

        self._slot1_sDate = datetime(2009, 9, 21, 17, 0, 0, tzinfo=timezone("UTC"))
        self._slot1_eDate = datetime(2009, 9, 21, 18, 0, 0, tzinfo=timezone("UTC"))
        self._slot2_sDate = datetime(2009, 9, 21, 18, 0, 0, tzinfo=timezone("UTC"))
        self._slot2_eDate = datetime(2009, 9, 21, 19, 0, 0, tzinfo=timezone("UTC"))

        self._slot2_laterDate = datetime(2009, 9, 21, 20, 0, 0, tzinfo=timezone("UTC"))

        self._session1 = Session()
        self._session1.setValues({
            'sDate': self._slot1_sDate,
            'eDate': self._slot1_eDate
            })

        self._conf.addSession(self._session1)

        self._slot1 = self._session1.getSlotById(0)
        self._slot2 = SessionSlot(self._session1)

        self._slot2.setValues({
            'sDate': self._slot2_sDate,
            'eDate': self._slot2_eDate
            });

        self._session1.addSlot(self._slot2)
Ejemplo n.º 46
0
 def testAccContrib(self):
     #tests that when a contribution comes from an accepted abstract the 
     #   abstract submitters are also granted with submission privileges 
     #   for the contribution
     av1=Avatar()
     av1.setId("1")
     av2=Avatar()
     av2.setId("2")
     abs=self._conf.getAbstractMgr().newAbstract(av1)
     abs.accept(self._creator,None,None)
     c=abs.getContribution()
     self.assert_(c.canUserSubmit(av1))
     self.assert_(not c.canUserSubmit(av2))
     c.grantSubmission(av2)
     self.assert_(c.canUserSubmit(av1))
     self.assert_(c.canUserSubmit(av2))
Ejemplo n.º 47
0
    def retrieveAvatar(self, rh):
        """
        Login using Shibbolet.
        """

        from MaKaC.user import AvatarHolder, Avatar
        config = Config.getInstance().getAuthenticatorConfigById(self.id).get(
            "SSOMapping", {})

        if config.get('email', 'ADFS_EMAIL') in request.environ:
            email = request.environ[config.get("email", "ADFS_EMAIL")]
            login = request.environ.get(config.get("login", "ADFS_LOGIN"))
            personId = request.environ.get(
                config.get("personId", "ADFS_PERSONID"))
            phone = request.environ.get(
                config.get("phone", "ADFS_PHONENUMBER"), "")
            fax = request.environ.get(config.get("fax", "ADFS_FAXNUMBER"), "")
            lastname = request.environ.get(
                config.get("lastname", "ADFS_LASTNAME"), "")
            firstname = request.environ.get(
                config.get("firstname", "ADFS_FIRSTNAME"), "")
            institute = request.environ.get(
                config.get("institute", "ADFS_HOMEINSTITUTE"), "")
            if personId == '-1':
                personId = None
            ah = AvatarHolder()
            av = ah.match({"email": email},
                          exact=1,
                          onlyActivated=False,
                          searchInAuthenticators=False)
            if av:
                av = av[0]
                # don't allow disabled accounts
                if av.isDisabled():
                    return None
                elif not av.isActivated():
                    av.activateAccount()

                av.clearAuthenticatorPersonalData()
                av.setAuthenticatorPersonalData('phone', phone)
                av.setAuthenticatorPersonalData('fax', fax)
                av.setAuthenticatorPersonalData('surName', lastname)
                av.setAuthenticatorPersonalData('firstName', firstname)
                av.setAuthenticatorPersonalData('affiliation', institute)
                if personId != None and personId != av.getPersonId():
                    av.setPersonId(personId)
            else:
                avDict = {
                    "email": email,
                    "name": firstname,
                    "surName": lastname,
                    "organisation": institute,
                    "telephone": phone,
                    "login": login
                }

                av = Avatar(avDict)
                ah.add(av)
                av.setPersonId(personId)
                av.activateAccount()

            self._postLogin(login, av, True)
            return av
        return None
Ejemplo n.º 48
0
    def setUp(self):

        # create a context, for storing autoOps
        ContextManager.create()
        ContextManager.set('autoOps', [])

        a = Avatar()
        a.setId("creator")
        self._conf = ConferenceFacade(a)
        self._conf.setId('a')
        self._conf.setTimezone('UTC')

        self._conf.setDates(
            datetime(2009, 9, 21, 16, 0, 0, tzinfo=timezone("UTC")),
            datetime(2009, 9, 21, 19, 0, 0, tzinfo=timezone("UTC")))

        self._slot1_sDate = datetime(2009,
                                     9,
                                     21,
                                     17,
                                     0,
                                     0,
                                     tzinfo=timezone("UTC"))
        self._slot1_eDate = datetime(2009,
                                     9,
                                     21,
                                     18,
                                     0,
                                     0,
                                     tzinfo=timezone("UTC"))
        self._slot2_sDate = datetime(2009,
                                     9,
                                     21,
                                     18,
                                     0,
                                     0,
                                     tzinfo=timezone("UTC"))
        self._slot2_eDate = datetime(2009,
                                     9,
                                     21,
                                     19,
                                     0,
                                     0,
                                     tzinfo=timezone("UTC"))

        self._slot2_laterDate = datetime(2009,
                                         9,
                                         21,
                                         20,
                                         0,
                                         0,
                                         tzinfo=timezone("UTC"))

        self._session1 = Session()
        self._session1.setValues({
            'sDate': self._slot1_sDate,
            'eDate': self._slot1_eDate
        })

        self._conf.addSession(self._session1)

        self._slot1 = self._session1.getSlotById(0)
        self._slot2 = SessionSlot(self._session1)

        self._slot2.setValues({
            'sDate': self._slot2_sDate,
            'eDate': self._slot2_eDate
        })

        self._session1.addSlot(self._slot2)