Skip to content
This repository has been archived by the owner on Jun 15, 2021. It is now read-only.

Commit

Permalink
Merge pull request #21 from KryptedGaming/v1.3.0
Browse files Browse the repository at this point in the history
V1.3.0
  • Loading branch information
porowns authored Nov 23, 2020
2 parents a7c80d1 + e54dfc9 commit 1dd2da7
Show file tree
Hide file tree
Showing 23 changed files with 799 additions and 650 deletions.
2 changes: 1 addition & 1 deletion django_eveonline_doctrine_manager/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

__title__ = 'EVE Online Doctrine Manager'
__package_name__ = 'django-eveonline-doctrine-manager'
__version__ = '1.2.6'
__version__ = '1.3.0'
__author__ = 'Krypted Gaming'
__license__ = 'MIT License'
__copyright__ = 'Copyright © 2017-2020 Krypted Gaming. All rights reserved.'
Expand Down
20 changes: 2 additions & 18 deletions django_eveonline_doctrine_manager/apps.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,5 @@ def ready(self):


if apps.is_installed('packagebinder'):
from packagebinder.exceptions import BindException
try:
bind = apps.get_app_config('packagebinder').get_bind_object(
self.package_name, self.version)
bind.add_optional_task(
name="EVE: Generate Doctrine Reports",
task="django_eveonline_doctrine_manager.tasks.update_character_reports",
interval=1,
interval_period="days",
)
bind.save()

except BindException as e:
print(e)
return
except Exception as e:
print(e)
return
from .bindings import create_bindings
create_bindings()
78 changes: 78 additions & 0 deletions django_eveonline_doctrine_manager/bindings.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
from django.apps import apps
from django.urls import reverse
from django.conf import settings
from .models import EveDoctrineSettings
from .forms import EveDoctrineSettingsForm
from packagebinder.bind import PackageBinding, SettingsBinding, TaskBinding, SidebarBinding
import logging

app_config = apps.get_app_config('django_eveonline_doctrine_manager')

package_binding = PackageBinding(
package_name=app_config.name,
version=app_config.version,
url_slug='eveonline',
)

settings_binding = SettingsBinding(
package_name=app_config.name,
settings_class=EveDoctrineSettings,
settings_form=EveDoctrineSettingsForm,
)

task_binding = TaskBinding(
package_name=app_config.name,
required_tasks = [
],
optional_tasks = [
{
"name": "EVE: Generate Doctrine Reports",
"task_name": "django_eveonline_doctrine_manager.tasks.update_character_reports",
"interval": 1,
"interval_period": "days",
},
]
)

sidebar_binding = SidebarBinding(
package_name=app_config.name,
parent_menu_item={
"fa_icon": 'fa-rocket',
"name": "Doctrine Menu",
"url": None,
},
child_menu_items=[
{
"fa_icon": "fa-wrench",
"name": "Fittings",
"url": reverse("django-eveonline-doctrine-manager-fittings-list"),
},
{
"fa_icon": "fa-shield-alt",
"name": "Doctrines",
"url": reverse("django-eveonline-doctrine-manager-doctrines-list"),
},
{
"fa_icon": "fa-book",
"name": "Skill Plans",
"url": reverse("django-eveonline-doctrine-manager-skillplans-list"),
},
{
"fa_icon": "fa-shopping-cart",
"name": "Seeding",
"url": reverse("django-eveonline-doctrine-manager-fittings-market"),
},
]
)

def create_bindings():
try:
package_binding.save()
settings_binding.save()
task_binding.save()
sidebar_binding.save()
except Exception as e:
if settings.DEBUG:
raise(e)
else:
logger.error(f"Failed package binding step for {app_config.name}: {e}")
10 changes: 9 additions & 1 deletion django_eveonline_doctrine_manager/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,15 @@
EveDoctrineRole,
EveDoctrine,
EveFitting,
EveSkillPlan)
EveSkillPlan,
EveDoctrineSettings)

from django.forms import ModelForm

class EveDoctrineSettingsForm(ModelForm):
class Meta:
model=EveDoctrineSettings
fields=['staging_structure', 'contract_entity', 'seeding_contract_prefix']

class EveDoctrineForm(forms.Form):
name = forms.CharField(max_length=32, required=True)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,59 +1,63 @@
{% extends "base.html" %}

{% block header %}
{% block title %}
Audit Doctrine
{% endblock %}

{% block description %}
{{object.name}}
<p id="{{object.pk}}" class="doctrine-id" hidden></p>
{% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'django-eveonline-doctrine-manager-doctrines-list' %}">Doctrines</a></li>
<li class="breadcrumb-item"><a href="{% url 'django-eveonline-doctrine-manager-doctrines-detail' object.pk %}">View Doctrine</a></li>
{% endblock %}


{% block breadcrumb %}
Audit Doctrine
{% endblock %}



{% block content %}
<p id="{{object.pk}}" class="doctrine-id" hidden></p>
<div class="row">
<div class="col-md-12">
<div class="box box-danger box-solid">
<div class="box-header">
<h3 class="box-title">Pilot Check</h3>
<div class="card card-danger card-outline">
<div class="card-header">
<h3 class="card-title">Pilot Check</h3>
</div>
<div class="box-body">
<div class="dataTables_wrapper form-inline dt-bootstrap">
<table class="table table-bordered table-striped dataTable">
<thead>
<th class="col-lg-1 col-md-1 col-xs-1"></th>
<th class="col-lg-3 col-md-3 col-xs-2">Character Name</th>
<th class="col-lg-3 col-md-3 col-xs-2">Corporation</th>
<th class="col-lg-2 col-md-2 hidden-xs">Skill Check</th>
<th class="col-lg-2 col-md-2 hidden-xs">Hangar Check</th>
</thead>
<tbody>
{% for character in object.character_list %}
<tr>
<td class="text-center">
<img src="https://imageserver.eveonline.com/Character/{{character.external_id}}_64.jpg"
class="img-circle" alt="Avatar" width="32px"
title="{{character.character.name}}">
</td>
<td>
<a href="{% url 'django-eveonline-connector-view-character' character.external_id %}">{{character.name}}</a>
</td>
<td>
<a href="{% url 'django-eveonline-connector-view-corporation' character.corporation.external_id %}">{{character.corporation.name}}</a>
</td>
<td id="s_{{character.external_id}}" class="skillcheck">
<i class="fa fa-1x fa-spinner fa-spin" aria-hidden="true"></i>
<div class="card-body">
<table class="table table-bordered table-striped dataTable">
<thead>
<th></th>
<th>Character Name</th>
<th>Corporation</th>
<th>Skill Check</th>
<th>Hangar Check</th>
</thead>
<tbody>
{% for character in object.character_list %}
<tr>
<td class="text-center">
<img src="https://imageserver.eveonline.com/Character/{{character.external_id}}_64.jpg"
class="img-circle" alt="Avatar" width="32px"
title="{{character.character.name}}">
</td>
<td>
<a href="{% url 'django-eveonline-connector-view-character' character.external_id %}">{{character.name}}</a>
</td>
<td>
<a href="{% url 'django-eveonline-connector-view-corporation' character.corporation.external_id %}">{{character.corporation.name}}</a>
</td>
<td id="s_{{character.external_id}}" class="skillcheck">
<i class="fa fa-1x fa-spinner fa-spin" aria-hidden="true"></i>

</td>
<td id="h_{{character.external_id}}" class="hangarcheck">
<i class="fa fa-1x fa-spinner fa-spin" aria-hidden="true"></i>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</td>
<td id="h_{{character.external_id}}" class="hangarcheck">
<i class="fa fa-1x fa-spinner fa-spin" aria-hidden="true"></i>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
Expand All @@ -79,21 +83,6 @@ <h3 class="box-title">Pilot Check</h3>
</script>

<script>
var processSkillCheckObject = async function(skillCheckObject, doctrineId) {
id = skillCheckObject.id.slice(2);
const res = await fetch('/eveonline/api/skillcheck?external_id=' + id + '&doctrine_id=' + doctrineId)
if (res.status == 200) {
skillCheckObject.innerHTML = '<i title="Character has the required skills" class="fa fa-check text-success"></i>'
}
else if (res.status == 500) {
skillCheckObject.innerHTML = '<i title="Server error when fetching API" class="fa fa-warning text-warning"></i>'
}
else {
const resJSON = await res.json();
console.log(resJSON)
skillCheckObject.innerHTML = '<i class="fa fa-times text-danger"></i>'
}
};
document.addEventListener("DOMContentLoaded", async function () {
var doctrineId = document.querySelectorAll('.doctrine-id')[0].id
var skillCheckObjects = document.querySelectorAll('.skillcheck')
Expand All @@ -106,7 +95,7 @@ <h3 class="box-title">Pilot Check</h3>
skillCheckObject.innerHTML = '<i class="fa fa-check text-success"></i>'
}
else if (res.status == 400) {
skillCheckObject.innerHTML = '<i title="Server error when fetching API" class="fa fa-warning text-warning"></i>'
skillCheckObject.innerHTML = '<i title="Server error when fetching API" class="fa fa-exclamation-triangle text-warning"></i>'
}
else {
skillCheckObject.innerHTML = '<i class="fa fa-times text-danger"></i>'
Expand All @@ -121,7 +110,7 @@ <h3 class="box-title">Pilot Check</h3>
hangarCheckObject.innerHTML = '<i class="fa fa-check text-success"></i>'
}
else if (res.status == 400) {
hangarCheckObject.innerHTML = '<i title="Server error when fetching API" class="fa fa-warning text-warning"></i>'
hangarCheckObject.innerHTML = '<i title="Server error when fetching API" class="fa fa-exclamation-triangle text-warning"></i>'
}
else {
hangarCheckObject.innerHTML = '<i class="fa fa-times text-danger"></i>'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,25 +1,31 @@
{% extends "base.html" %}

{% block header %}
{% block title %}
Delete Doctrine
{% endblock %}

{% block description %}
{{object.name}}

{% block breadcrumbs %}
<li class="breadcrumb-item"><a href="{% url 'django-eveonline-doctrine-manager-doctrines-list' %}">Doctrines</a></li>
<li class="breadcrumb-item"><a href="{% url 'django-eveonline-doctrine-manager-doctrines-detail' object.pk %}">View Doctrine</a></li>
{% endblock %}

{% block breadcrumb %}
Delete Doctrine
{% endblock %}

{% block content %}
<form action="" method="post">
{% csrf_token %}
<div class="box box-solid box-danger">
<div class="box-header">
<div class="card card-outline card-danger">
<div class="card-header">
<h3>Are you sure?</h3>
</div>
<div class="box-body">
<div class="card-body">
<p>You are about to delete this doctrine, this cannot be undone.</p>

</div>
<div class="box-footer">
<div class="card-footer">
<button class="btn btn-default" onclick="window.history.back();">Cancel</button>
<button class="btn btn-danger" type="submit">Confirm</button>
</div>
Expand Down
Loading

0 comments on commit 1dd2da7

Please sign in to comment.