Open-event-server: Getting 500 Internal Server Error on calling event-copyright details

Created on 21 Mar 2019  路  15Comments  路  Source: fossasia/open-event-server

Describe the bug
On the following request

events/{eventId}/event-copyright?include=event&fields[event]=id&page[size]=0

getting the following response

{
  "errors": [
    {
      "detail": "Unknown error",
      "source": {
        "pointer": ""
      },
      "status": 500,
      "title": "Unknown error"
    }
  ],
  "jsonapi": {
    "version": "1.0"
  }
}

Most helpful comment

@ShridharGoel Will be opening an issue for speakers call too.

All 15 comments

Same for Speakers Call

@kush-mish are you working on it or can I have a look into it?

@iamareebjamal the problem looks in fields[event]=id part. That triggers:

Traceback (most recent call last):
  File "/home/uddeshya/venv/lib/python3.5/site-packages/flask/app.py", line 2309, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/uddeshya/Desktop/mySetup/open-event-server/app/__init__.py", line 67, in __call__
    return self.app(environ, start_response)
  File "/home/uddeshya/venv/lib/python3.5/site-packages/flask/app.py", line 2295, in wsgi_app
    response = self.handle_exception(e)
  File "/home/uddeshya/venv/lib/python3.5/site-packages/flask_cors/extension.py", line 161, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "/home/uddeshya/venv/lib/python3.5/site-packages/flask_cors/extension.py", line 161, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "/home/uddeshya/venv/lib/python3.5/site-packages/flask/app.py", line 1741, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/uddeshya/venv/lib/python3.5/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/uddeshya/venv/lib/python3.5/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/uddeshya/venv/lib/python3.5/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/uddeshya/venv/lib/python3.5/site-packages/flask_cors/extension.py", line 161, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "/home/uddeshya/venv/lib/python3.5/site-packages/flask_cors/extension.py", line 161, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "/home/uddeshya/venv/lib/python3.5/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/uddeshya/venv/lib/python3.5/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/uddeshya/venv/lib/python3.5/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/uddeshya/venv/lib/python3.5/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/uddeshya/venv/src/flask-rest-jsonapi/flask_rest_jsonapi/api.py", line 133, in decorated
    return self.check_permissions(view, view_args, view_kwargs, *args, **kwargs)
  File "/home/uddeshya/Desktop/mySetup/open-event-server/app/api/helpers/permission_manager.py", line 338, in permission_manager
    return view(*view_args, **view_kwargs)
  File "/home/uddeshya/venv/src/flask-rest-jsonapi/flask_rest_jsonapi/decorators.py", line 32, in wrapper
    return func(*args, **kwargs)
  File "/home/uddeshya/venv/lib/python3.5/site-packages/flask/views.py", line 88, in view
    return self.dispatch_request(*args, **kwargs)
  File "/home/uddeshya/venv/src/flask-rest-jsonapi/flask_rest_jsonapi/resource.py", line 68, in dispatch_request
    response = method(*args, **kwargs)
  File "/home/uddeshya/venv/src/flask-rest-jsonapi/flask_rest_jsonapi/decorators.py", line 56, in wrapper
    return func(*args, **kwargs)
  File "/home/uddeshya/venv/src/flask-rest-jsonapi/flask_rest_jsonapi/resource.py", line 255, in get
    if include.get('attributes', None).get('deleted-at', None):
AttributeError: 'NoneType' object has no attribute 'get'

@uds5501 this is open for anyone willing to take it.

@iamareebjamal can you tell me what does fields[event]=id signify in the request?

It tells which field of event to return

@uds5501 Will have a look into it. Are you still working on this issue?

@prateekj117 Go ahead

@ShridharGoel Will be opening an issue for speakers call too.

Any updates on this?

@ShridharGoel @kush-mish I think I found the error. We are getting this error because id is not an attribute. can your functionality work with event identifier maybe?

If the applications requires id explicitly, I can try patching the package

@iamareebjamal I have patched the flask-rest-jsonapi locally , it now returns this request in this form :

Resuest

GET /v1/events/1/event-copyright?include=event&fields[event]=id HTTP/1.1" 200

Response

{
    "jsonapi": {
        "version": "1.0"
    },
    "included": [
        {
            "type": "event",
            "id": "1",
            "links": {
                "self": "/v1/events/1"
            }
        }
    ],
    "data": {
        "type": "event-copyright",
        "id": "1",
        "attributes": {
            "licence-url": "https://creativecommons.org/licenses/by-nd/4.0",
            "holder": null,
            "year": null,
            "licence": "Attribution-NoDerivs",
            "holder-url": null,
            "deleted-at": null,
            "logo-url": "https://licensebuttons.net/l/by-nd/4.0/80x15.png"
        },
        "relationships": {
            "event": {
                "data": {
                    "type": "event",
                    "id": "1"
                },
                "links": {
                    "related": "/v1/event-copyrights/1/event",
                    "self": "/v1/event-copyrights/1/relationships/event"
                }
            }
        },
        "links": {
            "self": "/v1/event-copyrights/1"
        }
    },
    "links": {
        "self": "/v1/event-copyrights/1"
    }
}

If I have to push the updates, how do I do that?

Create a PR on the FOSSASIA fork

@IamAdiSri Did it

Was this page helpful?
0 / 5 - 0 ratings

Related issues

CosmicCoder96 picture CosmicCoder96  路  4Comments

schedutron picture schedutron  路  4Comments

SaptakS picture SaptakS  路  3Comments

Masquerade0097 picture Masquerade0097  路  3Comments

SaptakS picture SaptakS  路  3Comments