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
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
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)
def can(self, *args, **kwargs): permission = EditOrganizationPermission(self.organization) return permission.can()
def get_context(self): context = super(OrgView, self).get_context() context['can_edit'] = EditOrganizationPermission(self.organization) context['can_view'] = OrganizationPrivatePermission(self.organization) return context