示例#1
0
 def _checkParams(self, params):
     RHConferenceModifBase._checkParams(self, params)
     self.session = None
     if 'session_id' in request.view_args:
         self.session = self.event_new.get_session(
             request.view_args['session_id'])
         if self.session is None:
             raise NotFound
示例#2
0
 def _checkParams(self, params):
     RHConferenceModifBase._checkParams(self, params)
     try:
         self.definition = get_request_definitions()[
             request.view_args['type']]
     except KeyError:
         raise NotFound
     self.request = Request.find_latest_for_event(self.event_new,
                                                  self.definition.name)
     if self._require_request and not self.request:
         raise NotFound
示例#3
0
 def _checkProtection(self):
     self.protection_overridden = False
     if hasattr(self, 'definition'):
         # check if user can manage *that* request
         can_manage_request = session.user and self.definition and self.definition.can_be_managed(
             session.user)
     else:
         # check if user can manage any request
         can_manage_request = session.user and is_request_manager(
             session.user)
     can_manage_event = self.event_new.can_manage(session.user)
     self.protection_overridden = can_manage_request and not can_manage_event
     if not can_manage_request and not can_manage_event:
         RHConferenceModifBase._checkProtection(self)
示例#4
0
 def _checkProtection(self):
     if not self.session or self.session_management_level == SessionManagementLevel.none:
         RHConferenceModifBase._checkProtection(self)
     else:
         if self.session_management_level == SessionManagementLevel.manage:
             func = lambda u: self.session.can_manage(u)
         elif self.session_management_level == SessionManagementLevel.coordinate_with_blocks:
             func = lambda u: self.session.can_manage_blocks(u)
         elif self.session_management_level == SessionManagementLevel.coordinate_with_contribs:
             func = lambda u: self.session.can_manage_contributions(u)
         elif self.session_management_level == SessionManagementLevel.coordinate:
             func = lambda u: self.session.can_manage(u, role='coordinate')
         else:
             raise Exception("Invalid session management level")
         if not func(session.user):
             raise Forbidden
示例#5
0
 def _checkProtection(self):
     RHConferenceModifBase._checkProtection(self)
     if self.event_new.type_ != EventType.conference:
         raise NotFound('Only conferences have a menu')
示例#6
0
 def _checkParams(self, params):
     self._doNotSanitizeFields.append('from_address')
     self.no_account = request.args.get('no_account') == '1'
     RHConferenceModifBase._checkParams(self, params)
示例#7
0
 def _checkProtection(self):
     RHConferenceModifBase._checkProtection(self)
     RHRoomBookingBase._checkProtection(self)
示例#8
0
 def _checkParams(self, params):
     RHConferenceModifBase._checkParams(self, params)
     self.list_generator = ContributionListGenerator(event=self.event_new)
示例#9
0
 def _checkParams(self, params):
     RHConferenceModifBase._checkParams(self, params)
     CloneTemplateMixin._checkParams(self)