mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-12 22:10:16 +02:00
Fleet op timer ui update (#787)
This commit is contained in:
parent
12cfc552da
commit
d2e32d3da3
@ -6,9 +6,7 @@ from django.utils.translation import ugettext_lazy as _
|
||||
class opForm(forms.Form):
|
||||
doctrine = forms.CharField(max_length=254, required=True, label=_('Doctrine'))
|
||||
system = forms.CharField(max_length=254, required=True, label=_("System"))
|
||||
location = forms.CharField(max_length=254, required=True, label=_("Location"))
|
||||
start = forms.DateTimeField(required=True, label=_("Start Time"))
|
||||
duration = forms.CharField(max_length=254, required=True, label=_("Duration"))
|
||||
operation_name = forms.CharField(max_length=254, required=True, label=_("Operation Name"))
|
||||
fc = forms.CharField(max_length=254, required=True, label=_("Fleet Commander"))
|
||||
details = forms.CharField(max_length=254, required=False, label=_("Extra Details"))
|
||||
|
23
optimer/migrations/0002_auto_20170413_0442.py
Normal file
23
optimer/migrations/0002_auto_20170413_0442.py
Normal file
@ -0,0 +1,23 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11 on 2017-04-13 04:42
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('optimer', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='optimer',
|
||||
name='details',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='optimer',
|
||||
name='location',
|
||||
),
|
||||
]
|
@ -13,12 +13,10 @@ class optimer(models.Model):
|
||||
|
||||
doctrine = models.CharField(max_length=254, default="")
|
||||
system = models.CharField(max_length=254, default="")
|
||||
location = models.CharField(max_length=254, default="")
|
||||
start = models.DateTimeField(default=datetime.now)
|
||||
duration = models.CharField(max_length=25, default="")
|
||||
operation_name = models.CharField(max_length=254, default="")
|
||||
fc = models.CharField(max_length=254, default="")
|
||||
details = models.CharField(max_length=254, default="")
|
||||
post_time = models.DateTimeField(default=timezone.now)
|
||||
eve_character = models.ForeignKey(EveCharacter)
|
||||
|
||||
|
@ -22,7 +22,11 @@ logger = logging.getLogger(__name__)
|
||||
@permission_required('auth.optimer_view')
|
||||
def optimer_view(request):
|
||||
logger.debug("optimer_view called by user %s" % request.user)
|
||||
render_items = {'optimer': optimer.objects.all(), }
|
||||
render_items = {'optimer': optimer.objects.all(),
|
||||
'future_timers': optimer.objects.all().filter(
|
||||
start__gte=timezone.now()),
|
||||
'past_timers': optimer.objects.all().filter(
|
||||
start__lt=timezone.now()).order_by('-start')}
|
||||
|
||||
return render(request, 'registered/operationmanagement.html', context=render_items)
|
||||
|
||||
@ -44,12 +48,10 @@ def add_optimer_view(request):
|
||||
op = optimer()
|
||||
op.doctrine = form.cleaned_data['doctrine']
|
||||
op.system = form.cleaned_data['system']
|
||||
op.location = form.cleaned_data['location']
|
||||
op.start = form.cleaned_data['start']
|
||||
op.duration = form.cleaned_data['duration']
|
||||
op.operation_name = form.cleaned_data['operation_name']
|
||||
op.fc = form.cleaned_data['fc']
|
||||
op.details = form.cleaned_data['details']
|
||||
op.create_time = post_time
|
||||
op.eve_character = character
|
||||
op.save()
|
||||
@ -93,12 +95,10 @@ def edit_optimer(request, optimer_id):
|
||||
character = EveManager.get_character_by_id(auth_info.main_char_id)
|
||||
op.doctrine = form.cleaned_data['doctrine']
|
||||
op.system = form.cleaned_data['system']
|
||||
op.location = form.cleaned_data['location']
|
||||
op.start = form.cleaned_data['start']
|
||||
op.duration = form.cleaned_data['duration']
|
||||
op.operation_name = form.cleaned_data['operation_name']
|
||||
op.fc = form.cleaned_data['fc']
|
||||
op.details = form.cleaned_data['details']
|
||||
op.eve_character = character
|
||||
logger.info("User %s updating optimer id %s " % (request.user, optimer_id))
|
||||
op.save()
|
||||
@ -108,12 +108,10 @@ def edit_optimer(request, optimer_id):
|
||||
data = {
|
||||
'doctrine': op.doctrine,
|
||||
'system': op.system,
|
||||
'location': op.location,
|
||||
'start': op.start,
|
||||
'duration': op.duration,
|
||||
'operation_name': op.operation_name,
|
||||
'fc': op.fc,
|
||||
'details': op.details,
|
||||
}
|
||||
form = opForm(initial=data)
|
||||
return render(request, 'registered/optimerupdate.html', context={'form': form})
|
||||
|
44
stock/templates/registered/fleetoptable.html
Normal file
44
stock/templates/registered/fleetoptable.html
Normal file
@ -0,0 +1,44 @@
|
||||
{% load i18n %}
|
||||
|
||||
{% block content %}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="text-center col-lg-3">{% trans "Operation Name" %}</th>
|
||||
<th class="text-center col lg-2">{% trans "Doctrine" %}</th>
|
||||
<th class="text-center col-lg-1">{% trans "Form Up System" %}</th>
|
||||
<th class="text-center col-lg-1">{% trans "Start Time" %}</th>
|
||||
<th class="text-center col-lg-1">{% trans "Local Time" %}</th>
|
||||
<th class="text-center col-lg-1">{% trans "Duration" %}</th>
|
||||
<th class="text-center col-lg-1">{% trans "FC" %}</th>
|
||||
{% if perms.auth.optimer_management %}
|
||||
<th class="text-center col-lg-1">{% trans "Creator" %}</th>
|
||||
<th class="text-center col-lg-2">{% trans "Action" %}</th>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</thead>
|
||||
{% for ops in timers %}
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="text-center">{{ ops.operation_name }}</td>
|
||||
<td class="text-center">{{ ops.doctrine }}</td>
|
||||
<td class="text-center">
|
||||
<a href="http://evemaps.dotlan.net/system/{{ ops.system }}">{{ ops.system }}</a>
|
||||
</td>
|
||||
<td class="text-center" nowrap>{{ ops.start | date:"Y-m-d H:i" }}</td>
|
||||
<td class="text-center" nowrap><div id="localtime{{ ops.id }}"></div><div id="countdown{{ ops.id }}"></div></td>
|
||||
<td class="text-center">{{ ops.duration }}</td>
|
||||
<td class="text-center">{{ ops.fc }}</td>
|
||||
{% if perms.auth.optimer_management %}
|
||||
<td class="text-center">{{ ops.eve_character }}</td>
|
||||
<td class="text-center">
|
||||
<a href="{% url 'auth_remove_optimer' ops.id %}" class="btn btn-danger">
|
||||
<span class="glyphicon glyphicon-remove"></span>
|
||||
</a><a href="{% url 'auth_edit_optimer' ops.id %}" class="btn btn-info"><span class="glyphicon glyphicon-pencil"></span></a>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</tbody>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endblock content %}
|
@ -17,62 +17,26 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
</h1>
|
||||
<div class="col-lg-12 text-center row">
|
||||
<div class="label label-info text-left">
|
||||
<b>{% trans "Current Eve Time:" %} </b>
|
||||
</div><div class="label label-info text-left" id="current-time"></div>
|
||||
<br />
|
||||
</div>
|
||||
{% if optimer %}
|
||||
<table class="table table-responsive">
|
||||
<tr>
|
||||
<th class="text-center">{% trans "Operation Name" %}</th>
|
||||
<th class="text-center">{% trans "Doctrine" %}</th>
|
||||
<th class="text-center">{% trans "Form Up System" %}</th>
|
||||
<th class="text-center">{% trans "Form Up Location" %}</th>
|
||||
<th class="text-center">{% trans "Start Time" %}</th>
|
||||
<th class="text-center">{% trans "Local Time" %}</th>
|
||||
<th class="text-center">{% trans "Duration" %}</th>
|
||||
<th class="text-center">{% trans "FC" %}</th>
|
||||
<th class="text-center">{% trans "Details" %}</th>
|
||||
<th class="text-center">{% trans "Post Time" %}</th>
|
||||
{% if perms.auth.optimer_management %}
|
||||
<th class="text-center">{% trans "Creator" %}</th>
|
||||
<th class="text-center">{% trans "Action" %}</th>
|
||||
{% endif %}
|
||||
</tr>
|
||||
|
||||
{% for ops in optimer %}
|
||||
<tr>
|
||||
<td style="width:150px" class="text-center">{{ ops.operation_name }}</td>
|
||||
<td style="width:150px" class="text-center">{{ ops.doctrine }}</td>
|
||||
<td class="text-center">
|
||||
<a href="http://evemaps.dotlan.net/system/{{ ops.system }}">{{ ops.system }}</a>
|
||||
</td>
|
||||
<td style="width:150px" class="text-center">{{ ops.location }}</td>
|
||||
<td style="width:150px" class="text-center" nowrap>{{ ops.start | date:"Y-m-d H:i" }}</td>
|
||||
<td class="text-center" nowrap><div id="localtime{{ ops.id }}"></div><div id="countdown{{ ops.id }}"></div></td>
|
||||
<td style="width:150px" class="text-center">{{ ops.duration }}</td>
|
||||
<td style="width:150px" class="text-center">{{ ops.fc }}</td>
|
||||
<td style="width:150px" class="text-center">{{ ops.details }}</td>
|
||||
<td style="width:150px" class="text-center">{{ ops.post_time}}</td>
|
||||
{% if perms.auth.optimer_management %}
|
||||
<td style="width:150px" class="text-center">{{ ops.eve_character }}</td>
|
||||
<td class="text-center">
|
||||
<a href="{% url 'auth_remove_optimer' ops.id %}" class="btn btn-danger">
|
||||
<span class="glyphicon glyphicon-remove"></span>
|
||||
</a>
|
||||
<a href="{% url 'auth_edit_optimer' ops.id %}" class="btn btn-info">
|
||||
<span class="glyphicon glyphicon-pencil"></span>
|
||||
</a>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</table>
|
||||
<div class="col-lg-12 text-center row">
|
||||
<div class="label label-info text-left">
|
||||
<b>{% trans "Current Eve Time:" %} </b>
|
||||
</div><div class="label label-info text-left" id="current-time"></div>
|
||||
<br />
|
||||
</div>
|
||||
|
||||
<h4><b>{% trans "Next Timers" %}</b></h4>
|
||||
{% if future_timers %}
|
||||
{% include "registered/fleetoptable.html" with timers=future_timers %}
|
||||
{% else %}
|
||||
<br /><div class="alert alert-warning text-center">{% trans "No fleet operations found." %}</div>
|
||||
<div class="alert alert-warning text-center">{% trans "No upcoming timers." %}</div>
|
||||
{% endif %}
|
||||
|
||||
<h4><b>{% trans "Past Timers" %}</b></h4>
|
||||
{% if past_timers %}
|
||||
{% include "registered/fleetoptable.html" with timers=past_timers %}
|
||||
{% else %}
|
||||
<div class="alert alert-warning text-center">{% trans "No past timers." %}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
@ -40,14 +40,8 @@ def timer_view(request):
|
||||
else:
|
||||
corp_timers = []
|
||||
timer_list = Timer.objects.filter(corp_timer=False)
|
||||
closest_timer = None
|
||||
if timer_list:
|
||||
closest_timer = \
|
||||
sorted(list(Timer.objects.all().filter(corp_timer=False)), key=lambda d: (timezone.now()))[0]
|
||||
logger.debug("Determined closest timer is %s" % closest_timer)
|
||||
render_items = {'timers': Timer.objects.all().filter(corp_timer=False),
|
||||
'corp_timers': corp_timers,
|
||||
'closest_timer': closest_timer,
|
||||
'future_timers': Timer.objects.all().filter(corp_timer=False).filter(
|
||||
eve_time__gte=datetime.datetime.now()),
|
||||
'past_timers': Timer.objects.all().filter(corp_timer=False).filter(
|
||||
|
Loading…
x
Reference in New Issue
Block a user