def test_after_checkout(self):
        working_copy = self.do_checkout()
        self.assertTrue(working_copy)
        self.assertTrue(IIterateAware.providedBy(working_copy))
        self.assertFalse(IBaseline.providedBy(working_copy))
        self.assertTrue(IWorkingCopy.providedBy(working_copy))

        self.assertTrue(IIterateAware.providedBy(self.obj))
        self.assertTrue(IBaseline.providedBy(self.obj))
        self.assertFalse(IWorkingCopy.providedBy(self.obj))
Exemple #2
0
    def test_after_checkout(self):
        working_copy = self.do_checkout()
        self.assertTrue(working_copy)
        self.assertTrue(IIterateAware.providedBy(working_copy))
        self.assertFalse(IBaseline.providedBy(working_copy))
        self.assertTrue(IWorkingCopy.providedBy(working_copy))

        self.assertTrue(IIterateAware.providedBy(self.obj))
        self.assertTrue(IBaseline.providedBy(self.obj))
        self.assertFalse(IWorkingCopy.providedBy(self.obj))
Exemple #3
0
    def checkout_allowed(self):
        """ Overrided to check for the checkout permission, as it is normal
        """
        context = aq_inner(self.context)

        if not IIterateAware.providedBy(context):
            return False

        archiver = IObjectArchiver(context)
        if not archiver.isVersionable():
            return False

        policy = ICheckinCheckoutPolicy(context, None)
        if policy is None:
            return False

        if policy.getWorkingCopy() is not None:
            return False

        # check if its is a checkout
        if policy.getBaseline() is not None:
            return False

        checkPermission = getSecurityManager().checkPermission
        if not checkPermission(CheckoutPermission, context):
            return False

        return True
Exemple #4
0
    def checkin_allowed(self):
        """ Overrided to check for the checkin permission, as it should be normal
        """

        context = aq_inner(self.context)
        checkPermission = getSecurityManager().checkPermission

        if not IIterateAware.providedBy(context):
            return False

        archiver = IObjectArchiver(context)
        if not archiver.isVersionable():
            return False

        if not IWorkingCopy.providedBy(context):
            return False

        policy = ICheckinCheckoutPolicy(context, None)
        if policy is None:
            return False

        try:
            original = policy.getBaseline()
        except:
            return False
        if original is None:
            return False

        checkPermission = getSecurityManager().checkPermission
        if not checkPermission(CheckinPermission, original):
            return False

        return True
Exemple #5
0
    def is_checkout(self):
        """ Is this object a checkout? Used by WISE for workflow guards
        """
        context = aq_inner(self.context)

        if not IIterateAware.providedBy(context):
            return False

        archiver = IObjectArchiver(context)
        if not archiver.isVersionable():
            return False

        if IWorkingCopy.providedBy(context):
            return True

        return False
 def __init__( self, context, request ):
     self.context = context
     self.request = request
     if HAS_STAGINGBEHAVIOR and IIterateAware.providedBy(context):
         if IBaseline.providedBy( self.context ):
             self.baseline = get_baseline(context)
             self.working_copy = get_working_copy(context)
         elif IWorkingCopy.providedBy( self.context ):
             self.working_copy = get_working_copy(context)
             self.baseline = get_baseline(context)
         else:
             raise AttributeError("Invalid Context")
     else:
         if IBaseline.providedBy( self.context ):
             self.baseline = context
             self.working_copy = context.getBackReferences( WorkingCopyRelation.relationship )[0]
         elif IWorkingCopy.providedBy( self.context ):
             self.working_copy = context
             self.baseline = context.getReferences( WorkingCopyRelation.relationship )[0]
         else:
             raise AttributeError("Invalid Context")
 def test_before_checkout(self):
     self.assertTrue(self.obj)
     self.assertTrue(IIterateAware.providedBy(self.obj))
     self.assertFalse(IBaseline.providedBy(self.obj))
     self.assertFalse(IWorkingCopy.providedBy(self.obj))
Exemple #8
0
 def test_before_checkout(self):
     self.assertTrue(self.obj)
     self.assertTrue(IIterateAware.providedBy(self.obj))
     self.assertFalse(IBaseline.providedBy(self.obj))
     self.assertFalse(IWorkingCopy.providedBy(self.obj))