Esempio n. 1
0
    def __init__(self, resource, dataset):
        needs = []
        if hasattr(resource, 'organization') or hasattr(resource, 'owner'):
            # This is a community resource.
            if resource.organization:
                needs.append(OrganizationAdminNeed(resource.organization.id))
                needs.append(OrganizationEditorNeed(resource.organization.id))
            elif resource.owner:
                needs.append(UserNeed(resource.owner.id))
        else:
            if dataset.organization:
                needs.append(OrganizationAdminNeed(dataset.organization.id))
                needs.append(OrganizationEditorNeed(dataset.organization.id))
            elif dataset.owner:
                needs.append(UserNeed(dataset.owner.id))

        super(ResourceEditPermission, self).__init__(*needs)
Esempio n. 2
0
    def __init__(self, reuse):
        needs = []

        if reuse.organization:
            needs.append(OrganizationAdminNeed(reuse.organization.id))
            needs.append(OrganizationEditorNeed(reuse.organization.id))
        elif reuse.owner:
            needs.append(UserNeed(reuse.owner.id))

        super(ReuseEditPermission, self).__init__(*needs)
Esempio n. 3
0
    def __init__(self, dataset):
        needs = []

        if dataset.organization:
            needs.append(OrganizationAdminNeed(dataset.organization.id))
            needs.append(OrganizationEditorNeed(dataset.organization.id))
        elif dataset.owner:
            needs.append(UserNeed(dataset.owner.id))

        super(DatasetEditPermission, self).__init__(*needs)
Esempio n. 4
0
    def __init__(self, obj):
        needs = []

        if obj.organization:
            needs.append(OrganizationAdminNeed(obj.organization.id))
            needs.append(OrganizationEditorNeed(obj.organization.id))
        elif obj.owner:
            needs.append(UserNeed(obj.owner.id))

        super(OwnablePermission, self).__init__(*needs)
Esempio n. 5
0
    def __init__(self, issue):
        needs = []
        subject = issue.subject

        if getattr(subject, 'organization'):
            needs.append(OrganizationAdminNeed(subject.organization.id))
            needs.append(OrganizationEditorNeed(subject.organization.id))
        elif subject.owner:
            needs.append(UserNeed(subject.owner.id))

        super(CloseIssuePermission, self).__init__(*needs)
Esempio n. 6
0
    def __init__(self, resource, dataset):
        needs = []
        obj = resource if isinstance(resource, CommunityResource) else dataset

        if obj.organization:
            needs.append(OrganizationAdminNeed(obj.organization.id))
            needs.append(OrganizationEditorNeed(obj.organization.id))
        elif obj.owner:
            needs.append(UserNeed(obj.owner.id))

        super(ResourceEditPermission, self).__init__(*needs)