Example #1
0
schema_article_attributes.remove('geometry')

schema_article = SQLAlchemySchemaNode(
    Article,
    # whitelisted attributes
    includes=schema_article_attributes + attributes,
    overrides={
        'document_id': {
            'missing': None
        },
        'version': {
            'missing': None
        },
        'locales': {
            'children': [schema_article_locale]
        },
    })

schema_create_article = get_create_schema(schema_article)
schema_update_article = get_update_schema(schema_article)
schema_listing_article = restrict_schema(schema_article,
                                         fields_article.get('listing'))


def is_personal(article_id):
    article_type = DBSession.query(Article.article_type). \
        select_from(Article.__table__). \
        filter(Article.document_id == article_id). \
        scalar()
    return article_type == 'personal'
Example #2
0
schema_article_attributes.remove('geometry')

schema_article = SQLAlchemySchemaNode(
    Article,
    # whitelisted attributes
    includes=schema_article_attributes + attributes,
    overrides={
        'document_id': {
            'missing': None
        },
        'version': {
            'missing': None
        },
        'locales': {
            'children': [schema_article_locale]
        },
    })

schema_create_article = get_create_schema(schema_article)
schema_update_article = get_update_schema(schema_article)
schema_listing_article = restrict_schema(
    schema_article, fields_article.get('listing'))


def is_personal(article_id):
    article_type = DBSession.query(Article.article_type). \
        select_from(Article.__table__). \
        filter(Article.document_id == article_id). \
        scalar()
    return article_type == 'personal'
Example #3
0
from pyramid.httpexceptions import HTTPNotFound, HTTPBadRequest, HTTPForbidden

from c2corg_common.fields_article import fields_article
from cornice.resource import resource, view
from cornice.validators import colander_body_validator
from c2corg_api.views import set_creator as set_creator_on_documents

from c2corg_api.views.document_schemas import article_documents_config
from c2corg_api.views.document import DocumentRest, make_validator_create, \
    make_validator_update
from c2corg_api.views import cors_policy, restricted_json_view
from c2corg_api.views.validation import validate_id, validate_pagination, \
    validate_lang_param, validate_preferred_lang_param, \
    validate_associations, validate_lang, validate_version_id

validate_article_create = make_validator_create(fields_article.get('required'))
validate_article_update = make_validator_update(fields_article.get('required'))
validate_associations_create = functools.partial(
    validate_associations, ARTICLE_TYPE, True)
validate_associations_update = functools.partial(
    validate_associations, ARTICLE_TYPE, False)


@resource(collection_path='/articles', path='/articles/{id}',
          cors_policy=cors_policy)
class ArticleRest(DocumentRest):

    @view(validators=[validate_pagination, validate_preferred_lang_param])
    def collection_get(self):
        return self._collection_get(ARTICLE_TYPE, article_documents_config)
Example #4
0
from c2corg_common.fields_article import fields_article
from cornice.resource import resource, view
from cornice.validators import colander_body_validator
from c2corg_api.views import set_creator as set_creator_on_documents

from c2corg_api.views.document_schemas import article_documents_config
from c2corg_api.views.document import DocumentRest, make_validator_create, \
    make_validator_update
from c2corg_api.views import cors_policy, restricted_json_view
from c2corg_api.views.validation import validate_id, validate_pagination, \
    validate_lang_param, validate_preferred_lang_param, \
    validate_associations, validate_lang, validate_version_id, \
    validate_cook_param

validate_article_create = make_validator_create(fields_article.get('required'))
validate_article_update = make_validator_update(fields_article.get('required'))
validate_associations_create = functools.partial(validate_associations,
                                                 ARTICLE_TYPE, True)
validate_associations_update = functools.partial(validate_associations,
                                                 ARTICLE_TYPE, False)


@resource(collection_path='/articles',
          path='/articles/{id}',
          cors_policy=cors_policy)
class ArticleRest(DocumentRest):
    @view(validators=[validate_pagination, validate_preferred_lang_param])
    def collection_get(self):
        return self._collection_get(ARTICLE_TYPE, article_documents_config)