Closed nemesifier closed 7 months ago
Hi @nemesisdesign, I wanted to contribute to this issue if it is still open, I have installed the openwisp-notifications and the setup part is done for the same, I wanted the steps like how can I reproduce the issue based on which I can change the code
Steps to replicate the issue
/etc/hosts
file to point internal.openwisp.test
and external.openwisp.test
to 127.0.0.1
using the following command
sudo bash -c 'echo "127.0.0.1 internal.openwisp.test external.openwisp.test" >> /etc/hosts'
external.openwisp.test
.create_notification
management command from the shell
cd tests/
./manage.py create_notification
Actual result
After clicking on the notification, the user to sent to the target object with external.openwisp.test
domain. E.g.: http://external.openwisp.test:8000/admin/openwisp_users/organization/b150de21-65b2-4499-b1a8-3af78e8442b5/change/
Expected result
After clicking on the notification, the URL should take the user to the target object with internal.openwisp.test
domain. E.g.: http://internal.openwisp.test:8000/admin/openwisp_users/organization/b150de21-65b2-4499-b1a8-3af78e8442b5/change/
@pandafy I am Working on this issue.
It is important to update the ALLOWED_HOSTS
settings in tests/settings.py like below to replicate this issue
ALLOWED_HOSTS = ['internal.openwisp.test', 'external.openwisp.test', '127.0.0.1']
Thanks to @arup1221 for reporting this in the developer chat. 👏🏼
Thanks also, @pandafy, for allowing me to work on this project. I am currently figuring out whether this bug is related to notification generation and how to redirect it to
http://internal.openwisp.test:8000/admin/openwisp_users/organization/<id>/change/."
The internal.openwisp.test
and external.openwisp.test
hostname provided above are just for example. These hostnames could be anything depending on the installation.
To understand the issue better, check the HTML code of the rendered notification element in the UI
Here, an absolute URL is used for the device. We want to have the relative URL so that the URL works across different hostnames.
What's the catch?
The same logic is used for adding notification message in the emails. We want the emails to continue having absolute URLs, otherwise users would not be able to follow the URL to OpenWISP.
It would be good to change the notification widget to allow the use of relative paths. This helps the notification links to work also on systems which are using multiple domain names, some times a domain is reachable only from a private network but when users click on the notifications they are taken to the main domain name, which is not what they want.