Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
R
risefor-lobbying
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 98
    • Issues 98
    • List
    • Boards
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Packages
    • Packages
    • Container Registry
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Startin blox
  • applications
  • risefor-lobbying
  • Issues
  • #130

Closed
Open
Opened Mar 27, 2019 by Alexandre@alexandre
  • Report abuse
  • New issue
Report abuse New issue

Permission error

Internal Server Error: /api/action-groups/
Traceback (most recent call last):
  File "/var/www/united4earth/venv/lib/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/var/www/united4earth/venv/lib/python3.6/site-packages/django/core/handlers/base.py", line 187, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/var/www/united4earth/venv/lib/python3.6/site-packages/django/core/handlers/base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/var/www/united4earth/venv/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
    return view_func(*args, **kwargs)
  File "/var/www/united4earth/venv/lib/python3.6/site-packages/rest_framework/viewsets.py", line 116, in view
    return self.dispatch(request, *args, **kwargs)
  File "/var/www/djangoldp/djangoldp/views.py", line 136, in dispatch
    response = super(LDPViewSet, self).dispatch(request, *args, **kwargs)
  File "/var/www/united4earth/venv/lib/python3.6/site-packages/rest_framework/views.py", line 495, in dispatch
    response = self.handle_exception(exc)
  File "/var/www/united4earth/venv/lib/python3.6/site-packages/rest_framework/views.py", line 455, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/var/www/united4earth/venv/lib/python3.6/site-packages/rest_framework/views.py", line 492, in dispatch
    response = handler(request, *args, **kwargs)
  File "/var/www/united4earth/venv/lib/python3.6/site-packages/rest_framework/mixins.py", line 48, in list
    return Response(serializer.data)
  File "/var/www/djangoldp/djangoldp/serializers.py", line 109, in data
    return ReturnDict(super(ListSerializer, self).data, serializer=self)
  File "/var/www/united4earth/venv/lib/python3.6/site-packages/rest_framework/serializers.py", line 262, in data
    self._data = self.to_representation(self.instance)
  File "/var/www/djangoldp/djangoldp/serializers.py", line 38, in to_representation
    'ldp:contains': super().to_representation(value),
  File "/var/www/united4earth/venv/lib/python3.6/site-packages/rest_framework/serializers.py", line 686, in to_representation
    self.child.to_representation(item) for item in iterable
  File "/var/www/united4earth/venv/lib/python3.6/site-packages/rest_framework/serializers.py", line 686, in <listcomp>
    self.child.to_representation(item) for item in iterable
  File "/var/www/djangoldp/djangoldp/serializers.py", line 211, in to_representation
    data = super().to_representation(obj)
  File "/var/www/united4earth/venv/lib/python3.6/site-packages/rest_framework/serializers.py", line 530, in to_representation
    ret[field.field_name] = field.to_representation(attribute)
  File "/var/www/djangoldp/djangoldp/serializers.py", line 39, in to_representation
    'permissions': Model.get_permissions(value.model, self.context['request'].user, ['view', 'add'])
  File "/var/www/djangoldp/djangoldp/models.py", line 109, in get_permissions
    permissions = permission_class().filter_user_perms(user_or_group, obj_or_model, permissions)
  File "/var/www/djangoldp/djangoldp/permissions.py", line 44, in filter_user_perms
    return [perm for perm in permissions if perm in self.user_permissions(user_or_group, obj)]
  File "/var/www/djangoldp/djangoldp/permissions.py", line 44, in <listcomp>
    return [perm for perm in permissions if perm in self.user_permissions(user_or_group, obj)]
  File "/var/www/united4earth/data_manager/permissions.py", line 11, in user_permissions
    if request.user in obj.actiongroup_set.get().members.all():
  File "/var/www/united4earth/venv/lib/python3.6/site-packages/django/utils/functional.py", line 239, in inner
    return func(self._wrapped, *args)
AttributeError: 'User' object has no attribute 'user'
[27/Mar/2019 07:41:52] "GET /api/action-groups/ HTTP/1.1" 500

I get that when trying to access the /api/action-groups/ URL with the last version of the server.

Models :

class ActionGroup(models.Model):
    name = models.CharField(max_length=255, verbose_name=u"Nom du groupe")
    objective = models.CharField(max_length=255, verbose_name=u"Objectif")
    description = models.TextField(blank=True, null=True, verbose_name=u"Description")
    place = models.TextField(blank=True, null=True, verbose_name=u"Lieu")
    frequency = models.TextField(blank=True, null=True, verbose_name=u"Fréquence")
    kind = models.TextField(blank=True, null=True, verbose_name=u"Type d'action")
    image = models.URLField(verbose_name=u"Image", default=settings.SITE_URL + "static/img/action_group_blank.png")
    representatives = models.ManyToManyField(Representative, blank=True, related_name='action_groups')
    members = models.ManyToManyField(User, blank=True)
    actiongroups = models.ManyToManyField("self", blank=True)
    dates = models.ManyToManyField(ActionDate, blank=True)
    author = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='created_groups', blank=True, null=True)
    conversation = models.ManyToManyField(Thread, blank=True)
    loomios = models.ManyToManyField(LoomioTopic, blank=True)
    slug = models.SlugField(blank=True, null=True, unique=True)

    class Meta:
        auto_author = 'author'
        permissions = (
            ('view_actiongroup', 'Read'),
            ('control_actiongroup', 'Control'),
        )

    def nextdate(self):
        nextdate = self.dates.filter(date__gte=datetime.today()).order_by("date").first()
        if nextdate:
            return str(nextdate)
        elif len(self.dates.all()) == 0:
            return 0
        else:
            return "exhausted"

    def __str__(self):
        return self.name

User._meta.serializer_fields = ['username', 'first_name', 'last_name', 'email']

URls :

    url(r'^api/action-groups/', LDPViewSet.urls(
            model=ActionGroup,
            fields = [
                '@id','name', 'author', 'objective', 'description', 'kind',
                'place', 'frequency', 'image', 'representatives', 'members',
                'actiongroups', 'dates', 'loomios', 'conversation', 'nextdate',
                ],
            nested_fields=[
                "author", "representatives", "dates", "loomios",
                "actiongroups", "conversation",
                ],
            permission_classes=(AnonymousReadOnly,),
            # permission_classes=(),
            
        ), name='action_groups_sib'),

This commit introduced the problem : startinblox/djangoldp-packages/djangoldp@fbf1d1bc

Edited Mar 27, 2019 by Alexandre
Assignee
Assign to
v0.2
Milestone
v0.2
Assign milestone
Time tracking
None
Due date
None
1
Labels
Bug framework
Assign labels
  • View project labels
Reference: startinblox/applications/risefor-lobbying#130