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')
コード例 #2
0
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()