[CHANGE] Minor corrections

This commit is contained in:
Peter Pfeufer 2023-12-09 16:07:32 +01:00
parent 1adce85422
commit b0aa58b910
No known key found for this signature in database
GPG Key ID: 6051D2C6AD4EBC27
5 changed files with 74 additions and 20 deletions

View File

@ -32,7 +32,7 @@ def register_url():
class NextOpsHook(hooks.DashboardItemHook): class NextOpsHook(hooks.DashboardItemHook):
def __init__(self): #TODO add the view permms so if they cant see it is not rendered def __init__(self): #TODO add the view perms so if they cant see it is not rendered
hooks.DashboardItemHook.__init__( hooks.DashboardItemHook.__init__(
self, self,
dashboard_ops, dashboard_ops,

View File

@ -16,22 +16,23 @@
<th class="text-center">{% translate "Start Time" %}</th> <th class="text-center">{% translate "Start Time" %}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for ops in timers %} {% for ops in timers %}
<tr> <tr>
<td class="text-center"> <td class="text-center">
{{ ops.operation_name }} {{ ops.operation_name }}
</td> </td>
<td class="text-center"> <td class="text-center">
({{ ops.type }}) ({{ ops.type }})
</td> </td>
<td class="text-center"> <td class="text-center">
<a href="{{ ops.system|dotlan_solar_system_url }}">{{ ops.system }}</a> <a href="{{ ops.system|dotlan_solar_system_url }}">{{ ops.system }}</a>
</td> </td>
<td class="text-center" nowrap>{{ ops.start | date:"Y-m-d H:i" }}</td> <td class="text-center" nowrap>{{ ops.start | date:"Y-m-d H:i" }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
</div> </div>
</div> </div>

View File

@ -14,6 +14,7 @@
<th>{% translate "Local Time" %}</th> <th>{% translate "Local Time" %}</th>
<th>{% translate "Duration" %}</th> <th>{% translate "Duration" %}</th>
<th>{% translate "FC" %}</th> <th>{% translate "FC" %}</th>
{% if perms.auth.optimer_management %} {% if perms.auth.optimer_management %}
{# <th>{% translate "Creator" %}</th>#} {# <th>{% translate "Creator" %}</th>#}
<th class="text-end" style="width: 150px;">{% translate "Action" %}</th> <th class="text-end" style="width: 150px;">{% translate "Action" %}</th>
@ -26,6 +27,7 @@
<tr> <tr>
<td> <td>
{{ ops.operation_name }} {{ ops.operation_name }}
{% if ops.type %} {% if ops.type %}
<br>({{ ops.type }}) <br>({{ ops.type }})
{% endif %} {% endif %}

View File

@ -35,7 +35,7 @@
<div class="card-body"> <div class="card-body">
{% if future_timers %} {% if future_timers %}
{% include "optimer/fleetoptable.html" with timers=next_timers %} {% include "optimer/fleetoptable.html" with timers=future_timers %}
{% else %} {% else %}
<div class="alert alert-warning text-center">{% translate "No upcoming timers." %}</div> <div class="alert alert-warning text-center">{% translate "No upcoming timers." %}</div>
{% endif %} {% endif %}
@ -108,9 +108,7 @@
* @param timer Timer information * @param timer Timer information
*/ */
const setLocalTime = (timer) => { const setLocalTime = (timer) => {
document.getElementById( document.getElementById("localtime" + timer.id).innerHTML = timer.start.format("ddd @ LT");
"localtime" + timer.id).innerHTML = timer.start.format("ddd @ LT")
;
}; };
/** /**

View File

@ -18,6 +18,15 @@ logger = logging.getLogger(__name__)
@login_required @login_required
@permission_required('auth.optimer_view') @permission_required('auth.optimer_view')
def optimer_view(request): def optimer_view(request):
"""
View for the optimer management page
:param request:
:type request:
:return:
:rtype:
"""
logger.debug("optimer_view called by user %s" % request.user) logger.debug("optimer_view called by user %s" % request.user)
base_query = OpTimer.objects.select_related('eve_character', 'type') base_query = OpTimer.objects.select_related('eve_character', 'type')
render_items = {'optimer': base_query.all(), render_items = {'optimer': base_query.all(),
@ -32,7 +41,17 @@ def optimer_view(request):
@login_required @login_required
@permission_required('auth.optimer_management') @permission_required('auth.optimer_management')
def add_optimer_view(request): def add_optimer_view(request):
"""
View for the add optimer page
:param request:
:type request:
:return:
:rtype:
"""
logger.debug("add_optimer_view called by user %s" % request.user) logger.debug("add_optimer_view called by user %s" % request.user)
if request.method == 'POST': if request.method == 'POST':
form = OpForm(request.POST, data_list=OpTimerType.objects.all()) form = OpForm(request.POST, data_list=OpTimerType.objects.all())
logger.debug("Request type POST contains form valid: %s" % form.is_valid()) logger.debug("Request type POST contains form valid: %s" % form.is_valid())
@ -81,19 +100,43 @@ def add_optimer_view(request):
@login_required @login_required
@permission_required('auth.optimer_management') @permission_required('auth.optimer_management')
def remove_optimer(request, optimer_id): def remove_optimer(request, optimer_id):
"""
Remove optimer
:param request:
:type request:
:param optimer_id:
:type optimer_id:
:return:
:rtype:
"""
logger.debug(f"remove_optimer called by user {request.user} for operation id {optimer_id}") logger.debug(f"remove_optimer called by user {request.user} for operation id {optimer_id}")
op = get_object_or_404(OpTimer, id=optimer_id) op = get_object_or_404(OpTimer, id=optimer_id)
op.delete() op.delete()
logger.info(f"Deleting optimer id {optimer_id} by user {request.user}") logger.info(f"Deleting optimer id {optimer_id} by user {request.user}")
messages.success(request, _('Removed operation timer for %(opname)s.') % {"opname": op.operation_name}) messages.success(request, _('Removed operation timer for %(opname)s.') % {"opname": op.operation_name})
return redirect("optimer:view") return redirect("optimer:view")
@login_required @login_required
@permission_required('auth.optimer_management') @permission_required('auth.optimer_management')
def edit_optimer(request, optimer_id): def edit_optimer(request, optimer_id):
"""
Edit optimer
:param request:
:type request:
:param optimer_id:
:type optimer_id:
:return:
:rtype:
"""
logger.debug(f"edit_optimer called by user {request.user} for optimer id {optimer_id}") logger.debug(f"edit_optimer called by user {request.user} for optimer id {optimer_id}")
op = get_object_or_404(OpTimer, id=optimer_id) op = get_object_or_404(OpTimer, id=optimer_id)
if request.method == 'POST': if request.method == 'POST':
form = OpForm(request.POST, data_list=OpTimerType.objects.all()) form = OpForm(request.POST, data_list=OpTimerType.objects.all())
logger.debug("Received POST request containing update optimer form, is valid: %s" % form.is_valid()) logger.debug("Received POST request containing update optimer form, is valid: %s" % form.is_valid())
@ -141,8 +184,18 @@ def edit_optimer(request, optimer_id):
def dashboard_ops(request): def dashboard_ops(request):
"""
Returns the next five upcoming ops for the dashboard
:param request:
:type request:
:return:
:rtype:
"""
base_query = OpTimer.objects.select_related('eve_character', 'type') base_query = OpTimer.objects.select_related('eve_character', 'type')
timers = base_query.filter(start__gte=timezone.now())[:5] timers = base_query.filter(start__gte=timezone.now())[:5]
if timers.count(): if timers.count():
context = { context = {
'timers': timers, 'timers': timers,