def AuthenticatedPost(self, org, event): # get and check args ids = [int(id) for id in self.request.get('ids', '').split(',')] selected_org = ( Organization.get(self.request.get('org')) if self.request.get('org') else None ) status = self.request.get('status') action = self.request.get('action', None) if action not in self.BULK_ACTIONS: self.abort(404) # get authorised events if org.is_global_admin: event_keys = list(event_db.Event.all(keys_only=True)) elif org.is_local_admin: event_keys = org.incidents # handle bulk action fn = self.BULK_ACTIONS[action] for id in ids: site = Site.get_by_id(id) authorised = ( site.event.key() in event_keys and (selected_org is None or any( incident_key in event_keys for incident_key in [ incident.key() for incident in org.incidents ]) ) ) if authorised: fn(self, site, org=selected_org, status=status) # redirect back to work orders table self.redirect('/admin-view-work-orders')
class Test_organization(Test): def run(self): self.run_name = "Organization" self.organization = Organization(token=self.token, base_url=self.url) self.by_field = None self.by_value = None self.by_list = False self.ret_field = None self.title = "Get" self.res = self.organizations_result self.exe = self.organization.get() self.test_exe() self.title = "Get: organization_id" self.exe = self.organization.get(organization_id=self.organization_id), self.res = self.organization_result self.test_exe() self.exe = self.organization.get() self.title = "Get: by_field(id)" self.by_field = 'id' self.by_value = self.organization_id self.res = self.organization_result self.test_exe() self.title = "Get: by_field(id), by_list" self.by_list = True self.res = [self.organization_result] self.test_exe() self.title = "Get: by_field(id), ret_field" self.ret_field = 'name' self.by_list = False self.res = self.organization_name self.test_exe() self.title = "Get: by_field(id), ret_field, by_list" self.by_list = True self.res = [self.organization_name] self.test_exe() self.by_field = None self.by_value = None self.by_list = False self.ret_field = None self.title = "Get: by_field(name)" self.by_field = 'name' self.by_value = self.organization_name self.res = self.organization_result self.test_exe() self.title = "Get: by_field(name), by_list" self.by_list = True self.res = [self.organization_result] self.test_exe() self.title = "Get: by_field(name), ret_field" self.ret_field = 'id' self.by_list = False self.res = self.organization_id self.test_exe() self.title = "Get: by_field(name), ret_field, by_list" self.by_list = True self.res = [self.organization_id] self.test_exe()