Arches is a web platform for creating, managing, & visualizing geospatial data. Arches was inspired by the needs of the Cultural Heritage community, particularly the widespread need of organizations to build & manage cultural heritage inventories
GNU Affero General Public License v3.0
212
stars
143
forks
source link
Get an exception "Resource has no graph" when trying to create a user in Django admin #9398
We receive the exception "Resource has no graph" when creating a user in the Django administration console. The error also occurs when a user clicks on the account verification link from the email Arches sends to new users. The interesting thing is while adding a user through the Django admin console never works. The self-sign up does work. The user will see the error, but the user's account is created and they can login with the credentials they provided.
Arches Version: 7.3
Here is the stack trace from adding a user through the Django admin console.
Environment:
Request Method: POST
Request URL: https://example.com/admin/auth/user/add/
Django Version: 3.2.15
Python Version: 3.8.16
Installed Applications:
('webpack_loader',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.gis',
'arches',
'arches.app.models',
'arches.management',
'guardian',
'captcha',
'revproxy',
'corsheaders',
'oauth2_provider',
'django_celery_results',
'compressor',
'jpc')
Installed Middleware:
['corsheaders.middleware.CorsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'arches.app.utils.middleware.ModifyAuthorizationHeader',
'oauth2_provider.middleware.OAuth2TokenMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'arches.app.utils.middleware.SetAnonymousUser']
Traceback (most recent call last):
File "/arches/env/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/arches/env/lib/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/arches/env/lib/python3.8/site-packages/django/contrib/admin/options.py", line 616, in wrapper
return self.admin_site.admin_view(view)(*args, **kwargs)
File "/arches/env/lib/python3.8/site-packages/django/utils/decorators.py", line 130, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/arches/env/lib/python3.8/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/arches/env/lib/python3.8/site-packages/django/contrib/admin/sites.py", line 232, in inner
return view(request, *args, **kwargs)
File "/arches/env/lib/python3.8/site-packages/django/utils/decorators.py", line 43, in _wrapper
return bound_method(*args, **kwargs)
File "/arches/env/lib/python3.8/site-packages/django/views/decorators/debug.py", line 89, in sensitive_post_parameters_wrapper
return view(request, *args, **kwargs)
File "/arches/env/lib/python3.8/site-packages/django/utils/decorators.py", line 43, in _wrapper
return bound_method(*args, **kwargs)
File "/arches/env/lib/python3.8/site-packages/django/utils/decorators.py", line 130, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/arches/env/lib/python3.8/site-packages/django/contrib/auth/admin.py", line 99, in add_view
return self._add_view(request, form_url, extra_context)
File "/arches/env/lib/python3.8/site-packages/django/contrib/auth/admin.py", line 126, in _add_view
return super().add_view(request, form_url, extra_context)
File "/arches/env/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1657, in add_view
return self.changeform_view(request, None, form_url, extra_context)
File "/arches/env/lib/python3.8/site-packages/django/utils/decorators.py", line 43, in _wrapper
return bound_method(*args, **kwargs)
File "/arches/env/lib/python3.8/site-packages/django/utils/decorators.py", line 130, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/arches/env/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1540, in changeform_view
return self._changeform_view(request, object_id, form_url, extra_context)
File "/arches/env/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1586, in _changeform_view
self.save_model(request, new_object, form, not add)
File "/arches/env/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1099, in save_model
obj.save()
File "/arches/env/lib/python3.8/site-packages/django/contrib/auth/base_user.py", line 67, in save
super().save(*args, **kwargs)
File "/arches/env/lib/python3.8/site-packages/django/db/models/base.py", line 739, in save
self.save_base(using=using, force_insert=force_insert,
File "/arches/env/lib/python3.8/site-packages/django/db/models/base.py", line 787, in save_base
post_save.send(
File "/arches/env/lib/python3.8/site-packages/django/dispatch/dispatcher.py", line 180, in send
return [
File "/arches/env/lib/python3.8/site-packages/django/dispatch/dispatcher.py", line 181, in <listcomp>
(receiver, receiver(signal=self, sender=sender, **named))
File "/arches/env/lib/python3.8/site-packages/arches/app/models/models.py", line 1334, in create_permissions_for_new_users
Resource(resource.resourceinstanceid).index()
File "/arches/env/lib/python3.8/site-packages/arches/app/models/resource.py", line 280, in index
super(Resource, self).save()
File "/arches/env/lib/python3.8/site-packages/arches/app/models/models.py", line 931, in save
self.graph_publication = self.graph.publication
File "/arches/env/lib/python3.8/site-packages/django/db/models/fields/related_descriptors.py", line 197, in __get__
raise self.RelatedObjectDoesNotExist(
Exception Type: RelatedObjectDoesNotExist at /admin/auth/user/add/
Exception Value: ResourceInstance has no graph.
This is the stack trace from a user clicking on the email verification link
Environment:
Request Method: GET
Request URL: https://example.com/auth/confirm_signup?link=orvjpg1uIWAg5Afp8Yzil80P%2BIKrJHuokePeNe9Aw3INH0xKM%2F7t0vzL4VluMNb9iJHles0Hss66sD8LnnuivxZrr22XCg4EFD5dcvav5ZXs%2F8iKY%2F5X%2B1Famkru3xZ3NTcBUlims%2F6ZDgIdPrln2684S6OyYvOKeNnZE5l9HmVIwGOy9nPPk4y1t2E8HH6CM2f0Edl9%2BuMYJTAjgyREiTGhvXOQj81qDpefOYBVNCQdP%2BiLs8%2FYKS2cVRudUxTC78FT6
Django Version: 3.2.15
Python Version: 3.8.16
Installed Applications:
('webpack_loader',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.gis',
'arches',
'arches.app.models',
'arches.management',
'guardian',
'captcha',
'revproxy',
'corsheaders',
'oauth2_provider',
'django_celery_results',
'compressor',
'jpc')
Installed Middleware:
['corsheaders.middleware.CorsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'arches.app.utils.middleware.ModifyAuthorizationHeader',
'oauth2_provider.middleware.OAuth2TokenMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'arches.app.utils.middleware.SetAnonymousUser']
Traceback (most recent call last):
File "/arches/env/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/arches/env/lib/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/arches/env/lib/python3.8/site-packages/django/views/generic/base.py", line 70, in view
return self.dispatch(request, *args, **kwargs)
File "/arches/env/lib/python3.8/site-packages/django/utils/decorators.py", line 43, in _wrapper
return bound_method(*args, **kwargs)
File "/arches/env/lib/python3.8/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/arches/env/lib/python3.8/site-packages/django/views/generic/base.py", line 98, in dispatch
return handler(request, *args, **kwargs)
File "/arches/env/lib/python3.8/site-packages/arches/app/views/auth.py", line 237, in get
user = form.save()
File "/arches/env/lib/python3.8/site-packages/django/contrib/auth/forms.py", line 131, in save
user.save()
File "/arches/env/lib/python3.8/site-packages/django/contrib/auth/base_user.py", line 67, in save
super().save(*args, **kwargs)
File "/arches/env/lib/python3.8/site-packages/django/db/models/base.py", line 739, in save
self.save_base(using=using, force_insert=force_insert,
File "/arches/env/lib/python3.8/site-packages/django/db/models/base.py", line 787, in save_base
post_save.send(
File "/arches/env/lib/python3.8/site-packages/django/dispatch/dispatcher.py", line 180, in send
return [
File "/arches/env/lib/python3.8/site-packages/django/dispatch/dispatcher.py", line 181, in <listcomp>
(receiver, receiver(signal=self, sender=sender, **named))
File "/arches/env/lib/python3.8/site-packages/arches/app/models/models.py", line 1334, in create_permissions_for_new_users
Resource(resource.resourceinstanceid).index()
File "/arches/env/lib/python3.8/site-packages/arches/app/models/resource.py", line 280, in index
super(Resource, self).save()
File "/arches/env/lib/python3.8/site-packages/arches/app/models/models.py", line 931, in save
self.graph_publication = self.graph.publication
File "/arches/env/lib/python3.8/site-packages/django/db/models/fields/related_descriptors.py", line 197, in __get__
raise self.RelatedObjectDoesNotExist(
Exception Type: RelatedObjectDoesNotExist at /auth/confirm_signup
Exception Value: ResourceInstance has no graph.
We receive the exception "Resource has no graph" when creating a user in the Django administration console. The error also occurs when a user clicks on the account verification link from the email Arches sends to new users. The interesting thing is while adding a user through the Django admin console never works. The self-sign up does work. The user will see the error, but the user's account is created and they can login with the credentials they provided.
Arches Version: 7.3
Here is the stack trace from adding a user through the Django admin console.
This is the stack trace from a user clicking on the email verification link