예제 #1
0
 def post(self):
     '''Create a new harvests source'''
     form = api.validate(HarvestSourceForm)
     if form.organization.data:
         EditOrganizationPermission(form.organization.data).test()
     source = actions.create_source(**form.data)
     return source, 201
예제 #2
0
    def get_context(self):
        context = super(OrganizationDetailView, self).get_context()

        params_datasets_page = request.args.get('datasets_page', 1, type=int)
        params_reuses_page = request.args.get('reuses_page', 1, type=int)

        can_edit = EditOrganizationPermission(self.organization)
        can_view = OrganizationPrivatePermission(self.organization)

        if self.organization.deleted and not can_view.can():
            abort(410)

        datasets = Dataset.objects(organization=self.organization).order_by(
            '-temporal_coverage.end', '-metrics.reuses', '-metrics.followers')

        reuses = Reuse.objects(organization=self.organization).order_by(
            '-metrics.reuses', '-metrics.followers')

        followers = (Follow.objects.followers(
            self.organization).order_by('follower.fullname'))

        if not can_view:
            datasets = datasets.visible()
            reuses = reuses.visible()

        context.update({
            'reuses':
            reuses.paginate(params_reuses_page, self.page_size),
            'datasets':
            datasets.paginate(params_datasets_page, self.page_size),
            'total_datasets':
            len(datasets),
            'total_reuses':
            len(reuses),
            'followers':
            followers,
            'can_edit':
            can_edit,
            'can_view':
            can_view,
        })
        return context
예제 #3
0
파일: api.py 프로젝트: mayjolux/udata
 def post(self):
     '''Preview an harvesting from a source created with the given payload'''
     form = api.validate(HarvestSourceForm)
     if form.organization.data:
         EditOrganizationPermission(form.organization.data).test()
     return actions.preview_from_config(**form.data)
예제 #4
0
 def can(self, *args, **kwargs):
     permission = EditOrganizationPermission(self.organization)
     return permission.can()
예제 #5
0
 def get_context(self):
     context = super(OrgView, self).get_context()
     context['can_edit'] = EditOrganizationPermission(self.organization)
     context['can_view'] = OrganizationPrivatePermission(self.organization)
     return context