# AllianceAuth Contacts
[![PyPI](https://img.shields.io/pypi/v/aa-contacts)](https://pypi.org/project/aa-contacts/)
![EvE Partner](https://raw.githubusercontent.com/Maestro-Zacht/aa-contacts/c55d148e8b017642b691ea2badf6f11cdb5ab3db/docs/images/eve_partner.jpg)
This is a plugin for [AllianceAuth](https://gitlab.com/allianceauth/allianceauth) that lets alliances and corporations track and manage their contacts (i.e. standings).
## Overview
### Tracking an Alliance or Corporation
Users with the right [permission](#permissions) can add an alliance or corporation just by clicking on the + button in the index page.
### Viewing Contacts
The index page shows all the alliances and corporations that have been added and are available for that user, that means every alliance or corporation in which the user has a character. Superusers can see all the alliances and corporations.
In every alliance or corporation view, the user can see the contacts and their standings. If it has the right [permissions](#permissions), the user can see and edit notes or trigger a manual update of the contacts.
### Secure Groups integration
If the [Secure Groups](https://github.com/Solar-Helix-Independent-Transport/allianceauth-secure-groups) plugin is installed, a new smart filter will appear in the admin panel of AA Contacts. It allows to filter users by the standings a corporation or alliance has set for them or their alliance/corporation.
Note: when multiple corporations/alliances are set, the logic applies an OR condition, i.e. it is sufficient that at least 1 corp/alliance meets the requirement for the filter to pass. If you want to apply an AND condition, you need to create one filter per condition and put them together in the smart group.
#### Fields
- **comparison**: comparison operator to use
- **standings**: the standing to compare against
- **check type**:
- at least one character: if at least one character passes the filter, the user passes the filter
- all characters: all characters have to pass the filter for the user to pass the filter
- no character: opposite of all characters
- **only main**: consider only the main character
- **corporations** and **alliances**: groups that have set the standings
## Installation
1. Install the package. If you have a traditional installation, run the following command in your terminal:
```bash
pip install aa-contacts
```
If you have a Docker installation instead, add to your `requirements.txt` file:
```pip
aa-contacts==x.y.z
```
with the desired version and rebuild the Docker stack.
2. Add `'aa_contacts',` to your `INSTALLED_APPS` in `local.py`.
3. Run migrations and collectstatic:
```bash
python manage.py migrate
python manage.py collectstatic
```
or, if you are on docker:
```bash
auth migrate
auth collectstatic
```
4. Add the update task at the end of the `local.py`:
```python
# AA Contacts
CELERYBEAT_SCHEDULE['aa_contacts_update_all_contacts'] = {
'task': 'aa_contacts.tasks.update_all_contacts',
'schedule': crontab(minute='24'),
}
```
5. Restart Supervisor if you are on a traditional install or the docker stack if you are on docker.
## Permissions
| Permission | Description |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `manage_alliance_contacts` | Can add tokens for the alliance and trigger manual updates |
| `manage_corporation_contacts` | Can add tokens for the corporation and trigger manual updates |
| `view_alliance_notes` | Can view contact notes for alliance contacts. If combined with `manage_alliance_contacts`, can also edit notes. |
| `view_corporation_notes` | Can view contact notes for corporation contacts. If combined with `manage_corporation_contacts`, can also edit notes. |
Raw data
{
"_id": null,
"home_page": null,
"name": "aa-contacts",
"maintainer": null,
"docs_url": null,
"requires_python": "~=3.8",
"maintainer_email": null,
"keywords": "allianceauth, eveonline, allianceauth_contacts, contacts, aa-contacts",
"author": null,
"author_email": "Matteo Ghia <matteo.ghia@yahoo.it>",
"download_url": "https://files.pythonhosted.org/packages/eb/2d/67b4509e5034edea5bceb2540ff2f8a966995c144ab678af6bcde842b767/aa_contacts-0.6.0.tar.gz",
"platform": null,
"description": "# AllianceAuth Contacts\n\n[![PyPI](https://img.shields.io/pypi/v/aa-contacts)](https://pypi.org/project/aa-contacts/)\n\n![EvE Partner](https://raw.githubusercontent.com/Maestro-Zacht/aa-contacts/c55d148e8b017642b691ea2badf6f11cdb5ab3db/docs/images/eve_partner.jpg)\n\nThis is a plugin for [AllianceAuth](https://gitlab.com/allianceauth/allianceauth) that lets alliances and corporations track and manage their contacts (i.e. standings).\n\n## Overview\n\n### Tracking an Alliance or Corporation\n\nUsers with the right [permission](#permissions) can add an alliance or corporation just by clicking on the + button in the index page.\n\n### Viewing Contacts\n\nThe index page shows all the alliances and corporations that have been added and are available for that user, that means every alliance or corporation in which the user has a character. Superusers can see all the alliances and corporations.\n\nIn every alliance or corporation view, the user can see the contacts and their standings. If it has the right [permissions](#permissions), the user can see and edit notes or trigger a manual update of the contacts.\n\n### Secure Groups integration\n\nIf the [Secure Groups](https://github.com/Solar-Helix-Independent-Transport/allianceauth-secure-groups) plugin is installed, a new smart filter will appear in the admin panel of AA Contacts. It allows to filter users by the standings a corporation or alliance has set for them or their alliance/corporation.\n\nNote: when multiple corporations/alliances are set, the logic applies an OR condition, i.e. it is sufficient that at least 1 corp/alliance meets the requirement for the filter to pass. If you want to apply an AND condition, you need to create one filter per condition and put them together in the smart group.\n\n#### Fields\n\n- **comparison**: comparison operator to use\n- **standings**: the standing to compare against\n- **check type**:\n - at least one character: if at least one character passes the filter, the user passes the filter\n - all characters: all characters have to pass the filter for the user to pass the filter\n - no character: opposite of all characters\n- **only main**: consider only the main character\n- **corporations** and **alliances**: groups that have set the standings\n\n## Installation\n\n1. Install the package. If you have a traditional installation, run the following command in your terminal:\n\n ```bash\n pip install aa-contacts\n ```\n\n If you have a Docker installation instead, add to your `requirements.txt` file:\n\n ```pip\n aa-contacts==x.y.z\n ```\n\n with the desired version and rebuild the Docker stack.\n\n2. Add `'aa_contacts',` to your `INSTALLED_APPS` in `local.py`.\n\n3. Run migrations and collectstatic:\n\n ```bash\n python manage.py migrate\n python manage.py collectstatic\n ```\n\n or, if you are on docker:\n\n ```bash\n auth migrate\n auth collectstatic\n ```\n\n4. Add the update task at the end of the `local.py`:\n\n ```python\n # AA Contacts\n CELERYBEAT_SCHEDULE['aa_contacts_update_all_contacts'] = {\n 'task': 'aa_contacts.tasks.update_all_contacts',\n 'schedule': crontab(minute='24'),\n }\n ```\n\n5. Restart Supervisor if you are on a traditional install or the docker stack if you are on docker.\n\n## Permissions\n\n| Permission | Description |\n| ----------------------------- | --------------------------------------------------------------------------------------------------------------------- |\n| `manage_alliance_contacts` | Can add tokens for the alliance and trigger manual updates |\n| `manage_corporation_contacts` | Can add tokens for the corporation and trigger manual updates |\n| `view_alliance_notes` | Can view contact notes for alliance contacts. If combined with `manage_alliance_contacts`, can also edit notes. |\n| `view_corporation_notes` | Can view contact notes for corporation contacts. If combined with `manage_corporation_contacts`, can also edit notes. |\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Contacts tool for AllianceAuth",
"version": "0.6.0",
"project_urls": {
"Changelog": "https://github.com/Maestro-Zacht/aa-contacts/releases",
"Homepage": "https://github.com/Maestro-Zacht/aa-contacts",
"Source": "https://github.com/Maestro-Zacht/aa-contacts",
"Tracker": "https://github.com/Maestro-Zacht/aa-contacts/issues"
},
"split_keywords": [
"allianceauth",
" eveonline",
" allianceauth_contacts",
" contacts",
" aa-contacts"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ffbed5721e0b762e1c24136c565928e7749b3ac9533da8ae676b2747161fe8c6",
"md5": "0078813f20ad5972c1bf560726dc7d2d",
"sha256": "c02072b511ddabba6ce5ecb31b7290b70c5e306a0f3a3413a09acfee59daf38e"
},
"downloads": -1,
"filename": "aa_contacts-0.6.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0078813f20ad5972c1bf560726dc7d2d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "~=3.8",
"size": 40330,
"upload_time": "2024-11-09T15:05:15",
"upload_time_iso_8601": "2024-11-09T15:05:15.394859Z",
"url": "https://files.pythonhosted.org/packages/ff/be/d5721e0b762e1c24136c565928e7749b3ac9533da8ae676b2747161fe8c6/aa_contacts-0.6.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "eb2d67b4509e5034edea5bceb2540ff2f8a966995c144ab678af6bcde842b767",
"md5": "6ab6d8e6b9ef397d1cf60133e4b4ecd2",
"sha256": "ee57594d345e7a2f1aeb35fdc020c3bab9e3655d3e22df568e3e0c4062eea091"
},
"downloads": -1,
"filename": "aa_contacts-0.6.0.tar.gz",
"has_sig": false,
"md5_digest": "6ab6d8e6b9ef397d1cf60133e4b4ecd2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "~=3.8",
"size": 30863,
"upload_time": "2024-11-09T15:05:17",
"upload_time_iso_8601": "2024-11-09T15:05:17.766370Z",
"url": "https://files.pythonhosted.org/packages/eb/2d/67b4509e5034edea5bceb2540ff2f8a966995c144ab678af6bcde842b767/aa_contacts-0.6.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-09 15:05:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Maestro-Zacht",
"github_project": "aa-contacts",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "aa-contacts"
}