# Operation Calendar
An operation calendar app for Alliance Auth to display fleet operations and other events.
![release](https://img.shields.io/pypi/v/aa-opcalendar??label=release) ![python](https://img.shields.io/pypi/pyversions/aa-opcalendar?) ![license](https://img.shields.io/badge/license-MIT-green)
## Includes:
* Calendar type view of different events
* Manual events
* User created
* Defailed view
* Ical feed for exporting events
* Public NPSI events
* Automatic syncing with supported NPSI community events over APIs
* Ingame events
* Automatic syncing with ingame events
* Personal, Corporation and Alliance calendars
* Supports [structure timers](https://gitlab.com/ErikKalkoken/aa-structuretimers)
* Supports [aa-moonmining](https://gitlab.com/ErikKalkoken/aa-moonmining)
* Supports [aa-discordbot](https://github.com/pvyParts/allianceauth-discordbot)
* Event visibility options
* Custom names and colors
* Restrict to groups
* Restrict to states
* Webhook for sending event notifications
* Filter to include in ical feed
* Event categories
* Custom names
* Custom tickers
* Custom colors
* Pre-fill text to add on events with the category
* Multihost support
* Discord notifications
* Webhook
* For: new, edited and deleted events
![screenshot](https://i.imgur.com/92nBoO7.jpg)
![screenshot](https://i.imgur.com/Mbvq3So.jpg)
Dark and white themes
![screenshot](https://i.imgur.com/IAZ5GRi.jpg)
aa-moonmining support
![screenshot](https://i.imgur.com/7k9SfSX.jpg)
aa-structuretimers support
![screenshot](https://i.imgur.com/JbAT5UW.jpg)
Custom event visibility filters and categories
![screenshot](https://i.imgur.com/kbhDLBS.jpg)
details for manual events
![screenshot](https://i.imgur.com/a8v2gO2.jpg)
Supports importing public NPSI events right into opcalendar
![screenshot](https://i.imgur.com/riuI8sM.jpg)
Pull ingame events from personal, corporation and alliance
![screenshot](https://i.imgur.com/1L8h526.jpg)
Discord feed based on visibility filter
![screenshot](https://i.imgur.com/fMUAc4H.jpg)
Supports aa-discordbot to fetch events over discord
## Installation
1. Install the Repo `pip install aa-opcalendar`
2. Add `'opcalendar',` to your `INSTALLED_APPS` in your projects `local.py`
3. Run migrations `python manage.py migrate`
4. Collect static files `python manage.py collectstatic`
5. Restart supervisor `supervisorctl reload myauth:`
6. Setup permissions
## Permissions
Perm | Auth Site | Example Target Group
--- | --- | ---
opcalendar basic_access | Can access this app and see operations based on visibility rules | Everyone
opcalendar create_event | Can create and edit events | Leadership, FCs
opcalendar manage_event | Can delete and manage signups | Leadership, FCs
opcalendar see_signups | Can see all signups for event | Leadership, FCs, Members
## Settings
Name | Description | Default
--- | --- | ---
OPCALENDAR_NOTIFY_IMPORTS | Wheter to send out discord notifications for ingame and public NPSI events | True
OPCALENDAR_DISPLAY_STRUCTURETIMERS | whether we should inculde timers from the structuretimers plugin in the calendar. Inherits view permissions from aa-structuretimers | True
OPCALENDAR_DISPLAY_MOONMINING | whether we should inculde extractions from the aa-moonmining plugin in the calendar. Inherits view permissions from aa-moonmining | True
OPCALENDAR_DISCORD_OPS_DISPLAY_EXTERNAL | whether we display external hosts such as ingame hosts in the discord ops command filters | False
## Setup
Before you are able to create new events on the front end you will need to setup the needed categories and visibility filters for your events.
### 1. Host
Hosts are for identifying reasons. If you run a single corporation or alliance entity you most likely only want one host. If you want to extend the calendar with other hosts such as NPSI communities you can create a host for each different entity.
- Host name is shown on the event and on discord notifications
- You can customize host logos
- Go to the admin site
### 2. Visibility filter
These filters will determine who is able to see the events that are labeled with each different visibility filter.
- Can be restricted to groups and states
- If no groups or states are selected the events will be visible for everyone
- You can determine a custom color tag that will be shown on the top right corner of the event
- Each visibility filter will be displayed on the calendar and can be used for filtering events on the calendar
- Discord notification webhooks can be assigned for each visibility filter. Events created, deleted or edited under this filter will then be sent over to discord.
### 3. Categories
Categories are displayed as a ticker infront of manually created events. Most common categories are: PvP, Stratop, Mining, CTA etc...
- Ticker displayed on event
- Custom colors
### 4. Discord webhook
If you want to receive notifications about your events (created/modified/deleted) on your discord you can add a webhook for the channel in discord you want to receive the notifications to. The webhooks you create will be used in the visibility filters.
## Adding manual events
To add a manual event simply go to the calendar page and press on the new event button. Fill in and select the needed information.
## Importing NPSI fleets
Opcalendar has the ability to import predetermined NPSI fleets directly into your calendar from public NPSI community APIs.
### Supported NPSI communities
Opcalendar is currently supporting imports for the following NPSI fleets:
- EVE LinkNet
- Spectre Fleet
- EVE University (classes)
- Fun Inc.
- FRIDAY YARRRR
- Redemption Road
- CAS
- Fwaming Dwagons
- FREE RANGE CHIKUNS
### Setup
- **Go to admin panel and select NPSI Event Imports**
- **Create a host** for each import and fill in the needed details for them.
- **Add a new import** by pressing on the add event import button
- **Select the source** where you want to fetch the fleets.
- **Determine operation type** for each fetched fleet.
- **Determine operation visibility** for each fetched fleet.
To schedule the import runs either add the following line in your local.py file or set up a perioduc task for the `opcalendar.tasks.import_all_npsi_fleets` task on your admin menu to fetch fleets every hour.
```
CELERYBEAT_SCHEDULE['import_all_npsi_fleets'] = {
'task': 'opcalendar.tasks.import_all_npsi_fleets',
'schedule': crontab(minute=0, hour='*'),
}
```
## Importing fleets from ingame calendar
You can import events that have been created in the ingame calendar. As the fields on the ingame calendar are limited the events will not be as detailed as when created directly from the calendar.
1. Give the `add_ingame_calendar_owner` role for the wanter groups
2. Navigate to the opcalendar page and press the `Add Ingame Calendar Feed` button
3. Log in with the character that holds the calendar
5. Add the following line into your local.py setting file or set up a periodic task for the `opcalendar.tasks.update_all_ingame_events` to pull fleets from ingame every 5 minutes.
```
CELERYBEAT_SCHEDULE['update_all_ingame_events'] = {
'task': 'opcalendar.tasks.update_all_ingame_events',
'schedule': crontab(minute='*/5'),
}
```
### Ingame event visibility and categories
On default the ingame events you import have no visibility filter and no category. This means they **will be visible for everyone**.
If you wish to add a visibility filter or a category similar to the manual events simply go to the `admin panel -> Ingame event owners` and select a filter and a category for the owner.
After selecing a visibility filter and a category the ingame events will behave similar to the manual events and respect the group and state restrictions set for the visibility filters.
### Ical feed setup (optional)
Opcalendar has the ability to generate a standard ical formated feed for pushing out events. To push out evets to the feed without login requirement requires editing the allianceauth url file
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
aa-opcalendar-2.0.0b0.tar.gz (81个子文件)
aa-opcalendar-2.0.0b0
MANIFEST.in 179B
PKG-INFO 12KB
aa_opcalendar.egg-info
PKG-INFO 12KB
requires.txt 52B
SOURCES.txt 3KB
top_level.txt 34B
dependency_links.txt 1B
LICENSE 1KB
setup.cfg 187B
testauth
wsgi.py 397B
__init__.py 46B
settings.py 10KB
urls.py 120B
celery.py 611B
setup.py 1KB
eventcalendar
helper.py 453B
wsgi.py 403B
__init__.py 0B
settings.py 3KB
asgi.py 403B
views.py 747B
urls.py 938B
opcalendar
models.py 24KB
app_settings.py 3KB
apps.py 165B
utils.py 10KB
swagger.json 925KB
templates
opcalendar
event-edit.html 1KB
base.html 1KB
add_member.html 448B
signup.html 400B
calendar.html 3KB
event_delete.html 384B
ingame-event-details.html 5KB
event-details.html 10KB
event-add.html 2KB
providers.py 374B
tests
test_tasks.py 20KB
testdata.py 3KB
test_models.py 4KB
static
opcalendar
calendar.png 1KB
terminate.png 1KB
style.css 3KB
decorators.py 553B
helpers.py 774B
__init__.py 105B
migrations
0020_auto_20210125_1007.py 460B
0014_auto_20210113_0836.py 2KB
0022_auto_20210222_1255.py 3KB
0005_auto_20201104_1127.py 570B
0008_auto_20201105_0846.py 359B
0004_event_host.py 540B
0021_eventhost_logo_url.py 405B
0024_auto_20210429_1111.py 3KB
0013_eventimport_creator.py 662B
0003_eventhost.py 828B
0016_auto_20210119_1545.py 4KB
__init__.py 0B
0011_eventimport.py 2KB
0006_auto_20201104_1201.py 2KB
0015_eventimport_eve_character.py 672B
0007_eventhost_twitter.py 404B
0012_auto_20210112_0934.py 577B
0018_auto_20210119_1701.py 685B
0002_auto_20201104_1054.py 770B
0001_initial.py 7KB
0023_auto_20210330_0632.py 13KB
0019_auto_20210125_1005.py 709B
0010_auto_20201105_1602.py 636B
0017_auto_20210119_1626.py 1KB
0009_auto_20201105_0859.py 914B
cogs
ops.py 6KB
signals.py 16KB
views.py 14KB
admin.py 4KB
auth_hooks.py 1022B
calendar.py 8KB
tasks.py 14KB
urls.py 1KB
forms.py 2KB
README.md 10KB
共 81 条
- 1
资源评论
挣扎的蓝藻
- 粉丝: 13w+
- 资源: 15万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功