Ejemplo n.º 1
0
 def can_manage(self, user, role=None, allow_admin=True, check_parent=True, explicit_role=False):
     if super(Contribution, self).can_manage(user, role, allow_admin=allow_admin, check_parent=check_parent,
                                             explicit_role=explicit_role):
         return True
     if (check_parent and self.session_id is not None and
             self.session.can_manage(user, 'coordinate', allow_admin=allow_admin, explicit_role=explicit_role) and
             session_coordinator_priv_enabled(self.event_new, 'manage-contributions')):
         return True
     return False
Ejemplo n.º 2
0
 def can_manage(self, user, role=None, allow_admin=True, check_parent=True, explicit_role=False):
     if super(Contribution, self).can_manage(user, role, allow_admin=allow_admin, check_parent=check_parent,
                                             explicit_role=explicit_role):
         return True
     if (check_parent and self.session_id is not None and
             self.session.can_manage(user, 'coordinate', allow_admin=allow_admin, explicit_role=explicit_role) and
             session_coordinator_priv_enabled(self.event_new, 'manage-contributions')):
         return True
     return False
Ejemplo n.º 3
0
 def can_manage_contributions(self, user, allow_admin=True):
     """Check whether a user can manage contributions within the session."""
     from indico.modules.events.sessions.util import session_coordinator_priv_enabled
     if user is None:
         return False
     elif self.session.can_manage(user, allow_admin=allow_admin):
         return True
     elif (self.session.can_manage(user, 'coordinate') and
             session_coordinator_priv_enabled(self.event, 'manage-contributions')):
         return True
     else:
         return False
Ejemplo n.º 4
0
 def can_manage_contributions(self, user, allow_admin=True):
     """Check whether a user can manage contributions within the session."""
     from indico.modules.events.sessions.util import session_coordinator_priv_enabled
     if user is None:
         return False
     elif self.session.can_manage(user, allow_admin=allow_admin):
         return True
     elif (self.session.can_manage(user, 'coordinate') and
             session_coordinator_priv_enabled(self.event, 'manage-contributions')):
         return True
     else:
         return False
Ejemplo n.º 5
0
    def can_manage_blocks(self, user, allow_admin=True):
        """Check whether a user can manage session blocks.

        This only applies to the blocks themselves, not to contributions inside them.
        """
        from indico.modules.events.sessions.util import session_coordinator_priv_enabled
        if user is None:
            return False
        # full session manager can always manage blocks. this also includes event managers and higher.
        elif self.session.can_manage(user, allow_admin=allow_admin):
            return True
        # session coordiator if block management is allowed
        elif (self.session.can_manage(user, 'coordinate') and
                session_coordinator_priv_enabled(self.event, 'manage-blocks')):
            return True
        else:
            return False
Ejemplo n.º 6
0
    def can_manage_blocks(self, user, allow_admin=True):
        """Check whether a user can manage session blocks.

        This only applies to the blocks themselves, not to contributions inside them.
        """
        from indico.modules.events.sessions.util import session_coordinator_priv_enabled
        if user is None:
            return False
        # full session manager can always manage blocks. this also includes event managers and higher.
        elif self.session.can_manage(user, allow_admin=allow_admin):
            return True
        # session coordiator if block management is allowed
        elif (self.session.can_manage(user, 'coordinate') and
                session_coordinator_priv_enabled(self.event, 'manage-blocks')):
            return True
        else:
            return False