def _check_internal_request(self): # WARNING: The security is done here by using the request layer # IInternalOpengeverRequestLayer provided by the ogds PAS plugin. # The view has to be public, since the user may not have any # permission on this context. if not IInternalOpengeverRequestLayer.providedBy(self.request): raise Forbidden()
def test_after_successfully_credentials_authentication_the_request_provides_the_internal_request_layer(self): client_ip = '192.168.1.233' create_client('client1', ip_address=client_ip) self.set_params_for_remote_request(client_ip=client_ip) creds = extract_user(self.portal, self.portal.REQUEST) authenticate_credentials(self.portal, creds) self.assertTrue( IInternalOpengeverRequestLayer.providedBy(self.portal.REQUEST))
def test_after_successfully_credentials_authentication_the_request_provides_the_internal_request_layer( self): client_ip = '192.168.1.233' create_client('client1', ip_address=client_ip) self.set_params_for_remote_request(client_ip=client_ip) creds = extract_user(self.portal, self.portal.REQUEST) authenticate_credentials(self.portal, creds) self.assertTrue( IInternalOpengeverRequestLayer.providedBy(self.portal.REQUEST))
def render(self): if not IInternalOpengeverRequestLayer.providedBy(self.request): raise Forbidden() transition = self.request.get('transition') text = self.request.get('text') responsible = self.request.get('responsible') responsible_client = self.request.get('responsible_client') if self.is_already_done(transition, text): # Set correct content type for text response self.request.response.setHeader("Content-type", "text/plain") return 'OK' wftool = getToolByName(self.context, 'portal_workflow') # change workflow state before = wftool.getInfoFor(self.context, 'review_state') before = wftool.getTitleForStateOnType(before, self.context.Type()) wftool.doActionFor(self.context, transition) after = wftool.getInfoFor(self.context, 'review_state') after = wftool.getTitleForStateOnType(after, self.context.Type()) # create response response = add_simple_response( self.context, transition=transition, text=text) if responsible and responsible is not 'None': # special handling for reassign response.add_change( 'reponsible', _(u"label_responsible", default=u"Responsible"), ITask(self.context).responsible, responsible) ITask(self.context).responsible_client = responsible_client ITask(self.context).responsible = responsible notify(ObjectModifiedEvent(self.context)) response.add_change('review_state', _(u'Issue state'), before, after) # Set correct content type for text response self.request.response.setHeader("Content-type", "text/plain") return 'OK'
def test_after_successfully_credentials_authentication_the_request_provides_the_internal_request_layer(self): ip = '192.168.1.233' create(Builder('admin_unit') .id('client1') .having(title=u'Client1', ip_address=ip)) self.set_params_for_remote_request(client_ip=ip) creds = extract_user(self.portal, self.portal.REQUEST) authenticate_credentials(self.portal, creds) self.assertTrue( IInternalOpengeverRequestLayer.providedBy(self.portal.REQUEST))
def test_after_successfully_credentials_authentication_the_request_provides_the_internal_request_layer( self): ip = '192.168.1.233' create( Builder('admin_unit').id('client1').having(title=u'Client1', ip_address=ip)) self.set_params_for_remote_request(client_ip=ip) creds = extract_user(self.portal, self.portal.REQUEST) authenticate_credentials(self.portal, creds) self.assertTrue( IInternalOpengeverRequestLayer.providedBy(self.portal.REQUEST))
def check_internal_request(self): if not IInternalOpengeverRequestLayer.providedBy(self.request): raise Forbidden()